onGetOpenid: function (e) { let that=this wx.getUserInfo({ success: res => { this.setData({ avatarUrl: res.userInfo.avatarUrl, userInfo: res.userInfo }) wx.setStorage({ key: "Userinfo", data: this.data.userInfo }) // 调用云函数 wx.cloud.callFunction({ name: 'login', data: {}, success: res => { console.log('[云函数] [login] user openid: ', res.result.openid) app.globalData.openid = res.result.openid wx.setStorageSync("myOpenId", res.result.openid); const db = wx.cloud.database({ env: 'gdouerhome-8gtde3z00e0425c7' }) return db.collection('Assistant_User').add({ //添加人 data: { Username: that.data.userInfo.nickName, Last_to_Reply: Date.now(), Last_toup_Time: Date.now(), User_head_url: that.data.userInfo.avatarUrl, Creat_user_Time: Date.now() } }).then(res => { console.log(res); wx.switchTab({ url: '../Main_page/Main_page', }) }) }, fail: err => { console.error('[云函数] [login] 调用失败', err) wx.showToast({ title: '云函数:调用失败', icon: 'none', duration: 1500 })
时间: 2024-02-10 20:08:55 浏览: 88
这是一段小程序代码,实现的功能是获取用户的个人信息和 openid,调用云函数并将用户信息存储到云数据库中。其中,使用了 wx.getUserInfo 方法获取用户信息,通过 wx.cloud.callFunction 方法调用云函数获取 openid,最后使用 wx.cloud.database 方法将用户信息存储到云数据库中。
相关问题
uni.getUserInfo({ success: (res2) => { // console.log('当前 res2', res2) res2.rawData = JSON.parse(res.rawData); res2.rawData.nickName = that.value res2.rawData.avatarUrl = that.url0 res2.rawData = JSON.stringify(res2.rawData) let ob = { detail: res2 }; // console.log(ob) console.log(111111111133331,res2) resolve(ob);解释
这段代码是使用uni.getUserInfo函数获取用户信息,并对获取的信息进行处理和修改。
uni.getUserInfo是uni-app框架中的一个API,用于获取用户信息。在success回调函数中,可以获取到用户信息的返回结果。
在这段代码中,首先使用箭头函数定义了success回调函数。在该回调函数中,对获取到的用户信息进行了一系列的处理和修改。
首先,通过JSON.parse解析res.rawData,并将解析后的结果赋值给res2.rawData。然后,将that.value赋值给res2.rawData.nickName,并将that.url0赋值给res2.rawData.avatarUrl。接着,通过JSON.stringify将res2.rawData转换为字符串。
然后,创建了一个名为ob的对象,其中将修改后的res2作为detail属性的值。
最后,使用console.log打印了res2,并通过resolve将ob对象传递给Promise的回调函数。
综合起来,这段代码的作用是获取用户信息,并对其中的nickName和avatarUrl属性进行修改和处理,然后将处理后的结果通过Promise传递给回调函数。
解释代码 // 获取Java用户信息和会员信息 getVipInfo() { let that=this wx.request({ url: app.globalData.baseUrl + '/user/getUserInfo', data: { openid: app.globalData.openid }, success: function (res) { console.log("个人中心Java后台返回的用户信息", res.data) if (res && res.data && res.data.data) { app._updateVipInfo(res.data.data) // java用户信息和会员信息 var user = app.globalData.vipInfo; if (user.viptime && user.viptime > 0) { let shengyu = user.viptime - new Date().getTime() console.log("会员剩余时间", shengyu) that.setData({ shengyu, vipTimeStr: app._getCurrentTime(user.viptime) }) } } } }) }, //获取微信用户信息 getUserProfile() { wx.getUserProfile({ desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 success: (res) => { console.log("获取用户信息成功", res) let user = res.userInfo this.setData({ userInfo: user, }) wx.setStorageSync('user', user) }, fail: res => { console.log("获取用户信息失败", res) } }) },
这段代码是一个小程序的页面逻辑代码,主要包含两个方法:getVipInfo和getUserProfile。
getVipInfo方法是用来获取Java后台服务器中存储的用户信息和会员信息。具体实现是通过微信小程序的wx.request方法向Java后台服务器发送请求,传递openid参数来获取响应。如果Java服务器返回了正确的响应,那么将会在控制台打印出个人中心Java后台返回的用户信息,并且通过调用app._updateVipInfo方法更新全局变量vipInfo的值。接着,检查用户是否是会员,如果是,计算并显示剩余会员时间和会员有效期。
getUserProfile方法是用来获取微信用户信息的,具体实现是通过微信小程序的wx.getUserProfile方法来获取用户信息,此方法需要用户授权才能使用。如果用户授权成功,则会在控制台打印出获取用户信息成功的信息,并将用户信息保存到本地缓存中。如果用户授权失败,则会在控制台打印出获取用户信息失败的信息。
阅读全文