mirror of
https://github.com/kuaifan/dootask.git
synced 2026-03-17 03:03:41 +00:00
App显示隐私政策
This commit is contained in:
parent
86ceae9a1e
commit
305e67c454
@ -1,12 +1,11 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<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 name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>DooTask 隐私政策</title>
|
<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>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
@ -76,12 +75,13 @@
|
|||||||
我们出于不同的目的使用各种Cookie,包括:严格必要型Cookie、性能Cookie、营销Cookie和功能Cookie。 某些Cookie可能由外部第三方提供,以向我们的产品提供其它功能。
|
我们出于不同的目的使用各种Cookie,包括:严格必要型Cookie、性能Cookie、营销Cookie和功能Cookie。 某些Cookie可能由外部第三方提供,以向我们的产品提供其它功能。
|
||||||
我们不会将 Cookie 用于本政策所述目的之外的任何用途。您可根据自己的偏好管理或删除 Cookie。 您可以清除计算机上或手机中保存的所有 Cookie,大部分网络浏览器都设有阻止或禁用
|
我们不会将 Cookie 用于本政策所述目的之外的任何用途。您可根据自己的偏好管理或删除 Cookie。 您可以清除计算机上或手机中保存的所有 Cookie,大部分网络浏览器都设有阻止或禁用
|
||||||
Cookie 的功能, 您可对浏览器进行配置。阻止或禁用 Cookie 功能后,可能影响您使用或不能充分使用我们的产品和服务。
|
Cookie 的功能, 您可对浏览器进行配置。阻止或禁用 Cookie 功能后,可能影响您使用或不能充分使用我们的产品和服务。
|
||||||
</div><!----><!----><!----> </v-container>
|
</div>
|
||||||
|
</v-container>
|
||||||
</v-content>
|
</v-content>
|
||||||
</v-app>
|
</v-app>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
|
<script src="//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/vuetify@2.x/dist/vuetify.js"></script>
|
||||||
<script>
|
<script>
|
||||||
new Vue({
|
new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
|
|||||||
@ -9,11 +9,14 @@
|
|||||||
<Icon type="md-download"/>
|
<Icon type="md-download"/>
|
||||||
{{ $L('客户端下载') }}
|
{{ $L('客户端下载') }}
|
||||||
</a>
|
</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"/>
|
<Icon type="md-download"/>
|
||||||
{{ $L('更新客户端') }}
|
{{ $L('更新客户端') }}
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
<a v-if="showPrivacy" class="common-right-bottom-link" target="_blank" :href="$A.apiUrl('../privacy.html')">
|
||||||
|
《{{ $L('隐私政策') }}》
|
||||||
|
</a>
|
||||||
<Modal
|
<Modal
|
||||||
v-model="updateShow"
|
v-model="updateShow"
|
||||||
:closable="false"
|
:closable="false"
|
||||||
@ -55,6 +58,7 @@ export default {
|
|||||||
updateVersion: '',
|
updateVersion: '',
|
||||||
updateNote: '',
|
updateNote: '',
|
||||||
updateShow: false,
|
updateShow: false,
|
||||||
|
updateBottomShow: false,
|
||||||
updateIng: false,
|
updateIng: false,
|
||||||
|
|
||||||
downloadUrl: '',
|
downloadUrl: '',
|
||||||
@ -84,6 +88,14 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
watch: {
|
||||||
|
updateShow(show) {
|
||||||
|
if (show) {
|
||||||
|
this.updateBottomShow = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
isSoftware() {
|
isSoftware() {
|
||||||
return this.$Electron || this.$isEEUiApp;
|
return this.$Electron || this.$isEEUiApp;
|
||||||
@ -95,6 +107,15 @@ export default {
|
|||||||
|
|
||||||
showDown() {
|
showDown() {
|
||||||
return this.windowLarge && ['login', 'index', 'manage-dashboard'].includes(this.$route.name)
|
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)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@ -68,11 +68,19 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
menu() {
|
menu() {
|
||||||
let menu = [
|
const menu = [
|
||||||
{path: 'personal', name: '个人设置'},
|
{path: 'personal', name: '个人设置'},
|
||||||
{path: 'language', name: '语言设置'},
|
{path: 'language', name: '语言设置'},
|
||||||
{path: 'password', 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) {
|
if (this.windowSmall) {
|
||||||
menu.push({path: 'clearCache', name: '清除缓存'})
|
menu.push({path: 'clearCache', name: '清除缓存'})
|
||||||
}
|
}
|
||||||
|
|||||||
22
resources/assets/js/pages/manage/setting/privacy.vue
Normal file
22
resources/assets/js/pages/manage/setting/privacy.vue
Normal 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>
|
||||||
@ -48,17 +48,9 @@ export default {
|
|||||||
't.hitosea.com',
|
't.hitosea.com',
|
||||||
'dootask.com',
|
'dootask.com',
|
||||||
'www.dootask.com'
|
'www.dootask.com'
|
||||||
].includes(this.getDomain($A.apiUrl('../')))) {
|
].includes($A.getDomain($A.apiUrl('../')))) {
|
||||||
this.appPush = true;
|
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>
|
</script>
|
||||||
|
|||||||
5
resources/assets/js/routes.js
vendored
5
resources/assets/js/routes.js
vendored
@ -54,6 +54,11 @@ export default [
|
|||||||
path: 'system',
|
path: 'system',
|
||||||
component: () => import('./pages/manage/setting/system.vue'),
|
component: () => import('./pages/manage/setting/system.vue'),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'manage-setting-privacy',
|
||||||
|
path: 'privacy',
|
||||||
|
component: () => import('./pages/manage/setting/privacy.vue'),
|
||||||
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -94,6 +94,7 @@
|
|||||||
right: auto;
|
right: auto;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
.common-right-bottom-link {
|
.common-right-bottom-link {
|
||||||
color: $primary-text-color !important;
|
color: $primary-text-color !important;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user