From df9e97f214f521bca85427ea70d0edb3fca5406e Mon Sep 17 00:00:00 2001 From: linju Date: Thu, 1 Sep 2022 21:30:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20iOS=E7=AB=AF=EF=BC=8C?= =?UTF-8?q?=E4=B8=80=E9=94=AE=E7=99=BB=E5=BD=95=E5=8A=9F=E8=83=BD=E5=8D=A1?= =?UTF-8?q?=E5=9C=A8showLoading=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelog.md | 2 + .../uni-quick-login/uni-quick-login.vue | 79 ++-------- manifest.json | 147 +++++++++--------- package.json | 2 +- pages/ucenter/login-page/index/index.vue | 5 +- uni_modules.config.json | 4 +- .../cloudfunctions/uni-id-cf/index.js | 6 +- .../cloudfunctions/uni-id-cf/package.json | 31 ++-- uni_modules_tools/change_after.js | 9 +- uni_modules_tools/config.js | 56 +++---- uni_modules_tools/main.js | 49 +++--- 11 files changed, 168 insertions(+), 222 deletions(-) diff --git a/changelog.md b/changelog.md index f012130a..536e4c0d 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,5 @@ +## 1.2.8(2022-09-01) ++ 修复 iOS端,一键登录功能卡在showLoading的问题 ## 1.2.7(2022-08-10) - 修复微信小程序绑定手机号失败的问题 ## 1.2.6(2022-06-29) diff --git a/components/uni-quick-login/uni-quick-login.vue b/components/uni-quick-login/uni-quick-login.vue index cd8662c7..1dc4204f 100644 --- a/components/uni-quick-login/uni-quick-login.vue +++ b/components/uni-quick-login/uni-quick-login.vue @@ -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以上版本可直接删除 } }) }, diff --git a/manifest.json b/manifest.json index 6b1027a5..e46add7a 100644 --- a/manifest.json +++ b/manifest.json @@ -1,72 +1,79 @@ { - "name": "uni-starter", - "appid": "__UNI__EC87F46", - "description": "", - "versionName": "1.0.0", - "versionCode": "100", - "transformPx": false, - /* 5+App特有相关 */ - "app-plus": { - "usingComponents": true, - "nvueStyleCompiler": "uni-app", - "compilerVersion": 3, - "splashscreen": { - "alwaysShowBeforeRender": true, - "waiting": true, - "autoclose": true, - "delay": 0 - }, - /* 模块配置 */ - "modules": {}, - /* 应用发布信息 */ - "distribute": { - /* android打包配置 */ - "android": { - "permissions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - /* ios打包配置 */ - "ios": {}, - /* SDK配置 */ - "sdkConfigs": {} - } - }, - /* 快应用特有相关 */ - "quickapp": {}, - /* 小程序特有相关 */ - "mp-weixin": { - "appid": "", - "setting": { - "urlCheck": false - }, - "usingComponents": true - }, - "mp-alipay": { - "usingComponents": true - }, - "mp-baidu": { - "usingComponents": true - }, - "mp-toutiao": { - "usingComponents": true - }, - "uniStatistics": { - "enable": false - }, - "vueVersion": "2" + "name": "", + "appid": "", + "description": "", + "versionName": "", + "versionCode": "100", + "transformPx": false, + "app-plus": { + "usingComponents": true, + "nvueStyleCompiler": "uni-app", + "compilerVersion": 3, + "splashscreen": { + "alwaysShowBeforeRender": true, + "waiting": true, + "autoclose": true, + "delay": 0 + }, + "modules": { + "OAuth": { + } + }, + "distribute": { + "android": { + "permissions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "ios": { + }, + "sdkConfigs": { + "oauth": { + "univerify": { + } + } + } + } + }, + "quickapp": { + }, + "mp-weixin": { + "appid": "", + "setting": { + "urlCheck": false + }, + "usingComponents": true, + "permission": { + "scope.userLocation": { + "desc": "用于提供应用算法支持" + } + } + }, + "mp-alipay": { + "usingComponents": true + }, + "mp-baidu": { + "usingComponents": true + }, + "mp-toutiao": { + "usingComponents": true + }, + "uniStatistics": { + "enable": false + }, + "vueVersion": "2" } diff --git a/package.json b/package.json index 098b563e..b9373d94 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "id": "uni-starter", "displayName": "uni-starter", - "version": "1.2.7", + "version": "1.2.8", "description": "云端一体应用快速开发基本项目模版", "keywords": [ "login", diff --git a/pages/ucenter/login-page/index/index.vue b/pages/ucenter/login-page/index/index.vue index e1750d5c..332774f3 100644 --- a/pages/ucenter/login-page/index/index.vue +++ b/pages/ucenter/login-page/index/index.vue @@ -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 { diff --git a/uni_modules.config.json b/uni_modules.config.json index ebabb75f..c1bde514 100644 --- a/uni_modules.config.json +++ b/uni_modules.config.json @@ -1,6 +1,6 @@ { "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 diff --git a/uni_modules/uni-id-cf/uniCloud/cloudfunctions/uni-id-cf/index.js b/uni_modules/uni-id-cf/uniCloud/cloudfunctions/uni-id-cf/index.js index c0560e3d..393afb2b 100644 --- a/uni_modules/uni-id-cf/uniCloud/cloudfunctions/uni-id-cf/index.js +++ b/uni_modules/uni-id-cf/uniCloud/cloudfunctions/uni-id-cf/index.js @@ -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': diff --git a/uni_modules/uni-id-cf/uniCloud/cloudfunctions/uni-id-cf/package.json b/uni_modules/uni-id-cf/uniCloud/cloudfunctions/uni-id-cf/package.json index 99aae9d0..42a527c9 100644 --- a/uni_modules/uni-id-cf/uniCloud/cloudfunctions/uni-id-cf/package.json +++ b/uni_modules/uni-id-cf/uniCloud/cloudfunctions/uni-id-cf/package.json @@ -1,16 +1,19 @@ { - "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": {} + } } diff --git a/uni_modules_tools/change_after.js b/uni_modules_tools/change_after.js index f174a41e..431dc4e0 100644 --- a/uni_modules_tools/change_after.js +++ b/uni_modules_tools/change_after.js @@ -1,10 +1,12 @@ 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 diff --git a/uni_modules_tools/config.js b/uni_modules_tools/config.js index d1676bfb..2fd9447a 100644 --- a/uni_modules_tools/config.js +++ b/uni_modules_tools/config.js @@ -1,41 +1,27 @@ // "文件路径" : {"键名":"改成什么"} { "/manifest.json": { - "appid": "请点击重新获取" ,//清空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 +} diff --git a/uni_modules_tools/main.js b/uni_modules_tools/main.js index 9b0c5936..762bd832 100644 --- a/uni_modules_tools/main.js +++ b/uni_modules_tools/main.js @@ -1,10 +1,10 @@ -//脚本文件目录 __dirname -//运行脚本的目录,即:项目的目录 process.cwd() - +//脚本文件目录 __dirname +//运行脚本的目录,即:项目的目录 process.cwd() + //配置文件 -const fs = require('fs'), +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'){ @@ -75,28 +75,29 @@ function recovery(){ - -//创建目录并写入文件 -function writeFileRecursive(path, buffer, callback) { - let lastPath = path.substring(0, path.lastIndexOf("/")); - fs.mkdir(lastPath, { - recursive: true - }, (err) => { - if (err) return callback(err); - fs.writeFile(path, buffer, function(err) { - if (err) return callback(err); - return callback(null); - }); - }); -} - -//递归合并,为了保留注释内容 -function mergeJSON(minor, main) { - for (var key in main) { + +//创建目录并写入文件 +function writeFileRecursive(path, buffer, callback) { + let lastPath = path.substring(0, path.lastIndexOf("/")); + fs.mkdir(lastPath, { + recursive: true + }, (err) => { + if (err) return callback(err); + fs.writeFile(path, buffer, function(err) { + if (err) return callback(err); + return callback(null); + }); + }); +} + +//递归合并,为了保留注释内容 +function mergeJSON(minor, main) { + for (var key in main) { if (typeof(main[key]) != 'object' ) { minor[key] = main[key]; }else{ + console.log('[',minor[key], main[key],']'); mergeJSON(minor[key], main[key]); - } + } } } \ No newline at end of file -- GitLab