隐私政策页面

This commit is contained in:
X1627315083
2025-09-09 11:47:38 +08:00
parent d22cb66b17
commit cb7e84882d
10 changed files with 141 additions and 17 deletions

View File

@@ -4,5 +4,5 @@ VITE_USER_NODE_ENV = 'production'
# VITE_APP_BASE_URL = 'https://api.aida.com.hk'
VITE_APP_BASE_URL = 'https://develop.api.aida.com.hk'
VITE_APP_BASE_URL = 'http://localhost:22170'
# VITE_APP_BASE_URL = 'http://localhost:22170'

View File

@@ -209,7 +209,7 @@
<script lang="ts">
import { LoadingOutlined } from "@ant-design/icons-vue";
import { message, Upload, Modal } from "ant-design-vue";
import { defineComponent, computed, reactive, createVNode, h, ref,watch, nextTick, inject, toRefs } from "vue";
import { defineComponent, computed, reactive, createVNode, h, ref,watch, nextTick, inject, toRefs, getCurrentInstance, onMounted, onUnmounted, } from "vue";
import { Https } from "@/tool/https";
import { useStore } from "vuex";
import GO from "@/tool/GO";
@@ -240,6 +240,7 @@ export default defineComponent({
let userDetail:any= computed(()=>{
return store.state.UserHabit.userDetail
})
const instance = getCurrentInstance()
let printModelList:any = ref([])
let sketchStyleList:any = ref([])
@@ -322,12 +323,16 @@ export default defineComponent({
},
})
const openSpeed = ()=>{
speed.speedState = !speed.speedState
if(speed.speedState){
document.addEventListener('click',openSpeed)
removeOpenSpeed()
}else{
document.removeEventListener('click',openSpeed)
instance.appContext.config.globalProperties.$dropdownEvents.closeAll()
speed.speedState = true
}
}
const removeOpenSpeed = ()=>{
speed.speedState = false
}
watch(()=>props.scene,(newVal,oldVal)=>{
if(newVal.value == 'extract'){
@@ -342,13 +347,17 @@ export default defineComponent({
speed.speedData = speed.speedList[0]
}
}
speed.speedState = false
})
const setSpeed = (item:any)=>{
speed.speedState = false
document.removeEventListener('click',openSpeed)
speed.speedData = item
}
onMounted(() => {
instance.appContext.config.globalProperties.$dropdownEvents.onClose(removeOpenSpeed)
})
onUnmounted(() => {
instance.appContext.config.globalProperties.$dropdownEvents.delete(removeOpenSpeed)
})
return {
userDetail,
searchPictureName,

View File

@@ -46,7 +46,7 @@
</template>
<script lang="ts">
import { defineComponent, ref, nextTick, onMounted, onUnmounted, computed } from "vue";
import { defineComponent, ref, nextTick, onMounted, onUnmounted, getCurrentInstance } from "vue";
import { useStore } from "vuex";
import { Https } from "@/tool/https";
import { openGuide,driverObj__ } from "@/tool/guide";
@@ -106,6 +106,7 @@ import { message, Upload, Modal } from "ant-design-vue";
let dropdownRef = ref<HTMLElement | null>(null)
let dropdownPositionStyle = ref({})
let store = useStore();
const instance = getCurrentInstance()
// 计算元素到屏幕底部的距离
const getDistanceToBottom = (element: HTMLElement) => {
@@ -166,7 +167,7 @@ import { message, Upload, Modal } from "ant-design-vue";
}
let openPrintModel = ()=>{
document.addEventListener('click', removePrintModel)
instance.appContext.config.globalProperties.$dropdownEvents.closeAll()
window.addEventListener('resize', handleResize)
openClick.value = true
nextTick().then(()=>{
@@ -192,7 +193,6 @@ import { message, Upload, Modal } from "ant-design-vue";
let removePrintModel = ()=>{
openClick.value = false
document.removeEventListener('click', removePrintModel)
window.removeEventListener('resize', handleResize)
}
@@ -211,12 +211,14 @@ import { message, Upload, Modal } from "ant-design-vue";
}
onMounted(() => {
instance.appContext.config.globalProperties.$dropdownEvents.onClose(removePrintModel)
window.addEventListener('scroll', handleScroll, true)
console.log(instance,)
})
onUnmounted(() => {
instance.appContext.config.globalProperties.$dropdownEvents.delete(removePrintModel)
window.removeEventListener('scroll', handleScroll, true)
document.removeEventListener('click', removePrintModel)
window.removeEventListener('resize', handleResize)
})

View File

@@ -105,7 +105,7 @@
<span>
I agree to the
<a href="https://code-create.com.hk/aida-terms-and-conditions/" style="text-decoration: underline;color: #000;">Terms</a>,
<a href="https://code-create.com.hk/privacy-policy/" style="text-decoration: underline;color: #000;">Privacy Policy</a>,
<router-link to="privacyPolicy" target="_blank" style="text-decoration: underline;color: #000;">Privacy Policy</router-link>,
and Fees.
</span>
</label>

View File

@@ -88,7 +88,7 @@
<span>
I agree to the
<a href="https://code-create.com.hk/aida-terms-and-conditions/" style="text-decoration: underline;color: #000;">Terms</a>,
<a href="https://code-create.com.hk/privacy-policy/" style="text-decoration: underline;color: #000;">Privacy Policy</a>,
<router-link to="privacyPolicy" target="_blank" style="text-decoration: underline;color: #000;">Privacy Policy</router-link>,
and Fees.
</span>
</label>

View File

@@ -105,7 +105,7 @@
<span>
I agree to the
<a href="https://code-create.com.hk/aida-terms-and-conditions/" style="text-decoration: underline;color: #000;">Terms</a>,
<a href="https://code-create.com.hk/privacy-policy/" style="text-decoration: underline;color: #000;">Privacy Policy</a>,
<router-link to="privacyPolicy" target="_blank" style="text-decoration: underline;color: #000;">Privacy Policy</router-link>,
and Fees.
</span>
</label>

View File

@@ -28,7 +28,8 @@
</div>
<div v-show="openClick == 3" class="generalMenu_printModel printMenu">
<div @click.stop="openPrintModel"><span>{{ scene.name }}<i class="icon iconfont icon-xiala" :class="{forbidden:openMenu}"></i></span> </div>
<generalMenu :dataList="printCatecoryList" @setprintModel="setSceneList" :item="scene" width="14rem" style="padding: 0;"></generalMenu>
<!-- <div @click.stop="openPrintModel"><span>{{ scene.name }}<i class="icon iconfont icon-xiala" :class="{forbidden:openMenu}"></i></span> </div>
<ul v-show="openMenu">
<li
v-for="item,index in printCatecoryList"
@@ -38,7 +39,7 @@
item.value == 'Logo'?$t('PrintboardUpload.LogoTitle'):
item.value == 'Slogan'?$t('PrintboardUpload.SloganTitle'):''"
>{{ item.name }}</li>
</ul>
</ul> -->
</div>
</div>
</div>

View File

@@ -37,6 +37,33 @@ document.addEventListener('keydown', function(event) {
event.preventDefault();
}
});
//全局事件
//下拉菜单全部关掉事件
// 创建全局事件系统
const dropdownEvents = {
listeners: new Set(),
closeAll() {
this.listeners.forEach(listener => {
// console.log(listener)
listener()
})
},
onClose(listener) {
this.listeners.add(listener)
},
offClose(listener) {
this.listeners.delete(listener)
}
}
document.addEventListener('click', () => {
dropdownEvents.closeAll()
})
app.config.globalProperties.$dropdownEvents = dropdownEvents
let loadingParam = {
loading: loadingGif,
attempt: 1,

View File

@@ -383,6 +383,14 @@ const routes: Array<RouteRecordRaw> = [
},
component: () => import("@/views/emailPage/email3-1CN.vue"),
},
{
path: "/privacyPolicy",
name: "privacyPolicy",
meta: {
enter: "all",
},
component: () => import("@/views/privacyPolicy.vue"),
},
{
path: "/404",
name: "404",

View File

@@ -0,0 +1,77 @@
<script setup lang="ts">
import { ref, onMounted, onUnmounted, reactive, toRefs } from "vue";
//const props = defineProps({
//})
//const emit = defineEmits([
//])
let data = reactive({
})
onMounted(()=>{
})
onUnmounted(()=>{
})
defineExpose({})
const {} = toRefs(data);
</script>
<template>
<div class="privacyPolicy">
<div class="title">
Privacy Policy
</div>
<div class="content">
<p class="title">
Please read this Privacy Policy Statement (PPS) to understand our policy and practices on the collection, use, transfer, storage and processing of your personal data. By accessing this Website, you are consenting to this PPS.
</p>
<ol>
<li>Code Create Limited (we, us or our) pledges to comply with the requirements of the Personal Data (Privacy) Ordinance. In doing so, we will ensure compliance by our staff with the highest security and confidentiality standards.</li>
<li>We protect the privacy of users of our website. Any personal data collected from you will only be used for the specific purposes mentioned at the time of collection or for purposes directly related to those specific purposes and/or that mentioned in the relevant Personal Information Collection Statement.</li>
<li>We will retain your personal data only for so long as necessary to folfill the purpose of collection; and will erase your personal data thereafter. We will ensure the security of your personal data and protect them from unauthorised access.</li>
<li>We will keep your personal data confidential. Your personal data will be used (and disclosed) to third parties for the purposes for which they were collected, and where we are required to do so by law and as specified in the relevant Personal Information Collection Statement.</li>
<li>We may keep an activity log that does not identify you individually and cannot be used to determine the particular user in order to measure traffic, gauge the popularity of different parts of our websites, gain general knowledge about the users, and facilitate the enhancement of our websites. This information may include the IP address, operating system and version, the type of network, the type and configuration of your browser, the geo-location information and identifiers of the device you used.</li>
<li>We use cookies to enhance your experience on this website (<strong>code-create.com.hk</strong>). Cookies are small pieces of data stored on your computer or other devices when websites are loaded in a browser. We use cookies to analyse website traffic, personalise website content and to make targeted advertisements on third party websites. We use Google Analytics to analyze usage trends at its website. We also use cookies at this website and cookies set by Google Analytics to collect information on how visitors use our website. Third parties such as YouTube and Google may set cookies, for example, relating to the use of YouTube video players and targeted advertising respectively. For further information, users should refer to the relevant third parties cookies policy which may be amended from time to time. By continuing to use this website, you agree to the use of these cookies. If you do not accept the cookies or withdraw your consent, you will not able to use some of the functions on this website.</li>
<li>This PPS is subject to change. Any changes will be posted on this page. Your continued use of our website after the posting of such changes indicates your acceptance to the same. In case of any inconsistency between the English and Chinese versions, the English version shall prevail. If you have any enquiries, please send an email to <strong>info@code-create.com.hk</strong>.</li>
</ol>
</div>
</div>
</template>
<style lang="less" scoped>
.privacyPolicy{
width: 100%;
height: 100%;
position: relative;
display: flex;
flex-direction: column;
> .title{
text-align: center;
padding: 10rem 0 5rem;
font-size: 4.4rem;
color: #000;
margin-bottom: 20px;
@media (max-width: 768px) {
font-size: 3.2rem;
padding: 5rem 0 2rem;
}
}
> .content{
flex: 1;
overflow-y: auto;
max-width: 140rem;
padding: 0 10rem;
font-size: #333333;
margin: 0 auto;
@media (max-width: 768px) {
padding: 0 4rem;
font-size: 1.2rem;
}
ol{
padding-left: 3rem;
@media (max-width: 768px) {
padding-left: 2rem;
}
}
ol, ol li {
list-style-type: decimal !important;
}
}
}
</style>