request.js 1.4 KB
Newer Older
L
123  
linju 已提交
1 2 3 4 5 6 7 8
/*
1.优雅访问指定路由地址
2.load自动显示与关闭
3.统一路由拦截
	3.1 读取云端接口权限配置,先验证本地token再访问
	3.2 处理因token过期等问题自动更新本地token,或token无效跳转至登陆页面
*/
const debug = true;//开启后,会alert错误信息
L
123  
linju 已提交
9
export default function request(name,params,callback=false,{showLoading=false,loadText='',fail=()=>{}}={}){
L
123  
linju 已提交
10
	// console.log('request');
L
123  
linju 已提交
11 12 13 14 15 16 17 18
	showLoading||loadText? uni.showLoading({title:loadText}):'';
	
	let routers =  name.split('/');
	var action = false
	if (routers.length>1){
		name = routers[0]
		action =  routers[1]
	}
DCloud_JSON's avatar
DCloud_JSON 已提交
19
	console.log({name,data:{action,params}})
L
123  
linju 已提交
20
	return new Promise((resolve,reject)=>{
DCloud_JSON's avatar
DCloud_JSON 已提交
21
		uniCloud.callFunction({name,data:{action,params},
L
123  
linju 已提交
22 23 24 25 26 27 28 29
			success(e){
				// console.log(e);
				const {result:{data,code}} = e
				console.log(data,code);
				if (code === 0 ) {
					resolve(e)
					return callback(data,e.result,e)
				}
L
123  
linju 已提交
30 31 32 33 34 35 36
				if(debug){
					uni.showModal({
						content: JSON.stringify(e),
						showCancel: false,
						confirmText: '知道了'
					})
				}
L
123  
linju 已提交
37 38 39 40
			},
			fail(err){
				reject(err)
				console.log(err);
L
123  
linju 已提交
41 42 43 44 45 46 47
				if(debug){
					uni.showModal({
						content: JSON.stringify(err),
						showCancel: false,
						confirmText: '知道了'
					})
				}
L
123  
linju 已提交
48
				fail(err)
L
linju 已提交
49 50 51
			},
			complete() {
				if(showLoading || loadText) uni.hideLoading()
L
123  
linju 已提交
52
			}
L
123  
linju 已提交
53
		})
L
123  
linju 已提交
54 55
	})
}