午夜91福利视频,午夜成人在线观看,午夜在线视频免费观看,午夜福利短视频,精品午夜成人免费视频APP

小程序模板網

小程序·云開發初級FAQ

發布時間:2018-10-30 14:30 所屬欄目:小程序開發教程

之前(qian)參加過(guo)小(xiao)程序(xu)·云(yun)開發(fa)相(xiang)關的分享, 在(zai)團隊內進行了推廣, 感(gan)覺官(guan)方的宣傳不(bu)夠直(zhi)接, 還是(shi)太(tai)玄乎了, 這是(shi)收集了貓眼娛(yu)樂前(qian)端工程師的問題, 和相(xiang)關答(da)疑, 部分問題是(shi)和小(xiao)程序(xu)·云(yun)開發(fa)的同學溝通過(guo)的結論

主要面(mian)向初級前端工(gong)程師, 快速了解云開發是怎么回事, 不涉及(ji)復雜代碼

  • 有小程序開發經驗
  • 理解 server 端基礎, 并有少量node.js server端經驗

1. 小程序云開發是什么?

官方文檔, 不用(yong)著急點, 下面FAQ未提及的可以進(jin)來看

主要提供(gong)兩種能(neng)力

1.1 提供持久存儲

持久存儲是指刪除微(wei)信(xin)或更(geng)換(huan)手機后, 用戶重新打開我們(men)的(de)小程(cheng)序, 仍(reng)舊(jiu)能讓用戶看到自(zi)己的(de)信(xin)息

主要通(tong)過兩種存(cun)儲容(rong)器

  1. 類mangodb的 數據庫存儲 , 比如用戶提交的文章
  2. 文件存儲 , 比如用戶上傳的照片

1.2 提供簡化的server端編程環境

云函數

簡(jian)單解釋(shi): 在小程序端(duan)寫上(shang)函(han)數(shu)名(ming) + 參(can)數(shu), 就能調(diao)用遠端(duan)的一個函(han)數(shu)

為什么(me)不直接(jie)寫(xie)到小程序端, 而要(yao)繞(rao)彎子要(yao)這樣? 最常見的原因(yin)是:

  1. 有些業務邏輯涉及 保密信息 , 不能寫在小程序上, 比如: 價格計算, 交易流程
  2. 有些操作需要 更高的權限 , 比如: 管理員可以刪除所有用戶的數據.
  3. 橋接到第三方接口, 小程序https接口域名數量超限, 或者第三方接口不是https接口.

2. 直接操作數據庫會不會有安全問題

云開發的(de)數(shu)據庫(ku)和(he)傳統數(shu)據庫(ku)有些(xie)區別(bie), 他(ta)會自動給(gei)每(mei)個數(shu)據表(biao)增(zeng)加一個 創建人(ren)字段 + 表(biao)權限設置 , 后續的(de)操作都(dou)會基于這些(xie)約束(shu), 一般的(de)策(ce)略是

  1. 每個用戶只能修改自己創建的信息, 比如自己發的文章
  2. 每個用戶只能讀取其他用戶的信息, 但不能修改, 比如其他人發的文章
  3. 每個用戶只能讀取公共信息, 但不能修改, 比如公告信息, 一般會允許通過管理端修改

3. 直接操作文件存儲會不會有安全風險

類似上(shang)一個數據(ju)庫的權(quan)限(xian)(xian), 通過(guo) 文件(jian)創建人 + 文件(jian)夾權(quan)限(xian)(xian)設(she)置(zhi)

文件的操作使用(yong)服務端生(sheng)成(cheng)的唯一ID, 不會被窮舉

4. 別人會不會調用我的云函數

不會(hui), 云函數(shu)的網(wang)絡(luo)協議是私有的, 并且有加上數(shu)字簽名驗(yan)證

這套機制是在微信app內部實現的, 除非微信這套機制被(bei)攻破

5.云函數是用js寫么, 運行環境是什么?

是js, 運(yun)行環境(jing)是nodejs 8.9, 支(zhi)持async await關鍵字

