123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <template>
- <view :style="themeColor()">
- <loading-page :loading="diy.getLoading()"></loading-page>
- <view v-show="!diy.getLoading()">
- <!-- 自定义模板渲染 -->
- <view class="diy-template-wrap bg-index" :style="diy.pageStyle()">
- <diy-group ref="diyGroupRef" :data="diy.data" />
- </view>
- </view>
- <!-- #ifdef MP-WEIXIN -->
- <!-- 小程序隐私协议 -->
- <wx-privacy-popup ref="wxPrivacyPopupRef"></wx-privacy-popup>
- <!-- #endif -->
- </view>
- </template>
- <script setup lang="ts">
- import {ref,nextTick} from 'vue';
- import {useDiy} from '@/hooks/useDiy'
- import {redirect} from '@/utils/common';
- import diyGroup from '@/addon/components/diy/group/index.vue'
- import { onShow } from '@dcloudio/uni-app';
- import useDiyStore from '@/app/stores/diy';
- uni.hideTabBar() // 隐藏tabbar
- const diy = useDiy({
- name: 'DIY_MALL_INDEX'
- })
- const diyGroupRef = ref(null)
- const wxPrivacyPopupRef:any = ref(null)
- // 监听页面加载
- diy.onLoad();
- onShow(()=>{
- const diyStore = useDiyStore();
- diyStore.siteId = 0
- })
- // 监听页面显示
- diy.onShow((data: any) => {
- if (data.value) {
- // uni.setNavigationBarTitle({
- // title: diyData.title
- // })
- } else if (data.page) {
- // 跳转到设置的启动页
- redirect({url: data.page, mode: 'reLaunch'})
- }
- diyGroupRef.value?.refresh();
- // #ifdef MP
- nextTick(()=>{
- if(wxPrivacyPopupRef.value) wxPrivacyPopupRef.value.proactive();
- })
- // #endif
- });
- // 监听页面隐藏
- diy.onHide();
- // 监听页面卸载
- diy.onUnload();
- // 监听滚动事件
- diy.onPageScroll()
- </script>
- <style lang="scss" scoped>
- @import '@/styles/diy.scss';
- </style>
- <style lang="scss">
- .diy-template-wrap {
- /* #ifdef MP */
- .child-diy-template-wrap {
- ::v-deep .diy-group {
- > .draggable-element.top-fixed-diy {
- display: block !important;
- }
- }
- }
- /* #endif */
- }
- </style>
|