zoukankan      html  css  js  c++  java
  • 小程序---云开发----云函数

    一、小程序---云开发---云函数

    云函数:运行在(腾讯云)上程序

    云函数:特性

    (1)操作权限高(一次删除多条记录)

    (2)突破网络限制(icp;http)

    云函数:使用

    (1)使用小程序开发工具创建云函数:上传

    (2)先在云函数控制面板中对云函数测试

    (3)在小程序调用云函数

    云函数:示例

    (1)sum()  两个整型数相加

    (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]

    三、小程序---云开发---云函数--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

    三、小程序---云开发---云存储(网络磁盘)

          云存储功能主要存储文件(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 () {

    }
    })
  • 相关阅读:
    暂存
    近期学习规划
    将博客搬至CSDN
    后缀自动机五·重复旋律8
    后缀自动机四·重复旋律7
    拓扑排序
    后缀自动机三·重复旋律6
    后缀自动机二·重复旋律5
    交错和(数位dp)
    博弈专题
  • 原文地址:https://www.cnblogs.com/sna-ling/p/11832157.html
Copyright © 2011-2022 走看看