var tokenKey = "access-token"; var serverUrl = "https://badness.xiuqinews.cn"; import { requst_post_login} from '../../pages/api/index' // 例外不用token的地址 var exceptionAddrArr = [ '/wx/login',]; //请求头处理函数 function CreateHeader(url, type) { let header = {} if (type == 'POST_PARAMS'){ header = { 'content-type': 'application/x-www-form-urlencoded' } }else if(type == 'FormData'){ header = { 'content-type': 'multipart/form-data' } }else{ header = { 'content-type': 'application/json' } } if (exceptionAddrArr.indexOf(url) == -1) { //排除请求的地址不须要token的地址 let token = wx.getStorageSync(tokenKey); header.Authorization = token; } return header; console.log(header,'header') } //post请求,fomData function postRequestFormData(url,data){ let header = CreateHeader(url,'FormData'); return new Promise((resolve, reject) => { wx.request({ url: serverUrl + url, data: data, header: header, method: 'POST', success: (res => { if (res.statusCode === 200) { if(res.data.code==401){ // 重新登陆 wx.login({ success: res => { const code = res.code; if(code){ //将code发送到开发者服务器 wx.getUserInfo({ success: res => { let encryptedData = res.encryptedData; let iv = res.iv; let url="https://badness.xiuqinews.cn/wx/login"; requst_post_login( { encryptedData: encryptedData, iv: iv, code: code } ).then(res=>{ if(res.data.data){ wx.setStorage({ key: 'access-token', data: res.data.data, }) }else{ } }).catch(err=>{ console.log('ajax_err',err) }) } }) } } }) // 重新登陆 }else{ resolve(res) } } else { reject(res) } }), fail: (res => { reject(res) }) }) }) } //post请求,数据在body中 function postRequest(url,data){ let header = CreateHeader(url,'POST'); console.log(header,'header') return new Promise((resolve, reject) => { wx.request({ url: serverUrl + url, data: data, header: header, method: 'POST', success: (res => { if (res.statusCode === 200) { if(res.data.code==401){ // 重新登陆 wx.login({ success: res => { const code = res.code; if(code){ //将code发送到开发者服务器 wx.getUserInfo({ success: res => { let encryptedData = res.encryptedData; let iv = res.iv; let url="https://badness.xiuqinews.cn/wx/login"; requst_post_login( { encryptedData: encryptedData, iv: iv, code: code } ).then(res=>{ if(res.data.data){ wx.setStorage({ key: 'access-token', data: res.data.data, }) }else{ } }).catch(err=>{ console.log('ajax_err',err) }) } }) } } }) // 重新登陆 }else{ resolve(res) } } else { reject(res) } }), fail: (res => { reject(res) }) }) }) } //post请求,数据按照query方式传给后端 function postParamsRequest(url, data) { let header = CreateHeader(url,'POST_PARAMS'); let useurl = url; return new Promise((resolve, reject) => { wx.request({ url: serverUrl + useurl, data: data, header: header , method: 'POST', success: (res => { // console.log(res, '1212') if (res.statusCode === 200) { if(res.data.code==401){ // 重新登陆 wx.login({ success: res => { const code = res.code; if(code){ //将code发送到开发者服务器 wx.getUserInfo({ success: res => { let encryptedData = res.encryptedData; let iv = res.iv; let url="https://badness.xiuqinews.cn/wx/login"; requst_post_login( { encryptedData: encryptedData, iv: iv, code: code } ).then(res=>{ if(res.data.data){ wx.setStorage({ key: 'access-token', data: res.data.data, }) }else{ } }).catch(err=>{ console.log('ajax_err',err) }) } }) } } }) // 重新登陆 }else{ resolve(res) } } else { reject(res) } }), fail: (res => { reject(res) }) }) }) } //get 请求 function getRequest(url, data) { let header = CreateHeader(url, 'GET'); // console.log(header,'exceptionAddrArr') return new Promise((resolve, reject) => { wx.request({ url: serverUrl + url, data: data, header: header, method: 'GET', success: (res => { if (res.statusCode === 200) { if(res.data.code==401){ // 重新登陆 wx.login({ success: res => { const code = res.code; if(code){ //将code发送到开发者服务器 wx.getUserInfo({ success: res => { let encryptedData = res.encryptedData; let iv = res.iv; requst_post_login( { encryptedData: encryptedData, iv: iv, code: code } ).then(res=>{ if(res.data.data){ wx.setStorage({ key: 'access-token', data: res.data.data, }) }else{ } }).catch(err=>{ console.log('ajax_err',err) }) } }) } } }) // 重新登陆 }else{ resolve(res) } }else{ reject(res) } }), fail: (res => { reject(res) }) }) }) } //put请求 function putRequest(url, data) { let header = CreateHeader(url, 'PUT'); return new Promise((resolve, reject) => { wx.request({ url: serverUrl + url, data: data, header: header, method: 'PUT', success: (res => { if (res.statusCode === 200) { if(res.data.code==401){ // 重新登陆 wx.login({ success: res => { const code = res.code; if(code){ //将code发送到开发者服务器 wx.getUserInfo({ success: res => { let encryptedData = res.encryptedData; let iv = res.iv; let url="https://badness.xiuqinews.cn/wx/login"; requst_post_login( { encryptedData: encryptedData, iv: iv, code: code } ).then(res=>{ if(res.data.data){ wx.setStorage({ key: 'access-token', data: res.data.data, }) }else{ } }).catch(err=>{ console.log('ajax_err',err) }) } }) } } }) // 重新登陆 }else{ resolve(res) } } else { reject(res) } }), fail: (res => { reject(res) }) }) }) } //delete请求 function deleteRequest(url, data) { let header = CreateHeader(url, 'DELETE'); return new Promise((resolve, reject) => { wx.request({ url: serverUrl + url , // data: data, header: header, method: 'DELETE', success: (res => { if (res.statusCode === 200) { //200: 服务端业务处理正常结束 resolve(res) } else { reject(res) } }), fail: (res => { reject(res) }) }) }) } module.exports.getRequest = getRequest; module.exports.postRequest = postRequest; module.exports.postRequestFormData = postRequestFormData; module.exports.postParamsRequest = postParamsRequest; module.exports.putRequest = putRequest; module.exports.deleteRequest = deleteRequest;