/**
  * 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的封装,方便对错误码进行处理的更多相关文章

  1. 微信小程序的ajax数据请求wx.request

    微信小程序的ajax数据请求,很多同学找不到api在哪个位置,这里单独把小程序的ajax请求给列出来,微信小程序的请求就是wx.request这个api,wx.request(一些对象参数),微信小程 ...

  2. 微信小程序城市定位(百度地图API)

    概述 微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息. ...

  3. 微信小程序request(ajax)接口请求封装

    微信小程序request(ajax)接口请求封装 最近在进行小程序的编写,需要调用后端接口,经常要用到wx.request方法,所以就自己封装了一下,简化一下代码,如果能给大家提供帮助更好,在封装的时 ...

  4. 微信小程序之微信登陆 —— 微信小程序教程系列(20)

    简介: 微信登陆,在新建一个微信小程序Hello World项目的时候,就可以看到项目中出现了我们的微信头像,其实这个Hello World项目,就有一个简化版的微信登陆.只不过是,还没有写入到咱们自 ...

  5. 微信小程序与微信公众号同一用户登录问题

    微信小程序与微信公众号同一用户登录问题 最近在做微信小程序与微信公众号登录合并的接口.整理相关资料以及个人认识的心得写了这篇文章与大家一起分享. 首先,简单说下我遇到的问题是我们的程序调用微信小程序得 ...

  6. 微信小程序结合微信公众号进行消息发送

    微信小程序结合微信公众号进行消息发送 由于小程序的模板消息已经废弃了,官方让使用订阅消息功能.而订阅消息的使用限制比较大,用户必须得订阅.需要获取用户同意接收消息的权限.用户必须得和小程序有交互的时候 ...

  7. [转]微信小程序、微信公众号、H5之间相互跳转

    本文转自:https://www.cnblogs.com/colorful-paopao1/p/8608609.html 转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加 ...

  8. 微信小程序、微信公众号、H5之间相互跳转

    转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 图片有点小,我把文字打出来吧: 可关联已有的小程序或快速创建小程序.已关联的小程序可被使用在自定义菜单和模版消息 ...

  9. 微信小程序(微信应用号)开发ide安装解决方法

    这两天整个技术圈都炸锅了,微信小程序(微信应用号)发布内测,首批200家收到邀请,但是没受邀请的同学,也不用担心,下面介绍一下解决方法. 首先需要下载ide,昨天只需要下载0.9版本的编辑器并替换文件 ...

  10. 微信小程序(原名微信应用号)开发工具0.9版安装教程

    微信小程序全称微信公众平台·小程序,原名微信公众平台·应用号(简称微信应用号) 声明 微信小程序开发工具类似于一个轻量级的IDE集成开发环境,目前仅开放给了少部分受微信官方邀请的人士(据说仅200个名 ...

随机推荐

  1. Java编程配置思路详解

    Java编程配置思路详解 SpringBoot虽然提供了很多优秀的starter帮助我们快速开发,可实际生产环境的特殊性,我们依然需要对默认整合配置做自定义操作,提高程序的可控性,虽然你配的不一定比官 ...

  2. Linux安装Python2.7.9

    1.下载python wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz 2.解压.编译安装 tar -zxvf Python- ...

  3. java冒泡排序和快速排序

    本ID技术干货公众号"java工会",欢迎关注指正. 一.冒泡排序 1.算法介绍 设排序表长为n,从后向前或者从前向后两两比较相邻元素的值,如果两者的相对次序不对(A[i-1] & ...

  4. Leetcode 5——Median of Two Sorted Arrays

    题目: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the ...

  5. beta冲刺6

    前言:此篇是补昨天凌晨的.后面有更新但是太晚了就没有即使更新.所以现在过来更新一下. 昨天的未完成: 用户测试+测试报告 目前剩下的功能点:输入内容检测 我的社团输出显示格式调整. 今天的完成: 我的 ...

  6. python简单路由系统

    # 输入模块名/函数 url = input('请输入网址:') module,func = url.split('/') m = __import__('lib.'+module,fromlist= ...

  7. 标准C++类std::string的内存共享和Copy-On-Write(写时拷贝)

    标准C++类std::string的内存共享,值得体会: 详见大牛:https://www.douban.com/group/topic/19621165/ 顾名思义,内存共享,就是两个乃至更多的对象 ...

  8. [Android]上传到多个Maven仓库的Gradle插件RapidMavenPushPlugin

    博客搬迁至https://blog.wangjiegulu.com RSS订阅:https://blog.wangjiegulu.com/feed.xml RapidMavenPushPlugin 用 ...

  9. div+css命名规则

    作为一个前端菜鸟,进公司的第一个项目就是中途从外包公司接过来的公司网站,在别人写过了的基础上接着写,命名什么的,简直不要太痛苦. 目前,这个网站已经完成,但是被后台人员指出命名不规范.有心想解释一两句 ...

  10. JAVA_SE基础——55.自定义异常类

    在Java中已经提供了大量的异常类,但是这些异常类有时野很难满足开发者的要求,所以用户可以根据自己的需要来定义自己的异常类.但自定义的异常类必须继承自Exception或其子类. 可以自定义出的问题称 ...