diff --git a/src/consts/map.js b/src/consts/map.js
index 0a4e422f..e4138124 100644
--- a/src/consts/map.js
+++ b/src/consts/map.js
@@ -5,6 +5,7 @@ const leafletTileSources = {
minZoom: 1,
maxZoom: 19,
defaultZoomLevel: 14,
+ website: 'https://www.openstreetmap.org',
attribution : '© OpenStreetMap contributors'
},
'openstreetmap-humanitarian': {
@@ -13,6 +14,7 @@ const leafletTileSources = {
minZoom: 1,
maxZoom: 19,
defaultZoomLevel: 14,
+ website: 'https://www.hotosm.org',
attribution : '© OpenStreetMap contributors, Tiles style by Humanitarian OpenStreetMap Team hosted by OpenStreetMap France'
},
'opentopomap': {
@@ -21,6 +23,7 @@ const leafletTileSources = {
minZoom: 1,
maxZoom: 17,
defaultZoomLevel: 14,
+ website: 'https://opentopomap.org',
attribution : 'Map data: © OpenStreetMap contributors, SRTM | Map style: © OpenTopoMap (CC-BY-SA)'
},
'opnvkarte': {
@@ -29,6 +32,7 @@ const leafletTileSources = {
minZoom: 1,
maxZoom: 17,
defaultZoomLevel: 14,
+ website: 'https://memomaps.de',
attribution : 'Map memomaps.de CC-BY-SA, map data © OpenStreetMap contributors'
},
'cyclosm': {
@@ -37,6 +41,7 @@ const leafletTileSources = {
minZoom: 1,
maxZoom: 19,
defaultZoomLevel: 14,
+ website: 'https://github.com/cyclosm/cyclosm-cartocss-style',
attribution : 'CyclOSM | Map data: © OpenStreetMap contributors'
},
'cartodb': {
@@ -45,6 +50,7 @@ const leafletTileSources = {
minZoom: 1,
maxZoom: 20,
defaultZoomLevel: 14,
+ website: 'https://carto.com',
attribution : '© OpenStreetMap, © CARTO'
},
'tomtom': {
@@ -63,6 +69,7 @@ const leafletTileSources = {
minZoom: 1,
maxZoom: 19,
defaultZoomLevel: 14,
+ website: 'https://tomtom.com',
attribution : '© 1992 - 2023 TomTom.'
}
}
diff --git a/src/lib/map/amap.js b/src/lib/map/amap.js
index 8b9083de..888de6c6 100644
--- a/src/lib/map/amap.js
+++ b/src/lib/map/amap.js
@@ -11,6 +11,10 @@ const amapHolder = {
AMap: null
};
+export function getAmapWebsite() {
+ return 'https://www.amap.com';
+}
+
export function loadAmapAssets() {
if (amapHolder.AMap) {
return;
diff --git a/src/lib/map/baidumap.js b/src/lib/map/baidumap.js
index d375e0a4..48a10981 100644
--- a/src/lib/map/baidumap.js
+++ b/src/lib/map/baidumap.js
@@ -10,6 +10,10 @@ const baiduMapHolder = {
COORDINATES_BD09: window.COORDINATES_BD09 || 5
};
+export function getBaiduMapWebsite() {
+ return 'https://map.baidu.com';
+}
+
export function loadBaiduMapAssets() {
if (baiduMapHolder.BMap) {
return;
diff --git a/src/lib/map/googlemap.js b/src/lib/map/googlemap.js
index 1794cc68..e12556a2 100644
--- a/src/lib/map/googlemap.js
+++ b/src/lib/map/googlemap.js
@@ -8,6 +8,10 @@ const googleMapHolder = {
}
};
+export function getGoogleMapWebsite() {
+ return 'https://maps.google.com';
+}
+
export function loadGoogleMapAssets(language) {
if (googleMapHolder.googleMap) {
return;
diff --git a/src/lib/map/index.js b/src/lib/map/index.js
index 42a578c3..d09ef7c7 100644
--- a/src/lib/map/index.js
+++ b/src/lib/map/index.js
@@ -13,6 +13,7 @@ import {
} from './leaflet.js';
import {
+ getGoogleMapWebsite,
loadGoogleMapAssets,
createGoogleMapHolder,
createGoogleMapInstance,
@@ -22,6 +23,7 @@ import {
} from './googlemap.js';
import {
+ getBaiduMapWebsite,
loadBaiduMapAssets,
createBaiduMapHolder,
createBaiduMapInstance,
@@ -31,6 +33,7 @@ import {
} from './baidumap.js';
import {
+ getAmapWebsite,
loadAmapAssets,
createAmapHolder,
createAmapInstance,
@@ -39,6 +42,20 @@ import {
removeAmapCenterMaker
} from './amap.js';
+export function getMapWebsite() {
+ if (getMapProvider() === 'custom') {
+ return '';
+ } else if (mapConstants.leafletTileSources[getMapProvider()]) {
+ return mapConstants.leafletTileSources[getMapProvider()].website;
+ } else if (getMapProvider() === 'googlemap') {
+ return getGoogleMapWebsite();
+ } else if (getMapProvider() === 'baidumap') {
+ return getBaiduMapWebsite();
+ } else if (getMapProvider() === 'amap') {
+ return getAmapWebsite();
+ }
+}
+
export function loadMapAssets(language) {
if (mapConstants.leafletTileSources[getMapProvider()] || getMapProvider() === 'custom') {
return loadLeafletMapAssets(language);
diff --git a/src/locales/en.js b/src/locales/en.js
index d589a552..3a208cc4 100644
--- a/src/locales/en.js
+++ b/src/locales/en.js
@@ -555,6 +555,19 @@ export default {
'Reimbursement': 'Reimbursement',
'Other Transfer': 'Other Transfer',
},
+ 'mapprovider': {
+ 'openstreetmap': 'OpenStreetMap',
+ 'openstreetmap-humanitarian': 'Humanitarian OpenStreetMap Team',
+ 'opentopomap': 'OpenTopoMap',
+ 'opnvkarte': 'MeMoMaps',
+ 'cyclosm': 'CyclOSM',
+ 'cartodb': 'CARTO',
+ 'tomtom': 'TomTom',
+ 'googlemap': 'Google Map',
+ 'baidumap': 'Baidu Map',
+ 'amap': 'Amap',
+ 'custom': 'User Custom',
+ },
'error': {
'system error': 'System Error',
'api not found': 'Failed to request api',
@@ -781,6 +794,8 @@ export default {
'Area Chart': 'Area Chart',
'Column Chart': 'Column Chart',
'Sort by': 'Sort by',
+ 'Map': 'Map',
+ 'Provider': 'Provider',
'User': 'User',
'Application': 'Application',
'Danger Zone': 'Danger Zone',
@@ -1250,6 +1265,7 @@ export default {
'About': 'About',
'Build Time': 'Build Time',
'Official Website': 'Official Website',
+ 'Report Issue': 'Report Issue',
'License': 'License',
'An error occurred': 'An error occurred',
'Parameter Invalid': 'Parameter Invalid',
diff --git a/src/locales/zh_Hans.js b/src/locales/zh_Hans.js
index 15e06409..9ab93e3b 100644
--- a/src/locales/zh_Hans.js
+++ b/src/locales/zh_Hans.js
@@ -555,6 +555,19 @@ export default {
'Reimbursement': '报销',
'Other Transfer': '其他转账',
},
+ 'mapprovider': {
+ 'openstreetmap': 'OpenStreetMap',
+ 'openstreetmap-humanitarian': 'Humanitarian OpenStreetMap Team',
+ 'opentopomap': 'OpenTopoMap',
+ 'opnvkarte': 'MeMoMaps',
+ 'cyclosm': 'CyclOSM',
+ 'cartodb': 'CARTO',
+ 'tomtom': 'TomTom',
+ 'googlemap': 'Google 地图',
+ 'baidumap': '百度地图',
+ 'amap': '高德地图',
+ 'custom': '用户自定义',
+ },
'error': {
'system error': '系统错误',
'api not found': '接口调用失败',
@@ -781,6 +794,8 @@ export default {
'Area Chart': '面积图',
'Column Chart': '柱状图',
'Sort by': '排序方式',
+ 'Map': '地图',
+ 'Provider': '提供者',
'User': '用户',
'Application': '应用',
'Danger Zone': '危险区域',
@@ -1250,6 +1265,7 @@ export default {
'About': '关于',
'Build Time': '编译时间',
'Official Website': '官方网站',
+ 'Report Issue': '报告问题',
'License': '许可协议',
'An error occurred': '发生错误',
'Parameter Invalid': '参数错误',
diff --git a/src/views/desktop/AboutPage.vue b/src/views/desktop/AboutPage.vue
index c680081f..acf5800e 100644
--- a/src/views/desktop/AboutPage.vue
+++ b/src/views/desktop/AboutPage.vue
@@ -1,7 +1,7 @@
-
+
@@ -29,6 +29,50 @@
+
+
+ {{ $t('Report Issue') }}
+
+
+
+ https://github.com/mayswind/ezbookkeeping/issues
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('Provider') }}
+
+
+ {{ exchangeRatesData.dataSource }}
+ {{ exchangeRatesData.dataSource }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('Provider') }}
+
+
+ {{ mapProviderName }}
+ {{ mapProviderName }}
+
+
@@ -68,12 +112,15 @@