uniapp 抖音小程序授权登录
//抖音登录点击
const onDyLoginClick = () => {
dyLogin()
}
//抖音三方登录
const dyLogin = () => {
uni.login({
provider: 'toutiao',
success: function (loginRes) {
console.log("loginRes", loginRes);
uni.getUserInfo({
provider: 'toutiao',
success(res) {
console.log("getUserInfo = ", res)
uni.setStorageSync('authInfo', res.userInfo);
if (res) {
let params = {
code: loginRes.code,
anonymous_code: loginRes.anonymousCode
}
// result.tt_data.openid
}
},
fail(err) {
getUserAuth()
console.log("getUserInfo fail = ", err)
}
})
}
});
}
//校验授权状态,正常授权后才能去登录
const getUserAuth = () => {
// 获取用户的当前设置
uni.getSetting({
success(res) {
// 判断是否拥有此权限,进行拉起授权和重新授权
if (!res.authSetting['scope.userInfo']) {
// 未授权此项权限 拉起授界面
uni.authorize({
scope: 'scope.userInfo',
success() {
// 授权成功
dyLogin()
},
fail(err) {
//拒绝授权
uni.showToast({
title: '拒绝授权将无法正常使用该应用',
icon: 'none'
});
// 这里必须经过一个confirm 不然也会出现问题
uni.showModal({
title: '是否重新授权用户信息',
success(res) {
if (res.confirm) {
uni.openSetting({
success() {
dyLogin()
console.log('授权成功');
},
fail() {
console.log('授权失败');
}
});
} else if (res.cancel) {
console.log('拒绝授权');
}
}
});
}
});
} else {
// 使用已授权的功能
dyLogin()
}
}
});
}