chore(组件): 全局组件改为按需引用

This commit is contained in:
2025-12-26 14:29:38 +08:00
parent e949b14090
commit 86831b8551
27 changed files with 287 additions and 103 deletions

22
main.js
View File

@@ -40,27 +40,7 @@ App.mpType = 'app';
// 重写存储,增加前缀
uniStorage();
//常用组件
import loadingCover from '@/components/loading-cover/loading-cover.vue';
Vue.component('loading-cover', loadingCover);
import nsMpHtml from '@/components/ns-mp-html/ns-mp-html.vue';
Vue.component('ns-mp-html', nsMpHtml);
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
Vue.component('ns-empty', nsEmpty);
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
Vue.component("mescroll-uni", MescrollUni); //上拉加载,下拉刷新组件
import MescrollBody from "@/components/mescroll/mescroll-body.vue"
Vue.component('mescroll-body', MescrollBody);
import NsLogin from "@/components/ns-login/ns-login.vue"
Vue.component('ns-login', NsLogin);
import PrivacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
Vue.component('privacy-popup', PrivacyPopup)
// 组件已改为按需引入,不再全局注册
const app = new Vue({
...App,

View File

@@ -26,8 +26,19 @@
</template>
<script>
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
export default {
components: {},
components: {
nsLogin,
loadingCover,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
data() {
return {
diyData: null

View File

@@ -134,6 +134,10 @@
<script>
import uniPopup from '@/components/uni-popup/uni-popup.vue';
import nsNavbar from '@/components/ns-navbar/ns-navbar.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
import diyJs from '@/common/js/diy.js';
import indexJs from './public/js/index.js';
import toTop from '@/components/toTop/toTop.vue';
@@ -144,7 +148,11 @@
components: {
uniPopup,
nsNavbar,
toTop
toTop,
nsLogin,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
mixins: [diyJs, scroll, indexJs]
};

View File

@@ -319,15 +319,27 @@
import nsGoodsRecommend from '@/components/ns-goods-recommend/ns-goods-recommend.vue';
import uniNumberBox from '@/components/uni-number-box/uni-number-box.vue';
import toTop from '@/components/toTop/toTop.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import scroll from '@/common/js/scroll-view.js';
import cart from './public/js/cart.js';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
export default {
components: {
nsGoodsRecommend,
uniNumberBox,
toTop
},
nsGoodsRecommend,
uniNumberBox,
toTop,
nsEmpty,
nsLogin,
loadingCover,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
mixins: [scroll, cart]
};
</script>

View File

@@ -534,19 +534,30 @@ import toTop from '@/components/toTop/toTop.vue';
import nsGoodsPromotion from '@/components/ns-goods-promotion/ns-goods-promotion.vue';
import goodsDetailBase from '@/common/js/goods_detail_base.js';
import goodsDetailView from '@/components/goods-detail-view/goods-detail-view.vue';
// 按需引入全局组件
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
export default {
components: {
nsGoodsAction,
nsGoodsActionIcon,
nsGoodsActionButton,
uniPopup,
nsGoodsSku,
uniCountDown,
nsGoodsPromotion,
goodsDetailView,
toTop
},
nsGoodsAction,
nsGoodsActionIcon,
nsGoodsActionButton,
uniPopup,
nsGoodsSku,
uniCountDown,
nsGoodsPromotion,
goodsDetailView,
toTop,
nsLogin,
loadingCover,
// #ifdef MP-WEIXIN
privacyPopup,
// #endif
},
mixins: [goodsDetailBase, detail, scroll]
};
</script>

View File

@@ -288,14 +288,26 @@
import uniDrawer from '@/components/uni-drawer/uni-drawer.vue';
import uniTag from '@/components/uni-tag/uni-tag.vue';
import nsGoodsSkuIndex from '@/components/ns-goods-sku/ns-goods-sku-index.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
import list from './public/js/list.js';
export default {
components: {
uniDrawer,
uniTag,
nsGoodsSkuIndex
},
uniDrawer,
uniTag,
nsGoodsSkuIndex,
nsEmpty,
MescrollUni,
loadingCover,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
data() {
return {};
},

View File

@@ -149,8 +149,19 @@
<script>
import orderMethod from './public/js/orderMethod.js';
import nsPayment from '@/components/payment/payment.vue';
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
export default {
components: {
nsPayment,
MescrollUni,
nsLogin,
loadingCover,
nsEmpty
},
data() {
return {
scrollInto: '',
@@ -175,9 +186,7 @@
isTradeManaged: false // 检测微信小程序是否已开通发货信息管理服务
};
},
components: {
nsPayment
},
mixins: [orderMethod],
onLoad(option) {
if (option.status) this.orderStatus = option.status;

View File

@@ -63,7 +63,16 @@
</template>
<script>
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
export default {
components: {
MescrollUni,
nsLogin,
loadingCover
},
data() {
return {
dataList: [], //账号列表

View File

@@ -91,8 +91,16 @@
import {
Weixin
} from 'common/js/wx-jssdk.js';
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
export default {
components: {
MescrollUni,
nsLogin,
loadingCover
},
data() {
return {
addressList: [],

View File

@@ -73,7 +73,11 @@
</template>
<script>
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
export default {
components: { nsLogin, loadingCover },
data() {
return {
balanceInfo: {

View File

@@ -51,7 +51,17 @@
</template>
<script>
export default {
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
export default {
components: {
nsEmpty,
nsLogin,
loadingCover,
MescrollUni
},
data() {
const currentDate = this.getDate({
format: true
@@ -83,7 +93,6 @@
related_id: 0
};
},
components: {},
onLoad(option) {
if (option.group_id) this.related_id = option.group_id ? option.group_id : 0;
if (option.from_type) this.searchType.from_type = option.from_type;

View File

@@ -120,13 +120,15 @@
<script>
import uniPopup from '@/components/uni-popup/uni-popup.vue';
import nsGoodsRecommend from '@/components/ns-goods-recommend/ns-goods-recommend.vue';
import scroll from '@/common/js/scroll-view.js';
import nsGoodsRecommend from '@/components/ns-goods-recommend/ns-goods-recommend.vue';
import scroll from '@/common/js/scroll-view.js';
import nsLogin from '@/components/ns-login/ns-login.vue';
export default {
components: {
uniPopup,
nsGoodsRecommend
nsGoodsRecommend,
nsLogin
},
mixins: [scroll],
data() {

View File

@@ -211,11 +211,19 @@
<script>
import scroll from '@/common/js/scroll-view.js';
import uniPopup from '@/components/uni-popup/uni-popup.vue';
import uniPopup from '@/components/uni-popup/uni-popup.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsPayment from '@/components/ns-payment/ns-payment.vue';
export default {
components: {
uniPopup
uniPopup,
nsEmpty,
nsLogin,
loadingCover,
nsPayment
},
mixins: [scroll],
data() {

View File

@@ -37,12 +37,20 @@
<script>
import nsGoodsRecommend from '@/components/ns-goods-recommend/ns-goods-recommend.vue';
import collection from './public/js/collection.js';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
import collection from './public/js/collection.js';
export default {
components: {
nsGoodsRecommend
},
export default {
components: {
nsGoodsRecommend,
nsEmpty,
nsLogin,
loadingCover,
MescrollUni
},
mixins: [collection],
data() {
return {};

View File

@@ -71,8 +71,18 @@
</template>
<script>
export default {
data() {
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
export default {
components: {
nsEmpty,
nsLogin,
loadingCover,
MescrollUni
},
data() {
return {
type: '',
types: '',

View File

@@ -65,8 +65,18 @@
<script>
var dateList = [];
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
export default {
components: {
nsEmpty,
nsLogin,
loadingCover,
MescrollUni
},
data() {
return {
goodsList: [],

View File

@@ -233,7 +233,15 @@
<script>
import inviteFriends from './public/js/invite_friends.js';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
export default {
components: {
nsEmpty,
nsLogin,
loadingCover
},
data() {
return {
inviteList: [],

View File

@@ -173,6 +173,8 @@
import toTop from '@/components/toTop/toTop.vue';
import scroll from '@/common/js/scroll-view.js';
import uniPopup from '@/components/uni-popup/uni-popup.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
export default {
components: {

View File

@@ -76,7 +76,14 @@
</template>
<script>
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
export default {
components: {
nsLogin,
loadingCover
},
data() {
return {
pointInfo: {

View File

@@ -46,7 +46,17 @@
</template>
<script>
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
export default {
components: {
nsEmpty,
nsLogin,
loadingCover,
MescrollUni
},
data() {
const currentDate = this.getDate({
format: true

View File

@@ -31,7 +31,17 @@
</template>
<script>
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
export default {
components: {
nsEmpty,
nsLogin,
loadingCover,
MescrollUni
},
data() {
return {
dataList: []

View File

@@ -54,7 +54,12 @@
</template>
<script>
import loadingCover from '@/components/loading-cover/loading-cover.vue';
export default {
components: {
loadingCover
},
data() {
return {
id: 0,

View File

@@ -57,8 +57,14 @@
<script>
import refundMethod from './public/js/refundMethod.js';
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
export default {
components: {
MescrollUni,
nsEmpty
},
data() {
return {
refundList: [],

View File

@@ -31,9 +31,12 @@
</template>
<script>
import { Weixin } from 'common/js/wx-jssdk.js';
export default {
import { Weixin } from 'common/js/wx-jssdk.js';
import nsLogin from '@/components/ns-login/ns-login.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
export default {
components: { nsLogin, nsEmpty },
data() {
return {
payIndex: 0,

View File

@@ -104,7 +104,10 @@
</template>
<script>
import nsPayment from '@/components/ns-payment/ns-payment.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
export default {
components: { nsPayment, loadingCover },
data() {
return {
list: [],

View File

@@ -41,7 +41,17 @@
</template>
<script>
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
import MescrollUni from '@/components/mescroll/mescroll-uni.vue';
export default {
components: {
nsLogin,
loadingCover,
nsEmpty,
MescrollUni
},
data() {
return {
orderList: []

View File

@@ -1,42 +1,51 @@
<template>
<page-meta :page-style="themeColor"></page-meta>
<view>
<view class="iconfont iconshang navigate-back" @click="navigateBack"></view>
<web-view :src="src"></web-view>
<!-- #ifdef MP-WEIXIN -->
<!-- 小程序隐私协议 -->
<privacy-popup ref="privacyPopup"></privacy-popup>
<!-- #endif -->
</view>
</template>
<script>
export default {
data() {
return {
src: ''
};
},
onLoad(option) {
this.src = decodeURIComponent(option.src);
},
methods: {
navigateBack() {
uni.navigateBack({
delta: 1
});
}
}
};
</script>
<style lang="scss">
.navigate-back {
position: absolute;
top: 34rpx;
left: 34rpx;
z-index: 5;
font-size: $font-size-toolbar;
}
</style>
<template>
<page-meta :page-style="themeColor"></page-meta>
<view>
<view class="iconfont iconshang navigate-back" @click="navigateBack"></view>
<web-view :src="src"></web-view>
<!-- #ifdef MP-WEIXIN -->
<!-- 小程序隐私协议 -->
<privacy-popup ref="privacyPopup"></privacy-popup>
<!-- #endif -->
</view>
</template>
<script>
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
export default {
components: {
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
data() {
return {
src: ''
};
},
onLoad(option) {
this.src = decodeURIComponent(option.src);
},
methods: {
navigateBack() {
uni.navigateBack({
delta: 1
});
}
}
};
</script>
<style lang="scss">
.navigate-back {
position: absolute;
top: 34rpx;
left: 34rpx;
z-index: 5;
font-size: $font-size-toolbar;
}
</style>