Fix(View & Execute): Fixed the bug of being able to open Desktop tools in the web environment
This commit is contained in:
@@ -64,8 +64,9 @@ const Code = () => {
|
|||||||
render(response.data!)
|
render(response.data!)
|
||||||
break
|
break
|
||||||
case DATABASE_NO_RECORD_FOUND:
|
case DATABASE_NO_RECORD_FOUND:
|
||||||
void message.error('未找到指定工具')
|
message.error('未找到指定工具').then(() => {
|
||||||
navigateToRepository(navigate)
|
navigateToRepository(navigate)
|
||||||
|
})
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
void message.error('获取工具信息失败,请稍后重试')
|
void message.error('获取工具信息失败,请稍后重试')
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import useStyles from '@/assets/css/pages/system/tools/execute.style'
|
import useStyles from '@/assets/css/pages/system/tools/execute.style'
|
||||||
import { DATABASE_NO_RECORD_FOUND, DATABASE_SELECT_SUCCESS } from '@/constants/common.constants'
|
import { DATABASE_NO_RECORD_FOUND, DATABASE_SELECT_SUCCESS } from '@/constants/common.constants'
|
||||||
import { message } from '@/util/common'
|
import { checkDesktop, message } from '@/util/common'
|
||||||
import { navigateToTools } from '@/util/navigation'
|
import { navigateToTools } from '@/util/navigation'
|
||||||
import { r_sys_tool_get_one } from '@/services/system'
|
import { r_sys_tool_get_one } from '@/services/system'
|
||||||
import FitFullscreen from '@/components/common/FitFullscreen'
|
import FitFullscreen from '@/components/common/FitFullscreen'
|
||||||
@@ -20,7 +20,18 @@ const Execute = () => {
|
|||||||
|
|
||||||
const render = (toolVo: ToolVo) => {
|
const render = (toolVo: ToolVo) => {
|
||||||
try {
|
try {
|
||||||
setIsMobileMode(toolVo.platform === 'ANDROID')
|
switch (toolVo.platform) {
|
||||||
|
case 'ANDROID':
|
||||||
|
setIsMobileMode(true)
|
||||||
|
break
|
||||||
|
case 'DESKTOP':
|
||||||
|
if (!checkDesktop()) {
|
||||||
|
message.warning('此应用需要桌面端环境,请在桌面端打开').then(() => {
|
||||||
|
navigateToTools(navigate)
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const baseDist = base64ToStr(toolVo.base.dist.data!)
|
const baseDist = base64ToStr(toolVo.base.dist.data!)
|
||||||
const files = base64ToFiles(toolVo.source.data!)
|
const files = base64ToFiles(toolVo.source.data!)
|
||||||
@@ -58,8 +69,9 @@ const Execute = () => {
|
|||||||
render(response.data!)
|
render(response.data!)
|
||||||
break
|
break
|
||||||
case DATABASE_NO_RECORD_FOUND:
|
case DATABASE_NO_RECORD_FOUND:
|
||||||
void message.error('未找到指定工具')
|
message.error('未找到指定工具').then(() => {
|
||||||
navigateToTools(navigate)
|
navigateToTools(navigate)
|
||||||
|
})
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
void message.error('获取工具信息失败,请稍后重试')
|
void message.error('获取工具信息失败,请稍后重试')
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import useStyles from '@/assets/css/pages/tools/view.style'
|
import useStyles from '@/assets/css/pages/tools/view.style'
|
||||||
import { DATABASE_NO_RECORD_FOUND, DATABASE_SELECT_SUCCESS } from '@/constants/common.constants'
|
import { DATABASE_NO_RECORD_FOUND, DATABASE_SELECT_SUCCESS } from '@/constants/common.constants'
|
||||||
import { message } from '@/util/common'
|
import { checkDesktop, message } from '@/util/common'
|
||||||
import { getLoginStatus } from '@/util/auth'
|
import { getLoginStatus } from '@/util/auth'
|
||||||
import {
|
import {
|
||||||
navigateToInstall,
|
navigateToInstall,
|
||||||
@@ -25,10 +25,21 @@ const View = () => {
|
|||||||
})
|
})
|
||||||
const [isLoading, setIsLoading] = useState(false)
|
const [isLoading, setIsLoading] = useState(false)
|
||||||
const [compiledCode, setCompiledCode] = useState('')
|
const [compiledCode, setCompiledCode] = useState('')
|
||||||
const [isAndroid, setIsAndroid] = useState(false)
|
const [isMobileMode, setIsMobileMode] = useState(false)
|
||||||
|
|
||||||
const render = (toolVo: ToolVo) => {
|
const render = (toolVo: ToolVo) => {
|
||||||
setIsAndroid(toolVo.platform === 'ANDROID')
|
switch (toolVo.platform) {
|
||||||
|
case 'ANDROID':
|
||||||
|
setIsMobileMode(true)
|
||||||
|
break
|
||||||
|
case 'DESKTOP':
|
||||||
|
if (!checkDesktop()) {
|
||||||
|
message.warning('此应用需要桌面端环境,请在桌面端打开').then(() => {
|
||||||
|
navigateToRepository(navigate)
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
if (username === '!') {
|
if (username === '!') {
|
||||||
try {
|
try {
|
||||||
const baseDist = base64ToStr(toolVo.base.dist.data!)
|
const baseDist = base64ToStr(toolVo.base.dist.data!)
|
||||||
@@ -145,7 +156,7 @@ const View = () => {
|
|||||||
<Playground.Output.Preview.Render
|
<Playground.Output.Preview.Render
|
||||||
iframeKey={`${username}:${toolId}:${ver}`}
|
iframeKey={`${username}:${toolId}:${ver}`}
|
||||||
compiledCode={compiledCode}
|
compiledCode={compiledCode}
|
||||||
mobileMode={isAndroid}
|
mobileMode={isMobileMode}
|
||||||
/>
|
/>
|
||||||
</Card>
|
</Card>
|
||||||
</FitFullscreen>
|
</FitFullscreen>
|
||||||
|
|||||||
Reference in New Issue
Block a user