You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
1.9 KiB
85 lines
1.9 KiB
const app = getApp()
|
|
|
|
Page({
|
|
data: {
|
|
avatarUrl: './user-unlogin.png',
|
|
userInfo: null,
|
|
logged: false,
|
|
takeSession: false,
|
|
requestResult: '',
|
|
// chatRoomEnvId: 'release-f8415a',
|
|
chatRoomCollection: 'chatroom',
|
|
chatRoomGroupId: 'demo',
|
|
chatRoomGroupName: '聊天室',
|
|
|
|
// functions for used in chatroom components
|
|
onGetUserInfo: null,
|
|
getOpenID: null,
|
|
},
|
|
|
|
onLoad: function() {
|
|
// 获取用户信息
|
|
wx.getSetting({
|
|
success: res => {
|
|
if (res.authSetting['scope.userInfo']) {
|
|
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
|
|
wx.getUserInfo({
|
|
success: res => {
|
|
this.setData({
|
|
avatarUrl: res.userInfo.avatarUrl,
|
|
userInfo: res.userInfo
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}
|
|
})
|
|
|
|
this.setData({
|
|
onGetUserInfo: this.onGetUserInfo,
|
|
getOpenID: this.getOpenID,
|
|
})
|
|
|
|
wx.getSystemInfo({
|
|
success: res => {
|
|
console.log('system info', res)
|
|
if (res.safeArea) {
|
|
const { top, bottom } = res.safeArea
|
|
this.setData({
|
|
containerStyle: `padding-top: ${(/ios/i.test(res.system) ? 10 : 20) + top}px; padding-bottom: ${20 + res.windowHeight - bottom}px`,
|
|
})
|
|
}
|
|
},
|
|
})
|
|
},
|
|
|
|
getOpenID: async function() {
|
|
if (this.openid) {
|
|
return this.openid
|
|
}
|
|
|
|
const { result } = await wx.cloud.callFunction({
|
|
name: 'login',
|
|
})
|
|
|
|
return result.openid
|
|
},
|
|
|
|
onGetUserInfo: function(e) {
|
|
if (!this.logged && e.detail.userInfo) {
|
|
this.setData({
|
|
logged: true,
|
|
avatarUrl: e.detail.userInfo.avatarUrl,
|
|
userInfo: e.detail.userInfo
|
|
})
|
|
}
|
|
},
|
|
|
|
onShareAppMessage() {
|
|
return {
|
|
title: '即时通信 Demo',
|
|
path: '/pages/im/room/room',
|
|
}
|
|
},
|
|
})
|