From 6976f58757941e7a9c14072d0a6bc34d1c2e5970 Mon Sep 17 00:00:00 2001 From: zyronon Date: Sat, 20 Apr 2024 22:34:45 +0800 Subject: [PATCH] refactor: optimize the code --- package.json | 2 +- src/api/user.ts | 16 +- src/api/videos.ts | 17 +- src/components/slide/SlideAlbum.vue | 1 - src/components/slide/SlideHorizontal.vue | 52 ++++++ src/config/index.ts | 1 + src/mock/index.ts | 2 +- src/pages/home/SearchPage.vue | 21 ++- src/pages/home/slide/SlideList.vue | 2 +- src/pages/me/Me.vue | 15 +- src/pages/me/MyMusic.vue | 2 - src/pages/me/components/SlideItemMusic.vue | 2 +- src/pages/me/rightMenu/LookHistory.vue | 4 +- src/pages/message/RedPacketDetail.vue | 4 - src/pages/message/Share2Friend.vue | 5 - src/pages/message/chat/Chat.vue | 3 - src/pages/message/chat/ChatDetail.vue | 5 - src/pages/message/notice/NoticeSetting.vue | 8 +- src/pages/people/FollowAndFans.vue | 3 +- src/store/pinia.ts | 4 +- src/utils/{dom.js => dom.ts} | 12 +- src/utils/{index.jsx => index.tsx} | 179 +++++++++++---------- src/utils/{mixin.js => mixin.ts} | 42 +++-- src/utils/request.ts | 29 +++- 24 files changed, 238 insertions(+), 193 deletions(-) rename src/utils/{dom.js => dom.ts} (91%) rename src/utils/{index.jsx => index.tsx} (80%) rename src/utils/{mixin.js => mixin.ts} (79%) diff --git a/package.json b/package.json index 36e22bb..b34de4d 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "type-check": "vue-tsc --build --force", "report": "vite build", "preview": "vite preview", - "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore", + "lint": "eslint --fix . --ext .vue,.js,.ts,.tsx,.jsx,.cjs,.mjs --fix --ignore-path .gitignore", "format": "prettier --write src/", "prepare": "husky", "commit": "git-cz" diff --git a/src/api/user.ts b/src/api/user.ts index 744e2aa..2246883 100644 --- a/src/api/user.ts +++ b/src/api/user.ts @@ -1,29 +1,29 @@ -import request from '../utils/request' +import { request } from '@/utils/request' -export function userinfo(params, data) { +export function userinfo(params?: any, data?: any) { return request({ url: '/user/userinfo', method: 'get', params, data }) } -export function userVideoList(params, data) { +export function userVideoList(params?: any, data?: any) { return request({ url: '/user/video_list', method: 'get', params, data }) } -export function panel(params, data) { +export function panel(params?: any, data?: any) { return request({ url: '/user/panel', method: 'get', params, data }) } -export function friends(params, data) { +export function friends(params?: any, data?: any) { return request({ url: '/user/friends', method: 'get', params, data }) } -export function userCollect(params, data) { +export function userCollect(params?: any, data?: any) { return request({ url: '/user/collect', method: 'get', params, data }) } -export function recommendedPost(params, data) { +export function recommendedPost(params?: any, data?: any) { return request({ url: '/post/recommended', method: 'get', params, data }) } -export function recommendedShop(params, data) { +export function recommendedShop(params?: any, data?: any) { return request({ url: '/shop/recommended', method: 'get', params, data }) } diff --git a/src/api/videos.ts b/src/api/videos.ts index bc5f99f..bbbd06b 100644 --- a/src/api/videos.ts +++ b/src/api/videos.ts @@ -1,28 +1,29 @@ -import request from '../utils/request' +import { request } from '@/utils/request' -export function historyOther(params, data) { +export function historyOther(params?: any, data?: any) { return request({ url: '/video/historyOther', method: 'get', params, data }) } -export function historyVideo(params, data) { +export function historyVideo(params?: any, data?: any) { return request({ url: '/video/history', method: 'get', params, data }) } -export function recommendedVideo(params, data) { +export function recommendedVideo(params?: any, data?: any) { return request({ url: '/video/recommended', method: 'get', params, data }) } -export function myVideo(params, data) { +export function myVideo(params?: any, data?: any) { return request({ url: '/video/my', method: 'get', params, data }) } -export function privateVideo(params, data) { +export function privateVideo(params?: any, data?: any) { return request({ url: '/video/private', method: 'get', params, data }) } -export function likeVideo(params, data) { +export function likeVideo(params?: any, data?: any) { return request({ url: '/video/like', method: 'get', params, data }) } -export function videoComments(params, data) { + +export function videoComments(params?: any, data?: any) { return request({ url: '/video/comments', method: 'get', params, data }) } diff --git a/src/components/slide/SlideAlbum.vue b/src/components/slide/SlideAlbum.vue index 128f5be..ee4a6bf 100644 --- a/src/components/slide/SlideAlbum.vue +++ b/src/components/slide/SlideAlbum.vue @@ -236,7 +236,6 @@ const props = defineProps({ } } }) -const judgeValue = 20 const wrapperEl = ref(null) //用于解决,touch事件触发startPlay,然后click事件又触发stopLoop的问题 diff --git a/src/components/slide/SlideHorizontal.vue b/src/components/slide/SlideHorizontal.vue index d853f49..c6de2e9 100644 --- a/src/components/slide/SlideHorizontal.vue +++ b/src/components/slide/SlideHorizontal.vue @@ -22,6 +22,14 @@ const props = defineProps({ type: String, default: () => '' }, + autoplay: { + type: Boolean, + default: () => false + }, + indicator: { + type: Boolean, + default: () => false + }, //改变index,是否使用动画 changeActiveIndexUseAnim: { type: Boolean, @@ -69,6 +77,16 @@ watch( onMounted(() => { slideInit(wrapperEl.value, state) + if (props.autoplay) { + setInterval(() => { + if (state.localIndex === state.wrapper.childrenLength - 1) { + emit('update:index', 0) + } else { + emit('update:index', state.localIndex + 1) + } + }, 3000) + } + //观察子元素数量变动,获取最新数量 //childrenLength用于canNext方法判断当前页是否是最后一页,是则不能滑动,不捕获事件 ob = new MutationObserver(() => { @@ -97,6 +115,15 @@ function touchEnd(e: TouchEvent) { + + diff --git a/src/config/index.ts b/src/config/index.ts index 2646d64..e0b4466 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -16,3 +16,4 @@ export const IS_SUB_DOMAIN = ['GITEE_PAGES', 'GP_PAGES'].includes(import.meta.en export const BASE_URL = BASE_URL_MAP[import.meta.env.VITE_ENV] export const IMG_URL = BASE_URL + '/images/' export const FILE_URL = BASE_URL + '/data/' +export const IS_DEV = process.env.NODE_ENV !== 'production' diff --git a/src/mock/index.ts b/src/mock/index.ts index d1bdf1b..92ed798 100644 --- a/src/mock/index.ts +++ b/src/mock/index.ts @@ -3,7 +3,7 @@ import posts6 from '@/assets/data/posts6.json' import { _fetch, cloneDeep, random } from '@/utils' import { BASE_URL, FILE_URL } from '@/config' import { useBaseStore } from '@/store/pinia' -import axiosInstance from '@/utils/request' +import { axiosInstance } from '@/utils/request' import MockAdapter from 'axios-mock-adapter' const mock = new MockAdapter(axiosInstance, { delayResponse: 300 }) diff --git a/src/pages/home/SearchPage.vue b/src/pages/home/SearchPage.vue index 6fde652..16c5ab7 100644 --- a/src/pages/home/SearchPage.vue +++ b/src/pages/home/SearchPage.vue @@ -57,7 +57,7 @@ 品牌榜 - +
@@ -179,7 +179,7 @@
-
{{ item.name }}
@@ -211,7 +210,7 @@
查看完整品牌榜 >
- +
AD1
@@ -236,7 +235,7 @@
AD8
-
+
@@ -247,11 +246,8 @@ diff --git a/src/pages/message/Share2Friend.vue b/src/pages/message/Share2Friend.vue index 8549360..89656f8 100644 --- a/src/pages/message/Share2Friend.vue +++ b/src/pages/message/Share2Friend.vue @@ -181,10 +181,7 @@