No description
  • TypeScript 87.4%
  • SCSS 10.5%
  • CSS 1.2%
  • Shell 0.7%
Find a file
Inlyliao baf356b7bb feat: 完成创建页与邀请分享链路体验升级
- 新增首页邀请加入三入口弹层:分享好友、生成海报、下载小程序码。

- 新增组织邀请海报组件(首版排版)并支持保存到相册。

- 新增组织主页二维码接口与前端服务,海报/下载均跳转组织主页。

- 优化组织卡邀请入口交互,支持回调打开自定义分享面板。

- 更新下载成功提示:文案改为“已保存到相册”,时长调整为 2000ms。

- 调整创建页模式图标与资源,新增相关 iconfont 资源。

- 优化创建赛事页与报名设置:取消报名规则选项、说明文案、默认值与布局。

- 新增前台报名页取消规则展示,并按收费/免费场景处理退款说明。

- 修复日期选择器跨月日期点击体验,支持直接点击读取。

- 优化赛程页头像兜底(灰底首字)与单列场景宽度布局。

- 同步更新个人页与帮助中心相关样式/文案。
2026-02-27 18:18:52 +08:00
acescore-badminton feat: 完成对局详情与羽毛球记分体系升级 2026-02-17 22:19:27 +08:00
db-structure save 2025-12-26 13:34:39 +08:00
docs feat: 完成对局详情与羽毛球记分体系升级 2026-02-17 22:19:27 +08:00
ops-console feat: 同步管理端签位与赛事详情等功能优化 2026-02-26 18:51:31 +08:00
scripts chore: add weapp release packaging script and docs 2026-02-13 18:00:17 +08:00
server feat: 完成创建页与邀请分享链路体验升级 2026-02-27 18:18:52 +08:00
taro-style-datetimepicker save 2026-01-12 11:37:55 +08:00
weapp feat: 完成创建页与邀请分享链路体验升级 2026-02-27 18:18:52 +08:00
.gitignore 记录变更文件 2026-02-14 11:10:10 +08:00
git-pull.sh save 2026-01-12 11:39:26 +08:00
git-push.sh save 2026-01-12 11:37:55 +08:00
project.config.json save 2026-01-12 11:37:55 +08:00
README.md 删除多余的sql migration 2026-02-14 19:27:59 +08:00

赛图项目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

本地开发准备

  1. Node.js >= 18
  2. MySQL本地或可访问实例
  3. 微信开发者工具(用于小程序调试)

安装依赖:

cd server && npm install
cd ../weapp && npm install
cd ../ops-console && npm install

快速启动

1) 配置服务端环境变量

cd server
cp .env.example .env

至少补齐以下关键项:

  • DATABASE_URL
  • MINI_APP_TOKEN_CRYPT_KEY
  • APP_PORT(默认 8361

若联调运营后台二维码登录,再补:

  • OPS_ADMIN_OPENIDS
  • OPS_WECHAT_APPID
  • OPS_WECHAT_APPSECRET
  • OPS_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

该脚本会拉起:

  • server8361
  • ops-console3000
  • 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