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.

120 lines
3.8 KiB

//index.js
var app = getApp()
Page({
data: {
userInfo:{},//用户公开信息
hasUserInfo:false,//是否获取了用户公开信息
canIUse:wx.canIUse('button.open-type.getUserInfo'),//是否支持使用getUserInfo按钮
openID:'',//用户身份ID信息
isLoading:false
//openimage:'',
//openname:''
},
onLoad: function (options) {
wx.getSetting({//调用接口获取用户的当前设置
success:res=>{//调用成功时的回调函数
if(res.authSetting['scope.userInfo']){//如果已经授权可以直接调用getUserInfo获取头像昵称不会弹框
//增加
//获取id但还没有显示在页面上
var that = this;
wx.showLoading({//显示加载提示框
title: '获取openID...',
})
wx.cloud.callFunction({//调用云函数
name: 'login',//函数名称
data: {},//函数参数
complete: res => {//调用完成时的回调函数
wx.hideLoading();//隐藏加载提示框
this.setData({
isLoading:true
})
},
success: res => {//调用成功时的回调函数
console.log('[云函数][login] user openid:', res.result.openid)
that.setData({//设置页面绑定数据
openID: '[云函数]获取openID成功' + res.result.openid,
//openimage:res.userInfo.avatarUrl,
//openname:res.userInfo.nickname
})
},
fail: err => {//调用失败时的回调函数
console.error('[云函数][login] 调用失败', err)
that.setData({//设置页面绑定数据
openID: '[云函数]获取openID失败' + err
})
}
}
)}//以上获取id
//增加
wx.getUserInfo({//调用接口获取用户公开信息
success:res=>{//调用成功时的回调函数
this.setData({//设置页面绑定数据
userInfo:res.userInfo,
hasUserInfo:true
})
}
})
}
})
},
//获取id但还没有显示在页面上
/*var that = this;
wx.showLoading({//显示加载提示框
title: '获取openID...',
})
wx.cloud.callFunction({//调用云函数
name: 'login',//函数名称
data: {},//函数参数
complete: res => {//调用完成时的回调函数
wx.hideLoading()//隐藏加载提示框
},
success: res => {//调用成功时的回调函数
console.log('[云函数][login] user openid:', res.result.openid)
that.setData({//设置页面绑定数据
openID: '[云函数]获取openID成功' + res.result.openid,
//openimage:res.userInfo.avatarUrl,
//openname:res.userInfo.nickname
})
},
fail: err => {//调用失败时的回调函数
console.error('[云函数][login] 调用失败', err)
that.setData({//设置页面绑定数据
openID: '[云函数]获取openID失败' + err
})
}
})
},*///以上获取id
getUserInfo:function(e){//定义getUserInfo按钮的单击事件函数
console.log(e)
if(!e.detail.userInfo){//如果返回参数中包含userInfo数据则已经获取了用户公开信息
this.setData({//设置页面绑定数据
userInfo:e.detail.userInfo,
hasUserInfo:true,
})
}else{//否则就显示模态对话框,显示模态对话框,提示授权失败信息
wx.showModal({
title:e.detail.errMsg,
content:'小程序需要用户授权获取公开信息才可以继续',
})
}
},
bindViewTap(){
wx.switchTab({
url:'../dub/dub'
})
},
bindViewTap1(){
wx.showModal({
content:'小程序需要登录才可以进行配音哦!',
})
},
})