Files
YGChatCS/scripts/README-update-appid.md
T

5.6 KiB

客户端配置切换脚本使用说明

这个脚本用于在不同客户端配置之间快速切换,支持智念、念念、智念助手、朵朵和沐沐。

主要功能

  • 支持通过客户端名称切换配置
  • 自动更新相关配置文件
  • 统一的 JSON 配置文件管理
  • 完整的错误处理和验证

配置文件结构

配置文件位于项目根目录的 client-configs.json,包含所有客户端的完整配置信息。配置会通过 src/constant/base.js 文件导入和使用:

{
  "zhinian": {
    "clientId": "6",
    "appId": "wx5e79df5996572539",
    "name": "智念",
    "logo": "https://oss.nianxx.cn/mp/static/version_101/login/dh_logo.png"
  },
  "duohua": {
    "clientId": "2",
    "appId": "wx23f86d809ae80259",
    "name": "朵朵",
    "logo": "https://oss.nianxx.cn/mp/static/version_101/login/dh_logo.png"
  },
  "tianmu": {
    "clientId": "4",
    "appId": "wx0be424e1d22065a9",
    "name": "沐沐",
    "logo": "https://oss.nianxx.cn/mp/static/version_101/login/tm_logo.png"
  }
}

支持的客户端

客户端名称 显示名称 AppID
zhinian 智念 wx5e79df5996572539
niannian 念念 wx5e79df5996572539
duohua 朵朵 wx23f86d809ae80259
tianmu 沐沐 wx0be424e1d22065a9
nianhelper 智念助手 wx6fcf7b3db3deee6c

AppID 以 client-configs.json 为准。当前念念与智念使用相同的 AppID;若念念使用独立小程序,请先修改 niannian.appId,再执行切换或构建命令。

使用方法

使用客户端名称切换

# 切换到智念客户端
npm run switch-client zhinian

# 切换到念念客户端
npm run switch-client -- niannian

# 切换到智念助手客户端
npm run switch-client nianhelper

# 切换到朵朵客户端
npm run switch-client duohua

# 切换到沐沐客户端
npm run switch-client tianmu

念念端快捷命令

# 仅切换配置
npm run switch-client:niannian

# 切换到念念并启动微信小程序开发编译
npm run dev:mp-weixin:niannian

# 切换到念念并构建微信小程序生产包
npm run build:mp-weixin:niannian

这些命令会修改工作区中的当前客户端配置;开发和构建命令仅在切换成功后继续执行。不同端请勿在同一工作区并行编译。

直接运行脚本

# 使用客户端名称
node scripts/update-appid.js tianmu

AppID 信息

微信小程序的 AppID 通常格式为:

  • 以 wx 开头
  • 后跟 16 位字符(数字和字母)
  • 总长度 18 位

示例:wx1234567890abcdef

更新的文件

  1. src/manifest.json

    • 更新 mp-weixin.appid 字段
    • 保持文件中的注释不变
  2. project.config.json

    • 更新根级别的 appid 字段
    • 保持 JSON 格式化
  3. src/constant/base.js

    • 更新 getCurrentConfig() 函数返回的客户端配置
  4. src/uni.scss

    • 根据客户端的 theme 更新主题色变量

client-configs.json 是读取的配置源,切换脚本不会修改它。

执行结果示例

使用客户端名称切换:

🚀 开始更新配置...
🎯 检测到客户端配置: 沐沐 (tianmu)
目标客户端: 沐沐 (tianmu)
目标appid: wx0be424e1d22065a9

📝 正在更新 base.js...
✅ base.js 更新成功,切换到 沐沐 配置
📝 正在更新 manifest.json...
✅ manifest.json 更新成功
📝 正在更新 project.config.json...
✅ project.config.json 更新成功
   旧appid: wx5e79df5996572539
   新appid: wx0be424e1d22065a9

🎉 所有文件更新完成!
💡 已切换到 沐沐 客户端配置
💡 提示: 请检查文件内容确认更新正确

错误处理

脚本包含以下验证和错误处理:

  • 检查必需参数是否提供
  • 验证客户端名称是否有效
  • 检查目标文件是否存在
  • 捕获文件读写错误
  • 智能跳过不需要的更新

注意事项

  1. 配置同步: src/constant/base.js 自动读取 JSON 配置;新增端还需补齐 ClientType 和 currentClientType() 映射,确保各端登录缓存键相互独立
  2. 测试建议: 切换配置后建议先进行测试,确认功能正常
  3. 备份建议: 重要更新前建议备份相关配置文件

常见问题

Q: 脚本提示文件不存在怎么办? A: 请确保在项目根目录执行脚本,并检查文件路径是否正确。

Q: 脚本提示不支持的客户端名称怎么办? A: 请检查输入的客户端名称是否正确,支持名称以 client-configs.json 的键为准,当前有:zhinian、niannian、nianhelper、duohua、tianmu。

Q: 如何恢复到之前的配置? A: 可以使用版本控制系统恢复,或者再次运行脚本切换到其他客户端配置。

Q: 如何添加新的客户端配置? A: 在 client-configs.json 中添加新的客户端配置:

"new_client": {
  "clientId": "客户端ID",
  "appId": "微信小程序AppID",
  "name": "客户端显示名称",
  "logo": "@/pages/login/images/logo.png"
}

切换脚本会自动识别新配置。还需在 src/constant/base.js 中添加对应的 ClientType 和名称映射;如需切换主题色,在配置中添加与现有客户端相同结构的 theme 字段。最后运行 npm run switch-client -- new_client 应用配置。

Q: 脚本提示"读取配置文件失败"怎么办? A: 检查 client-configs.json 文件是否存在且格式正确。

验证客户端切换

node --test scripts/update-appid.test.cjs

测试在临时目录中切换五个客户端,检查配置、客户端类型、AppID 和主题色,不修改工作区当前配置。