Initial commit of the WeChat mini program, Express backend, and admin console. Co-authored-by: Cursor <cursoragent@cursor.com>
2.8 KiB
2.8 KiB
卓米会小程序
微信原生小程序 + Node.js 后端(含管理后台)。
miniprogram/ 小程序(WXML / WXSS / JS),用微信开发者工具导入
server/ Express 后端 + 管理后台,数据存 server/data/db.json
快速开始
cd server
npm install
npm start # http://localhost:3000,管理后台 /admin
npm test # 接口冒烟测试(使用临时数据库,不影响真实数据)
- 微信开发者工具导入
miniprogram/,详情 → 本地设置 → 勾选「不校验合法域名」。 - 小程序请求地址在
miniprogram/config.js(默认http://127.0.0.1:3000)。 - 管理后台默认账号
admin / 123456,上线前务必在后台修改密码。
环境变量
| 变量 | 说明 |
|---|---|
PORT |
端口,默认 3000 |
WX_APPID / WX_SECRET |
配置后走真实 code2session 登录;不配置则为演示登录 |
DB_FILE |
数据文件路径,默认 server/data/db.json |
UPLOAD_DIR |
上传目录,默认 server/public/uploads |
功能对照
- 可转发:活动页
onShareAppMessage分享到详情页,链接带分享人 openid,报名时记录来源。 - 可编辑:后台增删改活动(含往期、置顶、封面图、视频)、海报、报名、签到码。
- 可数据统计:后台「数据统计」看报名/签到/分享来源,报名可导出 CSV。
- 可微信登录:
wx.login→/api/login→code2session。
小程序管理员只在后台「管理员」页设置;管理员在「往期」页直接看到增加、删除、置顶,界面上没有管理员登录入口。
目录说明
server/
app.js Express 应用(路由挂载、静态资源、统一错误处理)
server.js 启动入口
routes/public.js 小程序接口 /api/*
routes/admin.js 管理后台接口 /api/admin/*
lib/db.js JSON 存储:内存缓存 + 原子写入 + 旧数据迁移
lib/auth.js 用户 / 管理员鉴权
lib/passwords.js 管理员密码 scrypt 哈希
lib/serialize.js 活动 / 用户数据整形
lib/upload.js 图片视频上传(multer)
lib/wechat.js code2session
public/admin.html 管理后台单页
miniprogram/
utils/api.js 所有接口封装(自动登录、token 过期自动重登)
utils/activity.js 导航、报名跳转、分享参数
components/activity-board 首页 / 详情页共用的活动卡片
上线前
- 服务器配置 HTTPS 域名,并在小程序后台添加 request / uploadFile / downloadFile 合法域名。
- 修改管理后台默认密码;数据量大时换成正式数据库。
- 在小程序后台填写《用户隐私保护指引》(昵称、头像、手机号、位置)。