Showing
8 changed files
with
207 additions
and
8 deletions
| ... | @@ -8,9 +8,9 @@ | ... | @@ -8,9 +8,9 @@ |
| 8 | <body> | 8 | <body> |
| 9 | <div id="app"></div> | 9 | <div id="app"></div> |
| 10 | <script type="module" src="/src/main.js"></script> | 10 | <script type="module" src="/src/main.js"></script> |
| 11 | - <!-- <script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.9.0/vconsole.min.js"></script> | 11 | + <script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.9.0/vconsole.min.js"></script> |
| 12 | <script> | 12 | <script> |
| 13 | var vConsole = new VConsole(); | 13 | var vConsole = new VConsole(); |
| 14 | - </script> --> | 14 | + </script> |
| 15 | </body> | 15 | </body> |
| 16 | </html> | 16 | </html> | ... | ... |
| ... | @@ -14,7 +14,8 @@ | ... | @@ -14,7 +14,8 @@ |
| 14 | "moment": "^2.29.1", | 14 | "moment": "^2.29.1", |
| 15 | "mui-player": "^1.6.0", | 15 | "mui-player": "^1.6.0", |
| 16 | "vant": "^4.0.0-alpha.0", | 16 | "vant": "^4.0.0-alpha.0", |
| 17 | - "vue": "^3.2.31" | 17 | + "vue": "^3.2.31", |
| 18 | + "weixin-js-sdk": "^1.6.0" | ||
| 18 | }, | 19 | }, |
| 19 | "devDependencies": { | 20 | "devDependencies": { |
| 20 | "@types/jquery": "^3.5.14", | 21 | "@types/jquery": "^3.5.14", |
| ... | @@ -1704,6 +1705,11 @@ | ... | @@ -1704,6 +1705,11 @@ |
| 1704 | "vue": "^3.2.0" | 1705 | "vue": "^3.2.0" |
| 1705 | } | 1706 | } |
| 1706 | }, | 1707 | }, |
| 1708 | + "node_modules/weixin-js-sdk": { | ||
| 1709 | + "version": "1.6.0", | ||
| 1710 | + "resolved": "https://registry.npmjs.org/weixin-js-sdk/-/weixin-js-sdk-1.6.0.tgz", | ||
| 1711 | + "integrity": "sha512-3IYQH7aalJGFJrwdT3epvTdR1MboMiH7vIZ5BRL2eYOJ12BNah7csoMkmSZzkq1+l92sSq29XdTCVjCJoK2sBQ==" | ||
| 1712 | + }, | ||
| 1707 | "node_modules/wrappy": { | 1713 | "node_modules/wrappy": { |
| 1708 | "version": "1.0.2", | 1714 | "version": "1.0.2", |
| 1709 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | 1715 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", |
| ... | @@ -2907,6 +2913,11 @@ | ... | @@ -2907,6 +2913,11 @@ |
| 2907 | "@vue/devtools-api": "^6.0.0" | 2913 | "@vue/devtools-api": "^6.0.0" |
| 2908 | } | 2914 | } |
| 2909 | }, | 2915 | }, |
| 2916 | + "weixin-js-sdk": { | ||
| 2917 | + "version": "1.6.0", | ||
| 2918 | + "resolved": "https://registry.npmjs.org/weixin-js-sdk/-/weixin-js-sdk-1.6.0.tgz", | ||
| 2919 | + "integrity": "sha512-3IYQH7aalJGFJrwdT3epvTdR1MboMiH7vIZ5BRL2eYOJ12BNah7csoMkmSZzkq1+l92sSq29XdTCVjCJoK2sBQ==" | ||
| 2920 | + }, | ||
| 2910 | "wrappy": { | 2921 | "wrappy": { |
| 2911 | "version": "1.0.2", | 2922 | "version": "1.0.2", |
| 2912 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | 2923 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | ... | ... |
| ... | @@ -15,7 +15,8 @@ | ... | @@ -15,7 +15,8 @@ |
| 15 | "moment": "^2.29.1", | 15 | "moment": "^2.29.1", |
| 16 | "mui-player": "^1.6.0", | 16 | "mui-player": "^1.6.0", |
| 17 | "vant": "^4.0.0-alpha.0", | 17 | "vant": "^4.0.0-alpha.0", |
| 18 | - "vue": "^3.2.31" | 18 | + "vue": "^3.2.31", |
| 19 | + "weixin-js-sdk": "^1.6.0" | ||
| 19 | }, | 20 | }, |
| 20 | "devDependencies": { | 21 | "devDependencies": { |
| 21 | "@types/jquery": "^3.5.14", | 22 | "@types/jquery": "^3.5.14", | ... | ... |
| ... | @@ -5,20 +5,24 @@ | ... | @@ -5,20 +5,24 @@ |
| 5 | <script setup> | 5 | <script setup> |
| 6 | import axios from '@/utils/axios' | 6 | import axios from '@/utils/axios' |
| 7 | import { useRoute, useRouter } from 'vue-router' | 7 | import { useRoute, useRouter } from 'vue-router' |
| 8 | +import { onMounted } from 'vue' | ||
| 8 | import { Toast } from 'vant' | 9 | import { Toast } from 'vant' |
| 9 | import { mainStore } from './store'; | 10 | import { mainStore } from './store'; |
| 10 | const store = mainStore(); | 11 | const store = mainStore(); |
| 11 | const $router = useRouter(); | 12 | const $router = useRouter(); |
| 12 | 13 | ||
| 14 | +onMounted(() => { | ||
| 15 | +}) | ||
| 13 | </script> | 16 | </script> |
| 14 | 17 | ||
| 15 | <style lang="less"> | 18 | <style lang="less"> |
| 16 | - html,body{ | 19 | +html, |
| 20 | +body { | ||
| 17 | width: 100%; | 21 | width: 100%; |
| 18 | height: 100%; | 22 | height: 100%; |
| 19 | - } | 23 | +} |
| 20 | 24 | ||
| 21 | - body { | 25 | +body { |
| 22 | position: relative; | 26 | position: relative; |
| 23 | /* --van-white: #fff; | 27 | /* --van-white: #fff; |
| 24 | --van-blue: #1989fa; | 28 | --van-blue: #1989fa; |
| ... | @@ -32,5 +36,5 @@ const $router = useRouter(); | ... | @@ -32,5 +36,5 @@ const $router = useRouter(); |
| 32 | margin: 0; | 36 | margin: 0; |
| 33 | padding: 0; | 37 | padding: 0; |
| 34 | } | 38 | } |
| 35 | - } | 39 | +} |
| 36 | </style> | 40 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -53,6 +53,22 @@ export default [{ | ... | @@ -53,6 +53,22 @@ export default [{ |
| 53 | } | 53 | } |
| 54 | ] | 54 | ] |
| 55 | }, { | 55 | }, { |
| 56 | + path: '/client/privacyNotice', | ||
| 57 | + name: '客户端上传作品前须知', | ||
| 58 | + component: () => import('./views/client/privacyNotice.vue'), | ||
| 59 | + meta: { | ||
| 60 | + title: '活动说明' | ||
| 61 | + }, | ||
| 62 | + children: [] | ||
| 63 | +}, { | ||
| 64 | + path: '/client/verifyPage', | ||
| 65 | + name: '客户端上传作品/留言前实名认证', | ||
| 66 | + component: () => import('./views/client/verifyPage.vue'), | ||
| 67 | + meta: { | ||
| 68 | + title: '实名认证' | ||
| 69 | + }, | ||
| 70 | + children: [] | ||
| 71 | +}, { | ||
| 56 | path: '/image', | 72 | path: '/image', |
| 57 | name: 'html转图片', | 73 | name: 'html转图片', |
| 58 | component: () => import('./views/html2canvas.vue'), | 74 | component: () => import('./views/html2canvas.vue'), | ... | ... |
src/views/client/privacyNotice.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="privacy-notice-page"> | ||
| 3 | + <p class="title">个人信息保护政策</p> | ||
| 4 | + <div class="content"> | ||
| 5 | + <p> | ||
| 6 | + 欢迎您参与童声无界-声音漂流记!童声无界(以下也称“我们”)深知个人信息对您的重要性,因此我们非常重视保护您的隐私和个人信息。我们将按照法律法规要求并通过《童声无界个人信息保护政策》(以下简称“本政策”)向您说明我们在您使用本平台的产品/服务时如何处理您的个人信息,以及我们为您提供的访问、更新、删除和保护这些信息的方式。 | ||
| 7 | + </p> | ||
| 8 | + <p style="font-weight: bold;">为了向您提供我们产品/服务的基本功能,您需要授权我们收集、使用必要信息的情形。如您拒绝提供前述必要信息,您将无法正常使用我们的产品/服务;</p> | ||
| 9 | + <p> | ||
| 10 | + 为了向您提供我们产品/服务的附加功能,您可以选择授权我们收集、使用信息的情形。如您拒绝提供前述信息,您将无法正常使用相关附加功能或无法实现我们拟达到的功能效果,但并不会影响您正常使用我们产品/服务的基本功能。 | ||
| 11 | + 请您注意,因我们向您提供的产品和服务种类众多,我们将根据您选择使用的具体产品/服务范围,遵循“合理、正当、必要”原则收集和使用您的个人信息。除此之外,您理解并同意,基于向您提供更好的产品和服务的目的,我们可能会不时推出新的或优化后的功能,可能增加或变更收集和使用个人信息的目的、范围和方式。对此,我们将通过更新本政策、弹窗或站内信等通知方式另行向您说明收集和使用对应信息的目的、范围和方式,并为您提供同意与否的选项,且在征得您的明示同意后收集、使用对应信息。在此过程中,如您有任何疑问、意见或建议,您可通过本政策第九条提供的联系方式与我们联系。 | ||
| 12 | + </p> | ||
| 13 | + </div> | ||
| 14 | + <div style="height: 5rem;"></div> | ||
| 15 | + <div class="control-bar"> | ||
| 16 | + <div class="button"> | ||
| 17 | + <my-button @on-click="disagree" type="plain">不同意</my-button> | ||
| 18 | + </div> | ||
| 19 | + <div class="button"> | ||
| 20 | + <my-button @on-click="agree" type="primary">同意</my-button> | ||
| 21 | + </div> | ||
| 22 | + </div> | ||
| 23 | + </div> | ||
| 24 | +</template> | ||
| 25 | + | ||
| 26 | +<script setup> | ||
| 27 | +import MyButton from '@/components/MyButton/index.vue' | ||
| 28 | +import { ref, reactive, onMounted } from 'vue' | ||
| 29 | +import { useRoute, useRouter } from 'vue-router' | ||
| 30 | +import axios from '@/utils/axios'; | ||
| 31 | +import $ from 'jquery' | ||
| 32 | +import { Toast } from 'vant'; | ||
| 33 | +const $route = useRoute(); | ||
| 34 | +const $router = useRouter(); | ||
| 35 | + | ||
| 36 | +const disagree = () => { | ||
| 37 | + console.warn('不同意'); | ||
| 38 | +} | ||
| 39 | +const agree = () => { | ||
| 40 | + console.warn('同意'); | ||
| 41 | +} | ||
| 42 | + | ||
| 43 | +onMounted(() => { | ||
| 44 | + | ||
| 45 | +}) | ||
| 46 | +</script> | ||
| 47 | + | ||
| 48 | +<script> | ||
| 49 | +import mixin from 'common/mixin'; | ||
| 50 | + | ||
| 51 | +export default { | ||
| 52 | + mixins: [mixin.init], | ||
| 53 | + data() { | ||
| 54 | + return { | ||
| 55 | + | ||
| 56 | + } | ||
| 57 | + }, | ||
| 58 | + mounted() { | ||
| 59 | + | ||
| 60 | + }, | ||
| 61 | + methods: { | ||
| 62 | + | ||
| 63 | + } | ||
| 64 | +} | ||
| 65 | +</script> | ||
| 66 | + | ||
| 67 | +<style lang="less" scoped> | ||
| 68 | +.privacy-notice-page { | ||
| 69 | + padding: 1rem; | ||
| 70 | + | ||
| 71 | + .title { | ||
| 72 | + text-align: center; | ||
| 73 | + font-size: 1.25rem; | ||
| 74 | + padding: 1rem 0; | ||
| 75 | + color: #713610; | ||
| 76 | + font-weight: bold; | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + .content { | ||
| 80 | + text-align: justify; | ||
| 81 | + color: #231815; | ||
| 82 | + font-size: 1.05rem; | ||
| 83 | + | ||
| 84 | + p { | ||
| 85 | + padding-bottom: 1rem; | ||
| 86 | + } | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + .control-bar { | ||
| 90 | + z-index: 999; | ||
| 91 | + position: fixed; | ||
| 92 | + right: 0; | ||
| 93 | + bottom: 0; | ||
| 94 | + left: 0; | ||
| 95 | + display: flex; | ||
| 96 | + align-items: center; | ||
| 97 | + box-sizing: content-box; | ||
| 98 | + background-color: white; | ||
| 99 | + padding: 1rem 0; | ||
| 100 | + box-shadow: 0px -2px 4px 0px rgba(0, 0, 0, 0.07); | ||
| 101 | + | ||
| 102 | + .button { | ||
| 103 | + display: flex; | ||
| 104 | + flex-direction: column; | ||
| 105 | + justify-content: center; | ||
| 106 | + flex: 1; | ||
| 107 | + padding: 0 0.5rem; | ||
| 108 | + } | ||
| 109 | + } | ||
| 110 | +} | ||
| 111 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/client/verifyPage.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="verify-page"> | ||
| 3 | + <p class="title">请录入真实的信息</p> | ||
| 4 | + </div> | ||
| 5 | +</template> | ||
| 6 | + | ||
| 7 | +<script setup> | ||
| 8 | +import { ref, reactive, onMounted } from 'vue' | ||
| 9 | +import { useRoute, useRouter } from 'vue-router' | ||
| 10 | +import axios from '@/utils/axios'; | ||
| 11 | +import $ from 'jquery' | ||
| 12 | +import { Toast } from 'vant'; | ||
| 13 | +const $route = useRoute(); | ||
| 14 | +const $router = useRouter(); | ||
| 15 | + | ||
| 16 | + onMounted(() => { | ||
| 17 | + | ||
| 18 | + }) | ||
| 19 | +</script> | ||
| 20 | + | ||
| 21 | +<script> | ||
| 22 | +import mixin from 'common/mixin'; | ||
| 23 | + | ||
| 24 | +export default { | ||
| 25 | + mixins: [mixin.init], | ||
| 26 | + data () { | ||
| 27 | + return { | ||
| 28 | + | ||
| 29 | + } | ||
| 30 | + }, | ||
| 31 | + mounted () { | ||
| 32 | + | ||
| 33 | + }, | ||
| 34 | + methods: { | ||
| 35 | + | ||
| 36 | + } | ||
| 37 | +} | ||
| 38 | +</script> | ||
| 39 | + | ||
| 40 | +<style lang="less" scoped> | ||
| 41 | +.verify-page { | ||
| 42 | + padding: 1rem; | ||
| 43 | + .title { | ||
| 44 | + text-align: center; | ||
| 45 | + font-size: 1.25rem; | ||
| 46 | + padding: 1rem 0; | ||
| 47 | + color: #713610; | ||
| 48 | + font-weight: bold; | ||
| 49 | + } | ||
| 50 | +} | ||
| 51 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -995,6 +995,11 @@ | ... | @@ -995,6 +995,11 @@ |
| 995 | "@vue/server-renderer" "3.2.31" | 995 | "@vue/server-renderer" "3.2.31" |
| 996 | "@vue/shared" "3.2.31" | 996 | "@vue/shared" "3.2.31" |
| 997 | 997 | ||
| 998 | +"weixin-js-sdk@^1.6.0": | ||
| 999 | + "integrity" "sha512-3IYQH7aalJGFJrwdT3epvTdR1MboMiH7vIZ5BRL2eYOJ12BNah7csoMkmSZzkq1+l92sSq29XdTCVjCJoK2sBQ==" | ||
| 1000 | + "resolved" "https://registry.npmjs.org/weixin-js-sdk/-/weixin-js-sdk-1.6.0.tgz" | ||
| 1001 | + "version" "1.6.0" | ||
| 1002 | + | ||
| 998 | "wrappy@1": | 1003 | "wrappy@1": |
| 999 | "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" | 1004 | "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" |
| 1000 | "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" | 1005 | "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" | ... | ... |
-
Please register or login to post a comment