apes-Authon-Web 前端剥离方案

从 saas-web 单体前端中提取纯净账权页面,构建独立的 apes-Authon-Web 前端仓库,与后端 apes-Authon 配合使用。

源仓库:gitea-upload/web-master  |  目标仓库:apes-Authon-Web  |  技术栈:Vue 2.7 + Element UI + Vuex + Vue Router

24
账权页面保留
102
业务页面删除
8
框架文件修改

Step 1: 保留清单(账权相关)

1.1 页面 (views/) — 保留 24 个

目录文件功能
login/index.vue登录页(短信+密码+SSO)
register/index.vue注册页
user/list.vue, editProfile.vue, info.vue, pwd.vue, sso.vue用户管理(列表/编辑/信息/改密/SSO配置)
permission/menuList.vue, permissionList.vue, roleList.vue权限管理(菜单/权限项/角色)
customer/index.vue, detail.vue, editCustomer.vue, employee.vue, user.vue, myCustomer.vue, packages.vue, packageOverview.vue, quotaChangeLog.vue, uiConfig.vue, accessToken.vue, extendApplyList.vue客户管理(12个页面)
app/appList.vue, appDetail.vue应用管理
404.vue404 错误页
home/index.vue首页看板(保留作为默认着陆页)

1.2 API 文件 (api/) — 保留 8 个

文件行数功能
user.js99登录/注册/用户管理/获取当前用户
permissionApi.js104菜单/权限/角色 CRUD
menuApi.js79动态路由构建(从后端菜单数据生成 Vue 路由)
appApi.js31应用管理 CRUD
customerApi.js100客户管理 CRUD + 用户关联
customerPackageApi.js56客户套餐管理
accessTokenApi.js33AccessToken 管理
organizationApi.js43组织架构管理

1.3 框架文件 — 全量保留

类别文件说明
入口main.js, App.vue需修改(移除业务引用)
路由router/index.js需大幅修改(移除业务路由)
布局layout/index.vue, Sidebar/, TagsView/, TopHeader.vue全量保留
Storestore/index.js, getters.js, modules/user.js, settings.js, tagsView.jsuser.js 需修改(移除 huobanToken)
Utilsrequest.js, index.js, validate.js, get-page-title.js, msgUtil.js, public.js, constUtil.js, envUtil.js, autoRefresh.js, uiSizeUtil.jsrequest.js 需修改(移除 huoban 逻辑)
组件breadcrumb.vue, tagView.vue, pageBox.vue, iframeView.vue全量保留
样式styles/index.scss, variables.scss, mixin.scss, sidebar.scss, transition.scss, element-ui.scss保留(删除 tracing-screen.scss)
构建配置package.json, vue.config.js, babel.config.js, postcss.config.js, jsconfig.json需修改(移除业务依赖)
静态资源public/index.html, public/static/保留
图片资源assets/404_images/, assets/images/, assets/base.scss保留

Step 2: 删除清单(业务相关)

2.1 页面删除 — 102 个 .vue 文件

目录文件数业务域
fei/22智慧农业大屏/可视化
trace/21溯源管理
weight/13自助过磅系统
system/9系统配置(含业务配置项)
ai/7AI 助手/LLM
huoban/7伙伴云表单配置
tracing/6溯源追踪/路线
irrigation/2灌溉管理
其他15base, brain, certify, payment, park, waterFertilizer, fertigationDevice, extLink, preference, agreement, certifyAgreement, web, tracking

2.2 API 删除 — 30+ 个 .js 文件

文件业务域
aiSkill.js, llmAgentApi.js, llmAgentSkillApi.js, llmAgentToolApi.js, llmConversationApi.js, llmModelApi.js, llmToolApi.js, llmToolLogApi.jsAI/LLM
fei/智慧农业
trace/, traceabilityApi.js, trackingConfigApi.js溯源
weightApi.js过磅
huobanTableApi.js伙伴云
farmPlan.js, inspection.js, inputMaterial.js, irrigation.js, park.js, fertigationDevice.js, cameraInfo.js农业/设备
quotaApi.js, packagePlanApi.js配额/方案
n8nApi.jsN8N 工作流
extLink.js, userPreference.js外链/偏好

2.3 Utils 删除

文件原因
ezvizConfig.js, ezvizStream.js萤石云视频流(业务专用)
tracingDisplay.js, tracingPermission.js, tracingQualPermission.js, tracingTestCertificate.js溯源专用工具
huobanAuth.js伙伴云鉴权(业务专用)
markdown.js, wangEditConfig.js富文本编辑器配置(业务页面用)
tracingDisplay.js溯源展示

2.4 组件删除

