"lint-staged": { "src/**/*.{js,vue}": [ "eslint --fix", "git add" ] }, // "husky": { // "hooks": { // "pre-commit": "lint-staged" // } // }, # 前端项目文档 ## 📝 重要通知 1. 科室权限走OA 2. 所有需求需要同步给信息科一份 3. 患者姓名:## ,医务科已追踪到非专科疾病需要相关专科协助会诊及治疗,必须发起会诊邀请请在24小时之内完成会诊申请,申请邀请科室#科室名称# ## 🚀 技术栈> git push -u origin master | 类别 | 技术选型 | |------|----------| | 核心框架 | Vue 2.x | | 状态管理 | Vuex | | 路由管理 | Vue Router | | UI 组件库 | Element UI | | HTTP 请求 | Axios | | 构建工具 | Vue CLI | | 代码规范 | ESLint + Prettier | | 打包工具 | Webpack | ## ⚙️ 环境要求 - Node.js 14.x - npm 6.x ## 🛠 运行指南 ```bash # 克隆仓库 git clone http://117.72.74.250:3000/wbmd-web/xx-doctor-web-html.git # 安装依赖 npm install # 本地开发 npm run dev # 生产构建 npm run build ``` ## 📂 项目结构 src/ ├── api/ # 接口请求 ├── assets/ # 静态资源 ├── components/ # 全局组件 ├── directive/ # Vue指令 ├── filters/ # 格式化工具 ├── icons/ # 图标工具 ├── layout/ # 页面布局 ├── router/ # 路由配置 ├── store/ # Vuex 状态管理 ├── styles/ # 公共样式 ├── utils/ # 工具函数 ├── vendor/ # 公共导出方法 ├── views/ # 页面视图 ├── App.vue # 根组件 ├── main.js # 入口文件 └── permission.js # 权限管理 # 前端权限系统设计 ## 一、权限系统概述 系统采用基于角色的访问控制(RBAC)方案,通过动态路由和路由守卫实现权限管理。包含以下核心模块: - 静态路由配置 - 动态路由加载 - 角色权限验证 - 路由级权限控制 - 接口级权限控制(需后端配合) ## 二、角色与权限分配 ### 角色定义 | 角色 | 对应人员 | 权限范围 | |-------------|--------------------------|-----------------------| | admin | 系统管理员 | 全模块访问权限 | | doctor | 普通医生 | 患者管理/数据看板等 | | lulu | 特殊角色(路露) | 统计看板部分模块 | | colleague | 同事角色(测试1) | 数据仓库基础访问 | | doc | 医务人员(时丽/郑婷婷等)| 患者管理核心功能 | ### 权限分配表 ```javascript // 权限分配逻辑(permission.js) const OS_REALNAME = localStorage.getItem('OS_REALNAME') let role if (['赵宇晴','李明','王宏宇','蒋炜','高坤鹏','admin'].includes(OS_REALNAME)) { role = ['admin'] } else if (['时丽','郑婷婷','陈蒙蒙','刘丽雪','刘柳柳','鲍雨','葛慧敏'].includes(OS_REALNAME)) { role = ['doc'] } else if (OS_REALNAME === '路露') { role = ['lulu'] } else if (OS_REALNAME === '测试1') { role = ['colleague'] } else { role = ['doctor'] }