panhui il y a 3 ans
Parent
commit
ecc2c8635a

+ 1 - 0
package.json

@@ -44,6 +44,7 @@
         "vue-croppie": "^2.0.2",
         "vue-lottie": "^0.2.1",
         "vue-router": "^4.0.0-0",
+        "vue3-lottie": "^2.3.0",
         "vuex": "^4.0.0-0"
     },
     "devDependencies": {

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
src/assets/lottie/star.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
src/assets/lottie/star1.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
src/assets/lottie/star2.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
src/assets/lottie/zuzhao.json


+ 2 - 6
src/views/Discover.vue

@@ -197,17 +197,13 @@ export default {
                     label: '最新发布',
                     value: 'collection'
                 },
-                {
-                    label: '个人发布',
-                    value: 'collection_MY'
-                },
                 {
                     label: '艺术机构',
                     value: 'creator'
                 },
                 {
-                    label: '热力展览',
-                    value: 'hot'
+                    label: '个人发布',
+                    value: 'collection_MY'
                 }
             ],
             icons: [

+ 1 - 1
src/views/StarMap.vue

@@ -162,6 +162,6 @@ export default {
     }
 }
 .list {
-    padding: 8px 8px 100px;
+    padding: 20px 8px 100px;
 }
 </style>

+ 83 - 23
src/views/star/Create.vue

@@ -28,7 +28,7 @@
                 <div
                     class="product"
                     :class="{ active: chooseId === item.id }"
-                    v-for="item in list"
+                    v-for="item in showList"
                     :key="item.id"
                     @click="choose(item.id)"
                 >
@@ -69,11 +69,11 @@
                 :border="false"
                 name="uploader"
                 label="上传图片"
-                :rules="[{ required: true, message: '请上传图' }]"
+                :rules="[{ required: true, message: '请上传图' }]"
             >
                 <template #label>
                     <div class="title">
-                        <span>上传图</span>
+                        <span>上传图</span>
                         <span>建议1:1大小,图片不大于250KB</span>
                     </div>
                 </template>
@@ -89,19 +89,19 @@
                 </template>
             </van-field>
             <van-field
-                name="图名称"
-                label="图名称"
-                placeholder="请输入图名称"
+                name="图名称"
+                label="图名称"
+                placeholder="请输入图名称"
                 v-model="form.picName"
                 required
-                :rules="[{ required: true, message: '请填写图名称' }]"
+                :rules="[{ required: true, message: '请填写图名称' }]"
             />
             <van-field
                 :border="false"
                 class="textarea"
-                name="图介绍"
-                label="图介绍"
-                placeholder="请输入图介绍,让大家更了解~"
+                name="图介绍"
+                label="图介绍"
+                placeholder="请输入图介绍,让大家更了解~"
                 v-model="form.picDesc"
                 clearable
                 rows="4"
@@ -109,32 +109,49 @@
                 type="textarea"
                 maxlength="800"
                 show-word-limit
-                :rules="[{ required: true, message: '请输入问题描述' }]"
+                :rules="[{ required: true, message: '请填写星图介绍' }]"
             />
             <div class="tips">
                 <div class="text1">铸造提示</div>
                 <div class="text2">
                     1.所有上传作品,需后台审核。审核成功后,冷却期为24小时,在藏品室可查看,但是不可以进行展示与转让。24小时到后,可进行展示与转让。<br />
-                    2.上传作品,仅可展示,可以转让,不可以交易
+                    2.上传作品,仅可展示,可以转让,不可以交易。<br />
+                    3.审核标准:上传内容不得涉及政治、低俗、暴力、血腥、色情、违禁品等内容,一经发现,立即封号处理。<br />
+                    4.请上传个人原创作品,作品内容形式不限,作品一经上传无法修改。<br />
+                    5.最终解释权归RAEX绿洲宇宙平台所有。
                 </div>
             </div>
             <div class="btn btns">
                 <van-button type="primary" @click="step = 0" plain round> 上一步</van-button>
-                <van-button round type="primary" native-type="submit">提交审核</van-button>
+                <van-button round type="primary" native-type="submit">提交铸造</van-button>
             </div>
         </van-form>
+        <div class="zhuzao" v-else-if="step === 2">
+            <Vue3Lottie :width="200" :animationData="star2JSON" />
+            <div class="lottie-text">星球铸造中</div>
+        </div>
     </div>
 </template>
 
 <script>
 import product from '../../mixins/product';
 import list from '../../mixins/list';
