Files
jinniu-daikuan/部署说明.md
T
梁铭洋andCursor e90756f7a3 Add Ubuntu Docker manage.sh menu for start/stop/port.
Provide an interactive script and .env.example so operators can change APP_PORT and run common compose actions without memorizing commands.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-29 15:17:26 +08:00

184 lines
4.8 KiB
Markdown
Executable File
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.
# 金牛集团贷款档案管理系统 - 部署说明
## 1. 环境要求
### 方式 A:Docker 一键部署(推荐)
- Docker 20+ / Docker Compose v2
- 无需本机安装 PHP / Nginx / 扩展
### 方式 B:宝塔面板
- 宝塔面板(Linux
- Nginx 或 Apache
- PHP 8.0+(建议 8.2
- 必需扩展:`pdo_sqlite``sqlite3``mbstring``fileinfo`
- 推荐扩展:`zip``xml`(用于 xlsx 导出/导入)
## 2. 目录结构
- `public/`:网站入口目录(宝塔运行目录设置到这里)
- `app/`:配置与基础逻辑
- `data/`:业务数据(SQLite + JSON配置)
- `uploads/`:上传文件目录(按目录层级自动分文件夹)
### `data/` 下的关键文件
- `archive.sqlite`:主业务数据库
- `repayment_plans.json`:分期还款计划(免迁移方案)
- `archive_finance.json`:结息/逾期配置(免迁移方案)
- `delete_approvals.json`:双管理员删除审批记录
- `import_template.xlsx`:可选,自定义导入模板(手工放置)
## 3. Docker 一键部署
### 方式 1:管理脚本(推荐,Ubuntu)
```bash
chmod +x manage.sh
./manage.sh
```
菜单可完成:启动 / 停止 / 重启 / 看状态 / 看日志 / **改端口** / 拉代码更新 / 查看常用命令说明。
端口保存在项目根目录 `.env``APP_PORT`(默认 `8080`)。
### 方式 2:直接敲命令
在项目根目录执行:
```bash
docker compose up -d --build
```
浏览器访问:`http://服务器IP:8080`
常用命令:
```bash
# 查看日志
docker compose logs -f
# 停止
docker compose down
# 修改端口(默认 8080
APP_PORT=80 docker compose up -d --build
```
`data/``uploads/` 已通过卷挂载持久化,容器重建不会丢业务数据。镜像内已预装 PhpSpreadsheet,可直接导入/导出 xlsx。
### 3.1 从旧环境迁移数据库(可完整迁移)
本系统数据库是 **SQLite 文件**,不是 MySQL。迁移 = 拷贝文件,无需导 SQL。
**需要拷贝的内容:**
| 路径 | 说明 |
|------|------|
| `data/archive.sqlite` | 主库(用户、目录、档案、文件元数据) |
| `data/*.json` | 分期计划、结息/逾期、删除审批、贷款机构等 |
| `data/import_template.xlsx` | 可选,自定义导入模板 |
| `uploads/` 整目录 | 档案附件实体文件 |
**步骤:**
1. 在旧服务器停止写入(或短暂停站),避免拷到一半又有新数据。
2. 将上述文件复制到本项目对应目录,例如:
```bash
# 示例:从旧站备份目录恢复
cp /path/to/old/data/archive.sqlite ./data/
cp /path/to/old/data/*.json ./data/ 2>/dev/null || true
cp -a /path/to/old/uploads/. ./uploads/
```
3. 启动 Docker
```bash
docker compose up -d --build
```
4. 登录验证:档案列表、分期计划、文件预览/下载是否正常。
> 注意:`archive.sqlite` 里记录了上传文件相对路径,**必须与 `uploads/` 一起迁移**,否则库在、附件会 404。
## 4. 宝塔部署步骤
1. 新建 PHP 站点
2. 上传项目到站点目录
3. 网站运行目录设置为:`/public`
4. 在 PHP 扩展中启用上面的必需扩展
5.`data/``uploads/` 赋予可写权限
6. 访问域名初始化系统
## 5. 默认账号
- 用户名:`admin`
- 密码:`jinniu123`
> 登录后建议立即修改默认密码。
## 6. 导出说明
- 导出支持:`xlsx` / `csv`
- 页面可自由选择格式
- 若服务器安装了 `PhpSpreadsheet``xlsx` 可直接使用:
```bash
composer require phpoffice/phpspreadsheet
```
## 7. 导入说明
### 7.1 下载模板
- 点击页面“模板下载”
- 系统优先下载:`data/import_template.xlsx`(如果你手工放了该文件)
- 若该文件不存在,系统会动态生成模板(需要 `PhpSpreadsheet`
### 7.2 模板字段规则
#### 必填字段
- 一级目录
- 二级目录
- 三级目录
- 档案名称
- 贷款机构
- 借款主体
- 授信额度
- 起止日
- 到期日
- 年利率
- 担保类型
- 担保人
#### 选填字段
- 计息方式(按月计息 / 按季付息 / 到期一次性付清)
- 结息日(1-28
- 是否有分期还款计划(是/否)
## 8. 文件上传与存储
文件上传后按“目录层级 + 档案”自动存储,例如:
`uploads/一级目录/二级目录/三级目录/archive_档案ID_档案名/文件`
## 9. 删除审批(双管理员)
- 管理员A点击删除 -> 仅提交申请
- 管理员B在“删除审核”页面审批通过后才执行真实删除
- 申请人本人不能审批自己的删除申请
## 10. 试运行建议
上线前建议至少验证:
1. 新建/编辑/查看档案
2. 新建页上传文件、编辑页文件管理(上传/重命名/删除)
3. 分期计划与剩余额度联动
4. 到期提醒详情页筛选与导出
5. 模板导入(先用 2-3 条测试数据)
6. 双管理员删除闭环流程