账号与环境记录
版本:v1.0 更新:2026-10-17
为什么要有这份文档 这个项目会用到不止一个账号。中途换账号时,如果没人记清楚 「哪个号干什么用、哪些东西跟着号走、哪些不跟」,就会出现 云环境丢了、数据没了、部署不上去这类事。这份文档就是为了防这个。
一、三个账号的分工
| 号 | 应用编号 | 主体 | 用途 | 状态 |
|---|---|---|---|---|
| 测试号 | wxddf82681664ba8cb |
平台发放 | 只做界面与本地逻辑,不能开通云开发 | 已停用 |
| 开发号 | wxfc9e11a38fd11699 |
个人(王小龙) | 开通云开发、跑通后端全流程 | 云开发已验证可用 |
| 上线号 | 未注册 | 甲方主体 | 正式上线 | 等甲方 |
开发号已验证:云开发可用
2026-10-17 用开发者工具的命令行实测,两个号对比:
| 号 | 命令行结果 | 退出码 |
|---|---|---|
开发号 wxfc9e11a38fd11699 |
✔ query env list |
0(成功) |
测试号 wxddf82681664ba8cb |
ret: -601059 测试号不能使用云服务 |
1(失败) |
结论:个人主体注册的正式小程序可以开通云开发。 之前"个人主体可能也开不了"的担心排除了。 (当时列表为空,因为环境还没建 —— 能查通就说明有这个能力。)
为什么必须有第二个号
测试号不能开通云开发。 这是平台的硬限制,没有任何设置能打开。
实测证据(用开发者工具的命令行调云环境列表时返回的原文):
"ret": -601059
"errmsg": "测试号不能使用云服务"
官方帮助文档的说法:
微信开发者工具中「云开发」按钮消失/变灰? a. 使用了小程序测试号。目前测试号不支持云开发,请更换正式的小程序账号
而这个项目的后端整个建在云开发上(云函数 + 云数据库 + 云存储,没有自建服务器)。 所以必须有一个正式注册的小程序号,哪怕只是用来开发。
三个号的关系
测试号 ─── 界面与交互开发(已完成)
│
开发号 ─── 开通云开发、后端联调、真机验证(当前)
│ 主体:个人
│
上线号 ─── 正式对外(未开始)
主体:甲方
卡点:见第五节
二、换号时:哪些跟着号走,哪些不跟
这是这份文档最要紧的一节。 弄反了会白做很多工。
✅ 完全不用改的(代码跟人走,不跟号走)
| 内容 | 位置 |
|---|---|
| 云函数代码 | 05_开发/app/cloudfunctions/ |
| 共享层(枚举/状态机/权限/返回信封) | cloudfunctions/_common/ |
| 小程序端代码 | 05_开发/app/miniprogram/ |
| 数据库结构(20 个集合的字段与索引) | 04_设计/数据库结构.md |
| 后端 48 项自动化测试 | _tools/test_cloud/ |
| 视觉规范与全部界面 | 04_设计/ |
⚠️ 必须改的(跟着号走)
| 要改什么 | 在哪改 |
|---|---|
| 应用编号 | 05_开发/app/project.config.json 的 appid |
| 云环境编号 | 05_开发/app/miniprogram/app.ts 里的 CLOUD_ENV |
| 云开发环境本身 | 在新号上重新开通(环境不能跨号搬) |
❌ 不迁移的(重新来)
| 内容 | 为什么 |
|---|---|
| 云数据库里的测试数据 | 环境重建就是空的,测试数据没有保留价值 |
| 云存储里的已上传文件 | 同上 |
| 云函数的历史日志 | 跟着旧环境,旧环境不用了就没了 |
三、换号操作步骤(照着做)
前提:新号已完成注册,能登进小程序后台。
① 新号开通云开发
开发者工具 → 左侧「云开发」→ 开通 → 建一个环境 → 复制「环境编号」
② 改应用编号
编辑 05_开发/app/project.config.json
把 "appid" 改成新号的编号
③ 填云环境编号
编辑 05_开发/app/miniprogram/app.ts
把 CLOUD_ENV 改成第①步复制的环境编号
④ 建数据集合
云开发控制台 → 数据库 → 建这 20 个集合:
users / guides / guide_apply / guide_slots / services / orders /
order_logs / verify_logs / payments / wallets / wallet_logs /
withdrawals / reviews / chats / messages / reports / audit_logs /
spots / configs / admins
⑤ 同步共享层(容易忘,忘了部署上去会缺文件)
python3 _tools/sync_cloud_common.py
⑥ 部署云函数
python3 _tools/wxdevtools.py cloud functions deploy \
--project "D:/微信小程序/05_开发/app" --port 44766 --names order,pay --env <环境编号>
⑦ 验证
运行后端测试:cd _tools/test_cloud && node run.js
预期:48 通过 / 0 失败
然后在开发者工具里点首页的「调用云函数」自检按钮
四、密码和证件放在哪(重要)
这份文档不放任何密码。 上线号的管理员密码、邮箱密码、支付相关账户, 一律不要放进这个项目目录。
原因很实际:项目目录会被打包、会上传到文档站。 多一个地方存密码,就多一个泄漏口。项目里的构建脚本虽然有"可疑文件"检查, 但不该依赖检查来兜底密码安全。
密码请放在:
- 你自己的密码管理器,或
- 项目目录之外的本地文件
这份文档只记录「哪个号是干什么的」和「怎么换」,不记录「怎么登进去」。
五、跟账号有关的未决事项
| 事项 | 现状 | 卡谁 |
|---|---|---|
| 开发号的类目 | 选了「工具 › 预约/报名」 | ✅ 已定(个人主体可选、免资质) |
| 上线号的类目 | 未定 | ⚠️ 甲方。审核时会拿类目的资质要求比对页面实际内容 |
| 导游资质 | 未解决 | ⚠️ 甲方。《导游人员管理条例》第九条:导游必须经旅行社委派 |
| 个体户/企业主体 | 未办 | ⚠️ 甲方。个人主体上线做不了交易类 |
| 备案 | 未办 | ⚠️ 上线前必须完成 |
关于开发号选的「工具 › 预约/报名」,要说清楚一件事: 它只对开发有效。它是如实描述"这是个预约系统",不需要资质,也不冒充持证服务 —— 这一点是对的。但甲方上线时,如果页面上卖的是"由第三方提供的向导陪同服务", 光靠这个类目撑不住,审核员会问"一个工具类目为什么在卖人的服务"。 不要因为开发号过了就以为上线也没问题。
六、本机环境现状(换电脑时照这个重建)
| 项 | 值 |
|---|---|
| 项目目录 | D:\微信小程序\ |
| 小程序工程 | D:\微信小程序\05_开发\app\ |
| 开发者工具 | D:\微信小程序\开发者工具\微信web开发者工具\ |
| 工具命令行端口 | 44766(设置 → 安全设置 → 服务端口) |
| Node / npm | v22.23.2 / 10.9.8 |
常用命令
# 调开发者工具的命令行
python3 _tools/wxdevtools.py <参数>
# 同步共享层(改完 _common 必跑,否则各云函数用的还是旧副本)
python3 _tools/sync_cloud_common.py
python3 _tools/sync_cloud_common.py --check # 只检查
# 后端本地测试(不需要开发者工具,48 项断言)
cd _tools/test_cloud && node run.js
# 小程序端类型检查
cd 05_开发/app && npm run typecheck
# 重新生成目录并部署文档站
python3 _tools/build_html.py
python3 _tools/build_dist.py
python3 _tools/deploy_cloudflare.py
七、这份文档怎么维护
- 新号开通后,立刻把应用编号与云环境编号填进第一节的表
- 换号之后,把旧号那一行标上「已停用」而不是删掉 —— 留着能解释"为什么某个截图里是旧编号"
- 未决事项解决一条就划一条,并注明是谁解决的(甲方 / 我方)