卓米会小程序

微信原生小程序 + Node.js 后端(含管理后台)。

miniprogram/   小程序(WXML / WXSS / JS),用微信开发者工具导入
server/        Express 后端 + 管理后台,数据存 server/data/db.json

快速开始

cd server
npm install
npm start            # http://localhost:3000,管理后台 /admin
npm test             # 接口冒烟测试(使用临时数据库,不影响真实数据)
  1. 微信开发者工具导入 miniprogram/,详情 → 本地设置 → 勾选「不校验合法域名」。
  2. 小程序请求地址在 miniprogram/config.js(默认 http://127.0.0.1:3000)。
  3. 管理后台默认账号 admin / 123456,上线前务必在后台修改密码。

环境变量

变量 说明
PORT 端口,默认 3000
WX_APPID / WX_SECRET 配置后走真实 code2session 登录;不配置则为演示登录
WX_SUBSCRIBE_TMPL_ID 可选,订阅消息模板 ID(也可在管理后台「提醒设置」里填)
WX_MINI_STATE 订阅消息跳转版本:formal / trial / developer,默认 formal
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 合法域名。
  • 修改管理后台默认密码;数据量大时换成正式数据库。
  • 在小程序后台填写《用户隐私保护指引》(昵称、头像、手机号、位置)。
S
Description
No description provided
Readme
193 KiB
Languages
JavaScript 66.4%
HTML 33.6%