request.js 1.3 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]
	}
L
123  
linju 已提交
19
	console.log({name,data: {action,params}})
L
123  
linju 已提交
20 21 22 23 24 25 26 27 28 29 30
	return new Promise((resolve,reject)=>{
		uniCloud.callFunction({name,data: {action,params},
			success(e){
				// console.log(e);
				if(showLoading || loadText) uni.hideLoading()
				const {result:{data,code}} = e
				console.log(data,code);
				if (code === 0 ) {
					resolve(e)
					return callback(data,e.result,e)
				}
L
123  
linju 已提交
31 32 33 34 35 36 37
				if(debug){
					uni.showModal({
						content: JSON.stringify(e),
						showCancel: false,
						confirmText: '知道了'
					})
				}
L
123  
linju 已提交
38 39 40 41
			},
			fail(err){
				reject(err)
				console.log(err);
L
123  
linju 已提交
42 43 44 45 46 47 48
				if(debug){
					uni.showModal({
						content: JSON.stringify(err),
						showCancel: false,
						confirmText: '知道了'
					})
				}
L
123  
linju 已提交
49
				fail(err)
L
123  
linju 已提交
50
			}
L
123  
linju 已提交
51
		})
L
123  
linju 已提交
52 53
	})
}