背景
uniapp中使用uniCloud云函数,在云函数中需要检查用户是否登录,或获取用户id
实现
创建云函数后,添加依赖 uni-id-common
在云函数中添加下面的代码,可以解析请求中带过来的 uniIdToken 参数,也就是 token
const uniID = require('uni-id-common')
async function getUid(event, context) {
try {
const uniIDIns = uniID.createInstance({ // 创建uni-id实例
context: context,
// config: {} // 完整uni-id配置信息,使用config.json进行配置时无需传此参数
})
const payload = await uniIDIns.checkToken(event.uniIdToken) // 后续使用uniIDIns调用相关接口
if (payload.errCode !== 0) {
// 返回统一的登录错误
return {
errCode: 401,
errMsg: '用户未登录或登录已过期',
uid: null
}
}
return {
errCode: 0,
errMsg: 'success',
uid: payload.uid
}
} catch (error) {
console.error('获取用户ID失败:', error);
return {
errCode: 401,
errMsg: '用户未登录或登录已过期',
uid: null
}
}
}