277 lines
7.4 KiB
JavaScript
277 lines
7.4 KiB
JavaScript
import utils from './util'
|
||
//testURL
|
||
const BASE_URL = 'http://127.0.0.1:8080/wx';
|
||
const LOGIN_URL = 'https://api.weixin.qq.com/sns/jscode2session';
|
||
//prodURL
|
||
// const BASE_URL = 'https://www.qnforever.top/wx';
|
||
function buildURL(url, needToken) {
|
||
let userId = wx.getStorageSync('userId');
|
||
if (!userId && url != '/user/login') {
|
||
wx.redirectTo({
|
||
url: '../myself/index'
|
||
})
|
||
wx.showLoading({
|
||
title: '请先登录',
|
||
mask: true,
|
||
})
|
||
setTimeout(function () {
|
||
wx.hideLoading()
|
||
}, 2000)
|
||
return;
|
||
}
|
||
if (url != '/user/login'){
|
||
url = url + (url.indexOf('?') >= 0 ? '&' : '?') + "userId=" + userId
|
||
}
|
||
if (needToken) {
|
||
let token = utils.getToken()
|
||
return token ? url + (url.indexOf('?') >= 0 ? '&' : '?') + "access_token=" + token : url
|
||
}
|
||
return url + (url.indexOf('?') >= 0 ? '&' : '?');
|
||
}
|
||
|
||
export function fetchPost(url, params, needToken, multiple) {
|
||
url = buildURL(url, needToken);
|
||
// 如果url不存在,返回错误
|
||
if (!url) {
|
||
return new Promise((resolve, reject) => {
|
||
reject();
|
||
})
|
||
}
|
||
console.log("网络请求", BASE_URL + url, params);
|
||
// 如果上传图片
|
||
if (multiple) {
|
||
return new Promise((resolve, reject) => {
|
||
wx.uploadFile({
|
||
url: BASE_URL + url,
|
||
filePath: params.filePath,
|
||
name: 'image',
|
||
formData: {},
|
||
success: function(response) {
|
||
console.log(response.data);
|
||
let res = JSON.parse(response.data);
|
||
console.log(res);
|
||
if (response.statusCode == 200) {
|
||
if (res.err_code == 0) {
|
||
// wx.hideLoading();
|
||
resolve(res);
|
||
} else {
|
||
if (res.err_code == 10003 || res.err_code == 10006 || res.err_code == 20006) {
|
||
// wx.removeStorageSync('accessToken');
|
||
// wx.redirectTo({
|
||
// url: '/pages/login/index',
|
||
// })
|
||
isUnLogin();
|
||
reject(res);
|
||
return;
|
||
} else if (res.err_code == 20005) {
|
||
wx.removeStorageSync('accessToken');
|
||
wx.removeStorageSync('history');
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: res.err_msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
reject(res);
|
||
} else {
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: res.err_msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
reject(res);
|
||
}
|
||
}
|
||
} else {
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: '网络错误',
|
||
icon: 'none',
|
||
})
|
||
reject(response);
|
||
}
|
||
},
|
||
fail: function(err) {
|
||
console.log(err);
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: '网络错误',
|
||
icon: 'none',
|
||
})
|
||
reject(response);
|
||
},
|
||
})
|
||
})
|
||
}
|
||
|
||
// 获取POST数据
|
||
return new Promise((resolve, reject) => {
|
||
wx.request({
|
||
url: BASE_URL + url,
|
||
data: params,
|
||
header: {
|
||
'content-type': 'application/x-www-form-urlencoded'
|
||
},
|
||
method: 'POST',
|
||
success: function(res) {
|
||
console.log("POST返回数据", url,res);
|
||
if (res.data.err_code == 0) {
|
||
wx.hideLoading();
|
||
resolve(res.data);
|
||
} else {
|
||
if (res.data.err_code == 10003 || res.data.err_code == 10006 || res.data.err_code == 20006) {
|
||
// wx.removeStorageSync('accessToken');
|
||
// wx.redirectTo({
|
||
// url: '/pages/login/index',
|
||
// })
|
||
reject(res);
|
||
return;
|
||
} else if (res.data.err_code == 30022) {
|
||
reject(res);
|
||
} else if (res.data.err_code == 20005) {
|
||
wx.removeStorageSync('accessToken');
|
||
wx.removeStorageSync('history');
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: res.data.err_msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
reject(res);
|
||
} else {
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: res.data.err_msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
reject(res);
|
||
}
|
||
|
||
}
|
||
},
|
||
fail: function(res) {
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: '网络错误',
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
reject(res);
|
||
|
||
},
|
||
})
|
||
})
|
||
}
|
||
|
||
// get请求
|
||
export function fetchGet(url, params, needToken) {
|
||
url = buildURL(url, needToken);
|
||
// 如果url不存在,返回错误
|
||
if (!url) {
|
||
return new Promise((resolve, reject) => {
|
||
reject();
|
||
})
|
||
}
|
||
|
||
console.log("网络请求", BASE_URL + url, params);
|
||
return new Promise((resolve, reject) => {
|
||
wx.request({
|
||
url: BASE_URL + url,
|
||
data: params,
|
||
method: 'GET',
|
||
success: function(res) {
|
||
console.log("GET返回数据", url, res);
|
||
if (res.statusCode == 200) {
|
||
if (res.data.err_code == 0) {
|
||
wx.hideLoading();
|
||
resolve(res.data);
|
||
} else {
|
||
if (res.data.err_code == 10003 || res.data.err_code == 10006 || res.data.err_code == 20006) {
|
||
// isUnLogin();
|
||
reject(res);
|
||
return;
|
||
} else if (res.data.err_code == 20005) {
|
||
wx.removeStorageSync('accessToken');
|
||
wx.removeStorageSync('history');
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: res.data.err_msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
reject(res);
|
||
} else {
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: res.data.err_msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
reject(res);
|
||
}
|
||
}
|
||
} else {
|
||
wx.hideLoading();
|
||
reject(res)
|
||
wx.showToast({
|
||
title: '网络错误',
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
}
|
||
},
|
||
fail: function(res) {
|
||
wx.hideLoading();
|
||
reject(res)
|
||
wx.showToast({
|
||
title: '网络错误',
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
},
|
||
})
|
||
})
|
||
}
|
||
|
||
// 暴露接口
|
||
export default {
|
||
|
||
loginAccount(params) {
|
||
return fetchPost('/user/login',params,true,false);
|
||
},
|
||
getSetting(params) {
|
||
return fetchPost('user/setting/' + params,true,false);
|
||
},
|
||
addSetting(params) {
|
||
return fetchPost('user/settings/add',params,true,false);
|
||
},
|
||
deleteSetting(params) {
|
||
return fetchPost('user/settings/delete' + params,true,false);
|
||
},
|
||
getSettings() {
|
||
// let result;
|
||
// if (type == 'INCOME_SETTING'){
|
||
// result = wx.getStorageSync('INCOME_SETTING');
|
||
// }
|
||
// if (type == 'EXPEND_SETTING'){
|
||
// result = wx.getStorageSync('INCOME_SETTING');
|
||
// }
|
||
// if (type == 'ACCOUNT_SETTING'){
|
||
// result = wx.getStorageSync('INCOME_SETTING');
|
||
// }
|
||
// if (result){
|
||
// return result;
|
||
// }
|
||
return fetchPost('/user/settings', null, true, false);
|
||
},
|
||
|
||
getSettingsExpend(){
|
||
return fetchPost('/user/settings/expend',null,true,false);
|
||
},
|
||
getSettingsIncome(){
|
||
return fetchPost('/user/settings/income',null,true,false);
|
||
},
|
||
}
|