liyongli 2 lat temu
rodzic
commit
ebe711744b

+ 12 - 12
package.json

@@ -8,24 +8,24 @@
     "gitPush": "node ./saveOSSAGitte.js"
   },
   "dependencies": {
-    "axios": "^1.1.3",
-    "core-js": "^3.6.5",
-    "element-plus": "^2.2.22",
-    "vant": "^3.6.4",
-    "vue": "^3.0.0"
+    "axios": "^1.2.1",
+    "core-js": "^3.26.1",
+    "element-plus": "^2.2.26",
+    "vant": "4.0.2",
+    "vue": "^3.2.45"
   },
   "devDependencies": {
-    "@vue/cli-plugin-babel": "~4.5.15",
-    "@vue/cli-plugin-eslint": "~4.5.15",
-    "@vue/cli-service": "~4.5.15",
-    "@vue/compiler-sfc": "^3.0.0",
+    "@vue/cli-plugin-babel": "~4.5.19",
+    "@vue/cli-plugin-eslint": "~4.5.19",
+    "@vue/cli-service": "~4.5.19",
+    "@vue/compiler-sfc": "^3.2.45",
     "ali-oss": "^6.17.1",
     "babel-eslint": "^10.1.0",
-    "eslint": "^6.7.2",
-    "eslint-plugin-vue": "^7.0.0",
+    "eslint": "^6.8.0",
+    "eslint-plugin-vue": "^7.20.0",
     "node-sass": "5.0.0",
     "sass-loader": "10.1.1",
-    "unplugin-vue-components": "^0.22.9",
+    "unplugin-vue-components": "^0.22.11",
     "vue-loader-v16": "16.0.0-beta.5.4"
   },
   "eslintConfig": {

Plik diff jest za duży
+ 158 - 443
pnpm-lock.yaml


+ 2 - 2
src/components/shanshipin.vue

@@ -28,7 +28,7 @@
   </van-row>
 </template>
 <script setup>
-import { Toast } from "vant";
+import { showToast } from "vant";
 // import { reactive } from "vue";
 /**
  * window.$originData.orginParames.title 页面标题
@@ -54,7 +54,7 @@ function download() {
     });
     const url = getDownloadUrl();
     if (isIpad || isIpod || isIphone) return location.href = url;
-    if (isWechat) return Toast("请在浏览器打开下载app");
+    if (isWechat) return showToast("请在浏览器打开下载app");
     location.href = url;
   }, 200);
 }

+ 7 - 7
src/utils/request.js

@@ -1,5 +1,5 @@
 import config from "../config/index.js";
-import { Toast } from "vant";
+import { showLoadingToast } from "vant";
 import "vant/lib/toast/style/index";
 
 function getdata(data) {
@@ -15,7 +15,7 @@ function getdata(data) {
 export default function (ori) {
   let baseurl = config.base[ori.urlType || "ajax"];
   let url = baseurl + ori.url;
-  !ori.noLoad && Toast.loading({
+  !ori.noLoad && showLoadingToast({
     message: '加载中...',
     forbidClick: true,
     duration: 0
@@ -37,15 +37,15 @@ export default function (ori) {
     method === "GET" ? xhttp.send() : xhttp.send(JSON.stringify(ori.data));
     xhttp.onreadystatechange = function () {
       if (this.readyState != 4) return;
-      Toast.clear()
+      showLoadingToast.clear()
       if (this.status === 404) {
-        Toast("请求失败 " + this.status);
+        showLoadingToast("请求失败 " + this.status);
         reject(this.status);
         return;
       }
       if (this.status != 200) {
         let t = JSON.parse(this.responseText || "{}");
-        Toast(t.message || "请求失败 " + this.status);
+        showLoadingToast(t.message || "请求失败 " + this.status);
         reject(t.message);
         return;
       }
@@ -57,13 +57,13 @@ export default function (ori) {
             ? JSON.parse(this.responseText || "{}")
             : {};
       } catch (err) {
-        Toast("请求失败");
+        showLoadingToast("请求失败");
         console.error(err);
         reject(err);
       }
       if (data.code === 0) resolve(data.data);
       else {
-        Toast(data.message || "请求失败");
+        showLoadingToast(data.message || "请求失败");
         reject(data);
       }
     };

+ 3 - 3
src/view/SilkRoadSpringFestivalGala/index.vue

@@ -64,7 +64,7 @@
         <five v-if="page === 'five'" @changePage="changePage" />
       </transition>
       <transition name="fade">
-        <sex v-if="page === 'sex' || page === 'seven'" />
+        <six v-if="page === 'six' || page === 'seven'" />
       </transition>
     </div>
   </div>
@@ -74,7 +74,7 @@ import third from "./pages/third.vue";
 import second from "./pages/second.vue";
 import fourth from "./pages/fourth.vue";
 import five from "./pages/five.vue";
-import sex from "./pages/sex.vue";
+import six from "./pages/six.vue";
 
 // import { onMounted, reactive } from "vue";
 import { ref } from "vue";
@@ -87,7 +87,7 @@ document.title = "多彩丝路中国年 | 2023新年开运色";
  * window.$originData.orginParames.parameters 固定参数值
  * window.$originData.urlParames url参数
  */
-const page = ref("first");
+const page = ref("six");
 // let first_text = ['"大美中国·多彩丝路"', "2023丝路春晚 联名限定"];
 // for (let i = 0; i < first_text.length; i++) {
 //   first_text[i] = first_text[i].split("");

+ 223 - 266
src/view/SilkRoadSpringFestivalGala/pages/eight.vue

@@ -1,282 +1,239 @@
 <template>
-    <div class="eight">
-      <van-row class="luckDraw">
-        <van-col
-          span="8"
-          v-for="i in 12"
-          :key="i"
-          :class="{ shakeSlow: show[i - 1] }"
+  <div class="eight">
+    <van-row class="luckDraw">
+      <van-col
+        span="8"
+        v-for="i in 12"
+        :key="i + 'll'"
+        :class="{ shakeSlow: show[i - 1] }"
+      >
+        <div v-if="show[i - 1]" class="click">点我</div>
+        <van-image
+          @click="draw"
+          :width="img.width"
+          :height="img.height"
+          :class="{ img: true }"
+          fit="contain"
+          :src="'https://cxzx.smcic.net/topic/tool/img/silugift/' + i + '.png'"
         >
-          <div v-if="show[i - 1]" class="click">点我</div>
-          <van-image
-            @click="draw"
-            :width="img.width"
-            :height="img.height"
-            :class="{ img: true }"
-            fit="contain"
-            src="err"
-          >
-            <template v-slot:loading>
-              <van-loading type="spinner" size="20" />
-            </template>
-          </van-image>
-        </van-col>
-      </van-row>
-  
-      <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
-        <van-swipe-item>
-          <div class="vieoPlay">
-            <van-icon
-              name="play-circle-o"
-              @click="()=>playVideo('https://cxzx.smcic.net/topic/tool/media/ad.mp4')"
-              color="#ffffff"
-              class="play"
-              size="40"
-            />
-            <img
-              style="width: 100%"
-              src="https://cxzx.smcic.net/topic/tool/media/ad.mp4?x-oss-process=video/snapshot,t_100,f_jpg,m_fast"
-            />
-          </div>
-        </van-swipe-item>
-      </van-swipe>
-      
-    </div>
-  </template>
-  <script setup>
-  import { reactive, ref,defineEmits } from "vue";
-  import { Dialog } from "vant";
-  // import { onMounted, reactive } from "vue";
-  // import { isIpad, isIpod, isIphone } from "../../utils/isTerminal";
-  /**
-   * window.$originData.orginParames.title 页面标题
-   * window.$originData.orginParames.parameters 固定参数值
-   * window.$originData.urlParames url参数
-   */
-  let w = window.$originData.orginParames.availWidth || 0;
-  const show = ref(Array(12).fill(false));
-  const from = reactive({
-    name: localStorage.getItem("silkRoadName") || "",
-    phone: localStorage.getItem("silkRoadPhone") || "",
-    address: localStorage.getItem("silkRoadAddress") || "",
-  });
-  // const gift = require("@/assets/img/")
-  const next = false;
-  const emits = defineEmits(["showVideo"]);
-  
-  let t = setInterval(() => {
-    let index = Math.ceil(Math.random() * 12) - 1;
-    if (index < 0) index = 0;
-    for (let i = 0; i < show.value.length; i++) {
-      show.value[i] = i == index;
-    }
-    if (next) clearInterval(t);
-  }, 5000);
-  
-  w = (w / 3) * 0.8;
-  const img = reactive({
-    width: w,
-    height: w,
-  });
-  if (!from.phone) {
-    Dialog({
-      message: () => {
-        const li = diglogUser();
-        return (
-          <div>
-            {li[0]} {li[1]}
-          </div>
-        );
-      },
-    }).then(() => {
-      // on close
-      from.name && localStorage.setItem("silkRoadName", from.name);
-      from.phone && localStorage.setItem("silkRoadPhone", from.phone);
-    });
-  }
-  
-  function draw() {
-    let isdraw = Math.random() >= 0.95 || true;// 非中将概率,后期接入接口后直接由接口提供是否中将
-    Dialog({
-      title: "抽奖提示",
-      message: () => {
-        if (isdraw) return drawIsTrue();
-        if (!isdraw) return drawIsFalse();
-      },
-    }).then(() => {
-      // on close
-      from.address && localStorage.setItem("silkRoadAddress", from.address);
-    });
+          <template v-slot:loading>
+            <van-loading type="spinner" size="20" />
+          </template>
+        </van-image>
+      </van-col>
+    </van-row>
+
+    <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
+      <van-swipe-item>
+        <div class="vieoPlay">
+          <van-icon
+            name="play-circle-o"
+            @click="
+              () => playVideo('https://cxzx.smcic.net/topic/tool/media/ad.mp4')
+            "
+            color="#ffffff"
+            class="play"
+            size="40"
+          />
+          <img
+            style="width: 100%"
+            src="https://cxzx.smcic.net/topic/tool/media/ad.mp4?x-oss-process=video/snapshot,t_100,f_jpg,m_fast"
+          />
+        </div>
+      </van-swipe-item>
+    </van-swipe>
+
+  </div>
+</template>
+<script setup>
+import { reactive, ref, defineEmits } from "vue";
+import { showDialog } from "vant";
+// import { onMounted, reactive } from "vue";
+// import { isIpad, isIpod, isIphone } from "../../utils/isTerminal";
+/**
+ * window.$originData.orginParames.title 页面标题
+ * window.$originData.orginParames.parameters 固定参数值
+ * window.$originData.urlParames url参数
+ */
+let w = window.$originData.orginParames.availWidth || 0;
+const show = ref(Array(12).fill(false));
+const address = ref(localStorage.getItem("silkRoadAddress") || "");
+// const gift = require("@/assets/img/")
+const next = false;
+const emits = defineEmits(["showVideo","showTitleFunc"]);
+
+let t = setInterval(() => {
+  let index = Math.ceil(Math.random() * 12) - 1;
+  if (index < 0) index = 0;
+  for (let i = 0; i < show.value.length; i++) {
+    show.value[i] = i == index;
   }
-  
-  function diglogUser() {
-    return [
-      <van-field
-        required
-        v-model={from.name}
-        label="昵称"
-        type="text"
-        placeholder="请输入昵称"
-      />,
-      <van-field
-        required
-        v-model={from.phone}
-        label="联系方式"
-        type="tel"
-        placeholder="请输入手机号"
-      />,
-      <van-field
-        required
-        v-model={from.address}
-        label="地址"
-        type="text"
-        placeholder="请输入收货地址"
-      />,
-    ];
+  if (next) clearInterval(t);
+}, 5000);
+
+w = (w / 3) * 0.8;
+const img = reactive({
+  width: w,
+  height: w,
+});
+
+function draw() {
+  if (!localStorage.getItem("silkRoadPhone")) return toLogin();
+  drawDialog();
+}
+
+function drawDialog() {
+  let isdraw = Math.random() >= 0.95; // 非中将概率,后期接入接口后直接由接口提供是否中将
+  showDialog({
+    title: "抽奖提示",
+    message: () => {
+      if (isdraw) return drawIsTrue();
+      if (!isdraw) return drawIsFalse();
+    },
+  }).then(() => {
+    // on close
+    address.value && localStorage.setItem("silkRoadAddress", address.value);
+  });
+}
+
+function drawIsTrue() {
+  const gift = {
+    url: "",
+    name: "",
+  };
+  if (Math.random() > 0.5) {
+    gift.url = "https://cxzx.smcic.net/topic/tool/img/gift1.png";
+    gift.name = "果娃果妹玩偶";
+  } else {
+    gift.url = "https://cxzx.smcic.net/topic/tool/img/gift.jpg";
+    gift.name = "长武苹果";
   }
-  
-  function drawIsTrue() {
-    const li = diglogUser();
-    const isName = !localStorage.getItem("silkRoadName");
-    const isPhone = !localStorage.getItem("silkRoadPhone");
-    const isAddress = !localStorage.getItem("silkRoadAddress");
-    const gift = {
-        url: "",
-        name: ""
+  // {address.value ? addressField : ''}
+  // const addressField = (<van-field required v-model={address} label="地址" type="text" placeholder="请输入地址" ></van-field>);
+  let ele = (
+    <div>
+      <img class="dialogImg" src={gift.url} />
+      <br />
+      <p>
+        恭喜您获得
+        <span style="color: red">{gift.name}</span>!
+      </p>
+    </div>
+  );
+  return ele;
+}
+
+function toLogin() {
+	emits("showTitleFunc");
+}
+
+function drawIsFalse() {
+  let ele = (
+    <div>
+      很遗憾哟,新年礼物擦肩而过啦!点击下方刷个小视频吧,给手气充能,获取额外抽奖机会!
+    </div>
+  );
+  return ele;
+}
+
+function playVideo(url) {
+  emits("showVideo", url);
+}
+</script>
+<style lang="scss" scoped>
+.eight {
+  width: 100%;
+  height: 100%;
+  padding: 0.5em 0;
+  background-color: #fff;
+  position: relative;
+  .luckDraw {
+    $background: #00000040;
+    background-color: #eeeeee80;
+    border-radius: 5px;
+    padding: 0.5em;
+    margin: 0.5em auto;
+    width: 96%;
+    .img {
+      border-radius: 5px;
+      display: block;
+      margin: auto;
+      border: 3px solid #ffffff;
+    }
+    .click {
+      background-color: $background;
+      position: absolute;
+      border-radius: 3px;
+      text-align: center;
+      padding: 2px 3px;
+      color: #fff;
+      font-size: 14px;
+      right: -0.5em;
+      top: -0.5em;
+      width: 4em;
+      z-index: 1;
     }
-    if(Math.random() > 0.5 ){
-        gift.url = "https://cxzx.smcic.net/topic/tool/img/gift1.png";
-        gift.name = "果娃果妹玩偶"
-    }else {
-        gift.url = "https://cxzx.smcic.net/topic/tool/img/gift.jpg";
-        gift.name = "长武苹果"
+    .click:before {
+      position: absolute;
+      display: block;
+      content: " ";
+      height: 0px;
+      width: 0px;
+      border: 3px solid $background;
+      border-top-color: rgba($color: #000000, $alpha: 0);
+      border-left-color: rgba($color: #000000, $alpha: 0);
+      bottom: -3px;
+      left: 9px;
+      transform: rotate(45deg);
     }
+  }
+}
 
+.shakeSlow {
+  animation: shake-slow 1s ease-in-out;
+}
 
-    let ele = (
-      <div>
-        <img
-          class="dialogImg"
-          src={gift.url}
-        />
-        <br />
-        <p>
-          恭喜您获得
-          <span style="color: red">{gift.name}</span>!
-        </p>
-        <br />
-        {isName ? li[0]: ""}
-        {isPhone ? li[1] : ""}
-        {isAddress ? li[2] : ""}
-      </div>
-    );
-    return ele;
+@keyframes shake-slow {
+  0% {
+    transform: rotate(0) scale(1);
   }
-  
-  function drawIsFalse() {
-    let ele = <div>很遗憾哟,新年礼物擦肩而过啦!点击下方刷个小视频吧,给手气充能,获取额外抽奖机会!</div>;
-    return ele;
+  20% {
+    transform: rotate(2.5deg);
   }
-  
-  function playVideo(url) {
-    emits("showVideo", url);
+  40% {
+    transform: rotate(-2.5deg);
   }
-  </script>
-  <style lang="scss" scoped>
-  .eight {
-    width: 100%;
-    height: 100%;
-    padding: 0.5em 0;
-    background-color: #fff;
-    position: relative;
-    .luckDraw {
-      $background: #00000040;
-      background-color: #eeeeee80;
-      border-radius: 5px;
-      padding: 0.5em;
-      margin: 0.5em auto;
-      width: 96%;
-      .img {
-        border-radius: 5px;
-        display: block;
-        margin: auto;
-        border: 3px solid #ffffff;
-      }
-      .click {
-        background-color: $background;
-        position: absolute;
-        border-radius: 3px;
-        text-align: center;
-        padding: 2px 3px;
-        color: #fff;
-        font-size: 14px;
-        right: -0.5em;
-        top: -0.5em;
-        width: 4em;
-        z-index: 1;
-      }
-      .click:before {
-        position: absolute;
-        display: block;
-        content: " ";
-        height: 0px;
-        width: 0px;
-        border: 3px solid $background;
-        border-top-color: rgba($color: #000000, $alpha: 0);
-        border-left-color: rgba($color: #000000, $alpha: 0);
-        bottom: -3px;
-        left: 9px;
-        transform: rotate(45deg);
-      }
-    }
+  60% {
+    transform: rotate(2.5deg) scale(1.1);
   }
-  
-  .shakeSlow {
-    animation: shake-slow 1s ease-in-out;
+  80% {
+    transform: rotate(-2.5deg);
   }
-  
-  @keyframes shake-slow {
-    0% {
-      transform: rotate(0) scale(1);
-    }
-    20% {
-      transform: rotate(2.5deg);
-    }
-    40% {
-      transform: rotate(-2.5deg);
-    }
-    60% {
-      transform: rotate(2.5deg) scale(1.1);
-    }
-    80% {
-      transform: rotate(-2.5deg);
-    }
-    100% {
-      transform: rotate(0);
-    }
+  100% {
+    transform: rotate(0);
   }
-  </style>
-  <style lang="scss">
-  .eight {
-    .van-col {
-      padding: 0.2em 0;
-      position: relative;
-    }
-  
-    .vieoPlay {
-      position: relative;
-      .play {
-        position: absolute;
-        top: 50%;
-        left: 50%;
-        transform: translate(-50%, -50%);
-      }
-    }
+}
+</style>
+<style lang="scss">
+.eight {
+  .van-col {
+    padding: 0.2em 0;
+    position: relative;
   }
-  .dialogImg {
-    width: 5em;
-    display: block;
-    margin: auto;
+
+  .vieoPlay {
+    position: relative;
+    .play {
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      transform: translate(-50%, -50%);
+    }
   }
-  </style>
-  
+}
+.dialogImg {
+  width: 5em;
+  display: block;
+  margin: auto;
+}
+</style>

+ 0 - 416
src/view/SilkRoadSpringFestivalGala/pages/sex.vue

@@ -1,416 +0,0 @@
-<template>
-  <div>
-    <van-swipe
-      ref="swipe"
-      :touchable="false"
-      :show-indicators="false"
-      vertical
-      @change="swiperPageFunc"
-      indicator-color="white"
-    >
-      <van-swipe-item>
-        <div style="width: 100%; overflow: hidden; position: relative">
-          <transition name="fade">
-            <img
-              v-if="step === 5"
-              @click="nextPage"
-              src="../../../assets/img/next.png"
-              class="next"
-            />
-          </transition>
-          <div class="sex" :style="'background-image: url(' + bgimg + ')'">
-            <img
-              :src="kuangimg"
-              :style="
-                step === 2
-                  ? 'opacity: 1'
-                  : step >= 3
-                  ? 'width: 25%;transform: translate(0, 0);opacity: 1; top: 1em; left: 1em'
-                  : 'opacity: 0'
-              "
-              class="firstImg"
-            />
-            <transition name="fade">
-              <div
-                class="sImg img"
-                v-if="step === 1"
-                :style="'width:' + width + 'px;'"
-              >
-                <template v-for="(item, i) in text.texts" :key="i">
-                  <p
-                    v-text="item"
-                    :style="
-                      stepBody >= i
-                        ? 'opacity: 1;color: ' + text.color
-                        : 'color: ' + text.color
-                    "
-                  ></p>
-                  <br />
-                </template>
-              </div>
-            </transition>
-            <transition name="fade">
-              <div class="body" @click="changeNextStep" v-if="nextStep === 1">
-                <div class="loading">
-                  <div class="loading1">
-                    <div class="loading2"></div>
-                  </div>
-                </div>
-              </div>
-            </transition>
-            <img
-              :src="text2img"
-              :style="step >= 4 ? 'opacity: 1' : ''"
-              class="tImg"
-            />
-            <transition name="fade">
-              <div class="btns" v-if="step === 5">
-                <div
-                  class="btn"
-                  @click="() => showDown(1)"
-                  style="margin-left: 0"
-                  :stype="'border-color:' + text.color + ';color:' + text.color"
-                >
-                  下载壁纸
-                </div>
-                <div
-                  class="btn"
-                  @click="() => showDown(2)"
-                  :stype="'border-color:' + text.color + ';color:' + text.color"
-                >
-                  生成海报
-                </div>
-              </div>
-            </transition>
-          </div>
-        </div>
-      </van-swipe-item>
-      <van-swipe-item style="overflow: auto">
-        <div
-          v-if="showSheet == 1"
-          style="
-            width: 100%;
-            height: 100%;
-            overflow: hidden;
-            position: relative;
-          "
-        >
-          <img
-            @click="nextPage"
-            src="../../../assets/img/next.png"
-            class="next"
-          />
-          <seven />
-        </div>
-      </van-swipe-item>
-      <van-swipe-item style="overflow: auto">
-        <eight v-if="(showSheet == 2)" @showVideo="showVideo" />
-      </van-swipe-item>
-    </van-swipe>
-
-    <transition name="fade">
-      <div class="model" v-if="showImg !== undefined">
-        <div class="gs">
-          <img :src="bgimg" style="width: 100%; height: 100%" alt="" />
-        </div>
-        <van-icon
-          color="#fff"
-          size="26"
-          name="close"
-          class="close"
-          @click="close"
-        />
-        <div class="modelImg">
-          <p>请长按保存图片</p>
-          <img :src="showImg" style="width: 100%; height: 100%" />
-        </div>
-      </div>
-    </transition>
-    <transition name="fade">
-      <div v-if="showOverlay" class="model">
-        <van-icon
-          color="#fff"
-          size="26"
-          name="close"
-          class="close"
-          @click="closeSeven"
-        />
-        <video class="sevenvideo" src=""></video>
-      </div>
-    </transition>
-  </div>
-</template>
-<script setup>
-import { ref, reactive, nextTick } from "vue";
-import data from "../data/data.json";
-
-import seven from "./seven.vue";
-import eight from "./eight.vue";
-
-// import { onMounted, reactive } from "vue";
-// import { isIpad, isIpod, isIphone } from "../../utils/isTerminal";
-/**
- * window.$originData.orginParames.title 页面标题
- * window.$originData.orginParames.parameters 固定参数值
- * window.$originData.urlParames url参数
- */
-const showImg = ref(undefined);
-const swipe = ref(null);
-let width = window.$originData.orginParames.availWidth * 0.7;
-const type = Math.floor(Math.random() * 12 + 1);
-let ori = data[type - 1] || { texts: [] };
-let max = 0;
-let nextStep = ref(0);
-for (let i = 0; i < ori.texts.length; i++) {
-  max < ori.texts[i].length && (max = ori.texts[i].length);
-}
-width = 14 * max;
-const text = reactive({
-  ...data[type - 1],
-  width,
-});
-const url = {
-  bg: require("@/assets/img/12/" + type + "-1.png"),
-  bg2: require("@/assets/img/12/" + type + "-2.png"),
-  kuang: require("@/assets/img/12/" + type + ".kuang.png"),
-  text2: require("@/assets/img/12/" + type + ".text2.png"),
-};
-
-const bgimg = ref(url.bg);
-const kuangimg = ref(url.kuang);
-const text2img = ref(url.text2);
-const step = ref(0); // 动画步骤
-const stepBody = ref(0);
-let t = setTimeout(() => {
-  clearTimeout(t);
-  step.value += 1;
-  t = setInterval(() => {
-    stepBody.value += 1;
-    if (stepBody.value === text.texts.length) {
-      nextStep.value = 1;
-      clearInterval(t);
-      autoStep();
-    }
-  }, 2000);
-}, 200);
-
-const showSheet = ref(0);
-function nextPage() {
-  if (step.value !== 5) return;
-
-  swipe.value.next();
-  console.log(swipe.value);
-}
-
-function swiperPageFunc(index) {
-  showSheet.value = index;
-}
-
-function changeNextStep() {
-  nextStep.value += 1;
-}
-
-function autoStep() {
-  t = setInterval(() => {
-    nextStep.value === 2 && (step.value += 1);
-    if (step.value === 5) clearInterval(t);
-  }, 3000);
-}
-
-function showDown(type) {
-  switch (type) {
-    case 1:
-      showImg.value = url.bg;
-      break;
-    case 2:
-      showImg.value = url.bg2;
-      break;
-  }
-  //   const image = new Image();
-  //   image.setAttribute("crossOrigin", "anonymous"); //设置允许跨域
-  //   image.src = url.bg;
-  //   image.onload = function () {
-  //     //等待图片加载完成创建canvas
-  //     let canvas = document.createElement("canvas");
-  //     //将图片绘制到canvas画布上
-  //     canvas.width = image.width;
-  //     canvas.height = image.height;
-  //     let ctx = canvas.getContext("2d");
-  //     ctx.drawImage(image, 0, 0, image.width, image.height);
-  //     //获取图片文件格式  jpg/jpeg/png
-  //     let ext = image.src.substring(image.src.lastIndexOf(".") + 1).toLowerCase();
-  //     //导出画布快照  此时已越过跨域限制成功取到图片数据
-  //     let dataURL = canvas.toDataURL("image/" + ext);
-  //     //创建a标签
-  //     const a = document.createElement("a");
-  //     // 赋值a标签download属性值,标明该a标签提供下载功能,同时该属性指定了下载时的文件名称
-  //     a.download = "test";
-  //     //赋值a标签下载地址,即canvas导出的画布快照 base64格式的图片地址
-  //     a.href = dataURL;
-  //     //添加a标签到dom中
-  //     document.body.appendChild(a);
-  //     //触发a标签点击事件 触发下载
-  //     a.click();
-  //     //下载完成 删除多余的a标签  保持页面原有元素不动
-  //     document.removeChild(a);
-  //   };
-}
-function close() {
-  showImg.value = undefined;
-}
-
-const showOverlay = ref(false);
-function showVideo(url) {
-  showOverlay.value = true;
-  nextTick(() => {
-    let ele = document.querySelector(".sevenvideo");
-    ele.src = url;
-    ele.play();
-  });
-}
-function closeSeven() {
-  showOverlay.value = false;
-}
-</script>
-<style lang="scss" scoped>
-.sex {
-  width: 100%;
-  height: 100vh;
-  background-size: 100% 100%;
-  position: relative;
-  .body {
-    position: absolute;
-    bottom: 10vh;
-    width: 100vw;
-  }
-  img,
-  .img {
-    width: 50%;
-    transition-property: all;
-    transition-duration: 2s;
-    opacity: 0;
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%, -50%);
-  }
-  .firstImg {
-    transition-delay: 1s;
-    -moz-transition-delay: 1s; /* Firefox 4 */
-    -webkit-transition-delay: 1s; /* Safari 和 Chrome */
-    -o-transition-delay: 1s; /* Opera */
-  }
-  .sImg {
-    width: 70%;
-    color: #ffffff;
-    font-family: OPPOSans;
-    font-size: 14px;
-    line-height: 3em;
-    opacity: 1;
-    p {
-      display: inline-block;
-      white-space: nowrap;
-      transition-property: all;
-      transition-duration: 2s;
-      opacity: 0;
-    }
-  }
-  .tImg {
-    width: 80%;
-    transition-delay: 1s;
-    -moz-transition-delay: 1s; /* Firefox 4 */
-    -webkit-transition-delay: 1s; /* Safari 和 Chrome */
-    -o-transition-delay: 1s; /* Opera */
-  }
-
-  .btns {
-    position: absolute;
-    text-align: center;
-    bottom: 10vh;
-    width: 100%;
-    > div {
-      display: inline-block;
-      border: 1px solid #fff;
-      border-radius: 2em;
-      font-weight: 600;
-      color: #fff;
-      padding: 5px 15px;
-      margin-left: 2em;
-    }
-  }
-
-  .fade-enter-from,
-  .fade-leave-to {
-    opacity: 0;
-  }
-  .fade-enter-active,
-  .fade-leave-active {
-    transition: opacity 1s ease;
-  }
-  .fade-enter-to,
-  .fade-leave-from {
-    opacity: 1;
-  }
-}
-
-.next {
-  bottom: 40px;
-  left: 50%;
-  transform: translateX(-50%);
-  top: inherit;
-  width: 2em;
-  z-index: 1;
-  position: absolute;
-  animation-name: an;
-  animation-duration: 1s;
-  animation-timing-function: linear;
-  animation-iteration-count: infinite;
-  animation-direction: alternate;
-}
-
-@keyframes an {
-  from {
-    bottom: 10px;
-  }
-  to {
-    bottom: 15px;
-  }
-}
-
-.model {
-  position: fixed;
-  top: 0;
-  left: 0;
-  bottom: 0;
-  right: 0;
-  z-index: 10;
-  background-color: #00000060;
-  .gs {
-    width: 100vw;
-    height: 100vh;
-    filter: blur(10px);
-    -webkit-filter: blur(10px);
-  }
-  .modelImg {
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%, -50%);
-    width: 80%;
-    text-align: center;
-    color: #ffffff;
-  }
-  .close {
-    position: absolute;
-    top: 1em;
-    right: 1em;
-  }
-
-  .sevenvideo {
-    top: 50%;
-    transform: translateY(-50%);
-    width: 100%;
-    position: absolute;
-  }
-}
-</style>

+ 463 - 0
src/view/SilkRoadSpringFestivalGala/pages/six.vue

@@ -0,0 +1,463 @@
+<template>
+	<div>
+		<van-swipe ref="swipe" :touchable="false" :show-indicators="false" vertical @change="swiperPageFunc"
+			indicator-color="white">
+			<van-swipe-item>
+				<div style="width: 100%; overflow: hidden; position: relative">
+					<transition name="fade">
+						<img v-if="step === 5" @click="nextPage" src="../../../assets/img/next.png" class="next" />
+					</transition>
+					<div class="six" :style="'background-image: url(' + bgimg + ')'">
+						<img :src="kuangimg" :style="
+                step === 2
+                  ? 'opacity: 1'
+                  : step >= 3
+                  ? 'width: 25%;transform: translate(0, 0);opacity: 1; top: 1em; left: 1em'
+                  : 'opacity: 0'
+              " class="firstImg" />
+						<transition name="fade">
+							<div class="sImg img" v-if="step === 1" :style="'width:' + width + 'px;'">
+								<template v-for="(item, i) in text.texts" :key="i">
+									<p v-text="item" :style="
+                      stepBody >= i
+                        ? 'opacity: 1;color: ' + text.color
+                        : 'color: ' + text.color
+                    "></p>
+									<br />
+								</template>
+							</div>
+						</transition>
+						<transition name="fade">
+							<div class="body" @click="changeNextStep" v-if="nextStep === 1">
+								<div class="loading">
+									<div class="loading1">
+										<div class="loading2"></div>
+									</div>
+								</div>
+							</div>
+						</transition>
+						<img :src="text2img" :style="step >= 4 ? 'opacity: 1' : ''" class="tImg" />
+						<transition name="fade">
+							<div class="btns" v-if="step === 5">
+								<div class="btn" @click="() => showDown(1)" style="margin-left: 0"
+									:stype="'border-color:' + text.color + ';color:' + text.color">
+									下载壁纸
+								</div>
+								<div class="btn" @click="() => showDown(2)"
+									:stype="'border-color:' + text.color + ';color:' + text.color">
+									生成海报
+								</div>
+							</div>
+						</transition>
+					</div>
+				</div>
+			</van-swipe-item>
+			<!-- <van-swipe-item style="overflow: auto">
+        <div
+          v-if="showSheet == 1"
+          style="
+            width: 100%;
+            height: 100%;
+            overflow: hidden;
+            position: relative;
+          "
+        >
+          <img
+            @click="nextPage"
+            src="../../../assets/img/next.png"
+            class="next"
+          />
+          <seven />
+        </div>
+      </van-swipe-item> -->
+			<van-swipe-item style="overflow: auto">
+				<eight v-if="showSheet == 1" @showTitleFunc="showTitleFunc" @showVideo="showVideo" />
+			</van-swipe-item>
+		</van-swipe>
+
+		<transition name="fade">
+			<div class="model" v-if="showImg !== undefined">
+				<div class="gs">
+					<img :src="bgimg" style="width: 100%; height: 100%" alt="" />
+				</div>
+				<van-icon color="#fff" size="26" name="close" class="close" @click="close" />
+				<div class="modelImg">
+					<p>请长按保存图片</p>
+					<img :src="showImg" style="width: 100%; height: 100%" />
+				</div>
+			</div>
+		</transition>
+		<transition name="fade">
+			<div v-if="showOverlay" class="model">
+				<van-icon color="#fff" size="26" name="close" class="close" @click="closeSeven" />
+				<video class="sevenvideo" src=""></video>
+			</div>
+		</transition>
+
+
+
+		<van-dialog v-model:show="showTitle" title="登录" show-cancel-button @confirm="confirm" :before-close="closeTitle">
+			<van-field required v-model="from.name" label="昵称" type="text" placeholder="请输入昵称" />
+			<van-field required v-model="from.phone" label="联系方式" type="tel" placeholder="请输入手机号">
+				<template #button>
+					<van-button v-if="isCode === 0" @click="getCode" size="small" type="primary">获取验证码</van-button>
+					<van-count-down v-if="isCode !== 0" @finish="isCode = 0" :time="isCode" format="ss 秒" />
+				</template>
+			</van-field>
+			<van-field required v-model="from.code" label="验证码" type="tel" placeholder="请输入验证码" />
+		</van-dialog>
+	</div>
+</template>
+<script setup>
+	import {
+		ref,
+		reactive,
+		nextTick
+	} from "vue";
+	import data from "../data/data.json";
+	import {
+		showToast
+	} from "vant";
+	// import seven from "./seven.vue";
+	import eight from "./eight.vue";
+
+	const from = reactive({
+		name: "",
+		phone: "",
+		code: ""
+	})
+
+	// import { onMounted, reactive } from "vue";
+	// import { isIpad, isIpod, isIphone } from "../../utils/isTerminal";
+	/**
+	 * window.$originData.orginParames.title 页面标题
+	 * window.$originData.orginParames.parameters 固定参数值
+	 * window.$originData.urlParames url参数
+	 */
+	const showImg = ref(undefined);
+	const swipe = ref(null);
+	let width = window.$originData.orginParames.availWidth * 0.7;
+	const type = Math.floor(Math.random() * 12 + 1);
+	let ori = data[type - 1] || {
+		texts: []
+	};
+	let max = 0;
+	const showTitle = ref(false);
+	for (let i = 0; i < ori.texts.length; i++) {
+		max < ori.texts[i].length && (max = ori.texts[i].length);
+	}
+	width = 14 * max;
+	const text = reactive({
+		...data[type - 1],
+		width,
+	});
+	const url = {
+		bg: require("@/assets/img/12/" + type + "-1.png"),
+		bg2: require("@/assets/img/12/" + type + "-2.png"),
+		kuang: require("@/assets/img/12/" + type + ".kuang.png"),
+		text2: require("@/assets/img/12/" + type + ".text2.png"),
+	};
+
+	const bgimg = ref(url.bg);
+	const kuangimg = ref(url.kuang);
+	const text2img = ref(url.text2);
+	const step = ref(5); // 动画步骤
+	const stepBody = ref(text.texts.length); // 首页文字显示动画
+	const nextStep = ref(2);
+	// let t = setTimeout(() => {
+	//   clearTimeout(t);
+	//   step.value += 1;
+	//   t = setInterval(() => {
+	//     stepBody.value += 1;
+	//     if (stepBody.value === text.texts.length) {
+	//       nextStep.value = 1;
+	//       clearInterval(t);
+	//   autoStep();
+	//     }
+	//   }, 2000);
+	// }, 200);
+
+	const showSheet = ref(0);
+
+	function nextPage() {
+		if (step.value !== 5) return;
+		swipe.value.next();
+	}
+
+	function swiperPageFunc(index) {
+		showSheet.value = index;
+	}
+
+	function changeNextStep() {
+		nextStep.value += 1;
+	}
+
+	function showTitleFunc() {
+		showTitle.value = true;
+		from.name = "";
+		from.phone = "";
+		from.code = "";
+	}
+
+	// function autoStep() {
+	//   t = setInterval(() => {
+	//     nextStep.value === 2 && (step.value += 1);
+	//     if (step.value === 5) clearInterval(t);
+	//   }, 3000);
+	// }
+
+	const isCode = ref(0);
+
+	function getCode() {
+		// 获取验证码
+		if (!/1[0-9]{10}/.test(from.phone)) {
+			showToast("请输入正确的手机号");
+			return;
+		}
+		console.log("获取验证码-", from.phone);
+		isCode.value = 60000;
+	}
+
+	function confirm() {
+		console.log('保存登录信息:', from);
+		localStorage.setItem("silkRoadPhone", from.phone);
+		localStorage.setItem("silkRoadCode", from.code);
+		localStorage.setItem("silkRoadAddress", from.address);
+		localStorage.setItem("silkRoadName", from.name);
+	}
+	
+	function closeTitle(type){
+		if (type === 'confirm' && !from.code) return false;
+		isCode.value = 0;
+		return true
+	}
+
+	function showDown(type) {
+		switch (type) {
+			case 1:
+				showImg.value = url.bg;
+				break;
+			case 2:
+				showImg.value = url.bg2;
+				break;
+		}
+	}
+
+	function close() {
+		showImg.value = undefined;
+	}
+
+	
+	// 视频播放
+	const showOverlay = ref(false);
+	let time = -1;
+	let autoTime = 0;
+	let current = 0;
+
+	function showVideo(url) {
+		showOverlay.value = true;
+		nextTick(() => {
+			let ele = document.querySelector(".sevenvideo");
+			ele.src = url;
+			ele.currentTime = 0;
+			current = 0;
+			time = -1;
+			// 已经开始
+			ele.addEventListener("playing", function() {
+				time = Date.now();
+				current = ele.duration * 1000;
+			});
+			// 当媒介能够开始播放但可能因缓冲而需要停止时运行脚本
+			ele.addEventListener("canplay", endVideo, false);
+			//播放结束
+			ele.addEventListener(
+				"ended",
+				function() {
+					console.log("ended");
+					endVideo();
+					closeSeven();
+				},
+				false
+			);
+			//暂停
+			ele.addEventListener("pause", endVideo, false);
+			ele.play();
+		});
+	}
+
+	function closeSeven() {
+		let ele = document.querySelector(".sevenvideo");
+		ele.pause();
+		showOverlay.value = false;
+	}
+
+	function endVideo() {
+		if (time == -1) return;
+		autoTime = Date.now() - time;
+		console.log(autoTime);
+		if (autoTime / current <= 0.95 || !localStorage.getItem("silkRoadPhone"))
+			return;
+		showToast("已增加一次抽奖机会!");
+	}
+</script>
+<style lang="scss" scoped>
+	.six {
+		width: 100%;
+		height: 100vh;
+		background-size: 100% 100%;
+		position: relative;
+
+		.body {
+			position: absolute;
+			bottom: 10vh;
+			width: 100vw;
+		}
+
+		img,
+		.img {
+			width: 50%;
+			transition-property: all;
+			transition-duration: 2s;
+			opacity: 0;
+			position: absolute;
+			top: 50%;
+			left: 50%;
+			transform: translate(-50%, -50%);
+		}
+
+		.firstImg {
+			transition-delay: 1s;
+			-moz-transition-delay: 1s;
+			/* Firefox 4 */
+			-webkit-transition-delay: 1s;
+			/* Safari 和 Chrome */
+			-o-transition-delay: 1s;
+			/* Opera */
+		}
+
+		.sImg {
+			width: 70%;
+			color: #ffffff;
+			font-family: OPPOSans;
+			font-size: 14px;
+			line-height: 3em;
+			opacity: 1;
+
+			p {
+				display: inline-block;
+				white-space: nowrap;
+				transition-property: all;
+				transition-duration: 2s;
+				opacity: 0;
+			}
+		}
+
+		.tImg {
+			width: 80%;
+			transition-delay: 1s;
+			-moz-transition-delay: 1s;
+			/* Firefox 4 */
+			-webkit-transition-delay: 1s;
+			/* Safari 和 Chrome */
+			-o-transition-delay: 1s;
+			/* Opera */
+		}
+
+		.btns {
+			position: absolute;
+			text-align: center;
+			bottom: 10vh;
+			width: 100%;
+
+			>div {
+				display: inline-block;
+				border: 1px solid #fff;
+				border-radius: 2em;
+				font-weight: 600;
+				color: #fff;
+				padding: 5px 15px;
+				margin-left: 2em;
+			}
+		}
+
+		.fade-enter-from,
+		.fade-leave-to {
+			opacity: 0;
+		}
+
+		.fade-enter-active,
+		.fade-leave-active {
+			transition: opacity 1s ease;
+		}
+
+		.fade-enter-to,
+		.fade-leave-from {
+			opacity: 1;
+		}
+	}
+
+	.next {
+		bottom: 40px;
+		left: 50%;
+		transform: translateX(-50%);
+		top: inherit;
+		width: 2em;
+		z-index: 1;
+		position: absolute;
+		animation-name: an;
+		animation-duration: 1s;
+		animation-timing-function: linear;
+		animation-iteration-count: infinite;
+		animation-direction: alternate;
+	}
+
+	@keyframes an {
+		from {
+			bottom: 10px;
+		}
+
+		to {
+			bottom: 15px;
+		}
+	}
+
+	.model {
+		position: fixed;
+		top: 0;
+		left: 0;
+		bottom: 0;
+		right: 0;
+		z-index: 10;
+		background-color: #00000080;
+
+		.gs {
+			width: 100vw;
+			height: 100vh;
+			filter: blur(10px);
+			-webkit-filter: blur(10px);
+		}
+
+		.modelImg {
+			position: absolute;
+			top: 50%;
+			left: 50%;
+			transform: translate(-50%, -50%);
+			width: 80%;
+			text-align: center;
+			color: #ffffff;
+		}
+
+		.close {
+			position: absolute;
+			top: 1em;
+			right: 1em;
+		}
+
+		.sevenvideo {
+			top: 50%;
+			transform: translateY(-50%);
+			width: 100%;
+			position: absolute;
+		}
+	}
+</style>

+ 7 - 7
src/view/Soundbyte/index.vue

@@ -125,7 +125,7 @@
 <script setup>
 // import { onMounted, reactive } from "vue";
 import { ref, reactive } from "vue";
-import { Toast, Dialog } from "vant";
+import { showToast,showLoadingToast, Dialog } from "vant";
 import axios from "axios";
 import soundbyteJpg from "../../assets/img/soundbyte.jpg";
 /**
@@ -148,7 +148,7 @@ const from = reactive({
   file: [],
 });
 
-const filesize = () => Toast("超出文件大小限制");
+const filesize = () => showToast("超出文件大小限制");
 const previewClick = () => {
   let getUrl = null;
   const file = from.file[0].file;
@@ -224,7 +224,7 @@ window.appLoginSuccess = () => {
 };
 
 const onSubmit = () => {
-  if (!isFile) Toast("请上传作品");
+  if (!isFile) showToast("请上传作品");
   const oriData = new FormData();
   oriData.append("name", from.name);
   oriData.append("phone", from.tel);
@@ -232,7 +232,7 @@ const onSubmit = () => {
   oriData.append("isOnLine", from.isOnLine);
   oriData.append("file", from.file[0].file);
 
-  Toast.loading({
+  showLoadingToast({
     message: "报名中...",
     forbidClick: true,
     duration: 0,
@@ -247,7 +247,7 @@ const onSubmit = () => {
   })
     .then(r => {
       console.log(r);
-      Toast.clear();
+      showLoadingToast.clear();
       Dialog.alert({
         title: "报名成功",
         messageAlign: "left",
@@ -261,8 +261,8 @@ const onSubmit = () => {
       });
     })
     .catch(() => {
-      Toast.clear();
-      Toast("报名失败");
+      showToast.clear();
+      showToast("报名失败");
     });
 };
 </script>

+ 8 - 8
src/view/WorldContribution/index.vue

@@ -118,7 +118,7 @@
 <script setup>
 // import { onMounted, reactive } from "vue";
 import { ref, reactive } from "vue";
-import { Toast, Dialog } from "vant";
+import { showToast, Dialog } from "vant";
 import axios from "axios";
 import config from "@/config/index.js";
 import soundbyteJpg from "../../assets/img/upbg.jpg";
@@ -148,7 +148,7 @@ const from = reactive({
   file: [],
 });
 
-const filesize = () => Toast("超出文件大小限制");
+const filesize = () => showToast("超出文件大小限制");
 const previewClick = () => {
   let getUrl = null;
   const file = from.file[0].file;
@@ -199,7 +199,7 @@ const isNumber = () => {
 };
 
 const onSubmit = () => {
-  if (!isFile) Toast("请上传作品");
+  if (!isFile) showToast("请上传作品");
   const oriData = new FormData();
   oriData.append("name", from.name);
   oriData.append("phone", from.tel);
@@ -207,7 +207,7 @@ const onSubmit = () => {
   oriData.append("university", from.university);
   oriData.append("file", from.file[0].file);
 
-  Toast.loading({
+  showToast.loading({
     message: "报名中...",
     forbidClick: true,
     duration: 0,
@@ -221,12 +221,12 @@ const onSubmit = () => {
     data: oriData,
   })
     .then(() => {
-      Toast.clear();
-      Toast("报名成功");
+      showToast.clear();
+      showToast("报名成功");
     })
     .catch(() => {
-      Toast.clear();
-      Toast("报名失败");
+      showToast.clear();
+      showToast("报名失败");
     });
 };
 </script>

+ 2 - 2
src/view/WorldCup/components/chat.vue

@@ -31,7 +31,7 @@
 import { ref, nextTick, inject, defineEmits } from "vue";
 import { getChat, setChat } from "@/api/worldCup.js";
 import { requestAnimationFrame } from "@/utils/tool.js";
-import { Toast } from "vant";
+import { showToast } from "vant";
 
 // import { onMounted, reactive } from "vue";
 // import { isIpad, isIpod, isIphone } from "../../utils/isTerminal";
@@ -109,7 +109,7 @@ function oriSave() {
   }).then(r => {
     console.log(r);
     chat.value = "";
-    Toast("发送成功");
+    showToast("发送成功");
   });
 }
 </script>

+ 3 - 3
src/view/WorldCup/components/match.vue

@@ -60,7 +60,7 @@
 </template>
 <script setup>
 import { ref, reactive, inject, defineEmits } from "vue";
-import { Toast } from "vant";
+import { showToast } from "vant";
 import { forecast } from "@/api/worldCup.js";
 // import { onMounted, reactive } from "vue";
 // import { isIpad, isIpod, isIphone } from "../../utils/isTerminal";
@@ -245,14 +245,14 @@ function upDataOri() {
       winner: v[4].text,
     });
   }
-  if (objFlag.length < 15) return Toast("请选择完整的冠军之路。");
+  if (objFlag.length < 15) return showToast("请选择完整的冠军之路。");
   forecast({
     phone: user.phone,
     nickName: user.name,
     preRaceItems: objFlag,
   })
     .then(() => {
-      Toast("预测成功!");
+      showToast("预测成功!");
       emits("upWay");
     })
     .catch(() => {

+ 3 - 3
src/view/WorldCup/index.vue

@@ -93,7 +93,7 @@ import { ref, provide, reactive } from "vue";
 import chat from "./components/chat.vue";
 import ranking from "./components/ranking.vue";
 import match from "./components/match.vue";
-import { Toast, Dialog } from "vant";
+import { showToast, Dialog } from "vant";
 
 import { getMatch, getBannerAndVideo, votpSave } from "@/api/worldCup.js";
 
@@ -274,7 +274,7 @@ function login(next) {
       </div>
     ),
   }).then(() => {
-    if(!from.phone) return Toast("登录后才能看到自己的作品哦~")
+    if(!from.phone) return showToast("登录后才能看到自己的作品哦~")
     setStorage();
     next && next();
   });
@@ -303,7 +303,7 @@ function vote() {
     client: p,
   }).then(r => {
     console.log(r);
-    Toast("感谢您的支持!");
+    showToast("感谢您的支持!");
   });
 }
 </script>

+ 2 - 2
src/view/WorldCupDetail/index.vue

@@ -67,7 +67,7 @@
 import { isShanshipin,isWechat } from "@/utils/isTerminal";
 import { ref, reactive } from "vue";
 import { votpSave } from "@/api/worldCup.js";
-import { Toast, Dialog } from "vant";
+import { showToast, Dialog } from "vant";
 // import { onMounted, reactive } from "vue";
 // import { isIpad, isIpod, isIphone } from "../../utils/isTerminal";
 /**
@@ -132,7 +132,7 @@ function vote() {
     client: p
   }).then(r => {
     console.log(r);
-    Toast("感谢您的支持!");
+    showToast("感谢您的支持!");
   });
 }
 </script>

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików