From c3c6a551ae4ec43f8d869b43f962bf2ced5df136 Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Fri, 6 Jun 2025 18:26:51 +0800 Subject: [PATCH] refactor: application add chat_background --- apps/application/views/application_api_key.py | 26 +++++++++---------- .../component/XPackDisplaySettingDialog.vue | 20 ++++++++++++-- 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/apps/application/views/application_api_key.py b/apps/application/views/application_api_key.py index 371580344..5f961a3cb 100644 --- a/apps/application/views/application_api_key.py +++ b/apps/application/views/application_api_key.py @@ -8,6 +8,8 @@ from application.api.application_api_key import ApplicationKeyCreateAPI from application.models import ApplicationApiKey from application.serializers.application_api_key import ApplicationKeySerializer from common.auth import TokenAuth +from common.auth.authentication import has_permissions +from common.constants.permission_constants import PermissionConstants from common.log.log import log from common.result import result, success @@ -34,10 +36,11 @@ class ApplicationKey(APIView): ) @log(menu='Application', operate="Add ApiKey", get_operation_object=lambda r, k: get_application_operation_object(k.get('application_api_key_id'))) - def post(self,request: Request, application_id: str, workspace_id: str): + @has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission()) + def post(self, request: Request, application_id: str, workspace_id: str): return result.success(ApplicationKeySerializer( - data={'application_id': application_id, 'user_id': request.user.id, - 'workspace_id':workspace_id}).generate()) + data={'application_id': application_id, 'user_id': request.user.id, + 'workspace_id': workspace_id}).generate()) @extend_schema( methods=['GET'], @@ -47,11 +50,11 @@ class ApplicationKey(APIView): parameters=ApplicationKeyCreateAPI.get_parameters(), tags=[_('Application Api Key')] # type: ignore ) - def get(self,request: Request, application_id: str, workspace_id: str): - return result,success(ApplicationKeySerializer( - data={'application_id':application_id, 'user_id':request.user.id, - 'workspace_id':workspace_id}).list()) - + @has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission()) + def get(self, request: Request, application_id: str, workspace_id: str): + return result, success(ApplicationKeySerializer( + data={'application_id': application_id, 'user_id': request.user.id, + 'workspace_id': workspace_id}).list()) class Operate(APIView): authentication_classes = [TokenAuth] @@ -64,9 +67,6 @@ class ApplicationKey(APIView): parameters=ApplicationKeyCreateAPI.get_parameters(), tags=[_('Application Api Key')] # type: ignore ) + @has_permissions(PermissionConstants.APPLICATION_OVERVIEW_API_KEY.get_workspace_application_permission()) def put(self, request: Request, application_id: str, workspace_id: str): - return result.success(ApplicationKeySerializer.Operate( - - ) - ) - + return result.success(ApplicationKeySerializer.Operate()) diff --git a/ui/src/views/application-overview/component/XPackDisplaySettingDialog.vue b/ui/src/views/application-overview/component/XPackDisplaySettingDialog.vue index 895b7b866..3f7c8d61a 100644 --- a/ui/src/views/application-overview/component/XPackDisplaySettingDialog.vue +++ b/ui/src/views/application-overview/component/XPackDisplaySettingDialog.vue @@ -439,6 +439,10 @@ const defaultSetting = { show_history: true, draggable: true, show_guide: true, + icon: '', + icon_url: '', + chat_background: '', + chat_background_url: '', avatar: '', avatar_url: '', float_icon: '', @@ -465,9 +469,13 @@ const xpackForm = ref({ show_source: false, show_exec: false, language: '', + icon: '', + icon_url: '', show_history: false, draggable: false, show_guide: false, + chat_background: '', + chat_background_url: '', avatar: '', avatar_url: '', float_icon: '', @@ -491,7 +499,9 @@ const xpackForm = ref({ const imgUrl = ref({ avatar: '', float_icon: '', - user_avatar: '' + user_avatar: '', + icon: '', + chat_background: '' }) const dialogVisible = ref(false) @@ -511,7 +521,9 @@ function resetForm() { imgUrl.value = { avatar: '', float_icon: '', - user_avatar: '' + user_avatar: '', + icon: '', + chat_background: '' } } @@ -538,6 +550,8 @@ const open = (data: any, content: any) => { xpackForm.value.draggable = data.draggable xpackForm.value.show_guide = data.show_guide imgUrl.value.avatar = data.avatar + imgUrl.value.icon = data.icon + imgUrl.value.chat_background = data.chat_background imgUrl.value.float_icon = data.float_icon imgUrl.value.user_avatar = data.user_avatar xpackForm.value.disclaimer = data.disclaimer @@ -551,6 +565,8 @@ const open = (data: any, content: any) => { ) } xpackForm.value.avatar_url = data.avatar + xpackForm.value.chat_background_url = data.chat_background + xpackForm.value.icon_url = data.icon xpackForm.value.user_avatar_url = data.user_avatar xpackForm.value.float_icon_url = data.float_icon xpackForm.value.show_avatar = data.show_avatar