Files
SoonDesign/README.md
T
2026-06-12 11:53:18 +08:00

55 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SoonDesign
卡片/光盘设计工具:Electron 桌面端 + Web 端 + PHP 后端。
## 目录
| 目录 | 说明 |
|---|---|
| [frontend-electron/](frontend-electron/) | 桌面程序 |
| [frontend-web/](frontend-web/) | Web 前端 |
| [backend-web/](backend-web/) | PHP API |
| [docker/](docker/) | 本地 Docker 编排(非生产部署) |
## 本地开发
需 [Docker Desktop](https://www.docker.com/products/docker-desktop/)。
```bat
docker\sync-config.ps1 :: 同步 local.js 与 backend local.php(改端口后必跑)
scripts\start.bat :: 启动(不销毁已有容器,适合日常开发)
scripts\start.bat stop :: 停止(保留数据库)
scripts\start.bat reset :: 停止并清空数据库卷
scripts\start.bat rebuild :: 重建 API 镜像并重启 API 容器
scripts\start.bat status :: 查看容器与 /health
scripts\start.bat logs :: 跟踪 API 日志
```
生产环境编辑 `frontend-web/config/local.js`(从 `config/local.js.example` 复制);全量更新 frontend 时不要覆盖该文件。本地开发由 `docker/sync-config.ps1` 生成 `local.js`
| 服务 | 默认地址 |
|------|----------|
| Web | http://localhost:8100/pages/index.web.html |
| Admin 登录 | http://localhost:8100/pages/admin/login.html |
| Admin 后台 | http://localhost:8100/pages/admin/index.html |
| Electron 静态 | http://localhost:8101/pages/index.html |
| API | http://localhost:8102/health |
端口在 `docker/.env` 修改(默认 8100/8101/8102)。测试管理员:`admin@local.test` / `admin123`(仅 `role=admin` 可进入管理后台)。
管理后台模块:概览、用户(详情/启停)、订单筛选、套餐、系统设置、审计日志、支付密钥上传。
桌面窗口(可选):`cd frontend-electron && npm install && npm start`
## 生产部署
- Web 根目录:`frontend-web/`
- PHP 根目录:`backend-web/public/`
- 数据库:导入 `backend-web/schema.sql`
- 后端:`backend-web/config/local.php.example``local.php`
- 前端 API`frontend-web/config/local.js`(生产配置,勿覆盖)
支付与 notify 说明见 [docs/PAYMENT.md](docs/PAYMENT.md)。列表分页契约见 [docs/API-PAGINATION.md](docs/API-PAGINATION.md)。
`frontend-electron/js/design1-back.js``design2-back.js` 等为历史参考快照,页面勿引用;功能对齐请以当前 `frontend-web` / `frontend-electron` 为准。