diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index f0ee642bb..7828abac7 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -1676,7 +1676,9 @@ class Utils { return base64.encode(randomBytes); } - static String getFileName(String uri) { - return uri.substring(uri.lastIndexOf('/') + 1); + static String getFileName(String uri, {bool fileExt = true}) { + final i0 = uri.lastIndexOf('/') + 1; + final i1 = fileExt ? uri.length : uri.lastIndexOf('.'); + return uri.substring(i0, i1); } } diff --git a/lib/utils/wbi_sign.dart b/lib/utils/wbi_sign.dart index 12ad3c7c5..9a8cf7b09 100644 --- a/lib/utils/wbi_sign.dart +++ b/lib/utils/wbi_sign.dart @@ -83,8 +83,9 @@ class WbiSign { if (resp.data['code'] == 0) { final wbiUrls = resp.data['data']['wbi_img']; - mixinKey = getMixinKey(Utils.getFileName(wbiUrls['img_url']) + - Utils.getFileName(wbiUrls['sub_url'])); + mixinKey = getMixinKey( + Utils.getFileName(wbiUrls['img_url'], fileExt: false) + + Utils.getFileName(wbiUrls['sub_url'], fileExt: false)); localCache.put(LocalCacheKey.mixinKey, mixinKey); localCache.put(LocalCacheKey.timeStamp, nowDate.millisecondsSinceEpoch);