【微信小程序】对微信http请求API的封装,方便对错误码进行处理
| /** | |
| * App 微信配置文件app.js | |
| * author: nujey | |
| * versions: 1.0.0 | |
| */ | |
| App({ | |
| /** | |
| * @param {Object} options 调用的时候传入的参数对象 | |
| */ | |
| ajax: function (options) { | |
| // 把app的this重新保存 | |
| const wx_this = this | |
| // 请求过渡加载过程 | |
| // showLoading是微信自带的api 就是菊花转转转的请求过程 | |
| wx.showLoading({ | |
| title: '加载中', | |
| }) | |
| // 把调用的时候传入的url和小程序的域名拼接 | |
| // 得到 调用接口的地址 | |
| // this.globalData.apiHost 是获取到全局数据下面的接口域名 | |
| options.url = this.globalData.apiHost + options.url; | |
| return new Promise(function(resolve, reject) { | |
| // 发起微信请求 | |
| wx.request({ | |
| method: options.method, | |
| url: options.url, | |
| data: options.data, | |
| success: (result) => { | |
| wx.hideLoading() | |
| // http请求时200的时候 | |
| if (result.statusCode === 200) { | |
| // 这里是请求到的数据的code为成功的时候 可以根据自己的情况来定 100是自定义的 后台返回成功 | |
| if (result.data.code === 100) { | |
| resolve(result) | |
| } else if (result.data.code === 101) { | |
| // 这里的101 不是幛光101 是一个后台返回101的时候 证明微信登陆已经过时 需要重新登录一下 | |
| app.login(function () { | |
| that.onLoad({ id: that.data.id }); | |
| }); | |
| } else { | |
| // 其余的错误信息和code码 可以根据具体情况来定义title | |
| wx.showModal({ | |
| title: result.data.code.toString(), | |
| content: result.data.hint, | |
| showCancel: false, | |
| }) | |
| } | |
| } else { | |
| // http请求错误信息处理 微信自带的弹出框 | |
| wx.showModal({ | |
| title: '提示', | |
| content: '服务器错误,请联系客服', | |
| showCancel: false, | |
| }) | |
| } | |
| }, | |
| }) | |
| }) | |
| } | |
| }) | |
| // 调用 | |
| // 在每个页面的page前面会有一个 app = getApp() 获取app实例 | |
| const app = getApp() | |
| page({ | |
| // 比如我们在onLoad的时候 | |
| onLoad: function() { | |
| const params = { | |
| token: '...', | |
| id: '...', | |
| } | |
| app.ajax(params).then((result) => { | |
| // 处理数据 | |
| }) | |
| } | |
| }) | |
| // 具体的情况可以自己来修改一下 | |
| // 大佬们勿嘲风 小白上路 |
原文地址是我的github地址:求个星星~~~~· https://github.com/nujey/wx-request-ajax/blob/master/wx-request-ajax.js
【微信小程序】对微信http请求API的封装,方便对错误码进行处理的更多相关文章
- 微信小程序的ajax数据请求wx.request
微信小程序的ajax数据请求,很多同学找不到api在哪个位置,这里单独把小程序的ajax请求给列出来,微信小程序的请求就是wx.request这个api,wx.request(一些对象参数),微信小程 ...
- 微信小程序城市定位(百度地图API)
概述 微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息. ...
- 微信小程序request(ajax)接口请求封装
微信小程序request(ajax)接口请求封装 最近在进行小程序的编写,需要调用后端接口,经常要用到wx.request方法,所以就自己封装了一下,简化一下代码,如果能给大家提供帮助更好,在封装的时 ...
- 微信小程序之微信登陆 —— 微信小程序教程系列(20)
简介: 微信登陆,在新建一个微信小程序Hello World项目的时候,就可以看到项目中出现了我们的微信头像,其实这个Hello World项目,就有一个简化版的微信登陆.只不过是,还没有写入到咱们自 ...
- 微信小程序与微信公众号同一用户登录问题
微信小程序与微信公众号同一用户登录问题 最近在做微信小程序与微信公众号登录合并的接口.整理相关资料以及个人认识的心得写了这篇文章与大家一起分享. 首先,简单说下我遇到的问题是我们的程序调用微信小程序得 ...
- 微信小程序结合微信公众号进行消息发送
微信小程序结合微信公众号进行消息发送 由于小程序的模板消息已经废弃了,官方让使用订阅消息功能.而订阅消息的使用限制比较大,用户必须得订阅.需要获取用户同意接收消息的权限.用户必须得和小程序有交互的时候 ...
- [转]微信小程序、微信公众号、H5之间相互跳转
本文转自:https://www.cnblogs.com/colorful-paopao1/p/8608609.html 转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加 ...
- 微信小程序、微信公众号、H5之间相互跳转
转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 图片有点小,我把文字打出来吧: 可关联已有的小程序或快速创建小程序.已关联的小程序可被使用在自定义菜单和模版消息 ...
- 微信小程序(微信应用号)开发ide安装解决方法
这两天整个技术圈都炸锅了,微信小程序(微信应用号)发布内测,首批200家收到邀请,但是没受邀请的同学,也不用担心,下面介绍一下解决方法. 首先需要下载ide,昨天只需要下载0.9版本的编辑器并替换文件 ...
- 微信小程序(原名微信应用号)开发工具0.9版安装教程
微信小程序全称微信公众平台·小程序,原名微信公众平台·应用号(简称微信应用号) 声明 微信小程序开发工具类似于一个轻量级的IDE集成开发环境,目前仅开放给了少部分受微信官方邀请的人士(据说仅200个名 ...
随机推荐
- diy51单片机最小系统------从零件到51整体测试成功小白篇
前言 因为现在网上资料很多,但是很多博主水平不一样,有很多时候,自己在网上找了很多资料,因为自己智商不够,有时候感觉很多关键性的东西没说清楚,导致解决不了问题.那现在就从一个小白的角度来记录自己做过的 ...
- Matlab绘图基础——散点生成三角网(TIN)
%例一:二维三角网TIN模型的生成 X=rand(10,2)*5; dt=DelaunayTri(X(:,1),X(:,2)); %生成三角网 triplot(dt);hold on; ...
- [jdoj1090]矩阵_区间dp
矩阵 jdoj-1910 题目大意:给你连续的n个矩阵的长和宽,保证每连续的两个相邻矩阵满足相乘的条件,不能改变题目中矩阵的位置,求将这些矩阵相乘为一个矩阵的最小乘法次数. 注释:1<=n< ...
- Post Office
Post Office poj-1160 题目大意:给你在数轴上的n个村庄,建立m个邮局,使得每一个村庄距离它最近的邮局的距离和最小,求距离最小和. 注释:n<=300,m<=min(n, ...
- python入门(Python和Pycharm安装)
Python简介 Python是一种计算机程序设计语言,它结合了解释性.编译性.互动性和面向对象的脚本语言,非常简单易用.Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他 ...
- LeetCode算法一题型一以及解答。
题目: 给定一个整数数列,找出其中和为特定值的那两个数. 你可以假设每个输入都只会有一种答案,同样的元素不能被重用. 分析: 普遍方法是直接遍历两遍数组,第一遍用target-nums[i],第二遍找 ...
- JAVA-基础语法篇
JAVA-基础语法篇 一. 基础语法: 对大小写敏感 类名的首字母大写 方法名首字母小写,后面用驼峰发命名 源文件名和类名要相同 主方法入口: public static void main( ...
- Repeating Decimals UVA - 202
The / repeats indefinitely with no intervening digits. In fact, the decimal expansion of every ratio ...
- CountDownLatch 源码解析—— await()
上一篇文章说了一下CountDownLatch的使用方法.这篇文章就从源码层面说一下await() 的原理. 我们已经知道await 能够让当前线程处于阻塞状态,直到锁存器计数为零(或者线程中断). ...
- CountDownLatch 使用说明
CountDownLatch是一种java.util.concurrent包下一个同步工具类,它允许一个或多个线程等待直到在其他线程中一组操作执行完成. CountDownLatch的用法非常简单,下 ...