<template>
  <view class="login-page">
	  <view class="status_bar"></view>
    <!-- 标题 -->
    <view class="login-title">账号密码登录</view>

    <!-- 手机号输入框 -->
    <view class="input-item">
      <view class="input-icon">
        <!-- <uni-icons type="phone" size="24" color="#999"></uni-icons> -->
		<image src="/static/登录/手机号.png" mode="" style="height: 100%;width: 100%;"></image>
      </view>
	  <uni-easyinput  class="input-content"  type="text" v-model="phoneNumber"
	   placeholder="请输入帐号" :inputBorder="false"  :placeholderStyle="placeholderStyle">
	   </uni-easyinput>
    </view>

    <!-- 密码输入框 -->
    <view class="input-item">
      <view class="input-icon">
        <!-- <uni-icons type="locked" size="24" color="#999"></uni-icons> -->
		<image src="/static/登录/密码.png" mode="" style="height: 100%;width: 100%;"></image>
      </view>
	  <uni-easyinput  class="input-content"  type="password" v-model="password"
	   placeholder="请输入密码" :inputBorder="false"  :placeholderStyle="placeholderStyle">
	   </uni-easyinput>
  
    </view>

    <!-- 协议勾选 + 忘记密码 -->
    <view class="agreement-wrap">
      <view class="agreement-item" @click="toggleAgreement">
        <uni-icons 
          type="checkbox-filled" 
          size="24" 
          color="#007aff"
          v-if="agreeAgreement"
        ></uni-icons>
        <uni-icons 
          type="checkbox" 
          size="24" 
          color="#999"
          v-else
        ></uni-icons>
        <text class="agreement-text">我已阅读并同意《用户隐私政策》</text>
      </view>
      <navigator class="forget-pwd" url="/pages/loginSub/forget-pwd">忘记密码？</navigator>
    </view>

    <!-- 登录按钮 -->
    <button 
      class="login-btn"
	
      @click="handleLogin"
    >
      登录
    </button>

    <!-- 底部链接 -->
    <view class="bottom-link">
      <navigator class="link-item" url="/pages/loginSub/login">验证码登录</navigator>
      <navigator class="link-item" url="/pages/loginSub/register-new-user">注册新用户</navigator>
    </view>
  </view>
</template>

<script setup>
import { ref, computed } from 'vue';
import {onLoad} from "@dcloudio/uni-app"
import {getLoginPassword} from '/pages/api/api.js'

// 响应式数据
const phoneNumber = ref('');
const password = ref('');
const agreeAgreement = ref(true); // 默认勾选
const placeholderStyle = ref('font-size:24rpx')

// 计算属性：是否可登录（帐号+密码+协议都满足）
const canLogin = computed(() => {
  const phoneReg = /^[a-zA-Z0-9_-]{4,16}$/; // 4-16位
  const pwdReg = /^.{6,16}$/; // 密码6-16位
  return phoneReg.test(phoneNumber.value) && pwdReg.test(password.value) && agreeAgreement.value;
});

// 切换协议勾选
const toggleAgreement = () => {
  agreeAgreement.value = !agreeAgreement.value;
};

// 检查表单
const checkForm = () => {};


onLoad(() =>{
});

const handleLogin = async () => {
  if (!canLogin.value) return;
  // 防止多次点击触发登录
  canLogin.value = false;

  // // 2. 空值校验
  // if (!phoneNumber.value) {
  //   uni.showToast({ title: '请输入手机号', icon: 'none' });
  //   canLogin.value = true; // 解锁
  //   return;
  // }
  // if (!password.value) {
  //   uni.showToast({ title: '请输入密码', icon: 'none' });
  //   canLogin.value = true; // 解锁
  //   return;
  // }

  const params = {
    username: phoneNumber.value,
    password: password.value
  };

  try {
    // 3. 调用登录接口
    const res = await getLoginPassword(params);

    // 登录成功逻辑
    // 如果后端返回token，这里保存
    // uni.setStorageSync('token', res.token || ''); 
    uni.showToast({ title: '登录成功', icon: 'success' });
    // 登录成功后再跳转
    setTimeout(() => {
      uni.switchTab({ url: '/pages/index/index' });
    }, 1500);

  } catch (err) {
    // 登录失败逻辑（所有错误：账号不存在/密码错/网络异常都走这里）
    uni.showToast({ title: `${err || '登录失败'}`, icon: 'none' });

  } finally {
    // 无论成功/失败，解锁按钮
    canLogin.value = true;
  }
};
// 登录逻辑
// const handleLogin = () => {
//   if (!canLogin.value) return
//   	let params = {
//   		username:phoneNumber.value,
//   		password:password.value
//   	}
//   	getLoginPassword(params).then(res =>{
//   		// console.log('33333',res)
//   		if(res.code === 200){
//   			// console.log('33333',res)
//   			//uni.setStorageSync('token', res.token); // 假设后端返回token字段
//   			uni.showToast({ title: '登录成功', icon: 'success' });
// 			uni.switchTab({ url: '/pages/index/index' });
//   			// uni.reLaunch({ url: '/pages/index/index' });
//   		}else{
//   			uni.showToast({ title: `${res.msg},请先注册账号`, icon: 'error' });
//   		}
  		
//   	})
	
// };
</script>

<style scoped>
.login-page {
  padding: 80rpx 40rpx 40rpx;
  /* background-color: #f8f9fa; */
  min-height: 100vh;
   background: repeating-linear-gradient(180deg, #E2F0FF, #F6FAFF );
}
 .status_bar {
	 height: 160px;
	 width: 100%;
	}
.login-title {
  font-size: 48rpx;
  font-weight: 600;
  color: #333;
  text-align: center;
  margin-bottom: 80rpx;
}

.input-item {
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 40rpx;
  padding: 0 30rpx;
  height: 88rpx;
  margin-bottom: 30rpx;
  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
}

.input-icon {
  margin-right: 20rpx;
  width: 50rpx;
  height: 50rpx;
}

.input-content {
  flex: 1;
  font-size: 28rpx;
  color: #333;
  height: 100%;
}

.agreement-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 40rpx 0;
  padding: 0 10rpx;
}

.agreement-item {
  display: flex;
  align-items: center;
}

.agreement-text {
  font-size: 28rpx;
  color: #666;
  margin-left: 10rpx;
}

.forget-pwd {
  font-size: 28rpx;
  color: #007aff;
  text-decoration: none;
}

.login-btn {
  width: 100%;
  height: 88rpx;
  line-height: 88rpx;
  background-color: #007aff;
  color: #fff;
  border-radius: 44rpx;
  font-size: 32rpx;
  margin-bottom: 60rpx;
}

.login-btn:disabled {
  background-color: #99c8ff;
  color: #fff;
}

.bottom-link {
  display: flex;
  justify-content: space-between;
  padding: 0 20rpx;
}

.link-item {
  font-size: 28rpx;
  color: #007aff;
  text-decoration: none;
}
</style>