You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

262 lines
12 KiB

6 months ago
# CRMEB Admin
## 开发规范
统一使用ES6 语法
方法注释
/*
* th => 表头
* data => 数据
* fileName => 文件名
* fileType => 文件类型
* sheetName => sheet页名
*/
export default function toExcel ({ th, data, fileName, fileType, sheetName })
行注释 //
### 命名
页面目录 文件夹命名格式骆驼式命名法,例如:用户列表 userList
例如:商品模块
store 商品
├─ store 商品管理
├─index.vue 首页
├─ creatStore 新建商品
├─ index.vue
├─ sort 商品分类
├─ index.vue
├─storeAttr 商品规格
├─ index.vue
├─storeComment 商品评论
├─ index.vue
页面命名、组建、文件夹 命名格式小驼峰命名法,例如:用户列表 userList
类名函数命名 大驼峰式 例如:addUser
变量命名 小驼峰式 例如:user 或者 userInfo
常量 采用全大些下划线命名 例如:VUE_APP_API_URl
### 文件管理规范
views 页面模块必须件文件夹区分
api 接口一个模块一个文件
组建 一个组建一个文件夹
plugins 插件一个插件一个文件夹
vuex 路由状态管理,一个模块在modules 中建一个文件夹
router 一个模块一个模块在modules 中建一个文件夹
style 样式尽量采用iView自带组建,common.less 系统通用样式不要轻易动
自定义通用样式 style.less,每次添加必须加注释,页面独立样式在在页面内写,后缀less 格式
组建样式 styles 中添加文件夹 composents 对应components 目录新建样式文件
utils 自定义工具js 独立命名,一般不用新建文件夹
## 模块命名
~~~
├─ login 登录
├─ dashboard 首页
├─ store 商品管理
├─ order 系统订单管理
├─ distribution 分销
├─ user 用户管理
├─ content 内容管理
├─ appSetting 各个应用模块功能管理公众号、小程序、支付宝、百度小程序、今日头条小程序
├─ marketing 营销管理 优惠劵 积分 秒杀
├─ sms 设置 短信设置
├─ systemSetting 设置 管理员权限 系统设置 物流设置
├─ maintain 维护 配置分类 组合数据 表单配置
├─ error-page 错误页
~~~
## 目录结构
主要目录结构及说明:
~~~
├── public # 静态资源
│ ├── favicon.ico # favicon图标
│ └── index.html # html 模板
├── src # 源代码
│ ├── api # 所有请求
│ │ └──authInformation.js # 有关版权的接口
│ │ └──user.js # 有关登录/用户的接口
│ │ └──categoryApi.js # 有关配置的接口
│ │ └──dashboard.js # 有关主页的接口
│ │ └──logistics.js # 有关城市数据、物流配置、运费模板的接口
│ │ └──marketing.js # 有关优惠券、视频号的接口
│ │ └──merchant.js # 有关商户的接口
│ │ └──order.js # 有关订单的接口
│ │ └──role.js # 有关权限的接口
│ │ └──roleApi.js # 有关菜单的接口
│ │ └──product.js # 有关商品的接口
│ │ └──systemadmin.js # 有关管理员的接口
│ │ └──systemFormConfig.js # 有关表单配置的接口
│ │ └──systemSetting.js # 有关上传文件的接口
│ │ └──user.js # 有关用户的接口
│ ├── assets # 图片、svg 等静态资源
│ ├── components # 公共组件
│ │ └──base # 公共组件
│ │ └──Breadcrumb # 头部标题标签
│ │ └──echartsNew # 统计
│ │ └──Category # 分类
│ │ └──FormGenerator # 表单配置
│ │ └──couponList # 优惠劵列表
│ │ └──detailUser # 用户详情
│ │ └──goodsList # 商品列表
│ │ └──Hamburger # 导航收缩组件
│ │ └──HeaderSearch # 导航搜索组件
│ │ └──linkaddress # 页面设计弹窗组件
│ │ └──orderDetail # 订单详情组件
│ │ └──RightPanel # 右侧设置按钮,设置导航相关
│ │ └──Screenfull # 全屏
│ │ └──SvgIcon # svg图标
│ │ └──Tinymce # 富文本编辑器
│ │ └──ThemePicker # 右侧设置按钮,设置组题颜色
│ │ └──UploadExcel # 下载Excel
│ │ └──uploadFrom # 自定义表单上传组件
│ │ └──userList # 用户列表
│ │ └──TopNav # 顶部一级导航
│ │ └──TimeSelect # 时间段选择
│ ├── layouts # 导航布局
│ │ ├──index # 主页面
│ │ ├──components # 导航组件
│ │ └──copyright # 脚部版权信息
│ │ └──Settings # 右边小按钮,设置导航等
│ │ └──Sidebar # 侧边导航
│ │ └──TagsView # tab标签页导航
│ │ └──Navbar # 头部导航
│ │ └──AppMain # 导航路由
│ │ └──index.js # 组件引用
│ │ └──mixins # 自适应大小
│ ├── libs # 公共js方法
│ │ └──settingMer # 配置请求地址
│ │ └──modal-icon.js # 图标库插件
│ │ └──modal-parserFrom.js # 自定义表单弹窗插件
│ │ └──modal-sure.js # 确定弹窗插件
│ │ └──timeOptions.js # 当前时间日期选择器特有的选项
│ │ └──yearOptions.js # 当前年份选择器特有的选项
│ ├── views # 所有页面
│ │ └──coupon # 优惠券
│ │ └──login # 登录
│ │ └──index # 登录
│ │ └──dashboard # 首页
│ │ └──product # 商品
│ │ └──creatProduct # 添加商品
│ │ └──attr # 商品规格
│ │ └──category # 商品分类
│ │ └──comment # 商品评论
│ │ └──components # 商品评论
│ │ └──storeEdit # 免审编辑库存
│ │ └──guarantee # 保障服务组合
│ │ └──order # 订单管理
│ │ └──index # 订单列表
│ │ └──orderSend # 订单发货
│ │ └──orderVideoSend # 视频号订单发货
│ │ └──refund # 退款单
│ │ └──systemSetting # 设置
│ │ └──administratorAuthority # 管理权限
│ │ └──adminList # 管理员列表
│ │ └──identityManager# 身份管理
│ │ └──permissionRules# 权限规则
│ │ └──deliverGoods # 运费模板
│ │ └──freightSet # 运费模板
│ │ └──modifyStoreInfo # 商户设置
│ │ └──systemExport # 数据导出
│ │ └──user # 用户
│ │ └──list # 用户管理
│ │ └──maintain # 维护
│ │ └──logistics # 地址管理
│ │ └──picture # 素材管理
│ │ └──user # 个人中心
│ │ └──sensitiveList # 敏感日志操作
│ │ └──financial # 财务
│ │ └──capitalFlow # 资金流水
│ │ └──closingRecord # 结算记录
│ │ └──statement # 账单管理
│ │ └──videoChannel # 视频号管理
│ │ └──draftList # 待审核列表
│ │ └──productList # 过审商品
│ │ └──error-page # 错误页
│ │ └──404 # 错误页404
│ │ └──403 # 错误页403
│ ├── filters # 过滤器
│ ├── router # 路由配置
│ │ └──modules # 页面路由模块
│ │ └──user.js # 有关用户
│ │ └──appSetting.js # 有关应用
│ │ └──coupon.js # 有关优惠券
│ │ └──order.js # 有关订单
│ │ └──finance.js # 有关财务
│ │ └──product.js # 有关商品
│ │ └──maintain.js # 有关维护
│ │ └──operation.js # 有关设置
│ │ └──videoChannel.js # 有关视频号
│ │ └──index.js # 路由的汇总
│ ├── store # Vuex 状态管理
│ ├── utils # 全局公用方法
│ │ └──auth.js # Cookies管理
│ │ └──request.js # 请求封装
│ │ └──settingMer.js # 请求地址配置
│ │ └──ZBKJIutil.js # 公共函数工具
│ │ └──validate.js # 公共教校验工具
│ │ └──parsing.js # 通用js方法封装工具
│ │ └──constants.js # 全局静态变量工具
│ │ └──clipboard.js # 粘贴复制工具
│ │ └──permission.js # 权限判断
│ ├── styles # 样式管理
│ ├── permission.js # 路由拦截
│ ├── main.js # 入口文件 加载组件 初始化等
│ └── App.vue # 入口页面
├── tests # 测试
├── .env.xxx # 环境变量配置
├── .eslintrc.js # eslint 配置项
├── .babelrc # babel-loader 配置
├── .travis.yml # 自动化CI配置
├── vue.config.js # vue-cli 配置
├── postcss.config.js # postcss 配置
└── package.json # package.json
~~~
## 开发
```bash
# 克隆项目
git clone https://gitee.com/ZhongBangKeJi/crmeb_java/
# 进入项目目录
cd ##
# 安装依赖
npm install
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org
# 启动服务
npm run dev
```
浏览器访问 http://localhost:9527
## 发布
```bash
# 构建测试环境
npm run build:stage
# 构建生产环境
npm run build:prod
```
## 其它
```bash
# 预览发布环境效果
npm run preview
# 预览发布环境效果 + 静态资源分析
npm run preview -- --report
# 代码格式检查
npm run lint
# 代码格式检查并自动修复
npm run lint -- --fix
```