diff --git a/src/api/login.js b/src/api/login.js index fe6856f..d67f3b2 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -41,19 +41,42 @@ export function getInfo() { // 退出方法 export function logout() { return request({ - url: '/logout', + url: '/enterprise/v1/account/logout', method: 'post' }) } // 获取验证码 -export function getCodeImg() { +export function getCodeNum(data) { return request({ - url: '/captchaImage', + url: '/enterprise/v1/sms/captcha', headers: { isToken: false }, - method: 'get', + method: 'post', + data, timeout: 20000 }) +} +// 验证码验证 +export function codeValid(data) { + return request({ + url: '/enterprise/v1/sms/captcha/validate', + headers: { + isToken: false + }, + method: 'post', + data, + }) +} +// 忘记密码/重置密码 +export function resetPassword(data) { + return request({ + url: '/enterprise/v1/account/reset/password', + headers: { + isToken: false + }, + method: 'post', + data, + }) } \ No newline at end of file diff --git a/src/assets/images/weixin.png b/src/assets/images/weixin.png new file mode 100644 index 0000000..6332c16 Binary files /dev/null and b/src/assets/images/weixin.png differ diff --git a/src/components/webGetCode/index.vue b/src/components/webGetCode/index.vue index 3491f2f..e7a9e73 100644 --- a/src/components/webGetCode/index.vue +++ b/src/components/webGetCode/index.vue @@ -14,11 +14,23 @@ diff --git a/src/components/webHead/index.vue b/src/components/webHead/index.vue index b2eaa6a..681a9dc 100644 --- a/src/components/webHead/index.vue +++ b/src/components/webHead/index.vue @@ -9,7 +9,7 @@ - @@ -100,8 +123,13 @@ + + \ No newline at end of file diff --git a/src/permission.js b/src/permission.js index bb7fe76..aceecb9 100644 --- a/src/permission.js +++ b/src/permission.js @@ -14,7 +14,6 @@ router.beforeEach((to, from, next) => { NProgress.start() // 跳过登录验证 next(); - return; if (getToken()) { to.meta.title && store.dispatch('settings/setTitle', to.meta.title) /* has token*/ @@ -27,15 +26,16 @@ router.beforeEach((to, from, next) => { if (store.getters.roles.length === 0) { // 判断当前用户是否已拉取完user_info信息 store.dispatch('GetInfo').then(() => { - store.dispatch('GenerateRoutes').then(accessRoutes => { - // 根据roles权限生成可访问的路由表 - accessRoutes.forEach(route => { - if (!isHttp(route.path)) { - router.addRoute(route) // 动态添加可访问路由表 - } - }) - next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 - }) + next({ ...to, replace: true }) + // store.dispatch('GenerateRoutes').then(accessRoutes => { + // // 根据roles权限生成可访问的路由表 + // accessRoutes.forEach(route => { + // if (!isHttp(route.path)) { + // router.addRoute(route) // 动态添加可访问路由表 + // } + // }) + // next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 + // }) }).catch(err => { store.dispatch('LogOut').then(() => { ElMessage.error(err) diff --git a/src/router/index.js b/src/router/index.js index cc21b16..b6b6975 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -194,12 +194,12 @@ export const constantRoutes = [ { path: '/three', component: Layout, - redirect: '/three/expert', + redirect: '/three/research', children: [ { - path: 'expert', + path: 'research', component: () => import('@/views/admin/three/index'), - name: 'Expert', + name: 'Research', meta: { title: '首页', icon: 'dashboard', affix: true } } ] diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 8a493a6..cd9ba13 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,4 +1,5 @@ import { login, logout, getInfo } from '@/api/login' +import { settled } from '@/api/identity' import { getToken, setToken, removeToken } from '@/utils/auth' import defAva from '@/assets/images/profile.jpg' @@ -50,9 +51,9 @@ const user = { // 获取用户信息 GetInfo({ commit, state }) { return new Promise((resolve, reject) => { - getInfo().then(res => { - const user = res.user - const avatar = user.avatar == "" ? defAva : import.meta.env.VITE_APP_BASE_API + user.avatar; + settled().then(res => { + res.data['avatar'] = '' + const avatar = res.data.avatar == "" ? defAva : import.meta.env.VITE_APP_BASE_API + res.data.avatar; if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 commit('SET_ROLES', res.roles) @@ -60,7 +61,7 @@ const user = { } else { commit('SET_ROLES', ['ROLE_DEFAULT']) } - commit('SET_NAME', user.userName) + commit('SET_NAME', res.data.userName) commit('SET_AVATAR', avatar) resolve(res) }).catch(error => { diff --git a/src/utils/request.js b/src/utils/request.js index 8c44e5f..0f49563 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -77,6 +77,20 @@ service.interceptors.response.use(res => { error => { console.log('err' + error) let { message } = error; + if (message.includes("401")) { + ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { + confirmButtonText: '重新登录', + cancelButtonText: '取消', + type: 'warning' + } + ).then(() => { + store.dispatch('LogOut').then(() => { + location.href = '/login'; + }) + }).catch(() => {}); + return Promise.reject('无效的会话,或者会话已过期,请重新登录。') + } + if (message == "Network Error") { message = "后端接口连接异常"; } diff --git a/src/views/identity/components/ExpertForm/index.vue b/src/views/identity/components/ExpertForm/index.vue index 4ea211a..d4b9a3f 100644 --- a/src/views/identity/components/ExpertForm/index.vue +++ b/src/views/identity/components/ExpertForm/index.vue @@ -163,7 +163,7 @@ - + diff --git a/src/views/login.vue b/src/views/login.vue index fab7a64..e9b5214 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -3,11 +3,11 @@