panhui 4 yıl önce
ebeveyn
işleme
67a6edce72

+ 2 - 0
src/main/java/com/izouma/nineth/security/WebSecurityConfig.java

@@ -83,6 +83,8 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
                 .antMatchers("/banner/all").permitAll()
                 .antMatchers("/collection/all").permitAll()
                 .antMatchers("/collection/get/**").permitAll()
+                .antMatchers("/activity/all").permitAll()
+                .antMatchers("/activity/get/**").permitAll()
                 .antMatchers("/asset/get/**").permitAll()
                 .antMatchers("/asset/tokenHistory").permitAll()
                 .antMatchers("/user/all").permitAll()

+ 91 - 28
src/main/nine-space/src/views/Mine.vue

@@ -29,6 +29,18 @@
                                 src="@assets/renzheng_icon_pre.png"
                                 alt=""
                             />
+
+                            <van-button
+                                color="#F5F7FA"
+                                size="mini"
+                                :icon="require('@assets/renzheng_icon.png')"
+                                round
+                                class="auth"
+                                v-else
+                                @click="goAuth"
+                            >
+                                {{ authStatus === '未认证' ? '去认证' : authStatus }}
+                            </van-button>
                         </div>
                         <div class="text2">
                             <span> 用户ID:{{ userInfo.id }} </span>
@@ -37,9 +49,12 @@
                     </div>
                 </div>
 
-                <div class="sub van-multi-ellipsis--l2">
+                <div class="sub" :class="{ 'van-multi-ellipsis--l2': !showMore }">
                     {{ userInfo.intro }}
                 </div>
+                <div class="sub-right" v-if="userInfo && userInfo.intro.length > 50">
+                    <div @click="showMore = !showMore">{{ showMore ? '收起' : '展开' }}</div>
+                </div>
 
                 <div class="btns">
                     <div class="collect" @click="$router.push('/mineFollows')">
@@ -50,37 +65,38 @@
                         <div class="text2">粉丝</div>
                         <div class="text1">{{ userInfo.followers }}</div>
                     </div>
-                    <van-button
-                        plain
-                        color="#939599"
-                        size="mini"
-                        :icon="require('@assets/renzheng_icon.png')"
-                        round
-                        v-if="authStatus !== '已认证'"
-                        @click="goAuth"
-                    >
-                        {{ authStatus }}
-                    </van-button>
+
                     <van-button plain @click="$router.push('/setting')" color="#939599" size="mini" round
                         >编辑资料</van-button
                     >
                 </div>
             </div>
         </div>
-        <div class="top" v-else>
-            <img src="@assets/creatorBg.png" alt="" class="top-bg" />
+        <div class="userInfo" v-else>
             <van-image
-                round
-                width="78"
-                height="78"
-                :src="require('@assets/svgs/img_default_photo.svg')"
+                width="100%"
+                height="35vw"
+                :src="require('@assets/creatorBg.png')"
+                loading-icon=""
                 fit="cover"
-                @click="$router.push('/login')"
+                class="top-img"
             />
+            <div class="userInfo-content">
+                <div class="userInfo-top">
+                    <van-image
+                        round
+                        width="78"
+                        height="78"
+                        :src="require('@assets/img_default_photo.png')"
+                        fit="cover"
+                        @click="$router.push('/login')"
+                    />
 
-            <div class="text">
-                <div class="text1" @click="$router.push('/login')">点击登录</div>
-                <div class="text2">立即登录获取精彩服务</div>
+                    <div class="text">
+                        <div class="text1" @click="$router.push('/login')">点击登录</div>
+                        <div class="text2">立即登录获取精彩服务</div>
+                    </div>
+                </div>
             </div>
         </div>
         <van-cell class="title" title="我的订单" :border="false" />
@@ -124,7 +140,7 @@
                     <van-icon :name="require('@assets/info_icon_jiaoyijilu.png')" class="search-icon" />
                 </template>
             </van-grid-item>
-            <van-grid-item text="了解更多" @click="wait">
+            <van-grid-item text="了解更多" :to="{ path: '/question' }">
                 <template #icon>
                     <van-icon :name="require('@assets/icon_liaojiegengduo.png')" class="search-icon" />
                 </template>
