按需载入eui组件, 将coming soon方法独立成全局方法

This commit is contained in:
cebgcontract 2022-02-28 14:39:43 +08:00
parent 7aba2f8062
commit 3ee9c5439c
18 changed files with 2963 additions and 650 deletions

View File

@ -2,9 +2,17 @@ const plugins = ['@vue/babel-plugin-transform-vue-jsx', '@babel/plugin-proposal-
if (process.env.NODE_ENV === 'production') {
plugins.push('transform-remove-console')
plugins.push([
'component',
{
libraryName: 'element-ui',
styleLibraryName: 'theme-chalk'
}
])
}
module.exports = {
plugins: plugins,
// presets: [['@babel/preset-env', { modules: false }]]
presets: ['@vue/cli-plugin-babel/preset']
}

3465
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -47,6 +47,7 @@
"@vue/eslint-config-prettier": "^6.0.0",
"@vue/eslint-config-standard": "^5.1.2",
"@vue/eslint-config-typescript": "^7.0.0",
"babel-plugin-component": "^1.1.1",
"babel-plugin-transform-remove-console": "^6.9.4",
"eslint": "^7.12.1",
"eslint-plugin-import": "^2.22.1",

View File

@ -8,6 +8,12 @@ import { Component } from 'vue-property-decorator'
import ResizeMixin from '@/utils/resize'
import { mixins } from 'vue-class-component'
declare module 'vue/types/vue' {
interface Vue {
comingSoon?: () => void
}
}
@Component({
name: 'App',
components: {

View File

@ -50,7 +50,6 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import { Message } from 'element-ui'
@Component({
name: 'DesktopFooter',
@ -59,13 +58,6 @@ import { Message } from 'element-ui'
}
})
export default class extends Vue {
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>

View File

@ -28,7 +28,6 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import { Message } from 'element-ui'
import { AppModule } from '@/store/modules/app'
import { UserModule } from '@/store/modules/user'
import ChainManager from '@/utils/ChainManager'
@ -76,14 +75,6 @@ export default class extends Vue {
get accountId() {
return AppModule.accountId
}
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>

View File

@ -85,14 +85,6 @@ export default class extends Vue {
_onScrollEnd() {
console.log('CurrentPage => ', this.slide.getCurrentPage())
}
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>

View File

@ -129,14 +129,6 @@ export default class extends Vue {
get accountId() {
return AppModule.accountId
}
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>

View File

@ -83,14 +83,6 @@ export default class extends Vue {
this.menuShow = false
return this.chainManager.logout()
}
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>

View File

@ -99,14 +99,6 @@ export default class extends Vue {
onClose() {
this.infoPanelShow = false
}
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>

View File

@ -82,14 +82,6 @@ export default class MobileFooter extends Vue {
console.log('toggleSublist ', idx, this.status[idx])
this.status.splice(idx, 1, !this.status[idx])
}
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>

View File

@ -48,14 +48,6 @@ export default class MobileHeader extends Vue {
this.menuShow = !this.menuShow
}
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
changeSection(e: PointerEvent) {
this.menuShow = false
const target = e.currentTarget as HTMLElement

View File

@ -15,13 +15,7 @@ import { Message } from 'element-ui'
}
})
export default class MobileTopSection extends Vue {
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>
<style lang="scss" scoped>

View File

@ -57,14 +57,6 @@ export default class extends Vue {
console.log('show info')
this.$emit('dialog-show', true)
}
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>

View File

@ -58,14 +58,6 @@ export default class extends Vue {
console.log('show info')
this.$emit('dialog-show', true)
}
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>

View File

@ -37,14 +37,6 @@ export default class extends Vue {
get mobile() {
return AppModule.device === DeviceType.Mobile
}
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>

View File

@ -55,14 +55,6 @@ export default class extends Vue {
console.log('show info')
this.$emit('dialog-show', true)
}
comingSoon() {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
</script>

View File

@ -1,18 +1,40 @@
import Vue from 'vue'
import App from './App.vue'
import ElementUI from 'element-ui'
import { Loading, Message, MessageBox } from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import router from './router'
import store from './store'
import VueClipboard from 'vue-clipboard2'
// import 'video.js/dist/video-js.css'
import VueYouTubeEmbed from 'vue-youtube-embed'
Vue.use(ElementUI)
// Vue.use(ElementUI)
Vue.use(Loading.directive)
Vue.use(VueYouTubeEmbed)
Vue.use(VueClipboard)
Vue.config.productionTip = false
Vue.prototype.$loading = Loading.service
Vue.prototype.$msgbox = MessageBox
Vue.prototype.$alert = MessageBox.alert
Vue.prototype.$confirm = MessageBox.confirm
Vue.prototype.$prompt = MessageBox.prompt
Vue.prototype.$notify = Notification
Vue.prototype.$message = Message
const CustomerPlugin = {
install(_vue: typeof Vue, options?: any) {
_vue.prototype.comingSoon = () => {
Message({
message: 'coming soon',
type: 'info',
duration: 5 * 1000
})
}
}
}
Vue.use(CustomerPlugin)
new Vue({
router,
store,