目录/文件原因
components/ai/AI 组件
components/brain/大屏组件
components/tracing/溯源组件
components/MarkdownContent.vue富文本组件

2.5 样式删除

文件原因
styles/tracing-screen.scss溯源大屏样式

2.6 Config 删除

文件原因
config/ezviz.js, config/ezviz.example.js萤石云配置
config/tracingOpenKey.js溯源 OpenKey 配置

Step 3: 文件修改清单

3.1 router/index.js 大幅修改

移除所有业务路由,只保留账权路由:

操作路由说明
保留/login, /register登录/注册
保留/user/* (list, pwd, info, sso, editProfile)用户管理
保留/base/* (app/list, app/detail, permission/*)应用+权限管理
保留/customer/* (index, detail, user, my, employee, edit)客户管理
保留/error/404, / (redirect to login)404 + 默认重定向
删除/certify, /certifyAgreement, /agreement认证协议页
删除/huoban/*伙伴云配置
删除/weight/*过磅系统
删除/tracing/*溯源管理
删除/fei_screen, /screen/fei, /brain, /tracing_screen大屏入口
删除/common (空 children)无意义路由

3.2 main.js 修改

3.3 utils/request.js 修改

3.4 store/modules/user.js 修改

3.5 store/getters.js 修改

当前 getters 引用了不存在的 module(app, permission, errorLog, common),需要清理:

3.6 vue.config.js 修改

3.7 package.json 修改

移除业务专用依赖:

操作依赖原因
删除@amap/amap-jsapi-loader高德地图
删除@wangeditor/editor, editor-for-vue富文本编辑器
删除echarts图表库
删除html2canvas, jspdf截图/PDF
删除monaco-editor, monaco-editor-webpack-plugin, vue-monaco代码编辑器
删除marked, highlight.jsMarkdown
删除qrcodejs2二维码
删除fix, them, to无效/可疑依赖
保留axios, core-js, element-ui, vue, vue-router, vuex, nprogress, path-to-regexp, normalize.css, animate.css, svg-sprite-loader框架必需

3.8 public/index.html 修改

Step 4: 执行步骤

  1. 创建仓库:在 Gitea 创建 apes-Authon-Web 仓库
  2. 复制源码cp -r gitea-upload/web-master apes-Authon-Web
  3. 删除业务页面:删除 20 个业务 views 目录
  4. 删除业务 API:删除 30+ 个业务 api 文件
  5. 删除业务组件:删除 ai/brain/tracing/MarkdownContent
  6. 删除业务 Utils:删除 ezviz/tracing/huoban/markdown/wangEdit 文件
  7. 删除业务 Config:删除 ezviz/tracingOpenKey 文件
  8. 删除业务样式:删除 tracing-screen.scss
  9. 修改 router/index.js:移除业务路由
  10. 修改 main.js:移除 echarts/userPreference 引用
  11. 修改 utils/request.js:移除 huoban 逻辑
  12. 修改 store/user.js:移除 huobanToken
  13. 修改 store/getters.js:清理不存在的 module 引用
  14. 修改 vue.config.js:移除 monaco/echarts/n8n 配置
  15. 修改 package.json:移除业务依赖,更新名称
  16. 修改 public/index.html:更新标题
  17. 编写 README.md:项目说明
  18. 验证 buildnpm install && npm run build:prod
  19. Git 初始化 + 推送:提交到 Gitea

Step 5: 风险与注意事项

⚠️ 依赖链风险:部分账权页面可能引用了业务组件或工具函数,需在删除后逐一排查编译错误。

已知潜在问题

与后端 apes-Authon 的对应关系

后端 Controller前端页面API 文件
UserControllerviews/user/user.js
PermissionControllerviews/permission/permissionApi.js
CustomerControllerviews/customer/customerApi.js
AppControllerviews/app/appApi.js
MenuController(菜单接口)menuApi.js 处理动态路由menuApi.js
AccessTokenControllerviews/customer/accessToken.vueaccessTokenApi.js
SSOControllerviews/user/sso.vue, views/login/index.vueuser.js (ssoLogin)
CustomerPackageControllerviews/customer/packages.vuecustomerPackageApi.js

总结

24
保留页面
102
删除页面
8
修改文件

剥离后 apes-Authon-Web 将是一个纯净的账权管理前端,包含:登录注册、用户管理、客户管理、权限管理(菜单/角色/权限项)、应用管理、AccessToken 管理、SSO 配置。与后端 apes-Authon 一一对应。

方案生成时间:2026-08-09 | 源码版本:saas-web v1.0.0 | 框架:Vue 2.7 + Element UI 2.15