feat: 新增隐私保护指引
This commit is contained in:
80
components/Privacy/index.vue
Normal file
80
components/Privacy/index.vue
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
<template>
|
||||||
|
<view class="privacy" v-if="showPrivacy">
|
||||||
|
<view class="content">
|
||||||
|
<view class="title">隐私保护指引</view>
|
||||||
|
<view class="des">
|
||||||
|
请您仔细阅读并充分理解<text class="link" @click="handleOpenPrivacyContract">{{ privacyContractName }}</text>
|
||||||
|
,如您同意前述协议的全部内容,请点击“同意”开始使用。<text class="cancel">如您不同意,将被限制使用部分功能,或将在您使用具体功能前再次询问以取得您的授权同意。</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="btns">
|
||||||
|
<button class="reject" @click="handleDisagree">拒绝</button>
|
||||||
|
<button class="agree" open-type="agreePrivacyAuthorization"
|
||||||
|
@agreeprivacyauthorization="handleAgreePrivacyAuthorization">
|
||||||
|
同意
|
||||||
|
</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref } from 'vue'
|
||||||
|
import { onShow } from "@dcloudio/uni-app";
|
||||||
|
|
||||||
|
const showPrivacy = ref(true)
|
||||||
|
const privacyContractName = ref('隐私保护指引')
|
||||||
|
|
||||||
|
onShow(() => {
|
||||||
|
// 条件编译微信小程序
|
||||||
|
// #ifdef MP-WEIXIN
|
||||||
|
// const appVersion = wx.getAppBaseInfo().SDKVersion
|
||||||
|
// console.log("🚀 ~ appVersion:", appVersion)
|
||||||
|
wx.getPrivacySetting({
|
||||||
|
success: (res) => {
|
||||||
|
console.log("cj隐私配置", res);
|
||||||
|
if (res.errMsg == "getPrivacySetting:ok") {
|
||||||
|
privacyContractName.value = res.privacyContractName;
|
||||||
|
// showPrivacy.value = res.needAuthorization
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
// 条件编译抖音小程序
|
||||||
|
// #ifdef MP-TOUTIAO
|
||||||
|
uni.getPrivacySetting({
|
||||||
|
success: (res) => {
|
||||||
|
console.log(res)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// #endif
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 拒绝
|
||||||
|
const handleDisagree = () => {
|
||||||
|
showPrivacy.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 同意
|
||||||
|
const handleAgreePrivacyAuthorization = () => {
|
||||||
|
showPrivacy.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 打开隐私保护指引
|
||||||
|
const handleOpenPrivacyContract = () => {
|
||||||
|
// 条件编译微信小程序
|
||||||
|
// #ifdef MP-WEIXIN
|
||||||
|
wx.openPrivacyContract({
|
||||||
|
fail: () => { }
|
||||||
|
})
|
||||||
|
// #endif
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
@import './styles/index.scss'
|
||||||
|
</style>
|
||||||
66
components/Privacy/styles/index.scss
Normal file
66
components/Privacy/styles/index.scss
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
.privacy {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background-color: rgba(0, 0, 0, 0.7);
|
||||||
|
z-index: 9999;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: flex-end;
|
||||||
|
align-items: end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #000;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
position: relative;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 20px 20px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.des {
|
||||||
|
line-height: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.link {
|
||||||
|
color: #007aff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btns {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 20px 0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reject,
|
||||||
|
.agree {
|
||||||
|
border-radius: 50px;
|
||||||
|
width: 45%;
|
||||||
|
border: none;
|
||||||
|
font-size: 18px;
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.reject {
|
||||||
|
color: #000;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
border-radius: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.agree {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #007aff;
|
||||||
|
}
|
||||||
191
manifest.json
191
manifest.json
@@ -1,100 +1,101 @@
|
|||||||
{
|
{
|
||||||
"name": "YGTianmuCS",
|
"name": "YGTianmuCS",
|
||||||
"appid": "__UNI__BB03E8A",
|
"appid": "__UNI__BB03E8A",
|
||||||
"description": "",
|
"description": "",
|
||||||
"versionName": "1.0.0",
|
"versionName": "1.0.0",
|
||||||
"versionCode": "100",
|
"versionCode": "100",
|
||||||
"transformPx": false,
|
"transformPx": false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus": {
|
"app-plus": {
|
||||||
"usingComponents": true,
|
"usingComponents": true,
|
||||||
"nvueStyleCompiler": "uni-app",
|
"nvueStyleCompiler": "uni-app",
|
||||||
"compilerVersion": 3,
|
"compilerVersion": 3,
|
||||||
"splashscreen": {
|
"splashscreen": {
|
||||||
"alwaysShowBeforeRender": true,
|
"alwaysShowBeforeRender": true,
|
||||||
"waiting": true,
|
"waiting": true,
|
||||||
"autoclose": true,
|
"autoclose": true,
|
||||||
"delay": 0
|
"delay": 0
|
||||||
},
|
|
||||||
"safearea": {
|
|
||||||
"bottom": {
|
|
||||||
"offset": "auto" // 自动适配安全区域
|
|
||||||
}
|
|
||||||
},
|
|
||||||
/* 模块配置 */
|
|
||||||
"modules": {},
|
|
||||||
/* 应用发布信息 */
|
|
||||||
"distribute": {
|
|
||||||
/* android打包配置 */
|
|
||||||
"android": {
|
|
||||||
"permissions": [
|
|
||||||
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
|
||||||
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
|
||||||
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
|
||||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
/* ios打包配置 */
|
|
||||||
"ios": {},
|
|
||||||
/* SDK配置 */
|
|
||||||
"sdkConfigs": {
|
|
||||||
"oauth": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
/* 快应用特有相关 */
|
"safearea": {
|
||||||
"quickapp": {},
|
"bottom": {
|
||||||
/* 小程序特有相关 */
|
"offset": "auto" // 自动适配安全区域
|
||||||
"mp-weixin": {
|
}
|
||||||
"appid": "wx5e79df5996572539",
|
|
||||||
"setting": {
|
|
||||||
"urlCheck": false
|
|
||||||
},
|
|
||||||
"usingComponents": true,
|
|
||||||
"requiredPrivateInfos": ["getLocation"],
|
|
||||||
"permission": {
|
|
||||||
"scope.userLocation": {
|
|
||||||
"desc": "用于获取当前所在城市信息"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"plugins": {
|
|
||||||
"WechatSI": {
|
|
||||||
"version": "0.3.6",
|
|
||||||
"provider": "wx069ba97219f66d99"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"mp-alipay": {
|
/* 模块配置 */
|
||||||
"usingComponents": true
|
"modules": {},
|
||||||
},
|
/* 应用发布信息 */
|
||||||
"mp-baidu": {
|
"distribute": {
|
||||||
"usingComponents": true
|
/* android打包配置 */
|
||||||
},
|
"android": {
|
||||||
"mp-toutiao": {
|
"permissions": [
|
||||||
"usingComponents": true
|
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
||||||
},
|
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
||||||
"uniStatistics": {
|
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
||||||
"enable": false
|
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
||||||
},
|
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
||||||
"vueVersion": "3",
|
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
||||||
"h5": {
|
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
||||||
"router": {
|
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
||||||
"base": "./",
|
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
||||||
"mode": "hash"
|
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
||||||
},
|
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
||||||
"devServer": {
|
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
||||||
"https": false
|
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
||||||
}
|
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
/* ios打包配置 */
|
||||||
|
"ios": {},
|
||||||
|
/* SDK配置 */
|
||||||
|
"sdkConfigs": {
|
||||||
|
"oauth": {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
/* 快应用特有相关 */
|
||||||
|
"quickapp": {},
|
||||||
|
/* 小程序特有相关 */
|
||||||
|
"mp-weixin": {
|
||||||
|
"appid": "wx5e79df5996572539",
|
||||||
|
"setting": {
|
||||||
|
"urlCheck": false
|
||||||
|
},
|
||||||
|
"usingComponents": true,
|
||||||
|
"requiredPrivateInfos": ["getLocation"],
|
||||||
|
"permission": {
|
||||||
|
"scope.userLocation": {
|
||||||
|
"desc": "用于获取当前所在城市信息"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"plugins": {
|
||||||
|
"WechatSI": {
|
||||||
|
"version": "0.3.6",
|
||||||
|
"provider": "wx069ba97219f66d99"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"__usePrivacyCheck__": true
|
||||||
|
},
|
||||||
|
"mp-alipay": {
|
||||||
|
"usingComponents": true
|
||||||
|
},
|
||||||
|
"mp-baidu": {
|
||||||
|
"usingComponents": true
|
||||||
|
},
|
||||||
|
"mp-toutiao": {
|
||||||
|
"usingComponents": true
|
||||||
|
},
|
||||||
|
"uniStatistics": {
|
||||||
|
"enable": false
|
||||||
|
},
|
||||||
|
"vueVersion": "3",
|
||||||
|
"h5": {
|
||||||
|
"router": {
|
||||||
|
"base": "./",
|
||||||
|
"mode": "hash"
|
||||||
|
},
|
||||||
|
"devServer": {
|
||||||
|
"https": false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user