show message when force update exchange rates data and the data is up to date

This commit is contained in:
MaysWind
2023-04-02 18:06:36 +08:00
parent 5a924fa382
commit 853b01e2ca
4 changed files with 61 additions and 0 deletions
+52
View File
@@ -36,6 +36,57 @@ function isBoolean(val) {
return typeof(val) === 'boolean';
}
function isEquals(obj1, obj2) {
if (obj1 === obj2) {
return true;
}
if (isArray(obj1) && isArray(obj2)) {
if (obj1.length !== obj2.length) {
return false;
}
for (let i = 0; i < obj1.length; i++) {
if (!isEquals(obj1[i], obj2[i])) {
return false;
}
}
return true;
} else if (isObject(obj1) && isObject(obj2)) {
const keys1 = Object.keys(obj1);
const keys2 = Object.keys(obj2);
if (keys1.length !== keys2.length) {
return false;
}
const keyExistsMap2 = {};
for (let i = 0; i < keys2.length; i++) {
const key = keys2[i];
keyExistsMap2[key] = true;
}
for (let i = 0; i < keys1.length; i++) {
const key = keys1[i];
if (!keyExistsMap2[key]) {
return false;
}
if (!isEquals(obj1[key], obj2[key])) {
return false;
}
}
return true;
} else {
return obj1 === obj2;
}
}
function getUtcOffsetMinutesByUtcOffset(utcOffset) {
if (!utcOffset) {
return 0;
@@ -677,6 +728,7 @@ export default {
isString,
isNumber,
isBoolean,
isEquals,
getUtcOffsetMinutesByUtcOffset,
getUtcOffsetByUtcOffsetMinutes,
getTimezoneOffset,
+1
View File
@@ -1001,6 +1001,7 @@ export default {
'No exchange rates data': 'No exchange rates data',
'There is no exchange rates data for your default currency': 'There is no exchange rates data for your default currency',
'Exchange rates data has been updated': 'Exchange rates data has been updated',
'Exchange rates data is up to date': 'Exchange rates data is up to date',
'Unable to get exchange rates data': 'Unable to get exchange rates data',
'About': 'About',
'Build Time': 'Build Time',
+1
View File
@@ -1001,6 +1001,7 @@ export default {
'No exchange rates data': '没有汇率数据',
'There is no exchange rates data for your default currency': '没有您默认货币的汇率数据',
'Exchange rates data has been updated': '汇率数据已更新',
'Exchange rates data is up to date': '汇率数据已是最新',
'Unable to get exchange rates data': '无法获取汇率数据',
'About': '关于',
'Build Time': '编译时间',
+7
View File
@@ -35,6 +35,13 @@ export function getLatestExchangeRates(context, { silent, force }) {
return;
}
const currentData = getExchangeRatesFromLocalStorage();
if (currentData && currentData.data && utils.isEquals(currentData.data, data.result)) {
reject({ message: 'Exchange rates data is up to date' });
return;
}
context.commit(STORE_LATEST_EXCHANGE_RATES, {
time: now,
data: data.result