From cc97a2578b7f4077d67dbd42ac44b8a48dc1ea6f Mon Sep 17 00:00:00 2001 From: Eddie <102564160@qq.com> Date: Mon, 21 Dec 2020 14:43:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E6=B3=A8=E5=86=8C=EF=BC=8C?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3=EF=BC=8C=20=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E6=8E=A5=E5=8F=A3=E8=AF=B7=E6=B1=82=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E5=92=8C=E6=AD=A3=E7=A1=AE=E4=BF=A1=E6=81=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 5 ++ package.json | 1 + src/utils/api/login.js | 8 +- src/utils/public.js | 49 +++++++++++ src/utils/request.js | 50 +++++++---- src/views/Login.vue | 85 +++++++++++++----- src/views/Register.vue | 193 ++++++++++++++++++++++++++++++----------- vue.config.js | 10 +-- 8 files changed, 307 insertions(+), 94 deletions(-) create mode 100644 src/utils/public.js 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 @@