Merge pull request #1 from Dongyifengs/main

sync
This commit is contained in:
wzp 2023-12-03 18:01:59 +08:00 committed by GitHub
commit d095523e62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 133 deletions

View File

@ -13,7 +13,7 @@
</template>
</van-field>
</van-cell-group>
<!-- 用户头像 -->
<van-image
class="userAvatar"
width="50"
@ -22,10 +22,8 @@
radius="5"
@click="toggleUserLogin"
/>
<!-- 用户头像 -->
<!-- 登录弹窗 -->
<van-popup v-model:show="userAvatarLoginShow" round position="top" class="userLoginBox">
<!-- 登录弹窗 -->
<div class="login-content">
<h2>登录/注册</h2>
<p>欢迎来到文件分享站</p>
@ -150,7 +148,7 @@ const totalFiles = ref<number>(0);
// TODO:
const toggleUserLogin = () => {
if (sessionStorage.getItem("userInfo") || localStorage.getItem("userInfo")) {
if (sessionStorage.getItem("authorization")) {
//
//
userAvatarLoginShowTools.value = true;
@ -162,129 +160,43 @@ const toggleUserLogin = () => {
}
};
// TODO:
const logout = () => {
//
ElMessage.success("退出成功!")
//
localStorage.removeItem("userInfo");
sessionStorage.removeItem("userInfo");
//
window.location.reload();
sessionStorage.clear();
userAvatarLoginShowTools.value = false;
window.location.reload()
};
// TODO:
const userLogin = () => {
// cookie
localStorage.removeItem("userInfo");
sessionStorage.removeItem("userInfo");
sessionStorage.clear();
//
if (userName.value == "" || userPassword.value == "") {
ElMessage.error("用户名密码不能为空");
localStorage.removeItem("userInfo");
sessionStorage.removeItem("userInfo");
return;
}
//
login(userName.value, userPassword.value)
.then((res: AxiosResponse<Result<User>>) => {
//
if (res.data.status == 200) {
//
// sessionStorage
const userInfo = {
userName: userName.value,
userPassword: userPassword.value,
};
sessionStorage.setItem("userInfo", JSON.stringify(userInfo));
console.log(res.data.data.name, res.data.data.id, res.data.data.auth);
userNameToolsId.value = Number(res.data.data.id);
userNameToolsName.value = String(res.data.data.name);
userNameToolsAuth.value = String(res.data.data.auth)
const user = res.data.data;
sessionStorage.setItem("username", user.name);
sessionStorage.setItem("auth", user.auth.toString());
//
setTimeout(() => {
toggleUserLogin();
}, 1000); // 10001
ElMessage.success("登录成功!");
window.location.reload()
} else {
ElMessage.error("登录失败,用户名密码错误!");
localStorage.removeItem("userInfo");
sessionStorage.removeItem("userInfo");
}
})
.catch(() => {
ElMessage.error("登录失败,用户名密码错误!");
localStorage.removeItem("userInfo");
sessionStorage.removeItem("userInfo");
});
};
//
let checkedStorage = false;
const checkLocalStorageUserInfo = () => {
if (checkedStorage) {
return; //
}
const userInfoString = localStorage.getItem("userInfo");
if (userInfoString) {
//
const userInfo = JSON.parse(userInfoString);
userName.value = userInfo.userName;
userPassword.value = userInfo.userPassword;
//
verifyUserInfo();
}
};
// sessionStorage
const checkSessionStorageUserInfo = () => {
if (checkedStorage) {
return; //
}
const userInfoString = sessionStorage.getItem("userInfo");
if (userInfoString) {
//
const userInfo = JSON.parse(userInfoString);
userName.value = userInfo.userName;
userPassword.value = userInfo.userPassword;
//
verifyUserInfo();
}
};
//
const verifyUserInfo = () => {
if (userName.value === "" || userPassword.value === "") {
return; //
}
login(userName.value, userPassword.value)
.then((res: AxiosResponse<Result<User>>) => {
if (res.data.status === 200) {
console.log(res.data.data.name, res.data.data.id, res.data.data.auth);
userNameToolsId.value = Number(res.data.data.id);
userNameToolsName.value = String(res.data.data.name);
userNameToolsAuth.value = String(res.data.data.auth)
ElMessage.success("登录成功!");
userAvatarLoginShowTools.value = true; //
userAvatarLoginShow.value = false; //
} else {
ElMessage.error("验证失败,请重新登录!");
userAvatarLoginShowTools.value = false; //
userAvatarLoginShow.value = true; //
localStorage.removeItem("userInfo");
sessionStorage.removeItem("userInfo");
}
})
.catch(() => {
ElMessage.error("验证失败,请重新登录!");
userAvatarLoginShowTools.value = false; //
userAvatarLoginShow.value = true; //
localStorage.removeItem("userInfo");
sessionStorage.removeItem("userInfo");
});
};
// TODO:
@ -294,7 +206,7 @@ const userEnroll = () => {
ElMessage.error("用户名密码不能为空")
return;
}
register(userName.value, userPassword.value, Auth.user).then((res) => {
register(userName.value, userPassword.value, Auth.USER).then((res) => {
switch (res.data.status) {
case 251:
ElMessage.error("邀请码错误!");
@ -304,31 +216,8 @@ const userEnroll = () => {
break;
case 200:
ElMessage.success("注册成功");
login(userName.value, userPassword.value)
.then((res: AxiosResponse<Result<User>>) => {
if (res.data.status === 200) {
console.log(res.data.data.name, res.data.data.id, res.data.data.auth);
userNameToolsId.value = Number(res.data.data.id);
userNameToolsName.value = String(res.data.data.name);
userNameToolsAuth.value = String(res.data.data.auth)
ElMessage.success("登录成功!");
userAvatarLoginShowTools.value = true; //
userAvatarLoginShow.value = false; //
} else {
ElMessage.error("验证失败,请重新登录!");
userAvatarLoginShowTools.value = false; //
userAvatarLoginShow.value = true; //
localStorage.removeItem("userInfo");
sessionStorage.removeItem("userInfo");
}
})
.catch(() => {
ElMessage.error("验证失败,请重新登录!");
userAvatarLoginShowTools.value = false; //
userAvatarLoginShow.value = true; //
localStorage.removeItem("userInfo");
sessionStorage.removeItem("userInfo");
});
sessionStorage.setItem("username", res.data.data.name);
sessionStorage.setItem("auth", res.data.data.auth.toString());
break;
default:
ElMessage.error("无法注册!");
@ -367,9 +256,6 @@ const handleDelete = () => {
// TODO:
onMounted(() => {
fetchFiles();
checkSessionStorageUserInfo();
checkLocalStorageUserInfo();
checkedStorage = true;
})
</script>

View File

@ -11,10 +11,10 @@ export default defineConfig({
server: {
host: "0.0.0.0",
port: 5173,
/* https: {
https: {
key: readFileSync("keys/agent2-key.pem"),
cert: readFileSync("keys/agent2-cert.pem"),
}*/
}
},
plugins: [
AutoImport({