瀏覽代碼

登录相关

LaveyD 1 年之前
父節點
當前提交
2ee1452e51

+ 5 - 0
src/api/login.js

@@ -11,6 +11,11 @@ export function getAuthorizationInfo () {
   return http.post('/admin/auth/getCurrent')
 }
 
+// 修改密码
+export function updatePassword (params) {
+  return http.post('/admin/auth/updatePassword', { data: params })
+}
+
 // 退出
 export function logout () {
   return http.post('/admin/auth/logout')

+ 4 - 4
src/api/payChannel.js

@@ -2,7 +2,7 @@ import http from '@/utils/request'
 
 // 获取支付渠道
 export function getPayChannel ({ keyWords1 = '', type = '', pageNum = 1, pageSize = 10 }) {
-  return http.post('paychannel/list', {
+  return http.post('/admin/payChannel', {
     type,
     keyWords1,
     pageNum,
@@ -12,7 +12,7 @@ export function getPayChannel ({ keyWords1 = '', type = '', pageNum = 1, pageSiz
 
 // 创建
 export function addPayChannel ({ name = '', picture = '' }) {
-  return http.post('paychannel/add', {
+  return http.post('/admin/payChannel/add', {
     name,
     picture
   })
@@ -25,10 +25,10 @@ export function deletePayChannel (id) {
 
 // 更新
 export function updatePayChannel ({ name, status, id }) {
-  return http.post(`paychannel/update`, { name, status, id })
+  return http.post(`/admin/payChannel/update`, { name, status, id })
 }
 
 // 更新
 export function updatePayChannel2 (params) {
-  return http.post(`paychannel/update`, params)
+  return http.post(`/admin/payChannel/update`, params)
 }

+ 5 - 5
src/api/systemConfig.js

@@ -1,6 +1,6 @@
 import http from '@/utils/request'
 export function getSystemConfigList () {
-  return http.post('systemConfig/getSystemConfigList', {
+  return http.post('/admin/system-config/list', {
     pageNum: 1,
     pageSize: 1000
   })
@@ -9,7 +9,7 @@ export function updateSystemConfig (params) {
   return http.post('systemConfig/updateSystemConfig', params)
 }
 export function getPayChannel () {
-  return http.post('systemConfig/getSystemConfigList', {
+  return http.post('/admin/system-config/list', {
     pageNum: 1,
     pageSize: 1000
   }).then(res => {
@@ -19,7 +19,7 @@ export function getPayChannel () {
 }
 
 export function getCustomerType () {
-  return http.post('systemConfig/getSystemConfigList', {
+  return http.post('/admin/system-config/list', {
     pageNum: 1,
     pageSize: 1000
   }).then(res => {
@@ -29,7 +29,7 @@ export function getCustomerType () {
 }
 
 export function getTravelAgencyType () {
-  return http.post('systemConfig/getSystemConfigList', {
+  return http.post('/admin/system-config/list', {
     pageNum: 1,
     pageSize: 1000
   }).then(res => {
@@ -40,7 +40,7 @@ export function getTravelAgencyType () {
 
 export function getManualTicketCheckScenic () {
   /* 获取系统配置里的是否开启人工检票里选景点的功能 */
-  return http.post('systemConfig/getSystemConfigList', {
+  return http.post('/admin/system-config/list', {
     pageNum: 1,
     pageSize: 1000
   }).then(res => {

+ 1 - 1
src/api/ticketType.js

@@ -7,7 +7,7 @@ export function getTicketCategory () {
 
 // 获取门票列表
 export function getTicketTypeList (params) {
-  return http.post('tickettype/getTicketTypeList', params)
+  return http.post('/admin/ticketType', params)
 }
 
 // 获取门票详情

+ 15 - 16
src/components/Layout/components/Password.vue

@@ -66,11 +66,9 @@
 </template>
 
 <script>
-import { updateSelf, getSelf } from '@/api/systemSetting/account'
-import { Base64 } from 'js-base64'
+import { getSelf } from '@/api/systemSetting/account'
+import { updatePassword } from '@/api/login'
 import { encrypt } from '@/utils'
-const Store = require('electron-store')
-const localStore = new Store()
 
 export default {
   created () {
@@ -111,18 +109,19 @@ export default {
     submit () {
       this.$refs.form.validate(valid => {
         if (valid) {
-          const params = { ...this.form }
-          if (localStore.get('encryption')) {
-            params.oldPassword = Base64.encode('CTICKET' + params.oldPassword)
-            params.password = Base64.encode('CTICKET' + params.password)
-          }
-          if (localStore.get('encryption_aes')) {
-            params.oldPassword = encrypt(params.oldPassword)
-            params.password = encrypt(params.password)
-          }
-          updateSelf(params).then(res => {
-            this.$message.success('更新成功。')
-            this.handleClose()
+          const { oldPassword, password } = this.form
+          const params = {}
+          params.oldPassword = encrypt(oldPassword)
+          params.newPassword = encrypt(password)
+
+          updatePassword(params).then(res => {
+            if (res.code === '200') {
+              this.$message.success('更新成功。')
+              this.handleClose()
+              return
+            }
+
+            this.$message.error(res.msg || '更新失败')
           })
         }
       })

+ 10 - 4
src/permission.js

@@ -1,6 +1,7 @@
 import router from './router'
 import store from './store'
 import { Message } from 'element-ui'
+import { getToken } from '@/utils/auth'
 import NProgress from 'nprogress' // progress bar
 import 'nprogress/nprogress.css'// progress bar style
 // import { getToken } from '@/utils/auth' // getToken from cookie
@@ -8,17 +9,22 @@ import 'nprogress/nprogress.css'// progress bar style
 NProgress.configure({ showSpinner: false })// NProgress Configuration
 
 const whiteList = ['/login', '/config', '/', '/editor', '/posTool']// no redirect whitelist
-const Store = require('electron-store')
-const localStore = new Store()
 
 router.beforeEach((to, from, next) => {
   NProgress.start() // start progress bar
-  if (localStore.get('token')) {
+  if (getToken()) {
     if (to.path === '/login') {
       next({ path: '/index/dashboard' })
       NProgress.done()
     } else {
-      next()
+      if (!store.getters.addRouters.length) {
+        store.dispatch('GenerateRoutes', {}).then(() => { // 根据roles权限生成可访问的路由表
+          router.addRoutes(store.getters.addRouters) // 动态添加可访问路由表
+          next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
+        })
+      } else {
+        next()
+      }
       // if (store.getters.menuList.length === 0) {
       //   store.dispatch('GetInfo').then(res => {
       //     debugger

+ 20 - 21
src/store/modules/permission.js

@@ -61,27 +61,26 @@ const permission = {
   actions: {
     GenerateRoutes ({ commit }, data) {
       return new Promise(resolve => {
-        const extraInfo = data
-        let accessedRouters
-        debugger
-        if (extraInfo.loginName === 'admin') {
-          accessedRouters = asyncRouterMap
-        } else {
-          accessedRouters = filterAsyncRouter(asyncRouterMap, extraInfo.menuList, extraInfo.permissionList)
-          if (extraInfo.scenicName === '仙门山') { // 仙门山 菜单文案定制
-            const agencyMenu = accessedRouters.find(v => v.name === '旅行社管理')
-            if (agencyMenu) { // 配有旅行社管理的一级菜单
-              agencyMenu.children.forEach(v => {
-                if (v.name === 'guideQuery') {
-                  v.meta.title = '业务管理'
-                }
-                if (v.name === 'guideStatistic') {
-                  v.meta.title = '业务售票统计'
-                }
-              })
-            }
-          }
-        }
+        // const extraInfo = data
+        let accessedRouters = asyncRouterMap
+        // if (extraInfo.loginName === 'admin') {
+        //   accessedRouters = asyncRouterMap
+        // } else {
+        //   accessedRouters = filterAsyncRouter(asyncRouterMap, extraInfo.menuList, extraInfo.permissionList)
+        //   if (extraInfo.scenicName === '仙门山') { // 仙门山 菜单文案定制
+        //     const agencyMenu = accessedRouters.find(v => v.name === '旅行社管理')
+        //     if (agencyMenu) { // 配有旅行社管理的一级菜单
+        //       agencyMenu.children.forEach(v => {
+        //         if (v.name === 'guideQuery') {
+        //           v.meta.title = '业务管理'
+        //         }
+        //         if (v.name === 'guideStatistic') {
+        //           v.meta.title = '业务售票统计'
+        //         }
+        //       })
+        //     }
+        //   }
+        // }
         commit('SET_ROUTERS', accessedRouters)
         resolve()
       })

+ 2 - 1
src/store/modules/user.js

@@ -1,6 +1,6 @@
 import { login, getAuthorizationInfo, logout } from '@/api/login'
 import { getAccountList } from '@/api/systemSetting/account'
-import { setToken } from '@/utils/auth'
+import { setToken, removeToken } from '@/utils/auth'
 
 const log = require('electron-log')
 const Store = require('electron-store')
@@ -115,6 +115,7 @@ const user = {
       localStore.delete('token')
       return new Promise((resolve, reject) => {
         logout().then(() => {
+          removeToken()
           resolve()
         }).catch(error => {
           reject(error)

+ 7 - 45
src/utils/request.js

@@ -45,53 +45,15 @@ service.interceptors.response.use(response => {
   /**
   * code为非20000是抛错 可结合自己业务进行修改
   */
-  let code = response.data.resCode
-  if (code) {
-    if (code !== 200) {
-      Message({
-        message: response.data.errInfo === 'sms auth code timeout' ? '短信验证码超时' : response.data.errInfo,
-        type: 'error'
-      })
+  console.log(response)
+  const { code, msg } = response.data
 
-      log.error(JSON.stringify(response.data))
-
-      switch (code) {
-        case 401:
-          store.dispatch('LogOut').then(() => {
-            router.push('/login')
-            location.reload()// In order to re-instantiate the vue-router object to avoid bugs
-          })
-          break
-        default:
-          return Promise.reject(new Error('error'))
-      }
-    } else {
-      return response.data
-    }
+  if (code === '999999' && msg.includes('请登录后再访问') && getToken()) {
+    store.dispatch('LogOut').then(() => {
+      router.push('/login')
+    })
   } else {
-    if (typeof response.data === 'object') {
-      return response.data
-    } else {
-      let errInfo
-      if (response.data.trim() === 'access denied') {
-        errInfo = '您无权访问,请登录'
-        store.dispatch('LogOut').then(() => {
-          router.push('/login')
-        })
-      } else {
-        errInfo = response.data
-      }
-
-      Message({
-        message: errInfo,
-        type: 'error'
-      })
-
-      log.error(JSON.stringify(response))
-      log.error(JSON.stringify(response.data))
-
-      return Promise.reject(new Error(response.data))
-    }
+    return response.data
   }
 }, error => {
   let message = ''