日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

个人微信小程序云开发总结心得

發(fā)布時間:2023/12/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 个人微信小程序云开发总结心得 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章之前:

先附上通過微信小程序云開發(fā)做出的兩個小程序,有興趣的朋友可以微信掃碼進去看看,歡迎登錄學習
。

框架采用移動端常用UI: Vant
微信云開發(fā)官方文檔:微信開發(fā)文檔
相關的npm包導入方法可以看看前期一篇博文:微信小程序如何使用pubsub-js實現(xiàn)組件間實時通信以及如何搭建Vant框架>>詳解

一、微信云開發(fā)基本概念


官方:
微信云開發(fā)是微信團隊聯(lián)合騰訊云推出的專業(yè)的小程序開發(fā)服務。
開發(fā)者可以使用云開發(fā)快速開發(fā)小程序、小游戲、公眾號網(wǎng)頁等,并且原生打通微信開放能力。
開發(fā)者無需搭建服務器,可免鑒權直接使用平臺提供的 API 進行業(yè)務開發(fā)


在開發(fā)中,自己主要使用了云開發(fā)的三個云開發(fā)基礎能力(數(shù)據(jù)庫、云函數(shù)、存儲):
1、云數(shù)據(jù)庫
這是一個JSON數(shù)據(jù)庫,比之SQL對于一個前端來說操作數(shù)據(jù)更為簡單,只要有一一些前端基礎都能看懂這種數(shù)據(jù)
2、云函數(shù)
云函數(shù)的寫法和寫nodejs是一樣的,只是相關的一些調用內置方式有出入,對照官方文檔來寫云函數(shù)相信對大多數(shù)前端來說應該是輕松加愉快。

簡單示例:

// 云函數(shù)入口文件 const cloud = require('wx-server-sdk') //導入云函數(shù)入口文件 cloud.init() const db = cloud.database();//連接云數(shù)據(jù)庫 // 云函數(shù)入口函數(shù) exports.main = async (event, context) => { //使用collection()方法發(fā)起請求,傳入的是數(shù)據(jù)庫集合名稱,通過get()請求得到數(shù)據(jù)const {data} = await db.collection("login_duration").get()//當調用此云函數(shù)時,返回data數(shù)據(jù)return {data} }

寫到這里也插一句,云函數(shù)的默認請求數(shù)據(jù)數(shù)量上限為100條,而小程序端的請求數(shù)據(jù)量上限為20條
3、云存儲
顧名思義,就是存儲文件的一個位置,類似于云盤,也相當于服務器,存入的相關文件可以通過對應的鏈接訪問到。這個就不多說了,很簡單的東西

二、小程序端 / 前端

官方文檔:微信小程序基礎指南

前端位置主要需要記住的個人覺得就是頁面的生命周期鉤子函數(shù)了,在實際開發(fā)中微信小程序會默認為我們的頁面JS添加上相應的默認生命周期函數(shù)以及頁面需要使用的基礎數(shù)據(jù)data(修改基礎的data數(shù)據(jù)我們直接 使用 this.setData()方法就可以了),
請看示例,這就是當我們在app.json中建好頁面后開發(fā)者工具自動生成的JS文件(不得不說考慮很周到,另外,做為最開始執(zhí)行的JS文件,app.js中單獨有一個 ,onLaunch() 生命周期鉤子函數(shù),用于用戶進入小程序就會執(zhí)行的函數(shù),可以應用在獲取用戶的登錄時間或初始化請求等作用中)。

// pages/test/test.js Page({/*** 頁面的初始數(shù)據(jù)*/data: {},/*** 生命周期函數(shù)--監(jiān)聽頁面加載*/onLoad(options) {},/*** 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成*/onReady() {},/*** 生命周期函數(shù)--監(jiān)聽頁面顯示*/onShow() {},/*** 生命周期函數(shù)--監(jiān)聽頁面隱藏*/onHide() {},/*** 生命周期函數(shù)--監(jiān)聽頁面卸載*/onUnload() {},/*** 頁面相關事件處理函數(shù)--監(jiān)聽用戶下拉動作*/onPullDownRefresh() {},/*** 頁面上拉觸底事件的處理函數(shù)*/onReachBottom() {},/*** 用戶點擊右上角分享*/onShareAppMessage() {} })

另外就是頁面中的json文件,這個文件一般沒怎么用,除非在你當前這個頁面中有需要該頁面單獨使用的相關組件或方法;還有一個wxml文件,這個相當于我們的HTML文件,但是也有差別的,我們可以在這個文件中填入和JS中data對應對應的數(shù)據(jù)來讓數(shù)據(jù) “動起來”(this.setData()修改data數(shù)據(jù))
使用雙大括號(插值表達式) {{ }} 來填入對應的變量。有需要的時候也可以填入一些基本的JS語法,一般都是三元表達式一類的簡單語法。

三、小程序端 / 云函數(shù) 增刪改查 數(shù)據(jù)庫

增刪改查的方法小程序端和云函數(shù)端的寫法都是一致的,唯一不同的位置是初始化云開發(fā)的方式不一樣。小程序端直接 wx.cloud.init(),而云函數(shù) const cloud = require('wx-server-sdk') ;cloud.init() 多了一個導入方法前面也說過了。另外需要注意的是小程序端和云函數(shù)的獲取數(shù)據(jù)庫數(shù)據(jù)上限不一樣(小程序端20條,云函數(shù)端100條,且單次返回的數(shù)據(jù)不能大于1M)

