zoukankan      html  css  js  c++  java
  • 微信小程序 wx.reqest 封装

    export const request=(params)=>{
      const baseUrl = "https://localhost:44369"
      var header = {
        'content-type': 'application/x-www-form-urlencoded; charset=UTF-8', 
        'cookie': wx.getStorageSync('cookie')
      };
    
    
      return new Promise((resolve,reject)=>{
        var app = getApp();
        app.toastTotal++;
        wx.showToast({
          title: 'loading',
          icon: 'loading'
        });
        wx.request({
          ...params,
          url: baseUrl+params.url,
          method: "POST",
          header: header,
          success:(result)=>{
            console.log("request success,url:"+baseUrl+params.url);
            console.log(header);
            console.log(result);
    
            var error = result.data.error;
            if(error!=null &&  error.length>0)
            {
              console.error(error);
            }
            else{
              var code = result.data.Code;
              var msg = result.data.Msg;
    
              //#TODO 判断未登录错误码,提示然后跳转到登录
              if(code!=0) {
                wx.showToast({
                  title: msg,
                  icon: 'error',
                  duration: 3000
                })
                wx.redirectTo({
                  url: "/pages/login/login"
                })
              }
              else{
                var cookie = wx.getStorageSync('cookie');
                if(cookie == null || cookie == "")
                {
                  console.log("写入 cookie:"+ result.header["Set-Cookie"])
                  wx.setStorage({
                    key:"cookie",
                    data: result.header["Set-Cookie"]
                  });
                }
                resolve(result.data)
              }
            }
          },
          fail:(err)=>{
            console.log("request fail,url:"+baseUrl+params.url);
            wx.showToast({
              title: '接口调用失败',
              icon: 'error',
              duration: 3000
            });
            reject(err)
          },
          complete:function(e){
            app.toastTotal--;
            if(app.toastTotal<=0)
            {
              app.toastTotal=0;
              wx.hideToast();
            }
          }
        })
      })
    }

    啥也不说,先上代码。

    主要是针对微信网络请求 wx.request 的一些封装。

    success 里面处理逻辑如下:

    1.判断请求是否异常(服务端返回的异常json 信息),有的话提示然后终止

    2.判断是否登录,没有登录则跳转到登录页

    3.判断业务逻辑码,业务逻辑吗正常,则执行,否则则提示、终止;

  • 相关阅读:
    SQL SELECT DISTINCT 语句
    SQL SELECT 语句
    SQL 语法
    Linux 命令大全
    MySQL 安装
    Nginx 安装配置
    linux yum 命令
    Linux 磁盘管理
    Linux 文件与目录管理
    Linux 用户和用户组管理
  • 原文地址:https://www.cnblogs.com/hujunmin/p/15752668.html
Copyright © 2011-2022 走看看