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

4.8 KiB
Executable File
Raw Blame History

金牛集团贷款档案管理系统 - 部署说明

1. 环境要求

方式 A:Docker 一键部署(推荐)

  • Docker 20+ / Docker Compose v2
  • 无需本机安装 PHP / Nginx / 扩展

方式 B:宝塔面板

  • 宝塔面板(Linux
  • Nginx 或 Apache
  • PHP 8.0+(建议 8.2
  • 必需扩展:pdo_sqlitesqlite3mbstringfileinfo
  • 推荐扩展:zipxml(用于 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)

chmod +x manage.sh
./manage.sh

菜单可完成:启动 / 停止 / 重启 / 看状态 / 看日志 / 改端口 / 拉代码更新 / 查看常用命令说明。
端口保存在项目根目录 .envAPP_PORT(默认 8080)。

方式 2:直接敲命令

在项目根目录执行:

docker compose up -d --build

浏览器访问:http://服务器IP:8080

常用命令:

# 查看日志
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. 将上述文件复制到本项目对应目录,例如:
# 示例:从旧站备份目录恢复
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/
  1. 启动 Docker
docker compose up -d --build
  1. 登录验证:档案列表、分期计划、文件预览/下载是否正常。

注意:archive.sqlite 里记录了上传文件相对路径,必须与 uploads/ 一起迁移,否则库在、附件会 404。

4. 宝塔部署步骤

  1. 新建 PHP 站点
  2. 上传项目到站点目录
  3. 网站运行目录设置为:/public
  4. 在 PHP 扩展中启用上面的必需扩展
  5. data/uploads/ 赋予可写权限
  6. 访问域名初始化系统

5. 默认账号

  • 用户名:admin
  • 密码:jinniu123

登录后建议立即修改默认密码。

6. 导出说明

  • 导出支持:xlsx / csv
  • 页面可自由选择格式
  • 若服务器安装了 PhpSpreadsheetxlsx 可直接使用:
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. 双管理员删除闭环流程