mirror of
https://gitee.com/dromara/go-view.git
synced 2025-02-24 00:02:51 +08:00
feat: 图表组件图片换成懒加载
This commit is contained in:
parent
977f1cade0
commit
6e0ab15e47
@ -16,7 +16,8 @@
|
|||||||
"screenfull": "^6.0.0",
|
"screenfull": "^6.0.0",
|
||||||
"vue": "^3.2.16",
|
"vue": "^3.2.16",
|
||||||
"vue-i18n": "^9.2.0-beta.23",
|
"vue-i18n": "^9.2.0-beta.23",
|
||||||
"vue-router": "4.0.12"
|
"vue-router": "4.0.12",
|
||||||
|
"vue3-lazyload": "^0.2.5-beta"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^16.11.1",
|
"@types/node": "^16.11.1",
|
||||||
|
@ -40,6 +40,7 @@ specifiers:
|
|||||||
vue-i18n: ^9.2.0-beta.23
|
vue-i18n: ^9.2.0-beta.23
|
||||||
vue-router: 4.0.12
|
vue-router: 4.0.12
|
||||||
vue-tsc: ^0.28.7
|
vue-tsc: ^0.28.7
|
||||||
|
vue3-lazyload: ^0.2.5-beta
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
animate.css: r2.cnpmjs.org/animate.css/4.1.1
|
animate.css: r2.cnpmjs.org/animate.css/4.1.1
|
||||||
@ -51,6 +52,7 @@ dependencies:
|
|||||||
vue: rg.cnpmjs.org/vue/3.2.24
|
vue: rg.cnpmjs.org/vue/3.2.24
|
||||||
vue-i18n: rg.cnpmjs.org/vue-i18n/9.2.0-beta.23_vue@3.2.24
|
vue-i18n: rg.cnpmjs.org/vue-i18n/9.2.0-beta.23_vue@3.2.24
|
||||||
vue-router: rg.cnpmjs.org/vue-router/4.0.12_vue@3.2.24
|
vue-router: rg.cnpmjs.org/vue-router/4.0.12_vue@3.2.24
|
||||||
|
vue3-lazyload: registry.npmjs.org/vue3-lazyload/0.2.5-beta_e9ad48123e44f1efa3c90c8e8375ea6d
|
||||||
|
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/node': rg.cnpmjs.org/@types/node/16.11.12
|
'@types/node': rg.cnpmjs.org/@types/node/16.11.12
|
||||||
@ -2341,6 +2343,19 @@ packages:
|
|||||||
vue: rg.cnpmjs.org/vue/3.2.24
|
vue: rg.cnpmjs.org/vue/3.2.24
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
registry.npmjs.org/vue3-lazyload/0.2.5-beta_e9ad48123e44f1efa3c90c8e8375ea6d:
|
||||||
|
resolution: {integrity: sha512-GVhJfL9Hcu+AvWsYmUwODivvt+gzpT0ztgAzZaUduoiTaGCv/qzhr0VwAQXfjGF3XFYFyOJsHlAi3/WE0P8XTQ==, registry: https://skimdb.npmjs.com/registry/, tarball: https://registry.npmjs.org/vue3-lazyload/-/vue3-lazyload-0.2.5-beta.tgz}
|
||||||
|
id: registry.npmjs.org/vue3-lazyload/0.2.5-beta
|
||||||
|
name: vue3-lazyload
|
||||||
|
version: 0.2.5-beta
|
||||||
|
peerDependencies:
|
||||||
|
'@vue/compiler-sfc': '>=3.0.0'
|
||||||
|
vue: '>=3.0.0'
|
||||||
|
dependencies:
|
||||||
|
'@vue/compiler-sfc': rg.cnpmjs.org/@vue/compiler-sfc/3.2.24
|
||||||
|
vue: rg.cnpmjs.org/vue/3.2.24
|
||||||
|
dev: false
|
||||||
|
|
||||||
registry.npmjs.org/vueuc/0.4.26_vue@3.2.24:
|
registry.npmjs.org/vueuc/0.4.26_vue@3.2.24:
|
||||||
resolution: {integrity: sha512-IK6TV4468k7Hpj1SXXPYelT/aYqmfa/SYTLFospwJ/uMebRExS1fh5tx6ZT3fSA0OkmCOHmmi2OGke+eSseAgw==, registry: https://skimdb.npmjs.com/registry/, tarball: https://registry.npmjs.org/vueuc/-/vueuc-0.4.26.tgz}
|
resolution: {integrity: sha512-IK6TV4468k7Hpj1SXXPYelT/aYqmfa/SYTLFospwJ/uMebRExS1fh5tx6ZT3fSA0OkmCOHmmi2OGke+eSseAgw==, registry: https://skimdb.npmjs.com/registry/, tarball: https://registry.npmjs.org/vueuc/-/vueuc-0.4.26.tgz}
|
||||||
id: registry.npmjs.org/vueuc/0.4.26
|
id: registry.npmjs.org/vueuc/0.4.26
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
import { App } from 'vue';
|
import { App } from 'vue';
|
||||||
|
import VueLazyLoad from 'vue3-lazyload'
|
||||||
|
import { requireErrorImg } from '@/utils'
|
||||||
|
|
||||||
// import { x } from '@/directives';
|
// import { x } from '@/directives';
|
||||||
|
|
||||||
@ -7,5 +9,9 @@ import { App } from 'vue';
|
|||||||
* @param app
|
* @param app
|
||||||
*/
|
*/
|
||||||
export function setupDirectives(app: App) {
|
export function setupDirectives(app: App) {
|
||||||
|
// 图片懒加载
|
||||||
|
app.use(VueLazyLoad, {
|
||||||
|
error: requireErrorImg(),
|
||||||
|
})
|
||||||
// app.directive('x', x);
|
// app.directive('x', x);
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ export const renderLang = (lang: string, set = {}, tag = 'span') => {
|
|||||||
* @param name
|
* @param name
|
||||||
* @returns url
|
* @returns url
|
||||||
*/
|
*/
|
||||||
export const requireFallbackImg = () => {
|
export const requireErrorImg = () => {
|
||||||
return Image_404
|
return Image_404
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,13 +13,7 @@
|
|||||||
<n-text class="list-header-text" depth="3">{{ item.title }}</n-text>
|
<n-text class="list-header-text" depth="3">{{ item.title }}</n-text>
|
||||||
</div>
|
</div>
|
||||||
<div class="list-center go-flex-center">
|
<div class="list-center go-flex-center">
|
||||||
<n-image
|
<img class="list-img" v-lazy="item.image" alt="图表图片" />
|
||||||
class="list-img"
|
|
||||||
object-fit="contain"
|
|
||||||
preview-disabled
|
|
||||||
:src="item.image"
|
|
||||||
:fallback-src="requireFallbackImg()"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -28,7 +22,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { PropType } from 'vue'
|
import { PropType } from 'vue'
|
||||||
import { MacOsControlBtn } from '@/components/MacOsControlBtn/index'
|
import { MacOsControlBtn } from '@/components/MacOsControlBtn/index'
|
||||||
import { requireFallbackImg, componentInstall } from '@/utils'
|
import { requireErrorImg, componentInstall } from '@/utils'
|
||||||
import { DragKeyEnum } from '@/enums/editPageEnum'
|
import { DragKeyEnum } from '@/enums/editPageEnum'
|
||||||
import { ConfigType } from '@/packages/index.d'
|
import { ConfigType } from '@/packages/index.d'
|
||||||
import omit from 'lodash/omit'
|
import omit from 'lodash/omit'
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
object-fit="contain"
|
object-fit="contain"
|
||||||
preview-disabled
|
preview-disabled
|
||||||
:src="image"
|
:src="image"
|
||||||
:fallback-src="requireFallbackImg()"
|
:fallback-src="requireErrorImg()"
|
||||||
/>
|
/>
|
||||||
<n-ellipsis>
|
<n-ellipsis>
|
||||||
<n-text class="list-text">
|
<n-text class="list-text">
|
||||||
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, toRefs, computed } from 'vue'
|
import { ref, toRefs, computed } from 'vue'
|
||||||
import { requireFallbackImg } from '@/utils'
|
import { requireErrorImg } from '@/utils'
|
||||||
import { useDesignStore } from '@/store/modules/designStore/designStore'
|
import { useDesignStore } from '@/store/modules/designStore/designStore'
|
||||||
import { useChartEditStoreStore } from '@/store/modules/chartEditStore/chartEditStore'
|
import { useChartEditStoreStore } from '@/store/modules/chartEditStore/chartEditStore'
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
requireUrl('project/moke-20211219181327.png')
|
requireUrl('project/moke-20211219181327.png')
|
||||||
"
|
"
|
||||||
:alt="cardData.title"
|
:alt="cardData.title"
|
||||||
:fallback-src="requireFallbackImg()"
|
:fallback-src="requireErrorImg()"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -83,7 +83,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { reactive, ref, PropType } from 'vue'
|
import { reactive, ref, PropType } from 'vue'
|
||||||
import { renderIcon, renderLang, requireFallbackImg } from '@/utils'
|
import { renderIcon, renderLang, requireErrorImg } from '@/utils'
|
||||||
import { icon } from '@/plugins'
|
import { icon } from '@/plugins'
|
||||||
import { MacOsControlBtn } from '@/components/MacOsControlBtn'
|
import { MacOsControlBtn } from '@/components/MacOsControlBtn'
|
||||||
import { Chartype } from '../../index.d'
|
import { Chartype } from '../../index.d'
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
object-fit="contain"
|
object-fit="contain"
|
||||||
height="300"
|
height="300"
|
||||||
preview-disabled
|
preview-disabled
|
||||||
:src="requireFallbackImg()"
|
:src="requireErrorImg()"
|
||||||
/>
|
/>
|
||||||
<n-h3>暂时还没有东西呢</n-h3>
|
<n-h3>暂时还没有东西呢</n-h3>
|
||||||
</n-space>
|
</n-space>
|
||||||
@ -13,7 +13,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { requireFallbackImg } from '@/utils'
|
import { requireErrorImg } from '@/utils'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="go-project-template-market">
|
<div class="go-project-template-market">
|
||||||
<n-space vertical>
|
<n-space vertical>
|
||||||
<n-image object-fit="contain" height="300" preview-disabled :src="requireFallbackImg()" />
|
<n-image object-fit="contain" height="300" preview-disabled :src="requireErrorImg()" />
|
||||||
<n-h3>暂时还没有东西呢</n-h3>
|
<n-h3>暂时还没有东西呢</n-h3>
|
||||||
</n-space>
|
</n-space>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { requireFallbackImg } from '@/utils'
|
import { requireErrorImg } from '@/utils'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
Loading…
Reference in New Issue
Block a user