mirror of
https://github.com/Nezumi-2711/Sink.git
synced 2026-09-22 13:48:35 +00:00
perf: build map
This commit is contained in:
@@ -25,3 +25,4 @@ logs
|
|||||||
.wrangler
|
.wrangler
|
||||||
site
|
site
|
||||||
cache
|
cache
|
||||||
|
assets/location/world-topo.json
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,20 +1,8 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { VisSingleContainer, VisTopoJSONMap, VisTopoJSONMapSelectors } from '@unovis/vue'
|
import { VisSingleContainer, VisTopoJSONMap, VisTopoJSONMapSelectors } from '@unovis/vue'
|
||||||
import { WorldMapSimplestTopoJSON } from '@unovis/ts/maps'
|
|
||||||
import WorldMapTopoJSON from '@/assets/location/world-topo.json' // https://github.com/apache/echarts/blob/master/test/data/map/json/world.json
|
import WorldMapTopoJSON from '@/assets/location/world-topo.json' // https://github.com/apache/echarts/blob/master/test/data/map/json/world.json
|
||||||
import { ChartTooltip } from '@/components/ui/chart'
|
import { ChartTooltip } from '@/components/ui/chart'
|
||||||
|
|
||||||
WorldMapTopoJSON.objects.states.geometries.map((state) => {
|
|
||||||
const name = state.properties.name
|
|
||||||
const country = WorldMapSimplestTopoJSON.objects.countries.geometries.find(country => country.properties.name === name)
|
|
||||||
state.id = state.name || ''
|
|
||||||
if (country) {
|
|
||||||
state.id = country.id || ''
|
|
||||||
state.properties = country.properties
|
|
||||||
}
|
|
||||||
return state
|
|
||||||
})
|
|
||||||
|
|
||||||
const id = inject('id')
|
const id = inject('id')
|
||||||
const startAt = inject('startAt')
|
const startAt = inject('startAt')
|
||||||
const endAt = inject('endAt')
|
const endAt = inject('endAt')
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ import withNuxt from './.nuxt/eslint.config.mjs'
|
|||||||
export default withNuxt(
|
export default withNuxt(
|
||||||
// antfu(),
|
// antfu(),
|
||||||
{
|
{
|
||||||
ignores: ['components/ui'],
|
ignores: ['components/ui', 'scripts/build-map.js'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
rules: {
|
rules: {
|
||||||
|
|||||||
+2
-1
@@ -7,9 +7,10 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "nuxt dev",
|
"dev": "nuxt dev",
|
||||||
"build": "nuxt build",
|
"build": "nuxt build",
|
||||||
|
"build:map": "node scripts/build-map.js",
|
||||||
"preview": "wrangler pages dev dist",
|
"preview": "wrangler pages dev dist",
|
||||||
"deploy": "wrangler pages deploy dist",
|
"deploy": "wrangler pages deploy dist",
|
||||||
"postinstall": "nuxt prepare",
|
"postinstall": "npm run build:map && nuxt prepare",
|
||||||
"lint": "eslint .",
|
"lint": "eslint .",
|
||||||
"lint:fix": "eslint . --fix",
|
"lint:fix": "eslint . --fix",
|
||||||
"typecheck": "nuxt typecheck",
|
"typecheck": "nuxt typecheck",
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import { writeFileSync } from 'fs'
|
||||||
|
import { join } from 'path'
|
||||||
|
import { WorldMapSimplestTopoJSON } from '@unovis/ts/maps.js'
|
||||||
|
import WorldMapTopoJSON from '../assets/location/world.json' with { type: "json" } // https://github.com/apache/echarts/blob/master/test/data/map/json/world.json
|
||||||
|
|
||||||
|
WorldMapTopoJSON.objects.states.geometries.map((state) => {
|
||||||
|
const name = state.properties.name
|
||||||
|
const country = WorldMapSimplestTopoJSON.objects.countries.geometries.find(country => country.properties.name === name)
|
||||||
|
state.id = state.name || ''
|
||||||
|
if (country) {
|
||||||
|
state.id = country.id || ''
|
||||||
|
state.properties = country.properties
|
||||||
|
}
|
||||||
|
return state
|
||||||
|
})
|
||||||
|
|
||||||
|
writeFileSync(join(import.meta.dirname, '../assets/location/world-topo.json'), JSON.stringify(WorldMapTopoJSON), 'utf8')
|
||||||
Reference in New Issue
Block a user