1
admin
2026-01-31 732c30b33f782c2d2ebb62eacda2fb7a453a7ecd
src/page/login/login.vue
@@ -2,7 +2,13 @@
  <div class="login_page">
    <!-- <headers /> -->
    <tab-head :leftShow="false" :rightShow="false">
      <van-popover v-model="languageShow" trigger="click" :actions="actions" @select="onSelect" placement="bottom-end">
      <van-popover
        v-model="languageShow"
        trigger="click"
        :actions="actions"
        @select="onSelect"
        placement="bottom-end"
      >
        <template #reference>
          <div class="multilingual">
            <img src="../../assets/img/language.svg" alt="" />
@@ -11,7 +17,7 @@
      </van-popover>
    </tab-head>
    <img src="../../assets/img/logo.png" alt="" class="logo">
    <img src="../../assets/img/logo.png" alt="" class="logo" />
    <div class="login_title animated slideInDown">
      <span>{{ $t("dlan") }}</span>
@@ -19,31 +25,51 @@
    <div class="logins_content">
      <div class="login_forms">
        <div class="top_forms">
          <div class="forms_title">{{ $t('hj27') }}</div>
          <el-input :placeholder="$t('hj9')" :size="medium" v-model="userName" clearable>
          <div class="forms_title">{{ $t("hj27") }}</div>
          <el-input
            :placeholder="$t('hj9')"
            :size="medium"
            v-model="userName"
            clearable
          >
          </el-input>
          <div class="forms_title">{{ $t('Password') }}</div>
          <el-input show-password :placeholder="$t('hj10')" :size="medium" v-model="userPassword"
            @input="handleInput()">
          <div class="forms_title">{{ $t("Password") }}</div>
          <el-input
            show-password
            :placeholder="$t('hj10')"
            :size="medium"
            v-model="userPassword"
            @input="handleInput()"
          >
          </el-input>
        </div>
        <div class="bottom_btns">
          <van-button type="info" :disabled="!btnClass" class="butn" @click="loginIN">
          <van-button
            type="info"
            :disabled="!btnClass"
            class="butn"
            @click="loginIN"
          >
            {{ $t("立即登录") }}
          </van-button>
          <van-button type="info" plain class="butn_2" @click="$router.push('/register')">
          <van-button
            type="info"
            plain
            class="butn_2"
            @click="$router.push('/register')"
          >
            {{ $t("免費註冊") }}
          </van-button>
          <!-- <div class="password-operate" data-v-8cc76a7b="">
            <div class="forget" data-v-8cc76a7b="" @click="getApp()">
          <div class="password-operate">
            <div class="forget" @click="getApp()">
              {{ $t("hj12") }}
            </div>
            <div class="remember" data-v-8cc76a7b="">
            <div class="remember">
              <van-checkbox @change="checkboxChange" v-model="checked">{{
                $t("記住帳戶密碼")
              }}</van-checkbox>
            </div>
          </div> -->
          </div>
        </div>
      </div>
@@ -60,6 +86,7 @@
import * as api from "@/axios/api";
import { Notify } from "vant";
import { mapActions, mapMutations } from "vuex";
import { languageOptions } from "@/config/languageOptions";
export default {
  name: "newLogin",
@@ -75,18 +102,12 @@
      medium: "medium",
      languageShow: false, // 语言选择
      // 多语言配置
      actions: [
        {
          text: "English",
          lang: "en"
        },
        { text: "español", lang: "es" }
      ],
      actions: languageOptions
    };
  },
  components: {
    // headers,
    tabHead,
    // headers,
    tabHead
  },
  mounted() {
    const ret = window.localStorage.getItem("login_admin");
@@ -101,8 +122,8 @@
  methods: {
    ...mapActions(["setUseInfo"]),
    ...mapMutations(["undataToken"]),
    checkboxChange(e) {
      window.localStorage.setItem("login_checked", e);
    checkboxChange(checked) {
      window.localStorage.setItem("login_checked", checked.toString());
    },
    getApp() {
      // Toast('您所在的地区暂未开通此服务')
@@ -158,10 +179,10 @@
    onSelect(e) {
      window.localStorage.setItem("language", e.lang);
      this.$i18n.locale = e.lang;
    },
    }
  },
  beforeDestroy() { },
  created() { }
  beforeDestroy() {},
  created() {}
};
</script>
@@ -171,7 +192,9 @@
.password-operate {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.53333rem;
  padding: 0 0.1rem;
  .forget {
    font-style: normal;
@@ -179,6 +202,12 @@
    font-size: 0.37333rem;
    line-height: 0.53333rem;
    color: #8c9fad;
    cursor: pointer;
  }
  .remember {
    display: flex;
    align-items: center;
  }
}
@@ -232,8 +261,8 @@
  height: 100vh;
  .multilingual {
    width: .8em;
    height: .8em;
    width: 0.8em;
    height: 0.8em;
    margin-left: 0.25em;
    img {
@@ -276,9 +305,9 @@
      flex-wrap: wrap;
      .forms_title {
        font-size: .4rem;
        margin-top: .5rem;
        margin-bottom: .2rem;
        font-size: 0.4rem;
        margin-top: 0.5rem;
        margin-bottom: 0.2rem;
      }
      .user_name,
@@ -289,7 +318,7 @@
        // background: #1e1e1e;
        border-radius: 0.3564rem;
        >input {
        > input {
          width: 100%;
          height: 100%;
          padding-left: 0.3564rem;
@@ -329,7 +358,7 @@
        border-radius: 8px;
        color: @green;
        border-color: @green;
        margin-top: .4rem;
        margin-top: 0.4rem;
      }
      .top_btn {
@@ -345,7 +374,7 @@
        font-size: 0.5128rem;
        margin-top: 0.75rem;
        >span {
        > span {
          font-weight: 530 !important;
        }
      }
@@ -394,7 +423,7 @@
    align-items: center;
    justify-content: center;
    >span {
    > span {
      font-size: 0.3046rem;
      color: #000;
      background-color: #fff;
@@ -457,7 +486,7 @@
    width: 3rem;
    height: 3.5769rem;
    >img {
    > img {
      width: 100%;
      height: 100%;
    }