diff --git a/frontend/packages/common/src/components/aoplatform/BasicLayout.tsx b/frontend/packages/common/src/components/aoplatform/BasicLayout.tsx index ee2a67d2..2e5ff29d 100644 --- a/frontend/packages/common/src/components/aoplatform/BasicLayout.tsx +++ b/frontend/packages/common/src/components/aoplatform/BasicLayout.tsx @@ -46,15 +46,16 @@ const themeToken = { const mainPage = project === 'core' ?'/service/list':'/serviceHub/list' const TOTAL_MENU_ITEMS:MenuProps['items'] = useMemo(() => [ - getNavItem($t('工作空间'), 'workspace','/tenantManagement',, [ - getNavItem($t('我的'), 'my','/tenantManagement',null,[ + getNavItem($t('工作空间'), 'workspace','/guide',, [ + getNavItem($t('我的'), 'my','/guide',null,[ + getNavItem({$t('首页')}, 'guide','/guide',,undefined,undefined,''), getNavItem({$t('应用')}, 'tenantManagement','/tenantManagement',,undefined,undefined,''), getNavItem({$t('服务')}, 'service','/service',,undefined,undefined,''), getNavItem({$t('团队')}, 'team','/team',,undefined,undefined,''), ],undefined,''), - getNavItem({$t('API 市场')}, 'serviceHub','/serviceHub',,undefined,undefined,'system.workspace.api_market.view'), ]), - + getNavItem({$t('API 市场')}, 'serviceHub','/serviceHub',,undefined,undefined,'system.workspace.api_market.view'), + getNavItem($t('仪表盘'), 'mainPage', APP_MODE === 'pro' ? '/dashboard' : '/dashboard/total',,[ getNavItem({$t('运行视图')}, 'dashboard',APP_MODE === 'pro' ? '/dashboard' : '/dashboard/total' ,,undefined,undefined,'system.dashboard.dashboard.view'), APP_MODE === 'pro' ? getNavItem({$t('系统拓扑图')}, 'systemrunning','/systemrunning',,undefined,undefined,'system.dashboard.systemrunning.view') : null, @@ -119,7 +120,6 @@ const themeToken = { // 初始过滤操作 const res = [...TOTAL_MENU_ITEMS]!.filter(x => x).map((x: any) => (x.routes ? { ...x, routes: filterMenu(x.routes) } : x)); - console.log(res) // 返回处理后的数据 return { path: '/', routes: res.map(x=> ({...x, routes: x.routes?.filter(x=> (x.access || x.routes?.length > 0))})).filter(x=> (x.access || x.routes?.length > 0)) }; }, [accessData, state.language]); diff --git a/frontend/packages/common/src/components/aoplatform/InsidePage.tsx b/frontend/packages/common/src/components/aoplatform/InsidePage.tsx index 669a8bda..af44813e 100644 --- a/frontend/packages/common/src/components/aoplatform/InsidePage.tsx +++ b/frontend/packages/common/src/components/aoplatform/InsidePage.tsx @@ -9,23 +9,24 @@ import { $t } from "@common/locales"; class InsidePageProps { showBanner?:boolean = true - pageTitle:string = '' + pageTitle:string| React.ReactNode = '' tagList?:Array<{label:string|ReactNode}> = [] children:React.ReactNode showBtn?:boolean = false btnTitle?:string = '' - description?:string = '' + description?:string | React.ReactNode= '' onBtnClick?:()=>void backUrl?:string = '/' btnAccess?:string showBorder?:boolean = true className?:string = '' contentClassName?:string='' + headerClassName?:string='' /** 整个页面滚动 */ scrollPage?:boolean = true } -const InsidePage:FC = ({showBanner=true,pageTitle,tagList,showBtn,btnTitle,btnAccess,description,children,onBtnClick,backUrl,showBorder=true,className='',contentClassName='',scrollPage=true})=>{ +const InsidePage:FC = ({showBanner=true,pageTitle,tagList,showBtn,btnTitle,btnAccess,description,children,onBtnClick,backUrl,showBorder=true,className='',contentClassName='',headerClassName='',scrollPage=true})=>{ const navigate = useNavigate(); const goBack = () => { @@ -34,7 +35,7 @@ const InsidePage:FC = ({showBanner=true,pageTitle,tagList,showB return ( //
- { showBanner &&
+ { showBanner &&
{backUrl &&
@@ -55,7 +56,7 @@ const InsidePage:FC = ({showBanner=true,pageTitle,tagList,showB

} -
{children}
+
{children}
) } diff --git a/frontend/packages/common/src/components/aoplatform/UnUsedWordForTranslate.tsx b/frontend/packages/common/src/components/aoplatform/UnUsedWordForTranslate.tsx new file mode 100644 index 00000000..3cbb5eee --- /dev/null +++ b/frontend/packages/common/src/components/aoplatform/UnUsedWordForTranslate.tsx @@ -0,0 +1,17 @@ +import { $t } from "@common/locales" + +/* 本组件不在页面渲染,只是为了让i18next-scanner能找到从接口传递的、需要翻译的字段 */ +export const TranslateWord = ()=>{ + return ( + <> + {$t('文件日志')} + {$t('HTTP日志')} + {$t('Kafka文件日志')} + {$t('NSQ文件日志')} + {$t('Syslog文件日志')} + {$t('文件日志')} + {$t('文件日志')} + {$t('文件日志')} + + ) +} \ No newline at end of file diff --git a/frontend/packages/common/src/const/const.tsx b/frontend/packages/common/src/const/const.tsx index 9afb8ab3..2e50c2db 100644 --- a/frontend/packages/common/src/const/const.tsx +++ b/frontend/packages/common/src/const/const.tsx @@ -21,7 +21,7 @@ export const STATUS_COLOR = { // avoid changing route within ths same category export const routerKeyMap = new Map([ - ['workspace',['tenantManagement','service','team','serviceHub']], + ['workspace',['tenantManagement','service','team','guide']], ['my',['tenantManagement','service','team']], ['mainPage',['dashboard','systemrunning']], ['operationCenter',['member','user','role','servicecategories']], diff --git a/frontend/packages/common/src/contexts/GlobalStateContext.tsx b/frontend/packages/common/src/contexts/GlobalStateContext.tsx index 708ae186..c5df0d83 100644 --- a/frontend/packages/common/src/contexts/GlobalStateContext.tsx +++ b/frontend/packages/common/src/contexts/GlobalStateContext.tsx @@ -107,7 +107,7 @@ export const GlobalProvider: FC<{children:ReactNode}> = ({ children }) => { version: '1.0.0', updateDate: '2024-07-01', powered:'Powered by https://apipark.com', - mainPage:'/service/list', + mainPage:'/guide', language:'en' }); const [accessData,setAccessData] = useState>(new Map()) diff --git a/frontend/packages/common/src/locales/scan/en-GB.json b/frontend/packages/common/src/locales/scan/en-GB.json index b7a24ee0..9e26dfee 100644 --- a/frontend/packages/common/src/locales/scan/en-GB.json +++ b/frontend/packages/common/src/locales/scan/en-GB.json @@ -1,570 +1 @@ -{ - "Kc0e5ef9f": "workspace", - "K48325b6": "Search for (0) names", - "K3d7465f7":"file log", - "K3863c722": "我的", - "Kfe93ef35": "应用", - "Kb58e0c3f": "服务", - "Kc9e489f5": "团队", - "K61c89f5f": "API 市场", - "K16d71239": "仪表盘", - "K714c192d": "运行视图", - "Kd57dfe97": "系统拓扑图", - "K3fe97dcc": "系统设置", - "K67ef3525": "组织", - "K74aef1ad": "成员", - "Kf644225f": "角色", - "K958da71f": "服务分类管理", - "Kf270ca55": "运维与集成", - "Ke93d36ed": "集群", - "K481e8a05": "证书", - "Kca53edd0": "日志", - "Kb283e720": "资源", - "K631d646f": "Open API", - "K6535ff9c": "账号设置", - "Kf15499b4": "退出登录", - "Kabbd6e6": "文档", - "K1196b104": "APIPark - 企业API数据开放平台", - "K1f42de3": "HTTP 状态码", - "K4770dff4": "系统状态码", - "Kf89e58f1": "描述", - "K9e53c664": "提交", - "Kf8e7294c": "上一步", - "Ka0451c97": "取消", - "Kb1dedda3": "关闭", - "Kb2fc7600": "添加配置", - "K4e07217d": "编辑配置", - "K4ea968fe": "编辑(0)", - "Ka7aaaeb": "添加(0)", - "Kaff78ecf": "请输入Key", - "K65d46535": "请输入Value", - "Kc14b2ea3": "返回", - "K11d3633a": "ID", - "Kbff43de3": "名称", - "K16ca79ef": "Driver", - "K7a369eef": "已发布", - "Kcfa1a4d2": "下线", - "K771dc3b7": "上线", - "K530f5951": "查看", - "Kecbd7449": "删除", - "K1cbe2507": "确认", - "Ka1d885c1": "添加", - "Kad207008": "编辑", - "K1ff96ff": "申请系统", - "K9bf855d6": "所属团队", - "K11b994ed": "申请人", - "K939baba7": "申请时间", - "Kdab2e63b": "版本号", - "K8b29c460": "版本说明", - "K36a72ad1": "API 列表", - "K54e44357": "上游列表", - "Kb8e8e6f5": "备注", - "K1ab0ae5b": "申请原因", - "K53c00c3c": "审核意见", - "K7edf331d": "时间", - "Kef45b208": "近1小时", - "K9dbf22b8": "近24小时", - "K820fbfab": "近3天", - "Kd6d28fc": "近7天", - "K23fda291": "暂无操作权限,请联系管理员分配。", - "K4618cb0a": "微信小程序", - "Ka854f511": "获取文件,需填路径", - "Kaa11a695": "暂不支持生成非 HTTPS 或非 HTTP 协议的代码示例", - "Kbe46924e": "搜索编程语言...", - "Ke8e4f258": "编程语言", - "K29c07a47": "成功示例", - "K1f5c814d": "失败示例", - "K4ef022d7": "默认 text/html;charset=UTF-8", - "Kd061b5bf": "暂未填写示例", - "Kc14cec33": "Binary", - "K48b4d9e3": "请求头部", - "Kcd347eaf": "请求体", - "K9e100bfe": "Query 参数", - "K3e9f12fd": "REST 参数", - "K2bfa290c": "api request editor", - "Kb36d111a": "返回头部", - "K980bde79": "返回值", - "Kb04d201a": "更多设置", - "Kee74f5b4": "添加子参数", - "Kc7d3106c": "向下添加行", - "Keaabd222": "标签", - "K8ad2c50e": "参数名", - "K67d68dd1": "类型", - "K29245f47": "必需", - "Ke32cbcd3": "示例", - "Kc13936c6": "输入 URL 或 cURL", - "Ka1ede006": "HTTP", - "K152ac44e": "参数位置", - "K1660ae72": "匹配类型", - "K91ced765": "参数值", - "K5b265628": "操作类型", - "K1826982d": "新增或修改", - "Kd65b55f5": "匹配参数值", - "K15f35bf2": "转发上游路径", - "K79dec0dd": "请求超时时间", - "K7d465645": "绑定上游服务", - "K63a6404d": "重试时间", - "K47740727": "转发上游请求头", - "K2b605d42": "More", - "K1df9fbd5": "导入", - "K5e85df18": "导入格式", - "K9eaf7885": "全量替换", - "Kf8c3a80b": "在末端插入", - "Kd96b2d7d": "增量更新", - "Kf2fc08eb": "请求头", - "Ka45f1d8": "Rest 参数", - "K94bb113a": "大小", - "K359919b5": "另存为文件", - "K38bf1b90": "响应", - "K59f4186e": "响应头", - "K5f1e23fd": "正文", - "Kf404ef7d": "发送(Enter)", - "K2dbfd648": "中止", - "Kacabc771": "秒", - "K13ae6a93": "复制", - "Ke54a14a3": "格式化", - "K43934f6d": "搜索", - "K741decac": "替代", - "Kd507abff": "确定", - "Kca2d1624": "The (0) must not be negative.", - "K792b255a": "The (0) must be greater than or equal to the (1).", - "Kf0bed26d": "值枚举", - "K633a03ca": "枚举", - "Kd2766caf": "最小长度", - "Kd6d52485": "最大长度", - "Kea15f66c": "最小值", - "K1af340ff": "最大值", - "K68691e16": "将文件拖拽至此处上传,或点击选择文件上传", - "Kcec46ae": "Upload Files", - "K760fb044": "Files Selected", - "Kea2bdee0": "请填写接口名称", - "K49053438": "详细说明", - "K148f6fa4": "高级匹配", - "K3ae4c789": "转发配置", - "K2f4d0a37": "请求参数", - "Kde2d6dbd": "返回示例", - "K70e6069c": "测试 API", - "Ke4603448": "请求 Header", - "K89fd86b3": "请求 Body", - "K8747e3c4": "请求示例代码", - "K8613e6e7": "响应示例", - "Kab1c2159": "响应 Header", - "Kd2be51d1": "响应 Body", - "K831aa6c0": "申请方-应用", - "K58ca9485": "申请服务", - "K283f55b4": "服务所属系统", - "Kd60d204": "服务所属团队", - "K3a9a3b75": "审批状态", - "K4f57b2de": "审批人", - "K31dabc6b": "审批时间", - "K8582af3f": "拒绝", - "K54e27f57": "通过", - "K7eeca185": "审批完成", - "Kd4061161": "发布审批中", - "K823bfe63": "在线", - "K97ddb3f8": "-", - "Kc9315fa1": "已拒绝", - "K3fbe7511": "发布异常", - "Ke64e695c": "发布中", - "K17f93984": "API 名称", - "K1365fe45": "请求方式", - "Kc380335f": "路径", - "K4ee62e8": "该 API 缺失(0)(1)(2)请先补充", - "K385591f3": "转发信息,", - "K68415c14": "文档信息,", - "K133b75e9": "上游信息,", - "Kad98e030": "上游类型", - "Kdeed8399": "静态上游", - "K78b1ca25": "地址", - "K6208054": "待审批", - "K1be7f021": "审批通过", - "K677a4959": "发布终止", - "Kfd6d2d3d": "已关闭", - "K9d7e880a": "发布版本", - "K855135f": "创建版本时间", - "Kcbf39b82": "版本状态", - "K339d15b5": "创建人", - "K7194cea2": "审核时间", - "K69827c60": "发布状态", - "K1644b775": "新增", - "K4fdf4dcc": "变更", - "K33d66e26": "无变更", - "K9b70c007": "缺失字段", - "Kd85208a3": "驳回", - "K8adf7f8b": "审核中", - "Kad6aa439": "已订阅", - "K3118fdb0": "取消订阅", - "K9a68443b": "取消申请", - "K18307d56": "手动添加", - "K705fe9f5": "订阅申请", - "Kbc96ebec": "申请方应用", - "K1f89176d": "申请方所属团队", - "Kfe731dfc": "操作", - "K71661ee8": "必填项", - "Kcbee3f8": "不是有效邮箱地址", - "K442cfba1": "请输入", - "K3bb646e4": "请选择", - "Ka4ecfa40": "英文数字下划线任意一种,首字母必须为英文", - "K39686a7f": "支持字母开头、英文数字中横线下划线组合", - "K4d6a0190": "选择拒绝时,审批意见为必填", - "K37318b68": "无法连接集群,请检查集群地址是否正确或防火墙配置", - "K7f0c746d": "操作成功", - "K6a365d01": "操作失败", - "K978062b6": "正在操作", - "Kca7bd6d4": "正在加载数据", - "K3c93b77e": "获取数据失败", - "Ke108c369": "登录成功", - "K9168d3e": "退出成功,将跳转至登录页", - "K2f8a7ab7": "未填写审核意见", - "Kb858d78a": "复制成功", - "K26e85d15": "复制失败,请手动复制", - "K5cfdd950": "该数据删除后将无法找回,请确认是否删除?", - "K2a3f24ac": "默认工作表", - "K7e1ab4b0": "至", - "Kf1b166e7": "详情", - "K28555332": "暂不支持带有双斜杠//的url", - "Keb9fcdad": "用户名", - "Kc654b275": "邮箱", - "Kbe2ecc69": "部门", - "K759fb403": "状态", - "K52c8a730": "启用", - "K718c9310": "禁用", - "K2c5882be": "绑定域名", - "K1cc07937": "过期日期", - "K8b7c2592": "更新者", - "Keefda53d": "更新时间", - "K9f3db3ca": "集群名称", - "Ke7487049": "集群 ID", - "Kb660ffe8": "节点名称", - "Kf12b3034": "管理地址", - "K867e6faf": "服务地址", - "K37348a5e": "集群同步地址", - "K151d2bb7": "环境名称", - "Kfa744afd": "集群数量", - "K23a3bd72": "异常", - "Ke039b9b5": "正常", - "K5c123bad": "角色名称", - "K76036e25": "HTTP 请求头", - "K8d4cbf50": "Cookie", - "K44607e3f": "全等匹配", - "Kc287500a": "前缀匹配", - "Kfc0b1147": "后缀匹配", - "Ka4a92043": "子串匹配", - "K30b2e44f": "非等匹配", - "Kb1587991": "空值匹配", - "K1e97dbd8": "存在匹配", - "Kc8ee3e62": "不存在匹配", - "K87c5a801": "区分大小写的正则匹配", - "K95f062f1": "不区分大小写的正则匹配", - "Kfbd230a5": "任意匹配", - "K413b9869": "服务名称", - "K1e84ad04": "服务 ID", - "K72b0c0b3": "API 数量", - "Kf7200cd9": "负责人", - "Kefaf9956": "创建时间", - "K98db2cb9": "申请状态", - "Ke792d01c": "所属服务", - "K61b62ace": "来源", - "Ke63767cf": "添加时间", - "K3a67ea90": "订阅方", - "K442937c4": "订阅时间", - "K34111022": "协议/方法", - "K62d10724": "URL", - "Ka9481f95": "创建者", - "Kf88d56fd": "上游 ID", - "K11a92fb2": "更新人", - "K2c2bc64f": "动态服务发现", - "Kc9a2a716": "HTTPS", - "Ka7f8266f": "带权轮询", - "Kd17edabd": "IP Hash", - "Kaeba0229": "透传客户端请求 Host", - "K6d7e2fd0": "使用上游服务 Host", - "K31332633": "重写 Host", - "Ke65db976": "权重", - "Kf966b12d": "内部服务:可通过网关访问,但不展示在服务广场", - "Kfc939e49": "公开服务:可通过网关访问,展示在服务广场,可被其他应用订阅", - "Ke96ccf45": " ", - "K5582ac8": "请求路径", - "K92485dd1": "所有 API", - "Ke64e43a": "隐藏鉴权信息", - "K1a78e6f0": "过期时间", - "K40bbb0a3": "服务ID", - "K9919285b": "服务类型", - "K63938137": "公开服务", - "Kfb20a12": "内部服务", - "Kedd64e4d": "停用", - "Ka29b346f": "地址(IP 端口或域名)", - "K63b1e0dc": "权重(0-999)", - "K74ab00a3": "已审批", - "Kea996156": "发布申请记录", - "Kbea7d266": "所属系统", - "Ka36c13cc": "调用系统名称", - "Kd78d73a7": "调用服务名称", - "K73c144eb": "当前系统名称", - "K285bd65e": "被调用服务名称", - "K5cbab635": "被调用系统名称", - "K93c2696e": "上线结果", - "K43fcaf94": "成功", - "Kc71c6a9": "上线失败", - "K56c686f8": "失败", - "K3ba29a85": "API", - "Kda8d5ea1": "上游", - "Kdefa9caa": "使用说明", - "K36856e71": "发布", - "K6382bbfd": "订阅管理", - "K2eef4e4": "订阅审批", - "Ka97bd9e5": "订阅方管理", - "K5974bf24": "管理", - "K3fa5c4c3": "调用拓扑图", - "Kb5c7b82d": "设置", - "K2472615e": "服务数量", - "Kc02aa5f1": "API数量", - "Ke08ff808": "添加日期", - "Kd7d84192": "姓名", - "Kc88e03b6": "团队角色", - "Kdf35c48c": "所有成员", - "K3818f03d": "审批", - "K56b4254f": "发布申请", - "Kd2c1a316": "登录", - "Kf076f63c": "请输入账号", - "K80a560a1": "账号", - "K25c895d5": "请输入密码", - "K551b0348": "密码", - "K480045ce": "Version (0)-(1)", - "Kadee8e49": "日志配置", - "K3453272": "APIPark 提供详尽的 API 调用日志,帮助企业监控、分析和审计 API 的运行状况。", - "K33c76dbc": "部门名称", - "K84829ca9": "父部门 ID", - "K4d7fc74b": "子部门名称", - "Ka16e6c44": "未激活、已禁用的成员无法加入到部门", - "Ked03ba97": "请选择成员需要新加入的部门", - "K5e237e06": "name", - "K184d3473": "添加账号", - "K1ecb35f2": "编辑成员信息", - "Ke6f00b44": "加入部门", - "K501cb1e7": "确定删除成员?此操作无法恢复,确认操作?", - "Kf20863b5": "成员与部门", - "K5f27a546": "输入用户名、邮箱查找成员", - "K26c698bb": "添加部门", - "Kb9cf2a7d": "添加子部门", - "Kc83551f5": "重命名", - "K3f1077c9": "设置成员和对应的角色,成员只能够看到权限范围内的功能和数据。", - "Kdce62a6": "搜索部门", - "K8ef69ee2": "密钥", - "Kba3507d6": "上传密钥", - "K93ac0f23": "密钥文件的后缀名一般为 .key 的文件内容", - "K7cdd1331": "上传证书", - "K6d91905d": "证书文件的后缀名一般为 .crt 或 .pem 的文件内容", - "Kd0f6ded7": "添加证书", - "Ke5732d60": "修改证书", - "K3ca07a70": "证书管理", - "Kdb927f83": "通过为 API 服务配置和管理 SSL 证书,企业可以加密数据传输,防止敏感信息被窃取或篡改。", - "K877985b7": "修改配置", - "Kdf66a675": "设置访问 API 的集群,让 API 在分布式环境中稳定运行,并且能够根据业务需求进行灵活扩展和优化。", - "Kaf074220": "未配置", - "K5878440c": "集群地址", - "K5e9022f8": "下一步", - "K8e7a0f80": "资源配置", - "Kabfe9512": "保存", - "K95c3fd8b": "设置角色的权限范围。", - "K138facd3": "系统级别角色", - "K6eac768d": "添加角色", - "Kb9c2cf02": "团队级别角色", - "Kb4ceecea": "添加子分类", - "K67479e88": "修改分类名称", - "K2bc75e2c": "添加分类", - "Kab4aab44": "重命名分类", - "K8e0e6977": "设置服务可选择的分类,方便团队成员快速找到API。", - "Ke595a20a": "分类名称", - "K9679728f": "父分类 ID", - "K9b2d08fd": "子分类名称", - "Kf14e76e5": "副本", - "K2e050340": "API 基础信息", - "K90f3c02f": "转发规则设置", - "K6ea8d549": "编辑文档", - "Kff5c18ac": "最后编辑人", - "K2eb99415": "转发规则", - "Ke93388fd": "编辑 API", - "K1b1ae3b0": "复制 API", - "K84aabfd4": "添加 API", - "K6a662463": "输入名称、URL 查找 API", - "K59bc6280": "API 详情", - "K2a16c93b": "单位:ms,最小值:1", - "K469e475a": "重试次数", - "Kd568e15c": "发布结果", - "K35f990b0": "查看详情", - "Kdbc1f6cb": "申请发布", - "Kb6860a3f": "回滚", - "Ka3494f4b": "请确认是否回滚?", - "Kb397a99f": "撤销申请", - "K7d401c0f": "请确认是否撤销申请?", - "Ke1b79b93": "终止发布", - "Ka2449180": "请确认是否终止发布?", - "K2cb02f38": "新建版本", - "Ka9c08390": "只允许上传PNG、JPG或SVG格式的图片", - "Kcf756b7a": "API 调用前缀", - "K43d101a": "选填,作为服务内所有API的前缀,比如host/{service_name}/{api_path},一旦保存无法修改", - "Kdc840242": "图标", - "K427a5bd5": "仅支持 .png .jpg .jpeg .svg 格式的图片文件, 大于 1KB 的文件将被压缩", - "K44bc352d": "Logo", - "Kf52a584d": "所属服务分类", - "K72b21be5": "设置服务展示在服务市场中的哪个分类下", - "Kde6bae17": "删除服务", - "K885ea699": "删除操作不可恢复,请谨慎操作!", - "K617f34f1": "最近一次更新者", - "K6ebca204": "最近一次更新时间", - "K39ab0358": "新增订阅方", - "K2d6658ed": "添加服务", - "K7b8f623f": "输入名称、ID、所属团队、负责人查找服务", - "Kdd9b5008": "后端默认使用的IP地址", - "K6bc47edb": "请求协议", - "Kc9acdb25": "负载均衡", - "K632dba5c": "转发 Host", - "Kc1f08a63": "重写域名", - "K628f6851": "超时时间", - "Kaff62621": "超时重试次数", - "Kc41ca30e": "调用频率限制", - "K813e1c0a": "团队名称", - "K692f5aa6": "团队 ID", - "K5de0bc2": "团队 ID(team_id)可用于检索团队,一旦保存无法修改。", - "Ka63dd985": "团队负责人", - "Ka6bcd272": "负责人对团队内的团队、服务、成员有管理权限", - "Ka2012bdd": "删除团队", - "Kbde1f3d": "服务数据清除后,方可删除", - "K395acc14": "移除成员", - "Kec46a57f": "添加成员", - "K48724410": "输入姓名查找", - "Kb9052305": "搜索用户名、邮箱", - "K5ece3bac": "设置团队和成员,然后你可以在团队内创建服务和应用、订阅API,成员只能看到所属团队内的服务和应用。", - "K510cdd27": "添加团队", - "K9244ae14": "输入名称、ID、负责人查找团队", - "Kc7b24b4b": "配置团队", - "Kecb51e2c": "旧密码", - "K8266bcf2": "新密码", - "Ka9aef039": "确认密码", - "Kcf42dcda": "两次密码不一致", - "Kf876a42d": "修改密码", - "K8ed884f": "管理个人账号", - "K9be8e1d7": "API调用统计", - "K521ab28e": "选择服务", - "Kcc8265e1": "选择API", - "K8aefc1e4": "请输入请求路径进行搜索", - "K50d471b2": "重置", - "Kee8ae330": "查询", - "Ka2c794a2": "导出", - "Kaf70c3b": "退出全屏", - "Kd22841a4": "(0)调用详情", - "K1512e983": "应用调用统计", - "Kb4d2007f": "请选择应用", - "K8c7f2d2e": "调用趋势", - "K657c3452": "(0)-(1)调用趋势", - "Kc04efb87": "调用量统计", - "Keb98266e": "加入总体数据对比", - "K18c2ed46": "(0)调用量", - "Kc3741830": "(0)调用成功率", - "Ka6aa5863": "请求总数", - "K9eaef42": "请求成功率", - "K7082a4af": "转发总数", - "K1ce386fb": "转发成功率", - "K87d6877e": "状态码4xx数", - "K4c8a54db": "状态码5xx数", - "Kd566283e": "调用总体趋势", - "Kd23a0be6": "请求报文量", - "Kec3e8361": "响应报文量", - "Ke6250744": "状态码4XX数", - "K2d79d4e1": "状态码5XX数", - "Kcf6553c6": "服务调用统计", - "Kffcfe375": "请选择服务", - "Ka65f739c": "调用详情", - "K89b7ac79": "API 请求量 Top10", - "Kc0915603": "应用调用量 Top10", - "Kf90b54": "服务被调用量 Top10", - "Kfb26388": "暂无请求统计数据", - "Kc8cbd8f8": "请求统计", - "K8dece48": "暂无转发统计数据", - "K1ee32434": "转发统计", - "Kcd125e4d": "暂无调用量统计数据", - "Kaa114e8b": "暂无报文量统计数据", - "K3ad84406": "报文量统计", - "K19a3ebe0": "请求成功数", - "Kcaa8259": "转发成功数", - "K888f038f": "失败状态码数", - "K42d2bef2": "平均响应时间(ms)", - "K9197c994": "最大响应时间(ms)", - "K7c2f3fee": "最小响应时间(ms)", - "K3d85ea54": "平均请求流量(KB)", - "Keec09d32": "最大请求流量(KB)", - "K3786b48": "最小请求流量(KB)", - "K5168eb63": "应用名称", - "K546e46f": "应用 ID", - "K4a1a14": "监控总览", - "K69741ea7": "服务被调用统计", - "K9c8d9933": "API 调用统计", - "K28cf9613": "每分钟", - "K18f25019": "每5分钟", - "Kf00f01ca": "每小时", - "Kfcda87fc": "每天", - "K29ec75dc": "每周", - "K145e4941": "亿", - "Ke6a935d": "万", - "K8f7abcab": " 次", - "K146477a8": "服务标签", - "K4de0af74": "服务分类", - "Kcce1af60": "订阅的服务", - "Kb6e9328f": "访问授权", - "Kb7e869a4": "应用管理", - "Kd59290a2": "搜索分类或标签", - "K6b75bdbc": "暂无API数据", - "Kd8a7a689": "搜索或选择应用", - "K4b15d6f5": "申请理由", - "Kb71b5a13": "鉴权类型", - "K4d1465ee": "Iss", - "K5dcd7ed8": "签名算法", - "K5b0eedd3": "Secret", - "K44f4ffe1": "RSA 公钥", - "Kc5ecd7d9": "用户名 JsonPath", - "K417d85cf": "校验字段", - "K3b82fe1d": "是否 Base64 加密", - "K49b5f4a3": "AK", - "K31418470": "SK", - "Kbfeb5297": "Apikey", - "K95764d1d": "删除应用", - "K217cb125": "鉴权详情", - "K2bb63eca": "添加鉴权", - "Kd74d69b7": "编辑鉴权", - "K9cbe1e0": "修改", - "Kd23d1716": "添加授权", - "K9dfa2c97": "永不过期", - "Kfa920c0": "到期时间", - "Kbeb4e991": "审批详情", - "Ked811bb1": "请确认是否取消订阅?", - "K50c39a62": "取消订阅申请", - "K1856c229": "请确认是否取消订阅申请?", - "K66ea2f0": "搜索服务", - "Kfeb2559b": "审批中", - "Ka2b6d281": "API 文档", - "K667bbbe7": "添加应用", - "Ka4b45550": "暂无服务描述", - "K3c7b175f": "订阅的服务数量:已通过 (0) 个,申请中 (1) 个", - "K850b4b2d": "状态码", - "Kbe3e9335": "退出测试", - "K370a3eb2": "服务市场", - "Kf7ec36d": "服务详情", - "K59cdbec3": "介绍", - "K4aa9ed2c": "申请", - "K6c060779": "服务信息", - "K8723422e": "接入应用", - "Kb97544cb": "供应方", - "Kb32f0afe": "分类", - "K81634069": "版本", - "K96a2f1c8": "无标签", - "K93d5a66e": "接入应用数量", - "K3e770a75": "鉴权 Token", - "K96059c69": "关联标签", - "K32263abd": "添加 Open Api", - "K7829bb78": "配置 Open Api", - "Kcdf76005": "Open Api", - "Ke2601944": "调用服务", - "K8504bca8": "放大", - "K693c1b41": "缩小" -} \ No newline at end of file +{} \ No newline at end of file diff --git a/frontend/packages/common/src/locales/scan/newJson/en-GB.json b/frontend/packages/common/src/locales/scan/newJson/en-GB.json index a7a790cf..8a630c45 100644 --- a/frontend/packages/common/src/locales/scan/newJson/en-GB.json +++ b/frontend/packages/common/src/locales/scan/newJson/en-GB.json @@ -1,6 +1,7 @@ { "Kc0e5ef9f": "工作空间", "K3863c722": "我的", + "K4de11e23": "首页", "Kfe93ef35": "应用", "Kb58e0c3f": "服务", "Kc9e489f5": "团队", @@ -15,6 +16,7 @@ "K958da71f": "服务分类管理", "Kf270ca55": "运维与集成", "Ke93d36ed": "集群", + "K9708a557": "监控报表", "K481e8a05": "证书", "Kca53edd0": "日志", "Kb283e720": "资源", @@ -49,6 +51,8 @@ "K48325b6": "搜索(0)名称", "Ka1d885c1": "添加", "Kad207008": "编辑", + "Ke4b7722": "简体", + "Kd185073d": "英文", "K1ff96ff": "申请系统", "K9bf855d6": "所属团队", "K11b994ed": "申请人", @@ -65,6 +69,11 @@ "K9dbf22b8": "近24小时", "K820fbfab": "近3天", "Kd6d28fc": "近7天", + "K3d7465f7": "文件日志", + "Kc87167a0": "HTTP日志", + "K80ef19d3": "Kafka文件日志", + "K398cc3c5": "NSQ文件日志", + "K2bcdb54": "Syslog文件日志", "K23fda291": "暂无操作权限,请联系管理员分配。", "K4618cb0a": "微信小程序", "Ka854f511": "获取文件,需填路径", @@ -324,11 +333,30 @@ "Kdf35c48c": "所有成员", "K3818f03d": "审批", "K56b4254f": "发布申请", + "Kd518ba3e": "Hello!欢迎使用 APIPark", + "Ke66e4182": "你能通过 APIPark 快速在企业内部构建 API 开放门户/市场,享受极致的转发性能、API 可观测、服务治理、多租户管理、订阅审批流程等诸多好处。", + "Kedd41c18": "如果你喜欢我们的产品,欢迎给我们 Star 或提供产品反馈意见。", + "Kef02fd87": "快速入门", + "K43a3b38d": "我们提供了一些任务来帮你快速了解 APIPark", + "Kc8239422": "团队中包含了人员、应用和服务,不同团队之间的应用和服务数据是隔离的,可用于管理企业内部不同的部门/项目组/团队。", + "Kd5be0cd7": "服务内包含一组 API,并且可以发布到 API 市场被其他团队使用。", + "K4ea67613": "应用是申请服务和调用 API 的身份,可以在 API 市场申请调用服务,并且每个应用拥有独立的 API 访问鉴权。", + "Ka4748416": "检索服务和 API", + "K383e17e5": "你可以在 API 市场中查看所有公开的服务。", + "K8f7808e6": "订阅服务", + "Kb0755523": "如果需要调用某个服务的 API,需要先订阅该服务,并且等待提供服务的团队审批后才可发起 API 请求。", + "Kd28a1aa5": "审批订阅申请", + "K4472e361": "提供服务的团队可以审批来自其他团队的订阅申请,审批通过后的应用才可发起 API请求。", + "K297d8563": "仪表盘中提供了多种统计图表,帮助我们了解 API 的运行情况。", + "K48f7e21f": "了解更多功能", + "Ka3626c8c": "隐藏快速入门", "Kd2c1a316": "登录", "Kf076f63c": "请输入账号", "K80a560a1": "账号", "K25c895d5": "请输入密码", "K551b0348": "密码", + "K192b3e38": "访客模式", + "K91aa4801": "您可通过访客模式查看所有页面和功能,但是无法编辑数据。访客模式仅用于了解产品功能,您可以在正式产品中关闭该功能。", "K480045ce": "Version (0)-(1)", "Kadee8e49": "日志配置", "K3453272": "APIPark 提供详尽的 API 调用日志,帮助企业监控、分析和审计 API 的运行状况。", @@ -363,6 +391,11 @@ "Kaf074220": "未配置", "K5878440c": "集群地址", "K5e9022f8": "下一步", + "Kdbafd6f9": "设置监控报表的数据来源,设置完成之后即可获得详细的API调用统计图表。", + "K1358acf": "统计图表", + "K8fa58214": "数据源", + "K62dabdf6": "地址(IP:端口)", + "K2db12335": "组织(Organization)", "K8e7a0f80": "资源配置", "Kabfe9512": "保存", "K95c3fd8b": "设置角色的权限范围。", diff --git a/frontend/packages/common/src/locales/scan/newJson/zh-CN.json b/frontend/packages/common/src/locales/scan/newJson/zh-CN.json index a7a790cf..8a630c45 100644 --- a/frontend/packages/common/src/locales/scan/newJson/zh-CN.json +++ b/frontend/packages/common/src/locales/scan/newJson/zh-CN.json @@ -1,6 +1,7 @@ { "Kc0e5ef9f": "工作空间", "K3863c722": "我的", + "K4de11e23": "首页", "Kfe93ef35": "应用", "Kb58e0c3f": "服务", "Kc9e489f5": "团队", @@ -15,6 +16,7 @@ "K958da71f": "服务分类管理", "Kf270ca55": "运维与集成", "Ke93d36ed": "集群", + "K9708a557": "监控报表", "K481e8a05": "证书", "Kca53edd0": "日志", "Kb283e720": "资源", @@ -49,6 +51,8 @@ "K48325b6": "搜索(0)名称", "Ka1d885c1": "添加", "Kad207008": "编辑", + "Ke4b7722": "简体", + "Kd185073d": "英文", "K1ff96ff": "申请系统", "K9bf855d6": "所属团队", "K11b994ed": "申请人", @@ -65,6 +69,11 @@ "K9dbf22b8": "近24小时", "K820fbfab": "近3天", "Kd6d28fc": "近7天", + "K3d7465f7": "文件日志", + "Kc87167a0": "HTTP日志", + "K80ef19d3": "Kafka文件日志", + "K398cc3c5": "NSQ文件日志", + "K2bcdb54": "Syslog文件日志", "K23fda291": "暂无操作权限,请联系管理员分配。", "K4618cb0a": "微信小程序", "Ka854f511": "获取文件,需填路径", @@ -324,11 +333,30 @@ "Kdf35c48c": "所有成员", "K3818f03d": "审批", "K56b4254f": "发布申请", + "Kd518ba3e": "Hello!欢迎使用 APIPark", + "Ke66e4182": "你能通过 APIPark 快速在企业内部构建 API 开放门户/市场,享受极致的转发性能、API 可观测、服务治理、多租户管理、订阅审批流程等诸多好处。", + "Kedd41c18": "如果你喜欢我们的产品,欢迎给我们 Star 或提供产品反馈意见。", + "Kef02fd87": "快速入门", + "K43a3b38d": "我们提供了一些任务来帮你快速了解 APIPark", + "Kc8239422": "团队中包含了人员、应用和服务,不同团队之间的应用和服务数据是隔离的,可用于管理企业内部不同的部门/项目组/团队。", + "Kd5be0cd7": "服务内包含一组 API,并且可以发布到 API 市场被其他团队使用。", + "K4ea67613": "应用是申请服务和调用 API 的身份,可以在 API 市场申请调用服务,并且每个应用拥有独立的 API 访问鉴权。", + "Ka4748416": "检索服务和 API", + "K383e17e5": "你可以在 API 市场中查看所有公开的服务。", + "K8f7808e6": "订阅服务", + "Kb0755523": "如果需要调用某个服务的 API,需要先订阅该服务,并且等待提供服务的团队审批后才可发起 API 请求。", + "Kd28a1aa5": "审批订阅申请", + "K4472e361": "提供服务的团队可以审批来自其他团队的订阅申请,审批通过后的应用才可发起 API请求。", + "K297d8563": "仪表盘中提供了多种统计图表,帮助我们了解 API 的运行情况。", + "K48f7e21f": "了解更多功能", + "Ka3626c8c": "隐藏快速入门", "Kd2c1a316": "登录", "Kf076f63c": "请输入账号", "K80a560a1": "账号", "K25c895d5": "请输入密码", "K551b0348": "密码", + "K192b3e38": "访客模式", + "K91aa4801": "您可通过访客模式查看所有页面和功能,但是无法编辑数据。访客模式仅用于了解产品功能,您可以在正式产品中关闭该功能。", "K480045ce": "Version (0)-(1)", "Kadee8e49": "日志配置", "K3453272": "APIPark 提供详尽的 API 调用日志,帮助企业监控、分析和审计 API 的运行状况。", @@ -363,6 +391,11 @@ "Kaf074220": "未配置", "K5878440c": "集群地址", "K5e9022f8": "下一步", + "Kdbafd6f9": "设置监控报表的数据来源,设置完成之后即可获得详细的API调用统计图表。", + "K1358acf": "统计图表", + "K8fa58214": "数据源", + "K62dabdf6": "地址(IP:端口)", + "K2db12335": "组织(Organization)", "K8e7a0f80": "资源配置", "Kabfe9512": "保存", "K95c3fd8b": "设置角色的权限范围。", diff --git a/frontend/packages/common/src/locales/scan/zh-CN.json b/frontend/packages/common/src/locales/scan/zh-CN.json index 3787a6ec..9e26dfee 100644 --- a/frontend/packages/common/src/locales/scan/zh-CN.json +++ b/frontend/packages/common/src/locales/scan/zh-CN.json @@ -1,570 +1 @@ -{ - "Kc0e5ef9f": "工作空间", - "K48325b6": "搜索(0)名称", - "K3d7465f7":"文件日志", - "K3863c722": "我的", - "Kfe93ef35": "应用", - "Kb58e0c3f": "服务", - "Kc9e489f5": "团队", - "K61c89f5f": "API 市场", - "K16d71239": "仪表盘", - "K714c192d": "运行视图", - "Kd57dfe97": "系统拓扑图", - "K3fe97dcc": "系统设置", - "K67ef3525": "组织", - "K74aef1ad": "成员", - "Kf644225f": "角色", - "K958da71f": "服务分类管理", - "Kf270ca55": "运维与集成", - "Ke93d36ed": "集群", - "K481e8a05": "证书", - "Kca53edd0": "日志", - "Kb283e720": "资源", - "K631d646f": "Open API", - "K6535ff9c": "账号设置", - "Kf15499b4": "退出登录", - "Kabbd6e6": "文档", - "K1196b104": "APIPark - 企业API数据开放平台", - "K1f42de3": "HTTP 状态码", - "K4770dff4": "系统状态码", - "Kf89e58f1": "描述", - "K9e53c664": "提交", - "Kf8e7294c": "上一步", - "Ka0451c97": "取消", - "Kb1dedda3": "关闭", - "Kb2fc7600": "添加配置", - "K4e07217d": "编辑配置", - "K4ea968fe": "编辑(0)", - "Ka7aaaeb": "添加(0)", - "Kaff78ecf": "请输入Key", - "K65d46535": "请输入Value", - "Kc14b2ea3": "返回", - "K11d3633a": "ID", - "Kbff43de3": "名称", - "K16ca79ef": "Driver", - "K7a369eef": "已发布", - "Kcfa1a4d2": "下线", - "K771dc3b7": "上线", - "K530f5951": "查看", - "Kecbd7449": "删除", - "K1cbe2507": "确认", - "Ka1d885c1": "添加", - "Kad207008": "编辑", - "K1ff96ff": "申请系统", - "K9bf855d6": "所属团队", - "K11b994ed": "申请人", - "K939baba7": "申请时间", - "Kdab2e63b": "版本号", - "K8b29c460": "版本说明", - "K36a72ad1": "API 列表", - "K54e44357": "上游列表", - "Kb8e8e6f5": "备注", - "K1ab0ae5b": "申请原因", - "K53c00c3c": "审核意见", - "K7edf331d": "时间", - "Kef45b208": "近1小时", - "K9dbf22b8": "近24小时", - "K820fbfab": "近3天", - "Kd6d28fc": "近7天", - "K23fda291": "暂无操作权限,请联系管理员分配。", - "K4618cb0a": "微信小程序", - "Ka854f511": "获取文件,需填路径", - "Kaa11a695": "暂不支持生成非 HTTPS 或非 HTTP 协议的代码示例", - "Kbe46924e": "搜索编程语言...", - "Ke8e4f258": "编程语言", - "K29c07a47": "成功示例", - "K1f5c814d": "失败示例", - "K4ef022d7": "默认 text/html;charset=UTF-8", - "Kd061b5bf": "暂未填写示例", - "Kc14cec33": "Binary", - "K48b4d9e3": "请求头部", - "Kcd347eaf": "请求体", - "K9e100bfe": "Query 参数", - "K3e9f12fd": "REST 参数", - "K2bfa290c": "api request editor", - "Kb36d111a": "返回头部", - "K980bde79": "返回值", - "Kb04d201a": "更多设置", - "Kee74f5b4": "添加子参数", - "Kc7d3106c": "向下添加行", - "Keaabd222": "标签", - "K8ad2c50e": "参数名", - "K67d68dd1": "类型", - "K29245f47": "必需", - "Ke32cbcd3": "示例", - "Kc13936c6": "输入 URL 或 cURL", - "Ka1ede006": "HTTP", - "K152ac44e": "参数位置", - "K1660ae72": "匹配类型", - "K91ced765": "参数值", - "K5b265628": "操作类型", - "K1826982d": "新增或修改", - "Kd65b55f5": "匹配参数值", - "K15f35bf2": "转发上游路径", - "K79dec0dd": "请求超时时间", - "K7d465645": "绑定上游服务", - "K63a6404d": "重试时间", - "K47740727": "转发上游请求头", - "K2b605d42": "More", - "K1df9fbd5": "导入", - "K5e85df18": "导入格式", - "K9eaf7885": "全量替换", - "Kf8c3a80b": "在末端插入", - "Kd96b2d7d": "增量更新", - "Kf2fc08eb": "请求头", - "Ka45f1d8": "Rest 参数", - "K94bb113a": "大小", - "K359919b5": "另存为文件", - "K38bf1b90": "响应", - "K59f4186e": "响应头", - "K5f1e23fd": "正文", - "Kf404ef7d": "发送(Enter)", - "K2dbfd648": "中止", - "Kacabc771": "秒", - "K13ae6a93": "复制", - "Ke54a14a3": "格式化", - "K43934f6d": "搜索", - "K741decac": "替代", - "Kd507abff": "确定", - "Kca2d1624": "The (0) must not be negative.", - "K792b255a": "The (0) must be greater than or equal to the (1).", - "Kf0bed26d": "值枚举", - "K633a03ca": "枚举", - "Kd2766caf": "最小长度", - "Kd6d52485": "最大长度", - "Kea15f66c": "最小值", - "K1af340ff": "最大值", - "K68691e16": "将文件拖拽至此处上传,或点击选择文件上传", - "Kcec46ae": "Upload Files", - "K760fb044": "Files Selected", - "Kea2bdee0": "请填写接口名称", - "K49053438": "详细说明", - "K148f6fa4": "高级匹配", - "K3ae4c789": "转发配置", - "K2f4d0a37": "请求参数", - "Kde2d6dbd": "返回示例", - "K70e6069c": "测试 API", - "Ke4603448": "请求 Header", - "K89fd86b3": "请求 Body", - "K8747e3c4": "请求示例代码", - "K8613e6e7": "响应示例", - "Kab1c2159": "响应 Header", - "Kd2be51d1": "响应 Body", - "K831aa6c0": "申请方-应用", - "K58ca9485": "申请服务", - "K283f55b4": "服务所属系统", - "Kd60d204": "服务所属团队", - "K3a9a3b75": "审批状态", - "K4f57b2de": "审批人", - "K31dabc6b": "审批时间", - "K8582af3f": "拒绝", - "K54e27f57": "通过", - "K7eeca185": "审批完成", - "Kd4061161": "发布审批中", - "K823bfe63": "在线", - "K97ddb3f8": "-", - "Kc9315fa1": "已拒绝", - "K3fbe7511": "发布异常", - "Ke64e695c": "发布中", - "K17f93984": "API 名称", - "K1365fe45": "请求方式", - "Kc380335f": "路径", - "K4ee62e8": "该 API 缺失(0)(1)(2)请先补充", - "K385591f3": "转发信息,", - "K68415c14": "文档信息,", - "K133b75e9": "上游信息,", - "Kad98e030": "上游类型", - "Kdeed8399": "静态上游", - "K78b1ca25": "地址", - "K6208054": "待审批", - "K1be7f021": "审批通过", - "K677a4959": "发布终止", - "Kfd6d2d3d": "已关闭", - "K9d7e880a": "发布版本", - "K855135f": "创建版本时间", - "Kcbf39b82": "版本状态", - "K339d15b5": "创建人", - "K7194cea2": "审核时间", - "K69827c60": "发布状态", - "K1644b775": "新增", - "K4fdf4dcc": "变更", - "K33d66e26": "无变更", - "K9b70c007": "缺失字段", - "Kd85208a3": "驳回", - "K8adf7f8b": "审核中", - "Kad6aa439": "已订阅", - "K3118fdb0": "取消订阅", - "K9a68443b": "取消申请", - "K18307d56": "手动添加", - "K705fe9f5": "订阅申请", - "Kbc96ebec": "申请方应用", - "K1f89176d": "申请方所属团队", - "Kfe731dfc": "操作", - "K71661ee8": "必填项", - "Kcbee3f8": "不是有效邮箱地址", - "K442cfba1": "请输入", - "K3bb646e4": "请选择", - "Ka4ecfa40": "英文数字下划线任意一种,首字母必须为英文", - "K39686a7f": "支持字母开头、英文数字中横线下划线组合", - "K4d6a0190": "选择拒绝时,审批意见为必填", - "K37318b68": "无法连接集群,请检查集群地址是否正确或防火墙配置", - "K7f0c746d": "操作成功", - "K6a365d01": "操作失败", - "K978062b6": "正在操作", - "Kca7bd6d4": "正在加载数据", - "K3c93b77e": "获取数据失败", - "Ke108c369": "登录成功", - "K9168d3e": "退出成功,将跳转至登录页", - "K2f8a7ab7": "未填写审核意见", - "Kb858d78a": "复制成功", - "K26e85d15": "复制失败,请手动复制", - "K5cfdd950": "该数据删除后将无法找回,请确认是否删除?", - "K2a3f24ac": "默认工作表", - "K7e1ab4b0": "至", - "Kf1b166e7": "详情", - "K28555332": "暂不支持带有双斜杠//的url", - "Keb9fcdad": "用户名", - "Kc654b275": "邮箱", - "Kbe2ecc69": "部门", - "K759fb403": "状态", - "K52c8a730": "启用", - "K718c9310": "禁用", - "K2c5882be": "绑定域名", - "K1cc07937": "过期日期", - "K8b7c2592": "更新者", - "Keefda53d": "更新时间", - "K9f3db3ca": "集群名称", - "Ke7487049": "集群 ID", - "Kb660ffe8": "节点名称", - "Kf12b3034": "管理地址", - "K867e6faf": "服务地址", - "K37348a5e": "集群同步地址", - "K151d2bb7": "环境名称", - "Kfa744afd": "集群数量", - "K23a3bd72": "异常", - "Ke039b9b5": "正常", - "K5c123bad": "角色名称", - "K76036e25": "HTTP 请求头", - "K8d4cbf50": "Cookie", - "K44607e3f": "全等匹配", - "Kc287500a": "前缀匹配", - "Kfc0b1147": "后缀匹配", - "Ka4a92043": "子串匹配", - "K30b2e44f": "非等匹配", - "Kb1587991": "空值匹配", - "K1e97dbd8": "存在匹配", - "Kc8ee3e62": "不存在匹配", - "K87c5a801": "区分大小写的正则匹配", - "K95f062f1": "不区分大小写的正则匹配", - "Kfbd230a5": "任意匹配", - "K413b9869": "服务名称", - "K1e84ad04": "服务 ID", - "K72b0c0b3": "API 数量", - "Kf7200cd9": "负责人", - "Kefaf9956": "创建时间", - "K98db2cb9": "申请状态", - "Ke792d01c": "所属服务", - "K61b62ace": "来源", - "Ke63767cf": "添加时间", - "K3a67ea90": "订阅方", - "K442937c4": "订阅时间", - "K34111022": "协议/方法", - "K62d10724": "URL", - "Ka9481f95": "创建者", - "Kf88d56fd": "上游 ID", - "K11a92fb2": "更新人", - "K2c2bc64f": "动态服务发现", - "Kc9a2a716": "HTTPS", - "Ka7f8266f": "带权轮询", - "Kd17edabd": "IP Hash", - "Kaeba0229": "透传客户端请求 Host", - "K6d7e2fd0": "使用上游服务 Host", - "K31332633": "重写 Host", - "Ke65db976": "权重", - "Kf966b12d": "内部服务:可通过网关访问,但不展示在服务广场", - "Kfc939e49": "公开服务:可通过网关访问,展示在服务广场,可被其他应用订阅", - "Ke96ccf45": " ", - "K5582ac8": "请求路径", - "K92485dd1": "所有 API", - "Ke64e43a": "隐藏鉴权信息", - "K1a78e6f0": "过期时间", - "K40bbb0a3": "服务ID", - "K9919285b": "服务类型", - "K63938137": "公开服务", - "Kfb20a12": "内部服务", - "Kedd64e4d": "停用", - "Ka29b346f": "地址(IP 端口或域名)", - "K63b1e0dc": "权重(0-999)", - "K74ab00a3": "已审批", - "Kea996156": "发布申请记录", - "Kbea7d266": "所属系统", - "Ka36c13cc": "调用系统名称", - "Kd78d73a7": "调用服务名称", - "K73c144eb": "当前系统名称", - "K285bd65e": "被调用服务名称", - "K5cbab635": "被调用系统名称", - "K93c2696e": "上线结果", - "K43fcaf94": "成功", - "Kc71c6a9": "上线失败", - "K56c686f8": "失败", - "K3ba29a85": "API", - "Kda8d5ea1": "上游", - "Kdefa9caa": "使用说明", - "K36856e71": "发布", - "K6382bbfd": "订阅管理", - "K2eef4e4": "订阅审批", - "Ka97bd9e5": "订阅方管理", - "K5974bf24": "管理", - "K3fa5c4c3": "调用拓扑图", - "Kb5c7b82d": "设置", - "K2472615e": "服务数量", - "Kc02aa5f1": "API数量", - "Ke08ff808": "添加日期", - "Kd7d84192": "姓名", - "Kc88e03b6": "团队角色", - "Kdf35c48c": "所有成员", - "K3818f03d": "审批", - "K56b4254f": "发布申请", - "Kd2c1a316": "登录", - "Kf076f63c": "请输入账号", - "K80a560a1": "账号", - "K25c895d5": "请输入密码", - "K551b0348": "密码", - "K480045ce": "Version (0)-(1)", - "Kadee8e49": "日志配置", - "K3453272": "APIPark 提供详尽的 API 调用日志,帮助企业监控、分析和审计 API 的运行状况。", - "K33c76dbc": "部门名称", - "K84829ca9": "父部门 ID", - "K4d7fc74b": "子部门名称", - "Ka16e6c44": "未激活、已禁用的成员无法加入到部门", - "Ked03ba97": "请选择成员需要新加入的部门", - "K5e237e06": "name", - "K184d3473": "添加账号", - "K1ecb35f2": "编辑成员信息", - "Ke6f00b44": "加入部门", - "K501cb1e7": "确定删除成员?此操作无法恢复,确认操作?", - "Kf20863b5": "成员与部门", - "K5f27a546": "输入用户名、邮箱查找成员", - "K26c698bb": "添加部门", - "Kb9cf2a7d": "添加子部门", - "Kc83551f5": "重命名", - "K3f1077c9": "设置成员和对应的角色,成员只能够看到权限范围内的功能和数据。", - "Kdce62a6": "搜索部门", - "K8ef69ee2": "密钥", - "Kba3507d6": "上传密钥", - "K93ac0f23": "密钥文件的后缀名一般为 .key 的文件内容", - "K7cdd1331": "上传证书", - "K6d91905d": "证书文件的后缀名一般为 .crt 或 .pem 的文件内容", - "Kd0f6ded7": "添加证书", - "Ke5732d60": "修改证书", - "K3ca07a70": "证书管理", - "Kdb927f83": "通过为 API 服务配置和管理 SSL 证书,企业可以加密数据传输,防止敏感信息被窃取或篡改。", - "K877985b7": "修改配置", - "Kdf66a675": "设置访问 API 的集群,让 API 在分布式环境中稳定运行,并且能够根据业务需求进行灵活扩展和优化。", - "Kaf074220": "未配置", - "K5878440c": "集群地址", - "K5e9022f8": "下一步", - "K8e7a0f80": "资源配置", - "Kabfe9512": "保存", - "K95c3fd8b": "设置角色的权限范围。", - "K138facd3": "系统级别角色", - "K6eac768d": "添加角色", - "Kb9c2cf02": "团队级别角色", - "Kb4ceecea": "添加子分类", - "K67479e88": "修改分类名称", - "K2bc75e2c": "添加分类", - "Kab4aab44": "重命名分类", - "K8e0e6977": "设置服务可选择的分类,方便团队成员快速找到API。", - "Ke595a20a": "分类名称", - "K9679728f": "父分类 ID", - "K9b2d08fd": "子分类名称", - "Kf14e76e5": "副本", - "K2e050340": "API 基础信息", - "K90f3c02f": "转发规则设置", - "K6ea8d549": "编辑文档", - "Kff5c18ac": "最后编辑人", - "K2eb99415": "转发规则", - "Ke93388fd": "编辑 API", - "K1b1ae3b0": "复制 API", - "K84aabfd4": "添加 API", - "K6a662463": "输入名称、URL 查找 API", - "K59bc6280": "API 详情", - "K2a16c93b": "单位:ms,最小值:1", - "K469e475a": "重试次数", - "Kd568e15c": "发布结果", - "K35f990b0": "查看详情", - "Kdbc1f6cb": "申请发布", - "Kb6860a3f": "回滚", - "Ka3494f4b": "请确认是否回滚?", - "Kb397a99f": "撤销申请", - "K7d401c0f": "请确认是否撤销申请?", - "Ke1b79b93": "终止发布", - "Ka2449180": "请确认是否终止发布?", - "K2cb02f38": "新建版本", - "Ka9c08390": "只允许上传PNG、JPG或SVG格式的图片", - "Kcf756b7a": "API 调用前缀", - "K43d101a": "选填,作为服务内所有API的前缀,比如host/{service_name}/{api_path},一旦保存无法修改", - "Kdc840242": "图标", - "K427a5bd5": "仅支持 .png .jpg .jpeg .svg 格式的图片文件, 大于 1KB 的文件将被压缩", - "K44bc352d": "Logo", - "Kf52a584d": "所属服务分类", - "K72b21be5": "设置服务展示在服务市场中的哪个分类下", - "Kde6bae17": "删除服务", - "K885ea699": "删除操作不可恢复,请谨慎操作!", - "K617f34f1": "最近一次更新者", - "K6ebca204": "最近一次更新时间", - "K39ab0358": "新增订阅方", - "K2d6658ed": "添加服务", - "K7b8f623f": "输入名称、ID、所属团队、负责人查找服务", - "Kdd9b5008": "后端默认使用的IP地址", - "K6bc47edb": "请求协议", - "Kc9acdb25": "负载均衡", - "K632dba5c": "转发 Host", - "Kc1f08a63": "重写域名", - "K628f6851": "超时时间", - "Kaff62621": "超时重试次数", - "Kc41ca30e": "调用频率限制", - "K813e1c0a": "团队名称", - "K692f5aa6": "团队 ID", - "K5de0bc2": "团队 ID(team_id)可用于检索团队,一旦保存无法修改。", - "Ka63dd985": "团队负责人", - "Ka6bcd272": "负责人对团队内的团队、服务、成员有管理权限", - "Ka2012bdd": "删除团队", - "Kbde1f3d": "服务数据清除后,方可删除", - "K395acc14": "移除成员", - "Kec46a57f": "添加成员", - "K48724410": "输入姓名查找", - "Kb9052305": "搜索用户名、邮箱", - "K5ece3bac": "设置团队和成员,然后你可以在团队内创建服务和应用、订阅API,成员只能看到所属团队内的服务和应用。", - "K510cdd27": "添加团队", - "K9244ae14": "输入名称、ID、负责人查找团队", - "Kc7b24b4b": "配置团队", - "Kecb51e2c": "旧密码", - "K8266bcf2": "新密码", - "Ka9aef039": "确认密码", - "Kcf42dcda": "两次密码不一致", - "Kf876a42d": "修改密码", - "K8ed884f": "管理个人账号", - "K9be8e1d7": "API调用统计", - "K521ab28e": "选择服务", - "Kcc8265e1": "选择API", - "K8aefc1e4": "请输入请求路径进行搜索", - "K50d471b2": "重置", - "Kee8ae330": "查询", - "Ka2c794a2": "导出", - "Kaf70c3b": "退出全屏", - "Kd22841a4": "(0)调用详情", - "K1512e983": "应用调用统计", - "Kb4d2007f": "请选择应用", - "K8c7f2d2e": "调用趋势", - "K657c3452": "(0)-(1)调用趋势", - "Kc04efb87": "调用量统计", - "Keb98266e": "加入总体数据对比", - "K18c2ed46": "(0)调用量", - "Kc3741830": "(0)调用成功率", - "Ka6aa5863": "请求总数", - "K9eaef42": "请求成功率", - "K7082a4af": "转发总数", - "K1ce386fb": "转发成功率", - "K87d6877e": "状态码4xx数", - "K4c8a54db": "状态码5xx数", - "Kd566283e": "调用总体趋势", - "Kd23a0be6": "请求报文量", - "Kec3e8361": "响应报文量", - "Ke6250744": "状态码4XX数", - "K2d79d4e1": "状态码5XX数", - "Kcf6553c6": "服务调用统计", - "Kffcfe375": "请选择服务", - "Ka65f739c": "调用详情", - "K89b7ac79": "API 请求量 Top10", - "Kc0915603": "应用调用量 Top10", - "Kf90b54": "服务被调用量 Top10", - "Kfb26388": "暂无请求统计数据", - "Kc8cbd8f8": "请求统计", - "K8dece48": "暂无转发统计数据", - "K1ee32434": "转发统计", - "Kcd125e4d": "暂无调用量统计数据", - "Kaa114e8b": "暂无报文量统计数据", - "K3ad84406": "报文量统计", - "K19a3ebe0": "请求成功数", - "Kcaa8259": "转发成功数", - "K888f038f": "失败状态码数", - "K42d2bef2": "平均响应时间(ms)", - "K9197c994": "最大响应时间(ms)", - "K7c2f3fee": "最小响应时间(ms)", - "K3d85ea54": "平均请求流量(KB)", - "Keec09d32": "最大请求流量(KB)", - "K3786b48": "最小请求流量(KB)", - "K5168eb63": "应用名称", - "K546e46f": "应用 ID", - "K4a1a14": "监控总览", - "K69741ea7": "服务被调用统计", - "K9c8d9933": "API 调用统计", - "K28cf9613": "每分钟", - "K18f25019": "每5分钟", - "Kf00f01ca": "每小时", - "Kfcda87fc": "每天", - "K29ec75dc": "每周", - "K145e4941": "亿", - "Ke6a935d": "万", - "K8f7abcab": " 次", - "K146477a8": "服务标签", - "K4de0af74": "服务分类", - "Kcce1af60": "订阅的服务", - "Kb6e9328f": "访问授权", - "Kb7e869a4": "应用管理", - "Kd59290a2": "搜索分类或标签", - "K6b75bdbc": "暂无API数据", - "Kd8a7a689": "搜索或选择应用", - "K4b15d6f5": "申请理由", - "Kb71b5a13": "鉴权类型", - "K4d1465ee": "Iss", - "K5dcd7ed8": "签名算法", - "K5b0eedd3": "Secret", - "K44f4ffe1": "RSA 公钥", - "Kc5ecd7d9": "用户名 JsonPath", - "K417d85cf": "校验字段", - "K3b82fe1d": "是否 Base64 加密", - "K49b5f4a3": "AK", - "K31418470": "SK", - "Kbfeb5297": "Apikey", - "K95764d1d": "删除应用", - "K217cb125": "鉴权详情", - "K2bb63eca": "添加鉴权", - "Kd74d69b7": "编辑鉴权", - "K9cbe1e0": "修改", - "Kd23d1716": "添加授权", - "K9dfa2c97": "永不过期", - "Kfa920c0": "到期时间", - "Kbeb4e991": "审批详情", - "Ked811bb1": "请确认是否取消订阅?", - "K50c39a62": "取消订阅申请", - "K1856c229": "请确认是否取消订阅申请?", - "K66ea2f0": "搜索服务", - "Kfeb2559b": "审批中", - "Ka2b6d281": "API 文档", - "K667bbbe7": "添加应用", - "Ka4b45550": "暂无服务描述", - "K3c7b175f": "订阅的服务数量:已通过 (0) 个,申请中 (1) 个", - "K850b4b2d": "状态码", - "Kbe3e9335": "退出测试", - "K370a3eb2": "服务市场", - "Kf7ec36d": "服务详情", - "K59cdbec3": "介绍", - "K4aa9ed2c": "申请", - "K6c060779": "服务信息", - "K8723422e": "接入应用", - "Kb97544cb": "供应方", - "Kb32f0afe": "分类", - "K81634069": "版本", - "K96a2f1c8": "无标签", - "K93d5a66e": "接入应用数量", - "K3e770a75": "鉴权 Token", - "K96059c69": "关联标签", - "K32263abd": "添加 Open Api", - "K7829bb78": "配置 Open Api", - "Kcdf76005": "Open Api", - "Ke2601944": "调用服务", - "K8504bca8": "放大", - "K693c1b41": "缩小" -} \ No newline at end of file +{} \ No newline at end of file diff --git a/frontend/packages/common/src/utils/permission.ts b/frontend/packages/common/src/utils/permission.ts index 28710851..b2362e6b 100644 --- a/frontend/packages/common/src/utils/permission.ts +++ b/frontend/packages/common/src/utils/permission.ts @@ -12,7 +12,6 @@ export const checkAccess:(access:AccessDataType, accessData:Map console.warn('权限字段有误:',access) return false } - console.log(access, PERMISSION_DEFINITION) const neededBackendAccessArr = PERMISSION_DEFINITION[0]?.[access]?.granted?.anyOf[0].backend || [] return accessData?.has(accLevel)&& accessData.get(accLevel)!.length > 0 ? hasIntersection(neededBackendAccessArr, accessData.get(accLevel)!) : false } diff --git a/frontend/packages/core/src/components/aoplatform/RenderRoutes.tsx b/frontend/packages/core/src/components/aoplatform/RenderRoutes.tsx index 08b57842..9968330d 100644 --- a/frontend/packages/core/src/components/aoplatform/RenderRoutes.tsx +++ b/frontend/packages/core/src/components/aoplatform/RenderRoutes.tsx @@ -12,6 +12,7 @@ import {FC,lazy} from 'react'; import { TeamProvider } from '@core/contexts/TeamContext.tsx'; import SystemOutlet from '@core/pages/system/SystemOutlet.tsx'; import { TenantManagementProvider } from '@market/contexts/TenantManagementContext.tsx'; +import Guide from '@core/pages/guide/Guide'; type RouteConfig = { path:string @@ -59,9 +60,14 @@ const PUBLIC_ROUTES:RouteConfig[] = [ component:, key: uuidv4(), children:[ + // { + // path:'approval/*', + // component:, + // key:uuidv4() + // }, { - path:'approval/*', - component:, + path:'guide/*', + component:, key:uuidv4() }, { diff --git a/frontend/packages/core/src/pages/guide/Guide.tsx b/frontend/packages/core/src/pages/guide/Guide.tsx new file mode 100644 index 00000000..cf3f61da --- /dev/null +++ b/frontend/packages/core/src/pages/guide/Guide.tsx @@ -0,0 +1,101 @@ +import InsidePage from "@common/components/aoplatform/InsidePage" +import { $t } from "@common/locales" +import { Icon } from "@iconify/react/dist/iconify.js" +import { Button, Card, Collapse } from "antd" +import { Dispatch, SetStateAction, useEffect, useState } from "react" + +export default function Guide(){ + const [showGuide, setShowGuide] = useState(localStorage.getItem('showGuide') !== 'false' ) + useEffect(()=>{ + localStorage.setItem('showGuide', showGuide.toString()) + },[showGuide]) + return ( + + 👋 + {$t('Hello!欢迎使用 APIPark')} + +
} + description={
+

{$t("你能通过 APIPark 快速在企业内部构建 API 开放门户/市场,享受极致的转发性能、API 可观测、服务治理、多租户管理、订阅审批流程等诸多好处。")}

+

{$t("如果你喜欢我们的产品,欢迎给我们 Star 或提供产品反馈意见。")}

+
} + showBorder={false} + contentClassName=" pr-PAGE_INSIDE_X pb-PAGE_INSIDE_B" + > + {showGuide && + +

+ 🚀{`${$t('快速入门')}`}

+

{$t("我们提供了一些任务来帮你快速了解 APIPark")}

, + children: }]} + />} + ) +} + +const QuickGuideContent = ({changeGuideShow}:{changeGuideShow:Dispatch>})=>{ + return (<> +
+

{$t('工作空间')}

+
+
+ {window.open('https://docs.apipark.com/docs/category/%E5%9B%A2%E9%98%9F','_blank')}}> + {$t('团队中包含了人员、应用和服务,不同团队之间的应用和服务数据是隔离的,可用于管理企业内部不同的部门/项目组/团队。')} + + {window.open('https://docs.apipark.com/docs/category/%E6%9C%8D%E5%8A%A1','_blank')}}> + {$t('服务内包含一组 API,并且可以发布到 API 市场被其他团队使用。')} + + {window.open('https://docs.apipark.com/docs/category/%E5%BA%94%E7%94%A8','_blank')}}> + {$t('应用是申请服务和调用 API 的身份,可以在 API 市场申请调用服务,并且每个应用拥有独立的 API 访问鉴权。')} + +
+
+

{$t('API 市场')}

+
+
+ {window.open('https://docs.apipark.com/docs/category/api-market','_blank')}}> + {$t('你可以在 API 市场中查看所有公开的服务。')} + + {window.open('https://docs.apipark.com/docs/tutorials/application/subscribe-service','_blank')}}> + {$t('如果需要调用某个服务的 API,需要先订阅该服务,并且等待提供服务的团队审批后才可发起 API 请求。')} + + {window.open('https://docs.apipark.com/docs/tutorials/service/subscriber-approve','_blank')}}> + {$t('提供服务的团队可以审批来自其他团队的订阅申请,审批通过后的应用才可发起 API请求。')} + +
+
+

{$t('仪表盘')}

+
+
+ {window.open('https://docs.apipark.com/docs/quick/','_blank')}}> + {$t('仪表盘中提供了多种统计图表,帮助我们了解 API 的运行情况。')} + +
+
+

+ +

+ + +
+

+
+ ) +} \ No newline at end of file diff --git a/frontend/packages/core/src/pages/system/SystemList.tsx b/frontend/packages/core/src/pages/system/SystemList.tsx index 7f33f205..247d28f8 100644 --- a/frontend/packages/core/src/pages/system/SystemList.tsx +++ b/frontend/packages/core/src/pages/system/SystemList.tsx @@ -142,7 +142,7 @@ const SystemList:FC = ()=>{ return (
- + {/* */} = ({ className, lineData, titles, yAx legend: { orient: 'horizontal', top: '50', + left:'10', selected: {...MONITOR_LINE_CHART_BASIC_MESSAGE_SELECTED} }, grid: { @@ -686,11 +687,10 @@ const MonitorLineGraph: FC = ({ className, lineData, titles, yAx option.title = { text: titles[0], - left: 'center', - top: '0', + left: '10', textStyle: { fontSize: 16, - fontWeight: 500 + color: '#666666' } } // 当勾选请求成功率或转发成功率其中之一时,显示右侧y轴 @@ -722,7 +722,7 @@ const MonitorLineGraph: FC = ({ className, lineData, titles, yAx // }, 400), []); return ( -
+
) diff --git a/frontend/packages/dashboard/src/component/MonitorTotalPage.tsx b/frontend/packages/dashboard/src/component/MonitorTotalPage.tsx index b2772e9b..9e453fb4 100644 --- a/frontend/packages/dashboard/src/component/MonitorTotalPage.tsx +++ b/frontend/packages/dashboard/src/component/MonitorTotalPage.tsx @@ -276,8 +276,9 @@ const MonitorTotalPage = (props:MonitorTotalPageProps) => { />}
{/* 折线图区域 */} - {/* 调用量统计折线图 */} - {invokeStaticError ? : + {/* 调用量统计折线图 */} + {invokeStaticError ? : { type="invoke" />} {/* 报文量统计折线图 */} - {trafficStaticError ? ::} +
{/* 表格区域 */}