hookehuyr

✨ feat: 引用模块重构

1 +import { useVideoList } from '@/composables/useVideoList.js'
2 +import { useDefaultPerf } from '@/composables/useDefaultPerf.js'
3 +
4 +export {
5 + useVideoList,
6 + useDefaultPerf,
7 +}
1 +import icon_video from '@images/video.png'
2 +import icon_up from '@images/icon-guanbi@2x.png'
3 +import icon_down from '@images/icon-zhankai@2x.png'
4 +import icon_subscribed from '@images/icon-dingyue01@2x.png'
5 +import icon_unsubscribe from '@images/icon-dingyue02@2x.png'
6 +import no_image from '@images/que-shuju@2x.png'
7 +
8 +export {
9 + icon_video,
10 + icon_up,
11 + icon_down,
12 + icon_subscribed,
13 + icon_unsubscribe,
14 + no_image,
15 +}
1 +import MyButton from '@/components/MyButton/index.vue'
2 +import VideoCard from '@/components/VideoCard/index.vue'
3 +import NoticeOverlay from '@/components/NoticeOverlay/index.vue'
4 +import DonateBook from '@/components/DonateBook/index.vue'
5 +import ShortcutFixed from '@/components/ShortcutFixed/index.vue'
6 +
7 +export {
8 + MyButton,
9 + VideoCard,
10 + NoticeOverlay,
11 + DonateBook,
12 + ShortcutFixed,
13 +}
1 +import Cookies from 'js-cookie'
2 +import $ from 'jquery'
3 +import _ from 'lodash'
4 +import axios from '@/utils/axios';
5 +import { storeToRefs } from 'pinia'
6 +import { mainStore } from '@/store'
7 +import { Toast } from 'vant';
8 +import { wxInfo, hasEllipsis } from '@/utils/tools';
9 +
10 +export {
11 + Cookies,
12 + $,
13 + _,
14 + axios,
15 + storeToRefs,
16 + mainStore,
17 + Toast,
18 + wxInfo,
19 + hasEllipsis
20 +}
...@@ -17,4 +17,17 @@ const wxInfo = () => { ...@@ -17,4 +17,17 @@ const wxInfo = () => {
17 isTable 17 isTable
18 }; 18 };
19 }; 19 };
20 -export { formatDate, wxInfo };
...\ No newline at end of file ...\ No newline at end of file
20 +/**
21 + * 判断多行省略文本
22 + * @param {*} id 目标dom标签
23 + * @returns
24 + */
25 +const hasEllipsis = (id) => {
26 + let oDiv = document.getElementById(id);
27 + let flag = false
28 + if (oDiv.scrollHeight > oDiv.clientHeight) {
29 + flag = true
30 + }
31 + return flag
32 +}
33 +export { formatDate, wxInfo, hasEllipsis };
......
...@@ -116,37 +116,17 @@ ...@@ -116,37 +116,17 @@
116 </template> 116 </template>
117 117
118 <script setup> 118 <script setup>
119 -import { mainStore } from '@/store' 119 +import { ref, nextTick, onActivated, onMounted, onUpdated } from 'vue'
120 -import { storeToRefs } from 'pinia'
121 -
122 -import Cookies from 'js-cookie'
123 -import { useVideoList } from '@/composables/useVideoList.js'
124 -import { useDefaultPerf } from '@/composables/useDefaultPerf.js'
125 -
126 -import MyButton from '@/components/MyButton/index.vue'
127 -import VideoCard from '@/components/VideoCard/index.vue'
128 -import NoticeOverlay from '@/components/NoticeOverlay/index.vue'
129 -import DonateBook from '@/components/DonateBook/index.vue'
130 -
131 -import icon_video from '@images/video.png'
132 -import icon_up from '@images/icon-guanbi@2x.png'
133 -import icon_down from '@images/icon-zhankai@2x.png'
134 -import icon_subscribed from '@images/icon-dingyue01@2x.png'
135 -import icon_unsubscribe from '@images/icon-dingyue02@2x.png'
136 -import no_image from '@images/que-shuju@2x.png'
137 -
138 -import ShortcutFixed from '@/components/ShortcutFixed/index.vue'
139 -import tools from '@/common/tool'
140 -import { ref, nextTick, onActivated, onMounted } from 'vue'
141 import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router' 120 import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router'
142 -import axios from '@/utils/axios'; 121 +
143 -import $ from 'jquery' 122 +import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, hasEllipsis } from '@/utils/generatePackage.js'
144 -import _ from 'lodash' 123 +import { MyButton, VideoCard, NoticeOverlay, DonateBook, ShortcutFixed } from '@/utils/generateModules.js'
145 -import { Toast } from 'vant'; 124 +import { icon_video, icon_up, icon_down, icon_subscribed, icon_unsubscribe, no_image } from '@/utils/generateIcons.js'
146 -import { wxInfo } from '@/utils/tools';
147 125
148 import { JSJ_FORM_C } from '@/constant' 126 import { JSJ_FORM_C } from '@/constant'
149 127
128 +import { useVideoList, useDefaultPerf } from '@/composables';
129 +
150 const $route = useRoute(); 130 const $route = useRoute();
151 const $router = useRouter(); 131 const $router = useRouter();
152 132
...@@ -168,10 +148,14 @@ const onToggle = (v) => { ...@@ -168,10 +148,14 @@ const onToggle = (v) => {
168 // DOM操作需要等待执行 148 // DOM操作需要等待执行
169 setTimeout(() => { 149 setTimeout(() => {
170 // 判断是否显示简介的展开图标 150 // 判断是否显示简介的展开图标
171 - nextTick(() => { 151 + // nextTick(() => {
172 - hasToggle.value = tools.hasEllipsis('book-intro'); 152 + // hasToggle.value = hasEllipsis('book-intro');
173 - }) 153 + // })
154 + hasToggle.value = hasEllipsis('book-intro');
174 }, 500); 155 }, 500);
156 +onUpdated(() => {
157 + // hasToggle.value = hasEllipsis('book-intro');
158 +})
175 159
176 /** 160 /**
177 * 书籍订阅 161 * 书籍订阅
......