You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							204 lines
						
					
					
						
							5.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							204 lines
						
					
					
						
							5.6 KiB
						
					
					
				
								import config from './config';
							 | 
						|
								var gbConfig = {
							 | 
						|
								    appid: 'wxe8e0c0bbe67c5cb8'
							 | 
						|
								};
							 | 
						|
								/*获取当前页带参数的url*/
							 | 
						|
								function getCurrentPageUrlWithArgs(){
							 | 
						|
									var pages = getCurrentPages()    //获取加载的页面
							 | 
						|
									var currentPage = pages[pages.length-1]    //获取当前页面的对象
							 | 
						|
									var url = currentPage.route    //当前页面url
							 | 
						|
									var options = currentPage.options    //如果要获取url中所带的参数可以查看options
							 | 
						|
								
							 | 
						|
									//拼接url的参数
							 | 
						|
									var urlWithArgs = url + '?'
							 | 
						|
									for(var key in options){
							 | 
						|
										var value = options[key]
							 | 
						|
										urlWithArgs += key + '=' + value + '&'
							 | 
						|
									}
							 | 
						|
									urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length-1)
							 | 
						|
								
							 | 
						|
									return encodeURIComponent(urlWithArgs)
							 | 
						|
								};
							 | 
						|
								export const sandBox = {
							 | 
						|
								    get({api, data, header}){
							 | 
						|
								        let extConfig =  {};
							 | 
						|
								      
							 | 
						|
								
							 | 
						|
								        if (extConfig.appid) {
							 | 
						|
								            gbConfig = extConfig
							 | 
						|
								        }
							 | 
						|
								        if (header) {
							 | 
						|
								            header.appid = gbConfig.appid
							 | 
						|
								        } else {
							 | 
						|
								            header = {};
							 | 
						|
								            header.appid = gbConfig.appid
							 | 
						|
								        }
							 | 
						|
								        return new Promise((resolve, reject) => {
							 | 
						|
								
							 | 
						|
								            wx.request({
							 | 
						|
								                url:`${config.GLOBAL.baseUrl}${api}`,
							 | 
						|
								                header:header,
							 | 
						|
								                data:data,
							 | 
						|
								                method:'GET',
							 | 
						|
								                success:res => {
							 | 
						|
								
							 | 
						|
								                    sandBox.error(res).then(()=>{
							 | 
						|
								                        resolve(res)
							 | 
						|
								                    })
							 | 
						|
								
							 | 
						|
								                },
							 | 
						|
								                fail:rej => {
							 | 
						|
								
							 | 
						|
								                    reject(rej)
							 | 
						|
								                }
							 | 
						|
								            })
							 | 
						|
								        })
							 | 
						|
								    },
							 | 
						|
								    post({api, data, header}){
							 | 
						|
								        let extConfig = '';
							 | 
						|
								        if (extConfig.appid) {
							 | 
						|
								            gbConfig = extConfig
							 | 
						|
								        }
							 | 
						|
								        if (header) {
							 | 
						|
								            header.appid = gbConfig.appid
							 | 
						|
								        } else {
							 | 
						|
								            header = {};
							 | 
						|
								            header.appid = gbConfig.appid
							 | 
						|
								        }
							 | 
						|
								        return new Promise((resolve, reject) => {
							 | 
						|
								            wx.request({
							 | 
						|
								                url:`${config.GLOBAL.baseUrl}${api}`,
							 | 
						|
								                data:data,
							 | 
						|
								                header:header,
							 | 
						|
								                method:'POST',
							 | 
						|
								                success:res => {
							 | 
						|
								
							 | 
						|
								                    sandBox.error(res).then(()=>{
							 | 
						|
								                        resolve(res)
							 | 
						|
								                    })
							 | 
						|
								                },
							 | 
						|
								                fail:rej => {
							 | 
						|
								                    reject(rej)
							 | 
						|
								                }
							 | 
						|
								            })
							 | 
						|
								        })
							 | 
						|
								    },
							 | 
						|
								    error(res){
							 | 
						|
								        return new Promise((resolve,reject)=>{
							 | 
						|
								            var url = getCurrentPageUrlWithArgs();
							 | 
						|
								            if (res.data.message == 'Unauthenticated.') {
							 | 
						|
								
							 | 
						|
								               uni.removeStorageSync('user_token');
							 | 
						|
								                wx.showModal({
							 | 
						|
								                    content:'请重新登录',
							 | 
						|
								                    duration:1500,
							 | 
						|
								                    showCancel: false,
							 | 
						|
								                    success:(res)=>{
							 | 
						|
								                        if (res.confirm) {
							 | 
						|
															// wx.navigateTo  邓平艺 于2021.09.24修改,
							 | 
						|
															// 原因:未登录点击后跳转到登录页,当登录成功,
							 | 
						|
															// 再次跳转回来时,用户点击页面返回,原有页面和弹窗还存在
							 | 
						|
								                            uni.redirectTo({
							 | 
						|
								                                url:`/pages/user/register/register?url=${url}`
							 | 
						|
								                            })
							 | 
						|
								                            return;
							 | 
						|
								                        }
							 | 
						|
								                    },
							 | 
						|
								                    cancel:()=>{
							 | 
						|
								                        uni.redirectTo({
							 | 
						|
								                            url:`/pages/user/register/register?url=${url}`
							 | 
						|
								                        })
							 | 
						|
								                        return;
							 | 
						|
								                    }
							 | 
						|
								                })
							 | 
						|
								                reject()
							 | 
						|
								                return
							 | 
						|
								            }
							 | 
						|
								
							 | 
						|
								            resolve();
							 | 
						|
								            return
							 | 
						|
								        })
							 | 
						|
								
							 | 
						|
								    },
							 | 
						|
								    ajax({api, data, method, header}) {
							 | 
						|
								        let extConfig = '';
							 | 
						|
								        if (extConfig.appid) {
							 | 
						|
								            gbConfig = extConfig
							 | 
						|
								        }
							 | 
						|
								        if (header) {
							 | 
						|
								            header.appid = gbConfig.appid
							 | 
						|
								        } else {
							 | 
						|
								            header = {};
							 | 
						|
								            header.appid = gbConfig.appid
							 | 
						|
								        }
							 | 
						|
								        return new Promise((resolve,reject) => {
							 | 
						|
								            wx.request({
							 | 
						|
								                url:`${config.GLOBAL.baseUrl}${api}`,
							 | 
						|
								                data,
							 | 
						|
								                header,
							 | 
						|
								                method:method.toUpperCase(),
							 | 
						|
								                success:res => {
							 | 
						|
								
							 | 
						|
								                    sandBox.error(res).then(()=>{
							 | 
						|
								                        resolve(res)
							 | 
						|
								                    })
							 | 
						|
								                },
							 | 
						|
								                fail:rej => {
							 | 
						|
								                    reject(rej)
							 | 
						|
								                }
							 | 
						|
								            })
							 | 
						|
								        })
							 | 
						|
								    },
							 | 
						|
								    uploadFile({api,filePath,header,name}){
							 | 
						|
								        let extConfig = '';
							 | 
						|
								        if (extConfig.appid) {
							 | 
						|
								            gbConfig = extConfig
							 | 
						|
								        }
							 | 
						|
								        if (header) {
							 | 
						|
								            header.appid = gbConfig.appid
							 | 
						|
								        } else {
							 | 
						|
								            header = {};
							 | 
						|
								            header.appid = gbConfig.appid
							 | 
						|
								        }
							 | 
						|
								        return new Promise((resolve,reject) =>{
							 | 
						|
								            wx.uploadFile({
							 | 
						|
								                url:`${config.GLOBAL.baseUrl}${api}`,
							 | 
						|
								                header,
							 | 
						|
								                filePath,
							 | 
						|
								                name,
							 | 
						|
								                success:res => {
							 | 
						|
								                    resolve(res)
							 | 
						|
								                },
							 | 
						|
								                fail:rej => {
							 | 
						|
								                    reject(rej)
							 | 
						|
								                }
							 | 
						|
								            })
							 | 
						|
								        })
							 | 
						|
								    },
							 | 
						|
								    dowloadFile({api, filePath, header, name}) {
							 | 
						|
								        let extConfig = '';
							 | 
						|
								        if (extConfig.appid) {
							 | 
						|
								            gbConfig = extConfig
							 | 
						|
								        }
							 | 
						|
								        if (header) {
							 | 
						|
								            header.appid = gbConfig.appid
							 | 
						|
								        } else {
							 | 
						|
								            header = {};
							 | 
						|
								            header.appid = gbConfig.appid
							 | 
						|
								        }
							 | 
						|
								        return new Promise((resolve, reject) => {
							 | 
						|
								            wx.downloadFile({
							 | 
						|
								                url:api,
							 | 
						|
								                header,
							 | 
						|
								                filePath,
							 | 
						|
								                name,
							 | 
						|
								                success:res => {
							 | 
						|
								                    resolve(res)
							 | 
						|
								                },
							 | 
						|
								                fail:rej => {
							 | 
						|
								                    reject(rej)
							 | 
						|
								                }
							 | 
						|
								            })
							 | 
						|
								        })
							 | 
						|
								    }
							 | 
						|
								};
							 |