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

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

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

      第一步:建立云函数

​      第二步:上传部署云函数;

      第三步:在应用中进行调用

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

一、获取OPENID

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

// 云函数入口文件

const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数

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

  let {OPENID,APPID}=cloud.getWXContext()

  return {

    OPENID,

    APPID

  }

}

     上传和部署云函数。

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

  onLoad: function (options) {

      wx.cloud.callFunction({

        name:"AppID",

        data:{

         

        },

        success:res=>{

          console.log(res.result)

          console.log(res.result.OPENID)

          console.log(res.result.APPID)

          this.setData({

           

          })

        }

      })

  },

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

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

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

      建立云函数

// 云函数入口文件

const cloud = require('wx-server-sdk')

cloud.init({

  env: 'yx1000-0gfdbhds20cafd1c',

        traceUser: true,

})

const db=cloud.database()

// 云函数入口函数

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

  const wxContext = cloud.getWXContext()

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

    data:{

      _id:wxContext.APPID,

      name:event.name,

      age:event.age

    }

  })

}

      上传并部署

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

  /**

   * 生命周期函数--监听页面加载

   */

  onLoad: function (options) {

      wx.cloud.callFunction({

        name:'CloudADDdb',

        data:{

          age:"40",

          name:"laowang"

        },

        success:res=>{

          console.log(res.result)

         

        }

      })

  },

      进行编译之后。

      查看云端。

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

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

cloud.init({

  env: 'yx1000-0gfdbhds20cafd1c',

        traceUser: true,

})​      

      2编译后没有反应,不知道哪里出现了问题,这个时候,需要在云端查看原因。

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

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

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

name:'CloudADDdb',

结:

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

      另外return await 其中await是需要等待异步结束才要用到的,如果就一个add写不写的效果是一样的。
---------------------
作者:单片小菜
链接:https://bbs.21ic.com/icview-3219280-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
函数中编写后端代码,可以使用 Node.js 或者其他语言。以下是一个 Node.js 的示例代码,用于获取微信小程序用户信息并存储在数据库中: ```javascript const cloud = require('wx-server-sdk') cloud.init() // 函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() // 获取用户信息 const userInfo = await cloud.openapi.userinfo({ openid: wxContext.OPENID, lang: 'zh_CN', accessToken: event.accessToken }) // 存储用户信息到数据库 const db = cloud.database() const result = await db.collection('users').add({ data: { openid: wxContext.OPENID, nickname: userInfo.nickname, avatarUrl: userInfo.avatarUrl } }) return { result: result } } ``` 在上面的代码中,我们首先使用 `cloud.init()` 初始化函数环境。然后,通过 `cloud.getWXContext()` 获取微信小程序用户的上下文信息。接着,使用 `cloud.openapi.userinfo()` 调用微信小程序的 API 获取用户信息,其中 `event.accessToken` 是从小程序前端传递过来的用户访问令牌。最后,使用 `cloud.database()` 获取数据库实例,并使用 `db.collection('users').add()` 存储用户信息到集合 `users` 中。 注意,为了使用 `cloud.openapi.userinfo()`,你需要在微信公众平台中配置好小程序的服务器域名,并获取小程序的 AppID 和 AppSecret。同时,你还需要在小程序前端页面中使用 `wx.login()` 获取用户的登录凭证(code),并通过 `wx.cloud.callFunction()` 调用该函数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值