# AppVeriosn **Repository Path**: NativeBase/app-veriosn ## Basic Information - **Project Name**: AppVeriosn - **Description**: 面向移动应用运营/开发团队的**配置下发中心 + 运营操作后台**,统一管理多个 App 在 iOS / Android / HarmonyOS / Windows / macOS 各端的版本、推送、热更新、广告、文案、功能开关与通用配置。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-19 - **Last Updated**: 2026-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # App 管理平台(AppVeriosn) 面向移动应用运营/开发团队的**配置下发中心 + 运营操作后台**,统一管理多个 App 在 iOS / Android / HarmonyOS / Windows / macOS 各端的版本、推送、热更新、广告、文案、功能开关与通用配置。 ## 功能模块 | 模块 | 说明 | |---|---| | 项目与应用管理 | 项目 → 应用(平台/包名/app_key)两级管理 | | 版本管理 | 版本登记、强制/静默升级策略、灰度发布、发布/下线 | | 消息推送 | 多通道配置(密钥加密存储)、模板、定向/定时任务、测试发送(二次确认)、记录 | | 热更新 | 补丁包管理、版本绑定、灰度下发、一键回滚 | | 广告位管理 | 广告位定义、素材投放(时间/频次/定向/优先级)、上下线 | | 文案管理 | key-value 文案、多语言、按平台/版本下发 | | 功能开关 | 模块显示/隐藏、条件规则、紧急关停 | | 配置中心 | 通用 KV 配置,按应用/平台/版本区间维度 | | 系统管理 | RBAC 用户/角色/权限(19 个权限码)、审计日志(变更留痕) | **客户端下发**:`/api/v1/client/*` 接口(app_key 鉴权),合并下发升级策略 + 开关 + 文案 + 配置 + 广告位,统一灰度引擎(设备 ID 哈希分桶),Redis 缓存 30s 且断连自动降级。 ## 技术栈 - **后端**:Python + FastAPI + SQLAlchemy 2.0 + Alembic + JWT + Redis(可选)| 默认 SQLite,可切 MySQL - **前端**:Vue 3 + TypeScript + Vite + Element Plus + Pinia + Vue Router + Axios ## 项目结构 ``` appveriosn/ ├── backend/ # FastAPI 后端 │ ├── app/ │ │ ├── main.py # 入口:路由、CORS、异常处理、启动种子数据 │ │ ├── core/ # 配置、JWT/加密、数据库、Redis、初始化数据 │ │ ├── models/ # SQLAlchemy 模型(10 个模块 18 张表) │ │ ├── schemas/ # Pydantic 请求/响应模型 │ │ ├── api/ │ │ │ ├── deps.py # 依赖注入:DB 会话、JWT 鉴权、权限校验 │ │ │ └── v1/ │ │ │ ├── admin/ # 后台管理接口(JWT + RBAC) │ │ │ └── client/ # 客户端下发接口(app_key 鉴权) │ │ ├── services/ # 灰度匹配引擎、配置合并下发 │ │ └── utils/ # 统一响应、审计工具 │ ├── alembic/ # 数据库迁移 │ ├── tests/ # 灰度引擎单元测试(pytest) │ ├── requirements.txt │ └── .env.example # 环境变量模板 │ ├── frontend/ # Vue3 管理后台 │ ├── src/ │ │ ├── api/ # axios 封装 + 各模块接口函数 │ │ ├── stores/ # Pinia(auth:token/用户信息) │ │ ├── router/ # 路由 + 登录守卫 │ │ ├── layouts/AdminLayout.vue # 侧边菜单布局(9 个模块分组) │ │ ├── views/ # 17 个页面(登录/项目/应用/版本已实现,其余占位) │ │ ├── components/ # 占位页组件 │ │ ├── types/ # TS 类型(与后端契约对齐) │ │ └── utils/ # request 封装等 │ └── vite.config.ts # /api → :8000 代理 │ └── docs/ # 文档 ├── architecture.md # 产品架构文档(架构图/流程图/ER 图) └── product-manual.md # 产品手册(操作指南/客户端接入/运维) ``` ## 快速开始 ```bash # 后端(首次自动建表并写入种子数据:admin/admin123 + demo 项目) cd backend uv venv --python 3.11 && uv pip install -r requirements.txt uv run uvicorn app.main:app --reload --port 8000 # 前端 cd frontend pnpm install && pnpm run dev # http://localhost:5173 ``` - 管理后台:http://localhost:5173 (admin / admin123) - API 文档:http://localhost:8000/docs (Swagger UI) ## 常用命令 ```bash # 后端 uv run alembic upgrade head # 数据库迁移 uv run pytest tests/ -q # 单元测试 # 前端 pnpm run build # 类型检查 + 构建 ``` ## 当前状态与占位项 - ✅ 已实现:全部数据模型与接口、RBAC、灰度引擎、配置合并下发、审计日志;前端登录/项目/应用/版本页面 - 🚧 占位待做:推送真实下发(当前 mock)、客户端签名校验(当前恒通过)、事件统计报表、其余 13 个前端页面 ## 文档 - [产品架构文档](docs/architecture.md) — 架构图、核心流程、数据模型、部署方案 - [产品手册](docs/product-manual.md) — 功能操作指南、权限清单、客户端接入、FAQ