這裏將重點介紹,在本身沒有服務器的狀況下,如何在微信小程序裏直接調用小白接口。javascript
假設你已經開通微信小程序,若是尚未,可前往微信公衆平臺開通:https://mp.weixin.qq.comphp
假設你已經開通小白接口,若是尚未,可到 https://www.okayapi.com/?f=mwx 免費註冊開通html
本示例源代碼可到碼雲上下載,點擊下載:https://gitee.com/dogstar/okayapi-demo。java
最終運行效果:
git
首先,登陸微信公衆號平臺,進入:設置 - 開發設置 - 服務器域名,修改request合法域名,修改成你當前所在的小白接口域名。小白接口已支持HTTPS訪問。以下:數據庫
若是不清楚本身所在的域名,可登陸小白後臺,進入:系統設置 - 個人套餐,查看接口域名。如:小程序
注意!並非所有的所在域名都是api.okayapi.com,只有在這設置後,才能容許在小程序中請求接口。微信小程序
而後,下載本接入示例的代碼,使用微信開發者工具(點擊下載)打開,並修改app.js裏的globalData配置。以下:api
關於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/)上都有介紹哦,還有視頻教程。基本上,搭配小程序,能夠開發不少本身的快應用啦~~~
在小白接口上,你能夠存放不少本身的數據,與微信小程序搭配起來開發,你就能開發任何應用啦~~ ^_^