|
1 | 1 | /** |
2 | 2 | * 用户祈愿模块 |
3 | | - * @since Beta v0.10.1 |
| 3 | + * @since Beta v0.10.2 |
4 | 4 | */ |
5 | 5 |
|
6 | 6 | import showDialog from "@comp/func/dialog.js"; |
7 | 7 | import showLoading from "@comp/func/loading.js"; |
8 | 8 | import showSnackbar from "@comp/func/snackbar.js"; |
| 9 | +import TGLogger from "@utils/TGLogger.js"; |
9 | 10 | import Database from "@tauri-apps/plugin-sql"; |
10 | 11 | import { getUtc8Time, getWikiBrief, timestampToDate } from "@utils/toolFunc.js"; |
11 | 12 | import { ref, type Ref } from "vue"; |
@@ -85,7 +86,7 @@ async function insertGachaList( |
85 | 86 | } catch (e) { |
86 | 87 | await db.execute("ROLLBACK;"); |
87 | 88 | const msg = String(e); |
88 | | - if (/BUSY|LOCKED|SQLITE_BUSY|SQLITE_LOCKED/i.test(msg)) { |
| 89 | + if (/BUSY|LOCKED|SQLITE_BUSY|SQLITE_LOCKED|database is locked/i.test(msg)) { |
89 | 90 | await showDialog.check(`数据库锁定`, `请刷新页面(F5)后重试操作`); |
90 | 91 | return; |
91 | 92 | } |
@@ -310,11 +311,19 @@ async function mergeUIGF( |
310 | 311 | }); |
311 | 312 | }, 1000); |
312 | 313 | } |
313 | | - const transformed = data.map((g) => transGacha(g)); |
314 | | - await insertGachaList(db, uid, transformed, 100, cnt); |
315 | | - if (timer) { |
316 | | - clearInterval(timer); |
317 | | - await showLoading.update(`[100%] 完成`, { timeout: 0 }); |
| 314 | + try { |
| 315 | + const transformed = data.map((g) => transGacha(g)); |
| 316 | + await insertGachaList(db, uid, transformed, 100, cnt); |
| 317 | + } catch (e) { |
| 318 | + await TGLogger.Error(`[UserGacha][mergeUIGF] 合并祈愿数据异常`); |
| 319 | + await TGLogger.Error(`[UserGacha][mergeUIGF] UID: ${uid}, 数据量: ${data.length}`); |
| 320 | + await TGLogger.Error(`[UserGacha][mergeUIGF] ${e}`); |
| 321 | + throw e; |
| 322 | + } finally { |
| 323 | + if (timer) { |
| 324 | + clearInterval(timer); |
| 325 | + await showLoading.update(`[100%] 完成`, { timeout: 0 }); |
| 326 | + } |
318 | 327 | } |
319 | 328 | } |
320 | 329 |
|
|
0 commit comments