Merge branch 'hotfix/issues_93'
Former-commit-id: e0e3b288f1b9a7c91010175226c515d0d64114d5 [formerly e0e3b288f1b9a7c91010175226c515d0d64114d5 [formerly e0e3b288f1b9a7c91010175226c515d0d64114d5 [formerly e0e3b288f1b9a7c91010175226c515d0d64114d5 [formerly 69e3ed311c49e86557bd40773722d13e3b802735 [formerly fe7faff1bf2088e370960573da416e8d42eb167b]]]]] Former-commit-id: 699c45c7d27475a853cbeb25bba64a1e6f80bc06 Former-commit-id: 62f618a6035b5829330dbd8172d3d189bf82b193 Former-commit-id: 7f2be87fabbffb76acb6ddd9bcb0f16f10fcdd87 [formerly 65829b7f9c3abf7ce594bb0c74e6b74e287c05c2] Former-commit-id: 490bf7eb5eef2d56e522f5a7ecf1266d6d2a7b9e Former-commit-id: cfd238e84389d4d2e707c3b446aab55fbd18552e Former-commit-id: 28fbe552eb4f42fc992b1b8d5e064120e25f3009 Former-commit-id: 24b8350f5cea3fccdf60b95798eda6a575738af9 Former-commit-id: 35b092dc781c2fcf3759a37ef630d53ca79614a6
This commit is contained in:
@@ -36,7 +36,7 @@ D2Admin 是一个开源的管理系统前端集成方案,为了方便开发者
|
||||
* 简约主题
|
||||
* 每个插件和组件都配有介绍文档
|
||||
* 图片资源 sketch 源文件( 可以在这个文件内重新生成所有图片资源 )
|
||||
* 登陆和注销
|
||||
* 登录和注销
|
||||
* 根据路由自动生成菜单
|
||||
* 可折叠侧边栏
|
||||
* 方便的菜单设置
|
||||
|
||||
@@ -26,7 +26,7 @@ D2Admin 是完全开源免费的管理系统集成方案,由 [FairyEver](https
|
||||
* 简约主题
|
||||
* 每个插件和组件都配有介绍文档
|
||||
* 图片资源 sketch 源文件( 可以在这个文件内重新生成所有图片资源 )
|
||||
* 登陆和注销
|
||||
* 登录和注销
|
||||
* 根据路由自动生成菜单
|
||||
* 可折叠侧边栏
|
||||
* 方便的菜单设置
|
||||
|
||||
@@ -78,7 +78,7 @@ D2Admin 是一个 **注重外观表现** 的管理系统 **PC端** 集成方案
|
||||
* 简约主题
|
||||
* 每个插件和组件都配有介绍文档
|
||||
* 图片资源 sketch 源文件( 可以在这个文件内重新生成所有图片资源 )
|
||||
* 登陆和注销
|
||||
* 登录和注销
|
||||
* 根据路由自动生成菜单
|
||||
* 可折叠侧边栏
|
||||
* 方便的菜单设置
|
||||
@@ -184,7 +184,7 @@ D2Admin 是一个 **注重外观表现** 的管理系统 **PC端** 集成方案
|
||||
* [ 新增 ] 自定义滚动条演示页面
|
||||
* [ 新增 ] 流星主题新增背景图片上层的半透明遮罩
|
||||
* [ 修复 ] 主题设置失效bug
|
||||
* [ 修复 ] router守卫验证登陆部分代码修改
|
||||
* [ 修复 ] router守卫验证登录部分代码修改
|
||||
* [ 修复 ] d2-container 组件改为同步注册(之前的异步注册会有 mounted 生命周期问题,即 slot 内的页面在 mounted 生命周期内拿不到 dom)
|
||||
* [ 修复 ] d2-container 组件重构 flex 布局
|
||||
* [ 新增 ] 404 page
|
||||
|
||||
@@ -1 +1 @@
|
||||
f5a74f62746a51eb1e6f38c31635814d45397a86
|
||||
c39dd2744731cdbb7ca0436209c2b12f1cc75c2b
|
||||
@@ -1 +1 @@
|
||||
e8468130f6ca9e774e1cfae2472b5b259b1e060c
|
||||
059d7ed38ba9943cfc2ca9278ea5fe99432e18de
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
[D2Admin](https://github.com/d2-projects/d2-admin) 是一个开源的管理系统前端集成方案,为了方便开发者快速进行管理系统开发而设计,提供了大量开箱即用的功能:
|
||||
|
||||
* 登陆和注销的页面、逻辑、路由拦截
|
||||
* 登录和注销的页面、逻辑、路由拦截
|
||||
* 主题系统
|
||||
* 基于 ElementUI 的优化外观
|
||||
* 表格 CRUD 封装 ([d2-crud](https://github.com/d2-projects/d2-crud))
|
||||
|
||||
@@ -59,8 +59,8 @@ sidebar: auto
|
||||
* [ 新增 ] d2-highlight 组件新增 format-html 参数
|
||||
* [ 新增 ] 自动获取用户浏览器 UA
|
||||
* [ 新增 ] playground 新增浏览器信息查看界面
|
||||
* [ 修改 ] 登陆注销逻辑移至 vuex
|
||||
* [ 新增 ] 登陆页面新增快速选择用户示例
|
||||
* [ 修改 ] 登录注销逻辑移至 vuex
|
||||
* [ 新增 ] 登录页面新增快速选择用户示例
|
||||
* [ 新增 ] 侧边栏切换控制辑移至 vuex
|
||||
* [ 新增 ] 判断手机浏览自动跳转至提示页面
|
||||
* [ 修改 ] 侧边栏弹出菜单尺寸缩小以容纳更多菜单
|
||||
@@ -143,7 +143,7 @@ sidebar: auto
|
||||
* [ 新增 ] 自定义滚动条演示页面
|
||||
* [ 新增 ] 流星主题新增背景图片上层的半透明遮罩
|
||||
* [ 修复 ] 主题设置失效bug
|
||||
* [ 修复 ] router守卫验证登陆部分代码修改
|
||||
* [ 修复 ] router守卫验证登录部分代码修改
|
||||
* [ 修复 ] d2-container 组件改为同步注册(之前的异步注册会有 mounted 生命周期问题,即 slot 内的页面在 mounted 生命周期内拿不到 dom)
|
||||
* [ 修复 ] d2-container 组件重构 flex 布局
|
||||
* [ 新增 ] 404 page
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
只保留了基础功能,例如
|
||||
|
||||
* 主题系统
|
||||
* 登陆和注销
|
||||
* 登录和注销
|
||||
* 数据持久化
|
||||
* 多标签页
|
||||
* 菜单和路由逻辑
|
||||
|
||||
@@ -33,7 +33,7 @@ D2Admin 是一个开源的管理系统前端集成方案
|
||||
* 首屏加载等待动画 避免首次加载白屏尴尬
|
||||
* 简约主题
|
||||
* 每个插件和组件都配有介绍文档
|
||||
* 登陆和注销
|
||||
* 登录和注销
|
||||
* 根据路由自动生成菜单
|
||||
* 可折叠侧边栏
|
||||
* 方便的菜单设置
|
||||
|
||||
@@ -117,7 +117,7 @@ npm run serve
|
||||
|
||||
以上每种方式效果都是一样的,只是为了照顾不同人的习惯起了三个名字,实质上都是运行了 `vue-cli-service serve --open`。
|
||||
|
||||
成功运行后会显示登陆界面:
|
||||
成功运行后会显示登录界面:
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ lodash.uniqueid 这个插件不需要添加到新的项目中,新项目中全
|
||||
|
||||
如果您修改了包含但不仅限于以下文件时,您需要注意将您以前的修改更新至新的项目:
|
||||
|
||||
* pages 目录下的首页和登陆页面
|
||||
* pages 目录下的首页和登录页面
|
||||
* 公用样式和主题
|
||||
* HeaderAside 布局组件
|
||||
* store
|
||||
@@ -89,7 +89,7 @@ lodash.uniqueid 这个插件不需要添加到新的项目中,新项目中全
|
||||
|
||||

|
||||
|
||||
这样在您需要修改某些功能时可以更快速地找到对应的代码位置。但是相应而来的是模块中的方法在调用时的方法都发生了变化,以登陆为例:
|
||||
这样在您需要修改某些功能时可以更快速地找到对应的代码位置。但是相应而来的是模块中的方法在调用时的方法都发生了变化,以登录为例:
|
||||
|
||||
旧版(示例):
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
99c8b3f602498f3dacc3b8503d8dfad58e47430b
|
||||
114aef8d02807a0d61dc8bdf937087eeed027e33
|
||||
@@ -1 +1 @@
|
||||
46da9d30067372ce67f67f637eb38caf6b45aeba
|
||||
d63b89fe44d535e03d67942af51925a8edae8dd8
|
||||
@@ -12,7 +12,7 @@ sidebar: auto
|
||||
|
||||
## 路由配置
|
||||
|
||||
路由注册和钩子设置文件为 `d2-admin/src/router/index.js`,此文件中将 `routes.js` 中导出的 routes 变量注册到路由,并且设置后续的路由拦截和登陆状态判断,多页面的新建页面事件触发也来自这里。该文件再导出注册了所有页面的路由实例,在 `main.js` 中注册到 vue 根实例。
|
||||
路由注册和钩子设置文件为 `d2-admin/src/router/index.js`,此文件中将 `routes.js` 中导出的 routes 变量注册到路由,并且设置后续的路由拦截和登录状态判断,多页面的新建页面事件触发也来自这里。该文件再导出注册了所有页面的路由实例,在 `main.js` 中注册到 vue 根实例。
|
||||
|
||||
## 路由缓存
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
dd3ce3a3e8aff371313dd37c30adafe042430be2
|
||||
6d4aa6cc303e3b98207e4c93036136d1f15ed3da
|
||||
@@ -61,7 +61,7 @@ new Vue({
|
||||
this.$store.commit('d2admin/releases/versionShow')
|
||||
// 检查最新版本
|
||||
this.$store.dispatch('d2admin/releases/checkUpdate')
|
||||
// 用户登陆后从数据库加载一系列的设置
|
||||
// 用户登录后从数据库加载一系列的设置
|
||||
this.$store.commit('d2admin/account/load')
|
||||
// 获取并记录用户 UA
|
||||
this.$store.commit('d2admin/ua/get')
|
||||
|
||||
@@ -27,7 +27,7 @@ Mock.mock('/api/login', 'post', ({url, type, body}) => {
|
||||
if (user) {
|
||||
return {
|
||||
code: 0,
|
||||
msg: '登陆成功',
|
||||
msg: '登录成功',
|
||||
data: {
|
||||
...user,
|
||||
token: 'd787syv8dys8cas80d9s0a0d8f79ads56f7s4d56f879a8as89fd980s7dg'
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</el-form>
|
||||
</el-card>
|
||||
</div>
|
||||
<!-- 快速登陆按钮 -->
|
||||
<!-- 快速登录按钮 -->
|
||||
<el-button type="info" class="button-help" @click="dialogVisible = true">
|
||||
快速选择用户(测试功能)
|
||||
</el-button>
|
||||
@@ -118,7 +118,7 @@ export default {
|
||||
'login'
|
||||
]),
|
||||
/**
|
||||
* @description 接收选择一个用户快速登陆的事件
|
||||
* @description 接收选择一个用户快速登录的事件
|
||||
* @param {Object} user 用户信息
|
||||
*/
|
||||
handleUserBtnClick (user) {
|
||||
@@ -129,11 +129,11 @@ export default {
|
||||
/**
|
||||
* @description 提交表单
|
||||
*/
|
||||
// 提交登陆信息
|
||||
// 提交登录信息
|
||||
submit () {
|
||||
this.$refs.loginForm.validate((valid) => {
|
||||
if (valid) {
|
||||
// 登陆
|
||||
// 登录
|
||||
// 注意 这里的演示没有传验证码
|
||||
// 具体需要传递的数据请自行修改代码
|
||||
this.login({
|
||||
@@ -142,7 +142,7 @@ export default {
|
||||
password: this.formLogin.password
|
||||
})
|
||||
} else {
|
||||
// 登陆表单校验失败
|
||||
// 登录表单校验失败
|
||||
this.$message.error('表单校验失败')
|
||||
}
|
||||
})
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
height: 140px;
|
||||
}
|
||||
}
|
||||
// 登陆表单
|
||||
// 登录表单
|
||||
.form-group {
|
||||
width: 300px;
|
||||
// 重新设置卡片阴影
|
||||
@@ -42,7 +42,7 @@
|
||||
padding-top: 70px;
|
||||
}
|
||||
}
|
||||
// 登陆按钮
|
||||
// 登录按钮
|
||||
.button-login {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@@ -22,18 +22,18 @@ const router = new VueRouter({
|
||||
router.beforeEach((to, from, next) => {
|
||||
// 关闭搜索面板
|
||||
store.commit('d2admin/search/set', false)
|
||||
// 验证当前路由所有的匹配中是否需要有登陆验证的
|
||||
// 验证当前路由所有的匹配中是否需要有登录验证的
|
||||
if (to.matched.some(r => r.meta.requiresAuth)) {
|
||||
// 这里暂时将cookie里是否存有token作为验证是否登陆的条件
|
||||
// 这里暂时将cookie里是否存有token作为验证是否登录的条件
|
||||
// 请根据自身业务需要修改
|
||||
const token = util.cookies.get('token')
|
||||
if (token && token !== 'undefined') {
|
||||
next()
|
||||
} else {
|
||||
// 将当前预计打开的页面完整地址临时存储 登陆后继续跳转
|
||||
// 这个 cookie(redirect) 会在登陆后自动删除
|
||||
// 将当前预计打开的页面完整地址临时存储 登录后继续跳转
|
||||
// 这个 cookie(redirect) 会在登录后自动删除
|
||||
util.cookies.set('redirect', to.fullPath)
|
||||
// 没有登陆的时候跳转到登陆界面
|
||||
// 没有登录的时候跳转到登录界面
|
||||
next({
|
||||
name: 'login'
|
||||
})
|
||||
|
||||
@@ -1 +1 @@
|
||||
67bc36bcd02e1d0746d44d23553d6849638f19d2
|
||||
8f7502120cb1936fb8f1ef83f9462574f64d9d4b
|
||||
@@ -5,12 +5,12 @@ export default {
|
||||
namespaced: true,
|
||||
actions: {
|
||||
/**
|
||||
* @description 登陆
|
||||
* @description 登录
|
||||
* @param {Object} param context
|
||||
* @param {Object} param vm {Object} vue 实例
|
||||
* @param {Object} param username {String} 用户账号
|
||||
* @param {Object} param password {String} 密码
|
||||
* @param {Object} param route {Object} 登陆成功后定向的路由对象
|
||||
* @param {Object} param route {Object} 登录成功后定向的路由对象
|
||||
*/
|
||||
login ({
|
||||
commit
|
||||
@@ -39,7 +39,7 @@ export default {
|
||||
commit('d2admin/user/set', {
|
||||
name: res.name
|
||||
}, { root: true })
|
||||
// 用户登陆后从持久化数据加载一系列的设置
|
||||
// 用户登录后从持久化数据加载一系列的设置
|
||||
commit('load')
|
||||
// 更新路由 尝试去获取 cookie 里保存的需要重定向的页面完整地址
|
||||
const path = util.cookies.get('redirect')
|
||||
@@ -49,13 +49,13 @@ export default {
|
||||
util.cookies.remove('redirect')
|
||||
})
|
||||
.catch(err => {
|
||||
console.group('登陆结果')
|
||||
console.group('登录结果')
|
||||
console.log('err: ', err)
|
||||
console.groupEnd()
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @description 注销用户并返回登陆页面
|
||||
* @description 注销用户并返回登录页面
|
||||
* @param {Object} param context
|
||||
* @param {Object} param vm {Object} vue 实例
|
||||
* @param {Object} param confirm {Boolean} 是否需要确认
|
||||
@@ -96,7 +96,7 @@ export default {
|
||||
},
|
||||
mutations: {
|
||||
/**
|
||||
* @description 用户登陆后从持久化数据加载一系列的设置
|
||||
* @description 用户登录后从持久化数据加载一系列的设置
|
||||
* @param {Object} state vuex state
|
||||
*/
|
||||
load (state) {
|
||||
|
||||
Reference in New Issue
Block a user