返回列表 发新帖我要提问本帖赏金: 20.00元(功能说明)

小白学习小程序 | 云函数获取OPENID以及添加数据库(15)

[复制链接]
3583|1
 楼主| 单片小菜 发表于 2022-5-5 16:57 | 显示全部楼层 |阅读模式
#申请原创#  @21小跑堂 @21小跑堂  
标题.png

引:

      什么是OPENID​?OpenID是微信生态里面最重要的ID,可以理解为OpenID是通过AppID和微信用户ID加密得到的,每个微信应用都会生成一个唯一的用户标识​。用于获取用户的信息。

      我们通过调用云函数获取OPENID,调用云函数的过程上次已经说明了。

      第一步:建立云函数​;
​      第二步:​上传部署云函数;
      第三步:在应用中进行调用​。

      这次说一下使用云函数获取OPENID以及使用云函数进行​云端数据库的添加数据操作。

3331462737ef311b37.png
一、获取OPENID

      建立云函数,并添加如下代码。

  1. // 云函数入口文件
  2. const cloud = require('wx-server-sdk')

  3. cloud.init()

  4. // 云函数入口函数
  5. exports.main = async (event, context) => {
  6.   let {OPENID,APPID}=cloud.getWXContext()
  7.   return {
  8.     OPENID,
  9.     APPID
  10.   }
  11. }


192376273802ecf457.png

     上传和部署云函数。

58902627380dd12c97.png

      使用云函数,在index.js文件中增加代码。

5822962738144408ca.png

  1.   onLoad: function (options) {
  2.       wx.cloud.callFunction({
  3.         name:"AppID",
  4.         data:{
  5.          
  6.         },
  7.         success:res=>{
  8.           console.log(res.result)
  9.           console.log(res.result.OPENID)
  10.           console.log(res.result.APPID)
  11.           this.setData({
  12.             
  13.           })
  14.         }
  15.       })
  16.   },

      值得注意的地方,name的名字为刚刚部署的AppID,运行之后我们会在控制台查看到OPENID和APPID​。

78140627381cb043da.png

二、使用云函数进行数据库的添加操作

      仍然是三步走,建立云函数,部署上传,使用云函数

      建立云函数

2810362738981d4117.png

  1. // 云函数入口文件
  2. const cloud = require('wx-server-sdk')

  3. cloud.init({
  4.   env: 'yx1000-0gfdbhds20cafd1c',
  5.         traceUser: true,
  6. })
  7. const db=cloud.database()
  8. // 云函数入口函数
  9. exports.main = async (event, context) => {
  10.   const wxContext = cloud.getWXContext()

  11.   return await db.collection('student').add({
  12.     data:{
  13.       _id:wxContext.APPID,
  14.       name:event.name,
  15.       age:event.age
  16.     }
  17.   })
  18. }

      上传并部署

8957762738a3685c91.png

      使用云函数,在index.js中增加以下代码。

  1.   /**
  2.    * 生命周期函数--监听页面加载
  3.    */
  4.   onLoad: function (options) {
  5.       wx.cloud.callFunction({
  6.         name:'CloudADDdb',
  7.         data:{
  8.           age:"40",
  9.           name:"laowang"
  10.         },
  11.         success:res=>{
  12.           console.log(res.result)
  13.          
  14.         }
  15.       })
  16.   },

      进行编译之后。

1757362738ba128e58.png

      查看云端。

7823862738bdca0b79.png

      这里有几点需要注意的,和老刘一起把​坑平了。

      坑1:云端初始化的时候,没有进行环境ENV的设置,可能造成云端调用不成功​。​需要进行设置。

  1. cloud.init({
  2.   env: 'yx1000-0gfdbhds20cafd1c',
  3.         traceUser: true,
  4. })
​      
      坑2:编译后没有反应,不知道哪里出现了问题,这个​时候,需要在云端查看原因。

4166962738ccc4ac9d.png

​      坑3:数据库引用错误,或者根本就不存在这个数据库,需要建立一个student的数据库​。

  1. return await db.collection('student').add

      坑4:云函数的名称引用错误,这里需要区分大小写的。

  1. name:'CloudADDdb',

​结:

      任何标点,大小写都可以造成莫名其妙的错误,对于小白而言是最容易犯的错误,而依靠编译器进行查询错误,往往会遗漏​。云函数的操作几个步骤需要记住,按照每个步骤进行,​基本上不会有什么问题。建立云函数,上传并部署云函数​,使用云函数。

      另外return await 其中await是需要等待异步结束才要用到的,如果就一个add,​写不写的效果是一样的。


打赏榜单

21小跑堂 打赏了 20.00 元 2022-05-10
理由:恭喜通过原创文章审核!请多多加油哦!

评论

微信小程序的云端数据库添加,思路清晰,适合小白上手。  发表于 2022-5-10 15:26
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:资深专家
简介:丰富的嵌入式软硬件开发管理经验; 丰富的项目管理经验并具备敏锐的市场嗅觉; 丰富的产品的供应链资源及工厂管控能力; 具备很强的产品落地经验(从产品企划到产品量产);

107

主题

2354

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部