优化自定义源调用处理逻辑
This commit is contained in:
@@ -1,12 +1,23 @@
|
||||
import { onBeforeUnmount } from '@common/utils/vueTools'
|
||||
import { onBeforeUnmount, watch } from '@common/utils/vueTools'
|
||||
import { useI18n } from '@renderer/plugins/i18n'
|
||||
import { onUserApiStatus, getUserApiList, sendUserApiRequest, userApiRequestCancel, onShowUserApiUpdateAlert } from '@renderer/utils/ipc'
|
||||
import { onUserApiStatus, getUserApiList, sendUserApiRequest as sendUserApiRequestRemote, userApiRequestCancel, onShowUserApiUpdateAlert } from '@renderer/utils/ipc'
|
||||
import { openUrl } from '@common/utils/electron'
|
||||
import { qualityList, userApi } from '@renderer/store'
|
||||
import { appSetting } from '@renderer/store/setting'
|
||||
import { dialog } from '@renderer/plugins/Dialog'
|
||||
import { setUserApi } from '@renderer/core/apiSource'
|
||||
|
||||
const sendUserApiRequest: typeof sendUserApiRequestRemote = async(data) => {
|
||||
let stop: () => void
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
stop = watch(() => appSetting['common.apiSource'], () => {
|
||||
reject(new Error('source changed'))
|
||||
})
|
||||
void sendUserApiRequestRemote(data).then(resolve).catch(reject)
|
||||
}).finally(() => {
|
||||
stop()
|
||||
})
|
||||
}
|
||||
|
||||
export default () => {
|
||||
const t = useI18n()
|
||||
@@ -74,6 +85,7 @@ export default () => {
|
||||
})
|
||||
}
|
||||
}
|
||||
if (!window.lx.apiInitPromise[1]) window.lx.apiInitPromise[2](status)
|
||||
})
|
||||
|
||||
const rUserApiShowUpdateAlert = onShowUserApiUpdateAlert(({ params: { name, log, updateUrl } }) => {
|
||||
|
||||
Reference in New Issue
Block a user