微信小程序搭配小白接口,自己没有服务器也能开发哦

原创
2018/03/25 09:50
阅读数 1.6K

这里将重点介绍,在自己没有服务器的情况下,如何在微信小程序里直接调用小白接口。

 

前提

假设你已经开通微信小程序,如果还没有,可前往微信公众平台开通:https://mp.weixin.qq.com

假设你已经开通小白接口,如果还没有,可到https://www.okayapi.com/?f=mwx 免费注册开通

 

源代码

本示例源代码可到码云上下载,点击下载:https://gitee.com/dogstar/okayapi-demo

最终运行效果:

关键配置

修改request合法域名

首先,登录微信公众号平台,进入:设置 - 开发设置 - 服务器域名,修改request合法域名,修改为你当前所在的小白接口域名。小白接口已支持HTTPS访问。如下:

如果不清楚自己所在的域名,可登录小白后台,进入:系统设置 - 我的套餐,查看接口域名。如:

注意!并不是全部的所在域名都是https://api.okayapi.com,只有在这设置后,才能允许在小程序中请求接口。

修改app.js里的globalData

然后,下载本接入示例的代码,使用微信开发者工具(点击下载)打开,并修改app.js里的globalData配置。如下:

关于APP_KEY和APP_SECRECT,可以在前面我的套餐里找到。

配置完成后,我们就可以开始在小程序里进行功能开发啦。下面来看,如何编写代码请求小白接口。

先在你的utils目录内文件里添加okayapi.js和md5.js这两个文件。然后在你的index.js文件内,先引入okayapi.js,即:

//index.js
let okayapi = require('../../utils/okayapi.js')

通过wx.request请求小白接口

然后,使用微信提供的wx.request对小白接口发起请求。需要注意的是,传递的参数须经过okayapi.enryptData()进行加密,在返回的结果中的wxRes.data才是小白接口的返回结果。

  /** * 小白接口请求示例 */
  okayApiHelloWorld: function(e) {
    /** * 准备接口参数 */
    let params = {
      s: "Hello.World",         // 必须,待请求的接口服务名称
      name: "dogstar"         // 可选,根据接口文档,补充更多接口参数
    };
    let _self = this

    /** * 对小白接口发起请求 */
    wx.request({
      url: app.globalData.okayapiHost,
      data: okayapi.enryptData(params),
      success: function (wxRes) {
        // TODO:实现你的梦想……
        let res = wxRes.data

        if (res.data && res.data.err_code == 0) {
          // TODO:请求成功
          console.log('ok: ', res.data)

          _self.setData({
            motto: res.data.title
          })
        } else {
          // TODO:当前操作失败
          console.log('fail: ', res)

          _self.setData({
            motto: res.data.err_msg
          })
        }

      }
    }) 
  }

调用成功的情况下,会看到类似这样的调试信息:

使用PHP代理请求小白接口

以上是针对自己没有服务器下,微信小程序直连小白接口的接入指南。如果自己有服务器,并且不能修改现在微信小程序上的request合法域名时,则可以使用上面介绍的PHP代理。PHP代理的使用更简单,只需要将PHP代理文件上传到你的服务器上,然后在微信小程序请求接口时,链接改为刚才PHP代理的链接即可。这种使用场景,更为简便,不需要修改request合法域名,也不需要修改app.js里的globalData配置,也不需要在wx.request进行okayapi.enryptData()加密。因为这些都全部移到了PHP代理内实现,因此也更为安全。

即调用链如下:

// 自己没有服务器(通过wx.request直接请求小白接口)
微信小程序 -> 小白接口

// 自已有服务器(通过PHP代理中转请求小白接口)
微信小程序 -> 自己服务器的PHP代理 -> 小白接口

对于自己有服务器的情况,推荐使用PHP代理;如果没有自己的服务器也不要紧,可参考上面的接入指南。

 

在小白接口上,你可以存放很多自己的数据,与微信小程序搭配起来开发,你就能开发任何应用啦~~

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部