微信小程序云開(kāi)發(fā)使用方法新手初體驗(yàn)
今天看到微信推送了一條小程序云上線通知,作為一個(gè)前端er,滿懷期待的去看了看,很不錯(cuò)先看看文檔上怎么說(shuō)的:
開(kāi)發(fā)者可以使用云開(kāi)發(fā)開(kāi)發(fā)微信小程序、小游戲,無(wú)需搭建服務(wù)器,即可使用云端能力。
云開(kāi)發(fā)為開(kāi)發(fā)者提供完整的云端支持,弱化后端和運(yùn)維概念,無(wú)需搭建服務(wù)器,使用平臺(tái)提供的 API 進(jìn)行核心業(yè)務(wù)開(kāi)發(fā),即可實(shí)現(xiàn)快速上線和迭代,同時(shí)這一能力,同開(kāi)發(fā)者已經(jīng)使用的云服務(wù)相互兼容,并不互斥。(就是說(shuō)以后老板讓你做小程序,連個(gè)后臺(tái)的人都不用給你配了,自己搞定就行了)。
目前提供三大基礎(chǔ)能力支持:
- 云函數(shù):在云端運(yùn)行的代碼,微信私有協(xié)議天然鑒權(quán),開(kāi)發(fā)者只需編寫自身業(yè)務(wù)邏輯代碼
- 數(shù)據(jù)庫(kù):一個(gè)既可在小程序前端操作,也能在云函數(shù)中讀寫的 JSON 數(shù)據(jù)庫(kù)
- 存儲(chǔ):在小程序前端直接上傳/下載云端文件,在云開(kāi)發(fā)控制臺(tái)可視化管理
說(shuō)白了就是,云函數(shù)就是后端代碼,現(xiàn)在叫云函數(shù),自己寫,自己上傳,數(shù)據(jù)庫(kù)沒(méi)什么好說(shuō)的,就是數(shù)據(jù)庫(kù),不過(guò)這個(gè)數(shù)據(jù)庫(kù)是json數(shù)據(jù)庫(kù),很方便,怎么個(gè)方便法呢,看下圖:
傳統(tǒng)數(shù)據(jù)庫(kù)以mysql為例子:
看到int..這么多類型是不是很煩躁,取的時(shí)候再合并多個(gè)表也很麻煩
小程序云json數(shù)據(jù)庫(kù):
看到這些類型是不是很親切,大大降低了新手對(duì)數(shù)據(jù)庫(kù)理解,不用學(xué)黑窗口,sql命令,還可以導(dǎo)入josn數(shù)據(jù),很是方便。
現(xiàn)在走一遍流程:
1、創(chuàng)建帶小程序云模板的小程序:
----新建一個(gè)空的文件夾,填入你的appId(必須),官方說(shuō) :勾選創(chuàng)建 “云開(kāi)發(fā) QuickStart 項(xiàng)目”,實(shí)際上是"建立云開(kāi)發(fā)快速啟動(dòng)模板",有點(diǎn)坑哦,同學(xué)要注意,點(diǎn)擊確定 ==>
2.看到這么多是不是有點(diǎn)方 - -!,看到多了一個(gè)東西,點(diǎn)擊創(chuàng)建自己的環(huán)境,,具體就是寫個(gè)名字,創(chuàng)個(gè)一個(gè)環(huán)境,官方上說(shuō)是最好創(chuàng)建倆個(gè)環(huán)境,一個(gè)是開(kāi)發(fā)環(huán)境,一個(gè)是線上環(huán)境。
不做贅述,都是免費(fèi)的
看這配置給的也挺良心,一般人真的不用升級(jí)配置 ==>
3.選擇環(huán)境,環(huán)境創(chuàng)建好了,不過(guò)還沒(méi)有使用上
對(duì)第一個(gè)文件夾點(diǎn)右鍵,選擇你要使用的環(huán)境,下面則是你的云函數(shù),就是跑在服務(wù)器上的。
對(duì)login文件夾點(diǎn)右鍵,選擇上傳并部署,ps:不上傳部署怎么使用呀,所以沒(méi)毛病。==>
4.先別急上傳個(gè)login是怎么使用的,我們先去看點(diǎn)擊獲取openid是事件,發(fā)現(xiàn),這里只有個(gè)name對(duì)應(yīng)上上傳的云函數(shù)事件名,而云函數(shù)直接就返回了openid,看看云函數(shù)是怎么實(shí)現(xiàn)的
wx.cloud.callFunction({ name: 'login', data: {}, success: res => { console.log('[云函數(shù)] [login] user openid: ', res.result.openid) app.globalData.openid = res.result.openid wx.navigateTo({ url: '../userConsole/userConsole', }) }, fail: err => { console.error('[云函數(shù)] [login] 調(diào)用失敗', err) wx.navigateTo({ url: '../deployFunctions/deployFunctions', }) } })
// 云函數(shù)模板 // 部署:在 cloud-functions/login 文件夾右擊選擇 “上傳并部署” /** * 這個(gè)示例將經(jīng)自動(dòng)鑒權(quán)過(guò)的小程序用戶 openid 返回給小程序端 * * event 參數(shù)包含 * - 小程序端調(diào)用傳入的 data * - 經(jīng)過(guò)微信鑒權(quán)直接可信的用戶唯一標(biāo)識(shí) openid * */ exports.main = (event, context) => { console.log(event) console.log(context) // 可執(zhí)行其他自定義邏輯 // console.log 的內(nèi)容可以在云開(kāi)發(fā)云函數(shù)調(diào)用日志查看 return { openid: event.userInfo.openId, } }
云函數(shù)里,直接就能拿到用戶的openid和appid并返回,所以在前端上拿到了openid,真的是很方便。==>
5.關(guān)于數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)那邊每一個(gè)表都有權(quán)限設(shè)置,好好看一下。
創(chuàng)建很簡(jiǎn)單,讀取也很簡(jiǎn)單,很像slq語(yǔ)句。
先創(chuàng)建一個(gè)db對(duì)象,然后直接走collection('表名字').where({條件}).get().then(res=>{}) ,我這里使用的是Promise風(fēng)格,當(dāng)然也可以使用回調(diào)的方式,就可以把表里的數(shù)據(jù)都取出來(lái)在頁(yè)面上展示了。
const db = wx.cloud.database(); db.collection('todos').where({ _id: 'W5c0IDWesyZkco4t' }).get().then(res => { this.setData({ dataList: res.data }) })
更多api還是得看接口
感覺(jué)還可以繼續(xù)完善,使用起來(lái)感覺(jué)很好,把一切變的簡(jiǎn)單。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js截取固定長(zhǎng)度的中英文字符的簡(jiǎn)單實(shí)例
下面是自己寫的一個(gè)簡(jiǎn)單的函數(shù),用于截取固定長(zhǎng)度的字符串,中英文都適用.若有不妥之處還請(qǐng)高手指正2013-11-11JavaScript+Java實(shí)現(xiàn)HTML頁(yè)面轉(zhuǎn)為PDF文件保存的方法
借助iText這個(gè)Java庫(kù),我們可以將HTML文件保存為圖片文件進(jìn)而轉(zhuǎn)換成PDF格式,接下來(lái)就來(lái)具體看下JavaScript+Java實(shí)現(xiàn)HTML頁(yè)面轉(zhuǎn)為PDF文件保存的方法2016-05-05沒(méi)有document.getElementByName方法
document.getElementByName方法沒(méi)有document.getElementsByName得到的是標(biāo)簽的數(shù)組,下面為大家詳細(xì)介紹下具體的使用,感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08js中的scroll和offset 使用比較的實(shí)例與分析
這篇文章介紹了js中的scroll和offset使用比較的實(shí)例與分析,有需要的朋友可以參考一下2013-09-09javascript學(xué)習(xí)筆記之函數(shù)定義
本文主要給大家介紹了javascript的一些函數(shù)定義方面的基礎(chǔ)知識(shí),包括函數(shù)聲明式、函數(shù)表達(dá)式、Function 構(gòu)造函數(shù)等,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2015-06-06ES6 Object方法擴(kuò)展的應(yīng)用實(shí)例分析
這篇文章主要介紹了ES6 Object方法擴(kuò)展的應(yīng)用,結(jié)合實(shí)例形式總結(jié)分析了ES6針對(duì)對(duì)象方法的擴(kuò)展與優(yōu)化,需要的朋友可以參考下2019-06-06JS自動(dòng)倒計(jì)時(shí)30秒后按鈕才可用(兩種場(chǎng)景)
在WEB程序開(kāi)發(fā)中經(jīng)常會(huì)見(jiàn)到用倒計(jì)時(shí)限制用戶對(duì)表單的操作,希望用戶在規(guī)定的時(shí)間內(nèi)閱讀完協(xié)議信息才允許用戶繼續(xù)下一步操作,本文通過(guò)兩種場(chǎng)景分析js實(shí)現(xiàn)自動(dòng)倒計(jì)時(shí)30秒后按鈕才可用,小伙伴快來(lái)學(xué)習(xí)吧2015-08-08