使用LeanCloud快速開發一款小程式
前言
開發小程式離不開後臺資料,對於獨立開發者來說,既要寫前端,又要寫後端,工作量就會驟然增大。微信提供的雲開發無疑是給獨立開發者提供了很大的便利,但是由於其資料庫不支援聯表查詢,對於某些場景就不是那麼的友好了。當然,市面上有很多的BaaS
服務提供商,大都類似,今天我們就用其中的一個LeanCloud
來講解一下,如何快速使用LeanCloud
來開發一個小程式。 由於本次重點在LeanCloud
,所以小程式的開發內容就不是重點。
現在開始
- 賬號註冊
先去leancloud.cn官網註冊一個賬號,然後登入去控制檯建立一個新應用。
- 域名配置
在微信小程式後臺中配置域名白名單,具體需要按照
SDK
整合
下載你熟悉的SDK,目前支援JS
,WePY
,mpvue
,下載連結在這裡,後面以JS
來說明,其他方式的SDK
匯入以及使用方法參考文件中的說明。
- 初始化
SDK
在app.js
中加入以下程式碼即可。appId
和appKey
可以在控制檯中的應用找到。
const AV = require('./utils/av-live-query-weapp-min');
AV.init({
appId: '換成你自己的appId' ,
appKey: '換成你自己的appKey',
});
複製程式碼
- 查詢資料
先需要在控制檯中的應用下新建一個表,在網頁中叫做Class
。每一張表會預設建立objectId
、createdAt
、updatedAt
、ACL
四個欄位,分別表示資料索引
,建立時間
,更新時間
、許可權
。你可以新增你想要的欄位,目前支援以下幾種型別。
其中Object
是map
物件,GeoPoint
是經緯度資訊,Pointer
是另外一張表的表名,做多表聯合查詢使用的。 假設我們的表名是T_TODO
,我們可以用以下程式碼來查詢該表下面的資料。
new AV.Query('T_TODO')
.descending('createdAt' ) // 排序
.limit(10) // 分頁數量
.skip(10) // 跳過數量
.find()
.then(function(results) {
that.setData({todo: results})
})
.catch(console.error);
}
複製程式碼
在你的WXML
中可以這樣寫來做資料繫結:
<!-- pages/todos/todos.wxml -->
<block wx:for="{{todos}}" wx:for-item="todo" wx:key="objectId">
<text data-id="{{todo.objectId}}">
{{todo.content}}
</text>
</block>
複製程式碼
是不是很方便。
- 多表查詢
如果需要多多表查詢,先要在一張表中新建一個Pointer
欄位,新建時會讓你選擇指向的表名,如下圖所示:
include
,就會返回關聯表中的所有資訊了,如下所示:
new AV.Query('T_TODO')
.descending('createdAt') // 排序
.limit(10) // 分頁數量
.skip(10) // 跳過數量
.include('T_POINT_CLASS')
.find()
.then(function(results) {
that.setData({todo: results})
})
.catch(console.error);
}
複製程式碼
- 更新物件
小程式中對錶中欄位做操作後,需要同步更新到服務端,可以使用以下程式碼來儲存物件。
// 第一個引數是 className,第二個引數是 objectId
var todo = AV.Object.createWithoutData('Todo', '5745557f71cfe40068c6abe0');
// 修改屬性
todo.set('content', '每週工程師會議,本週改為週三下午3點半。');
// 儲存到雲端
todo.save();
複製程式碼
- 其他更多的操作請檢視文件,不過你找不到小程式對應的詳細開發文件,只能找到資料儲存開發指南 · JavaScript
廣告時間
三國圖鑑
是我業餘時間開發的查詢三國殺武將技能以及官方活動的小程式,後臺服務就是由LeanCloud
提供的,請大家多多關照。如果有其他問題,你可以關注我的公眾號來聯絡我。
- 掃碼體驗小程式
- 掃碼關注公眾號