import cookieUtil from './cookie';
const getResponse = function (url, data = {}, opt = {}) {
opt.url = (/^http/i).test(url) ? url : `${config.api || ''}${url}`;
opt.data = data;
// // 手动设置cookie
// opt.header = Object.assign(opt.header || {
// // Cookie: cookieUtil.getAllString(),
// token: wx.getStorageSync('token')
// });
// if(wx.getStorageSync('token')){
// console.log('进来了');
// opt.headers['AuthorizationWeb'] = wx.getStorageSync('token')
// }
// 手动设置cookie
console.log(wx.getStorageSync('token'));
opt.header = Object.assign(opt.header || {}, {
// Cookie: cookieUtil.getAllString(),
AuthorizationWeb: wx.getStorageSync('token')
});
// console.log(JSON.stringify(opt.params))
const reqPromise = new Promise((resolve, reject) => {
const requestTask = wx.request(Object.assign(opt, { // eslint-disable-line
success(res) {
// 手动模拟set-cookie
const setCookieStr = res.header['Set-Cookie'] || res.header['set-cookie'];
setCookieStr && cookieUtil.parseSetCookie(setCookieStr);
// 处理返回结果
if (res.statusCode === 200) {
if(res.data.code===401){
console.log('22')
wx.navigateTo({
url: '/pages/login/login?istype=2'
})
}
else{
resolve(res.data);
}
} else {
reject(new Error('网络错误,请稍后再试'));
}
},
fail(err) {
reject(new Error('网络错误,请稍后再试'));
},
}));
// 10秒超时
setTimeout(() => {
requestTask.abort();
reject(new Error('网络超时,请稍后再试'));
}, 10000);
});
return reqPromise;
};
const get = function (url, data = {}, opt = {}) {
return getResponse(url, data, opt).then((result) => {
// if (result.code === undefined) {
// return result
// }
if (result.status === true) {
return result;
}else{
return result;
}
throw new Error(result.msg || result.message);
});
};
const post = function (url, data = {}, opt = {}) {
opt.method = 'POST';
opt.header = opt.header || {};
opt.header['Content-Type'] = opt.header['Content-Type'] || opt.header['content-type'] || 'application/x-www-form-urlencoded';
opt.header['Accept'] = 'application/json';
return get(url, data, opt);
};
export default {
get,
post,
getResponse,
};
小程序原生的请求
wx.request({
url: FLARE_LOG_SERVER + '/flash/playlog',//接口
data,//参数
header: {
"Content-Type": "applciation/json"//请求头
},
method: "GET",//请求方式
success: function (res) { },//成功回调
fail: function (err) { }//失败回调
})
小程序原生跳转页面
url = '/pages/spaceDetailmath/spaceDetailmath?courseId='+e.currentTarget.dataset.productid;
wx.navigateTo({
url
})
小程序赋值页面不同步问题
this.data.value = 123456
this.setData({
value:this.data.value,
value2:123456
})
小程序wx:for循环遍历写法
<view class="category_list" wx:for="{{categoryData}}" wx:key="index" data-item="{{item}}" data-index="{{index}}" bindtap="toCategory">
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用