common -> utils.js
class Utils{
constructor(){
this.baseUrl = 'http://101.34.77.85:3300/pz'
}
getUserInfo(){
// 调用登录的Api
uni.login({
seccess:function(res){
console.log(res)
}
})
}
request(option = {
showLoading:false
}){
// 判断url是否存在
if(!option.url){
return false
}
if(option.shaowLoading){
this.showLoading()
}
uni.request({
url:this.baseUrl + option.url,
data:option.data ? option.data : {},
header:option.header ? option.header : {},
method: option.method ? option.method : 'GET',
success:(response) => {
uni.hideLoading()
// 后端返回的数据异常(正常是10000,每个人可能不一样)
if(response.data.code != 10000){
// 将失败的结果返回失去
if(option.fail && typeof option.fail == 'function'){
option.fail(response)
}
} else {
// 将成功的结果返回
if(option.success && typeof option.success == 'function'){
option.success(response.data)
}
}
}
},
fail:response => {
uni.hideLoading()
console.log(response)
}
})
}
// 创建加载的loading效果
showLoading(){
const isShowLoading = uni.getStorageSync('isShowLoading')
if(!isShowLoading){
uni.hideLoading()
uni.setStorageSync('isShowLoading',false)
}
uni.showLoading({
title:'加载中...',
complete:function(){
uni.setStorageSync('isShowLoading',true)
},
fail:function(){
uni.setStorageSync('isShowLoading',false)
}
})
}
}
export default new utils()
App.vue页面
<script>
import Utils from './common/utils.js'
export default{
globalData:{
utils:Utils
}
}
</script>
在页面中使用:
import { onLoad } from '@dcloudio/uni-app'
// 导入获取App.vue的数据
const app = getApp()
onLoad(()=>{
console.log(app.globalData.utils.getUserInfo())
})
const