h5版本移植

This commit is contained in:
2025-06-11 11:56:29 +08:00
parent f1d7b0a677
commit 19adcad31f
3 changed files with 93 additions and 60 deletions
+68 -4
View File
@@ -1,6 +1,70 @@
//判断字符串是否为邮箱
function isValidEmail(email) {
const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
return regex.test(email);
}
const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
return regex.test(email);
}
function save(key, data) {
localStorage.setItem(key, data);
}
function load(key) {
return localStorage.getItem(key);
}
function dele(key) {
localStorage.removeItem(key);
}
function save_json(key, data) {
save(key, JSON.stringify(data));
}
function load_json(key) {
var js_data = load(key);
if (js_data) {
return JSON.parse(js_data);
} else {
return null;
}
}
function post_json(path, json, callback) {
var host = "";
var port = 0;
var head_path = "/api/v1";
//把cookie插入json
var data = {};
data["data"] = json;
var cookie = load_json("cookie");
if (cookie) {
data["cookie"] = cookie;
}
var re_data = {};
axios
.post(head_path + path, data, {
headers: {
"Content-Type": "application/json",
},
})
.then((response) => {
console.log(response)
re_data["statusCode"] = response.status;
//载入服务器返回的数据
if (response.data) {
re_data["data"] = response.data;
}
//自动保存服务器发送的cookie
if (response.cookie) {
if (response.cookie.Value == "") {
dele("cookie");
} else {
save_json("cookie", response.cookie);
}
}
callback(re_data);
})
.catch((error) => {
re_data["statusCode"] = -1;
callback(re_data);
});
}
+8 -24
View File
@@ -100,31 +100,15 @@
<script>
function logout() {
console.log("logout");
const url = '/api/v1/user/logout';
const sumt_data = {
cookie: "",
};
try {
const response = axios.post(url, sumt_data, {
headers: {
'Content-Type': 'application/json'
}
}).then(response => {
//console.log('提交成功:', response.data); // 正确打印服务器数据
//跳转到主页
if (response.data.err_code == 0) {
post_json("/user/logout", null, (c) => {
if (c.statusCode == 200) {
console.log(c)
dele("user_info")
dele("cookie")
setTimeout(() => {
location.href = '/'
}
});
} catch (error) {
if (error.response) {
// 服务器返回了错误状态码(如 4xx, 5xx)
console.error('服务器错误:', error.response.data);
} else {
console.error('请求未完成:', error.message);
}, 500);
}
}
})
}
</script>
+17 -32
View File
@@ -157,42 +157,27 @@
}
if (from_data_check) {
const url = '/api/v1/user/login';
const sumt_data = {
data: {
post_json("/user/login", {
username: username_dom.value,
password: password_dom.value,
is_keep_login: keep_login_dom.checked
},
}, (c) => {
if (c.statusCode == 200) {
if (c.data.err_code == 0) {
save_json("cookie", c.data.return.cookie)
save_json("user_info", c.data.return.user_info)
setTimeout(() => {
location.href = '/'
}, 500);
} else {
//this.$refs.footer.alert('warning', "账号或密码不正确")
}
} else {
//this.$refs.footer.alert('danger', "网络连接错误:" + c.statusCode)
}
})
};
try {
const response = axios.post(url, sumt_data, {
headers: {
'Content-Type': 'application/json'
}
}).then(response => {
console.log('提交成功:', response.data); // 正确打印服务器数据
//跳转到主页
if (response.data.err_code == 0) {
location.href = '/'
} else {
password_dom.classList.add("is-invalid");
document.getElementById("pass_err").innerHTML = "账号或密码错误";
}
});
} catch (error) {
if (error.response) {
// 服务器返回了错误状态码(如 4xx, 5xx)
console.error('服务器错误:', error.response.data);
} else {
console.error('请求未完成:', error.message);
}
}
}
}