大家在做小程式或者客戶端開發的時候肯定會想使得資料進行聯網,但這樣就必須有對應的后臺服務器以及資料庫,再加上linux運維等各種細節,往往會對新手比較勸退,在這里給大家推薦一種**bass(后端即服務)**,不僅支持小程式,還支持網頁端,android,ios多平臺呼叫,支持Java,python,c#等多種語言,最重要的是`懂球帝`的后端就是托管在這個平臺上的,安全性有很大的保障
**LeanCloud微信小程式官方接入教程** https://leancloud.cn/docs/weapp.html
微信小程式JavaScript語言資料存盤教程
https://leancloud.cn/docs/leanstorage_guide-js.html
上來先不管原理,擼一把能直接用的教程
打開LeanCloud控制臺網址
https://leancloud.cn/dashboard/applist.html#/apps
第一步:創建應用

第二步:填寫應用相關資訊
應用名稱必須填寫
個人使用的小型的專案就選擇開發版

開發版的使用限制:以物件存盤為例,其他可查看官方價格說明

具體解釋一下每日的總請求數與云端并發執行緒數
作業執行緒數指的是服務端可同時處理的請求數量,絕大多數應用需要的服務端作業執行緒數都不會超過 3 個,
假設服務端回應時間是 20 毫秒,那么每個作業執行緒每秒鐘可以處理 1,000 / 20 = 50 個請求,
一個榷訓一萬的應用,如果每個用戶都產生 50 個請求,而且這一萬個用戶每天都集中在兩個小時內打開應用,這兩小時內平均每秒鐘發生的請求數就是 10,000 × 50 / 2 / 60 / 60 = 69 個,只需要 69 / 50 = 1.15 個作業執行緒就足以應對這兩個小時的請求高峰,
考慮到可能出現的峰值,實際運行的產品應當盡量預留一定的冗余,商用版應用默認擁有 30 個作業執行緒,足以應對絕大部分需求,如有需要也可以按需調整,
資料 API 每天累計請求超過 30,000 次后,后續的請求會無法得到資料,并回傳錯誤碼 429,這個限制每日重置,***
服務端作業執行緒數 超過 3 時,后續的請求會無法得到資料,并回傳錯誤碼 429,這個限制在作業執行緒數小于 3 時解除,
第三步:可以看到我們創建的應用管理控制臺

第四步:在圖示界面進行管理

第五步:微信小程式開發工具SDK下載安裝
https://leancloud.cn/docs/start.html
前往 https://releases.leanapp.cn/#/leancloud/javascript-sdk/releases,
下載最新版本的 av-weapp-min.js,移動到 libs 目錄,
在 app.js 中使用 const AV = require('./libs/av-weapp-min.js'); 獲得 AV 的參考,在其他檔案中使用時請將路徑替換成對應的路徑,
這里牽扯到的一個問題就是路徑問題,這里普及一下路徑的表示方法

所以相對于程式代碼所在的檔案,利用好這個關系一定可以找到對應的路徑,
第六步
在 app.js 中使用 const AV = require('./libs/av-weapp-min.js'); 獲得 AV 的參考

并在app.js中初始化應用
//app.js
const AV = require('./libs/av-weapp-min.js');
AV.init({
appId: 'Cl2HGjUA2177jyaUblh54MBi-gzGzoHsz',
appKey: '6l8aMu7nsr6wNQau5TmczImP',
});
App({});
第七步
在index.js中實作物件存盤,具體詳細的之后再說,我們這里進行一個簡單的上傳作業在頁面加載完成之后
//獲取應用實體
const app = getApp();
const AV = require('../../libs/av-weapp-min.js');
Page({
onl oad: function() {
// 生命一個Todo型別
var Todo = AV.Object.extend('Todo'); //Todo即為資料表名稱(或類名)
// 新建一個Todo物件
var todo = new Todo();
// set方法:第一個引數為欄位名,第二個引數為該欄位的值
todo.set('title', '部長會議'); //title為欄位名,工程師周會為該欄位的值
todo.set('content', '周五晚上8點半');
// 只要添加這一行代碼,服務端就會自動添加這個欄位
todo.set('location', '507教室');
todo.save().then(function(todo) {
// 成功保存之后,執行其他邏輯.
console.log('New object created with objectId: ' + todo.id);
}, function(error) {
// 例外處理
console.error('Failed to create new object, with error message: ' + error.message);
});
}
})
第八步
實作完上邊的功能之后,界面打開代表資料已經上傳成功,可以在控制臺進行相關的查看

第九步:問題解決
** 如果出現下面問題**

** 找到工具 -> 專案詳情 -> 進入**

最后再按照這個域名設定進入我們微信公眾平臺 -> 小程式 -> 設定 -> 開發設定 -> 服務器域名

第十步上傳檔案
首先在視圖層進行頁面代碼撰寫,創建一個按鈕,設定一個按鈕點擊事件upload
<!--index.wxml-->
<view class="container">
<button bindtap='upload'>點擊上傳圖片</button>
</view>
第十一步、js代碼中實作按鈕點擊上傳選擇圖片
//按鈕點擊事件上傳圖片
upload: function() {
wx.chooseImage({
count: 9,//最多可選擇的圖片張數,最多為9張
sizeType: ['original', 'compressed'],//所選圖片尺寸,原圖、壓縮圖
sourceType: ['album', 'camera'],//選擇圖片的來源,從相冊選圖、使用相機
//介面呼叫成功的回呼函式
success: function(res) {
var tempFilePath = res.tempFilePaths[0]; //圖片的本地臨時檔案路徑串列
new AV.File('love', { //呼叫API介面上傳檔案,之后進行詳細講解
blob: {
uri: tempFilePath,
},
}).save().then(
file => console.log(file.url())
).catch(console.error);
}
});
}
第十二步:運行小程式,上傳圖片

第十三步:用戶系統一鍵登錄

//界面開始顯示時LeanCloud一鍵登錄
onShow: function() {
AV.User.loginWithWeapp().then(user => {
this.globalData.user = user.toJSON();
}).catch(console.error);
},
第十四步:查看用戶資訊
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">查看用戶資訊</button>
//獲取用戶資訊
bindGetUserInfo:function(e) {
console.log(e.detail.userInfo);
}

了解更多技術文章,歡迎關注我的個人公眾號

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/9832.html
標籤:嵌入式
