Files
PartsInquiry/backend/txm/doc/同步文档.md
2025-09-27 22:57:59 +08:00

4.6 KiB
Raw Permalink Blame History

前后端数据库状态说明

更新日期: 2025-09-17

概要

  • 数据库已落地:已在远程 MySQL mysql.tonaspace.compartsinquiry 库完成初始化(表结构与触发器已创建)。
  • 已生成根目录文档:/doc/database_documentation.md 已同步线上结构(字段、索引、外键、触发器)。
  • 后端代码仍未配置数据源依赖与连接,前端无本地结构化存储方案。

已建库与连接信息(用于部署/联调)

  • Address: mysql.tonaspace.com
  • Database: partsinquiry
  • User: root
  • 说明:所有结构变更均通过 MysqlMCP 执行并已落地到线上库。

角色与模拟数据策略(统一为店长)

  • 当前不进行角色划分,系统仅保留“店长”角色。
  • 已将所有用户记录统一为:role='owner'is_owner=1
  • 前端/后端权限逻辑暂未启用,后续若引入权限体系,再行扩展角色与边界。

小程序默认用户(可开关,默认关闭)

  • 目的:开发/演示阶段,便于免登录联调。
  • 机制:前端在请求头附加 X-User-Id(值为张老板 id=2仅当开关开启时。
  • 开关:
    • 环境变量:VITE_APP_ENABLE_DEFAULT_USER=trueVITE_APP_DEFAULT_USER_ID=2
    • 或本地存储:ENABLE_DEFAULT_USER=trueDEFAULT_USER_ID=2
  • 关闭:不设置/置为 false 即可停用(生产环境默认关闭)。
  • 完全移除:删除 frontend/common/config.js 中默认用户配置与 frontend/common/http.js 中注入逻辑。

后端Spring Boot状态

  • 依赖:pom.xml 已包含 spring-boot-starter-webspring-boot-starter-data-jpamysql-connector-j
  • 配置:application.properties 使用环境变量注入数据源,已补充 Hikari/JPA新增附件占位图配置
    • attachments.placeholder.image-pathenv: ATTACHMENTS_PLACEHOLDER_IMAGE
    • attachments.placeholder.url-pathenv: ATTACHMENTS_PLACEHOLDER_URL,默认 /api/attachments/placeholder
  • 接口:新增附件相关接口(占位方案):
    • POST /api/attachments:忽略内容,返回 { url: "/api/attachments/placeholder" }
    • GET /api/attachments/placeholder:返回本地占位图二进制
  • 迁移:仍建议引入 Flyway/Liquibase结构变更继续通过 MysqlMCP 并同步 /doc/database_documentation.md

前端uni-app数据库状态

  • 数据持久化:未见 IndexedDB/WebSQL/SQLite/云数据库使用;页面数据为内置静态数据。
  • 本地存储:未见 uni.setStorage/uni.getStorage 的集中封装或结构化键空间设计。
  • 结论:前端当前不涉及本地数据库或结构化存储方案。

风险与影响

  • 后端未配置数据源与接口,应用无法读写远端库(虽已建表)。
  • 无接口契约,前后端仍无法联调涉及数据库的功能。

建议的后续行动(不自动执行)

  • 在后端引入依赖:spring-boot-starter-webspring-boot-starter-data-jpamysql-connector-j
  • 配置数据源:使用环境变量注入 SPRING_DATASOURCE_URLSPRING_DATASOURCE_USERNAMESPRING_DATASOURCE_PASSWORD 等,指向上述远程库。
  • 引入迁移工具Flyway/Liquibase管理 DDL后续所有变更继续通过 MysqlMCP 执行,并同步 /doc/database_documentation.md
  • 增加健康检查与基础 CRUD 接口;在 /doc/openapi.yaml 按规范登记并标注实现状态(/)。

前端默认连接策略

  • 默认后端地址:http://127.0.0.1:8080(可被环境变量/Storage 覆盖)
  • 多地址重试:按顺序尝试(去重处理):[ENV, Storage, 127.0.0.1:8080, localhost:8080]
  • 默认用户:开启(可被环境变量/Storage 关闭),请求自动附带 X-User-Id(默认 2)。
  • 如需关闭:在 Storage 或构建环境中设置 ENABLE_DEFAULT_USER=false

占位图策略(当前阶段)

  • 说明:所有图片上传与展示均统一使用占位图,实际文件存储暂不开发。
  • 本地占位图:C:\Users\21826\Desktop\Wj\PartsInquiry\backend\picture\屏幕截图 2025-08-14 134657.png
  • 配置方式:
    • PowerShell当前用户持久化
      setx ATTACHMENTS_PLACEHOLDER_IMAGE "C:\\Users\\21826\\Desktop\\Wj\\PartsInquiry\\backend\\picture\\屏幕截图 2025-08-14 134657.png"
      setx ATTACHMENTS_PLACEHOLDER_URL "/api/attachments/placeholder"
      
    • 应用重启后生效;也可在运行环境变量中注入。
  • 前端影响:
    • components/ImageUploader.vue 上传始终得到 { url: '/api/attachments/placeholder' }
    • 商品列表/详情展示该占位图地址