@@ -150,7 +166,8 @@ import { mapState } from 'vuex';
 export default {
     data() {
         return {
-            org: false
+            org: false,
+            showMore: false
         };
     },
     computed: {
@@ -211,10 +228,14 @@ export default {
 .top {
     display: flex;
     align-items: center;
-    padding: 26px 16px 30px;
+    padding: 36px 16px 30px;
     border-bottom: 1px solid @bg2;
     position: relative;
 
+    .van-image {
+        border: 5px solid @bg;
+    }
+
     .text {
         margin-left: 12px;
         position: relative;
@@ -278,6 +299,7 @@ export default {
     padding: 0 16px;
     .order-info {
         padding: 20px 0;
+        position: relative;
         .flex();
         background-color: @bg;
         flex-grow: 1;
@@ -300,6 +322,16 @@ export default {
     }
     .order-info + .order-info {
         margin-left: 20px;
+        &::before {
+            content: '';
+            width: 1px;
+            height: 32px;
+            background-color: @bg3;
+            position: absolute;
+            left: -10px;
+            top: 50%;
+            transform: translateY(-50%);
+        }
     }
 }
 .grid-img {
@@ -359,18 +391,31 @@ export default {
     padding: 0 16px;
     z-index: 2;
     position: relative;
-    transform: translateY(-8px);
+    transform: translateY(-16px);
     .sub {
-        font-size: 14px;
+        font-size: 12px;
         color: @text3;
         line-height: 22px;
-        padding: 9px 0 20px;
+        padding: 9px 0 0;
+    }
+
+    .sub-right {
+        .flex();
+        justify-content: flex-end;
+    }
+
+    .sub-right > div {
+        font-size: 12px;
+        color: @text0;
+        line-height: 17px;
+        text-decoration: underline;
     }
 
     .btns {
         display: flex;
         // padding-bottom: 16px;
         align-items: center;
+        margin-top: 10px;
         .collect {
             .flex();
             .text1 {
@@ -424,6 +469,12 @@ export default {
         flex-shrink: 0;
     }
 
+    /deep/.van-image {
+        img {
+            transform: translateY(-2px);
+        }
+    }
+
     .text {
         margin: 0 40px 0 12px;
         overflow: hidden;
@@ -460,4 +511,16 @@ export default {
     border-radius: 8px;
     overflow: hidden;
 }
+
+/deep/.auth {
+    color: @text3!important;
+    padding: 0 10px;
+    margin-left: 6px;
+    .van-button__content {
+        .flex();
+        .van-icon__image {
+            display: block;
+        }
+    }
+}
 </style>

+ 21 - 5
src/main/nine-space/src/views/creator/Detail.vue

@@ -41,9 +41,12 @@
                     </div>
                 </div>
 
-                <div class="sub">
+                <div class="sub" :class="{ 'van-multi-ellipsis--l2': !showMore }">
                     {{ info.intro || '他还没有介绍哦~' }}
                 </div>
+                <div class="sub-right" v-if="info && info.intro.length > 50">
+                    <div @click="showMore = !showMore">{{ showMore ? '收起' : '展开' }}</div>
+                </div>
 
                 <div class="btns">
                     <div class="collect">
@@ -177,7 +180,8 @@ export default {
             empty: false,
             hots: [],
             url: '/collection/all',
-            isMinter: true
+            isMinter: true,
+            showMore: false
         };
     },
     mounted() {
@@ -318,10 +322,22 @@ export default {
     position: relative;
     transform: translateY(-14px);
     .sub {
-        font-size: 14px;
+        font-size: 12px;
         color: @text3;
         line-height: 22px;
-        padding: 6px 0;
+        padding: 6px 0 0;
+    }
+
+    .sub-right {
+        .flex();
+        justify-content: flex-end;
+    }
+
+    .sub-right > div {
+        font-size: 12px;
+        color: @text0;
+        line-height: 17px;
+        text-decoration: underline;
     }
 
     .btns {
@@ -329,7 +345,7 @@ export default {
         // padding-bottom: 16px;
         align-items: center;
         transform: translateY(14px);
-        padding-bottom: 6px;
+        padding: 6px 0;
         .collect {
             width: 20%;
             display: flex;

+ 4 - 4
src/main/nine-space/src/views/order/Detail.vue

@@ -83,7 +83,7 @@
 import OrderOpen from '../../components/order/OrderOpen.vue';
 import order from '../../mixins/order';
 import product from '../../mixins/product';
-// import dayjs from 'dayjs';
+import dayjs from 'dayjs';
 export default {
     components: { OrderOpen },
     name: 'detail',
@@ -101,9 +101,9 @@ export default {
         this.$http.get('/order/get/' + this.$route.query.id).then(res => {
             this.info = res;
             this.$toast.clear();
-            // if (dayjs().isBefore(dayjs(res.payTime).add(3, 'minute')) && res.type === 'BLIND_BOX') {
-            //     this.$refs.box.show = true;
-            // }
+            if (dayjs().isBefore(dayjs(res.payTime).add(3, 'minute')) && res.type === 'BLIND_BOX') {
+                this.$refs.box.show = true;
+            }
         });
     },
     methods: {