QingSi 会员管理系统
GitHub通用会员管理系统 - 适用于美业、美容、美发、美甲、按摩、瑜伽、培训、宠物等行业,收银、会员、预约、报表一站式解决方案。
Hilfe & Support: Dieses Projekt ist vollständig Open Source und kostenlos. Sie können es selbst herunterladen und bereitstellen. Für individuelle Entwicklung oder professionellen technischen Support können Sie mich gerne kontaktieren.
QingSi 会员管理系统
简单高效,管理不用愁,经营更省心
适用于:美业、美容、美发、美甲、按摩、瑜伽、培训、宠物等行业的会员管理系统。
功能
| 模块 | 功能 |
|---|---|
| 收银台 | 快速结算、多支付方式、会员卡支付、智能多卡组合、价格调整 |
| 会员管理 | 会员档案、办卡充值、余额查询、挂账管理、消费记录 |
| 预约管理 | 用户端在线预约、状态追踪、微信通知推送 |
| 营业报表 | 营业概览、支付统计、项目排行、生日提醒、沉睡会员 |
| 系统设置 | 服务项目、卡类型、员工管理、交易撤销 |
技术栈
- 前端:Vue 3 + Element Plus + Vite + Pinia
- 后端:Node.js + Fastify + Prisma
- 数据库:MySQL
- 部署:Docker Compose
快速开始
1. 克隆项目
git clone https://github.com/zhaojiannet/QingSi.git
cd QingSi
2. 配置环境变量
cp backend/app/.env.example backend/app/.env
编辑 backend/app/.env:
JWT_SECRET=your-jwt-secret-here
SESSION_SECRET=your-session-secret-here
ADMIN_USERNAME=admin@yourdomain.com
ADMIN_PASSWORD=your-secure-password-here
DATABASE_URL=mysql://user:password@localhost:3306/database
生成密钥:openssl rand -hex 64
3. 启动服务
docker network create docker-net # 如不存在
docker-compose up -d
4. 访问
品牌定制
编辑 frontend/app/src/config/app.js:
export default {
brandName: '青丝', // 店铺名称
industryType: '美业', // 可选:美业、美容、美发、美甲、按摩、瑜伽、培训、宠物
systemName: '会员管理系统',
slogan: '简单高效,管理不用愁,经营更省心',
logo: '/images/logo.png',
};
行业类型对应背景图:
| industryType | 背景图 |
|---|---|
| 美业 | login_bg01.jpg |
| 美容 | login_bg02.jpg |
| 美发 | login_bg03.jpg |
| 美甲 | login_bg04.jpg |
| 按摩 | login_bg05.jpg |
| 瑜伽 | login_bg06.jpg |
| 培训 | login_bg07.jpg |
| 宠物 | login_bg08.jpg |
图片位于 frontend/app/public/images/ 目录。
微信通知推送
支持通过微信公众号推送预约通知。
配置步骤
申请微信公众号测试号:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo
创建模板消息,内容如下:
姓名:{{name.DATA}}
电话:{{phone.DATA}}
时间:{{time.DATA}}
项目:{{services.DATA}}
员工:{{staff.DATA}}
留言:{{message.DATA}}
注意:不要使用
notes或remark作为字段名,这是微信保留字段,不会显示。
部署 Cloudflare Worker(文件在
cloudflare-workers/目录)配置环境变量:
WXPUSH_URL=https://your-worker.workers.dev/wxsend
WXPUSH_TOKEN=your-api-token
版本升级
从旧版本升级
如果你的系统已在运行,升级到新版本需要执行数据库迁移:
# 进入后端容器
docker exec -it qingsi_backend sh
# 执行数据库迁移
npx prisma db push
新增字段说明:
SystemConfig.bookingCode- 用户端预约访问码SystemConfig.bookingCodeUpdatedAt- 访问码更新时间
生产部署
Docker 部署
同"快速开始"。
传统部署(nginx + Node.js)
前端:
cd frontend/app
pnpm install && pnpm build
# 将 dist/ 上传到 nginx 静态目录
后端:
cd backend/app
pnpm install --prod
npx prisma generate
pm2 start src/server.js --name qingsi
nginx 配置:
server {
listen 80;
server_name your-domain.com;
location / {
root /var/www/qingsi/dist;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
开发
docker-compose up # 启动
docker-compose logs -f backend # 查看日志
# 进入容器
docker exec -it qingsi_backend sh
npx prisma studio # 数据库可视化
node init-admin.js # 重置管理员
项目结构
QingSi/
├── backend/app/
│ ├── src/routes/ # API 路由
│ ├── prisma/ # 数据模型
│ └── .env.example
├── frontend/app/
│ └── src/
│ ├── views/ # 页面
│ ├── components/ # 组件
│ └── config/ # 配置
└── docker-compose.yml