UNPKG

@ued_fpi/data-visual

Version:

<br /> <br /> <div style="text-align:center"> <b style="font-size:30px">@ued_fpi/data-visual</b> <p>基于Vite4+TypeScript的Vue3大屏组件库开发框架</p> <img style="display:inline" src="https://img.shields.io/npm/v/@ued_fpi/data-visual" />

100 lines (97 loc) 3.73 kB
import __vite_glob_0_0 from './images/1.png.mjs'; import __vite_glob_0_1 from './images/2.png.mjs'; import __vite_glob_0_2 from './images/3.png.mjs'; import __vite_glob_0_3 from './images/4.png.mjs'; import __vite_glob_0_4 from './images/5.png.mjs'; import __vite_glob_0_5 from './images/6.png.mjs'; import { defineComponent, ref, computed, onMounted, openBlock, createElementBlock, Fragment, renderList, createElementVNode, toDisplayString } from 'vue'; import { getCommonSpecies } from './api/index.mjs'; const _hoisted_1 = { class: "dv-wgms-common-flora-fauna" }; const _hoisted_2 = { class: "species-image-box" }; const _hoisted_3 = ["src", "alt"]; const _hoisted_4 = { key: 1, class: "species-image-placeholder" }; const _hoisted_5 = ["src", "alt"]; const _hoisted_6 = { class: "species-name" }; const FILE_PREVIEW_BASE_URL = "/file-base-server/api/v1/sys/download"; const _sfc_main = /* @__PURE__ */ defineComponent({ ...{ name: "DvWgmsCommonFloraFauna", title: "常见动植物" }, __name: "index", props: { data: { type: Array, default: () => [] } }, setup(__props) { const props = __props; const fallbackData = [ { name: "地黄", imageUrl: "" }, { name: "牵牛", imageUrl: "" }, { name: "蒲公英", imageUrl: "" }, { name: "长耳鸮", imageUrl: "" }, { name: "疣鼻天鹅", imageUrl: "" }, { name: "白琵鹭", imageUrl: "" } ]; const localData = ref([]); const displayData = computed(() => props.data?.length ? props.data : localData.value); const loadData = async () => { const res = await getCommonSpecies(); localData.value = (res?.data || []).map((item) => ({ name: item.speciesName, imageUrl: formatImageUrl(item.speciesImageUrl) })); }; const formatImageUrl = (imageUrl) => { if (!imageUrl) return ""; if (imageUrl.startsWith("http://") || imageUrl.startsWith("https://")) return imageUrl; return `${FILE_PREVIEW_BASE_URL}/${imageUrl}`; }; const getAssetsFile = (url) => { if (url.charAt(0) === "/") url = url.slice(1); return new URL((/* #__PURE__ */ Object.assign({"./images/1.png": __vite_glob_0_0,"./images/2.png": __vite_glob_0_1,"./images/3.png": __vite_glob_0_2,"./images/4.png": __vite_glob_0_3,"./images/5.png": __vite_glob_0_4,"./images/6.png": __vite_glob_0_5}))[`./images/${url}`], self.location).href; }; onMounted(() => { if (!props.data?.length) { loadData().catch(() => { localData.value = fallbackData; }); } }); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1, [ (openBlock(true), createElementBlock(Fragment, null, renderList(displayData.value, (item, index) => { return openBlock(), createElementBlock("div", { key: item.name, class: "species-card" }, [ createElementVNode("div", _hoisted_2, [ item.imageUrl ? (openBlock(), createElementBlock("img", { key: 0, src: item.imageUrl, alt: item.name, class: "species-image" }, null, 8, _hoisted_3)) : (openBlock(), createElementBlock("div", _hoisted_4, [ createElementVNode("img", { src: getAssetsFile(`${index + 1}.png`), alt: item.name, class: "species-image" }, null, 8, _hoisted_5) ])) ]), createElementVNode("div", _hoisted_6, toDisplayString(item.name), 1) ]); }), 128)) ]); }; } }); export { _sfc_main as default };