提交 57aaa8b5 编写于 作者: DCloud_JSON's avatar DCloud_JSON

修复 iOS端,一键登录功能卡在showLoading的问题

上级 285236c9
## 1.2.8(2022-09-01)
+ 修复 iOS端,一键登录功能卡在showLoading的问题
## 1.2.7(2022-08-10)
- 修复微信小程序绑定手机号失败的问题
## 1.2.6(2022-06-29)
......
......@@ -190,10 +190,8 @@
icon: 'none'
});
}
uni.showLoading({mask: true})
if (type == 'univerify' && uni.getUniverifyManager) {
if (type == 'univerify') {
let univerifyManager = uni.getUniverifyManager()
console.log('是新版');
let onButtonsClickFn = async res =>{
console.log('点击了第三方登录,provider:',res, res.provider,this.univerifyStyle.buttons.list);
//同步一键登录弹出层隐私协议框是否打勾
......@@ -231,10 +229,11 @@
}
// 订阅自定义按钮点击事件
univerifyManager.onButtonsClick(onButtonsClickFn)
// 调用一键登录弹框
return univerifyManager.login({
"univerifyStyle": this.univerifyStyle,
success:res=> {
// 调用一键登录弹框
console.log(this.univerifyStyle,univerifyManager.login);
return univerifyManager.login({
"univerifyStyle": this.univerifyStyle,
success:res=> {
console.log('login success', res)
this.login(res.authResult, 'univerify')
},
......@@ -245,16 +244,17 @@
});
},
complete(e){
console.log(e);
uni.hideLoading()
// 取消订阅自定义按钮点击事件
univerifyManager.offButtonsClick(onButtonsClickFn)
}
})
}
}
})
}
uni.showLoading({mask: true})
uni.login({
"provider": type,
"onlyAuthorize": true, //请勿直接使用前端获取的unionid或openid直接用于登录,前端的数据都是不可靠的
"univerifyStyle": this.univerifyStyle,
complete: (e) => {
console.log(e);
uni.hideLoading()
......@@ -271,63 +271,6 @@
},
fail: async (err) => {
console.log(err);
// 以下代码为兼容旧版(HBuilderX3.2.13之前)HBuilderX3.2.13以上版本可直接删除
if (type == 'univerify'&& !uni.getUniverifyManager) {
if (err.metadata && err.metadata.error_data) {
uni.showToast({
title: t('oneClickLogin') + ":" + err.metadata.error_data,
icon: 'none'
});
}
if (err.errMsg) {
uni.showToast({
title: t('oneClickLogin') + ":" + err.errMsg,
icon: 'none'
});
}
switch (err.errCode) {
case 30002:
console.log('在一键登录界面,点击其他登录方式');
break;
case 30003:
console.log('关闭了登录');
if (navigateBack) {
uni.navigateBack()
}
break;
case 30006:
uni.showModal({
title: t('loginErr'),
content: err.metadata.error_data,
showCancel: false,
confirmText: t('gotIt'),
});
break;
case "30008":
console.log('点击了第三方登录,provider:', err.provider);
//同步一键登录弹出层隐私协议框是否打勾
let agree = (await uni.getCheckBoxState())[1].state
console.log('agree', agree);
uni.$emit('setAgreementsAgree', agree)
let {
path
} = this.univerifyStyle.buttons.list[res.index]
console.log('path', path);
if (path) {
this.to(path)
} else {
setTimeout(() => {
console.log('agree', this.agree);
this.login_before(err.provider)
}, 500)
}
break;
default:
console.log(err);
break;
}
}
// 以上代码为兼容旧版(HBuilderX3.2.13之前)HBuilderX3.2.13以上版本可直接删除
}
})
},
......
{
"name": "uni-starter",
"appid": "请点击重新获取",
"name": "",
"appid": "",
"description": "",
"versionName": "1.0.0",
"versionName": "",
"versionCode": "100",
"transformPx": false,
"app-plus": {
......@@ -16,6 +16,8 @@
"delay": 0
},
"modules": {
"OAuth": {
}
},
"distribute": {
"android": {
......@@ -40,6 +42,10 @@
"ios": {
},
"sdkConfigs": {
"oauth": {
"univerify": {
}
}
}
}
},
......@@ -69,6 +75,5 @@
"uniStatistics": {
"enable": false
},
"vueVersion": "2",
"_spaceID": ""
"vueVersion": "2"
}
\ No newline at end of file
{
"id": "uni-starter",
"displayName": "uni-starter",
"version": "1.2.7",
"version": "1.2.8",
"description": "云端一体应用快速开发基本项目模版",
"keywords": [
"login",
......
......@@ -125,11 +125,10 @@
@import url("../common/login-page.css");
.quickLogin {
width: 650rpx;
.quickLogin {
height: 350px;
align-items: center;
justify-content: center;
justify-content: center;
}
.quickLoginBtn {
......
{
"scripts": {
"preupload": "node uni_modules_tools/main.js change",
"postupload": "node uni_modules_tools/main.js recovery"
// "preupload": "node uni_modules_tools/main.js change",
// "postupload": "node uni_modules_tools/main.js recovery"
}
}
\ No newline at end of file
......@@ -425,8 +425,10 @@ exports.main = async (event, context) => {
await uniIdLog(loginRes)
return loginRes
break;
case 'loginByUniverify':
res = await uniID.loginByUniverify(params)
case 'loginByUniverify':
console.error(params)
res = await uniID.loginByUniverify(params)
console.log(999999999,res)
await uniIdLog(res)
break;
case 'loginByApple':
......
{
"name": "uni-id-cf-123",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"uni-captcha": "file:../../../../uni-captcha/uniCloud/cloudfunctions/common/uni-captcha",
"uni-config-center": "file:../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center",
"uni-id": "file:../../../../uni-id/uniCloud/cloudfunctions/common/uni-id"
}
}
{
"name": "uni-id-cf-123",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"uni-captcha": "file:../../../../uni-captcha/uniCloud/cloudfunctions/common/uni-captcha",
"uni-config-center": "file:../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center",
"uni-id": "file:../../../../uni-id/uniCloud/cloudfunctions/common/uni-id"
},
"extensions": {
"uni-cloud-verify": {}
}
}
\ No newline at end of file
const fs = require('fs');
module.exports = function(){
console.log('开始执行脚本change_after');
let changelog = fs.readFileSync(process.cwd() + '/changelog.md', 'utf-8').split("##")[1].split("\n").slice(1).join(' ');
/* let changelog = fs.readFileSync(process.cwd() + '/changelog.md', 'utf-8').split("##")[1].split("\n").slice(1).join(' ');
console.log(changelog);
// 这里是修改完相关敏感配置后执行的脚本,你可以在这里自定义逻辑,
// 比如执行git提交命令
// 比如执行git提交命令
var shell = require("shelljs");
var exec = shell.exec;
......@@ -20,5 +22,6 @@ module.exports = function(){
shell.echo('Error: Git commit failed');
shell.exit(1);
}
shell.exec(`echo git success ${changelog}`);
shell.exec(`echo git success ${changelog}`);
*/
}
\ No newline at end of file
// "文件路径" : {"键名":"改成什么"}
{
"/manifest.json": {
"appid": "请点击重新获取",
"mp-weixin" : {
"appid" : ""
},
"app-plus" : {
"distribute" :{
"sdkConfigs" : {
"oauth" : {
"weixin" : {
"appid" : "",
"appsecret" : "",
"UniversalLinks" : ""
},
"univerify" : {}
},
"share" : {
"weixin" : {
"appid" : "",
"UniversalLinks" : ""
}
},
"geolocation" : {
"baidu" : {
"__platform__" : [ "ios", "android" ],
"appkey_ios" : "请填写地图的key",
"appkey_android" : "请填写地图的key"
}
}
}
}
},
"_spaceID" : "",
"vueVersion" : "2"
"appid": "",
"name": "",
"versionName": "",
"mp-weixin": {
"appid": ""
},
"vueVersion": "2",
"app-plus": {
"modules": {
"OAuth": {}
},
"distribute": {
"sdkConfigs": {
"oauth": {
"univerify": {}
}
}
}
}
},
"/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json": {
"/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json": {
"tokenExpiresIn": 7200,
"app": {
"oauth": {
......@@ -77,4 +63,4 @@
}
}
}
}
\ No newline at end of file
}
//脚本文件目录 __dirname
//运行脚本的目录,即:项目的目录 process.cwd()
//配置文件
const fs = require('fs'),
Hjson = require('hjson'),
config = Hjson.rt.parse(fs.readFileSync(__dirname+'/config.js', 'utf-8'))
config = Hjson.rt.parse(fs.readFileSync(__dirname+'/config.js', 'utf-8'))
const change_after = require('./change_after')
if(process.argv[2] == 'change'){
change(config,()=>{
console.log('脚本change已经执行成功');
......@@ -26,7 +26,7 @@ function change(config,callback){
//保持原文件名先备份一份到/uni_modules_tools/copy目录下,然后再覆盖
writeFileRecursive(copyPath, fileText, function(err) { //创建目录并写入文件
if (err) {
return console.log({err});
return console.log(err);
}
//改写
let HfileObj = Hjson.rt.parse(fileText)
......@@ -56,9 +56,11 @@ function change(config,callback){
function recovery(){
let paths = Object.keys(config)
console.log(paths);
paths.forEach(path=>{
console.log(__dirname + '/copy' + path);
let oldFile = fs.readFileSync(__dirname + '/copy' + path)
console.log(process.cwd() + path);
fs.writeFile(process.cwd() + path, oldFile, function(err) {
if (err) {
console.log(err);
......@@ -92,15 +94,10 @@ function writeFileRecursive(path, buffer, callback) {
function mergeJSON(minor, main) {
for (var key in main) {
if (typeof(main[key]) != 'object' ) {
console.log({key,main});
minor[key] = main[key];
}else{
console.log(9999,{minor,key,main});
if(minor){
mergeJSON(minor[key], main[key]);
}else{
console.log(minor,'不存在:'+key);
}
console.log('[',minor[key], main[key],']');
mergeJSON(minor[key], main[key]);
}
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册