diff --git a/package.json b/package.json index 64cbe56..3531c6a 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,8 @@ "vue": "^2.7.8", "vue-demi": "^0.14.0", "vue-router": "^3.5.4", - "vuex": "^3.6.2" + "vuex": "^3.6.2", + "jsencrypt": "^3.0.3" }, "devDependencies": { "@babel/core": "^7.18.10", @@ -44,6 +45,7 @@ "@vue/cli-plugin-router": "~5.0.8", "@vue/cli-plugin-vuex": "~5.0.8", "@vue/cli-service": "~5.0.8", + "@vue/cli-shared-utils": "^5.0.8", "ajv": "^7.2.4", "babel-eslint": "^10.1.0", "babel-plugin-import": "^1.13.5", diff --git a/src/api/index.js b/src/api/index.js index 6147745..de0364d 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,7 +1,7 @@ const api = { - Login: '/user/login', + Login: '/auth/login/govH5/loginByPassword', UserInfo: '/user/userinfo', - UserName: '/user/name' + Customerlist: '/epmetuser/customerstaff/customerlist' } export default api diff --git a/src/api/user.js b/src/api/user.js index 7a0ebff..f07e406 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -17,16 +17,14 @@ export function getUserInfo(data) { url: api.UserInfo, method: 'post', data, - hideloading: true }) } // 用户名称 get 方法 -export function getUserName(params) { +export function getCustomerlist(data) { return request({ - url: api.UserName, - method: 'get', - params, - hideloading: true + url: api.Customerlist, + method: 'post', + data, }) } diff --git a/src/assets/css/common.less b/src/assets/css/common.less index 92853f5..9b906bd 100644 --- a/src/assets/css/common.less +++ b/src/assets/css/common.less @@ -1,15 +1,3 @@ - -html, -body #app { - color: @black; - background-color: @background-color; -} - -#app { - font-size: 16px; - background-size: 100% auto; -} - .flex { display: flex; } @@ -66,5 +54,10 @@ body #app { margin-top: 12px; } - +.font-size13{ + font-size: 13px; +} +.text-blue{ + color:#3e92ff; +} diff --git a/src/main.js b/src/main.js index 92f038e..a7d00c1 100644 --- a/src/main.js +++ b/src/main.js @@ -20,6 +20,8 @@ Vue.config.productionTip = false // 日期格式化插件 import dayjs from 'dayjs' +import http from "@/utils/request"; +Vue.prototype.$http = http; Vue.prototype.$dayjs = dayjs // 提示框封装 // import { Tips } from '@/utils' diff --git a/src/router/router.config.js b/src/router/router.config.js index 34b3015..540e984 100644 --- a/src/router/router.config.js +++ b/src/router/router.config.js @@ -7,5 +7,10 @@ export const constantRouterMap = [ path: '/', component: () => import('@/views/login'), meta: { title: '登录', keepAlive: false } + }, + { + path: '/mine', + component: () => import('@/views/mine'), + meta: { title: '我的', keepAlive: false } } ] diff --git a/src/utils/index.js b/src/utils/index.js index cd14bd5..7f96288 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -8,6 +8,7 @@ * @param {string} cFormat * @returns {string} */ +import JSEncrypt from "jsencrypt"; //引入加密 export function parseTime(time, cFormat) { if (arguments.length === 0) { return null @@ -108,3 +109,14 @@ export function param2Obj(url) { '"}' ) } + +// 加密 +export function encryptedData(key, data) { + console.log(key, data); + // 新建JSEncrypt对象 + let encryptor = new JSEncrypt(); + // 设置公钥 + encryptor.setPublicKey(key); + // 加密数据 + return encryptor.encrypt(data); +} diff --git a/src/utils/request.js b/src/utils/request.js index 6788f91..a6c75bb 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -13,16 +13,11 @@ const service = axios.create({ // request拦截器 request interceptor service.interceptors.request.use( config => { - // 不传递默认开启loading - if (!config.hideloading) { - // loading - Toast.loading({ - forbidClick: true - }) - } - if (store.getters.token) { - config.headers['X-Token'] = '' + config.headers['source'] = process.env.NODE_ENV !== 'production' ? 'dev' : 'prod' + if (localStorage.getItem('token')) { + config.headers['Token'] = localStorage.getItem('token') } + config.baseURL = config.baseURL + '/' return config }, error => { @@ -37,22 +32,34 @@ service.interceptors.response.use( Toast.clear() const res = response.data if (res.status && res.status !== 200) { - // 登录超时,重新登录 - if (res.status === 401) { - store.dispatch('FedLogOut').then(() => { - location.reload() - }) - } return Promise.reject(res || 'error') } else { - return Promise.resolve(res) + if (res.code === 0) { + return Promise.resolve(res) + } else { + let loginCode = [10007, 401, 10001, 10005, 10006] + if (loginCode.includes(res.code)) { + localStorage.removeItem('token') + router.replace('/login') + } + // Tips.error(res.msg) + return Promise.reject(res || 'error') + } } }, error => { Toast.clear() - console.log('err' + error) // for debug + if (error.response.status === 401) { + Dialog({ message: '登录过期,请重新登录' }).then(() => { + localStorage.removeItem('token') + router.replace( + '/login' + ) + }) + } else { + // Tips.error(error.response.data.message) + } return Promise.reject(error) } ) - export default service diff --git a/src/views/login/index.vue b/src/views/login/index.vue index d25101f..78bffa9 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -8,27 +8,70 @@ - 登录 + 登录
下次自动登录 - 忘记密码? + 忘记密码?
-