No description
- TypeScript 88.9%
- SCSS 9.7%
- CSS 0.8%
- Shell 0.5%
- 记分投屏支持 6 位 PIN 入场、团体赛场次切换与稳定会话补全 - 签表与赛程支持海报导出,优化赛事详情、排程场地管理与投屏交互 - 运营后台补充今日赛事统计,快速赛队伍允许重名并完善列表信息 |
||
|---|---|---|
| acescore-badminton | ||
| db-structure | ||
| docs | ||
| ops-console | ||
| scripts | ||
| server | ||
| taro-style-datetimepicker | ||
| weapp | ||
| .gitignore | ||
| AGENTS.md | ||
| git-pull.sh | ||
| git-push.sh | ||
| project.config.json | ||
| README.md | ||
赛图项目(saytu-new)
赛图是一个面向赛事与组织管理的全栈系统,当前仓库包含:
- 微信小程序(用户端/组织端)
- Node.js + Express + Prisma 服务端
- 运营后台(Ops Console)
当前进展(2026-02)
项目已进入高频迭代阶段,核心链路已跑通并持续增强:
- 小程序:组织创建与管理、组织认证、赛事/活动列表与详情、报名流程、队伍/选手管理、编排管理、消息中心、首页交互体验持续优化。
- 服务端:
/api/v2主业务 API 已覆盖用户、组织、赛事、队伍、报名、订单/支付/退款、消息、编排、AI、运营后台等模块。 - 运营后台:已接入登录守卫与会话体系(Cookie)、二维码登录、数据看板、认证审核、用户/组织启停管理等能力。
说明:本 README 以“当前仓库状态”为准,不再使用固定成熟度百分比。
仓库结构
saytu-new/
├── weapp/ # 微信小程序(Taro 3 + React + TypeScript)
├── server/ # 服务端(Express + TypeScript + Prisma + MySQL)
├── ops-console/ # 运营后台(React + Vite + Tailwind v4)
├── scripts/ # 开发辅助脚本(含一键启停)
├── docs/ # 项目文档索引与专题文档
└── db-structure/ # 数据库结构资料
技术栈
weapp
- Taro
3.6.23 - React
18 - TypeScript
5 - Sass + Webpack 5
server
- Node.js
18+ - Express
4 - Prisma
6 - MySQL
5.7 - Swagger/OpenAPI
ops-console
- React
18 - Vite
6 - Tailwind CSS
v4 - React Router
v6
本地开发准备
- Node.js
>= 18 - MySQL(本地或可访问实例)
- 微信开发者工具(用于小程序调试)
安装依赖:
cd server && npm install
cd ../weapp && npm install
cd ../ops-console && npm install
快速启动
1) 配置服务端环境变量
cd server
cp .env.example .env
至少补齐以下关键项:
DATABASE_URLMINI_APP_TOKEN_CRYPT_KEYAPP_PORT(默认8361)
若联调运营后台二维码登录,再补:
OPS_ADMIN_OPENIDSOPS_WECHAT_APPIDOPS_WECHAT_APPSECRETOPS_PUBLIC_BASE_URL
2) 初始化数据库
cd server
npm run prisma:generate
npm run prisma:migrate
3) 启动服务
方式 A:一键启停(macOS + launchctl)
./scripts/dev_ports.sh start
./scripts/dev_ports.sh status
该脚本会拉起:
- server(
8361) - ops-console(
3000) - weapp 构建监听(输出到
weapp/dist)
日志查看:
./scripts/dev_ports.sh logs server
./scripts/dev_ports.sh logs ops
./scripts/dev_ports.sh logs weapp
方式 B:手动启动
# terminal 1
cd server && npm run dev
# terminal 2
cd ops-console && npm run dev
# terminal 3
cd weapp && npm run dev:weapp
访问与联调
- 服务端健康检查:
http://localhost:8361/health - API 文档:
http://localhost:8361/api-docs - API 根路径:
http://localhost:8361/api/v2 - 运营后台本地地址:
http://localhost:3000/ops/ - 小程序产物目录:
weapp/dist
真机调试注意:小程序请求地址不能用
localhost。请在weapp/src/config/api.ts中将开发地址改为你电脑局域网 IP。
常用命令
server
cd server
npm run dev
npm run build
npm run prisma:generate
npm run prisma:migrate
npm run test
npm run test:ops-auth
ops-console
cd ops-console
npm run dev
npm run build
weapp
cd weapp
npm run dev:weapp
npm run build:weapp
小程序正式发布打包(仓库根目录执行):
./scripts/build_weapp_release.sh
# 可选:跳过依赖检查
./scripts/build_weapp_release.sh --skip-install
文档入口
- 文档总览:
docs/README.md - 快速开始:
docs/project/QUICK_START.md - 开发计划:
docs/project/DEVELOPMENT_PLAN.md - 后端说明:
server/README.md - 运营后台说明:
ops-console/README.md
安全与配置注意事项
.env、密钥、Cookie 配置不要提交到仓库。- DeepSeek / WeChat / Qiniu 等第三方密钥仅允许放在服务端环境变量。
- 生产环境请确保
OPS_ADMIN_OPENIDS已正确配置。
最后更新:2026-02-07