|  | @@ -53,6 +53,18 @@
 | 
	
		
			
				|  |  |        <view class="switchText" @click="switchMode">
 | 
	
		
			
				|  |  |          <text>{{ switchText }}</text>
 | 
	
		
			
				|  |  |        </view>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <!-- #ifdef APP-PLUS -->
 | 
	
		
			
				|  |  | +      <view class="xieyi text-center">
 | 
	
		
			
				|  |  | +        <u-checkbox-group>
 | 
	
		
			
				|  |  | +          <u-checkbox v-model="userChecked" shape="circle" inactiveColor="#0081ff" size="13"></u-checkbox>
 | 
	
		
			
				|  |  | +        </u-checkbox-group>
 | 
	
		
			
				|  |  | +        <text>我已阅读并同意</text>
 | 
	
		
			
				|  |  | +        <text @click="handleUserAgrement" class="text-blue">用户协议</text>
 | 
	
		
			
				|  |  | +        <text>和</text>
 | 
	
		
			
				|  |  | +        <text @click="handlePrivacy" class="text-blue">隐私协议</text>
 | 
	
		
			
				|  |  | +      </view>
 | 
	
		
			
				|  |  | +      <!--#endif-->
 | 
	
		
			
				|  |  |      </view>
 | 
	
		
			
				|  |  |      <view class="bottom">
 | 
	
		
			
				|  |  |        <div class="title">{{ bottomTitle }}</div>
 | 
	
	
		
			
				|  | @@ -92,16 +104,16 @@ const data = reactive({
 | 
	
		
			
				|  |  |    inputIconBool: true,
 | 
	
		
			
				|  |  |    /** 服务器配置数据 */
 | 
	
		
			
				|  |  |    linkUrl: uni.getStorageSync("serveUrl"),
 | 
	
		
			
				|  |  | +  /** 用户隐私协议数据 */
 | 
	
		
			
				|  |  | +  userChecked: false,
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    // VerificationCodeOne
 | 
	
		
			
				|  |  |  });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const { title, bg, bottomTitle, logo, phone, verify, codeTime, switchText, username, password, tenantId, inputIconBool, linkUrl } = toRefs(data);
 | 
	
		
			
				|  |  | +const { title, bg, bottomTitle, logo, phone, verify, codeTime, switchText, username, password, tenantId, inputIconBool, linkUrl, userChecked } = toRefs(data);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  function goSeverConfig() {
 | 
	
		
			
				|  |  | -  uni.navigateTo({
 | 
	
		
			
				|  |  | -    url: "/pages/serveConfig",
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | +  proxy.$tab.navigateTo("/pages/serveConfig");
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**登录方式切换 */
 | 
	
	
		
			
				|  | @@ -115,6 +127,13 @@ function switchMode() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** 点击发送验证码 */
 | 
	
		
			
				|  |  |  function getVerifyCode() {
 | 
	
		
			
				|  |  | +  //#ifdef APP-PLUS
 | 
	
		
			
				|  |  | +  if (!uni.getStorageSync("serveUrl")) {
 | 
	
		
			
				|  |  | +    proxy.$modal.msg("首次登录请先进行服务器配置");
 | 
	
		
			
				|  |  | +    return;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  //#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    if (!phone.value) {
 | 
	
		
			
				|  |  |      proxy.$modal.msg("请输入手机号码");
 | 
	
		
			
				|  |  |      return;
 | 
	
	
		
			
				|  | @@ -123,9 +142,19 @@ function getVerifyCode() {
 | 
	
		
			
				|  |  |      proxy.$modal.msg("请输入正确的手机号码");
 | 
	
		
			
				|  |  |      return;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  //#ifdef APP-PLUS
 | 
	
		
			
				|  |  | +  if (userChecked.value) {
 | 
	
		
			
				|  |  | +    proxy.$modal.msg("请在阅读并同意 用户协议和隐私协议后登录");
 | 
	
		
			
				|  |  | +    return;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  //#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    verify.value = undefined;
 | 
	
		
			
				|  |  | -  getSendSms({
 | 
	
		
			
				|  |  | +  getCodeImg({
 | 
	
		
			
				|  |  |      phone: phone.value,
 | 
	
		
			
				|  |  | +  }).then((res) => {
 | 
	
		
			
				|  |  | +    console.log(res);
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |    if (codeTime.value > 0) {
 | 
	
		
			
				|  |  |      proxy.$modal.msg("不能重复获取");
 | 
	
	
		
			
				|  | @@ -142,13 +171,6 @@ function getVerifyCode() {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/** 获取验证码 */
 | 
	
		
			
				|  |  | -async function getSendSms(params) {
 | 
	
		
			
				|  |  | -  getCodeImg(params).then((res) => {
 | 
	
		
			
				|  |  | -    console.log(res);
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 判断运行环境
 | 
	
		
			
				|  |  |   */
 | 
	
	
		
			
				|  | @@ -161,11 +183,10 @@ function env() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    //#ifdef H5
 | 
	
		
			
				|  |  |    linkUrl.value = window.location.host;
 | 
	
		
			
				|  |  | -  // var linkUrl='ces.cn';
 | 
	
		
			
				|  |  | -  // var linkUrl='172.16.120.165:13203'
 | 
	
		
			
				|  |  | -  //#endif
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +  // linkUrl.value='ces.cn';
 | 
	
		
			
				|  |  | +  // linkUrl.value='172.16.120.165:13203'
 | 
	
		
			
				|  |  |    getMobileTenantConfigApi({ url: linkUrl.value });
 | 
	
		
			
				|  |  | +  //#endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    //  uni.showToast({
 | 
	
		
			
				|  |  |    //   title: '服务器链接地址为'+linkUrl,
 | 
	
	
		
			
				|  | @@ -192,7 +213,7 @@ function env() {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** 点击提交按钮 */
 | 
	
		
			
				|  |  | -async function submitRes() {
 | 
	
		
			
				|  |  | +function submitRes() {
 | 
	
		
			
				|  |  |    //#ifdef APP-PLUS
 | 
	
		
			
				|  |  |    if (!uni.getStorageSync("serveUrl")) {
 | 
	
		
			
				|  |  |      proxy.$modal.msg("首次登录请先进行服务器配置");
 | 
	
	
		
			
				|  | @@ -213,11 +234,6 @@ async function submitRes() {
 | 
	
		
			
				|  |  |        proxy.$modal.msg("请输入验证码");
 | 
	
		
			
				|  |  |        return;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    login({
 | 
	
		
			
				|  |  | -      phone: phone.value,
 | 
	
		
			
				|  |  | -      verify: verify.value,
 | 
	
		
			
				|  |  | -      tenantId: tenantId.value,
 | 
	
		
			
				|  |  | -    });
 | 
	
		
			
				|  |  |    } else {
 | 
	
		
			
				|  |  |      if (!username.value) {
 | 
	
		
			
				|  |  |        proxy.$modal.msg("请输入账户");
 | 
	
	
		
			
				|  | @@ -227,34 +243,37 @@ async function submitRes() {
 | 
	
		
			
				|  |  |        proxy.$modal.msg("请输入密码");
 | 
	
		
			
				|  |  |        return;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    login({
 | 
	
		
			
				|  |  | -      username: username.value,
 | 
	
		
			
				|  |  | -      password: password.value,
 | 
	
		
			
				|  |  | -      tenantId: tenantId.value,
 | 
	
		
			
				|  |  | -    });
 | 
	
		
			
				|  |  | +  //#ifdef APP-PLUS
 | 
	
		
			
				|  |  | +  if (userChecked.value) {
 | 
	
		
			
				|  |  | +    proxy.$modal.msg("请在阅读并同意 用户协议和隐私协议后登录");
 | 
	
		
			
				|  |  | +    return;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | +  //#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  login({
 | 
	
		
			
				|  |  | +    username: username.value,
 | 
	
		
			
				|  |  | +    password: password.value,
 | 
	
		
			
				|  |  | +    tenantId: tenantId.value,
 | 
	
		
			
				|  |  | +  });
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** 获取登录数据 */
 | 
	
		
			
				|  |  | -async function login(data) {
 | 
	
		
			
				|  |  | +function login(data) {
 | 
	
		
			
				|  |  |    proxy.$modal.loading("登录中,请耐心等待...");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    useStore.Login(data).then(() => {
 | 
	
		
			
				|  |  | -    info();
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -/** 获取用户信息 */
 | 
	
		
			
				|  |  | -async function info() {
 | 
	
		
			
				|  |  | -  proxy.$modal.closeLoading();
 | 
	
		
			
				|  |  | -  useStore.GetInfo().then((res) => {
 | 
	
		
			
				|  |  | -    proxy.$tab.reLaunch("/pages/index");
 | 
	
		
			
				|  |  | +    /** 获取用户信息 */
 | 
	
		
			
				|  |  | +    proxy.$modal.closeLoading();
 | 
	
		
			
				|  |  | +    useStore.GetInfo().then((res) => {
 | 
	
		
			
				|  |  | +      proxy.$tab.reLaunch("/pages/index");
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** 获取登录页数据 */
 | 
	
		
			
				|  |  | -async function getMobileTenantConfigApi(params) {
 | 
	
		
			
				|  |  | +function getMobileTenantConfigApi(params) {
 | 
	
		
			
				|  |  |    getMobileTenantConfig(params).then((res) => {
 | 
	
		
			
				|  |  |      if (res.data.length > 0) {
 | 
	
		
			
				|  |  |        let data = res.data[0];
 | 
	
	
		
			
				|  | @@ -268,6 +287,17 @@ async function getMobileTenantConfigApi(params) {
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +// 用户协议
 | 
	
		
			
				|  |  | +function handleUserAgrement() {
 | 
	
		
			
				|  |  | +  let site = getApp().globalData.config.appInfo.agreements[0];
 | 
	
		
			
				|  |  | +  proxy.$tab.navigateTo(`/pages/common/textview/index1?title=${site.title}&content=${site.content}`);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +// 隐私协议
 | 
	
		
			
				|  |  | +function handlePrivacy() {
 | 
	
		
			
				|  |  | +  let site = getApp().globalData.config.appInfo.agreements[1];
 | 
	
		
			
				|  |  | +  proxy.$tab.navigateTo(`/pages/common/textview/index1?title=${site.title}&content=${site.content}`);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  watchEffect(() => {
 | 
	
		
			
				|  |  |    //#ifdef APP-PLUS
 | 
	
		
			
				|  |  |    if (uni.getStorageSync("serveUrl")) {
 | 
	
	
		
			
				|  | @@ -341,7 +371,7 @@ page {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        :deep(.input-placeholder) {
 | 
	
		
			
				|  |  | -        color: #a0a4af;
 | 
	
		
			
				|  |  | +        color: #96a6b5 !important;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        :deep(.uni-input-wrapper) {
 | 
	
	
		
			
				|  | @@ -359,7 +389,7 @@ page {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        :deep(:-webkit-autofill) {
 | 
	
		
			
				|  |  | -        caret-color: #a0a4af; // 设置光标颜色
 | 
	
		
			
				|  |  | +        caret-color: #000; // 设置光标颜色
 | 
	
		
			
				|  |  |          // -webkit-text-fill-color: gray !important;
 | 
	
		
			
				|  |  |          -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
 | 
	
		
			
				|  |  |          background-color: transparent;
 | 
	
	
		
			
				|  | @@ -446,7 +476,7 @@ page {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      .switchText {
 | 
	
		
			
				|  |  | -      color: #a0a4af;
 | 
	
		
			
				|  |  | +      color: #96a6b5;
 | 
	
		
			
				|  |  |        width: 100%;
 | 
	
		
			
				|  |  |        display: block;
 | 
	
		
			
				|  |  |        margin-top: 20px;
 | 
	
	
		
			
				|  | @@ -460,6 +490,32 @@ page {
 | 
	
		
			
				|  |  |        color: #fff;
 | 
	
		
			
				|  |  |        border: 0px;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .xieyi {
 | 
	
		
			
				|  |  | +      color: #96a6b5;
 | 
	
		
			
				|  |  | +      margin-top: 30px;
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      justify-content: center;
 | 
	
		
			
				|  |  | +      > uni-view {
 | 
	
		
			
				|  |  | +        margin: auto 0;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      > uni-text {
 | 
	
		
			
				|  |  | +        margin: auto 0;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      // animation: roundRule 0.5s linear infinite;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @keyframes roundRule {
 | 
	
		
			
				|  |  | +      0% {
 | 
	
		
			
				|  |  | +        transform: translateX(0);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      50% {
 | 
	
		
			
				|  |  | +        transform: translateX(-5px);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      100% {
 | 
	
		
			
				|  |  | +        transform: translateX(0);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    .bottom {
 |