产品名称
Aiteone,由 81ON 品牌与域名理念延伸而来。
COMPLETE PROJECT HANDBOOK
面向项目所有者、产品经理、运营人员、开发维护人员和部署管理员的统一说明。本文档定义当前功能、业务规则、系统边界、部署方式、质量状态与后续方向。
Aiteone,由 81ON 品牌与域名理念延伸而来。
球类活动参与者、活动组织者、俱乐部和平台运营团队。
响应式 H5/PC、微信小程序和平台总后台。
Docker Compose,支持 Mac 本机与 1Panel 生产部署。
Aiteone 不是单纯的报名表。它覆盖活动发现、发布、报名、候补、提醒、签到、名单、公平分组、分享、相册、复盘、运动履历、俱乐部私域运营和平台治理。当前版本为模块化单体架构:保持业务边界清晰,同时避免过早拆分微服务带来的部署和数据一致性成本。
这是 3.11 系列补丁版本。数据库沿用 schema 48,不新增破坏性迁移;重点改善信息架构、步骤导航、空状态、组织工作台、活动详情快速跳转、名单管理模式和说明站交付。
高频动作优先;低频设置折叠;草稿自动恢复;空页面也给出下一步。
分组兼顾出场次数、搭档和对手重复、水平、到场状态与场地条件。
推荐显示距离、时间、兴趣或关注原因;权限和失败提示说明具体原因。
页面、字典、开关、广告、内容、角色、媒体和备份尽量由后台治理。
俱乐部和活动采用对象级权限,不因分享链接或前端隐藏而越权。
普通参与者看到简单流程,组织者与管理员按权限展开高级能力。
| 角色 | 最常见任务 | Aiteone 提供的价值 | 成功指标 |
|---|---|---|---|
| 活动参与者 | 找活动、判断是否适合、报名、到场、看照片 | 个性推荐、清楚详情、名单、提醒、日历、相册和履历 | 报名转化、到场率、复参与率 |
| 活动组织者 | 发布、招募、审批、分组、通知、复盘 | 草稿、复制、模板、待办、名单、分组图、分享转化 | 发布耗时、满员率、管理处理时长 |
| 俱乐部管理者 | 成员、固定活动、公告、群运营与留存 | 独立空间、邀请、审批、标签、计划、相册、数据看板 | 入会率、活跃会员、复参与率 |
| 平台运营者 | 治理用户、活动、内容、媒体与风险 | 运营工作台、360°、配置、审计、备份和恢复 | 稳定性、内容质量、处理时效 |
首页日历或发现地图按位置、时间、兴趣、关注和可报名状态展示。
阅读日期时间、地点、天气、名额、费用、水平、成员和介绍。
完善可识别身份,提交备注,进入确认、审核或候补。
收到提醒、加入手机日历、签到、查看名单和分组。
微信、朋友圈、LINE、链接与二维码生成独立渠道标识。
活动成员上传照片视频,收藏、下载、举报与授权公开精选。
确认到场、费用、总结、亮点、下次计划并通知成员。
个人运动日历、俱乐部相册、点评和统计形成长期关系。
报名区分待审核、确认、候补、取消申请、已取消;活动区分草稿、未开报名、可报名、已满、报名关闭、已结束、已取消;相册区分未开放、开放、锁定、归档;这些状态由 API 统一计算,客户端不自行猜测。
| 业务域 | 主要能力 | H5 | 小程序 | 后台 |
|---|---|---|---|---|
| 身份账户 | 邮箱注册登录、找回密码、微信免注册、Google、绑定身份、会话 | 完整 | 微信身份+邮箱密码设置 | 用户、会话、安全 |
| 个人资料 | 头像裁剪、昵称、性别、年龄段、城市、位置、偏好、专项水平 | 完整 | 完整 | 字典、编辑、360° |
| 首页日历 | 周/月、今天、节假日、天气、五类范围、单天活动、个性推荐 | 完整 | 完整 | 文案、节假日、广告 |
| 发现 | 活动、俱乐部、场馆、本地生活、地图聚合、筛选、优先模式 | 完整 | 完整 | 内容 CRUD、导入、审核、合并 |
| 发布 | 三步表单、草稿、模板、复制、封面、富文本、翻译、分享 | 完整 | 完整 | 活动辅助编辑 |
| 报名 | 规则、审核、候补、备注、取消申请、提醒、日历 | 完整 | 完整 | 统计与审计 |
| 名单与分组 | 资料、到场、每组人数、场地、轮次、重排、锁定、分享图 | 完整 | 完整 | 活动关系查询 |
| 俱乐部 | 独立页、成员、邀请、公告、活动、模板、计划、群通知、相册 | 完整管理 | 移动高频管理 | 平台治理 |
| 活动相册 | 照片视频、实况兼容、收藏、下载、精选、审核、分享、举报 | 完整 | 完整 | 媒体治理 |
| 运动日历 | 周/月/年次数时长、状态、项目、场地、相册、个人补录 | 完整 | 完整 | 用户关联查看 |
| 运营后台 | 用户、活动、俱乐部、发现、内容、消息、媒体、备份、安全 | PC 优先 | 不提供 | 完整 |
所有俱乐部运行在同一平台和小程序中,但拥有独立 slug、分享页面、品牌、颜色、成员、公告、活动、相册、邀请和运营数据。这样无需为每个俱乐部维护独立小程序,同时保留相对独立的私域体验。
支持自由加入、需要审批、仅邀请、暂停招募;邀请可设置用途、有效期、次数和是否绕过审批。管理员可以添加标签、拒绝或拉黑特定用户。临时成员独立保存,不创建虚假平台账号,后续预留认领与合并。
成为俱乐部会员不等于活动管理员。活动管理仍由创建者、被任命协管和有权限的俱乐部管理员共同决定。
活动相册使用独立 Docker volume,与普通头像、封面和富文本媒体分离。照片、视频、Live Photo 兼容图、缩略图和处理状态保存在相册领域,不与普通媒体清理逻辑混淆。
上传者可以收藏、下载允许的内容、申请删除、举报、控制公开精选授权。管理员不能在没有上传者授权时把成员照片直接公开展示。
组织者确认到场和费用,填写总结、亮点、下次计划和成员通知。复盘自动保存草稿,可引用相册精选内容;发布后形成俱乐部和个人长期记录。
平台活动按报名、到场、组织和取消状态统计。个人补录独立标识,只进入个人次数和时长,不计入平台报名、组织者业绩或活动转化。
两端共享 API、状态、权限和核心能力。H5 适合宽屏编辑、批量管理、俱乐部表格和平台后台;小程序适合浏览、报名、地图、现场名单、签到、分组、上传与通知。
头像昵称必须由用户主动选择;位置采用主动选择和东京降级;订阅提醒每次由用户授权;朋友圈使用微信开放的分享能力,不能由服务器静默发布。
React/TypeScript,Vinext 生产构建,响应式 H5、PC 用户端与总后台。
微信原生 WXML/WXSS/JavaScript,共享请求、展示、文案和可读性工具。
Node.js 服务,承载认证、业务规则、权限、媒体、分享与运营接口。
提醒、邮件、订阅消息、视频处理、备份校验和失败重试。
PostgreSQL 17,启动时按 schema_migrations 顺序执行幂等迁移。
Caddy 统一 Web/API/媒体路由、请求体限制、安全头和静态缓存。
当前业务高度关联,单体事务能更可靠地维护报名、名额、候补、权限、相册和审计一致性。模块化单体也更适合单台 1Panel 服务器的部署与维护。等团队、流量和独立扩缩容需求明确后再拆分。
当前数据库版本为 48。迁移文件位于 api/sql,按编号执行,设计为可重复启动。新版本不能通过手工修改 schema_migrations 跳过失败迁移。
| 数据 | Docker volume | 用途 | 外网访问 |
|---|---|---|---|
| 数据库 | {project}_postgres_data | 全部结构化业务数据 | 不开放 |
| 普通媒体 | {project}_media_uploads | 头像、封面、富文本、品牌图 | /uploads/* |
| 活动相册 | {project}_album_uploads | 活动照片、视频和派生文件 | 受令牌保护的 /album-media/* |
| 系统备份 | {project}_system_backups | 数据库与媒体完整备份 | 仅后台授权下载 |
报名容量、候补转正、取消审批、活动复制幂等、俱乐部计划草稿、消息清空撤销和备份恢复都在服务端维护,避免仅靠前端状态。
后台可管理版本、摘要、正文和启用状态。微信头像、昵称、常用位置和相册使用应在用户主动操作前给出用途说明。
后台采用统一运营工作台,不同岗位只显示被授权模块。主要区域如下:
平台状态、待办、业务指标、趋势和失败任务。
头像列表、筛选排序、360°、登录、IP、媒体和审计。
高级筛选、辅助编辑、推荐、访问、二维码和转化。
空间、成员、活动、邀请、公告、相册和治理。
地点录入、地图选点、导入、审核、重复合并和质量。
页面文案、Logo、功能开关、运动、类型、水平和专项标准。
日本节假日、详细介绍、赞助投放和统计。
媒体、相册、备份、恢复、会话、登录和审计。
权限配置、个人保存视图和高风险动作约束。
| 配置组 | 关键项 | 说明 |
|---|---|---|
| 实例 | COMPOSE_PROJECT_NAME, HTTP_PORT | 决定容器、网络、volume 前缀和宿主端口 |
| 版本 | APP_VERSION, BUILD_ID | 当前应为 3.11.1 / 20260906.312 |
| 数据库 | POSTGRES_USER/PASSWORD/DB | 升级同一实例必须沿用 |
| 加密 | CONTACT_ENCRYPTION_KEY | 长期保存,不能随意更换 |
| 域名 | PUBLIC_BASE_URL, CORS_ORIGIN | 生产使用 HTTPS;多域名以逗号分隔 |
| 微信 | MINI APP_ID/SECRET, reminder keys | 登录、订阅和小程序码 |
| OAuth | GOOGLE_CLIENT_ID/SECRET, WECHAT_WEB | 未配置的入口由后台关闭 |
| 邮件 | SMTP_* | 找回密码、验证和提醒 |
| 地图天气 | Google, Apple, Open-Meteo | 留空可使用 OSM 与免费天气降级 |
| 容量 | MAX_UPLOAD, ALBUM_*, MAX_BACKUP | 普通媒体、相册与备份分别限制 |
交付包只包含示例环境文件。微信 Secret、Google Secret、SMTP 密码、数据库密码和管理员密码必须在服务器单独填写。
/opt/aiteone/Aiteone COMPOSE_PROJECT_NAME=aiteone HTTP_PORT=8100 PUBLIC_BASE_URL=https://app.81on.com
unzip Aiteone-3.11.1-build-20260906.312-1Panel.zip cd Aiteone cp .env.1panel.example .env nano .env ./scripts/preflight.sh docker compose up -d --build --wait ./scripts/smoke-test.sh http://127.0.0.1:8100
1Panel 网站启用证书后代理到本机回环端口。备份导入需设置 1100MB、关闭代理请求缓冲并放宽超时;/uploads/ 返回跨来源媒体头。前端静态指纹资源缓存一年且 immutable,HTML 和公开配置避免长期缓存。
完整备份同时包含数据库、普通媒体、活动相册、版本和校验。后台提供创建、验证、下载和保留策略;命令行脚本适合维护窗口和自动化。
正式恢复先备份当前实例,把旧备份恢复到隔离数据库并校验,再切换,避免直接清理新版数据库遇到外键依赖并留下半恢复状态。
.env、项目名、数据库密码、加密密钥和所有 volume。docker compose down -v,该命令会删除持久化数据卷。不增加数据库迁移。升级后 schema 仍为 48;主要检查页面导航、活动发布步骤、组织中心、俱乐部、相册、运动日历和文档站。
通过
TypeScript/React 与项目 JavaScript 静态检查。
通过
Vinext 五阶段构建生成 standalone 输出。
214 项通过
业务、权限、迁移、跨端、部署与回归契约。
通过
本轮相关页面 JavaScript 语法与事件契约。
账户会话、微信降级、发布草稿与复制、报名、收藏、签到、名单权限、公平分组、站内消息、发现地图、俱乐部、相册、运动日历、后台运营、备份恢复、迁移、CORS、缓存和多实例部署。
当前版本适合作为 1Panel 测试环境和受控生产升级包。自动化通过不替代微信开发者工具真机、生产域名 HTTPS、第三方 OAuth、订阅消息和实际恢复演练。
AiteoneApp.tsx 仍然很大,Babel 构建提示超过 500KB 后降低代码生成样式优化。下一轮应继续把超大的 H5 主组件拆为按业务域懒加载模块,同时保持现有 API 与路由不变。这会改善构建维护性和首屏资源治理。
暂不增加复杂即时聊天、完整财务系统、任意拖拽建站器和多俱乐部独立 AppID。这些方向会显著增加审核、客服、支付合规和维护成本。