Skip to content

Commit

Permalink
更新版本号至1.0.4,增强API响应处理,添加错误处理逻辑
Browse files Browse the repository at this point in the history
  • Loading branch information
Ukenn2112 committed Dec 22, 2024
1 parent f24150a commit 74dc337
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/info.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"identifier": "com.ukenn.moji.dictionary",
"version": "1.0.3",
"version": "1.0.4",
"category": "translate",
"name": "MOJi 辞書",
"summary": "只为日语 - MOJi辞書(じしょ)",
Expand Down
25 changes: 21 additions & 4 deletions src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,13 @@ async function fetchSearchResults(text, header) {
* @return {string} 单词的 target ID。
*/
function getTargetIdFromSearchResponse(searchResponse) {
if (!searchResponse || !searchResponse.data) {
throw new KnownError(
"api",
"API 搜索接口返回数据为空",
"请检查网络连接或 API 接口状态"
);
}
if (searchResponse.error) {
throw new KnownError(
"api",
Expand All @@ -126,11 +133,14 @@ function getTargetIdFromSearchResponse(searchResponse) {
}

$log.info(`搜索请求结果 search_data: ${JSON.stringify(searchResponse.data)}`);
const searchData = searchResponse.data.result.result;
if (!searchData.word || searchData.word.searchResult.length === 0) {
const searchResult = searchResponse.data?.result?.result?.word?.searchResult;
if (!searchResult || searchResult.length === 0) {
throw new KnownError("notFound", "未找到结果");
}
return searchData.word.searchResult[0].targetId;
if (!searchResult[0]?.targetId) {
throw new KnownError("api", "搜索结果格式错误", "返回数据中缺少 targetId");
}
return searchResult[0].targetId;
}

/**
Expand Down Expand Up @@ -299,7 +309,14 @@ async function fetchTTS(targetId, header) {
return ttsDetails;
}

// 已知错误键
/**
* 自定义错误类
*
* @param {'unknown'|'param'|'unsupportedLanguage'|'secretKey'|'network'|'api'|'notFound'} type 错误类型。
* @param {string} message 错误信息。
* @param {any=} addtion 附加信息。
* @param {string=} troubleshootingLink 故障排除的链接。
*/
class KnownError extends Error {
constructor(type, message, addtion, troubleshootingLink) {
super(message);
Expand Down

0 comments on commit 74dc337

Please sign in to comment.