diff --git a/package-lock.json b/package-lock.json index 1c78cc3..04e0bc4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8612,6 +8612,11 @@ } } }, + "js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/js-cookie/download/js-cookie-2.2.1.tgz", + "integrity": "sha1-aeEG3F1YBolFYpAqpbrsN0Tpsrg=" + }, "js-message": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", diff --git a/package.json b/package.json index 21f41ff..abef484 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "feather-icons": "^4.28.0", "highlight.js": "^10.1.1", "js-beautify": "^1.11.0", + "js-cookie": "^2.2.1", "litepicker": "^1.5.7", "lodash": "^4.17.20", "postcss-loader": "3", diff --git a/src/utils/api/login.js b/src/utils/api/login.js index ed65c91..99019e6 100644 --- a/src/utils/api/login.js +++ b/src/utils/api/login.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function signUp (data){ +export function apost (url,data){ return request({ - url: '123',//自己的接口地址 + url: url,//自己的接口地址 method: 'post',//请求方法 data //需要携带的参数 }) -} \ No newline at end of file +} + + diff --git a/src/utils/public.js b/src/utils/public.js new file mode 100644 index 0000000..4203965 --- /dev/null +++ b/src/utils/public.js @@ -0,0 +1,49 @@ +/** + * 函数防抖 + * @param fn + * @param delay + * @returns {Function} + * @constructor + */ +export const Debounce = (fn, t) => { + let delay = t || 500; + let timer; + return function() { + let args = arguments; + if (timer) { + clearTimeout(timer); + } + timer = setTimeout(() => { + timer = null; + fn.apply(this, args); + }, delay); + } +}; + + +/** + 1. 函数节流 + 2. @param fn + 3. @param interval + 4. @returns {Function} + 5. @constructor + */ +export const Throttle = (fn, t) => { + let last; + let timer; + let interval = t || 500; + return function() { + let args = arguments; + let now = +new Date(); + if (last && now - last < interval) { + clearTimeout(timer); + timer = setTimeout(() => { + last = now; + fn.apply(this, args); + }, interval); + } else { + last = now; + fn.apply(this, args); + } + } +} \ No newline at end of file diff --git a/src/utils/request.js b/src/utils/request.js index b2ad690..66ae4b7 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,41 +1,61 @@ - + import axios from 'axios' - - +import { Message } from 'element-ui' + + const token = false // create an axios instance const service = axios.create({ - baseURL: '/api', + timeout: 80000 // request timeout }) - + // request interceptor service.interceptors.request.use( - + + config => { // Do something before request is sent if (token) { // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改 - config.headers.Authorization = token - + config.headers.Authorization = token } return config }, + response=>{ + console.log(response,'response') + }, error => { // Do something with request error // console.log("出错啦",error) // for debug - Promise.reject(error) + } ) - + // response interceptor -service.interceptors.response.use( - response => response, +service.interceptors.response.use(response => { + + + if (response.status != 200) { + + Message.error(`${response.statusText} :${response.status}`); + } + + + return response.data +}, error => { - console.log('err' + error) // for debug - return Promise.reject(error) + + + if(error.response.status !== 200) { + Message.error(error.response.data.msg) + } + + + + return Promise.reject(error.response) } ) - + export default service \ No newline at end of file diff --git a/src/views/Login.vue b/src/views/Login.vue index 6d0a694..7404454 100644 --- a/src/views/Login.vue +++ b/src/views/Login.vue @@ -23,8 +23,8 @@