小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我想判断当前用户的openid 是否存在云数据库,如果不存在那就添加昵称和头像信息, 怎么判断啊 ?
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
最简单的是add一个以openid为_id的记录,如果返回是已经存在或错误,则已经存在,否则直接添加成功。只需要一条SQL,否则按你说的,需要两条SQL。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
首先你的数据库里要有一个记录着用户openid的集合,然后通过云函数查找集合,小程序端根据查找的返回值判断
云函数代码:
// 云函数入口文件
const cloud = require('wx-server-sdk')
•
cloud.init('**这里写上云环境名称***')
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
const admin = db.collection('admin'); //注意,这里就是刚才的集合的名字——user
return admin.where({
_openid: wxContext.OPENID
}).get()
}
小程序代码:
login() {
wx.cloud.callFunction({
name: "getopenid",
success: res => {
if (res.result.data.length == 0) { //用户不存在
wx.showToast({
title: '错误!!',
icon: 'none',
duration: 1500
})
} else {
console.log('用户信息返回', res.result.data[0]) //用户信息返回
wx.navigateTo({
url: '/pages/sx/sx', //这里是成功登录后跳转的页面
},
fail:err=> {
console.log("获取失败", err)
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
最简单的是add一个以openid为_id的记录,如果返回是已经存在或错误,则已经存在,否则直接添加成功。只需要一条SQL,否则按你说的,需要两条SQL。
_id: openid,
nickName: "nickName",
avatarUrl: "url"
})
首先你的数据库里要有一个记录着用户openid的集合,然后通过云函数查找集合,小程序端根据查找的返回值判断
云函数代码:
// 云函数入口文件
const cloud = require('wx-server-sdk')
•
cloud.init('**这里写上云环境名称***')
•
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
const admin = db.collection('admin'); //注意,这里就是刚才的集合的名字——user
•
return admin.where({
_openid: wxContext.OPENID
}).get()
}
小程序代码:
login() {
wx.cloud.callFunction({
name: "getopenid",
success: res => {
if (res.result.data.length == 0) { //用户不存在
wx.showToast({
title: '错误!!',
icon: 'none',
duration: 1500
})
} else {
console.log('用户信息返回', res.result.data[0]) //用户信息返回
wx.navigateTo({
url: '/pages/sx/sx', //这里是成功登录后跳转的页面
})
}
},
fail:err=> {
console.log("获取失败", err)
}
})
},