panhui 4 лет назад
Родитель
Сommit
8ba9700b6f

+ 0 - 42
src/main/nine-space/src/components/Agreement.vue

@@ -1,42 +0,0 @@
-<template>
-    <van-overlay :show="show" @click="show = false" z-index="99">
-        <div class="content" @click.stop="">
-            <div class="title">用户隐私协议</div>
-            <iframe src="/privacy.html"></iframe>
-        </div>
-    </van-overlay>
-</template>
-
-<script>
-export default {
-    data() {
-        return {
-            show: true
-        };
-    }
-};
-</script>
-
-<style lang="less" scoped>
-.content {
-    background: #fff;
-    width: 90vw;
-    height: 80vh;
-    position: absolute;
-    left: calc(5vw);
-    top: calc(10vh);
-    border-radius: 6px;
-    overflow-x: hidden;
-    overflow-y: auto;
-    color: #000;
-    box-sizing: border-box;
-    padding: 16px;
-}
-
-.title {
-    font-size: @font4;
-    font-weight: bold;
-    text-align: center;
-    padding-bottom: 20px;
-}
-</style>

+ 10 - 0
src/main/nine-space/src/router/index.js

@@ -118,6 +118,16 @@ const routes = [
             title: '登录'
         }
     },
+    {
+        path: '/agreement',
+        name: 'agreement',
+        component: () => import('../views/account/Agreement.vue'),
+        meta: {
+            pageType: Page.Login,
+            menuPage: true,
+            title: '登录'
+        }
+    },
     {
         path: '/register',
         name: 'userRegister',

+ 57 - 0
src/main/nine-space/src/views/account/Agreement.vue

@@ -0,0 +1,57 @@
+<template>
+    <div class="page">
+        <div class="content">
+            <div v-html="detail"></div>
+        </div>
+    </div>
+</template>
+
+<script>
+import resolveUrl from 'resolve-url';
+export default {
+    data() {
+        return {
+            detail: ''
+        };
+    },
+    mounted() {
+        let page = this.$route.query.page || 'privacy';
+        this.$http.get(`/${page}.html`).then(res => {
+            let contents = res.split('<body>')[1].split('</body>');
+            this.detail = contents[0];
+        });
+    },
+    methods: {}
+};
+</script>
+
+<style lang="less" scoped>
+.page {
+    background-color: #0f0f0f;
+    padding: 16px;
+}
+/deep/.content {
+    background: #181818;
+    border-radius: 8px;
+    padding: 16px;
+    .align-center {
+        font-size: @font3;
+        font-weight: bold;
+        text-align: center;
+        margin: 0;
+        padding-bottom: 10px;
+    }
+    p {
+        font-size: @font2;
+        margin: 6px 0 0;
+        color: @text3;
+    }
+
+    h4,
+    h5,
+    h6 {
+        font-size: @font2;
+        margin: 20px 0 0;
+    }
+}
+</style>

+ 22 - 11
src/main/nine-space/src/views/account/Login.vue

@@ -51,14 +51,6 @@
                 <van-button class="del" round block plain @click="$router.replace('/register')"
                     >暂无账号,立即注册</van-button
                 >
-
-                <div class="xieyi">
-                    <van-checkbox v-model="checked"
-                        >已阅读并同意<span @click.stop="$refs.agreement.show = true">
-                            &lt;&lt;用户隐私协议>></span
-                        ></van-checkbox
-                    >
-                </div>
             </div>
         </van-form>
 
@@ -123,15 +115,20 @@
             </div>
         </van-form>
 
-        <agreement ref="agreement" />
+        <div class="xieyi">
+            <van-checkbox v-model="checked">
+                已阅读并同意
+                <span @click.stop="$router.push('/agreement?page=service')"> &lt;&lt;用户服务协议>></span>
+                和
+                <span @click.stop="$router.push('/agreement')"> &lt;&lt;平台隐私协议>></span>
+            </van-checkbox>
+        </div>
     </div>
 </template>
 
 <script>
-import Agreement from '../../components/Agreement.vue';
 import phone from '../../mixins/phone';
 export default {
-    components: { Agreement },
     mixins: [phone],
     data() {
         return {
@@ -151,6 +148,10 @@ export default {
             });
         },
         submit() {
+            if (!this.checked) {
+                this.$toast('请先阅读并同意隐私政策');
+                return;
+            }
             this.$toast.loading({
                 message: '加载中...',
                 forbidClick: true
@@ -265,5 +266,15 @@ export default {
     .flex();
     justify-content: center;
     margin-top: 50px;
+    font-size: @font1;
+
+    span {
+        color: @prim;
+    }
+}
+
+/deep/.van-checkbox__icon--checked .van-icon {
+    background: linear-gradient(135deg, @prim 0%, @warn 100%);
+    border-width: 0;
 }
 </style>