vue-element-admin-fake(哈哈)
有人会说这样不就是没有前后端分离了么。其实我也觉得,但是需求确实存在,我们就需要解决,有好的方法,要给我说下哟,笔芯
这个项目模仿大佬来的,为什么模仿的话,其实不是我没事儿做,主要是因为权限的问题,很多开源项目的权限都是基于什么 [admin,editor] 来的,还有种是后端控制前端路由,这样现在很多开源项目都不是这种方案,包括 antd pro v4, v5是可以得了,但是毕竟是React的,所以我来弄个vue版本的以后好用。
因为许多原因,你懂的哈哈,项目技术栈不是最新的,外网用不了啊,连github我都是拖拽上去的。。。
技术栈
- ElementUI(2.5.4)
- Vue(2.5.17)
- Vuex(3.0.1)
- VueRouter(3.0.1)
- Axios(0.19.0)
- lodash
- moment
- js-cookie
- nprogress
- vue-i18n
登陆角色
admin, editor, 任意输入
其实这里多少角色不是很重要,主要是看接口返回的可访问路由字段
// 类似这种,['canAdmin', 'canEditor', 'canEditorA', 'canEditorB', 'table']
export const Login = ({
username,
password
}) => {
return new Promise((resolve) => {
let role = ''
if (username === 'admin') { // 模拟admin
role = JSON.stringify(['canAdmin', 'canEditor', 'canEditorA', 'canEditorB', 'table']);
} else if (username === 'editor') { // 模拟editor
role = JSON.stringify(['canAdmin', 'canEditor', 'canEditorA']);
} else { // 如果后台没有返回,路由就只会渲染不需要任何权限的路由
role = JSON.stringify([])
}
setTimeout(() => {
resolve({
userInfo: {
username
},
token: 'fdaksfahsudfoajfjasd;flk',
role: role
})
}, 1000)
})
}
完成功能
- 登陆
- 多语言
- 角色切换
- 可搜索的路由
- 网络请求(感觉没必要写,每个公司,大不同)