欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

微信小程序云開發(fā)(1)——初始化、云數(shù)據(jù)庫基礎(chǔ)、云函數(shù)基礎(chǔ) - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >

微信小程序云開發(fā)(1)——初始化、云數(shù)據(jù)庫基礎(chǔ)、云函數(shù)基礎(chǔ)

發(fā)表時(shí)間:2020-10-3

發(fā)布人:葵宇科技

瀏覽次數(shù):194

微信小程序的注冊(cè)、微信小程序開發(fā)工具的下載等網(wǎng)上有很多資料,我就省略了,直接從云開發(fā)初始化開始。

一、初始化

在“project.config.json”文件第2行添加

"cloudfunctionRoot":"cloud",//云函數(shù)的目錄

在“資源管理器”新建一個(gè)同名的目錄
微信小程序初始化01
在“app.js”文件里將onLaunch: function () {}中的內(nèi)容刪除,改為如下內(nèi)容:

onLaunch: function () {
    wx.cloud.init({
      env:"tiaxxxxxxxxxxx1-edyoy"  //這里為云環(huán)境ID,可以在“云開發(fā)控制臺(tái)”--“設(shè)置”里找到
    })
}

環(huán)境ID
這里由于微信小程序的調(diào)試基礎(chǔ)庫默認(rèn)的2.0.x,這里會(huì)報(bào)如下錯(cuò)誤:

VM701:1 thirdScriptError
Cannot read property 'init' of undefined;at App lifeCycleMethod>function
TypeError: Cannot read property 'init' of undefined

解決方法是將調(diào)試基礎(chǔ)庫換成高版本,注意某些低版本的微信不支持太高版本的基礎(chǔ)庫具體操作方式如下圖所示
在這里插入圖片描述

在這里插入圖片描述

二、云數(shù)據(jù)庫

1、云數(shù)據(jù)庫初始化

在“index.js”文件下輸入如下內(nèi)容:

//數(shù)據(jù)庫初始化,"list"是數(shù)據(jù)庫中的表名
const DB = wx.cloud.database().collection("test")

然后需要在云開發(fā)控制臺(tái)新建一個(gè)與上面數(shù)據(jù)庫同名的數(shù)據(jù)庫
微信小程序云開發(fā)創(chuàng)建云數(shù)據(jù)庫01

2、向數(shù)據(jù)庫中新增數(shù)據(jù)

在“index.wxml”文件中添加如下內(nèi)容:

//在頁面添加一個(gè)按鈕,點(diǎn)擊之后向數(shù)據(jù)庫添加數(shù)據(jù)
<button bindtap="addData">添加數(shù)據(jù)</button>

在“index.js”文件的page({})中,輸入如下內(nèi)容:

Page({
  //添加數(shù)據(jù)
  addData(){
    DB.add({
      //要添加的數(shù)據(jù)
      data:{
        name : "Jim",
        age : "22",
      },
      //添加成功時(shí)的操作
      success(res){
        //打印“添加成功”
        console.log("添加成功",res)
      },
      //添加失敗時(shí)的操作
      fail(res){
        console.log("添加失敗",res)
      },
    })
  }
})

點(diǎn)擊“編譯”,點(diǎn)擊調(diào)速器中的“添加數(shù)據(jù)”按鈕,可以看到輸出了“添加成功”字樣,然后在云開發(fā)控制臺(tái),點(diǎn)擊“刷新”,可以看到數(shù)據(jù)已添加成功。
微信小程序云開發(fā)數(shù)據(jù)庫添加數(shù)據(jù)01
微信小程序云開發(fā)數(shù)據(jù)庫添加數(shù)據(jù)02
獲取用戶輸入的信息,添加到云數(shù)據(jù)庫
在"index.wxml"文件中創(chuàng)建2個(gè)輸入框

<input placeholder="請(qǐng)輸入名字" bindinput="addName"></input>
<input placeholder="請(qǐng)輸入年齡" bindinput="addAge"></input>

在"index.js"文件里,在page({})外添加“name”和“age”2個(gè)全局變量;在page({})里添加“addName”和“addAge”2個(gè)方法

