說到serveless,當然是騰訊雲和阿里雲啦,而我想兩種環境切着來玩,那麼這個時候我選擇了uniCloud,uniCloud其實是對騰訊雲和阿里雲進行了再次封裝。
一、新鍵項目(老項目右鍵創建uniCloud雲開發環境)
1、勾選啓用uniCloud,後面可選阿里雲和騰訊雲
2、生成文件夾
3、右鍵選擇雲空間服務(沒有創建的雲服務空間的選擇第二個,或者地址)
4、右鍵新建雲函數
新建完成之後,郵件pay-add
雲函數上傳部署(當然你也可以上傳並運行(測試之類的))
5、新建雲數據庫
方式一 :右鍵cloudfunctions
文件夾,選擇創建db_init.json
方式二:通過管理後臺–>地址,創建自己的表
這裏我已經創建了3張表,並點擊新增記錄去增加字段
6、通過客戶端操作上傳數據到雲數據庫
這裏對pay
表新增數據
對步驟4中新建的雲函數pay-add
編寫
'use strict';
const db=uniCloud.database()
exports.main = async (event, context) => {
// 插入數據
let res = await db.collection('pay').add(event)
return res;
};
緊接着右鍵上傳部署,到這裏雲函數操作數據庫的階段完成,剩下的就是客戶端調用雲函數。
7、客戶端調用雲函數
通過uniCloud.callFunction來調用
// promise方式
uniCloud.callFunction({
name: 'test',
data: { a: 1 }
})
.then(res => {});
// callback方式
uniCloud.callFunction({
name: 'test',
data: { a: 1 },
success(){},
fail(){},
complete(){}
});
對這個進行簡要的封裝一下
Vue.prototype.$cloud = async function(name = "", params = {}) {
await uniCloud.callFunction({
name: name,
data: params
})
}
調用保存:
save(){
//保存記錄
this.$cloud('pay-add',this.form)
},
響應:
看這都ok了,再去雲數據庫中查看一下,可以看到這裏新增了一條數據
千里之行
始於足下