摘要:掘金主頁簡書主頁道常無為而無不為開發(fā)環(huán)境需要的信息和信息源小程序官方文檔小程序端文檔客戶端云端文檔服務(wù)端前言云開發(fā)封裝好了一些常用的業(yè)務(wù)邏輯,提供了以下方面的相關(guān)供開發(fā)者使用云函數(shù)數(shù)據(jù)庫存儲管理開始編碼現(xiàn)在先把微信開發(fā)工具更新至最新,有部
ArthurSlog
SLog-71
Year·1
Guangzhou·China
Sep 12th 2018
ArthurSlog Page
GitHub
NPM Package Page
掘金主頁
簡書主頁
segmentfault
道常無為而無不為
開發(fā)環(huán)境MacOS(High Sierra 10.13.5) 需要的信息和信息源:小程序官方文檔
小程序端API文檔(客戶端)
云端API文檔(服務(wù)端)
前言”云開發(fā)“ 封裝好了一些常用的業(yè)務(wù)邏輯,提供了以下方面的相關(guān)API供開發(fā)者使用:
云函數(shù)
數(shù)據(jù)庫
存儲管理
開始編碼現(xiàn)在先把微信開發(fā)工具更新至最新(1.02.1809101),有部分開發(fā)人員在微信社區(qū)反饋更新之后沒有看到“云開發(fā)”的按鈕
解決辦法:點擊檢查更新,等待更新完全完成之后重啟開發(fā)工具
重點:云開發(fā)方式需要appid,請準(zhǔn)備好
當(dāng)前云開發(fā)模版的微信小程序文件結(jié)構(gòu)如下:
cloudfunctions | - login | - index.js | - package.json | - package-lock.json | - arthurSlog_getInfo | - index.js | - package.json | - package-lock.json | - arthurSlog_methodAdd | - index.js | - package.json | - package-lock.json miniprogram | - images | - code-db-inc-dec.png | - code-db-onAdd.png | - code-db-onQuery.png | - code-db-onRemove.png | - code-func-sum.png | - console-entrance.png | - create-collection.png | - pages | - addFunction | - addFunction.js | - addFunction.json | - addFunction.wxml | - addFunction.wxss | - chooseLib | - chooseLib.js | - chooseLib.json | - chooseLib.wxml | - chooseLib.wsxx | - databaseGuide | - databaseGuide.js | - databaseGuide.json | - databaseGuide.wxml | - databaseGuide.wxss | - deployFunctions | - deployFunctions.js | - deployFunctions.json | - deployFunctions.wxml | - deployFunctions.wxss | - index | - index.js | - index.wxml | - index.wxss | - user-unlogin.png | - storageConsole | - storageConsole.js | - storageConsole.json | - storageConsole.wxml | - storageConsole.wxss | - userConsole | - userConsole.js | - userConsole.json | - userConsole.wxml | - userConsole.wxss | - style | - guide.wxss | - app.js | - app.json | - app.wxss README.md project.config.json
在使用“云開發(fā)”的時候,需要先調(diào)用 初始化函數(shù) init
小程序端的初始化函數(shù)是 wx.cloud.init()
云端的初始化函數(shù)是 const cloud = require("wx-server-sdk") cloud.init())
Client:
miniprogram/app.js
//app.js App({ onLaunch: function () { if (!wx.cloud) { console.error("請使用 2.2.3 或以上的基礎(chǔ)庫以使用云能力") } else { wx.cloud.init({ env: "arthurslog-test-d4537a", traceUser: true, }) } this.globalData = {} } })
Server:
cloudfunctions/arthurSlog_getInfo/index.js
// 云函數(shù)入口文件 const cloud = require("wx-server-sdk") cloud.init() // 云函數(shù)入口函數(shù) exports.main = async(event, context) => { return event.userInfo }
上面的Server端代碼中
Server:
cloudfunctions/arthurSlog_getInfo/index.js
// 云函數(shù)入口文件 //const cloud = require("wx-server-sdk") //cloud.init() // 云函數(shù)入口函數(shù) exports.main = async(event, context) => { return event.userInfo }
沒有調(diào)用到 “wx-server-sdk” 的方法,所以可以注釋掉,不影響結(jié)果
這里提醒一下,就是 cloudfunctions 路徑下的文件的名稱,就是云端向小程序端提供的方法
舉個栗子:對于cloudfunctions/arthurSlog_getInfo來說,arthurSlog_getInfo這個文件夾的名字就是云端向小程序端提供的方法
現(xiàn)在在小程序端就可以參考小程序端API文檔(客戶端)
大部分函數(shù)都來源于 對象“wx”,這個 “wx”對象 就類似于服務(wù)端的 “wx-server-sdk”對象
比如,在小程序端(客戶端)有 wx.cloud.callFunction()、wx.cloud.uploadFile()等方法
再比如,在云端(服務(wù)端)有 cloud.init()、cloud.database()、cloud.collection()等方法
現(xiàn)在,我們來接觸一下 “小程序·云開發(fā)” 的 “存儲管理功能”
打開小程序端的 miniprogram/pages/index/index.js
Client
miniprogram/pages/index/index.js
Page({ data: { avatarUrl: "./user-unlogin.png", userInfo: {}, logged: false, takeSession: false, requestResult: "", fileID: "", cloudPath: "", imagePath: "./user-unlogin.png", }, // ... // ... // ... // 添加前端代碼,向云端上傳圖片 arthurSlog_uploadImg: function() { // 選擇圖片 const this_ = this wx.chooseImage({ count: 1, sizeType: ["original", "compressed"], sourceType: ["album", "camera"], success(res) { // tempFilePath可以作為img標(biāo)簽的src屬性顯示圖片 const tempFilePaths = res.tempFilePaths this_.setData({ imagePath: tempFilePaths[0], }) console.log(tempFilePaths[0]) } }) }, })
在這里,我們定義了一個方法arthurSlog_uploadImg,參考 小程序官方文檔
首先將當(dāng)前環(huán)境對象 映射 給對象 this_
Client
miniprogram/pages/index/index.js
const this_ = this
使用 wx.chooseImage 方法,打開本地文件,選擇要上傳的文件
在success函數(shù)里,使用setdata函數(shù),更新 imagePath 對象的值,并使得頁面上對應(yīng)的部分重新渲染
現(xiàn)在,我們來更新頁面文件:
Client
miniprogram/pages/index/index.wxml
這次使用的方法,不需要自己編寫云端服務(wù)代碼,騰訊公司已經(jīng)提供了
保存文件,在模擬器中點擊上傳圖片(我放了一張演示圖片在此路徑下:miniprogram/images/ArthurSlog.png)
選中要上傳的文件,點擊“打開”
正常執(zhí)行之下,會顯示出我們剛剛上傳的圖片,到這里暫停一下,現(xiàn)在圖片還沒發(fā)送出去
在下一篇中,再繼續(xù)補(bǔ)充
至此,我們實現(xiàn)了一個選取本地文件,并顯示選中的圖片文件。
歡迎關(guān)注我的微信公眾號 ArthurSlog 如果你喜歡我的文章 歡迎點贊 留言 謝謝文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/98035.html
摘要:整套功能是基于騰訊云全新推出的云開發(fā)所研發(fā)出來的一套完備的小程序后臺開發(fā)方案。數(shù)據(jù)庫分為小程序端和服務(wù)端兩部分,小程序端擁有嚴(yán)格的調(diào)用權(quán)限控制,開發(fā)者可在小程序內(nèi)直接調(diào)用進(jìn)行非敏感數(shù)據(jù)的操作。 李成熙,騰訊云高級工程師。2014年度畢業(yè)加入騰訊AlloyTeam,先后負(fù)責(zé)過QQ群、花樣直播、騰訊文檔等項目。2018年加入騰訊云云開發(fā)團(tuán)隊。專注于性能優(yōu)化、工程化和小程序服務(wù)。微博 | 知...
摘要:整套功能是基于騰訊云全新推出的云開發(fā)所研發(fā)出來的一套完備的小程序后臺開發(fā)方案。數(shù)據(jù)庫分為小程序端和服務(wù)端兩部分,小程序端擁有嚴(yán)格的調(diào)用權(quán)限控制,開發(fā)者可在小程序內(nèi)直接調(diào)用進(jìn)行非敏感數(shù)據(jù)的操作。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實踐干貨哦~ 本文由heyli發(fā)表于云+社區(qū)專欄 什么是小程序·云開發(fā) 小程序·云開發(fā)是微信團(tuán)隊和騰訊云團(tuán)隊共同研發(fā)的一套小程序基礎(chǔ)能力,簡言之就是...
摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關(guān)注微信小程序的開發(fā)和面試問題,由基礎(chǔ)到困難循序漸進(jìn),適合面試和開發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關(guān)注微信小程序的開發(fā)和面試問題,由基礎(chǔ)到困難循序漸進(jìn),適合面試和開發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
閱讀 655·2021-09-24 09:48
閱讀 2499·2021-08-26 14:14
閱讀 524·2019-08-30 13:08
閱讀 1450·2019-08-29 15:22
閱讀 3084·2019-08-29 11:06
閱讀 1011·2019-08-26 18:26
閱讀 1062·2019-08-26 13:53
閱讀 2538·2019-08-26 12:21