处理 Issue #4 中端侧网络层的三项改进(映射硬编码 / 无重试 / 无配置校验),仅改 harmony_app/entry/src/main/ets/utils/HttpUtil.ets,对外 API(HttpUtil.get/post)签名与返回结构不变。
harmony_app/entry/src/main/ets/utils/HttpUtil.ets
HttpUtil.get/post
if/else
getFunctionId
nameFromPath
Map
APPWRITE_HOST
PROJECT_ID
<...>
{code:-1}
for (let attempt = 0; attempt <= MAX_RETRY; attempt++) { try { return await doRequest(functionId, data); } catch (err) { lastError = ...; if (attempt < MAX_RETRY) await delay(300 * (attempt + 1)); } }
hvigorw assembleHap --mode module -p module=entry -p product=default -p buildMode=debug
说明:验证环境 SDK 为 HarmonyOS 26.0.0,为适配当前 IDE 临时移除了 build-profile.json5 的 compileSdkVersion(24)字段;该临时改动未包含在本 PR。
build-profile.json5
compileSdkVersion
Issue #4 中的「MVVM 分层」与「单元测试补充」属较大范围重构,建议单独立项,不在本 PR。
Refs #4
变更说明
处理 Issue #4 中端侧网络层的三项改进(映射硬编码 / 无重试 / 无配置校验),仅改
harmony_app/entry/src/main/ets/utils/HttpUtil.ets,对外 API(HttpUtil.get/post)签名与返回结构不变。变更内容
if/else(getFunctionId/nameFromPath)改为Map查找表,新增云函数只需登记一次。APPWRITE_HOST/PROJECT_ID是否为空或仍含<...>占位符,未配置时返回明确提示,而非难以定位的空 URL 网络错误。{code:-1}立即返回,不重试。for (let attempt = 0; attempt <= MAX_RETRY; attempt++) { try { return await doRequest(functionId, data); } catch (err) { lastError = ...; if (attempt < MAX_RETRY) await delay(300 * (attempt + 1)); } }验证
未覆盖
Issue #4 中的「MVVM 分层」与「单元测试补充」属较大范围重构,建议单独立项,不在本 PR。
Refs #4