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 () {

    }
    })
  • 相关阅读:
    ACM ICPC 2008–2009 NEERC MSC A, B, C, G, L
    POJ 1088 滑雪 DP
    UVA 11584 最短回文串划分 DP
    POJ 2531 Network Saboteur DFS+剪枝
    UVa 10739 String to Palindrome 字符串dp
    UVa 11151 Longest Palindrome 字符串dp
    UVa 10154 Weights and Measures dp 降维
    UVa 10271 Chopsticks dp
    UVa 10617 Again Palindrome 字符串dp
    UVa 10651 Pebble Solitaire 状态压缩 dp
  • 原文地址:https://www.cnblogs.com/sna-ling/p/11832157.html
Copyright © 2011-2022 走看看