1、小程序端 數(shù)據(jù)庫增、刪、改、查以及前端分頁顯示

官方文檔:
1、增刪改查初始化
2、相關API
3、相關操作符

以下只簡單介紹一下自己在開發(fā)過程中使用到的API,更詳細的請移步上方官方文檔 2(相關API),同時也歡迎在評論區(qū)留言大家一起學習共同進步。

關鍵方法:add(data:{})
請看示例:

const db = wx.cloud.database() db.collection("login").add({data: {data:"新增一條數(shù)據(jù)"}})

關鍵方法:remove()
請看示例:

const db = wx.cloud.database() const _ = db.command() //刪除時一般都需要構造刪除條件,where中傳入的對象就是一個刪除條件 db.collection("login").where({_id: _.eq(id),_openid}).remove()

關鍵方法:update(data:{})
請看示例:

const db = wx.cloud.database() db.collection("login").where({_id: _.eq(id)}.update({data: {data:"修改一條數(shù)據(jù)"}})

關鍵方法:where({})
查詢方法較多,下面的示例只是給了其中最簡單的一種方法,構建查詢的多種方式建議參考官方文檔:構建查詢條件
請看示例:

const db = wx.cloud.database() const _ = db.command() db.collection("community").where({_id: _.eq(id),}).get().then(res =>{console.log(res.data)}).catch(err =>{console.log(err)})

分頁 關鍵方法:skip(index) / limit(number)
數(shù)據(jù)庫分頁獲取的方法主要使用的是skip,該方法傳入索引號,返回從該索引號往后的數(shù)據(jù)(小程序端20條,云函數(shù) 100條);limit( )用于返回數(shù)據(jù)中需要數(shù)量,傳入一個數(shù)值,該數(shù)值用于控制返回數(shù)據(jù)數(shù)量的多少,使用的范圍以及場景比之skip()少了很多。
同樣的,在他們之前也可使用where()構建查詢條件
請看示例:

const db = wx.cloud.database() //從數(shù)據(jù)庫中第十條開始查詢,只需要返回5條數(shù)據(jù) db.collection("login").skip(10).limit(5).get().then(res =>{console.log(res.data); }).catch(err =>{ console.log(err) })

2、云函數(shù) 數(shù)據(jù)庫增、刪、改、查

云函數(shù)對數(shù)據(jù)庫的增刪改查基本能力是相同的,不同的位置在于云函數(shù)端的權限更大,可以修改其它用戶的信息以及云開發(fā)初始化不同。因為和小程序端都相差無幾,這里就只對刪除做一個示例,其它的請大家自己去測試一下吧。

  • 云函數(shù)
//云函數(shù)名稱為新建Node.js云函數(shù)時的名稱 //此處測試名稱為:remove // 云函數(shù)入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database(); // 云函數(shù)入口函數(shù) exports.main = (event, context) => {try {db.collection("community").where({_id:event._id}).remove(res=>{result = res.errMsg}) return true } catch (err) {console.log(err)return false} }
  • 小程序端調用云函數(shù)
let _id = e.target.dataset.id wx.cloud.callFunction({name: "remove", //云函數(shù)名稱,名稱千萬不能錯,不然調用無效data: { _id },success: (res) => {console.log('remove success');console.log(res);},fail: (err) => {console.log('remove fail');console.log(err);} })

四、其它需要注意的地方

  • 小程序端的增刪改查只能應用與單獨的用戶,什么意思呢?舉個例子大家應該就明白了:假如我做為管理員我想在小程序中刪除一個用戶,刪除該用戶時,需要用到該用戶的 _openid(小程序中每個用戶獨有的id,相當于現(xiàn)實生活中的身份證號),但是在小程序端只能獲取使用自己個人的 _openid,因此這個使用就需要使用云函數(shù)來做對應的操作了,這是小程序端使用數(shù)據(jù)庫增刪改查和云函數(shù)端增刪改查需要注意的一個地方。
  • limit () 在小程序端默認及最大上限為 20,在云函數(shù)端默認及最大上限為 1000
  • 有的人需要使用把后臺數(shù)據(jù)庫進行可視化的,這個時候可以考慮使用CMS內容管理,進入方式為:微信開發(fā)者工具 > 云開發(fā) > 更多 > 內容管理 ,在內容管理頁面開通后臺可視化數(shù)據(jù)庫管理,通過該方式,可以直接獲得一個后臺管理系統(tǒng),通過該系統(tǒng)可以用戶可以直接對數(shù)據(jù)庫進行增刪改查
    ,很適用于非開發(fā)人員使用,使用場景為客戶開發(fā)的小程序,客戶需要個人對數(shù)據(jù)庫進行增刪改查。
  • 最后

    本次總結暫時到這個位置,后期學習過程中也會持續(xù)更新,感謝您的觀看。如有不足支持敬請批評指正,感激不盡。

    希望本篇博文能在微信小程序開發(fā)方面對您有所幫助

    總結

    以上是生活随笔為你收集整理的个人微信小程序云开发总结心得的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。