hookehuyr

✨ feat: 引用模块重构

import { useVideoList } from '@/composables/useVideoList.js'
import { useDefaultPerf } from '@/composables/useDefaultPerf.js'
export {
useVideoList,
useDefaultPerf,
}
import icon_video from '@images/video.png'
import icon_up from '@images/icon-guanbi@2x.png'
import icon_down from '@images/icon-zhankai@2x.png'
import icon_subscribed from '@images/icon-dingyue01@2x.png'
import icon_unsubscribe from '@images/icon-dingyue02@2x.png'
import no_image from '@images/que-shuju@2x.png'
export {
icon_video,
icon_up,
icon_down,
icon_subscribed,
icon_unsubscribe,
no_image,
}
import MyButton from '@/components/MyButton/index.vue'
import VideoCard from '@/components/VideoCard/index.vue'
import NoticeOverlay from '@/components/NoticeOverlay/index.vue'
import DonateBook from '@/components/DonateBook/index.vue'
import ShortcutFixed from '@/components/ShortcutFixed/index.vue'
export {
MyButton,
VideoCard,
NoticeOverlay,
DonateBook,
ShortcutFixed,
}
import Cookies from 'js-cookie'
import $ from 'jquery'
import _ from 'lodash'
import axios from '@/utils/axios';
import { storeToRefs } from 'pinia'
import { mainStore } from '@/store'
import { Toast } from 'vant';
import { wxInfo, hasEllipsis } from '@/utils/tools';
export {
Cookies,
$,
_,
axios,
storeToRefs,
mainStore,
Toast,
wxInfo,
hasEllipsis
}
......@@ -17,4 +17,17 @@ const wxInfo = () => {
isTable
};
};
export { formatDate, wxInfo };
\ No newline at end of file
/**
* 判断多行省略文本
* @param {*} id 目标dom标签
* @returns
*/
const hasEllipsis = (id) => {
let oDiv = document.getElementById(id);
let flag = false
if (oDiv.scrollHeight > oDiv.clientHeight) {
flag = true
}
return flag
}
export { formatDate, wxInfo, hasEllipsis };
......
......@@ -116,37 +116,17 @@
</template>
<script setup>
import { mainStore } from '@/store'
import { storeToRefs } from 'pinia'
import Cookies from 'js-cookie'
import { useVideoList } from '@/composables/useVideoList.js'
import { useDefaultPerf } from '@/composables/useDefaultPerf.js'
import MyButton from '@/components/MyButton/index.vue'
import VideoCard from '@/components/VideoCard/index.vue'
import NoticeOverlay from '@/components/NoticeOverlay/index.vue'
import DonateBook from '@/components/DonateBook/index.vue'
import icon_video from '@images/video.png'
import icon_up from '@images/icon-guanbi@2x.png'
import icon_down from '@images/icon-zhankai@2x.png'
import icon_subscribed from '@images/icon-dingyue01@2x.png'
import icon_unsubscribe from '@images/icon-dingyue02@2x.png'
import no_image from '@images/que-shuju@2x.png'
import ShortcutFixed from '@/components/ShortcutFixed/index.vue'
import tools from '@/common/tool'
import { ref, nextTick, onActivated, onMounted } from 'vue'
import { ref, nextTick, onActivated, onMounted, onUpdated } from 'vue'
import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router'
import axios from '@/utils/axios';
import $ from 'jquery'
import _ from 'lodash'
import { Toast } from 'vant';
import { wxInfo } from '@/utils/tools';
import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, hasEllipsis } from '@/utils/generatePackage.js'
import { MyButton, VideoCard, NoticeOverlay, DonateBook, ShortcutFixed } from '@/utils/generateModules.js'
import { icon_video, icon_up, icon_down, icon_subscribed, icon_unsubscribe, no_image } from '@/utils/generateIcons.js'
import { JSJ_FORM_C } from '@/constant'
import { useVideoList, useDefaultPerf } from '@/composables';
const $route = useRoute();
const $router = useRouter();
......@@ -168,10 +148,14 @@ const onToggle = (v) => {
// DOM操作需要等待执行
setTimeout(() => {
// 判断是否显示简介的展开图标
nextTick(() => {
hasToggle.value = tools.hasEllipsis('book-intro');
})
// nextTick(() => {
// hasToggle.value = hasEllipsis('book-intro');
// })
hasToggle.value = hasEllipsis('book-intro');
}, 500);
onUpdated(() => {
// hasToggle.value = hasEllipsis('book-intro');
})
/**
* 书籍订阅
......