3.6 KiB
腾讯云部署说明
本文档记录当前后端部署到腾讯云函数 SCF,并连接腾讯云数据库 MySQL 与 COS 的最小流程。
1. 数据库初始化
先确认 server/.env 或部署环境变量中已配置数据库:
DB_HOST=
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=jw_beauty
本地直连公网数据库时,需要在腾讯云数据库的安全组/白名单中放行本机公网 IP。若本地无法直连,也可以临时通过支持 SOCKS5 的代理建立本地 TCP 隧道,再覆盖 DB_HOST 和 DB_PORT 执行初始化。
cd server
npm install
npm run db:init
初始化会创建业务表,并写入临时后台账号。生产环境首次登录后应立即更换默认密码。
2. SCF 函数配置
当前函数 jw-beauty-api 是腾讯云 HTTP 函数。HTTP 函数部署包根目录需要包含可执行的 scf_bootstrap,由它启动 HTTP 服务。
本项目的 HTTP 函数启动文件:
scf_bootstrap
scf_bootstrap 会执行:
node scripts/local-server.js
HTTP 服务监听端口使用环境变量 PORT,建议配置为 9000。
如果以后改为普通事件函数,入口才使用:
index.main_handler
触发器:
HTTP 触发器或函数 URL
触发器需要透传:
method
path
headers
queryStringParameters
body
3. 环境变量
参考模板:
server/.env.production.example
生产必须配置:
NODE_ENV=production
TENCENT_SECRET_ID=
TENCENT_SECRET_KEY=
TENCENT_REGION=ap-guangzhou
DB_HOST=
DB_PORT=3306
DB_USER=
DB_PASSWORD=
DB_NAME=jw_beauty
COS_BUCKET=jw-bucket-1426323813
COS_REGION=ap-guangzhou
WECHAT_APPID=
WECHAT_SECRET=
JWT_SECRET=
ADMIN_JWT_SECRET=
ADMIN_USERNAME=admin
ADMIN_PASSWORD=
不要提交真实 .env、密钥、数据库密码或微信密钥。
4. 数据库网络
SCF 与腾讯云数据库建议使用同地域、同 VPC 内网连接。
如果使用公网地址,需要确认:
- 数据库已开启公网访问。
- 安全组允许 SCF 出口或本机出口访问数据库端口。
DB_PORT与控制台展示端口一致。
5. COS 固件
固件文件先上传到 COS,然后在后台登记对象 key。
相关接口:
GET /api/v1/admin/firmware
POST /api/v1/admin/firmware
POST /api/v1/admin/firmware/:firmware_id/status
GET /api/v1/firmware/latest
小程序调用 GET /api/v1/firmware/latest 时,后端会返回短期有效的 COS 签名下载 URL。
6. 前端 API 地址
SCF HTTP 地址确认后,更新:
miniprogram/config/env.js
admin-console/src/config/env.js
把 test 或 prod 改为腾讯云函数 HTTPS 地址。
微信小程序正式联调还需要在微信公众平台配置 request 合法域名。
7. 管理后台 H5 部署到 COS
管理后台构建产物位于:
admin-console/dist/build/h5
先确认 admin-console/src/config/env.js 已指向测试或生产 API,再执行:
cd admin-console
npm install
npm run build:h5
如需直接上传到 COS,可复用 server/.env 中的 COS 凭证:
cd admin-console
npm run deploy:cos
默认上传前缀:
admin/
可通过环境变量覆盖:
ADMIN_COS_PREFIX=admin-test/ npm run deploy:cos
8. 部署后验证
建议按顺序验证:
GET /health
POST /api/v1/admin/login
GET /api/v1/admin/dashboard
POST /api/v1/admin/devices
GET /api/v1/admin/devices
GET /api/v1/admin/firmware
再进入小程序验证:登录、扫码绑定、BLE 连接、绑定确认、普通模式护理、护理记录同步。