diff --git a/backend/apps/dashboard/crud/dashboard_service.py b/backend/apps/dashboard/crud/dashboard_service.py index 566636af..4154024d 100644 --- a/backend/apps/dashboard/crud/dashboard_service.py +++ b/backend/apps/dashboard/crud/dashboard_service.py @@ -33,11 +33,11 @@ def load_resource(session: SessionDep, dashboard: QueryDashboard): sql = text(""" SELECT cd.*, creator.name AS create_name, - updator.name AS update_name + updater.name AS update_name FROM core_dashboard cd LEFT JOIN sys_user creator ON cd.create_by = creator.id::varchar - LEFT JOIN sys_user updator - ON cd.update_by = updator.id:: varchar + LEFT JOIN sys_user updater + ON cd.update_by = updater.id:: varchar WHERE cd.id = :dashboard_id """) result = session.execute(sql, {"dashboard_id": dashboard.id}).mappings().first() diff --git a/backend/common/core/config.py b/backend/common/core/config.py index 4e09c201..df7efba0 100644 --- a/backend/common/core/config.py +++ b/backend/common/core/config.py @@ -28,7 +28,9 @@ class Settings(BaseSettings): extra="ignore", ) PROJECT_NAME: str = "SQLBot" - API_V1_STR: str = "/api/v1" + #CONTEXT_PATH: str = "/sqlbot" + CONTEXT_PATH: str = "" + API_V1_STR: str = CONTEXT_PATH + "/api/v1" SECRET_KEY: str = secrets.token_urlsafe(32) # 60 minutes * 24 hours * 8 days = 8 days ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 8 diff --git a/backend/common/utils/whitelist.py b/backend/common/utils/whitelist.py index 8a11d1d2..9080062e 100644 --- a/backend/common/utils/whitelist.py +++ b/backend/common/utils/whitelist.py @@ -67,6 +67,13 @@ def is_whitelisted(self, path: str) -> bool: prefix = settings.API_V1_STR if path.startswith(prefix): path = path[len(prefix):] + + context_prefix = settings.CONTEXT_PATH + if context_prefix and path.startswith(context_prefix): + path = path[len(context_prefix):] + + if not path: + path = '/' if path in self.whitelist: return True diff --git a/frontend/src/components/layout/Person.vue b/frontend/src/components/layout/Person.vue index 75b6a657..160ffa4e 100644 --- a/frontend/src/components/layout/Person.vue +++ b/frontend/src/components/layout/Person.vue @@ -34,6 +34,11 @@ const account = computed(() => userStore.getAccount) const currentLanguage = computed(() => userStore.getLanguage) const isAdmin = computed(() => userStore.isAdmin) const isLocalUser = computed(() => !userStore.getOrigin) + +const platFlag = computed(() => { + const platformInfo = userStore.getPlatformInfo + return platformInfo?.flag || 0 +}) const dialogVisible = ref(false) const apikeyDialogVisible = ref(false) const aboutRef = ref() @@ -125,7 +130,7 @@ const logout = async () => {
{{ $t('common.system_manage') }}
-
+
@@ -177,7 +182,7 @@ const logout = async () => {
{{ $t('common.help') }}
-
+
diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json index b112ff3b..298b5106 100644 --- a/frontend/src/i18n/en.json +++ b/frontend/src/i18n/en.json @@ -194,7 +194,7 @@ "creator": "Creator", "dashboard_id": "Dashboard ID", "create_time": "Create Time", - "updator": "Updater", + "updater": "Updater", "update_time": "Update Time", "edit": "Edit", "edit_title": "Edit Title", diff --git a/frontend/src/i18n/ko-KR.json b/frontend/src/i18n/ko-KR.json index 13ca8e3e..a2d03dfc 100644 --- a/frontend/src/i18n/ko-KR.json +++ b/frontend/src/i18n/ko-KR.json @@ -194,7 +194,7 @@ "creator": "생성자", "dashboard_id": "대시보드 ID", "create_time": "생성 시간", - "updator": "업데이트자", + "updater": "업데이트자", "update_time": "업데이트 시간", "edit": "편집", "edit_title": "제목 편집", @@ -852,4 +852,4 @@ "to_doc": "API 보기", "trigger_limit": "최대 {0}개의 API 키 생성 지원" } -} \ No newline at end of file +} diff --git a/frontend/src/i18n/zh-CN.json b/frontend/src/i18n/zh-CN.json index 2780ebb9..1c97722b 100644 --- a/frontend/src/i18n/zh-CN.json +++ b/frontend/src/i18n/zh-CN.json @@ -194,7 +194,7 @@ "creator": "创建人", "dashboard_id": "仪表板ID", "create_time": "创建时间", - "updator": "更新人", + "updater": "更新人", "update_time": "更新时间", "edit": "编辑", "edit_title": "编辑标题", diff --git a/frontend/src/views/dashboard/common/DashboardDetailInfo.vue b/frontend/src/views/dashboard/common/DashboardDetailInfo.vue index ada27f12..e72a4656 100644 --- a/frontend/src/views/dashboard/common/DashboardDetailInfo.vue +++ b/frontend/src/views/dashboard/common/DashboardDetailInfo.vue @@ -6,7 +6,7 @@
{{ dashboardInfo.createName }}
{{ t('dashboard.create_time') }}
{{ timestampFormatDate(dashboardInfo.createTime) }}
-
{{ t('dashboard.updator') }}
+
{{ t('dashboard.updater') }}
{{ dashboardInfo.updateName }}
{{ t('dashboard.update_time') }}
diff --git a/frontend/src/views/login/xpack/PlatformClient.ts b/frontend/src/views/login/xpack/PlatformClient.ts index 856be249..ea2b5f73 100644 --- a/frontend/src/views/login/xpack/PlatformClient.ts +++ b/frontend/src/views/login/xpack/PlatformClient.ts @@ -75,27 +75,24 @@ export const loadClient = (category: LoginCategory) => { } const dingtalkClientRequest = async (id: string | null) => { - const dd = window['dd'] - if (dd?.requestAuthCode) { + if (!id) { const clientInfoRes = await queryClientInfo(7) - const corpId = id || clientInfoRes['corpid'] - const client_id = clientInfoRes['client_id'] - dd.requestAuthCode({ - corpId: corpId, - clientId: client_id, - onSuccess: function (result: any) { - ElMessage.success(JSON.stringify(result)) - const code = result.code + id = clientInfoRes['corpid'] + } + const dd = window['dd'] + dd.ready(function () { + dd.runtime.permission.requestAuthCode({ + corpId: id, + onSuccess: function (info: any) { + const code = info.code const state = `fit2cloud-dingtalk-client` toUrl(`?code=${code}&state=${state}`) }, onFail: function (err: any) { - console.error(err) + ElMessage.error(err) }, }) - } else { - ElMessage.error('not success') - } + }) } const larkClientRequest = async () => { diff --git a/frontend/src/views/login/xpack/WecomQr.vue b/frontend/src/views/login/xpack/WecomQr.vue index 3ad14179..a58abbd8 100644 --- a/frontend/src/views/login/xpack/WecomQr.vue +++ b/frontend/src/views/login/xpack/WecomQr.vue @@ -39,7 +39,7 @@ const formatQrResult = (data: any): WecomInfo => { state: null, redirect_uri: null, } as unknown as WecomInfo - result.corp_id = data.corp_id + result.corp_id = data.corpid result.agent_id = data.agent_id result.state = data.state || 'fit2cloud-wecom-qr' result.redirect_uri = data.redirect_uri || getSQLBotAddr()