<template>
  <!-- <view class="normal-login-container">
    <view class="view-title">
      <text class="title">你好，欢迎登录</text>
    </view>
    <view class="logo-content align-center justify-center flex">
      <image
        style="width: 100rpx; height: 100rpx"
        src="/static/images/umale/logo2.png"
        mode="widthFix"
      >
      </image>
      <text class="sutitle">城市精细化治理系统</text>
    </view>
    <view class="login-form-content">
      <view class="input-item flex align-center">
        <view class="iconfont icon-users icon"></view>
        <input
          v-model="loginForm.username"
          class="input"
          type="text"
          placeholder="请输入账号"
          maxlength="30"
          placeholder-class="input-placeholder"
        />
      </view>
      <view class="input-item flex align-center">
        <view class="iconfont icon-passwords icon"></view>
        <input
          v-model="loginForm.password"
          type="password"
          class="input"
          placeholder="请输入密码"
          maxlength="20"
          placeholder-class="input-placeholder"
        />
      </view>
      <view
        class="input-item flex align-center"
        style="width: 60%; margin: 0px"
        v-if="captchaEnabled"
      >
        <view class="iconfont icon-code icon"></view>
        <input
          v-model="loginForm.code"
          type="number"
          class="input"
          placeholder="请输入验证码"
          maxlength="4"
        />
        <view class="login-code">
          <image :src="codeUrl" @click="getCode" class="login-code-img"></image>
        </view>
      </view>
      <view class="action-btn">
        <button
          @click="handleLogin"
          class="login-btn cu-btn block bg-blue lg round"
        >
          登录
        </button>
      </view>
    </view>
  </view> -->
  <web-view :src="urlParams" ></web-view>
</template>

<script>
import { getCodeImg } from "@/api/login";

export default {
  data() {
    return {
      codeUrl: "",
      captchaEnabled: true,
      // 用户注册开关
      register: false,
      globalConfig: getApp().globalData.config,
      loginForm: {
        username: "admin",
        password: "admin123",
        code: "",
        uuid: "",
      },
      urlParams: null,
    };
  },
  created() {
    // this.getCode();
  },
  methods: {
    // 获取参数
    getRequestParams() {
      let url = location.href;
      let requestParams = {};
      if (url.indexOf("?") !== -1) {
        let str = url.substr(url.indexOf("?") + 1); //截取?后面的内容作为字符串
        // console.log(str, '?后面的内容');
        let strs = str.split("&"); //将字符串内容以&分隔为一个数组
        // console.log(strs, '以&切割的数组');
        for (let i = 0; i < strs.length; i++) {
          requestParams[strs[i].split("=")[0]] = decodeURI(
            strs[i].split("=")[1]
          );
          // 将数组元素中'='左边的内容作为对象的属性名，'='右边的内容作为对象对应属性的属性值
        }
      }
      // console.log(requestParams, '处理后的对象');
      return requestParams;
    },
    // 用户注册
    handleUserRegister() {
      this.$tab.redirectTo(`/pages/register`);
    },
    // 隐私协议
    handlePrivacy() {
      let site = this.globalConfig.appInfo.agreements[0];
      this.$tab.navigateTo(
        `/pages/common/webview/index?title=${site.title}&url=${site.url}`
      );
    },
    // 用户协议
    handleUserAgrement() {
      let site = this.globalConfig.appInfo.agreements[1];
      this.$tab.navigateTo(
        `/pages/common/webview/index?title=${site.title}&url=${site.url}`
      );
    },
    // 获取图形验证码
    getCode() {
      getCodeImg().then((res) => {
        this.captchaEnabled =
          res.captchaEnabled === undefined ? true : res.captchaEnabled;
        if (this.captchaEnabled) {
          this.codeUrl = "data:image/gif;base64," + res.img;
          this.loginForm.uuid = res.uuid;
        }
      });
    },
    // 登录方法
    async handleLogin() {
      if (this.loginForm.username === "") {
        this.$modal.msgError("请输入您的账号");
      } else if (this.loginForm.password === "") {
        this.$modal.msgError("请输入您的密码");
      } else if (this.loginForm.code === "" && this.captchaEnabled) {
        this.$modal.msgError("请输入验证码");
      } else {
        this.$modal.loading("登录中，请耐心等待...");
        this.pwdLogin();
      }
    },
    // 密码登录
    async pwdLogin() {
      this.$store
        .dispatch("Login", this.loginForm)
        .then(() => {
          this.$modal.closeLoading();
          this.loginSuccess();
        })
        .catch(() => {
          if (this.captchaEnabled) {
            this.getCode();
          }
        });
    },
    // 登录成功后，处理函数
    loginSuccess(result) {
      // 设置用户信息
      this.$store.dispatch("GetInfo").then((res) => {
        this.$tab.reLaunch("/pages/index");
      });
    },
  },
};
</script>

<style lang="scss">
page {
  background-color: #ffffff;
}

.normal-login-container {
  width: 100vw;
  height: 100vh;
  background-image: url("@/static/images/umale/login_bg.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position-x: 0rpx;
  background-position-y: 0rpx;
  padding-top: 256rpx;

  .view-title {
    margin-left: 45rpx;

    .title {
      font-size: 56rpx;
      font-family: Source Han Sans CN;
      font-weight: bold;
      color: #2e2f31;
      letter-spacing: 4rpx;
    }
  }

  .logo-content {
    width: 100%;
    font-size: 21px;
    text-align: center;
    padding-top: 15%;

    image {
      border-radius: 4px;
    }

    .sutitle {
      margin-left: 10px;
      font-size: 40rpx;
      font-family: Source Han Sans CN;
      font-weight: bold;
      color: #367bef;
      letter-spacing: 4rpx;
    }
  }

  .login-form-content {
    text-align: center;
    margin: 20px auto;
    margin-top: 15%;
    width: 80%;

    .input-item {
      margin: 20px auto;
      height: 98rpx;
      background: #ffffff;
      border: 2rpx solid #dce3ec;
      box-shadow: 0rpx 0rpx 20rpx rgba(57, 118, 241, 0.06);
      opacity: 1;
      border-radius: 49rpx;

      .icon {
        font-size: 38rpx;
        margin-left: 36rpx;
        color: #999;
      }

      .icon-users {
        width: 36rpx;
        height: 36rpx;
        background-image: url("@/static/images/umale/user.png");
        background-size: cover;
        background-repeat: no-repeat;
      }

      .icon-passwords {
        width: 36rpx;
        height: 36rpx;
        background-image: url("@/static/images/umale/pwd.png");
        background-size: cover;
        background-repeat: no-repeat;
      }

      .input {
        width: 100%;
        font-size: 36rpx;
        line-height: 20px;
        font-family: PingFang SC;
        font-weight: 400;
        letter-spacing: 4rpx;
        text-align: left;
        padding-left: 15px;
      }

      .input-placeholder {
        color: #bcbcbc;
      }
    }

    .login-btn {
      margin-top: 40px;
      height: 98rpx;

      background: linear-gradient(180deg, #4787f3 0%, #1868ef 100%);
      box-shadow: 0 14rpx 25rpx -10rpx rgba(57, 118, 241, 1);
      border-radius: 49rpx;
    }

    .reg {
      margin-top: 15px;
    }

    .xieyi {
      color: #333;
      margin-top: 20px;
    }

    .login-code {
      height: 38px;
      float: right;

      .login-code-img {
        height: 38px;
        position: absolute;
        margin-left: 10px;
        width: 200rpx;
      }
    }
  }
}
</style>
