西藏巴青项目

综合牧业知识库前端技术方案.md 3.3KB

综合牧业知识库 — 前端技术方案

依据:综合牧业知识库管理功能需求.md综合牧业知识库技术方案.md;交互对齐 breedingStandards/feeding/index.vue(知识库同步/移出,无发布下架)。


1. 页面与路由

说明
Vue 路径 ruoyi-ui/src/views/techService/knowledge/index.vue
组件名 TechServiceKnowledge
菜单配置 组件路径:techService/knowledge/index(「牧业养殖科技服务」目录下,手工配置)
权限前缀 techService:knowledge:list\|query\|add\|edit\|remove\|syncKb\|removeKb

2. API 模块

说明
文件 ruoyi-ui/src/api/techService/knowledge.js
Base /techService/knowledge
方法 HTTP 说明
listKnowledge GET /list,Query:pageNumpageSize(默认 20)、keywordknowledgeTopickbSyncStatus
getKnowledge GET /{id}
addKnowledge POST /
updateKnowledge PUT /
delKnowledge DELETE /{ids}
syncKbKnowledge POST /syncKb/{id}
removeKbKnowledge POST /removeKb/{id}

3. 页面结构

  1. 筛选区:关键词(标题/简介 OR 模糊)、知识主题五选一、入库状态;搜索、重置、新增。
  2. 列表区:标题、主题、简介、知识文件链接、入库状态、创建时间、操作列。
  3. 新增/编辑弹窗:标题、主题、简介(选填 ≤50)、知识内容单文件上传。
  4. 查看弹窗:只读;未入库且有权时可进入编辑。

发布/下架按钮;生命周期仅 未入库 ↔ 已入库


4. 业务规则(前端)

规则 实现
入库状态 kbSyncStatus0 未入库 / 1 已入库;kbSyncStatusText
可编辑/删除/同步 kbSyncStatus === 0
可移出 kbSyncStatus === 1
知识主题 15:饲养管理、疫病管理、设备选型、牧场设计、政策解读
标题 1~20 字
简介 选填,≤50 字
知识内容 服务端白名单pdf/md/doc/docx/xls/xlsx/pptx,≤30MB;/common/uploadcontentFileUrlcontentFilePathcontentFileName说明:页面 contentFileExts 本次未同步,保存以服务端校验为准

5. 国际化

说明
语言包 techService.knowledge + techService.commonsyncKbremoveKbcolKb 等)
Mixin techServiceLocaleMixintsNs = 'knowledge'kbSyncStatusTextknowledgeTopicText

6. 文件清单

路径 说明
src/views/techService/knowledge/index.vue 主页面
src/api/techService/knowledge.js API
src/mixins/techServiceLocaleMixin.js 入库状态、主题文案
src/lang/zh/techService.js 汉语
src/lang/bo/techService.js 藏语

7. 联调说明

  • 后端已实现 BizLivestockKnowledgeController,路径与权限见技术方案 §3。
  • 同步/移出失败时后端返回 同步知识库失败:… / 移出知识库失败:…,前端由若依全局拦截展示。
  • 已入库记录编辑/删除由后端拒绝,列表按钮通过 canEdit 等前端方法按 kbSyncStatus 控制显隐。