+import { Vue3Lottie } from 'vue3-lottie';
+import 'vue3-lottie/dist/style.css';
+import zuzhaoJSON from '../../assets/lottie/zuzhao.json';
+import starJSON from '../../assets/lottie/star.json';
+import star1JSON from '../../assets/lottie/star1.json';
+import star2JSON from '../../assets/lottie/star2.json';
+
 export default {
     mixins: [product, list],
+    components: {
+        Vue3Lottie
+    },
     data() {
         return {
             step: 0,
-            steps: ['销毁藏品', '上传图片', '提交审核'],
+            steps: ['销毁藏品', '上传星图', '星图铸造', '提交审核'],
             empty: false,
             list: [],
             chooseId: 0,
@@ -142,17 +159,44 @@ export default {
             url: '/asset/all',
             form: {},
             photoAssetId: 0,
-            info: {}
+            info: {},
+            nots: [],
+            zuzhaoJSON,
+            starJSON,
+            star1JSON,
+            star2JSON
         };
     },
     inject: ['barHeight'],
+    computed: {
+        showList() {
+            let list = [...this.list];
+            let nots = [...this.nots];
+            return list.filter(item => {
+                let flag = true;
+                nots.forEach(_not => {
+                    if (item.name.indexOf(_not) !== -1) {
+                        flag = false;
+                    }
+                });
+                return flag;
+            });
+        }
+    },
+    mounted() {
+        this.$http.get('/sysConfig/get/xingtu_not').then(res => {
+            if (res.value) {
+                this.nots = res.value.split(',');
+            }
+        });
+    },
     methods: {
         beforeData() {
             return {
                 query: {
                     userId: this.$store.state.userInfo.id,
                     status: 'NORMAL',
-                    type: 'DEFAULT,BLIND_BOX,PICTURE'
+                    type: 'DEFAULT,BLIND_BOX'
                 },
                 sort: 'id,desc'
             };
@@ -203,7 +247,10 @@ export default {
                 .post('/photoAsset/save', form, { body: 'json' })
                 .then(res => {
                     this.$toast.clear();
-                    this.$router.replace('/starCreateResult?id=' + res.id);
+                    this.step = 2;
+                    setTimeout(() => {
+                        this.$router.replace('/starCreateResult?id=' + res.id);
+                    }, 3000);
                 })
                 .catch(e => {
                     if (e.error) {
@@ -224,7 +271,7 @@ export default {
     height: 72px;
     .flex();
     .step {
-        width: 33.33vw;
+        width: 25vw;
         .flex-col();
         align-items: center;
         .box {
@@ -242,7 +289,7 @@ export default {
             }
             &::after {
                 content: '';
-                width: 40vw;
+                width: 25vw;
                 background-color: #a2885c;
                 height: 1px;
                 position: absolute;
@@ -263,18 +310,18 @@ export default {
         &:nth-child(1) {
             .box {
                 &::after {
-                    width: 16.5vw;
+                    width: 12.5vw;
                     left: 12px;
                     transform: translate(0, 6px);
                 }
             }
         }
 
-        &:nth-child(3) {
+        &:last-child {
             .box {
                 &::after {
-                    width: 16.5vw;
-                    left: 12px;
+                    width: 12.5vw;
+                    right: 12px;
                     transform: translate(-100%, 6px);
                 }
             }
@@ -453,4 +500,17 @@ export default {
         margin-top: 6px;
     }
 }
+
+.zhuzao {
+    .flex-col();
+    align-items: center;
+    padding: 80px 0;
+
+    .lottie-text {
+        font-size: 12px;
+        color: #939599;
+        line-height: 20px;
+        transform: translateY(-10px);
+    }
+}
 </style>

+ 32 - 16
src/views/star/CreateResult.vue

@@ -1,13 +1,11 @@
 <template>
-    <div class="result">
+    <div class="result" :class="{ fail: status === 'FAIL' }">
         <img class="icon" :src="info.img" alt="" />
         <div class="text1" :style="{ color: info.color }">{{ info.title }}</div>
-        <div class="text2">
-            {{ info.sub }}
-        </div>
+        <div class="text2" v-html="info.sub"></div>
 
         <div class="btn">
-            <van-button @click="create" type="primary" plain round block>继续上传</van-button>
+            <van-button @click="create" type="primary" plain round block>继续铸造星图</van-button>
         </div>
     </div>
 </template>
@@ -22,20 +20,20 @@ export default {
     },
     computed: {
         info() {
-            if (this.status === 'PENDING') {
-                return {
-                    img: require('@assets/png-fuhe.png'),
-                    title: '提交成功',
-                    sub: '审核成功后,冷却期为24小时,在藏品室可查看,但是不可以进行展示与转让。24小时到后,可进行展示与转让。',
-                    color: '#43CE00'
-                };
-            } else {
+            if (this.status === 'FAIL') {
                 return {
                     img: require('@assets/png-shibai.png'),
                     title: '审核失败',
                     sub: '审核失败,请重新铸造上传',
                     color: '#F53809'
                 };
+            } else {
+                return {
+                    img: require('@assets/png-fuhe.png'),
+                    title: '提交成功',
+                    sub: '<p>1. 绿洲宇宙的探索者,您的作品正在进行星图铸造!您可以在藏品室“个人作品”中查看您的星图!</p><p>2. 星图的铸造及审核冷却期为24小时,这期间不得进行展示与馈赠。完成铸造及审核后,即可进行展示与馈赠。</p><p>3. 赶快前往绿洲宇宙,在您的元宇宙空间及展厅中展示您的作品吧!</p>',
+                    color: '#43CE00'
+                };
             }
         }
     },
@@ -70,21 +68,36 @@ export default {
     background: #272b2e;
 
     .flex-col();
-    align-items: center;
+    align-items: stretch;
     padding: 60px 48px;
+
+    &.fail {
+        --van-button-primary-background-color: #939599;
+        .text1 {
+            margin: 6px 0 15px;
+        }
+
+        .btn {
+            .van-button {
+                border-color: #939599;
+            }
+        }
+    }
 }
 
 .icon {
+    align-self: center;
     width: 92px;
     height: 92px;
 }
 
 .text1 {
+    align-self: center;
     font-size: 20px;
     font-weight: bold;
     color: #43ce00;
     line-height: 28px;
-    margin: 6px 0 15px;
+    margin: 6px 0 0;
 }
 
 .text2 {
@@ -92,10 +105,13 @@ export default {
     color: #939599;
     line-height: 20px;
     text-align: center;
+    /deep/ p {
+        text-align: left;
+        margin: 20px 0;
+    }
 }
 .btn {
     margin-top: 80px;
-    align-self: stretch;
     .van-button {
         border: 1px solid #43ce00;
     }

+ 12 - 0
yarn.lock

@@ -6123,6 +6123,11 @@ lottie-web@^5.1.9:
   resolved "https://registry.npmjs.org/lottie-web/-/lottie-web-5.8.1.tgz"
   integrity sha512-9gIizWADlaHC2GCt+D+yNpk5l2clZQFqnVWWIVdY0LnxC/uLa39dYltAe3fcmC/hrZ2IUQ8dLlY0O934Npjs7Q==
 
+lottie-web@^5.8.1:
+  version "5.9.6"
+  resolved "https://registry.yarnpkg.com/lottie-web/-/lottie-web-5.9.6.tgz#62ae68563355d3e04aa75d53dec3dd4bea0e57c9"
+  integrity sha512-JFs7KsHwflugH5qIXBpB4905yC1Sub2MZWtl/elvO/QC6qj1ApqbUZJyjzJseJUtVpgiDaXQLjBlIJGS7UUUXA==
+
 lower-case@^1.1.1:
   version "1.1.4"
   resolved "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz"
@@ -9536,6 +9541,13 @@ vue-template-es2015-compiler@^1.9.0:
   resolved "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz"
   integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
 
+vue3-lottie@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/vue3-lottie/-/vue3-lottie-2.3.0.tgz#3b0e93cd8235545aad85e73a3ed3e9ca8ccbc6cd"
+  integrity sha512-pThHpAIxxvk9c5lJXyCgrIAUIy/Xn/XLETqW2yA+VIg5B+phjQkdxkTvRG60pq3zOZ9su2hee+HZgT9tWA+8Fw==
+  dependencies:
+    lottie-web "^5.8.1"
+
 vue@^3.2.20:
   version "3.2.30"
   resolved "https://registry.npmjs.org/vue/-/vue-3.2.30.tgz"

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff