4.6 KiB
4.6 KiB
汪圈小程序 — 上线部署指南
前置条件
- 微信公众平台账号 → 注册小程序,记录 AppID
- 开通 微信云开发,记录 云环境 ID
- 安装 微信开发者工具 (1.06+)
- Node.js 16+
第一步:填入配置
a) project.config.json
"appid": "你的小程序 AppID"
b) miniprogram/utils/constants.ts
export const CLOUD_ENV = '你的云环境 ID'
第二步:初始化云开发数据库
在微信开发者工具 → 云开发控制台 → 数据库,新建以下集合:
| 集合名 | 权限设置 | 说明 |
|---|---|---|
users |
所有用户可读,仅创建者可写 | 用户档案 |
pets |
所有用户可读,仅创建者可写 | 宠物档案 |
posts |
所有用户可读,仅创建者可写 | 帖子 |
likes |
仅创建者可读写 | 点赞记录 |
comments |
所有用户可读,仅创建者可写 | 评论 |
follows |
仅创建者可读写 | 关注关系 |
messages |
仅创建者可读写 | 私信 |
topics |
所有用户可读,仅管理员可写 | 话题热度 |
posts 集合需要建立以下索引:
authorId(单字段)createdAt(单字段,降序)location.latitude+location.longitude(复合,附近功能)
第三步:部署云函数
在开发者工具中,右键每个云函数目录 → 上传并部署(云端安装依赖):
cloudfunctions/
├── login ← 必须先部署
├── getPosts
├── createPost
├── getNearbyPets
├── likePost
├── updateLocation
└── sendGreeting
第四步:配置云存储目录
云开发控制台 → 存储,无需额外配置,代码自动按以下路径上传:
posts/— 帖子图片avatars/— 用户头像
建议设置存储 CDN 加速(在控制台开启)。
第五步:小程序隐私配置
在微信公众平台 → 设置 → 服务类目,选择:社交 > 同城社交
在 「用户隐私保护指引」 中声明以下数据使用:
- 位置信息(附近功能)
- 昵称、头像(展示用户身份)
- 相机、相册(发帖上传图片)
第六步:本地调试
# 打开微信开发者工具
# 导入项目:选择 wangquan/ 目录
# 填入 AppID
# 点击「编译」
环境变量清单
| 位置 | 字段 | 说明 |
|---|---|---|
project.config.json |
appid |
小程序 AppID |
utils/constants.ts |
CLOUD_ENV |
云环境 ID |
pages/login/login.ts |
YOUR_PRIVACY_URL |
隐私政策页面 URL |
pages/login/login.ts |
YOUR_TERMS_URL |
用户协议页面 URL |
项目目录说明
wangquan/
├── miniprogram/
│ ├── app.ts/json/wxss # 全局入口、配置、样式
│ ├── pages/
│ │ ├── feed/ # 广场(信息流 + 故事圈)
│ │ ├── nearby/ # 附近(地图 + 列表双视图)
│ │ ├── post/ # 发布动态
│ │ ├── friends/ # 汪友(关注/粉丝)
│ │ ├── profile/ # 我的(宠物档案 + 动态)
│ │ ├── login/ # 登录授权
│ │ ├── pet-detail/ # 用户/宠物详情页
│ │ └── chat/ # 私聊
│ ├── components/
│ │ └── post-card/ # 帖子卡片(广场/我的复用)
│ ├── custom-tab-bar/ # 自定义底部导航(含中间 FAB)
│ ├── utils/ # api / auth / format / constants
│ └── types/ # TypeScript 类型定义
└── cloudfunctions/
├── login # 登录 → 自动创建用户
├── getPosts # 帖子列表(关注/附近/热门)
├── createPost # 发帖(含话题统计)
├── getNearbyPets # 地理围栏查询附近用户
├── likePost # 原子点赞/取消
├── updateLocation # 心跳更新在线位置
└── sendGreeting # 打招呼(含 5min 防刷)
后续扩展建议
- 评论系统:
getComments+addComment云函数,参考getPosts结构 - 搜索:云开发支持
where._.all()全文检索,或接入腾讯云搜索 - 推送通知:微信订阅消息 (
wx.requestSubscribeMessage) - 宠物档案编辑:新建
pages/pet-edit/页面,调用updatePet云函数 - 性能优化:为
posts集合开启 CDN 缓存,大流量时接入腾讯云 COS 存储