项目追加开发说明.md 4.9 KB

项目追加开发结构 LQAdminPlatform

  • 功能模块

    • system 系统管理
      • user 用户管理
      • role 角色管理
      • menu 菜单管理
      • permission 权限管理
      • log 系统日志
      • dashboard 仪表盘
      • app 应用管理
    • sample 样本中心

      • knowledge_base 知识库管理
      • doucments 文档管理
      • knowledge_chunk 知识片段管理
      • tag 标签管理
      • knowledge_chunk_search 知识片段检索引擎
      • base_info 基本信息
      • image 图片管理
      • 基本信息
      • 施工标准规范知识库 standard_base_info
      • 施工方案知识库 construction_plan_base_info
      • 办公制度知识库 office_regulations
      • 施工标准规范专业术语实体 technical_term_entity
    • 模块名称简写

    • 系统管理 sys

    • 授权管理 auth

    • 样本中心 samp

  • 项目结构

    • src/app/core
    • execeptions.py 通用异常类定义
    • src/app/models 通用模型定义
    • base.py 通用模型类定义
    • src/app/utils 各类工具类
    • src/app/config 各类配置,如:yaml 配置等
    • *.yaml
    • src/app/base 基础信息,如:MySQL数据库、Redis缓存连接、milvus向量数据库
    • async_redis_connection.py
    • async_mysql_connection.py
    • milvus_conneciton.py
    • src/app/schemas 基础的结构
    • base.py
    • src/app/sample 样本中心
    • schemas 每个模块自己的结构
    • models 每个模型自己的模型
    • src/app/api 对外部提供API定义
    • src/app/services 业务逻辑层定义
      • auth_service.py 用户登录认证
      • system_service.py 系统管理
      • sample_service.py 样本中心管理
    • src/views 不同模块的API路由
    • system_view.py
    • oauth_view.py
    • sample_view.py
    • src/test 单元测试类定义
  • 数据库规范定义

    • 表名称要求:以 "t_模块名称简写_表名称" 如:t_sys_user
    • 表之间不建立主外键约束,通过逻辑层进行控制
    • 每个业务表增加创建人 、创建时间、修改人、修改时间 created_by varchar(36) DEFAULT NULL COMMENT '创建人', created_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间,默认当前时间', updated_by varchar(36) DEFAULT NULL COMMENT '修改人', updated_time datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间,默认当前时间',

    • 创建的数据库表名称和字段都需要增加 common 注释说明,如下: COMMENT='施工标准规范'; chinese_name varchar(255) NOT NULL COMMENT '中文名称',

    • 所有的备注字段 在没有特殊说明的情况下定义 VARCHAR(500) ,前端需要用户输入长度,避免超长的问题

    • 如果涉及数据库表结构变更,需要在script目录下生成变更SQL脚本记录,用于更新其它环境,文件名称:表名称_update_yyyy_MM_dd.sql

  • 业务逻辑规范定义

    • 系统逻辑自动初始化这些字段(创建人created_by 、 创建时间 created_time 、 修改人 updated_by、 修改时间 updated_time)
    • 新增时创建人created_by 获取当前登录用户ID
    • 新增时创建时间 created_time 获取当前系统时间
    • 修改或编辑任何一个字段时 修改人 updated_by 获取当前登录用户ID
    • 修改或编辑任何一个字段时 修改时间 updated_time 获取当前系统时间
    • 所有列表界面的创建人、修改人使用表(t_sys_user username字段)进行显示
  • 系统异常处理规范

    • 所有的try catch 捕获后(except Exception as e:),通过 logger.exception("xxxx")打印异常堆栈信息便于问题定位分析,如: logger.exception("更新用户资料错误")

项目前端开发结构 LQAdminFront

  • src/router 路由
  • src/components 组件
  • src/layouts 布局
  • src/utils 工具
  • src/api 按模块划分API请求

    • sample 样本中心
      • document.ts 登录
  • src/views 按模糊划分view

    • sample 样本中心

      • knowledge_base 知识库管理
      • doucments 文档管理
      • knowledge_chunk 知识片段管理
      • tag 标签管理
      • knowledge_chunk_search 知识片段检索引擎
      • base_info 基本信息
      • image 图片管理
    • 前端开发规范

    • 用户表单字段一定要按表结构定义的长度进行控制,避免后台数据库超长的异常

    • 所有的列表界面显示顺序,如果没有特殊说明下,最后几列顺序:备注、创建人、创建时间、修改人、修改时间

    • 列表中如果某列文本太长,则截取100字显示,鼠标悬停位置是展示所有的内容

    • 所有的列表界面都需要增加查询按钮,如果没有特殊说明下,点击查询请求后端

    • 每个功能单独一个vue界面(.vue),不公用vue界面 ,如:用户管理 Users.vue、角色管理 Roles.vue、