From a6842851a844e63a8766d63c5410a8e2f27a7d45 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 20 八月 2024 11:56:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-) diff --git a/src/main.js b/src/main.js index 9ede569..7cc0f9a 100644 --- a/src/main.js +++ b/src/main.js @@ -42,6 +42,9 @@ import VScaleScreen from 'v-scale-screen' import dataV from '@jiaminghi/data-view' +import gsap from 'gsap'; +import { formatNumber } from './utils/format'; + // 鍏ㄥ眬鏂规硶鎸傝浇 @@ -55,6 +58,7 @@ Vue.prototype.download = download Vue.prototype.handleTree = handleTree Vue.prototype.getToken = getToken +Vue.prototype.$uploadUrl = process.env.VUE_APP_BASE_API + "/common/upload" // 鍏ㄥ眬缁勪欢鎸傝浇 Vue.component('DictTag', DictTag) @@ -72,6 +76,9 @@ Vue.use(dataV) DictData.install() +// websocket +Vue.prototype.$websocket = null; + /** * If you don't want to use mock-server * you want to use MockJs for mock api @@ -87,6 +94,41 @@ Vue.config.productionTip = true + +// 鍏ㄥ眬鎸囦护 +Vue.directive('roll', { + inserted: (el, binding) => { + let target = { + count: 0 + }; + let finalNumber = el.innerText; + gsap.to(target, { + count: finalNumber, + duration: 1, + ease: "power2.out", + onUpdate: () => { + // el.innerText = formatNumber(target.count.toFixed(0)); + } + }) + + }, + update: (el, binding) => { + let target = { + count: el.innerText + }; + let finalNumber = el.getAttribute('value'); + gsap.to(target, { + count: finalNumber, + duration: 1, + ease: "power2.out", + onUpdate: () => { + // el.innerText = formatNumber(target.count.toFixed(0)); + } + }) + } +}) + + new Vue({ el: '#app', router, -- Gitblit v1.8.0