目(mu)前(qian)還(huan)不(bu)支(zhi)持修改運行環境, 未來應該會支(zhi)持自選環境

6. 使用了云開發, 是不是就不能使用自己的服務端了

不是, 兩個可以(yi)并存, 就(jiu)當是看起來不一樣的異步調(diao)用(yong)就(jiu)好

// 云開發相關api
wx.cloud.xxxx()

// 自有服務
wx.request()
復制代碼

由(you)于是nodejs的(de)運行環境, 所以(yi)云函數(shu)可(ke)以(yi)使用http tcp模塊, 這樣就能通過云函數(shu)轉(zhuan)發請求到任意域名, 不受小程序端(duan)的(de)請求域名限制

7. 典型的云函數是什么樣的?

// 小程序端, 調用
wx.cloud.callFunction({
    name: 'foo',
    data: { a: 1, b: 2 },
    success: function(res) {
        console.log(res.result)
    }
)

// 云函數, 聲明
// cloudfunctionRoot/functions/foo/index.js
exports.main = async function(e, ctx) {
    return e.a + e.b
}
復制代碼

函(han)數名(ming)(ming)和(he)目錄名(ming)(ming)對應, 根路徑在project.config.json中(zhong)定義, 詳(xiang)細參考官方文(wen)檔中(zhong)的"我(wo)的第一個云函(han)數"

8. 云函數還有什么特殊能力?

直接(jie)獲取用戶(hu)的openId

// index.js
exports.main = (event, context) => {
  return event.userInfo
}
復制代碼

如要獲取用戶頭像 昵(ni)稱等信息, 還(huan)是(shi)需要在小程序(xu)端進行(xing)授權才行(xing)

9. 云函數需要我們考慮服務器運維的工作么

不需要, 只要開發好上傳就行(xing), 運行(xing)環境(jing)(jing)是獨立 封(feng)閉的, 類(lei) CentOS 7 的環境(jing)(jing)

10. 開發時和線上環境有隔離么

提供1個生產(chan)環(huan)境(jing), 和1個開發環(huan)境(jing), 存儲和云(yun)函數都是獨立的

這(zhe)意味著多(duo)個(ge)開發者并行(xing)開發協作可能(neng)會有些小麻煩, 同時只能(neng)有一套(tao)代碼在開發環(huan)境, 這(zhe)就只能(neng)通過一些工作流程約定, 比(bi)如收(shou)斂上傳(chuan)權(quan)限, 每(mei)日(ri)自動部署. 應(ying)用類(lei)似git-flow的(de)分支策略

11. 云開發是否提供有定位 地理信息 支付相關業務的支持

暫時沒有, 這方面(mian)的需求(qiu)還是(shi)很強的, 畢竟小程序是(shi)提倡線下(xia)掃(sao)(sao)碼, 掃(sao)(sao)碼后(hou)還是(shi)期望能夠獲(huo)取到附近的相關(guan)信息, 簡單(dan)的比如城市 區劃, 詳細的比如商家

小程序云開發的同學目前還在收集(ji)這方面的需求(qiu)

12. 什么版本的基礎庫支持云開發

基礎庫(ku) 2.2.3 之后開始支持(chi), 但對于(yu)舊版本可以加個配(pei)置也能(neng)支持(chi)

app.json/game.json

{
  "cloud": true
}
復制代碼

13. 費用呢

目前免費, 正在調(diao)研計(ji)費策(ce)略, 可能(neng)是按照(zhao)調(diao)用量, 存(cun)儲量計(ji)費


易優小程序(企業版)+靈活api+前后代(dai)碼開源 碼云倉庫:
本文地址://www.jinyoudianli.com/wxmini/doc/course/24920.html 復制鏈接 如需定制請聯系(xi)易(yi)優客服咨詢:

工作日 8:30-12:00 14:30-18:00
周六及(ji)部分節(jie)假(jia)日提供值班服務

易小優
轉人(ren)工 ×