panhui 4 лет назад
Родитель
Сommit
561871b697

Разница между файлами не показана из-за своего большого размера
+ 1 - 16741
src/main/nine-space/package-lock.json


+ 4 - 1
src/main/nine-space/package.json

@@ -9,15 +9,18 @@
   },
   "dependencies": {
     "@better-scroll/core": "^2.4.2",
+    "@chenfengyuan/vue-qrcode": "^2.0.0-rc.1",
     "axios": "^0.21.4",
     "better-scroll": "^2.4.2",
     "clipboard": "^2.0.8",
     "core-js": "^3.6.5",
+    "html2canvas": "^1.3.2",
     "lodash": "^4.17.21",
+    "qrcode": "^1.4.4",
     "register-service-worker": "^1.7.1",
     "swiper": "^6.8.1",
     "vant": "^3.2.3",
-    "vue": "^3.0.0",
+    "vue": "^3.2.20",
     "vue-clipboard2": "^0.3.3",
     "vue-croppie": "^2.0.2",
     "vue-router": "^4.0.0-0",

+ 13 - 0
src/main/nine-space/src/assets/svgs/jiage.svg

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="10px" height="11px" viewBox="0 0 10 11" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>icon_jiage</title>
+    <g id="第九空间" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="分享" transform="translate(-48.000000, -516.000000)" fill="#FDFB60" fill-rule="nonzero">
+            <g id="编组-11" transform="translate(38.000000, 100.000000)">
+                <g id="¥" transform="translate(10.000000, 416.000000)">
+                    <path d="M6.13339273,10.3570163 L6.13339273,8.35750458 L8.88729898,8.35750458 L8.88729898,6.73885223 L6.13339273,6.73885223 L6.13339273,5.85994598 L8.88729898,5.85994598 L8.88729898,4.24129364 L6.94638102,4.24129364 L9.26171875,0 L7.00585938,0 C5.80247016,2.30018534 5.16985107,3.55769989 5.10800211,3.77254364 C5.05591878,3.57397593 4.43853786,2.31646138 3.25585937,0 L1,0 L3.2696232,4.24129364 L1.35800211,4.24129364 L1.35800211,5.85994598 L4.07528727,5.85994598 L4.07528727,6.73885223 L1.35800211,6.73885223 L1.35800211,8.35750458 L4.07528727,8.35750458 L4.07528727,10.3570163 L6.13339273,10.3570163 Z"></path>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 94 - 0
src/main/nine-space/src/components/Post.vue

@@ -0,0 +1,94 @@
+<template>
+  <van-overlay :show="show" @click="show = false" z-index="99">
+    <div class="wrapper" @click.stop>
+      <div class="content">
+        <van-image src="" width="80vw" height="80vw" fit="cover" />
+        <div class="info">
+          <div class="name van-multi-ellipsis--l2">
+            游戏《百分之一》精美皮肤---恶魔的礼物
+          </div>
+          <div class="text">
+            <div class="price">
+              <img src="../assets/svgs/jiage.svg" alt="" />
+              <span>320</span>
+            </div>
+            <div class="text1">
+              <span>已售 23</span>
+              <span>剩余 50</span>
+            </div>
+          </div>
+          <div class="minter">
+            <van-image width="30" height="30" round src="" fit="cover" />
+            <div class="text1">铸造者昵称</div>
+            <div class="text2">铸造者</div>
+
+            <vue-qrcode
+              value="Hello, World!"
+              :options="{ width: 70 }"
+            ></vue-qrcode>
+          </div>
+        </div>
+      </div>
+    </div>
+  </van-overlay>
+</template>
+<script>
+import vueQrcode from "@chenfengyuan/vue-qrcode";
+export default {
+  data() {
+    return {
+      show: true,
+    };
+  },
+  components: {
+    vueQrcode,
+  },
+};
+</script>
+<style lang="less" scoped>
+.wrapper {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 100%;
+}
+
+.content {
+  width: 80vw;
+  background: #19191b;
+  border-radius: 8px;
+}
+
+.info {
+  padding: 12px 10px;
+  .name {
+    font-size: 18px;
+    font-weight: bold;
+    color: #ffffff;
+    line-height: 24px;
+  }
+  .text {
+    display: flex;
+    justify-content: space-between;
+    align-items: flex-end;
+    margin-top: 6px;
+
+    .price {
+      span {
+        font-size: 32px;
+        font-family: OSP-DIN, OSP;
+        color: #fdfb60;
+        line-height: 36px;
+      }
+    }
+    .text1 {
+      font-size: 14px;
+      color: #939599;
+      line-height: 24px;
+      span + span {
+        margin-left: 10px;
+      }
+    }
+  }
+}
+</style>

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

@@ -23,7 +23,7 @@
         />
         <div class="product-content">
           <div class="text1 van-multi-ellipsis--l2">{{ info.name }}</div>
-          <div class="text2">编号:{{ info.collectionId }}</div>
+          <div class="text2" v-if="info.number">编号:{{ info.number }}</div>
           <div class="flex1"></div>
           <div class="price">¥{{ info.price }}</div>
         </div>

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

@@ -27,7 +27,7 @@
           size="mini"
           >选择其他编号</van-button
         >
-        <like-button :isLike="liked" @click="likeProduct">
+        <like-button :isLike="info.liked" @click="likeProduct">
           {{ info.likes }}
         </like-button>
       </div>
@@ -99,6 +99,8 @@
     </van-collapse> -->
 
     <driver />
+
+    <post />
   </div>
 </template>
 
@@ -109,6 +111,7 @@ import "swiper/swiper.min.css";
 import "swiper/swiper-bundle.min.css";
 
 import SwiperCore, { Pagination } from "swiper";
+import Post from "../../components/Post.vue";
 
 // install Swiper modules
 SwiperCore.use([Pagination]);
@@ -117,6 +120,7 @@ export default {
   components: {
     Swiper,
     SwiperSlide,
+    Post,
   },
   inject: ["bs"],
   data() {
@@ -155,7 +159,6 @@ export default {
       this.$http.get("/collection/get/" + this.$route.query.id).then((res) => {
         this.info = res;
         this.$nextTick(() => {
-          this.checkLike();
           if (this.isBuy) {
             this.btn = this.$refs.btn;
           }
@@ -168,27 +171,8 @@ export default {
         }, 500);
       });
     },
-    checkLike() {
-      if (!this.isLogin) {
-        return;
-      }
-      this.$http
-        .post(
-          "/like/all",
-          {
-            query: {
-              collectionId: this.info.id,
-              userId: this.$store.state.id,
-            },
-          },
-          { body: "json" }
-        )
-        .then((res) => {
-          this.liked = !res.empty;
-        });
-    },
     likeProduct() {
-      if (!this.liked) {
+      if (!this.info.liked) {
         this.$http.get(`/collection/${this.info.id}/like`).then(() => {
           this.getProduct();
           this.$toast.success("收藏成功");

Разница между файлами не показана из-за своего большого размера
+ 126 - 121
src/main/nine-space/yarn.lock


Некоторые файлы не были показаны из-за большого количества измененных файлов