登录页面修改

This commit is contained in:
王兴凯 2026-04-28 19:12:29 +08:00
parent 1963dbbba1
commit 589874dec3

View File

@ -187,7 +187,7 @@ import loginImg from "@/assets/images/logo.png";
import { UserOutlined, LockOutlined, MobileOutlined } from "@ant-design/icons-vue";
import { getCaptcha, sendSmsCode, smsLoginApi, resetPassword } from "@/api/auth";
import { message } from "ant-design-vue";
import { setPath } from "@/utils/auth";
import { setPath, setToken } from "@/utils/auth";
//
import router from "@/router";
@ -200,6 +200,7 @@ import { encrypt, decrypt } from "@/utils/rsaEncrypt";
//
import { useUserStore } from "@/store/modules/user";
import { usePermissionStoreHook } from "@/store/modules/permission";
//
import { useI18n } from "vue-i18n";
@ -385,42 +386,88 @@ function onFinish() {
* 短信验证码登录
*/
const onSmsLogin = async () => {
//
try {
//
// ========== ==========
const phoneRegex = /^1[3-9]\d{9}$/;
if (!loginData.value.username || !phoneRegex.test(loginData.value.username)) {
message.error("请输入正确的手机号");
return;
}
//
if (!loginData.value.code || loginData.value.code.trim() === '') {
message.error("请输入验证码");
return;
}
// console.log()
// debugger
// ========== ==========
state.loading = true;
//
await smsLoginApi(
// ========== API ==========
console.log('开始调用短信登录API, 手机号:', loginData.value.username);
const res: any = await smsLoginApi(
loginData.value.username, //
loginData.value.code //
loginData.value.code //
);
console.log('短信登录API响应:', res);
//
const res: any = setPath("/login-sjtb");
if (res.code == 0) {
// ========== ==========
console.log('检查响应结果, res.code:', res.code, '类型:', typeof res.code);
// code "0" 0
if (res.code !== 0 && res.code !== '0') {
console.error('短信登录失败, 错误码:', res.code, '错误信息:', res.msg);
message.error(res.msg || "登录失败");
return;
}
// ========== Token ==========
console.log('开始提取Token, res.data:', res.data);
const token = res.data?.token || res.data; //
if (!token) {
console.error('Token为空, res.data结构:', JSON.stringify(res.data));
message.error("登录失败:未获取到Token");
return;
}
console.log('Token获取成功:', token);
// Cookie
setToken(token);
// Store Token
userStore.Token = token;
console.log('Token已存储到Store');
// ========== ==========
console.log('开始获取用户信息...');
const userInfo = await userStore.getInfo();
console.log('用户信息获取成功:', userInfo);
const roles = userInfo.roles;
console.log('用户角色:', roles);
// ========== ==========
console.log('开始生成路由...');
const permissionStore = usePermissionStoreHook();
const accessRoutes:any = await permissionStore.generateRoutes(roles);
console.log('路由生成成功, 路由数量:', accessRoutes.length);
// ========== ==========
accessRoutes.forEach((route: any) => {
router.addRoute(route);
});
// ========== ==========
setPath("/login-sjtb");
router.push({ path: accessRoutes[0].children[0].opturl });
message.success("登录成功");
//
router.push({ path: "/" });
}
} catch (error: any) {
// console.error("", error);
// message.error(error.message || "");
// ========== ==========
console.error("短信登录失败", error);
message.error(error.message || "登录失败,请重试");
} finally {
// ========== ==========
state.loading = false;
}
};