77 lines
2.1 KiB
JavaScript
77 lines
2.1 KiB
JavaScript
import Vue from 'vue'
|
||
import store from './store'
|
||
import App from './App'
|
||
|
||
Vue.config.productionTip = false
|
||
|
||
App.mpType = 'app'
|
||
|
||
Vue.prototype.path = 'https://xyb.wlkjwl.cn/'
|
||
// Vue.prototype.path = 'http://192.168.0.156:8091'
|
||
Vue.prototype.$store = store;
|
||
//异步请求
|
||
Vue.prototype.request = function(options){
|
||
let userInfo = uni.getStorageSync('userInfo') || '';
|
||
let that = this
|
||
,token = userInfo.token
|
||
,success = options.success
|
||
,error = options.error;
|
||
|
||
//指定、绑定options中的参数
|
||
options.data = options.data || {};
|
||
options.headers = options.headers || {};
|
||
|
||
// options.headers["content-type"] = 'application/x-www-form-urlencoded'
|
||
//有token 自动传递参数
|
||
if(token){
|
||
let sendData = typeof options.data === 'string'
|
||
? JSON.parse(options.data)
|
||
: options.data;
|
||
|
||
//自动给参数传入默认 token
|
||
options.data["Access-Token"] = token in sendData
|
||
? options.data["Access-Token"]
|
||
: (token || '');
|
||
|
||
//自动给 Request Headers 传入 token
|
||
options.headers["Access-Token"] = token in options.headers
|
||
? options.headers["Access-Token"]
|
||
: (token || '');
|
||
|
||
}
|
||
|
||
//删除成功、失败具体业务具体写
|
||
delete options.success;
|
||
delete options.error;
|
||
|
||
//返回公共请求(封装一个公共的弹窗组件,code码异常,错误时使用)
|
||
return uni.request(Object.assign({
|
||
type: 'post'
|
||
,method:'get'
|
||
,dataType: 'json'
|
||
,header:options.headers
|
||
,success: function(res){
|
||
//这里可以用于一些状态判断,登录信息失效或者其他状态码异常判断
|
||
//只要 http 状态码正常,无论 response 的 code 是否正常都执行 success
|
||
|
||
typeof success === 'function' && success(res);
|
||
|
||
}
|
||
,error: function(e, code){
|
||
uni.showToast({
|
||
title: '错误提示!<br>携带参数:'+JSON.stringify(options.data),
|
||
duration: 2000,
|
||
icon: 'none'
|
||
});
|
||
//页面公共错误提示
|
||
typeof error === 'function' && error(res);
|
||
}
|
||
},options));
|
||
|
||
}
|
||
|
||
const app = new Vue({
|
||
...App
|
||
})
|
||
app.$mount()
|