let name = ""
let age = ""
Page({
  addName(event){
    name = event.detail.value
  },
  addAge(event){
    age = event.detail.value
  },
  //添加數(shù)據(jù)
  addData(){
    DB.add({
      //要添加的數(shù)據(jù)
      data:{
        name : name,
        age : age,
      },
      //添加成功時(shí)的操作
      success(res){
        //打印“添加成功”
        console.log("添加成功",res)
      },
      fail(res){
        console.log("添加失敗",res)
      },
    })
  },
})

編譯運(yùn)行,在輸入框輸入“名字”和“年齡”,在后臺(tái)查看數(shù)據(jù)添加結(jié)果
微信小程序云開發(fā)數(shù)據(jù)庫添加用戶輸入數(shù)據(jù)
微信小程序云開發(fā)數(shù)據(jù)庫添加用戶輸入數(shù)據(jù)結(jié)果

3、查詢數(shù)據(jù)

在“index.wxml”文件中添加如下內(nèi)容:

//在頁面添加一個(gè)按鈕,點(diǎn)擊之后向數(shù)據(jù)庫添加數(shù)據(jù)
<button bindtap="getData">查詢數(shù)據(jù)</button>

在“index.js”文件的Page({})中,輸入如下內(nèi)容:

getData(){
    DB.get({
      success(res){
        console.log("查詢成功",res)
      },
      fail(res){
        console.log("查詢失敗",res)
      },
    })
  },

點(diǎn)擊“編譯”,點(diǎn)擊調(diào)速器中的“查詢數(shù)據(jù)”按鈕,可以看到輸出了“查詢成功”字樣
微信小程序云開發(fā)數(shù)據(jù)庫查詢數(shù)據(jù)01

4、刪除數(shù)據(jù)

在“index.wxml”中添加一個(gè),用來輸入要?jiǎng)h除的數(shù)據(jù)的ID

<input placeholder="請(qǐng)輸入數(shù)據(jù)ID" bindinput="delDataID"></input>

在“index.js”中添加一個(gè)全局變量dataid,在page({})中添加如下代碼:

let dataid = ""
Page({
  delDataID(event){
    dataid = event.detail.value
  },
  delData(){
    DB.doc(dataid).remove({
      success(res){
        console.log("刪除成功",res)
      },
      fail(res){
        console.log("刪除失敗",res)
      },
    })
  },
})

編譯運(yùn)行。使用之前的查詢數(shù)據(jù)或者從后臺(tái)復(fù)制一組數(shù)據(jù)的ID,在輸入框中輸入該ID,點(diǎn)擊“刪除數(shù)據(jù)”按鈕,到后臺(tái)查看數(shù)據(jù)是否刪除
微信小程序云開發(fā)數(shù)據(jù)庫刪除數(shù)據(jù)前
刪除前數(shù)據(jù)庫里有3條數(shù)據(jù)
微信小程序云開發(fā)數(shù)據(jù)庫復(fù)制數(shù)據(jù)ID
執(zhí)行刪除后數(shù)據(jù)庫里只有2條數(shù)據(jù),被刪除的數(shù)據(jù)ID已經(jīng)找不到了
微信小程序云開發(fā)數(shù)據(jù)庫數(shù)據(jù)已刪除

5、更改數(shù)據(jù)

在“index.wxml”中添加3個(gè)和一個(gè)

<input placeholder="請(qǐng)輸入數(shù)據(jù)ID" bindinput="updateID"></input>
<input placeholder="請(qǐng)輸入名字" bindinput="updateName"></input>
<input placeholder="請(qǐng)輸入年齡" bindinput="updateAge"></input>
<button bindtap="updateData">修改數(shù)據(jù)</button>

在“index.js”的page({})中添加如下內(nèi)容:

Page({
updateID(event){
    dataid = event.detail.value
  },
  updateName(event){
    name = event.detail.value
  },
  updateAge(event){
    age = event.detail.value
  },
  updateData(){
    DB.doc(dataid).update({
      data : {
        name : name,
        age : age,
      },
      success(res){
        console.log("修改成功",res)
      },
      fail(res){
        console.log("修改失敗",res)
      },
    })
  }
})

編譯運(yùn)行,分別輸入要修改數(shù)據(jù)的ID、名字和年齡,點(diǎn)“修改數(shù)據(jù)”按鈕,到后臺(tái)查看數(shù)據(jù)是否修改成功
微信小程序云開發(fā)數(shù)據(jù)庫修改數(shù)據(jù)前
微信小程序云開發(fā)數(shù)據(jù)庫修改數(shù)據(jù)
微信小程序云開發(fā)數(shù)據(jù)庫修改數(shù)據(jù)后

三、創(chuàng)建云函數(shù)

右鍵之前新建的“cloud”文件夾,選擇“新建Node.js云函數(shù)”
微信小程序云開發(fā)云函數(shù)新建云函數(shù)

1、云函數(shù)例子(1)——計(jì)算2個(gè)數(shù)的和

我們創(chuàng)建一個(gè)云函數(shù),取名叫“plus”,等右上角出現(xiàn)云函數(shù)上傳成功的提示,到后臺(tái)可以看到剛創(chuàng)建的云函數(shù)。
微信小程序云開發(fā)云函數(shù)后臺(tái)查看新建云函數(shù)
在“cloud/plus/index.js”文件里,

// 云函數(shù)入口文件
const cloud = require('wx-server-sdk')
cloud.init()  //這2行代碼是初始化,不要改動(dòng)
// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {  //{}里面的內(nèi)容可以換成自己的代碼
  let a = parseInt(event.aaa);   //數(shù)據(jù)是從event中獲取。對(duì)輸入的數(shù)據(jù)取整
  let b = parseInt(event.bbb);
  return a + b
}

每次修改完“cloud/plus/index.js”文件,都需要右鍵“plus”文件夾選擇“上傳并部署:云端安裝依賴(不上傳node_modules)”
微信小程序云開發(fā)云函數(shù)上傳并部署
在“index.wxml”里添加如下代碼:

<input placeholder="請(qǐng)輸入第一個(gè)數(shù)" bindtap="firstNumber"></input>
<input placeholder="請(qǐng)輸入第二個(gè)數(shù)" bindtap="secendNumber"></input>
<button>求和</button>

在“pages/index/index.js”里添加如下內(nèi)容:

let AAA = ""
let BBB = ""
Page({
  firstNumber(event){
    AAA = event.detail.value
  },
  secendNumber(event){
    BBB = event.detail.value
  },
  add(){
    wx.cloud.callFunction({
      name : "plus",  //需要調(diào)用云函數(shù)的名字
      data : {
        aaa : AAA,  //把輸入的第一個(gè)數(shù)賦值給aaa。這里的鍵名必須與云函數(shù)的參數(shù)名相同
        bbb : BBB,
      },
      success(res){
        console.log("計(jì)算成功",res)
      },
      fail(res){
        console.log("計(jì)算失敗",res)
      },
    })
  }
})

編譯運(yùn)行,輸入2個(gè)數(shù),點(diǎn)擊“求和”按鈕,驗(yàn)證結(jié)果是否正確
微信小程序云開發(fā)云函數(shù)驗(yàn)證結(jié)果

2、云函數(shù)例子(2)——獲取用戶的openid

其實(shí)新建一個(gè)云函數(shù)時(shí),系統(tǒng)自動(dòng)生成那段代碼就是獲取用戶openid的,代碼如下

// 云函數(shù)入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  return {
    event,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
  }
}

3、云函數(shù)例子(3)——查詢?cè)茢?shù)據(jù)庫中的數(shù)據(jù)

直接使用云函數(shù)的API也可以操作云數(shù)據(jù)庫,但是有許多限制,例如只能查詢20條數(shù)據(jù)、受數(shù)據(jù)表的權(quán)限限制。而使用云函數(shù)查詢?cè)茢?shù)據(jù)庫不受以上限制,而且可以實(shí)現(xiàn)更多功能。

// 云函數(shù)入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {
  return cloud.database().collection("test").get();
}

相關(guān)案例查看更多