微信小程序 - 调用后台api接口方法

这篇具有很好参考价值的文章主要介绍了微信小程序 - 调用后台api接口方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、接口请求封装http.js

/**
 * GET请求封装
 */
function get(url, data = {}) {
  var contentType = 'application/x-www-form-urlencoded';
  return request(url, data, 'GET', contentType)
}

/**
 * POST请求封装
 */
function post(url, data = {}) {
  var contentType = 'application/json';
  return request(url, data, 'POST', contentType)
}

/**
 * PUT请求封装
 */
function put(url, data = {}) {
  var contentType = 'application/json';
  return request(url, data, 'PUT', contentType)
}

/**
 * DELETE请求封装
 */
function del(url, data = {}) {
  var contentType = 'application/json';
  return request(url, data, 'DELETE', contentType)
}

/**
 * 微信的request
 */
function request(url, data = {}, method, contentType) {
  return new Promise(function(resolve, reject) {
    wx.request({
      url: url,
      data: data,
      method: method,
      header: {
        'Content-Type': contentType,
        //'Authorization': 'Bearer ' + getDataByKey('token'),
        'X-Token': wx.getStorageSync('token'),
        'Cookie':wx.getStorageSync('cookie')
      },
      success: function(res) {
        console.log('===========================================================')
        console.log('==    接口地址:' + url)
        console.log('==    接口参数:' + JSON.stringify(data))
        console.log('==    请求类型:' + method)
        console.log("==    接口状态:" + res.statusCode);
        console.log('===========================================================')
        if (res.statusCode == 200) {
          //请求正常200
          //AES解密返回的数据
          var result = null
          console.log(res.data)
          try {
            //此处结合了上篇文章的AES解密,如果不需要加解密,可以自行去掉,直接使用数据 res.data。
            result = res.data
            // console.log('数据:' + result.data)
            //data = JSON.parse(data)
            if (result.status) {
              //正常
              resolve(result);
            } else {
                if(result.code == 403){
                    reject("登录已过期")
                    wx.reLaunch({
                        url: '/pages/login/login',
                      })
                }
              
              reject(result.msg)
            }
          } catch (error) {
            console.log('==    数据解码失败')
            reject("数据解码失败")
          }
        } else if (res.statusCode == 401) {
          //此处验证了token的登录失效,如果不需要,可以去掉。
          //未登录,跳转登录界面
          reject("登录已过期")
        } else {
          //请求失败
          reject("请求失败:" + res.statusCode)
        }
      },
      fail: function(err) {
        //服务器连接异常
        console.log('=============================================================')
        console.log('==    接口地址:' + url)
        console.log('==    接口参数:' + JSON.stringify(data))
        console.log('==    请求类型:' + method)
        console.log("==    服务器连接异常")
        console.log('=============================================================')
        reject("服务器连接异常,请检查网络再试")
      }
    })
  });
}
//测试地址 
const ApiRootUrl = 'http://192.168.21.40:18080'; 
module.exports = {
  request,
  get,
  post, 
  put,
  del,
  // 登录
  postLogin:ApiRootUrl+'/postLogin',//登录
  // 广播下发
  devicePage:ApiRootUrl+'/cloud/device/page',//设备列表
  broadcast:ApiRootUrl+'/bluetooth/broadcast',//广播播报
  broadcastPageList:ApiRootUrl+'/bluetooth/broadcastPageList',//获取广播下发记录
  getBroadcastDetailByGroupId:ApiRootUrl+'/bluetooth/getBroadcastDetailByGroupId',//获取广播下发记录
  //蓝牙
  compoundPack:ApiRootUrl+'/bluetooth/compoundPack',//获取下发指令内容
  frameParse:ApiRootUrl+'/bluetooth/frameParse',//数据帧解析
}

2、使用index.js

var http = require("../../../utils/http");  //引入

//调用
http.get(http.getBroadcastDetailByGroupId, myData).then((res, err) => {
            console.log(res, err)
            if (res.status) {
                
            }
        })

文章来源地址https://www.toymoban.com/news/detail-794466.html

