这里将重点介绍,在自己没有服务器的情况下,如何在微信小程序里直接调用小白接口。
假设你已经开通微信小程序,如果还没有,可前往微信公众平台开通:https://mp.weixin.qq.com
假设你已经开通小白接口,如果还没有,可到https://www.okayapi.com/?f=mwx 免费注册开通
本示例源代码可到码云上下载,点击下载:https://gitee.com/dogstar/okayapi-demo。
最终运行效果:
首先,登录微信公众号平台,进入:设置 - 开发设置 - 服务器域名,修改request合法域名,修改为你当前所在的小白接口域名。小白接口已支持HTTPS访问。如下:
如果不清楚自己所在的域名,可登录小白后台,进入:系统设置 - 我的套餐,查看接口域名。如:
注意!并不是全部的所在域名都是https://api.okayapi.com,只有在这设置后,才能允许在小程序中请求接口。
然后,下载本接入示例的代码,使用微信开发者工具(点击下载)打开,并修改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对小白接口发起请求。需要注意的是,传递的参数须经过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
})
}
}
})
}
调用成功的情况下,会看到类似这样的调试信息:
以上是针对自己没有服务器下,微信小程序直连小白接口的接入指南。如果自己有服务器,并且不能修改现在微信小程序上的request合法域名时,则可以使用上面介绍的PHP代理。PHP代理的使用更简单,只需要将PHP代理文件上传到你的服务器上,然后在微信小程序请求接口时,链接改为刚才PHP代理的链接即可。这种使用场景,更为简便,不需要修改request合法域名,也不需要修改app.js里的globalData配置,也不需要在wx.request进行okayapi.enryptData()加密。因为这些都全部移到了PHP代理内实现,因此也更为安全。
即调用链如下:
// 自己没有服务器(通过wx.request直接请求小白接口)
微信小程序 -> 小白接口
// 自已有服务器(通过PHP代理中转请求小白接口)
微信小程序 -> 自己服务器的PHP代理 -> 小白接口
对于自己有服务器的情况,推荐使用PHP代理;如果没有自己的服务器也不要紧,可参考上面的接入指南。
简单说一下,小白接口为小程序开发提供了较多接口,免费,可以直接调用。你可以把一些数据通过接口存到你的云端数据库(可以自己建表、加表字段,也可以使用自己的数据库,或默认的云端数据库)。例如这样:
使用小白接口进行数据的处理很简单,例如需要获取某个id的数据,请求的接口,以及返回的数据示例格式如下(其他的接口使用示例,基本上需要的数据接口都有提供哦):
http://api.okayapi.com/?s=App.Table.Get&model_name=git_project&id=6
返回的数据示例:
{
"ret": "200",
"data": {
"err_code": "0",
"err_msg": "",
"data": {
"id": 6, // 数据ID(系统保留字段,固定返回)
"uuid": "", // 用户ID(系统保留字段,固定返回)
"add_time": "2017-11-12 09:38:45", // 添加时间(系统保留字段,固定返回)
"update_time": "", // 最后更新时间,没有时返回空字段串(系统保留字段,固定返回)
"ext_data": "", // JSON格式的扩展字段,没有时返回空字段串(系统保留字段,固定返回)
"git_name": "",
"git_url": "",
"git_author": "dogstar"
}
},
"msg": ""
}
还有现成的会员模块,可以直接登录、注册、修改密码、进行账号联登等,也可以看到注册的用户,如:
还有更赞的功能,也可以接入微信平台的小程序接口哦,只需要在这配置一下,
就可以调用 微信小程序获取微信基本信息 接口,获取微信信息啦~~~~
这些在小白接口的官网(https://www.okayapi.com/)上都有介绍哦,还有视频教程。基本上,搭配小程序,可以开发很多自己的快应用啦~~~
在小白接口上,你可以存放很多自己的数据,与微信小程序搭配起来开发,你就能开发任何应用啦~~