From 85414a4b7bfeb83270264b9431f56d60ff7ba65d Mon Sep 17 00:00:00 2001 From: yumoqing Date: Sun, 6 Sep 2026 14:28:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(home):=20=E5=AE=A2=E6=88=B7=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=BC=80=E6=94=BE=E9=80=9A=E7=94=A8=E5=8A=A9=E6=89=8B?= =?UTF-8?q?+=E5=85=A8=E9=83=A8=E4=BA=A7=E7=BA=BF+API=20Key=E8=87=AA?= =?UTF-8?q?=E5=8A=A9(dapi=20apikey=5Fmanage=E5=A5=97=E4=BB=B6RBAC=E8=A1=A5?= =?UTF-8?q?logined;=E8=AF=8D=E6=9D=A1=E5=9B=9B=E8=AF=AD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- i18n/en/msg.txt | 2 ++ i18n/jp/msg.txt | 2 ++ i18n/ko/msg.txt | 2 ++ i18n/zh/msg.txt | 2 ++ scripts/load_path.py | 15 +++++++++++++ wwwroot/i18n/en/i18n.json | 4 +++- wwwroot/i18n/jp/i18n.json | 4 +++- wwwroot/i18n/ko/i18n.json | 4 +++- wwwroot/i18n/zh/i18n.json | 4 +++- wwwroot/index.ui | 44 +++++++++++++++++++++++++++++++++++++++ 10 files changed, 79 insertions(+), 4 deletions(-) diff --git a/i18n/en/msg.txt b/i18n/en/msg.txt index d344aaf..93f11a9 100644 --- a/i18n/en/msg.txt +++ b/i18n/en/msg.txt @@ -34,3 +34,5 @@ Submit: Submit 营销产线规划中,尚未开发: Marketing Pipeline is planned, not yet developed 切换主题: Toggle theme 显示所有已最小化的窗口: Show all minimized windows +通用助手: General Assistant +API Key: API Key diff --git a/i18n/jp/msg.txt b/i18n/jp/msg.txt index 264c955..b124592 100644 --- a/i18n/jp/msg.txt +++ b/i18n/jp/msg.txt @@ -34,3 +34,5 @@ Submit: 送信 营销产线规划中,尚未开发: マーケティングパイプラインは計画中で、まだ開発されていません 切换主题: テーマ切替 显示所有已最小化的窗口: 最小化されたすべてのウィンドウを表示 +通用助手: 汎用アシスタント +API Key: API Key diff --git a/i18n/ko/msg.txt b/i18n/ko/msg.txt index d8cc1a5..ca4a93e 100644 --- a/i18n/ko/msg.txt +++ b/i18n/ko/msg.txt @@ -34,3 +34,5 @@ Submit: 제출 营销产线规划中,尚未开发: 마케팅 파이프라인은 계획 중이며 아직 개발되지 않았습니다 切换主题: 테마 전환 显示所有已最小化的窗口: 최소화된 모든 창 표시 +通用助手: 일반 어시스턴트 +API Key: API Key diff --git a/i18n/zh/msg.txt b/i18n/zh/msg.txt index f3694fa..2b86459 100644 --- a/i18n/zh/msg.txt +++ b/i18n/zh/msg.txt @@ -34,3 +34,5 @@ Submit: Submit 营销产线规划中,尚未开发: 营销产线规划中,尚未开发 切换主题: 切换主题 显示所有已最小化的窗口: 显示所有已最小化的窗口 +通用助手: 通用助手 +API Key: API Key diff --git a/scripts/load_path.py b/scripts/load_path.py index f0ce8cf..21a9d88 100644 --- a/scripts/load_path.py +++ b/scripts/load_path.py @@ -62,6 +62,21 @@ PERMS = [ ("/pipeline_core/index.ui", "pipeline_core", "logined"), ("/pipeline_ops/index.ui", "pipeline_ops", "logined"), ("/pipeline_dist/index.ui", "pipeline_dist", "logined"), + # dapi 客户自助 API Key 套件(apikey_manage.ui 数据按 orgid+userid 自过滤; + # downapps/get_apikey/apply_apikey 已挂 customer.*,此处补齐页面+操作端点, + # 口径 logined 与既有 create_apikey.dspy/copy_apikey.dspy 一致) + ("/dapi", "dapi", "logined"), + ("/dapi/apikey_manage.ui", "dapi", "logined"), + ("/dapi/downapps.dspy", "dapi", "logined"), + ("/dapi/get_apikey.dspy", "dapi", "logined"), + ("/dapi/apply_apikey.dspy", "dapi", "logined"), + ("/dapi/create_apikey.dspy", "dapi", "logined"), + ("/dapi/create_apikey.ui", "dapi", "logined"), + ("/dapi/copy_apikey.dspy", "dapi", "logined"), + ("/dapi/update_apikey.dspy", "dapi", "logined"), + ("/dapi/update_apikey.ui", "dapi", "logined"), + ("/dapi/do_update_apikey.dspy", "dapi", "logined"), + ("/dapi/delete_apikey.dspy", "dapi", "logined"), ] diff --git a/wwwroot/i18n/en/i18n.json b/wwwroot/i18n/en/i18n.json index 5530321..58f25ea 100644 --- a/wwwroot/i18n/en/i18n.json +++ b/wwwroot/i18n/en/i18n.json @@ -276,5 +276,7 @@ "📱 短视频": "📱 Short Video", "切换主题": "Toggle theme", "显示所有已最小化的窗口": "Show all minimized windows", - "## 完毕 ##": "## Done ##" + "## 完毕 ##": "## Done ##", + "通用助手": "General Assistant", + "API Key": "API Key" } \ No newline at end of file diff --git a/wwwroot/i18n/jp/i18n.json b/wwwroot/i18n/jp/i18n.json index 2f06fcd..6e631e7 100644 --- a/wwwroot/i18n/jp/i18n.json +++ b/wwwroot/i18n/jp/i18n.json @@ -276,5 +276,7 @@ "📱 短视频": "📱 ショート動画", "切换主题": "テーマ切替", "显示所有已最小化的窗口": "最小化されたすべてのウィンドウを表示", - "## 完毕 ##": "## 完了 ##" + "## 完毕 ##": "## 完了 ##", + "通用助手": "汎用アシスタント", + "API Key": "API Key" } \ No newline at end of file diff --git a/wwwroot/i18n/ko/i18n.json b/wwwroot/i18n/ko/i18n.json index 8ce7274..22cbd19 100644 --- a/wwwroot/i18n/ko/i18n.json +++ b/wwwroot/i18n/ko/i18n.json @@ -276,5 +276,7 @@ "📱 短视频": "📱 숏폼 영상", "切换主题": "테마 전환", "显示所有已最小化的窗口": "최소화된 모든 창 표시", - "## 完毕 ##": "## 완료 ##" + "## 完毕 ##": "## 완료 ##", + "通用助手": "일반 어시스턴트", + "API Key": "API Key" } \ No newline at end of file diff --git a/wwwroot/i18n/zh/i18n.json b/wwwroot/i18n/zh/i18n.json index c761d3e..3348940 100644 --- a/wwwroot/i18n/zh/i18n.json +++ b/wwwroot/i18n/zh/i18n.json @@ -98,5 +98,7 @@ "📱 短视频": "📱 短视频", "切换主题": "切换主题", "显示所有已最小化的窗口": "显示所有已最小化的窗口", - "## 完毕 ##": "## 完毕 ##" + "## 完毕 ##": "## 完毕 ##", + "通用助手": "通用助手", + "API Key": "API Key" } \ No newline at end of file diff --git a/wwwroot/index.ui b/wwwroot/index.ui index 7897555..4ba943b 100644 --- a/wwwroot/index.ui +++ b/wwwroot/index.ui @@ -152,6 +152,50 @@ "target": "app.main_content", "items": [ {% if is_customer and not is_admin %} + { + "name": "generic_agent", + "label": "通用助手", + "icon": "", + "script": "this.open_tab({name:'generic_agent',label:'通用助手',url:'/pipeline_core/agent_generic',removable:true})" + }, + { + "name": "cust_pipelines_group", + "label": "产线", + "icon": "{{entire_url('/imgs/workflow.svg')}}", + "items": [ + { + "name": "pipeline_opportunity", + "label": "商机产线", + "script": "this.open_tab({name:'pipeline_opportunity',label:'商机产线',url:'/pipeline-opportunity/agent',removable:true})" + }, + { + "name": "pipeline_bidding", + "label": "投标产线", + "script": "this.open_tab({name:'pipeline_bidding',label:'投标产线',url:'/pipeline-bidding/agent',removable:true})" + }, + { + "name": "pipeline_sdlc", + "label": "开发产线", + "script": "this.open_tab({name:'pipeline_sdlc',label:'开发产线',url:'/pipeline_core/agent',removable:true})" + }, + { + "name": "pipeline_foms", + "label": "运维产线", + "script": "bricks.show_message({title:'运维产线',message:'运维产线(面向FOMS)规划中,尚未开发'});" + }, + { + "name": "pipeline_marketing", + "label": "营销产线", + "script": "bricks.show_message({title:'营销产线',message:'营销产线规划中,尚未开发'});" + } + ] + }, + { + "name": "cust_apikey", + "label": "API Key", + "icon": "", + "script": "this.open_tab({name:'cust_apikey',label:'API Key',url:'/dapi/apikey_manage.ui',removable:true})" + }, { "name": "cust_account", "label": "我的账户",