🚚 移动前端

This commit is contained in:
shufeng2012 committed 2026-08-08 19:09:36 +08:00
1 parent c8f2152d0a
commit b851a96a66
57 files changed
+214 -418

No files matched your search

+82
View File
@@ -0,0 +1,82 @@
(function () {
function username(value) {
const normalizedValue = value.trim();
if (!normalizedValue) {
return { valid: false, message: '用户名不可为空', className: 'tip-red' };
}
if (normalizedValue.length > 20) {
return { valid: false, message: '用户名不得长于20字符!', className: 'tip-yellow' };
}
return {
valid: true,
value: normalizedValue,
message: '用户名格式正确',
className: 'tip-green'
};
}
function password(value, minLength) {
const requiredLength = minLength || 1;
if (!value) {
return { valid: false, message: '密码不可为空!', className: 'tip-red' };
}
if (value.length < requiredLength) {
return {
valid: false,
message: `密码至少${requiredLength}位字符!`,
className: 'tip-red'
};
}
return {
valid: true,
value,
message: '密码格式正确',
className: 'tip-green'
};
}
function email(value) {
const normalizedValue = value.trim();
const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
if (!normalizedValue) {
return { valid: false, message: '邮箱不可为空!', className: 'tip-red' };
}
if (!emailPattern.test(normalizedValue)) {
return { valid: false, message: '邮箱格式不正确!', className: 'tip-yellow' };
}
return {
valid: true,
value: normalizedValue,
message: '邮箱格式正确',
className: 'tip-green'
};
}
function note_title(value) {
return true;
}
function note_content(value) {
return true;
}
window.FormValidators = { username, password, email };
}());
/* WAF 拦截识别:waf 命中规则时返回 403 + 纯文本 "blocked by WAF"
* (见 waf/internal/proxy/proxy.go block());gateway 的 403(Target-Url
* 白名单拒绝)body 为 JSON 错误消息,不含此特征,不会误判。 */
window.WafTip = {
MESSAGE: '请求被 WAF 安全规则拦截,请检查输入内容',
isBlocked(res, responseText) {
return res.status === 403
&& typeof responseText === 'string'
&& responseText.indexOf('blocked by WAF') !== -1;
}
};