1.request.js,(content-type根据method选择自己需要的类型看后端接口规定)
var baseUrl = 'http://192.168.2.165:61001'
export function server(url,method,params,tkn=false) {
uni.showLoading({ title:'加载中' })
let promise = new Promise((resolve,reject) => {
// 这里是获取 token
let token = uni.getStorageSync("token")
let access_token = uni.getStorageSync("token")
uni.request({
// #ifdef H5
url: baseUrl + url, // H5下
// #endif
data: params,
method: method,
dataType: "json",
header:{
'domain-scope':'www.marathonbm.com',
'req-device-version':`H5[${navigator.userAgent}]|可变版本`,
'content-type':method == 'POST'?'application/json;charset=UTF-8':'application/json',
'Authorization':token?`Bearer ${token}`:'',
},
// 这里请求成功根据自己的 code 判断就好了
success: function(res) { // 当请求成功时调用的函数。这个函数会得到一个参数:从服务器返回的数据。当请求成功时调用函数,即status==200。
console.warn('数据请求响应',res)
// if(res.data.code==401){
// // console.log(res)
// uni.removeStorageSync('token')
// }
resolve(res.data)
uni.hideLoading();
},
fail: function(res) {
console.warn("请求异常",res)
reject(res)
setTimeout(()=>{ uni.hideLoading() },8000)
},
complete: function(res) {
}
});
});
return promise;
}
2.api.js
import { server} from './request.js'
var api = []
//获取协议和隐私政策
api.get_policy = (params,apr) => server(`/api-smc/ui-nl/v1/app-aga/${params}`,'GET',apr)
//首页-bnaner-点击量
api.index_bannerclick_url = (params) => server(`/api-smc/ui-m-nl/v1/index/cb/${params}`,'POST')
//点赞相册相片
api.event_photo_nice = (params) => fromData(`/api-smc/ui-m/v1/af/photo-praise/${params}`,'PUT')
//删除订单
api.event_orders_eod = (params) => server(`/api-smc/ui-m/v1/orders/eod/${params}`,'DELETE')
export default { api }
3.main.js引入注册全局api
import serve from './config/api.js'
// 全局调用请求
Vue.prototype.$http = serve
4.页面使用发请求
this.$http.api.starts_banners_url().then(res => {
if (res.code == 200) {
this.imgsbanner=res.data
}
})