好的,经过上一篇文章的介绍,给大家介绍了一下,如何通过云函数,来加工处理数据,那么了解完了通过云函数加工处理数据之后,那么本篇文章其实是来带大家填一个坑,那么填一个什么坑呢?在前面我在介绍云存储的时候,为了避免用户上传相同名称的资源文件,导致后上传的会覆盖先上传的,这个时候我们就需要动态的生成这个文件的名称,而不要让用户去命名这个文件。
那动态的生成文件名称,我用的是时间戳 + 扩展名的形式,而 openId,那个时候我还不想给大家介绍,因为我想介绍完毕了云函数之后,再来介绍 openId,但是后来我发现,这个 openId,其实是可以在云函数中快速获取的,所以,我就把这个坑给填上了。
如果没有了解过云函数,这个时候获取 openId 是一件繁琐的事情,但是如果了解过云函数,那么获取 openId 就是一件非常简单的事情,那么接下来,我们就来看看,如何在云函数中快速获取 openId。
如果不在与函数中获取 openId,那么获取流程如下(这里我自己画图我省略了,我去网上找了一张图):
这个流程是微信授权登录的流程,也就是说,过去你想获取 OpenId,必须要让用户通过微信登录,登录之后,才能去获取到这个用户的 OpenId。
介绍一下什么是 OpenId:OpenId 是微信为每一个用户生成的唯一标识,这个标识是不会重复的,也就是说,每一个用户的 OpenId 都是不一样的,这个 OpenId 是微信给每一个用户生成的,我们是无法修改的。
通过如上我贴出来的流程图,我们是不是有好几步要做才能完成这个获取 OpenId, 那么我们能不能简化这个流程呢?答案是肯定的,我们可以通过云函数来快速获取 OpenId,那么我们来看看,如何通过云函数来快速获取 OpenId。
这里我在新建一个新的云函数,命名为:demo
,我告诉你,在你新建完成之后,其实就已经获取到了 OpenId 😁, 然后你找到新建的这个云函数 index.js 文件查看一下,你会发现,这个文件中已经有了一些代码了,如下:
在上图中,代码的含义首先通过 cloud.getWXContext()
获取到了微信的上下文对象,然后再通过微信上下文对象获取到了一些信息, 获取到的信息中就包含了我们本文要介绍的 OpenId。
这个时候呢,先不管三七二十一,直接将这个新建的云函数部署到云端,然后在云函数的调试界面,点击调用,然后你会发现,你的 OpenId 已经获取到了,当然也可以通过代码来获取,在页面上编写一个按钮,然后编写对应的事件回调代码,如下:
<button type="primary" bindtap="onOpenIdTap">获取 OpenId</button>
再编写一下对应的事件回调代码:
async onOpenIdTap() {
const res = await wx.cloud.callFunction({
name: 'demo',
});
console.log(res);
}
然后点击按钮,你会发现,OpenId 已经获取到了,如下:
到这基本上本文的主要内容就主要介绍完毕了,通过本文你可以了解到如何在云函数中快速获取 OpenId,什么是 OpenId,以及为什么要在云函数中获取 OpenId,而不再微信小程序代码中获取 OpenId。
本篇文章内容介绍到这就结束了,我们下期再见,感谢大家的观看,谢谢大家。
🐤如果您对本文有任何疑问或想法,请在评论区留言,我将很乐意与您交流。 🐰您的每一条评论对我都至关重要,我会尽快给予回复。 🎈如果您觉得这篇文章对您有所启发或帮助,请不吝赞赏、收藏或分享。 🎁您的每一个动作都是对我创作的最大鼓励和支持。 👍谢谢您的阅读和陪伴! 🍻感谢您的支持,我会继续努力的!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。