文档搞的有点乱,
到现在才搞的有点头绪.
async function go2() {
const uniIdCo=uniCloud.importObject('uni-id-co')
uni.login({ //uni.loin是前端API,成功返回微信小程序CODE
provider: 'weixin', // 指定提供商为微信
success: (res) => {
//uniIdCo是uni=id=co的官方云对象,loginbyweixin用login得到的code来登陆微信小程序
uniIdCo.loginByWeixin({code:res.code,inviteCode:'LMN7FL'}).then(()=>{
uni.showToast({title:'已经邀请注册成功'})
})
}
})
//const tem=await uniIdCo.acceptInvite({inviteCode:'LMN7FL'})
}
uni.login是前端API,直接用,
在sucess里,可以通过res.code,得到微信登录的code
通过uni-id-co的云对象方法loginByWeixin来完成登录,此方法参数是一个对象,需要两个属性,头一个是微信登录的code,第二个inviteCode是uni-user-id表里的邀请码(可选),
方法执行完成后,会自动注册登录的微信号为用户,
把整个方法关联到 登录按钮上即可.
----------
第二天,两种都可以.
async function go2(invitecode) {
const uniIdCo = uniCloud.importObject('uni-id-co')
uni.login({
provider: 'weixin', // 指定提供商为微信
success: async (res) => {
console.log('login sucess: ', res);
uniIdCo.loginByWeixin({
code: res.code,//LOGIN返回的code
inviteCode: '' // 邀请码,可选参数,用于邀请码登录或注册时使用
}).then(async (res2) => {
console.log('loginbyweixin sucess: ', res2);
if (invitecode !== "") {
uniIdCo.acceptInvite({
inviteCode: invitecode
}).then(res3 => {
console.log('invite sucess: ', res3)
}).catch(err => {
console.log(err.code, err.message)
})
}
})
},
fail: (err) => {
console.log('login failed: ', err);
}
})
}