小程序axios简单封装,以及请求,设置请求头, 跳转
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">
posted on   苏舒  阅读(902)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示