deepdata: core product code (backend, frontend, runtime, deepflow module)
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"0": "成功",
|
||||
"rag.0001": "RAG 配置错误",
|
||||
"rag.0002": "知识库不存在",
|
||||
"rag.0003": "知识库名称已存在",
|
||||
"cleaning.0001": "清洗任务不存在",
|
||||
"cleaning.0002": "清洗任务名称重复",
|
||||
"cleaning.0003": "清洗模板不存在",
|
||||
"cleaning.0004": "清洗模板名称重复",
|
||||
"cleaning.0005": "算子输入输出类型不匹配",
|
||||
"cleaning.0006": "执行器类型无效",
|
||||
"cleaning.0007": "数据集不存在",
|
||||
"cleaning.0008": "文件系统错误",
|
||||
"cleaning.0009": "设置解析错误",
|
||||
"cleaning.0010": "任务ID不能为空",
|
||||
"cleaning.0011": "无法删除预制模板",
|
||||
"cleaning.0012": "清洗任务日志文件不存在",
|
||||
"cleaning.0013": "任务状态无效,无法执行此操作",
|
||||
"operator.0001": "算子不存在",
|
||||
"operator.0002": "算子被编排于模版中或处在尚未结束的任务中,无法删除",
|
||||
"operator.0003": "无法删除预置算子",
|
||||
"operator.0004": "不支持的文件类型,当前仅支持tar和zip",
|
||||
"operator.0005": "解析算子包失败",
|
||||
"operator.0006": "缺少必要的字段",
|
||||
"data_management.0001": "数据集不存在",
|
||||
"data_management.0002": "数据集已存在",
|
||||
"data_management.0003": "数据集状态错误",
|
||||
"data_management.0004": "数据集标签不存在",
|
||||
"data_management.0005": "数据集标签已存在",
|
||||
"data_management.0006": "数据集文件已存在",
|
||||
"data_management.0007": "目录不存在",
|
||||
"data_management.0008": "数据集名称长度不能超过255个字符",
|
||||
"data_management.0009": "数据集类型不合法",
|
||||
"data_management.0010": "数据集状态不合法",
|
||||
"data_management.0011": "标签名称长度不能超过100个字符",
|
||||
"data_management.0012": "标签名称已存在",
|
||||
"data_management.0013": "标签颜色格式不正确,应为十六进制颜色代码",
|
||||
"data_management.0014": "保留天数必须为非负整数",
|
||||
"data_management.0015": "路径长度不能超过限制",
|
||||
"data_management.0016": "文件名包含非法字符",
|
||||
"data_management.0017": "路径前缀不能以点开头",
|
||||
"sys.0001": "未知错误",
|
||||
"sys.0002": "系统繁忙,请稍后重试",
|
||||
"sys.0003": "参数错误",
|
||||
"sys.0004": "资源未找到",
|
||||
"sys.0005": "权限不足",
|
||||
"sys.0006": "文件系统错误",
|
||||
"400": "请求参数错误",
|
||||
"401": "登录已过期,请重新登录",
|
||||
"403": "没有权限访问该资源",
|
||||
"404": "请求的资源不存在",
|
||||
"500": "服务器内部错误,请稍后重试",
|
||||
"502": "网关错误"
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>DeepData 登录中…</title>
|
||||
<style>
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
body {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
|
||||
background: linear-gradient(135deg, #eff6ff 0%, #eef2ff 100%);
|
||||
}
|
||||
.card {
|
||||
background: #fff;
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 10px 30px rgba(37, 99, 235, 0.12);
|
||||
padding: 40px 48px;
|
||||
max-width: 420px;
|
||||
width: 90%;
|
||||
text-align: center;
|
||||
}
|
||||
.spinner {
|
||||
width: 32px; height: 32px;
|
||||
margin: 0 auto 16px;
|
||||
border: 3px solid #dbeafe;
|
||||
border-top-color: #2563eb;
|
||||
border-radius: 50%;
|
||||
animation: spin 0.8s linear infinite;
|
||||
}
|
||||
@keyframes spin { to { transform: rotate(360deg); } }
|
||||
h1 { font-size: 18px; color: #1f2937; margin-bottom: 8px; }
|
||||
p { font-size: 14px; color: #6b7280; }
|
||||
.error { color: #dc2626; }
|
||||
a { color: #2563eb; text-decoration: none; }
|
||||
a:hover { text-decoration: underline; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="card">
|
||||
<div id="spinner" class="spinner"></div>
|
||||
<h1 id="title">DeepData 登录处理中…</h1>
|
||||
<p id="desc">正在完成单点登录,请稍候。</p>
|
||||
</div>
|
||||
<script>
|
||||
(function () {
|
||||
var params = new URLSearchParams(window.location.search);
|
||||
var token = params.get("sso_token");
|
||||
var logout = params.get("sso_logout");
|
||||
var error = params.get("sso_error");
|
||||
var errDesc = params.get("sso_error_description") || "";
|
||||
|
||||
var title = document.getElementById("title");
|
||||
var desc = document.getElementById("desc");
|
||||
var spinner = document.getElementById("spinner");
|
||||
|
||||
function fail(msg) {
|
||||
spinner.style.display = "none";
|
||||
title.textContent = "登录失败";
|
||||
title.className = "error";
|
||||
desc.innerHTML = (msg ? msg + "<br/>" : "") +
|
||||
'<a href="/#/">返回首页</a>';
|
||||
}
|
||||
|
||||
if (error) {
|
||||
fail(decodeURIComponent(errDesc || "单点登录未完成,请重试"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (logout) {
|
||||
// 登出回调:清理本地会话
|
||||
try { localStorage.removeItem("session"); } catch (e) {}
|
||||
window.location.replace("/#/");
|
||||
return;
|
||||
}
|
||||
|
||||
if (token) {
|
||||
try {
|
||||
// SSO 登录成功:持久化会话(与账号密码登录的 localStorage.session 结构一致)
|
||||
localStorage.setItem("session", JSON.stringify({
|
||||
token: token,
|
||||
authMode: "SSO"
|
||||
}));
|
||||
} catch (e) {
|
||||
fail("保存登录状态失败,请检查浏览器是否允许本地存储");
|
||||
return;
|
||||
}
|
||||
window.location.replace("/#/");
|
||||
return;
|
||||
}
|
||||
|
||||
// 缺少任何参数:视为异常
|
||||
fail("未收到有效的登录结果");
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user