到了这里,关于微信小程序 - 调用后台api接口方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序调用本地http接口设置以及django 遇到的csrf 403错误解决方法

    1) 如果微信小程序需要和本地localhost端口进行通信联调。首先需要设置微信小程序为 ”不校验合法域名…“设置,这样就可以跳过域名安全检测,不然会出现网站不在安全名单内: 2)此时调用之后,后端会出现如下错误: 这是因为:在微信小程序端对Django后台进行POST请求

    2024年02月07日
    浏览(59)
  • 对接微信小程序后台录入发货信息API

    /**      * 录入小程序发货信息      */     public function uploadWxappShippingInfo($openid,$order_data){         $data = array(             \\\'order_key\\\'=array(                 \\\'order_number_type\\\'=2,                 \\\'transaction_id\\\'=$order_data[\\\'transaction_id\\\'],//微信支付返回id             ),        

    2024年02月03日
    浏览(41)
  • 微信小程序使用PHP调用后台mysql数据库-小白版

    1.域名备案 首先,需要有一个域名,且这个域名是已经备过案的。(如果小程序不发布正式版只用于线上测试则不影响) 2.后台服务器 其次,需要一个服务器,我这里使用的是宝塔面板,对小白很友好,很方便操作。 也可以买个虚拟主机,一个月几块钱左右,很适合小白弄

    2024年04月14日
    浏览(51)
  • 微信小程序 | 小程序系统API调用

    🖥️ 微信小程序专栏:小程序系统API调用 🧑‍💼 个人简介:一个不甘平庸的平凡人🍬 ✨ 个人主页:CoderHing的个人主页 🍀 格言: ☀️ 路漫漫其修远兮,吾将上下而求索☀️ 👉 你的一键三连是我更新的最大动力❤️ 目录 一、网络请求API和封装 网络请求 – API参数 网络请

    2024年02月03日
    浏览(37)
  • 微信小程序+SpringBoot接入后台服务,接口数据来自后端

    文章底部有个人公众号:小兔教你学编程。主要目的是方便阅读。主要分享一些前后端初中级知识、开发实战案例、问题解决等知识。        前两天开发了一个微信小程序项目,只不过接口数据是自己设置的假数据。然后我就想将这些假数据替换掉。这些数据来自接口,

    2024年02月12日
    浏览(56)
  • 微信小程序实现分享里调用接口

    在开发微信小程序的时候,有一个需求,在点击分享按钮的时候,调用后台的接口,来获取一个分享的值,在分享的时候在分享链接里拼这个值。 初始的想法 在onShareAppMessage里使用promise 在这里去请求接口,但随后就遇到了问题,在用户未登录的情况下点击分享按钮,会跳转

    2024年02月11日
    浏览(40)
  • 微信小程序(四十)API的封装与调用

    注释很详细,直接上代码 上一篇 新增内容: 1.在单独的js文件中写js接口 2.以注册为全局wx的方式调用接口 源码: utils/testAPI.js app.js index.js 效果演示:

    2024年02月20日
    浏览(37)
  • 微信小程序 开发开发工具接口调用成功,真机调试接口调用失败

    问题:微信小程序中 开发开发工具接口调用成功,真机调试接口调用失败 个人遇到的问题原因:证书有问题 找到的证书测试 1、 由于系统限制,不同平台对证书要求的严格程度不同。为了保证小程序的兼容性,建议开发者按照最高标准配置证书,并使用相关工具检查现有证书

    2024年02月13日
    浏览(55)
  • 微信小程序调用百度智能云API(菜品识别)

    这里需要使用到如下几个参数(如下),其他的参数可以不管 client_id : 就是创建应用后的API Key client_secret: 就是创建应用后的Secret Key image: 需要用图片转换后的base64 url : 需要用到图片的线上地址,不能使用本地ip地址 调用成功后会如下图返回数据,当前使用以下三个数据

    2024年04月27日
    浏览(35)
  • 微信小程序路由跳转,API调用,页面传值

    wx.switchTab 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。 wx.reLaunch 关闭所有页面,打开到应用内的某个页面。 wx.redirectTo 关闭当前页面,跳转到应用内的某个页面。但是不能跳转到 tabbar 页面。 wx.navigateTo 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包