App显示隐私政策

This commit is contained in:
kuaifan 2022-06-28 10:58:21 +08:00
parent 86ceae9a1e
commit 305e67c454
7 changed files with 66 additions and 17 deletions

View File

@ -1,12 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
<meta charset="utf-8">
<title>DooTask 隐私政策</title>
<link href="//cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css" rel="stylesheet">
<link href="//cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">
</head>
<body>
<div id="app">
@ -76,12 +75,13 @@
我们出于不同的目的使用各种Cookie包括严格必要型Cookie、性能Cookie、营销Cookie和功能Cookie。 某些Cookie可能由外部第三方提供以向我们的产品提供其它功能。
我们不会将 Cookie 用于本政策所述目的之外的任何用途。您可根据自己的偏好管理或删除 Cookie。 您可以清除计算机上或手机中保存的所有 Cookie大部分网络浏览器都设有阻止或禁用
Cookie 的功能, 您可对浏览器进行配置。阻止或禁用 Cookie 功能后,可能影响您使用或不能充分使用我们的产品和服务。
</div><!----><!----><!----> </v-container>
</div>
</v-container>
</v-content>
</v-app>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
<script src="//cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="//cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
<script>
new Vue({
el: '#app',

View File

@ -9,11 +9,14 @@
<Icon type="md-download"/>
{{ $L('客户端下载') }}
</a>
<div v-else-if="updateVersion && $Electron" class="common-right-bottom-link" @click="updateShow=true">
<div v-else-if="updateVersion && updateBottomShow && $Electron" class="common-right-bottom-link" @click="updateShow=true">
<Icon type="md-download"/>
{{ $L('更新客户端') }}
</div>
</template>
<a v-if="showPrivacy" class="common-right-bottom-link" target="_blank" :href="$A.apiUrl('../privacy.html')">
{{ $L('隐私政策') }}
</a>
<Modal
v-model="updateShow"
:closable="false"
@ -55,6 +58,7 @@ export default {
updateVersion: '',
updateNote: '',
updateShow: false,
updateBottomShow: false,
updateIng: false,
downloadUrl: '',
@ -84,6 +88,14 @@ export default {
}
},
watch: {
updateShow(show) {
if (show) {
this.updateBottomShow = true
}
}
},
computed: {
isSoftware() {
return this.$Electron || this.$isEEUiApp;
@ -95,6 +107,15 @@ export default {
showDown() {
return this.windowLarge && ['login', 'index', 'manage-dashboard'].includes(this.$route.name)
},
showPrivacy() {
return [
'127.0.0.1:2222',
't.hitosea.com',
'dootask.com',
'www.dootask.com'
].includes($A.getDomain($A.apiUrl('../'))) && this.$isEEUiApp && ['login'].includes(this.$route.name)
}
},

View File

@ -68,11 +68,19 @@ export default {
},
menu() {
let menu = [
const menu = [
{path: 'personal', name: '个人设置'},
{path: 'language', name: '语言设置'},
{path: 'password', name: '密码设置'},
]
if ([
'127.0.0.1:2222',
't.hitosea.com',
'dootask.com',
'www.dootask.com'
].includes($A.getDomain($A.apiUrl('../'))) && this.$isEEUiApp) {
menu.push({path: 'privacy', name: '隐私政策'})
}
if (this.windowSmall) {
menu.push({path: 'clearCache', name: '清除缓存'})
}

View File

@ -0,0 +1,22 @@
<template>
<div class="setting-item submit">
<IFrame class="privacy-iframe" :src="$A.apiUrl('../privacy.html')"/>
</div>
</template>
<style scoped>
.privacy-iframe {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
border: 0;
}
</style>
<script>
import IFrame from "../components/IFrame";
export default {
components: {IFrame}
}
</script>

View File

@ -48,17 +48,9 @@ export default {
't.hitosea.com',
'dootask.com',
'www.dootask.com'
].includes(this.getDomain($A.apiUrl('../')))) {
].includes($A.getDomain($A.apiUrl('../')))) {
this.appPush = true;
}
},
methods: {
getDomain(weburl) {
let urlReg = /http(s)?:\/\/([^\/]+)/i;
let domain = (weburl + "").match(urlReg);
return ((domain != null && domain.length > 0) ? domain[2] : "");
}
}
}
</script>

View File

@ -54,6 +54,11 @@ export default [
path: 'system',
component: () => import('./pages/manage/setting/system.vue'),
},
{
name: 'manage-setting-privacy',
path: 'privacy',
component: () => import('./pages/manage/setting/privacy.vue'),
},
]
},
{

View File

@ -94,6 +94,7 @@
right: auto;
left: 50%;
transform: translateX(-50%);
align-items: center;
.common-right-bottom-link {
color: $primary-text-color !important;