微信小程序实战之获取用户信息并保存唯一实例

前言

这是我参加掘金启航计划的第二篇文章,这次总结的是获取用户信息并联合 mobx 状态管理库,保存全局唯一的用户对象。

本篇文章基于 微信云开发 ,数据从云数据库中取出,使用微信云数据库API进行获取数据,希望观众老爷们多多支持!

1. 获取用户的openid

我们需要获取微信用户的 openid ,通过 openid 获取用户的登录信息。

首先我们需要创建云函数,选中 cloudfunctions 文件夹,右键选择新建 Node.js 云函数,命名为 gitOpenId

然后在该文件夹下的 index.js 中填写以下内容:

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

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {const wxContext = cloud.getWXContext()return {event,openid: wxContext.OPENID,appid: wxContext.APPID,unionid: wxContext.UNIONID,}
} 

然后进行选中 gitOpenId 文件夹,右键选择上传并部署即可:

然后打开 app.js,在 globalData 中,添加 openid

 globalData: {openid: ""} 

然后在 onLaunch 函数中,使用 gitOpenId 云函数,在小程序打开时,获取用户 openid,并保存到 globalData.openid 中。

 onLaunch: function () {wx.cloud.callFunction({name: 'gitOpenId',complete: res => {this.globalData.openid = res.result.openid;}});} 

2. 创建用户接口

创建用户接口,操作云数据库中的用户集合,包括创建用户和获取用户信息两个接口。

首先我们需要在云数据库中创建用户集合 users

然后在 utils/database/ 文件夹下,创建 user.js,并书写以下内容:

import dayjs from "dayjs";

function table(name) {return wx.cloud.database().collection(name);
}
//通过openid获取用户信息
async function getUserByOpenid(id) {const {data} = await table("users").where({_openid: id}).get();return data;
}

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值