```bash
const baseUrl = 'http://192.168.0.1:0000';
//不带Token请求
const httpRequest = (opts, data) => {
let httpDefaultOpts = {
url: baseUrl + opts.url,
data: data,
method: opts.method,
header: opts.method == 'get' ? {
'X-Requested-With': 'XMLHttpRequest',
"Accept": "application/json",
"Content-Type": "application/json; charset=UTF-8"
} : {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
dataType: 'json',
}
let promise = new Promise(function(resolve, reject) {
uni.request(httpDefaultOpts).then(
(res) => {
resolve(res[1])
}
).catch(
(response) => {
reject(response)
}
)
})
return promise
};
//带Token请求
const httpTokenRequest = (opts, data) => {
let token = "";
let loginMark="";
uni.getStorage({
key: 'token',
success: function(ress) {
token = ress.data
}
});
uni.getStorage({
key: 'loginMark',
success: function(ress) {
loginMark = ress.data
}
});
var obj1=data
var obj2={
"token":token,
"loginMark":loginMark
}
var obj3={
...obj1,
...obj2
}
//此token是登录成功后后台返回保存在storage中的
let httpDefaultOpts = {
url: baseUrl + opts.url,
data: obj3,
method: opts.method,
header: opts.method == 'get' ? {
"Accept": "application/json",
"Content-Type": "application/json; charset=UTF-8"
} : {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
dataType: 'json',
}
let promise = new Promise(function(resolve, reject) {
uni.request(httpDefaultOpts).then(
(res) => {
resolve(res[1].data)
}
).catch(
(response) => {
reject(response)
}
)
})
return promise
};
export default {
httpRequest,
httpTokenRequest
}
header请求头要与后端允许的请求头对应,不然会跨域。
入口文件引入
import request from '../src/common/request.js'
Vue.prototype.$request = request
页面调用接口
request() {
let opts = {
url: '/home/home',
method: 'post'
};
let param = {
};
this.$request.httpTokenRequest(opts, param).then(res => {
// 打印调用成功回调
if (res.code == 200) {
});
}
}, error => {
console.log(error);
})
}