接口平台设计方案 - xinqilela/- GitHub Wiki

1.命名规范 目录名、方法名、变量名:小驼峰命名 类名、组件名:大驼峰命名 2.目录结构 ├─ build/ # Webpack 配置目录 ├─ dist/ # build 生成的生产环境下的项目 ├─ mock/ # 本地数据存放的位置 ├─ src/ # 源码目录 │ ├─ assets/ # 放置需要经由 Webpack 处理的静态文件(img、css等) │ ├─ components/ # 各个组件 │ │ ├─ header/ │ │ │ ├─ Header.jsx # 网站icon+顶部导航 │ │ ├─ nav/ │ │ │ ├─ TopNav.jsx # 顶部导航 │ │ ├─ commons/ │ │ │ ├─ InputItem.jsx # Input组件 │ │ │ ├─ SelectItem.jsx # Select组件 │ │ │ ├─ ContentTitle.jsx # SearchArea+新建按钮 │ │ │ ├─ SearchArea.jsx # 搜索区域组件 │ │ │ ├─ Crumbs.jsx # 面包屑组件 │ │ │ ├─ Editor.jsx # 富文本编辑器组件 │ │ ├─ contents/ │ │ │ ├─ interfaceManager/ │ │ │ │ ├─ commons/ │ │ │ │ │ ├─ UpdateInterface.jsx # 新建(或编辑)接口 │ │ │ │ │ ├─ UpdateDataQueryVariable.jsx # 新建(或编辑)接口->增加(或编辑)变量 │ │ │ │ │ ├─ UpdateFileDownLoadVariable.jsx # 新建(或编辑)接口->FileDownLoad增加(或编辑)变量 │ │ │ │ ├─ InterfaceList.jsx # 接口列表 │ │ │ │ ├─ AddInterface.jsx # 新建接口 [引用UpdateInterface.jsx] │ │ │ │ ├─ AddDataQueryVariable.jsx # 新建接口->增加变量 [引用UpdateDataQueryVariable.jsx] │ │ │ │ ├─ AddFileDownLoadVariable.jsx # 新建接口->FileDownLoad增加变量
[引用UpdateFileDownLoadVariable.jsx]
│ │ │ │ ├─ InterfaceDocument.jsx # 接口文档 │ │ │ │ ├─ EditInterface.jsx # 编辑接口 [引用UpdateInterface.jsx] │ │ │ │ ├─ EditDataQueryVariable.jsx # 编辑接口->编辑变量 [引用UpdateDataQueryVariable.jsx] │ │ │ ├─ userManager/ │ │ │ │ ├─ commons/ │ │ │ │ │ ├─ UpdateUser.jsx # 新建(或编辑)用户 │ │ │ │ ├─ UserList.jsx # 用户列表 │ │ │ │ ├─ AddUser.jsx # 添加用户 [引用UpdateUser.jsx] │ │ │ │ ├─ EditUser.jsx # 编辑用户 [引用UpdateUser.jsx] │ ├─ redux/ # Redux │ │ ├─ actions/ # ACTION │ │ │ ├─ interfaceManager/ │ │ │ │ ├─ interfaceList.js │ │ │ │ ├─ addInterface.js │ │ │ │ ├─ editInterface.js │ │ │ │ ├─ addDataQueryVariable.js │ │ │ │ ├─ editDataQueryVariable.js │ │ │ │ ├─ addFileDownLoadVariable.js │ │ │ │ ├─ interfaceDocument.js │ │ │ ├─ userManager/ │ │ │ │ ├─ userList.js │ │ │ │ ├─ addUser.js │ │ │ │ ├─ editUser.js │ │ ├─ reducers/ # REDUCER │ │ │ ├─ index.js │ │ │ ├─ interfaceManager/ │ │ │ │ ├─ interfaceList/ │ │ │ │ │ ├─ TableColumns.js │ │ │ │ │ ├─ Result.js │ │ │ │ │ ├─ Param.js │ │ │ │ │ ├─ interfaceList.js │ │ │ │ ├─ updateInterface/ │ │ │ │ │ ├─ Result.js │ │ │ │ │ ├─ Param.js │ │ │ │ │ ├─ updateInterface.js │ │ │ │ ├─ updateDataQueryVariable/ │ │ │ │ │ ├─ Result.js │ │ │ │ │ ├─ Param.js │ │ │ │ │ ├─ updateDataQueryVariable.js │ │ │ │ ├─ updateFileDownLoadVariable/ │ │ │ │ │ ├─ Result.js │ │ │ │ │ ├─ Param.js │ │ │ │ │ ├─ updateFileDownLoadVariable.js │ │ │ │ ├─ interfaceDocument/ │ │ │ │ │ ├─ Result.js │ │ │ │ │ ├─ Param.js │ │ │ │ │ ├─ updateFileDownLoadVariable.js │ │ │ ├─ userManager/ │ │ │ │ ├─ userList/ │ │ │ │ │ ├─ TableColumns.js │ │ │ │ │ ├─ Result.js │ │ │ │ │ ├─ Param.js │ │ │ │ │ ├─ userList.js │ │ │ │ ├─ updateUser/ │ │ │ │ │ ├─ Result.js │ │ │ │ │ ├─ Param.js │ │ │ │ │ ├─ updateUser.js │ │ ├─ store/ # STORE │ ├── routes/ # 路由(ROUTE) │ ├── services/ # 服务(SERVICE,用于统一管理 XHR 请求) │ │ ├─ xhr/ │ │ │ ├─ interfaceManager/ │ │ │ │ ├─ InterfaceListService.js │ │ │ │ ├─ UpdateInterfaceService.js │ │ │ │ ├─ UpdateDataQueryVariableService.js │ │ │ │ ├─ UpdateFileDownLoadVariableService.js │ │ │ │ ├─ InterfaceDocumentService.js │ │ │ ├─ userManager/ │ │ │ │ ├─ UserListService.js │ │ │ │ ├─ UpdateUserService.js │ ├── utils/ # 工具库(UTIL) │ ├── app.js # 启动文件 │ ├── index.html # 静态基页 ├── static/ # 放置无需经由 Webpack 处理的静态文件 ├── .babelrc # Babel 转码配置 ├── .eslintignore # (配置)ESLint 检查中需忽略的文件(夹) ├── .eslintrc # ESLint 配置 ├── package.json # npm依赖包配置 3.路由设计 /interfaceManager/interfaceList InterfaceList.jsx /interfaceManager/addInterface AddInterface.jsx /interfaceManager/addInterface/addDataQueryVariable AddDataQueryVariable.jsx /interfaceManager/addInterface/addFileDownLoadVariable AddDataQueryVariable.jsx /interfaceManager/addInterface/interfaceDocument InterfaceDocument.jsx /interfaceManager/editInterface/:id EditInterface.jsx /interfaceManager/editInterface/editDataQueryVariable/:id EditDataQueryVariable.jsx /userManager/userList UserList.jsx /userManager/addUser AddUser.jsx /userManager/editUser/:id EditUser.jsx 4.公共组件 InputItem.jsx Input组件 SelectItem.jsx Select组件 TableTitle.jsx SearchArea+新建按钮(或者面包屑导航) SearchArea.jsx 搜索区域组件 Crumbs.jsx 面包屑组件 5.公共方法 getCrumbsName() 取得当前页面的面包屑导航名称 6.组件划分 见ppt 7.富文本编辑器 react-lz-editor(https://github.com/leejaen/react-lz-editor) 8.时间预估: 项目整体搭建:0.5 公共组件:0.5 InterfaceList:1 AddInterface,EditInterface: 1.5 AddDataQueryVariable,EditDataQueryVariable:1.5 AddFileDownLoadVariable,EditFileDownLoadVariable:0.5 InterfaceDocument:1 UserList,AddUser,AddUser:1.5 showInterfaceDocument:1