使用真机调试,可以出现授权页面,但打包的apk无法弹出授权页面
下面是我一键登录的代码:
let that = this;
//在这里写一键登录的代码
uni.getProvider({
service: 'oauth',
success: function(res) {
console.log(res.provider) // ['qq', 'univerify']
uni.preLogin({
provider: 'univerify',
success() { //预登录成功
// 显示一键登录选项
uni.login({
//正式登录,弹出授权窗
provider: 'univerify',
univerifyStyle: {
// 自定义登录框样式
fullScreen: true, // 是否全屏显示,true表示全屏模式,false表示非全屏模式,默认值为false。
backgroundColor: '#ffffff', // 授权页面背景颜色,默认值:#ffffff
icon: {
path: "/static/logo.png" // 自定义显示在授权框中的logo,仅支持本地图片 默认显示App logo
},
phoneNum: {
color: '#3db8fb' // 手机号文字颜色 默认值:#000000
},
authButton: {
normalColor: '#3db8fb', // 授权按钮正常状态背景颜色 默认值:#3479f5
highlightColor: '#01C891', // 授权按钮按下状态背景颜色 默认值:#2861c5(仅ios支持)
disabledColor: '#73aaf5', // 授权按钮不可点击时背景颜色 默认值:#73aaf5(仅ios支持)
textColor: '#ffffff', // 授权按钮文字颜色 默认值:#ffffff
title: '本机号码一键登录' // 授权按钮文案 默认值:“本机号码一键登录”
}
},
success(res) {
// 正式登录成功
console.log(res
.authResult
); // {openid:'登录授权唯一标识',access_token:'接口返回的 token'}
// 在得到access_token后,通过callfunction调用云函数
uniCloud.callFunction({
name: 'getPhoneNumber', // 云函数名称
data: {
//传给云函数的参数
access_token: res.authResult
.access_token, // 客户端一键登录接口返回的access_token
openid: res.authResult
.openid // 客户端一键登录接口返回的openid
},
success(callRes) {
console.log('调用云函数成功' + callRes);
console.log(callRes)
console.log(callRes.result)
console.log(callRes.result
.phoneNumber)
// console.log(JSON.stringify(callRes))
// let a = JSON.parse(callRes.result)
// console.log(a)
// 返回的json字符串转成对象后取不到phoneNumber,看后端能不能取到
console.log(123)
let data = {
mobile: callRes.result
.phoneNumber,
// code: 'univerify',
code: 'univer',
};
console.log(123)
console.log(data);
app_login(data)
.then(res => {
console.log(res);
uni.setStorageSync(
'token', res
.data.token)
getApp().globalData
.token = res.data
.token
uni.navigateBack({
delta: 1
})
})
.catch(res => {
uni.hideLoading();
console.log(res);
uni.showToast({
icon: 'none',
title: res
});
});
},
fail(callErr) {
uni.showToast({
title: '调用云函数出错' +
callErr,
icon: 'none',
duration: 4000
})
console.log('调用云函数出错' + callErr);
},
complete() {
uni.closeAuthView(); //关闭授权登录界面
}
});
},
fail(err) {
// 正式登录失败
uni.showToast({
title: err.errCode,
icon: 'none',
duration: 4000
})
console.log(err.errCode);
console.log(err.errMsg);
uni.closeAuthView(); //关闭授权登录界面
}
});
},
fail(res) {
// 预登录失败
// 不显示一键登录选项(或置灰)
// 根据错误信息判断失败原因,如有需要可将错误提交给统计服务器
console.log(res.errCode)
console.log(res.errMsg)
}
})
}
})
我的云函数也部署了,下面是我的index.js的代码
我的开发者后台一键登录也配置了
我的manifest.json里也加了一键登录
不知道哪里有问题了,求大神们帮帮



