Forráskód Böngészése

第一次进入app显示 弹窗

tanxue 4 hónapja
szülő
commit
2b2364f38a
3 módosított fájl, 48 hozzáadás és 23 törlés
  1. 14 0
      common/styles/global/pages.scss
  2. 17 21
      pages/login/agreeContentDialog.vue
  3. 17 2
      pages/login/index.vue

+ 14 - 0
common/styles/global/pages.scss

@@ -115,6 +115,20 @@
 	@media (max-height: 700px) {margin-bottom: 16%;}
 	@media (max-height: 600px) {margin-bottom: 0;}
 }
+// 第一次登录时隐私协议弹窗
+.agree-sections-dialog{
+	width: 635rpx;height: 702rpx;padding: 300rpx 36rpx 42rpx;box-sizing: border-box;text-align: center;margin-bottom: 26%;
+	background-image: url("@/static/images/login/agree-dialog-bj.png");@include ezy-no-repeat-cover;
+	.agree-tip{
+		color:#666;font-size: 28rpx;margin-top: 30rpx;text-align: justify;line-height: 40rpx;
+		text{color: #66a2cb;}
+		}
+	.first-confirm-btn{width: 538rpx;height: 80rpx;@include ezy-no-repeat-cover;margin: 24rpx auto 0;font-size: 32rpx;
+	background-color: #22c70a;border-radius: 8rpx;color: #fff;border: 1px solid #999;line-height: 80rpx;}
+	.not-confirm-btn{color:#888;font-size: 32rpx;padding: 16rpx 0;display: inline-block;}
+	@media (max-height: 700px) {margin-bottom: 16%;}
+	@media (max-height: 600px) {margin-bottom: 0;}
+}
 // 用户协议详情弹窗
 .agree-content-dialog{
 	width: 100%;height: 100vh;overflow: auto;

+ 17 - 21
pages/login/agreeContentDialog.vue

@@ -210,37 +210,33 @@ function getText(){
         权限功能说明:提供app在手机中安装和更新的功能。
         xml中描述名称:android.permission.REQUEST_INSTALL_PACKAGES
 		
-        (2)写入外部存储空间
-        权限功能说明:提供写入外部储存功能允许App写入/下载/保存/修改/删除图片、文件信息
-        xml中描述名称:android.permission.WRITE_EXTERNAL_STORAGE
-		
-        (3)读取外部存储空间
-        权限功能说明:提供写入外部读取功能,允许App读取相册
-        xml中描述名称:android.permission.READ_EXTERNAL_STORAGE
-		
-        (4)读取手机状态和身份(电话权限、设备权限)
+        (2)读取手机状态和身份(电话权限、设备权限)
         权限功能说明: 提供读取手机设备信息((包括ANDROID ID信息、IMEI、IMSI、设备 MAC 地址、SUPI、SUCI、软件安装列表、位置、联系人、通话记录、日历、短信、本机电话号码、图片、音视频)),请您放心该权限无法监听、获取您的任何通话内容与信息读取设备通话状态和识别码,用于完成音视频、信息展示、账
             号登录、安全保障等主要功能
         xml中描述名称:android.permission.READ_PHONE_STATE
+		
+		(3)访问有关GSM网络信息
+		权限功能说明:允许应用程序打开网络并接入,用于app和服务端网络通信
+		xml中描述名称:android.permission.ACCESS_NETWORK_STATE
+		
+		(4)访问网络
+		权限功能说明:允许应用程序打开网络并接入,用于app和服务端网络通信
+		xml中描述名称:android.permission.INTERNET
 		
-        (5)使用摄像头
-        权限功能说明:当您使用头像图片设置上传功能时,为了您进行实时拍摄,平台将获取您的摄像头权限,在您使用该功能时,会获取<span class="bold-word">加速度设备传感器</span>信息,用于获取拍摄手机角度。如不开启权限,您将无法使用与实时拍摄相关的特定功能但不影响您使用App提供的其他服务。
-        xml中描述名称:android.permission.CAMERA
-		
-        (6)访问网络
-        权限功能说明:允许应用程序打开网络并接入,用于app和服务端网络通信
-        xml中描述名称:android.permission.INTERNET
+        (5)微信OpenSDK
+        权限功能说明:用于提供分享到微信分享、收藏,微信登录、微信支付等功能
+		
+		(6)支付宝支付SDK
+		权限功能说明:App 支付适用于商家在 App 应用中集成支付宝支付功能。商家 App 调用支付宝提供的 SDK,SDK 再调用支付宝 App 内的支付模块。如果用户已
+		安装支付宝客户端,商家 App 会跳转到支付宝中完成支付,支付完后跳回到商家 App 内,最后展示支付结果。如果用户没有安装支付宝客户端,商
+ App 内会调起支付宝网页支付收银台,用户登录支付宝账号,支付完后展示支付结果。 
 		
         (7)获取剪贴板信息
         我们在您分享或接受被分享的信息、参加活动等情形下,需要访问您的粘贴板信息,读取其中包含的口令、分享码、链接,以实现跳转、分享、活动联动等功能或服务。[特别说明]有些手机等终端设备的系统会提示应用(App)正在读取剪切板,但该系统提示无法区分是否收集剪切板信息,且不排除误报。因此,如果您发现类似提示,请与我们联系,以便我们定位问题。
         
 		(8)进程信息
         在App使用中,为提供更好的服务,我们在App前/后台运行时,需要获取运行中的进程信息,判断当前进程是否为主进程。
-        
-		(9)版本更新检测
-        为确保本应用处于关闭或后台运行状态下可正常接收到客户端推送的广播信息,本应用须使用(自启动)能力,将存在一定频率通过系统发送广播唤醒本应用自启动或关联启动行为,是因实现功能及服务所必要的;当您打开内容类推送消息,在征得您的明确同意后,会跳转打开相关内容。在未征得您同意的情况下,则不会有关联启动。
-        当您在本APP内部下载文件(比如应用内版本更新提示),根据下载状态处理HTTP连接并监控连接中的状态变化以及系统重启来确保每一个下载任务顺利完成,特别是当用户切换不同的应用以后下载需要在后台继续进行(可能会有后台进程自启动),以及当下载任务顺利完成后获取APK文件安装。
-        xml中描述名称:android.permission.BIND_DEVICE_ADMIN
+
         
 		(二)我们从第三方获得您个人信息的情形
         我们可能从第三方获取您授权共享的账户信息(头像、昵称),并在您同意本隐私政策后将您的第三方账户与您的鹅状元账户绑定,使您可以通过第三方账户直接登录并使用我们的产品与或服务。我们会将依据与第三方的约定、对个人信息来源的合法性进行确认后,在符合相关法律和法规规定的前提下,使用您的这些个人信息。

+ 17 - 2
pages/login/index.vue

@@ -34,6 +34,7 @@
 		<agree-dialog ref="agreeDialogRef" @confirm-btn="confirmBtn"></agree-dialog>
 		<agree-dialog ref="agreeYkDialog" @confirm-btn="ykConfirmBtn"></agree-dialog>
 		<tel-dialog ref="telDialogRef" @telClose="telClose" @bindBtn="bindBtn" v-if="telDialogFlag"></tel-dialog>
+		<agree-first-dialog ref="agreeFirstDialogRef" @first-confirm-btn="firstConfirmBtn"></agree-first-dialog>
 	</view>
 </template>
 
@@ -49,6 +50,7 @@
 	} from '@dcloudio/uni-app';
 	import agreeContentDialog from './agreeContentDialog.vue';
 	import agreeDialog from './agreeDialog.vue'
+	import agreeFirstDialog from './agreeFirstDialog.vue'
 	import {
 		wxLogin,
 	} from "@/api/login.js"
@@ -75,10 +77,17 @@
 	const telDialogRef = ref(null);
 	let telDialogFlag = ref(false);
 	let showAppleLogin = ref(false);
+	const agreeFirstDialogRef = ref(null);
 
 	onLoad((options) => {
-		showAppleLogin.value = isIOS13OrAbove();
-		console.log('showAppleLogin.value',showAppleLogin.value);
+		showAppleLogin.value = isIOS13OrAbove();
+		
+		// 没有缓存显示用户协议弹窗
+		if (!cacheManager.get('firstAgreeDialog')) {
+			nextTick(() => {
+				agreeFirstDialogRef.value.handleShow();
+			}) 
+		}
 	})
 
 	const getYzmBtn = () => {
@@ -160,6 +169,12 @@
 		}
 		agreeContentDialogRef.value.handleShow();
 	};
+	
+	const firstConfirmBtn = () => {
+		cacheManager.set('firstAgreeDialog', {
+			firstAgreeDialog: 'has'
+		})
+	}
 
 	const handleAgreementChange = (event) => {
 		if (event.detail.value[0] === 'agree') {