panhui 4 years ago
parent
commit
739191b39e

+ 0 - 1
src/main/nine-space/src/App.vue

@@ -59,7 +59,6 @@ export default {
       this.bs = new BetterScroll(this.$refs.scroll, {
         scrollY: true,
         click: true,
-        freeScroll: true,
       });
     },
     onLoad() {

BIN
src/main/nine-space/src/assets/NO1.png


BIN
src/main/nine-space/src/assets/NO2.png


BIN
src/main/nine-space/src/assets/NO3.png


File diff suppressed because it is too large
+ 22 - 19
src/main/nine-space/src/assets/svgs/NO1.svg


+ 2 - 2
src/main/nine-space/src/assets/svgs/NO2.svg

@@ -24,8 +24,8 @@
         </linearGradient>
     </defs>
     <g id="第九空间" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="首页-01" transform="translate(-12.000000, -791.000000)">
-            <g id="编组-3" transform="translate(10.000000, 783.000000)">
+        <g id="首页-01" transform="translate(-12.000000, -1653.000000)">
+            <g id="编组-3" transform="translate(10.000000, 1645.000000)">
                 <g id="编组-2" transform="translate(0.888728, 5.440003)">
                     <path d="M49.1112718,12.5599972 C73.4118008,12.5599972 93.1112718,32.2594682 93.1112718,56.5599972 C93.1112718,80.8605262 73.4118008,100.559997 49.1112718,100.559997 C24.8107429,100.559997 5.11127184,80.8605262 5.11127184,56.5599972 C5.11127184,32.2594682 24.8107429,12.5599972 49.1112718,12.5599972 Z" id="路径" stroke="url(#linearGradient-1)" stroke-width="3" fill-rule="nonzero"></path>
                     <g id="编组" transform="translate(50.111272, 89.559997) scale(-1, -1) translate(-50.111272, -89.559997) translate(8.111272, 75.559997)" fill-rule="nonzero">

File diff suppressed because it is too large
+ 17 - 22
src/main/nine-space/src/assets/svgs/NO3.svg


+ 2 - 2
src/main/nine-space/src/assets/svgs/tabbar_icon_02.svg

@@ -7,8 +7,8 @@
         </filter>
     </defs>
     <g id="第九空间" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="首页-01" transform="translate(-128.000000, -1764.000000)">
-            <g id="编组" transform="translate(0.000000, 1759.000000)">
+        <g id="首页-01" transform="translate(-128.000000, -2254.000000)">
+            <g id="编组" transform="translate(0.000000, 2249.000000)">
                 <g id="标签二" transform="translate(113.000000, 2.000000)">
                     <g id="编组" transform="translate(15.526316, 3.000000)" filter="url(#filter-1)">
                         <g transform="translate(4.140351, 4.000000)">

+ 1 - 1
src/main/nine-space/src/components/creator/CreatorInfo.vue

@@ -78,7 +78,7 @@ export default {
       if (this.rank) {
         const colors = ["#FF8E12", "#C37BFF", "#3ACEFF"];
         return {
-          img1: require(`../../assets/svgs/NO${this.rank}.svg`),
+          img1: require(`../../assets/NO${this.rank}.png`),
           img2: require(`../../assets/svgs/NOicon${this.rank}.svg`),
           color: colors[this.rank - 1],
         };

+ 1 - 1
src/main/nine-space/src/components/product/productInfo.vue

@@ -128,7 +128,7 @@ export default {
       span {
         &:last-child {
           color: #fff;
-          font-size: 16px;
+          font-size: 14px;
         }
       }
     }

+ 1 - 1
src/main/nine-space/src/plugins/http.js

@@ -6,7 +6,7 @@ switch (process.env.NODE_ENV) {
   case "development":
     // baseUrl = 'http://zhirongip.izouma.com';
     // baseUrl = 'http://192.168.50.190:8080';
-    baseUrl = "http://192.168.50.104:8080";
+    baseUrl = "https://nft.9space.vip";
     // baseUrl = 'http://192.168.50.190:8080';
     break;
   case "test":

+ 1 - 1
src/main/nine-space/src/views/Discover.vue

@@ -160,7 +160,7 @@ export default {
             size: 20,
             query: {
               onShelf: true,
-              del: false
+              del: false,
             },
             sort: "createdAt,desc",
           },

+ 2 - 3
src/main/nine-space/src/views/Home.vue

@@ -35,9 +35,8 @@
       ></page-title>
       <div class="box-list">
         <product-info
-          v-for="item in box"
+          v-for="(item, index) in box"
           :key="item.id"
-          :info="item"
           v-model:info="box[index]"
         ></product-info>
       </div>
@@ -161,7 +160,7 @@ export default {
             query: {
               type: type,
               onShelf: true,
-              del: false
+              del: false,
             },
             sort: "createdAt,desc",
           },

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

@@ -54,14 +54,14 @@
           >
             {{ info.follow ? "已关注" : "关注" }}
           </van-button>
-          <van-button
+          <!-- <van-button
             plain
             @click="$router.push('/setting')"
             color="#939599"
             size="mini"
             round
             >分享</van-button
-          >
+          > -->
         </div>
       </div>
     </div>
@@ -92,7 +92,7 @@
       </div>
 
       <van-tabs
-        v-model:active="onShelf"
+        v-model:active="salable"
         @change="getList"
         line-width="16"
         line-height="2"
@@ -123,7 +123,7 @@ export default {
     return {
       info: {},
       type: "DEFAULT",
-      onShelf: "",
+      salable: "",
       stiky: null,
       list: [],
       empty: false,
@@ -200,9 +200,9 @@ export default {
             size: 20,
             query: {
               type: this.type,
-              onShelf: this.onShelf,
+              salable: this.salable,
               minterId: this.info.id,
-              del: false
+              del: false,
             },
             sort: this.sort,
           },

+ 76 - 15
src/main/nine-space/src/views/product/Detail.vue

@@ -67,6 +67,25 @@
     <driver />
 
     <div class="goods">
+      <template v-if="boxs.length > 0">
+        <div class="page-title">盲盒详情</div>
+        <swiper
+          :slidesPerView="'auto'"
+          :spaceBetween="20"
+          class="detail-swiper"
+        >
+          <swiper-slide v-for="(item, index) in boxs" :key="index">
+            <van-image
+              width="100%"
+              height="170"
+              :src="item"
+              fit="cover"
+              radius="12"
+              @click="preview(index)"
+            />
+          </swiper-slide>
+        </swiper>
+      </template>
       <template v-if="properties.length > 0">
         <div class="page-title">商品特性</div>
         <div class="specific-list">
@@ -80,12 +99,10 @@
           </div>
         </div>
       </template>
-      <!-- <div class="page-title">链上信息</div>
-      <div class="page-text">
-        创世“由艺术大师天野喜孝为游戏”百分之一“倾情绘制,天野喜孝是日本知名画家,插画师,角色设计师,普任”最终幻想“系列多部作品的角色设计
-      </div> -->
-      <div class="page-title">作品描述</div>
-      <div class="page-text" v-html="info.detail"></div>
+      <template v-if="info.detail">
+        <div class="page-title">作品描述</div>
+        <div class="page-text" v-html="info.detail"></div
+      ></template>
     </div>
 
     <div class="btn van-safe-area-bottom" ref="btn" v-if="isBuy">
@@ -118,6 +135,7 @@ import "swiper/swiper-bundle.min.css";
 
 import SwiperCore, { Pagination } from "swiper";
 import Post from "../../components/Post.vue";
+import { ImagePreview } from "vant";
 
 // install Swiper modules
 SwiperCore.use([Pagination]);
@@ -135,6 +153,7 @@ export default {
       info: {},
       liked: false,
       btn: null,
+      blindBoxItems: [],
     };
   },
   computed: {
@@ -147,6 +166,12 @@ export default {
     isBuy() {
       return this.info.stock && this.info.onShelf && this.info.salable;
     },
+    boxs() {
+      let list = [...this.blindBoxItems];
+      return list.map((item) => {
+        return this.getImg(item.pics);
+      });
+    },
   },
   mounted() {
     this.getProduct();
@@ -157,22 +182,49 @@ export default {
     }
   },
   methods: {
+    preview(index = 0) {
+      ImagePreview({
+        images: [...this.boxs],
+        startPosition: index,
+      });
+    },
     getProduct() {
       this.$toast.loading({
         message: "加载中...",
         forbidClick: true,
       });
-      this.$http.get("/collection/get/" + this.$route.query.id).then((res) => {
-        this.info = res;
-        this.$nextTick(() => {
-          if (this.isBuy) {
-            this.btn = this.$refs.btn;
+      this.$http
+        .get("/collection/get/" + this.$route.query.id)
+        .then((res) => {
+          this.info = res;
+          this.$nextTick(() => {
+            if (this.isBuy) {
+              this.btn = this.$refs.btn;
+            }
+            document.body.appendChild(this.$refs.btn);
+          });
+
+          if (res.type === "BLIND_BOX") {
+            return this.$http.post(
+              "/blindBoxItem/all",
+              {
+                query: {
+                  blindBoxId: res.id,
+                },
+              },
+              { body: "json" }
+            );
+          } else {
+            return Promise.resolve();
+          }
+        })
+        .then((res) => {
+          if (res) {
+            this.blindBoxItems = res.content;
           }
-          document.body.appendChild(this.$refs.btn);
-        });
 
-        this.scrollRefreash();
-      });
+          this.scrollRefreash();
+        });
     },
     likeProduct() {
       if (!this.info.liked) {
@@ -413,4 +465,13 @@ export default {
     border-width: 0px;
   }
 }
+
+.detail-swiper {
+  height: 170px;
+  margin-top: 12px;
+}
+
+.swiper-slide {
+  width: 35.2vw;
+}
 </style>

+ 1 - 1
src/main/nine-space/src/views/product/Search.vue

@@ -100,7 +100,7 @@ export default {
               onShelf: true,
               type: this.type,
               minterId: this.minterId,
-              del: false
+              del: false,
             },
             sort: "createdAt,desc",
             search: this.search,

Some files were not shown because too many files changed in this diff