小程序---雲開發----雲函數

1、小程序---雲開發---雲函數node

雲函數:運行在(騰訊雲)上程序web

雲函數:特性數據庫

(1)操做權限高(一次刪除多條記錄)json

(2)突破網絡限制(icp;http)小程序

雲函數:使用數組

(1)使用小程序開發工具建立雲函數:上傳微信

(2)先在雲函數控制面板中對雲函數測試網絡

(3)在小程序調用雲函數異步

雲函數:示例async

(1)sum()  兩個整型數相加

(2)批量刪除

2、小程序---雲開發--雲函數--sum

#注意事項:雲函數要求本地node.js 8.0版本以上

(1)開發工具建立雲函數 sum

(2)

   package.json   雲函數的描述文件

   index.js      函數

(3)添加代碼

  export.main.async(event,content)=>{

   return{

     "sum":event.i + event.j

    }

  }

//返回結果 {sum:3}

#export.main  建立主函數而且向外導出

#async      異步執行

#event      事件對象,接收參數

#context     上下對象:當前微信用戶信息

(4)上傳和部署(鼠標點擊雲函數)

(5)雲開發控制面板->測試

(6)使用小程序調用雲函數

 wx.clud.callFunction({

   name:"雲函數名稱",   //sum

   data:{i:1,j:2}

}).then(res=>{

 console.log(res);

}).catch(err=>{

 console.log(err);

})

 常見錯誤:

  Error:errCode:-404011

  error message Function not found [suma]

3、小程序---雲開發---雲函數--betchDel

(1)修改 web1906b sal[3000]dongdong/langlang

(2)建立雲函數  betchDel

--建立數據庫對象

   const  db=cloud.database({

         env:""

    })

--建立main

  #async  ES6   語法(異步)

  #await    ES7   語法(等待)

   #return  時刪除沒有結果,沒有正確結果

exports.main =async(event,context)=>{

  try{   return     await    db.collection("web1906b")

      .where({sal:3000}).remove();

  }catch(e){

      console.log(e)

   }

}

常見錯誤:

   (1)語法

    (2)沒有刪除員工:檢查web1906b  薪水3000

3、小程序---雲開發---雲存儲(網絡磁盤)

      雲存儲功能主要存儲文件(txt,.jpg,.mp4,.mp3)

      #保存用戶上傳圖片

      #新文件名稱    時間毫秒數

      #新文件後綴

 

(1)選中上傳的圖片[拍照;從相冊選一張]

    wx.chooseImage({})   選擇圖片

   count:                        一次選擇幾張圖片默認   9

   sizeType:                   圖片類型  原圖/壓縮圖

   sourceType:               圖片來源   相冊/相機

   success:(res=>{

          res.tempFilePaths    選中圖片(數組)    

})

#參數必定要拼寫正確

#sizeType  'original','compressed'   原圖/壓縮圖

#sourceType  ‘album’,'camera'        相冊/相機

#查手機

 

(2)上傳圖片

  wx.cloud.uploadFile({})

--cloudPath:新文件名稱:new Date().getTime()+".jpg"

--filePath:選中文件名稱

--success:(res=>{

       res.fileID;上傳圖片在雲存儲路徑

})

 

練習:

(1)在雲數據庫中建立集合myphoto

    #myphoto 保存上傳圖片  fileId

(2)建立新組建upload03

     添加view元素  「上傳」

     當用戶點擊「上傳」按鈕上傳圖片而且將圖片

      fileID保存myphoto集合中

(3)查詢數據庫myphoto 顯示圖片

<image src="{{item.fileId}}"></image>

 

<view bindtap="upload">
    上傳圖片
</view>
<view bindtap="find">
    查詢圖片
</view>
<view class="container">
<image wx:for="{{list}}" wx:key="index"
    src="{{item.fileId}}">
</image>
</view>
 
//建立數據庫對象
const db=wx.cloud.database();
Page({
data: {
list:[]
},
find:function(){
//功能:查詢myphoto集合中fileID
//1:查詢 myphoto
db.collection("myphoto") //指定查詢集合名稱
.get() //獲取
.then(res=>{ //查詢成功回調
var rows=res.data; //查詢結果
this.setData({ //將查詢結果
list:rows //保存list
})
})
.catch(err=>{
console.log(err);
})
},
upload:function(){
// 功能:選擇圖片上傳,圖片將上傳成功
// 圖片:fileID保存myphoto集合中
// 1:選擇圖片
wx.chooseImage({
count:1,//選中一張圖片
//圖片類型:原圖 壓縮圖
sizeType:["original","compressed"],
//圖片來源 相冊 相機
sourceType:["album","camera"],
success:(res)=>{
console.log(1);
//選中圖片路徑
console.log(res.tempFilePaths[0]);
var file=res.tempFilePaths[0];
//2:將圖片上傳
//新文件名稱
var newFile=new Date().getTime()+".jpg"
wx.cloud.uploadFile({
cloudPath:newFile, //新文件名
filePath:file, //選中圖片路徑
success:(res=>{
console.log(2);
console.log(res.fileID);
// 3:將fileID保存myphoto
db.collection("myphoto")//指定集合
.add({ //添加記錄
data:{ //數據
fileId:res.fileID //名:值
}
})
.then(res=>{ //成功回調
console.log(res);
})
.catch(err=>{ //失敗回調
console.log(err);
})
})
})
}
})
},
onLoad: function (options) {

},

/**
* 生命週期函數--監聽頁面初次渲染完成
*/
onReady: function () {

},

/**
* 生命週期函數--監聽頁面顯示
*/
onShow: function () {

},

/**
* 生命週期函數--監聽頁面隱藏
*/
onHide: function () {

},

/**
* 生命週期函數--監聽頁面卸載
*/
onUnload: function () {

},

/**
* 頁面相關事件處理函數--監聽用戶下拉動做
*/
onPullDownRefresh: function () {

},

/**
* 頁面上拉觸底事件的處理函數
*/
onReachBottom: function () {

},

/**
* 用戶點擊右上角分享
*/
onShareAppMessage: function () {

}
})
相關文章
相關標籤/搜索