任一存 1 年間 前
コミット
f23eaa23d3

+ 7 - 7
README.md

@@ -1,18 +1,18 @@
 ## 部署测试环境
-文件存放位置:/Default/阿里云/项目节点/项目测试/阿里云-四维时代-项目测试服务器-8.135.106.227/data/data/museum_wx_jiangsu_wuxi_data/PC/
+文件存放位置:/Default/阿里云/项目节点/项目测试/阿里云-四维时代-项目测试服务器-8.135.106.227/data/data/museum_wx_jiangsu_wuxi_data/
+(客户要求域名后直接接index.html)
 
-访问url:https://sit-wuxicishan.4dage.com/PC/#/home
-
-## 微信相关
-appId: wx0bc995dace29b2ba
+访问url:https://sit-wuxicishan.4dage.com/#/home
 
 ## 待办
+改版
+
 对接unity
 
-真正的登录功能
+微信扫码登录功能
 
 ## 微信扫码页面url
-https://open.weixin.qq.com/connect/qrconnect?appid=wxaf343d333792a454&redirect_uri=https%3A%2F%2Fsit-wuxicishan.4dage.com%2FPC%2F%23%2Ftab-1&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect
+https://open.weixin.qq.com/connect/qrconnect?appid=wx3d4f2e0cfc3b8e54&redirect_uri=https%3A%2F%2Fsit-wuxicishan.4dage.com%2F%23%2Flogin-temp&response_type=code&scope=snsapi_login&state=CityOfXishan#wechat_redirect
 
 ## 对接unity
 /unityForPc/index.html?platform=h5&name={userName}&scene=${sceneCode}

+ 12 - 22
src/App.vue

@@ -1,13 +1,5 @@
 <template>
   <div class="app-wrap">
-    <Transition
-      name="fade-out"
-    >
-      <StartUp
-        v-show="!store.state.haveShownStartUp"
-        @loading-over="store.commit('recordShowStartUp')"
-      />
-    </Transition>
     <div class="top-bar">
       <img
         class="logo"
@@ -34,7 +26,7 @@
             name: 'CityOfXishan'
           })"
         >
-          锡善
+          锡善
         </button>
         <button
           :class="{
@@ -46,7 +38,7 @@
         >
           慈善博物馆
         </button>
-        <button
+        <!-- <button
           :class="{
             active: $route.meta.tabIdx === 4
           }"
@@ -83,7 +75,7 @@
           })"
         >
           慈善堂
-        </button>
+        </button> -->
         <button
           :class="{
             active: $route.meta.tabIdx === 8
@@ -98,6 +90,7 @@
           class="shop"
           :class="{
             active: $route.meta.tabIdx === 9
+
           }"
           @click="onClickShop"
         />
@@ -128,10 +121,12 @@
 import { ref, computed, watch, onMounted } from "vue"
 import { useRoute, useRouter } from "vue-router"
 import { useStore } from "vuex"
-import StartUp from '@/components/StartUp.vue'
 import FeedBack from "@/components/FeedBack.vue"
 import { ElMessageBox } from 'element-plus'
-import { checkLoginStatusAndProcess, getUserFromStorageIfNeed } from '@/api.js'
+import {
+  // checkLoginStatusAndProcess,
+  getUserFromStorageIfNeed,
+} from '@/api.js'
 
 const route = useRoute()
 const router = useRouter()
@@ -141,15 +136,6 @@ store.commit('getPageVisitRecordFromStorage')
 // checkLoginStatusAndProcess()
 getUserFromStorageIfNeed()
 
