提交 02ed22ca 编写于 作者: C chenruilong

fix: 调试模式下没有对weixinMobile登录方式进行配置检测

上级 b425d8cc
// 导入配置 // 导入配置
import config from '@/uni_modules/uni-id-pages/config.js'; import config from '@/uni_modules/uni-id-pages/config.js'
// uni-id的云对象 // uni-id的云对象
const uniIdCo = uniCloud.importObject("uni-id-co", { const uniIdCo = uniCloud.importObject('uni-id-co', {
customUI: true customUI: true
}) })
// 用户配置的登录方式、是否打开调试模式 // 用户配置的登录方式、是否打开调试模式
const { const {
loginTypes, loginTypes,
debug debug
} = config } = config
export default async function() { export default async function () {
// 有打开调试模式的情况下
// 有打开调试模式的情况下 if (debug) {
if (debug) { // 1. 检查本地uni-id-pages中配置的登录方式,服务器端是否已经配置正确。否则提醒并引导去配置
// 1. 检查本地uni-id-pages中配置的登录方式,服务器端是否已经配置正确。否则提醒并引导去配置 // 调用云对象,获取服务端已正确配置的登录方式
//调用云对象,获取服务端已正确配置的登录方式 const {
let { supportedLoginType
supportedLoginType } = await uniIdCo.getSupportedLoginType()
} = await uniIdCo.getSupportedLoginType() console.log('supportedLoginType: ' + JSON.stringify(supportedLoginType))
console.log("supportedLoginType: " + JSON.stringify(supportedLoginType)); // 登录方式,服务端和客户端的映射关系
//登录方式,服务端和客户端的映射关系 const data = {
let data = { smsCode: 'mobile-code',
smsCode: 'mobile-code', univerify: 'univerify',
univerify: 'univerify', username: 'username-password',
username: 'username-password', weixin: 'weixin',
weixin: 'weixin', qq: 'qq',
qq: 'qq', xiaomi: 'xiaomi',
xiaomi: 'xiaomi', sinaweibo: 'sinaweibo',
sinaweibo: 'sinaweibo', taobao: 'taobao',
taobao: 'taobao', facebook: 'facebook',
facebook: 'facebook', google: 'google',
google: 'google', alipay: 'alipay',
alipay: 'alipay', apple: 'apple',
apple: "apple" weixinMobile: 'weixin'
} }
//遍历客户端配置的登录方式,与服务端比对。并在错误时抛出错误提示 // 遍历客户端配置的登录方式,与服务端比对。并在错误时抛出错误提示
let list = loginTypes.filter(type => !supportedLoginType.includes(data[type])) const list = loginTypes.filter(type => !supportedLoginType.includes(data[type]))
if (list.length) { if (list.length) {
console.error( console.error(
`错误:前端启用的登录方式:${list.join('')};没有在服务端完成配置。配置文件路径:"/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json"` `错误:前端启用的登录方式:${list.join('')};没有在服务端完成配置。配置文件路径:"/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json"`
); )
} }
} }
// #ifdef APP-PLUS
//如果uni-id-pages配置的登录功能有一键登录,有则执行预登录(异步)
if (loginTypes.includes('univerify')) {
uni.preLogin({
provider: 'univerify',
complete: e => {
// console.log(e);
}
})
}
// #endif
//3. 绑定clientDB错误事件 // #ifdef APP-PLUS
// clientDB对象 // 如果uni-id-pages配置的登录功能有一键登录,有则执行预登录(异步)
const db = uniCloud.database() if (loginTypes.includes('univerify')) {
db.on('error', onDBError) uni.preLogin({
//clientDB的错误提示 provider: 'univerify',
function onDBError({ complete: e => {
code, // 错误码详见https://uniapp.dcloud.net.cn/uniCloud/clientdb?id=returnvalue // console.log(e);
message }
}) { })
// console.error('onDBError', {code,message}); }
} // #endif
// 解绑clientDB错误事件
//db.off('error', onDBError)
// 3. 绑定clientDB错误事件
// clientDB对象
const db = uniCloud.database()
db.on('error', onDBError)
// clientDB的错误提示
function onDBError ({
code, // 错误码详见https://uniapp.dcloud.net.cn/uniCloud/clientdb?id=returnvalue
message
}) {
// console.error('onDBError', {code,message});
}
// 解绑clientDB错误事件
// db.off('error', onDBError)
//4. 同步客户端push_clientid至device表 // 4. 同步客户端push_clientid至device表
if (uniCloud.onRefreshToken) { if (uniCloud.onRefreshToken) {
uniCloud.onRefreshToken(() => { uniCloud.onRefreshToken(() => {
// console.log('onRefreshToken'); // console.log('onRefreshToken');
if (uni.getPushClientId) { if (uni.getPushClientId) {
uni.getPushClientId({ uni.getPushClientId({
success: async function(e) { success: async function (e) {
// console.log(e) // console.log(e)
let pushClientId = e.cid const pushClientId = e.cid
// console.log(pushClientId); // console.log(pushClientId);
let res = await uniIdCo.setPushCid({ const res = await uniIdCo.setPushCid({
pushClientId pushClientId
}) })
// console.log('getPushClientId', res); // console.log('getPushClientId', res);
}, },
fail(e) { fail (e) {
console.log(e) console.log(e)
} }
}) })
} }
}) })
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册