微信小程序网络请求封装

it2024-01-28  60

1.根目录下新建providers文件夹,新建httpRequest.js文件

var baseURL= ‘https://xxx.xxx.com/;//服务器地址 const globalData = getApp().globalData; //请求成功的回调 var onSuccess = function(res,success){ if(res.code == 200){ success(res.data); }else if(res.code == 401){ wx.clearStorageSync(); globalData.userInfo = ""; wx.showModal({ content:'登录失效,请重新登录', success:function(res){ if(res.confirm){ //前往登录页的代码 } } }) } } //封装请求 module.exports= { //get请求 get:function(url,options,success,fail){ wx.request({ url: baseUrl + url, method: "GET", header: { 'access-token': wx.getStorageSync("token") }, data: options, success: function(res) { onSuccess(res, success); }, fail: function(err) { if (fail) fail(); console.log(err); wx.showToast({ title: '网络连接失败', icon: "none" }); } }); }, //post请求 post: function(url, options, success, fail) { wx.request({ url: baseUrl + url, method: "POST", header: { 'content-type': 'application/x-www-form-urlencoded', 'access-token': wx.getStorageSync("token") }, data: options, success: function(res) { onSuccess(res, success); }, fail: function(err) { if (fail) fail(); console.log(err); wx.showToast({ title: '网络连接失败', icon: "none" }); } }) }, //delete请求 delete: function (url,success, fail) { wx.request({ url: baseUrl + url, method: "DELETE", header: { 'access-token': wx.getStorageSync("token") }, success: function (res) { successFun(res, success); }, fail: function (err) { if (fail) fail(); console.log(err); wx.showToast({ title: '网络连接失败', icon: "none" }); } }) }, } 2.delete请求在页面上直接使用(例:店铺取消收藏) /**取消收藏 */ deleteShop:function(storeId){ var url ="xxx/xxx?storeId="+storeId; httpService.delete(url,function (res) { if (res.code == "200") { wx.showToast({ title: '已取消', }) } else { wx.showModal({ content: res.message }) } }) }, 3.get和post请求二次封装,providers文件夹下新建service.js文件 //引入httpService const httpRequest = require("./httpRequest"); module.exports = { /** get请求不带参数 */ getOrders: function(success) { httpRequest.get("xxx/xxx", {}, function(data) { if (data.code == 200) { success(data.result); } else { wx.showModal({ content: data.message }); } }) }, /** get请求带参数 */ getPrice: function(options, success) { httpRequest.get("xxx/xxx", options, function(data) { if (data.code == 200) { success(data.result); } else { wx.showModal({ content: data.message }) } }) }, /** post请求 */ reserve: function(options, success) { httpRequest.post("xxx/xxx", options, function(data) { if (data.code == 200) { success(data.result); } else { wx.showModal({ content: data.message }); } }) }, } 4.页面上使用 //全局引入 const service = require("../../providers/service.js"); page({ data:{}, onLoad:function(options){ service.getPrice({userId:options.storeId},res=>{ console.log(res) }) } )}
最新回复(0)