提示信息修复

This commit is contained in:
tianmo
2026-09-05 22:53:22 +08:00
parent 5df21165a5
commit c31bcb4c49
7 changed files with 1273 additions and 1247 deletions
File diff suppressed because one or more lines are too long
+1239
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1239
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -8,8 +8,8 @@
html, body { margin: 0; padding: 0; background: #111; color: #eee; font-family: system-ui, -apple-system, sans-serif; }
#app { display: flex; flex-direction: column; height: 100vh; }
</style>
<script type="module" crossorigin src="/assets/index-yJqyT1FD.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-RonkRpMh.css">
<script type="module" crossorigin src="/assets/index-CQJ6qUg9.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-CheycJh3.css">
</head>
<body>
<div id="app"></div>
+29 -3
View File
@@ -1031,6 +1031,7 @@ const exportMessage = ref('')
const exportError = ref(false)
const connectorHealth = ref<SpineConnectorHealth | null>(null)
const connectorPairUrl = ref('')
const connectorExportErrorCode = ref('')
const connectorStatusText = computed(() => {
const health = connectorHealth.value
@@ -1144,12 +1145,32 @@ onMounted(() => {
})
let connectorHealthTimer: number | undefined
let connectorHealthRequestId = 0
onBeforeUnmount(() => {
if (connectorHealthTimer !== undefined) window.clearInterval(connectorHealthTimer)
})
async function refreshConnectorHealth() {
connectorHealth.value = await checkSpineConnector()
const requestId = ++connectorHealthRequestId
const health = await checkSpineConnector()
if (requestId !== connectorHealthRequestId) return
connectorHealth.value = health
const code = connectorExportErrorCode.value
const resolved = code === 'CONNECTOR_OFFLINE'
? health.available
: code === 'SPINE_NOT_FOUND'
? health.available && health.spineFound
: code === 'ORIGIN_NOT_ALLOWED'
? health.available && health.spineFound && health.authorized
: !!code && health.available && health.spineFound && health.authorized
if (resolved) {
connectorExportErrorCode.value = ''
connectorPairUrl.value = ''
if (exportError.value) {
exportError.value = false
exportMessage.value = ''
}
}
}
function nextPaint() {
@@ -1179,6 +1200,7 @@ async function exportSpineJson() {
exportBusy.value = true
exportTarget.value = 'json'
exportError.value = false
connectorExportErrorCode.value = ''
connectorPairUrl.value = ''
exportMessage.value = '正在重新计算粒子动画…'
try {
@@ -1202,6 +1224,7 @@ async function exportSpineProject() {
exportBusy.value = true
exportTarget.value = 'spine'
exportError.value = false
connectorExportErrorCode.value = ''
connectorPairUrl.value = ''
exportMessage.value = '正在重新计算粒子动画…'
const transfer = beginTransfer('导出 Spine 包', '正在重新计算粒子动画…')
@@ -1230,11 +1253,13 @@ async function exportSpineProject() {
await refreshConnectorHealth()
await transfer.finish('Spine 工程包已开始下载')
} catch (error) {
const errorMessage = error instanceof Error ? error.message : String(error)
exportError.value = true
connectorExportErrorCode.value = error instanceof SpineConnectorError ? error.code : ''
if (error instanceof SpineConnectorError && error.pairUrl) connectorPairUrl.value = error.pairUrl
exportMessage.value = error instanceof Error ? error.message : String(error)
exportMessage.value = errorMessage
await refreshConnectorHealth()
await transfer.fail(exportMessage.value)
await transfer.fail(errorMessage)
} finally {
exportBusy.value = false
exportTarget.value = null
@@ -1246,6 +1271,7 @@ async function exportSpineImages() {
exportBusy.value = true
exportTarget.value = 'images'
exportError.value = false
connectorExportErrorCode.value = ''
connectorPairUrl.value = ''
exportMessage.value = '正在整理当前粒子系统使用的图片…'
try {