123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- /**
- * Created by uu
- * http配置
- */
- import Request from '@/utils/luch-request/index.js'
- import constant from '@/utils/constant.js'
- // token在Header中的key
- const JWT_HEADER_KEY = 'authtoken'
- const JWT_REFRESH_TOKEN_KEY = 'refreshtoken'
- const REDIRECT = 'redirect'
- const service = new Request({
- baseURL: constant.host()
- })
- /**
- * 请求发送之前需要做的处理
- */
- service.interceptors.request.use((config) => { // 可使用async await 做异步操作
- // config.header.authtoken = uni.getStorageSync(JWT_HEADER_KEY) || ''
- config.header.Authorization = 'Bearer '+uni.getStorageSync(JWT_HEADER_KEY) || ''
- // config.header.refreshtoken = uni.getStorageSync(JWT_REFRESH_TOKEN_KEY) || ''
- return config
- }, config => { // 可使用async await 做异步操作
- return Promise.reject(config)
- })
- /* 响应结束需要做的处理*/
- service.interceptors.response.use((response) => {
- response.data.code = Number(response.data.code)
- if(response.data.code === 4001) {
- uni.removeStorageSync(JWT_HEADER_KEY)
- uni.removeStorageSync(REDIRECT)
- uni.redirectTo({
- url: '/pages/login/index'
- })
- }
- // 检查是否携带有新的token
- const newToken = response.header[JWT_HEADER_KEY]
- if (newToken) {
- // 将该token设置到vuex以及本地存储中
- uni.setStorageSync(JWT_HEADER_KEY, newToken)
- }
- // 截取JsonResult提示
- if(response.data.msg && response.data.msg.indexOf(": ") > 0) {
- response.data.msg = response.data.msg.split(": ")[1]
- }
- return response.data
- }, (response) => { /* 对响应错误做点什么 (statusCode !== 200)*/
- return Promise.reject(response)
- })
- const dibootApi = {
- /**
- * post请求
- * @param {Object} url
- * @param {Object} data
- */
- post(url, data) {
- return service.post(url, data, {
- header: {
- "content-type": "application/json;charset=utf-8"
- }
- })
- },
- /**
- * get请求
- * @param {Object} url
- * @param {Object} params
- */
- get(url, params) {
- return service.get(url, {
- params,
- header: {
- "content-type": "application/json;charset=utf-8"
- }
- })
- },
- /**
- * put请求
- * @param {Object} url
- * @param {Object} data
- */
- put(url, data) {
- return service.put(url, data, {
- header: {
- "content-type": "application/json;charset=utf-8"
- }
- })
- },
- /**
- * delete请求
- * @param {Object} url
- * @param {Object} data
- */
- delete(url, data) {
- return service.delete(url, data, {
- header: {
- "content-type": "application/json;charset=utf-8"
- }
- })
- },
- /**
- * 提交form表单
- * @param {Object} url
- * @param {Object} data
- */
- postForm(url, data) {
- return service.post(url, data, {
- header: {
- 'Content-Type': 'application/x-www-form-urlencoded'
- }
- })
- }
- }
- export {
- dibootApi,
- service
- }
|