# CaiWuXiTong 财务系统 本项目基于 Akaunting 二次开发,包含统一系统设置、用户和侧边栏管理、多个只读云数据库来源,以及财务业务页面。 ## 开发者快速开始 新人只需要做两件事: 1. 启动 Docker Desktop; 2. 在系统数据库页面输入负责人提供的系统数据库密码。 其余工作交给 Codex:拉取最新 `main`、执行 `bash deploy/local-init.sh`、处理本机引导库迁移、启动服务、清理缓存、打开 `http://127.0.0.1:18088`,并在连接后自动核对两套上游、数据字典和真实只读查询。初始化脚本会比较当前构建输入与镜像指纹,并校验必要静态资源;需要更新时自动重建,不再要求新人判断是否添加 `--build`。Codex 不得把这些命令、迁移或排错步骤转交给新人执行。 首次登录账号由初始化脚本生成并保存在本机私有凭据文件中。连接系统数据库成功后,临时登录会自动失效,改用系统数据库中属于自己的正式账号登录。 连接成功后,用户、侧边栏、系统设置、云数据库登记和共享快照会自动统一。不需要填写主机、端口、库名、账号、TLS、证书或两个云数据库密码,也不要复制生产环境或其他开发者的 `APP_KEY`、`.env`。 Codex 的接入验收不能只回答“成功”或“失败”,必须逐个来源报告:来源标识、数据库和 Schema、验证对象、读取字段、返回行数、耗时、数据状态及失败阶段。连接资料由系统自动处理,不属于新人操作项。 完整步骤和排错说明见 [LOCAL_DEPLOY.md](LOCAL_DEPLOY.md)。需要在另一台电脑继续开发时,按 [新电脑开发接续指南](docs/新电脑开发接续指南.md) 操作;所有 Markdown 文档的入口见 [文档索引](docs/README.md)。 ## 数据库边界 - 本机 MySQL 只负责第一次启动和临时登录,不是团队业务数据源。 - 系统数据库统一保存应用用户、系统设置、侧边栏配置和云数据库连接记录。 - 云数据库属于只读上游。本地开发从系统数据库自动取得连接资料并执行固定只读查询;生产页面使用共享按需查询快照。 - 系统数据库保存查询登记、数据字典和生产共享快照,但不会执行 SQL,也不是 SQL Server 网络代理。 - 开发者需要新表或字段时,Codex 先通过共享数据字典和通用只读入口完成真实数据探索,再实现 Repository、生产范围和刷新器;新人不需要配置上游或执行探测命令。 - 不得把数据库密码、连接串、生产 `APP_KEY`、Token、SSH 私钥或 `runtime/.env` 提交到 Git。 ## 开发和发布 - 新电脑接续指南:[docs/新电脑开发接续指南.md](docs/新电脑开发接续指南.md) - 文档索引:[docs/README.md](docs/README.md) - 团队协作与安全规则:[AGENTS.md](AGENTS.md) - 本地测试环境:[LOCAL_DEPLOY.md](LOCAL_DEPLOY.md) - 开发和正式部署:[docs/开发与部署SOP.md](docs/开发与部署SOP.md) - 上游业务接入规范:[docs/ecommerce-finance-development.md](docs/ecommerce-finance-development.md) - 视觉规范:[DESIGN.md](DESIGN.md) 正式发布只能使用已经合并的 `main`,并通过 `scripts/deploy-from-workstation.ps1` 在开发机构建提交 SHA 镜像。生产服务器只运行镜像,不执行源码构建。 ## 技术基础 - PHP 8.3 - Laravel - Vue - Apache - MySQL / MariaDB - Docker - Akaunting 上游 Akaunting 的版权和许可证信息见 [LICENSE.txt](LICENSE.txt)。