金诚优选前端代码
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

import config from './config';
var gbConfig = {
appid: 'wx43759fe438b7b066'
};
/*获取当前页带参数的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)
}
})
})
}
};