-if (store.state.loginStatus === store.getters.loginStatusEnum.notLogin && route.name !== 'LoginView') {
-  router.push({
-    name: 'LoginView',
-    query: {
-      redirect: encodeURI(route.fullPath)
-    }
-  })
-}
-
 const isShowFeedBack = ref(false)
 function onClickFeedBack() {
   if (store.state.loginStatus === store.getters.loginStatusEnum.wxUser) {
@@ -248,6 +234,10 @@ html, body {
 //   font-family: 'Source Han Serif CN-Bold';
 //   src: url('@/assets/style/SourceHanSerifCN-Bold.otf');
 // }
+@font-face{
+  font-family: 'Source Han Serif CN';
+  src: url('@/assets/style/SourceHanSerifCN-Regular.otf');
+}
 // i {
 //   font-style: italic;
 // }

+ 33 - 25
src/api.js

@@ -6,7 +6,7 @@ axios.interceptors.response.use(function (response) {
   // 2xx 范围内的状态码都会触发该函数。
   if (response.data.code === 5001 || response.data.code === 5002) {
     store.commit('logoutCallback')
-    router.push({ name: 'LoginView' })
+    router.push({ name: 'HomeView' })
     return Promise.reject('登录态过期')
   }
   return response
@@ -24,30 +24,38 @@ export function reportVisitPage(pageId) {
     }
   })
 }
-export async function checkLoginStatusAndProcess() {
-  const lastToken = localStorage.getItem('token')
-  const lastUserInfoStr = localStorage.getItem('userInfo')
-  if (lastToken && lastUserInfoStr) {
-    const res = await axios({
-      method: 'get',
-      url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/show/checkLogin`,
-      headers: {
-        token: lastToken,
-      }
-    })
-    if (res?.data?.code === 0 && res?.data?.data) {
-      store.commit('setLoginStatus', store.getters.loginStatusEnum.notLogin)
-      store.commit('setToken', lastToken)
-      store.commit('setUserInfo', JSON.parse(lastUserInfoStr))
-      return true
-    } else {
-      store.commit('logoutCallback')
-      return false
-    }
-  } else {
-    store.commit('logoutCallback')
-    return false
-  }
+// export async function checkLoginStatusAndProcess() {
+//   const lastToken = localStorage.getItem('token')
+//   const lastUserInfoStr = localStorage.getItem('userInfo')
+//   if (lastToken && lastUserInfoStr) {
+//     const res = await axios({
+//       method: 'get',
+//       url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/show/checkLogin`,
+//       headers: {
+//         token: lastToken,
+//       }
+//     })
+//     if (res?.data?.code === 0 && res?.data?.data) {
+//       store.commit('setLoginStatus', store.getters.loginStatusEnum.notLogin)
+//       store.commit('setToken', lastToken)
+//       store.commit('setUserInfo', JSON.parse(lastUserInfoStr))
+//       return true
+//     } else {
+//       store.commit('logoutCallback')
+//       return false
+//     }
+//   } else {
+//     store.commit('logoutCallback')
+//     return false
+//   }
+// }
+export function loginByWxCode(code) {
+  return axios({
+    method: 'get',
+    url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/show/wx/pcLogin/${code}`,
+  }).then((res) => {
+    return res.data.data
+  })
 }
 export function getUserFromStorageIfNeed() {
   if (!store.state.token || !store.state.userInfo) {

BIN
src/assets/images/citi-of-xishan-btn-start.png


BIN
src/assets/images/city-of-xishan-start-up-bg.jpg


BIN
src/assets/images/login-form-bg.png


BIN
src/assets/images/logo.png


BIN
src/assets/images/wechat-logo.png


BIN
src/assets/style/SourceHanSerifCN-Regular.otf


+ 0 - 1
src/components/IframeWrap.vue

@@ -52,7 +52,6 @@ const props = defineProps({
   top: 0;
   width: 100%;
   height: 100%;
-  z-index: 10;
   >iframe{
     position: absolute;
     left: 0;

+ 216 - 0
src/components/LoginForm.vue

@@ -0,0 +1,216 @@
+<template>
+  <div class="login-form">
+    <div class="papar">
+      <h1>邀&emsp;请&emsp;函</h1>
+      <div class="p-wrapper">
+        <p>
+          致:
+        </p>
+        <p>
+          在这座梦幻的游戏主城中,我们不仅追逐冒险和快乐,更致力于传递爱与温暖。每一次的探索,都是为了点亮他人的心灵,每一步的冒险,都是为了温暖他人的生活。我们欢迎你加入我们的行列,成为这座城市的一员,与我们一起行善,传递爱意。在这里,每一个人都是慈善的使者,每一次游戏都是一次美好的奉献。加入我们,让我们共同创造更美好的世界!
+        </p>
+        <p>
+          期待你的加入!
+        </p>
+        <p>
+          陶乐乐
+        </p>
+      </div>
+      <div class="bottom-wrap">
+        <input
+          v-model="nickName"
+          type="text"
+          maxlength="6"
+          placeholder="请输入6个字以内昵称"
+        >
+        <button
+          class="as-visitor"
+          :disabled="!nickName"
+          @click="onClickAsVisitor"
+        >
+          我是游客
+        </button>
+        <button
+          class="as-wx-user"
+          @click="onClickLoginWx"
+        >
+          <img
+            class=""
+            src="@/assets/images/wechat-logo.png"
+            alt=""
+            draggable="false"
+          >
+          成为云城居民
+        </button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { ref, computed, watch, onMounted } from "vue"
+import { useRoute, useRouter } from "vue-router"
+import { useStore } from "vuex"
+
+const route = useRoute()
+const router = useRouter()
+const store = useStore()
+
+const emit = defineEmits(['login-done'])
+
+const nickName = ref('')
+nickName.value = `云城居民${utils.getRandomString(2)}`
+
+function onClickAsVisitor() {
+  store.commit('setLoginStatus', store.getters.loginStatusEnum.visitor)
+  store.commit('setUserInfo', {
+    userName: nickName.value,
+    userId: null
+  })
+  emit('login-done')
+}
+
+function onClickLoginWx() {
+  location.href = `https://open.weixin.qq.com/connect/qrconnect?appid=wx3d4f2e0cfc3b8e54&redirect_uri=https%3A%2F%2Fsit-wuxicishan.4dage.com%2F%23%2Flogin-temp&response_type=code&scope=snsapi_login&state=${encodeURIComponent(route.name)}#wechat_redirect`
+}
+</script>
+
+<style lang="less" scoped>
+.login-form{
+  position: fixed;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  background: rgba(0,0,0,0.5);
+  >.papar{
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+    width: 983px;
+    height: 615px;
+    background-image: url(@/assets/images/login-form-bg.png);
+    background-size: cover;
+    background-repeat: no-repeat;
+    background-position: center center;
+    h1{
+      position: absolute;
+      left: 50%;
+      top: 27px;
+      transform: translateX(-50%);
+      font-family: Source Han Serif CN, Source Han Serif CN;
+      // font-weight: bold;
+      font-size: 30px;
+      color: #FFFFFF;
+      line-height: 35px;
+    }
+    >.p-wrapper{
+      position: absolute;
+      left: 50%;
+      top: 130px;
+      transform: translateX(-50%);
+      width: 723px;
+      >p:nth-of-type(1){
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 20px;
+        color: #A59E88;
+        line-height: 23px;
+        text-align: left;
+        margin-bottom: 2em;
+      }
+      >p:nth-of-type(2){
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 16px;
+        color: #A59E88;
+        line-height: 32px;
+        text-indent: 2em;
+      }
+      >p:nth-of-type(3){
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 16px;
+        color: #A59E88;
+        line-height: 32px;
+        text-indent: 2em;
+        margin-bottom: 40px;
+      }
+      >p:nth-of-type(4){
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 20px;
+        color: #A59E88;
+        line-height: 23px;
+        text-align: end;
+      }
+    }
+    >.bottom-wrap{
+      position: absolute;
+      left: 50%;
+      bottom: 59px;
+      transform: translateX(-50%);
+      display: flex;
+      align-items: center;
+      >input{
+        width: 160px;
+        height: 42px;
+        background: #FFFFFF;
+        border-radius: 21px;
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 14px;
+        color: #424A4A;
+        line-height: 16px;
+        padding-left: 13px;
+        margin-right: 8px;
+        &::placeholder {
+          font-family: Source Han Sans CN, Source Han Sans CN;
+          font-weight: 400;
+          font-size: 14px;
+          color: #424A4A;
+          line-height: 16px;
+          opacity: 0.5;
+        }
+      }
+      >button.as-visitor{
+        width: 120px;
+        height: 42px;
+        background: #E4D8A7;
+        border-radius: 21px;
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 14px;
+        color: #5A503C;
+        line-height: 16px;
+        margin-right: 30px;
+        &[disabled] {
+          opacity: 0.7;
+          cursor: not-allowed;
+        }
+      }
+      >button.as-wx-user{
+        width: 245px;
+        height: 42px;
+        background: #589498;
+        border-radius: 21px;
+        border: 1px solid #E4D8A7;
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 14px;
+        color: #FFFFFF;
+        line-height: 16px;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        >img{
+          width: 30px;
+          height: 30px;
+          margin-right: 1px;
+        }
+      }
+    }
+  }
+}
+</style>

+ 0 - 102
src/components/StartUp.vue

@@ -1,102 +0,0 @@
-<template>
-  <div class="start-up">
-    <div class="loading-bar">
-      <div
-        class="loading-progress"
-        :style="{
-          width: `${progress * 100}%`,
-        }"
-      />
-      <img
-        src="@/assets/images/icon_shop-active.png"
-        alt=""
-        class="cursor"
-        draggable="false"
-        :style="{
-          left: `${progress * 100}%`,
-        }"
-      >
-    </div>
-    <div class="text">
-      LOADING...
-    </div>
-  </div>
-</template>
-
-<script setup>
-import { ref, computed, watch, onMounted } from "vue"
-import { useRoute, useRouter } from "vue-router"
-import { useStore } from "vuex"
-
-const route = useRoute()
-const router = useRouter()
-const store = useStore()
-
-const emit = defineEmits(['loading-over'])
-
-const progress = ref(0)
-let intervalId = null
-onMounted(() => {
-  intervalId = setInterval(() => {
-    progress.value += 0.03
-    if (progress.value >= 0.96) {
-      clearInterval(intervalId)
-      progress.value = 1
-      emit('loading-over')
-    }
-  }, 100)
-})
-
-</script>
-
-<style lang="less" scoped>
-.start-up{
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 100;
-  background-color: #fff;
-  background-image: url(@/assets/images/start-up-bg.jpg);
-  background-size: cover;
-  background-repeat: no-repeat;
-  background-position: center center;
-  >.loading-bar{
-    position: absolute;
-    bottom: 103px;
-    left: 50%;
-    transform: translate(-50%, 0);
-    width: calc(1325 / 1920 * 100%);
-    height: 14px;
-    border-radius: 7px;
-    background: rgba(0,0,0,0.19);
-    border: 1px solid #FFFFFF;
-    >.loading-progress{
-      position: absolute;
-      left: 0;
-      top: 0;
-      height: 100%;
-      background: #FF8888;
-      border-radius: 7px;
-    }
-    >img.cursor {
-      position: absolute;
-      bottom: 100%;
-      transform: translate(-50%, 0);
-      width: 73px;
-    }
-  }
-  >.text{
-    position: absolute;
-    bottom: 48px;
-    left: 50%;
-    transform: translate(-50%, 0);
-    font-family: Source Han Sans CN, Source Han Sans CN;
-    font-weight: 400;
-    font-size: 30px;
-    color: #FF9494;
-    line-height: 35px;
-  }
-}
-</style>

+ 10 - 10
src/router/index.js

@@ -1,5 +1,5 @@
 import { createRouter, createWebHashHistory } from 'vue-router'
-import LoginView from "../views/LoginView.vue"
+import LoginTemp from '../views/LoginTemp.vue'
 import HomeView from '../views/HomeView.vue'
 import CityOfXishan from '../views/CityOfXishan.vue'
 import MuseumView from '../views/MuseumView.vue'
@@ -16,9 +16,9 @@ const routes = [
     redirect: '/home',
   },
   {
-    path: '/login',
-    name: 'LoginView',
-    component: LoginView,
+    path: '/login-temp',
+    name: 'LoginTemp',
+    component: LoginTemp,
   },
   {
     path: '/home',
@@ -99,11 +99,11 @@ const router = createRouter({
   routes
 })
 
-router.beforeEach((to, from) => {
-  // 生产环境下强制每次都从首页进入
-  if (process.env.NODE_ENV !== 'development' && !from.name && to.name !== 'HomeView') {
-    return '/home'
-  }
-})
+// router.beforeEach((to, from) => {
+//   // 生产环境下强制每次都从首页进入
+//   if (process.env.NODE_ENV !== 'development' && !from.name && to.name !== 'HomeView') {
+//     return '/home'
+//   }
+// })
 
 export default router

+ 0 - 6
src/store/index.js

@@ -30,9 +30,6 @@ export default createStore({
     setLoginStatus(state, value) {
       state.loginStatus = value
     },
-    setUserName(state, value) {
-      state.userInfo.userName = value
-    },
     setToken(state, value) {
       state.token = value
       localStorage.setItem('token', value)
@@ -40,9 +37,6 @@ export default createStore({
     setUserInfo(state, value) {
       state.userInfo = value
       localStorage.setItem('userInfo', JSON.stringify(value))
-      if (state.userInfo.score === null) {
-        state.userInfo.score = 0
-      }
     },
     logoutCallback(state) {
       state.loginStatus = loginStatusEnum.notLogin

+ 72 - 5
src/views/CityOfXishan.vue

@@ -1,9 +1,28 @@
 <template>
-  <IframeWrap
+  <div
     class="city-of-xishan"
-    :url="url"
-    :need-back-btn="false"
-  />
+  >
+    <IframeWrap
+      v-if="!isShowStartUp"
+      class="iframe-wrap"
+      :url="url"
+      :need-back-btn="false"
+    />
+    <div
+      v-if="isShowStartUp"
+      class="start-up"
+    >
+      <button
+        v-show="isShowStartBtn"
+        class="start"
+        @click="onClickStartBtn"
+      />
+      <LoginForm
+        v-if="isShowLoginForm"
+        @login-done="isShowStartUp = false"
+      />
+    </div>
+  </div>
 </template>
 
 <script setup>
@@ -11,6 +30,7 @@ import { ref, computed, watch, onMounted, inject } from "vue"
 import { useRoute, useRouter } from "vue-router"
 import { useStore } from "vuex"
 import IframeWrap from '@/components/IframeWrap.vue'
+import LoginForm from '@/components/LoginForm.vue'
 
 const route = useRoute()
 const router = useRouter()
@@ -31,10 +51,57 @@ const url = computed(() => {
   return temp
 })
 
+const isShowStartUp = ref(true)
+const isShowStartBtn = ref(false)
+const isShowLoginForm = ref(false)
+
+setTimeout(() => {
+  isShowStartBtn.value = true
+}, 2000)
+
+function onClickStartBtn() {
+  if (store.state.loginStatus === store.getters.loginStatusEnum.notLogin) {
+    isShowLoginForm.value = true
+  } else {
+    isShowStartUp.value = false
+  }
+}
+
 </script>
 
 <style lang="less" scoped>
 .city-of-xishan{
-
+  position: fixed;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  >.iframe-wrap{
+    z-index: 1;
+  }
+  >.start-up{
+    position: absolute;
+    left: 0;
+    top: 0;
+    width: 100%;
+    height: 100%;
+    background-image: url(@/assets/images/city-of-xishan-start-up-bg.jpg);
+    background-size: cover;
+    background-repeat: no-repeat;
+    background-position: center center;
+    z-index: 2;
+    >button.start{
+      position: absolute;
+      left: 50%;
+      bottom: 85px;
+      transform: translateX(-50%);
+      width: 398px;
+      height: 93px;
+      background-image: url(@/assets/images/citi-of-xishan-btn-start.png);
+      background-size: cover;
+      background-repeat: no-repeat;
+      background-position: center center;
+    }
+  }
 }
 </style>

+ 41 - 0
src/views/LoginTemp.vue

@@ -0,0 +1,41 @@
+<template>
+  <div class="login-temp" />
+</template>
+
+<script setup>
+import { ref, computed, watch, onMounted, inject } from "vue"
+import { useRoute, useRouter } from "vue-router"
+import { useStore } from "vuex"
+import { loginByWxCode, getWxUserInfo } from '@/api.js'
+
+const route = useRoute()
+const router = useRouter()
+const store = useStore()
+
+const $env = inject('$env')
+
+const code = route.query.code
+loginByWxCode(code).then((res) => {
+  store.commit('setToken', res.token)
+  store.commit('setUserInfo', {
+    userName: res.user.nickName || res.userInfo.nickname,
+    userId: res.user.id
+  })
+  store.commit('setLoginStatus', store.getters.loginStatusEnum.wxUser)
+  console.log(store.state.userInfo)
+  router.replace({
+    name: decodeURIComponent(route.query.state)
+  })
+})
+</script>
+
+<style lang="less" scoped>
+.login-temp{
+  position: fixed;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  background-color: #fff;
+}
+</style>

+ 0 - 156
src/views/LoginView.vue

@@ -1,156 +0,0 @@
-<template>
-  <div class="login-view">
-    <img
-      class="title"
-      src="@/assets/images/login-page-title.png"
-      alt=""
-      draggable="false"
-    >
-    <div class="interaction-area">
-      <div class="row-1">
-        <div class="input-wrap">
-          <input
-            v-model="nickName"
-            type="text"
-            maxlength="6"
-            placeholder="请输入昵称"
-          >
-          <div class="count">
-            {{ nickName.length }}/6
-          </div>
-        </div>
-        <button
-          class="as-visitor"
-          :disabled="!nickName"
-          @click="onClickAsVisitor"
-        >
-          游客模式
-        </button>
-      </div>
-      <button class="as-wx-user" />
-    </div>
-  </div>
-</template>
-
-<script setup>
-import { ref, computed, watch, onMounted } from "vue"
-import { useRoute, useRouter } from "vue-router"
-import { useStore } from "vuex"
-
-const route = useRoute()
-const router = useRouter()
-const store = useStore()
-
-const nickName = ref('')
-nickName.value = `云城居民${utils.getRandomString(2)}`
-
-function onClickAsVisitor() {
-  store.commit('setLoginStatus', store.getters.loginStatusEnum.visitor)
-  store.commit('setUserName', nickName.value)
-  if (route.query.redirect && !route.query.redirect.includes('login')) {
-    router.push({
-      path: decodeURI(route.query.redirect)
-    })
-  } else {
-    router.push({
-      name: 'HomeView'
-    })
-  }
-}
-
-
-</script>
-
-<style lang="less" scoped>
-.login-view{
-  position: fixed;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 100%;
-  background-image: url(@/assets/images/login-bg.jpg);
-  background-size: cover;
-  background-repeat: no-repeat;
-  background-position: center center;
-  >img.title{
-    position: absolute;
-    left: 50%;
-    bottom: 50%;
-    transform: translate(-50%, 0);
-    width: 30vw;
-  }
-  >.interaction-area{
-    position: absolute;
-    left: 50%;
-    bottom: calc(107 / 972 * 100%);
-    transform: translate(-50%, 0);
-    >.row-1{
-      display: flex;
-      align-items: center;
-      margin-bottom: 4px;
-      >.input-wrap{
-        width: 283px;
-        height: 75px;
-        background: rgba(0,0,0,0.25);
-        border-radius: 8px 8px 8px 8px;
-        border: 2px solid #FFFFFF;
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        padding-left: 27px;
-        padding-right: 22px;
-        margin-right: 7px;
-        >input{
-          width: 170px;
-          font-family: Source Han Sans CN, Source Han Sans CN;
-          font-weight: 400;
-          font-size: 24px;
-          color: #FFFFFF;
-          line-height: 28px;
-          &::placeholder {
-            font-size: 24px;
-            color: rgba(255, 255, 255, 0.5);
-            line-height: 28px;
-          }
-        }
-        >.count{
-          flex: 0 0 auto;
-          font-family: Source Han Sans CN, Source Han Sans CN;
-          font-weight: 400;
-          font-size: 24px;
-          color: #FFFFFF;
-          line-height: 28px;
-          opacity: 0.5;
-        }
-      }
-      >button.as-visitor{
-        width: 135px;
-        height: 88px;
-        background-image: url(@/assets/images/visitor-login-button-bg.png);
-        background-size: cover;
-        background-repeat: no-repeat;
-        background-position: center center;
-        font-family: Source Han Sans CN, Source Han Sans CN;
-        font-weight: 400;
-        font-size: 24px;
-        color: #FFFFFF;
-        line-height: 28px;
-        text-shadow: 0px 1px 1px rgba(135,111,82,0.5);
-        &[disabled] {
-          opacity: 0.7;
-          cursor: not-allowed;
-        }
-      }
-    }
-    >button.as-wx-user{
-      width: 422px;
-      height: 75px;
-      background-image: url(@/assets/images/button-wechat.png);
-      background-size: cover;
-      background-repeat: no-repeat;
-      background-position: center center;
-    }
-  }
-
-}
-</style>

+ 0 - 5
vue.config.js

@@ -25,12 +25,7 @@ module.exports = defineConfig({
     plugins: [
       new webpack.ProvidePlugin({
         utils: ['/src/utils.js', 'default'],
-        store: ['/src/store/index.js', 'default'],
-        api: ['/src/api.js', 'default'],
         config: ['/src/config.js', 'default'],
-        mapState: ['vuex', 'mapState'],
-        mapGetters: ['vuex', 'mapGetters'],
-        mapMutations: ['vuex', 'mapMutations'],
         useSizeAdapt: ['/src/useFunctions/useSizeAdapt.js', 'default'],
       }),
     ],