# MaxModel
**Repository Path**: Maxfengyan/MaxModel
## Basic Information
- **Project Name**: MaxModel
- **Description**: 自己封装的前端框架(vue)
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-11-19
- **Last Updated**: 2020-12-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 项目名称:boss-business
### 项目描述:广电融合用户播控平台-业务中心系统
### 开发者:马丰彦
### 描述:
- boss-business系统为boss系统的业务中心系统,包含IPTV上节目产品的订购、续订、审核、服务的管理、订单处理、计费码策略管理、支付渠道的设置、优惠策略等功能。
- boss-business每次切换menu是都会用从中心登录系统传入的token主动调取权限接口,来做到动态获取权限加载,做到权限无缝切换修改,无需重新登录。
- 系统左侧菜单三角处为各个系统衔接的入口,可以通过点击进入到不同系统(url携带token参数,处理与登录中心相同。)
- 系统内核心为产品管理,包含了产品的新增、审核、下发等,分为线上和线下以及五种审核状态tab呈现,产品细分为四个部分:产品基本信息、产品资费策略、产品服务、产品优惠。
- 业务中心有平台的概念,所有涉及到所属平台下拉框搜索的都配有平台校验权限,如果没有多平台权限,所属平台下拉框会隐藏掉,搜索条件固定单一平台权限。
- 左侧菜单为动态路由加载,接口传入几个平台权限,菜单就会根据权限显示(包括每个菜单下的按钮)。
### 技术栈:vue/vue-router/vuex/element-ui/axios/crypto-js/mockjs等
###
核心逻辑处理:
- 通过登录中心传入的url参数,获取到了token值
- token值存入cookie以及store中
- 调取`获取用户`接口,得到用户的所有权限
- 在store中处理好接收到的参数,把分平台拆分处理循环存入路由数组中,并把获取到的菜单权限+按钮权限存入store中便于menu显示以及按钮指令接收。
- 在路由守卫中调用addRouter(),实现路由动态加载。在页面中调用指令v-power实现按钮权限(感觉实现的逻辑很复杂,为什么一句话就说完了,sad)
### 注意:除正式线上环境外,所有其他演示环境皆为mock数据(重写了axios拦截请求)。为方便处理,所有mock数据没有做到根据请求参数来返回结果,*故所有总平台与分平台的用户管控以及统计数据皆相同,特此说明。*
#### 项目结构
```
|— build // 构建相关
|— public // 不打包文件
|— dist // 打包文件
|— mock // mock数据
|— src // 源代码
| |— api // 所有http请求(每个模块对应每个请求模块)
| |— assets // 静态图片文件
| |— components // 全局公用组件
| | |— Breadcrumb // 封装面包屑导航组件
| | |— Hamburger // 封装侧边栏状态组件
| | |— SvgIcon // 封装icon图标库组件
| |— directive // 按钮权限自定义指令
| |— icons // svg图标库/iconfont图标库
| |— router // 全局路由管理
| |— store // vuex缓存数据存放
| | |— modules // vuex模块
| | | |— app.js // 侧边栏状态存储
| | | |— permission.js // 权限处理js
| | | |— setting.js // 过滤路由表
| | | |— user.js // 获取用户状态:登录、登出、前端登出、获取用户信息
| | |— getters.js // vuex getters
| | |— index.js // vuex 入口页
| |— styles // css样式文件
| | |— element-ui.scss // 修改原生element-ui框架样式
| | |— index.scss // 默认样式统一
| | |— mixin.scss // 修改侧边栏滚动条
| | |— sidebar.scss // 侧边栏样式
| | |— transition.scss // 页面跳转过渡动画效果
| | |— variables.scss // 变量样式,一键换肤
| |— utils // 全局公用项目
| | |— auth.js // 获取用户token写缓存
| | |— downLoad.js // excel下载封装
| | |— loading.js // 封装axios请求全局遮罩
| | |— index.js // 工具类
| | |— request.js // 封装axios请求
| | |— secret.js // 封装aes+base64加密
| | |— urldecode.js // 封装url解码方法
| | |— urlencode.js // 封装url转码方法
| | |— validate.js // 正则验证
| |— views // 所有页面
| | |— dashboard // 进入主页
| | |— layout // 布局页面
| | | |— components // 布局页面组件
| | | | |— Sidebar // 侧边栏
| | | | | |— index.vue // 侧边栏主体
| | | | | |— Item.vue // 侧边栏图标实现
| | | | | |— SidebarItem.vue // 侧边栏嵌套实现
| | | | |— index.js // 侧边栏入口文件
| | | | |— APPMain // 主体部分
| | | | |— Navbar // 头部导航栏
| | | | |— mixin // 侧边栏收缩实现
| | | | |— layout // 页面布局
| | |— buy // 订购管理
| | | |— billlist // 订单列表
| | | |— buylist // 订购列表
| | | |— unsubscribelist // 退订列表
| | |— check // 产品审核
| | |— discount // 优惠策略
| | | |— components // 优惠策略组件
| | | | |— realEdit.vue // 优惠策略编辑组件
| | | | |— watch.vue // 优惠策略查看组件
| | | | |— editAdd.vue // 优惠策略新增组件
| | | |— index.vue // 优惠策略组件首页
| | |— expenses // 支付渠道
| | | |— components // 支付渠道组件
| | | | |— edit.vue // 支付渠道编辑组件
| | | | |— add.vue // 支付渠道新增组件
| | | | |— watch.vue // 支付渠道查看组件
| | | | |— selectPay.vue // 计费码管理组件
| | | |— index.vue // 支付渠道首页
| | |— payChannel // 计费策略
| | | |— components // 计费策略组件
| | | | |— add.vue // 计费策略新增组件
| | | | |— edit.vue // 计费策略编辑组件
| | | | |— watchInfo.vue // 计费策略查看组件
| | | |— index.vue // 计费策略首页
| | |— product // 产品管理模块
| | | |— components // 产品管理模块
| | | | |— *.vue // 太多了,说不过来zzzzzzz
| | | |— index.vue // 产品管理模块
| | |— service // 服务管理
| | | |— components // 服务管理
| | | | |— watchInfo.vue // 服务管理查看详情
| | | | |— hasConnect.vue // 服务管理关联(已隐藏*)
| | | |— index.vue // 服务管理首页
| | |— 404.vue // 404错误页面
| |— App.vue // 入口挂载页面
| |— main.js // 总入口文件
| |— permission.js // 封装权限管理+重定向页面
|— static // 不打包资源
|— .babelrc // babel-loader配置
|— .editorconfig // 编辑器配置
|— .eslintrc.js // eslint配置
|— .gitignore // .git忽略项
|— .travis.yml // 自动化CI配置
|— index.html // html模板
|— package.json // npm包管理
|— README.md // 项目详细介绍
```