5.2 KiB
5.2 KiB
Hox 光子美容仪项目 — 当前进度交接
更新时间:2026-04-28
当前项目概况
项目当前由三部分组成:
- 微信原生小程序:
miniprogram/ - 管理后台 H5:
admin-console/,uniapp + Vue 3 - 腾讯云 HTTP 后端:
server/,SCF HTTP Function + TencentDB MySQL + COS
旧的微信云开发云函数和 MQTT 客户端已经从活动架构中移除。当前主链路是:
小程序/后台 -> HTTPS API -> 腾讯云 HTTP 函数 -> TencentDB MySQL / COS
设备 <-> 小程序 BLE
当前部署状态
- SCF 函数名:
jw-beauty-api - 函数类型:HTTP 函数
- 启动文件:
server/scf_bootstrap - 服务端口:
9000 - 测试 API:
https://1426323813-ilxkhlxf4p.ap-guangzhou.tencentscf.com - 数据库:TencentDB MySQL,schema 在
server/sql/schema.sql - COS Bucket:用于固件文件、后台 H5 构建产物和部署包
- 后台 H5 已支持上传到 COS 的
admin/前缀
已完成
后端
- 新增
server/Node.js 后端。 - 实现 HTTP 路由、JWT 鉴权、管理员鉴权、MySQL 连接池、COS 签名 URL、微信
code2Session。 - 支持 Tencent Cloud HTTP Function 部署,根目录
scf_bootstrap启动scripts/local-server.js。 - 已初始化并验证 TencentDB MySQL 表结构。
- 云函数已绑定数据库所在 VPC/Subnet,并验证后台接口可访问。
- 已实现核心接口:
/api/v1/auth/login/api/v1/user/profile/api/v1/user/phone/api/v1/device/bind/api/v1/device/bind/confirm/api/v1/device/unbind/api/v1/device/list/api/v1/device/command/pending/api/v1/device/command/result/api/v1/subscription/api/v1/treatment/history/api/v1/treatment/sync/api/v1/firmware/latest/api/v1/admin/*
数据库
已设计并创建:
usersdevicesbindingssubscriptionstreatment_recordsdevice_eventsdevice_commandsoperation_logsadmin_accountssystem_settingsfirmware_files
小程序
- 移除
wx.cloud依赖,改为 HTTPS API。 - API base 配置在
miniprogram/config/env.js。 - 当前
ENV = 'test',指向测试云函数域名。 - 登录流程:
wx.getUserProfile()触发微信官方用户资料授权弹窗。wx.login()获取 code。- 后端换取 openid 并签发 JWT。
- 如微信返回昵称/头像,则保存到用户资料。
- 若返回
微信用户或默认头像,这是微信平台策略,不是后端问题。
- 手机号授权已预留:隐藏的
open-type="getPhoneNumber"按钮 +/api/v1/user/phone。 - 扫码绑定已改为两阶段:
- 后端创建 pending bind token。
- 小程序进入 BLE 连接。
- 设备返回绑定成功后小程序确认后端绑定。
- BLE 校验修正为对 header/length/type/payload 做 XOR。
- 新增 BLE frame 测试脚本:
miniprogram/scripts/test-ble-frame.js。 - 普通模式固定 10 分钟、默认全脸、护理区域灰色不可调。
- 智能模式保留扫描流程和一次性下发参数。
- 小程序可拉取后台
device_commands并执行 BLE 指令。
管理后台
- 请求层已接真实 API,配置在
admin-console/src/config/env.js。 - 当前
ENV = 'test'。 - 临时后台账号仍为
admin/admin,生产必须替换。 - 支持后台页面:dashboard、设备、用户、订阅、护理记录、操作日志、系统设置等。
- 新增 CSV 导出工具。
- 新增 H5 构建 manifest。
- 新增 COS 部署脚本:
admin-console/scripts/deploy-cos.js。 - 构建上传命令:
npm run deploy:cos。
文档与部署
- 新增腾讯云部署文档:
docs/deploy/tencent-cloud.md。 - 新增生产环境变量模板:
server/.env.production.example。 .gitignore已忽略真实.env、构建产物、node_modules。
已验证
- 云函数
/health返回成功。 - 后台登录
/api/v1/admin/login成功。 - 后台 dashboard 返回云数据库统计。
- 后台设备列表返回预生成设备。
- 后台设备命令队列写入
device_commands。 - 后台 H5 构建成功并上传到 COS
admin/前缀。 node miniprogram/scripts/test-ble-frame.js通过。
当前注意事项
wx.getUserProfile()可能返回微信用户和默认头像,这是微信隐私策略导致。- 如果必须可靠获取昵称头像,需要改用
chooseAvatar+input type="nickname",但当前按产品要求使用官方授权弹窗。 - 真机小程序请求云函数测试域名,需要微信公众平台配置
request 合法域名。 - 云函数使用 TencentDB 内网地址时必须保持 VPC/Subnet 配置。
- 不要提交
server/.env、COS 签名 URL、数据库密码、微信密钥或腾讯云密钥。
待继续
高优先级:
- 真机验证微信登录、扫码绑定、BLE 连接、设备绑定确认全流程。
- 护理完成页调用
/api/v1/treatment/sync,确保后台能看到护理记录。 - 后台设备详情接入命令历史和用户绑定详情。
中优先级:
- 后台固件管理 UI 接入
/api/v1/admin/firmware。 - COS 静态网站或自定义域名配置后台长期访问地址。
- OTA 升级流程完善。
低优先级:
- 替换临时管理员密码。
- 接入真实微信支付。
- 增加更完整的自动化测试和部署脚本。