博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小程序wx.request请求封装
阅读量:7035 次
发布时间:2019-06-28

本文共 3054 字,大约阅读时间需要 10 分钟。

// 展示进度条的网络请求// url:网络请求的url// params:请求参数// message:进度条的提示信息// success:成功的回调函数// fail:失败的回调function requestLoading(url, params, message, success, fail, method = 'get') {    // console.log(params)    wx.showNavigationBarLoading();    if (message != "") {        wx.showLoading({            title: message,        })    }    var sessionid = wx.getStorageSync('wx_outin') || wx.getStorageSync('wx');    if (sessionid != "" && sessionid != null) {        var header = {'content-type': 'application/x-www-form-urlencoded', 'Cookie': 'wx=' + sessionid}    } else {        var header = {'content-type': 'application/x-www-form-urlencoded'}    };    wx.request({        url: url,        data: params,        header: header,        method: method,        success: function (res) {            var headerStr = JSON.stringify(res.header);            // 判断响应头cookie里是否有wx,若有则存储到wxCookie里            if (sessionid == "" || sessionid == null){                if (headerStr.indexOf("wx=") > -1) {                    var reg = /wx=(\w+)[;|"]/;                    var wxCookie = reg.exec(headerStr)[1];                    wx.setStorageSync('wx', wxCookie);                }            }            // console.log(wx.getStorageSync('wx'))            wx.hideNavigationBarLoading()            if (message != "") {                wx.hideLoading()            }            if (res.statusCode == 200) {                console.log(res.data.stat)                if (res.data.stat==2){                    wx.showModal({                        title: '提示',                        content: '账号已退出,请重新登录',                        showCancel: false,                        success: function (res) {                            wx.redirectTo({                                url: '../regist/index'                            });                        }                    })                }                success(res.data)            } else {                typeof fail == "function" && fail()            }        },        fail: function (res) {            console.log(res);            if (res.errMsg == 'request:fail ') {                wx.showModal({                    title: '提示',                    content: '当前网络状态差,请重试',                    success: function(res) {                        if (res.confirm) {                            setTimeout(function () {                                requestLoading(url, params, message, success, fail, method);                            }, 1000);                        } else if (res.cancel) {                            console.log('用户点击取消');                            wx.redirectTo({                                url:'../regist/index'                            });                        }                    }                })            }            wx.hideNavigationBarLoading();            if (message != "") {                wx.hideLoading()            }                typeof fail == "function" && fail()        },        complete: function (res) {        },    })}

  

转载于:https://www.cnblogs.com/web-leader/p/9516340.html

你可能感兴趣的文章
python学习——截图工具编写
查看>>
将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)(转)...
查看>>
赵又廷解锁全新代言 低调睿智展现绅士质感
查看>>
精读《重新思考 Redux》
查看>>
GitHub Universe 大会总结:信息流推荐开源库,推出社区功能
查看>>
如何构建自定义人脸识别数据集
查看>>
码农,有趣的灵魂...
查看>>
Mac编译Hadoop源码
查看>>
【翻译】深入理解ES6的模块
查看>>
通用对话框QMessageBox
查看>>
JavaScript数组API汇总
查看>>
如何理解Java静态?
查看>>
JDK不同操作系统的FileSystem(unix-like)下篇
查看>>
用 Golang 写一个搜索引擎 (0x04) --- B + 树
查看>>
检测php网站是否已经被攻破的方法
查看>>
iOS VIPER架构实践(二):VIPER详解与实现
查看>>
[译]在HealthKit中用 Swift 进行睡眠分析
查看>>
【刷算法】数组中出现次数超过一半的数字
查看>>
基于ZK實現分布式锁
查看>>
ReactNative 进阶之Form表单组件封装
查看>>