fix(update): 修复华为上传URL响应格式 urlInfo 单对象处理
华为实际返回格式为 urlInfo (单对象) 而非 urlList (列表), 代码需同时支持两种格式: - urlList: 列表形式(旧版API) - urlInfo: 单对象形式(当前API,含 url/objectId/headers/method) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
2b975c990a
当前提交
fb8a9d453d
@ -292,13 +292,23 @@ public class StoreSubmissionService {
|
|||||||
String hwAppId = huaweiGetAppId(clientId, token, packageName);
|
String hwAppId = huaweiGetAppId(clientId, token, packageName);
|
||||||
|
|
||||||
// 3. Request upload URL
|
// 3. Request upload URL
|
||||||
|
// Huawei returns either urlList (list) or urlInfo (single object)
|
||||||
Map<String, Object> uploadUrlResp = huaweiGetUploadUrl(clientId, token, hwAppId, file);
|
Map<String, Object> uploadUrlResp = huaweiGetUploadUrl(clientId, token, hwAppId, file);
|
||||||
|
Map<String, Object> urlInfo;
|
||||||
List<Map<String, Object>> urlList = asMapList(uploadUrlResp.get("urlList"));
|
List<Map<String, Object>> urlList = asMapList(uploadUrlResp.get("urlList"));
|
||||||
if (urlList.isEmpty()) urlList = asMapList(uploadUrlResp.get("data"));
|
if (!urlList.isEmpty()) {
|
||||||
if (urlList.isEmpty()) {
|
urlInfo = urlList.get(0);
|
||||||
throw new RuntimeException("Huawei: upload url response missing urlList, response=" + summarizeMap(uploadUrlResp));
|
} else if (uploadUrlResp.containsKey("urlInfo") && uploadUrlResp.get("urlInfo") instanceof Map) {
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
Map<String, Object> single = (Map<String, Object>) uploadUrlResp.get("urlInfo");
|
||||||
|
urlInfo = single;
|
||||||
|
} else {
|
||||||
|
urlList = asMapList(uploadUrlResp.get("data"));
|
||||||
|
if (urlList.isEmpty()) {
|
||||||
|
throw new RuntimeException("Huawei: upload url response missing urlList/urlInfo, response=" + summarizeMap(uploadUrlResp));
|
||||||
|
}
|
||||||
|
urlInfo = urlList.get(0);
|
||||||
}
|
}
|
||||||
Map<String, Object> urlInfo = urlList.get(0);
|
|
||||||
String uploadUrl = (String) urlInfo.get("url");
|
String uploadUrl = (String) urlInfo.get("url");
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
Map<String, String> uploadHeaders = (Map<String, String>) urlInfo.get("headers");
|
Map<String, String> uploadHeaders = (Map<String, String>) urlInfo.get("headers");
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户