jh-front-end-example-2/frontend-specification.md

3.3 KiB
Raw Blame History

前端项目目录结构

├─api // 对后端接口的封装,要客观反映后端接口(无论目录结构还是命名)
│ ├─Disk // 分类子文件夹
│ │ └─_BaseAxios.js // Base Axios
│ ├─Rbac // 分类子文件夹
│ │ └─_BaseAxios.js // Base Axios
│ ├─_AxiosInterceptors.js // Axios拦截器
│ └─_ResponseHelper.js // 针对服务器返回值的处理方法
├─assets // Vue静态资源
├─biz // 处于api和views之间的一层用于处理业务要做到api层只读写数据views层基本只做界面展示而且views层不直接调用api层api层设计决定权在于后端开发views层设计决定权在于产品经理及UIbiz层设计决定权在于前端开发方法名一般以add/del/edit/update/get/find开头
│ └─Disk // 分类子文件夹(尽量跟views的结构有对应关系但如果是多个页面共用的biz可以单独归类)
├─components // Vue组件
│ ├─Disk // 分类子文件夹(按大功能模块划分尽量跟views的结构有对应关系)
│ │ └─Recycle // 分类子子文件夹(按小功能模块划分尽量跟views的结构有对应关系)
│ ├─Home // 分类子文件夹(按大功能模块划分尽量跟views的结构有对应关系)
│ └─_Common // 常用Vue组件在此进行归类可在其它Vue组件或Vue页面使用
│ ├─Drag // 分类子文件夹
│ └─Tree // 分类子文件夹
├─entity // 对象实体类由前端定义不能照搬后端的定义其new出来的对象会在biz层和views层之间流转
│ ├─Disk // 分类子文件夹
│ └─Rbac // 分类子文件夹
├─router
│ ├─_index.js // 路由入口文件
│ ├─disk.js // 路由子分类
│ └─user-role-auth.js // 路由子分类
├─scss
│ ├─HomeScreen // scss分类子文件夹
│ ├─_globals.scss // 全局scss除element ui的重设样式均在本文件编写或引用在App.vue中引用本文件
│ ├─_variables.scss // 常用的scss常量原则上颜色都必须定义在此
│ └─element-ui-reset.scss 对element ui的全局级别重设以适应UI设计在App.vue中引用本文件 ├─storage // 对localStorage或sessionStorage的操作的封装
│ └─login-info.js // 针对登录的storage封装
├─store // Vuex
├─svgicon // svg图标存放于此 │ └─homescreen
├─sys
│ ├─SysCode.js // 信息码与后端返回值的code对应
│ └─SysError.js // 错误类
├─util // 常用工具类的封装(先看有没有合适用的,没有再自行实现)
├─views // Vue页面
│ ├─HomeSubViews // 业务类子页面
│ │ ├─Disk // 子页面分类
│ │ └─Rbac // 子页面分类
│ └─SystemViews // 管理类子页面
├─App.vue // 全局样式记在此文件的style标签 ├─const.js // 全局常量记在此 ├─main.js

编码格式

  • 习惯性用“;”作为语句结尾
  • 单行注释文字前面加一个空格,如:// 注释
  • Vue 组件的 props 必须写明注释