From f0097b84d16741f91370457b8d0f639986357840 Mon Sep 17 00:00:00 2001 From: duanshuwen Date: Tue, 2 Dec 2025 22:42:15 +0800 Subject: [PATCH 01/14] =?UTF-8?q?feat:=20=E8=AF=84=E4=BB=B7=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=90=AD=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .npmrc | 2 +- src/assets/images/rate/dy.png | Bin 0 -> 996 bytes src/assets/images/rate/fz.png | Bin 0 -> 1557 bytes src/assets/images/rate/mt.png | Bin 0 -> 1127 bytes src/assets/images/rate/qne.png | Bin 0 -> 1112 bytes src/assets/images/rate/xc.png | Bin 0 -> 1462 bytes src/renderer/constant/rate.ts | 52 ++++++++++++++++++ src/renderer/env.d.ts | 6 +- src/renderer/layout/index.vue | 9 ++- src/renderer/router/index.ts | 6 +- src/renderer/views/home/index.vue | 4 +- .../components/RatePanelSection/index.vue | 27 +++++++++ .../components/RateTitleSection/index.vue | 14 +++++ src/renderer/views/rate/index.vue | 16 +++--- 14 files changed, 116 insertions(+), 20 deletions(-) create mode 100644 src/assets/images/rate/dy.png create mode 100644 src/assets/images/rate/fz.png create mode 100644 src/assets/images/rate/mt.png create mode 100644 src/assets/images/rate/qne.png create mode 100644 src/assets/images/rate/xc.png create mode 100644 src/renderer/constant/rate.ts create mode 100644 src/renderer/views/rate/components/RatePanelSection/index.vue create mode 100644 src/renderer/views/rate/components/RateTitleSection/index.vue diff --git a/.npmrc b/.npmrc index 9291011..12f6b11 100644 --- a/.npmrc +++ b/.npmrc @@ -1,3 +1,3 @@ -registry=https://registry.npmmirror.com +# registry=https://registry.npmmirror.com electron_mirror=https://npmmirror.com/mirrors/electron/ electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/ diff --git a/src/assets/images/rate/dy.png b/src/assets/images/rate/dy.png new file mode 100644 index 0000000000000000000000000000000000000000..690bb4db77e99b3af1ea8b069625b9eb1b657057 GIT binary patch literal 996 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k3?#4J%UH$0z<4^qC&U%V1p)^L2L%NM85tQV zDJe-wNeM6jGNh%Yfg%t9%g9K(y8~SSv_)1*O2NWHNm5c-LqkPUQWc0~WmQd0)g&d= zB_uR}$jVAnLP9$tLPtkOPeMXZQPIHK+Qiw}N=(c~Ow3VK)KNypSwX=$KHeoL$W>I- zH9p>5RMg$k(MMD?u%aTkygWo$I7C`HOjtNPJUk*IBD$_FDJCYlp&?I9tVUM0#>J(M zkFQljql=e!;@r8@yuIhBsm)!#esO>QvSrJb`}nMwIdkQnJ*)KfH|^iQy|QvoO3HzX ziUSue96WgNP;Bg>tgPeR-6v0jz?t&$3l}b2ym8~w&6}53ufF-{(VfMM@2_2Z|Iwod z+qXY>@Zia|ZO`AneR=HI>oaHGT)Fb*=FPX)uD!c>@%_!4A8+0I`1b9`uU|iX`}XtQ zyPrVt>({T3AAf)T{QJ+JKYu~s-|yf5{{8#^|Np$yFehMKDwG8I1v9X)aB!+?YMI)m zXJzN)=g*uuYumQ%_a8ob^5psRPk;ZlTsoBkOad!BT^vI!PPblp8h^+^hV8@bhNcC= zE(r?~s>{mRZ`=igPrr-j_ME?wB7J`L+imZ=Z@+uzctUh$)0N<`Go4c}P5xK(gmd8~ zshk_u53N+Q|1@dn2ra&KK9@;(LxvKQPQpEe~tUZzncZ zrM+@)u5NDXMaQ-!Ecx!Vn?e2R$wE2tt}{+AN(&b(H0hmdwTVmdN8PR&tCPYx5*=Nh zub5Y>)MNLq&Lz;vr)nGb-G09}Yp!!HTyp5!)$=bO*_Yhz{rtw2Nn>N$Ki-7P58dum z1iZT<{==pBJcIu6&1Ie@d>{51M$A_3+{Pf+_GxCkLf1CNyj?G{@7NvKDlv<(;!XeY zjc32y@w0Xf&~GSSzj)943IC2g6|+kc-;s3oq>hxu`eUam+%Ien4XQqO=ULIh&i$tY zC93D&ta{+|oI6+2Mx@K*+(li9xLYwZWi~GVu${G2gzepqBM(=c`L(@NhtXr%*V3qx zlH3&0 euAE?)U(Yz>@i*?6*kU_SX7zOSb6Mw<&;$U(YpPuU literal 0 HcmV?d00001 diff --git a/src/assets/images/rate/fz.png b/src/assets/images/rate/fz.png new file mode 100644 index 0000000000000000000000000000000000000000..63548946e009ee6fca141debaddb7d9546e148e1 GIT binary patch literal 1557 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 OCIFX{wzogwaNWO5|9q7I literal 0 HcmV?d00001 diff --git a/src/assets/images/rate/xc.png b/src/assets/images/rate/xc.png new file mode 100644 index 0000000000000000000000000000000000000000..ac770211ed1c964918b271ba9ff2ce2b78a9e1f6 GIT binary patch literal 1462 zcmV;n1xfmeP)6u%$%fS--uOhjGVZJO{31mzinnxF|7P*Fb^qqs1LgP76Yjlrf6U=W-Y0$ZXG z2g+g1U>3>>ETYZ8i?YEYDx}C$6=tiRVV24an;k_@Z>7SrPZp{WGSZRDi}qeYxECYB}Dm}0a@>j{ud26&WevPc4bma=bm8Mwx~Fp;qsj;{;vADj7AEJZDIDg!?PO!QxKIVd z7;iKS4ddZKAur;kFJ-)c(2WBZ?&9=~C~P+)*lqLU%{mu~D)Ko`s-ISksa(P5Lb1_I z%+J%+b8BR5YYm{iH;P0mjR!>zB(U+QH;*%AyJ=IeiDR`P->@wE%7aU{qlhOT29l;f zq%+_9!U@c%67`*HmeQ=|apWDF7HYMac&iRBm0m9l^=YFpm5l!g~k3DB|_;lhZ=Wcw?eN zW^R!Xj-_;i@dT5wU5}vpgdg*_%Xt?{ZY;zbe&|Cgt?DXgOc zVwrLI-$#xb z^d4WxN+|7vG36mJ1C%uze)MDd78(1`2MJIb*Bo&y+Uc5bFB}z6d2>IaL)n0sC%!ow zKrwM-0g?7%cLa@XLCoBmZChk7AJk%t9fxZ_0|=1PQKzP2hZxmG z_)$GHy-LE>-t4qr^If0%Tiuy}cDdl~I8zbH{m{zp(-)oT>;amLl z_8_6@N{HHlnA2t!-woT|)leFqLV74TY`b`etjj~nXo%U=cTKoIZv5Oappuwn+DG4d zbK0!hdJ=(y&qF!=E=4QzFj63{heL|y_%Tvf?suctmrxI8g>r?}g}3QDHl)2;OKl=E zf?@{$57vIsi0jrxNHxtv+S{($u!(Y)EueG!usBYSbzvcqv4k?tA4#f3@Dw%Axzr-+ ze(}TZ^r5x+5RUC$gHG!b1j#cg+dEMDIw{hbrrdTXmT9zO1F~^!Y-Ho3o|IgDz@tu! z@uY&5_6T05dUU)!OtmV7RMZ8<*9j%&9d2+bsu(xrIF?&Ix>BBv(;OSD*?_ILa4p#G z!p>9u=n!JK+!Lj@jR0CZ!szLXQ)rao5OvUWX+0an(%o*oMbTZr3&rYEfxUv{Q{Iax zgfDM*(pc)HdgRBxa{(OvBcv+h3L971JjJfleXdz*7+ylKmoz=(epE_jM9f}3u#Jb= zv5qz#;mO=|=u;tFK(FyRmkkD9D0#e~=w7_Wvf=(Z#!*Tai;oCKW_x`DG{0)IUp0v8;{9Si%_3)^Dsf6j1S;oRywX#@2-DQb9xh11TsD5Db2} QrT_o{07*qoM6N<$f}x(yd;kCd literal 0 HcmV?d00001 diff --git a/src/renderer/constant/rate.ts b/src/renderer/constant/rate.ts new file mode 100644 index 0000000..c3522a6 --- /dev/null +++ b/src/renderer/constant/rate.ts @@ -0,0 +1,52 @@ +import xc from '@assets/images/rate/xc.png' +import qne from '@assets/images/rate/qne.png' +import fz from '@assets/images/rate/fz.png' +import mt from '@assets/images/rate/mt.png' +import dy from '@assets/images/rate/dy.png' + +// 菜单列表申明 +interface Item { + id: number + name: string + icon: any + total: number, + score: number +} + +export const channels: Item[] = [ + { + id: 1, + name: '携程', + icon: xc, + total: 110, + score: 4.5 + }, + { + id: 2, + name: '去哪儿', + icon: qne, + total: 100, + score: 4.5 + }, + { + id: 3, + name: '飞猪', + icon: fz, + total: 90, + score: 4.5 + }, + { + id: 4, + name: '美团', + icon: mt, + total: 80, + score: 4.5 + }, + { + id: 5, + name: '抖音', + icon: dy, + total: 70, + score: 4.5 + } +] \ No newline at end of file diff --git a/src/renderer/env.d.ts b/src/renderer/env.d.ts index 815034a..5eea330 100644 --- a/src/renderer/env.d.ts +++ b/src/renderer/env.d.ts @@ -1,3 +1,7 @@ declare module "@store/counter"; declare module "@utils/request"; -declare module "@constant/menus"; \ No newline at end of file +declare module "@assets/images/*"; +declare module "@constant/rate"; +declare module "@constant/menus"; +declare module "@remixicon/vue"; +declare module "vue-router"; \ No newline at end of file diff --git a/src/renderer/layout/index.vue b/src/renderer/layout/index.vue index 88bc12c..a9b72ae 100644 --- a/src/renderer/layout/index.vue +++ b/src/renderer/layout/index.vue @@ -1,6 +1,6 @@ - - + \ No newline at end of file diff --git a/src/renderer/router/index.ts b/src/renderer/router/index.ts index 80963bf..9eda7fc 100644 --- a/src/renderer/router/index.ts +++ b/src/renderer/router/index.ts @@ -36,15 +36,15 @@ const router = createRouter({ routes, }); -router.beforeEach((to, _from, next) => { +router.beforeEach((to: any, from: any, next: any) => { const token = localStorage.getItem("token"); if (to.meta && (to.meta as any).requiresAuth && !token) { next({ path: "/login" }); return; } - if (token && to.path !== "/home") { - next({ path: "/home" }); + if (token && to.path !== "/rate") { + next({ path: "/rate" }); return; } diff --git a/src/renderer/views/home/index.vue b/src/renderer/views/home/index.vue index 15222ea..3a4110b 100644 --- a/src/renderer/views/home/index.vue +++ b/src/renderer/views/home/index.vue @@ -1,6 +1,8 @@ diff --git a/src/renderer/views/rate/components/RatePanelSection/index.vue b/src/renderer/views/rate/components/RatePanelSection/index.vue new file mode 100644 index 0000000..e55a563 --- /dev/null +++ b/src/renderer/views/rate/components/RatePanelSection/index.vue @@ -0,0 +1,27 @@ + + + \ No newline at end of file diff --git a/src/renderer/views/rate/components/RateTitleSection/index.vue b/src/renderer/views/rate/components/RateTitleSection/index.vue new file mode 100644 index 0000000..b21ba7e --- /dev/null +++ b/src/renderer/views/rate/components/RateTitleSection/index.vue @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/src/renderer/views/rate/index.vue b/src/renderer/views/rate/index.vue index 15222ea..5cd6fc3 100644 --- a/src/renderer/views/rate/index.vue +++ b/src/renderer/views/rate/index.vue @@ -1,16 +1,14 @@ - From 6596106da99670d31cd93d56ee4e78d182ce4d77 Mon Sep 17 00:00:00 2001 From: duanshuwen Date: Fri, 5 Dec 2025 10:53:27 +0800 Subject: [PATCH 02/14] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9EUI=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 203 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 1 + 2 files changed, 203 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index cfcaa24..f9ad9fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "lodash-es": "^4.17.21", "log4js": "^6.9.1", "pinia": "^2.3.1", + "radix-vue": "^1.9.17", "vue": "^3.5.22", "vue-router": "^4.5.1" }, @@ -1440,6 +1441,42 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@floating-ui/vue": { + "version": "1.1.9", + "resolved": "https://registry.npmmirror.com/@floating-ui/vue/-/vue-1.1.9.tgz", + "integrity": "sha512-BfNqNW6KA83Nexspgb9DZuz578R7HT8MZw1CfK9I6Ah4QReNWEJsXWHN+SdmOVLNGmTPDi+fDT535Df5PzMLbQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.4", + "@floating-ui/utils": "^0.2.10", + "vue-demi": ">=0.13.0" + } + }, "node_modules/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", @@ -1706,6 +1743,24 @@ "node": ">=18" } }, + "node_modules/@internationalized/date": { + "version": "3.10.0", + "resolved": "https://registry.npmmirror.com/@internationalized/date/-/date-3.10.0.tgz", + "integrity": "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.6.5", + "resolved": "https://registry.npmmirror.com/@internationalized/number/-/number-3.6.5.tgz", + "integrity": "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -2222,6 +2277,21 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmmirror.com/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@swc/helpers/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", @@ -2542,6 +2612,32 @@ "dev": true, "license": "MIT" }, + "node_modules/@tanstack/virtual-core": { + "version": "3.13.12", + "resolved": "https://registry.npmmirror.com/@tanstack/virtual-core/-/virtual-core-3.13.12.tgz", + "integrity": "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/vue-virtual": { + "version": "3.13.12", + "resolved": "https://registry.npmmirror.com/@tanstack/vue-virtual/-/vue-virtual-3.13.12.tgz", + "integrity": "sha512-vhF7kEU9EXWXh+HdAwKJ2m3xaOnTTmgcdXcF2pim8g4GvI7eRrk2YRuV5nUlZnd/NbCIX4/Ja2OZu5EjJL06Ww==", + "license": "MIT", + "dependencies": { + "@tanstack/virtual-core": "3.13.12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.0.0" + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -2697,6 +2793,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, "node_modules/@types/wrap-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", @@ -3045,6 +3147,42 @@ "integrity": "sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==", "license": "MIT" }, + "node_modules/@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "license": "MIT", + "dependencies": { + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", @@ -3462,6 +3600,24 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmmirror.com/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-hidden/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -4632,6 +4788,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmmirror.com/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -6156,7 +6318,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, "license": "MIT" }, "node_modules/fast-glob": { @@ -9840,6 +10001,46 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/radix-vue": { + "version": "1.9.17", + "resolved": "https://registry.npmmirror.com/radix-vue/-/radix-vue-1.9.17.tgz", + "integrity": "sha512-mVCu7I2vXt1L2IUYHTt0sZMz7s1K2ZtqKeTIxG3yC5mMFfLBG4FtE1FDeRMpDd+Hhg/ybi9+iXmAP1ISREndoQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.6.7", + "@floating-ui/vue": "^1.1.0", + "@internationalized/date": "^3.5.4", + "@internationalized/number": "^3.5.3", + "@tanstack/vue-virtual": "^3.8.1", + "@vueuse/core": "^10.11.0", + "@vueuse/shared": "^10.11.0", + "aria-hidden": "^1.2.4", + "defu": "^6.1.4", + "fast-deep-equal": "^3.1.3", + "nanoid": "^5.0.7" + }, + "peerDependencies": { + "vue": ">= 3.2.0" + } + }, + "node_modules/radix-vue/node_modules/nanoid": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", diff --git a/package.json b/package.json index fc50814..85571e8 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "lodash-es": "^4.17.21", "log4js": "^6.9.1", "pinia": "^2.3.1", + "radix-vue": "^1.9.17", "vue": "^3.5.22", "vue-router": "^4.5.1" } From d0162e33493d1425f310ba904c5ed33158507b61 Mon Sep 17 00:00:00 2001 From: duanshuwen Date: Fri, 5 Dec 2025 13:44:27 +0800 Subject: [PATCH 03/14] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/components/Pagination/index.vue | 167 ++++++++++++++++++ src/renderer/types/PaginationProps.ts | 15 ++ src/renderer/types/index.ts | 3 + .../components/RateContentSection/index.vue | 11 ++ .../components/RatePanelSection/index.vue | 5 +- src/renderer/views/rate/images/2.jpg | Bin 0 -> 26457 bytes src/renderer/views/rate/index.vue | 2 + tsconfig.json | 4 +- vite.renderer.config.ts | 1 + 9 files changed, 204 insertions(+), 4 deletions(-) create mode 100644 src/renderer/components/Pagination/index.vue create mode 100644 src/renderer/types/PaginationProps.ts create mode 100644 src/renderer/types/index.ts create mode 100644 src/renderer/views/rate/components/RateContentSection/index.vue create mode 100644 src/renderer/views/rate/images/2.jpg diff --git a/src/renderer/components/Pagination/index.vue b/src/renderer/components/Pagination/index.vue new file mode 100644 index 0000000..64624b0 --- /dev/null +++ b/src/renderer/components/Pagination/index.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/src/renderer/types/PaginationProps.ts b/src/renderer/types/PaginationProps.ts new file mode 100644 index 0000000..08b26b0 --- /dev/null +++ b/src/renderer/types/PaginationProps.ts @@ -0,0 +1,15 @@ +export interface PaginationProps { + total: number + page: number + pageSize: number + pageSizes?: number[] + siblingCount?: number + boundaryCount?: number +} + +export interface EmitsProps { + (e: 'update:page', value: number): void + (e: 'update:pageSize', value: number): void + (e: 'pageChange', value: number): void + (e: 'pageSizeChange', value: number): void +} \ No newline at end of file diff --git a/src/renderer/types/index.ts b/src/renderer/types/index.ts new file mode 100644 index 0000000..3814cd6 --- /dev/null +++ b/src/renderer/types/index.ts @@ -0,0 +1,3 @@ +import { PaginationProps, EmitsProps } from './PaginationProps' + +export { PaginationProps, EmitsProps } \ No newline at end of file diff --git a/src/renderer/views/rate/components/RateContentSection/index.vue b/src/renderer/views/rate/components/RateContentSection/index.vue new file mode 100644 index 0000000..3ee9874 --- /dev/null +++ b/src/renderer/views/rate/components/RateContentSection/index.vue @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/src/renderer/views/rate/components/RatePanelSection/index.vue b/src/renderer/views/rate/components/RatePanelSection/index.vue index e55a563..04f0fb7 100644 --- a/src/renderer/views/rate/components/RatePanelSection/index.vue +++ b/src/renderer/views/rate/components/RatePanelSection/index.vue @@ -1,5 +1,5 @@ - \ No newline at end of file diff --git a/src/renderer/views/rate/images/2.jpg b/src/renderer/views/rate/images/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f50f6fba3d2971de48c97a58d4646ec2a5be6f79 GIT binary patch literal 26457 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 + @@ -10,5 +11,6 @@ diff --git a/tsconfig.json b/tsconfig.json index 8f5923e..70ad499 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,11 +15,13 @@ "strict": true, "baseUrl": ".", "paths": { - "@/*": ["./src/*"], + "@/*": ["src/renderer/*"], + "@assets/*": ["src/assets/*"], "@store/*": ["src/renderer/store/*"], "@constant/*": ["src/renderer/constant/*"], "@utils/*": ["src/renderer/utils/*"], "@api/*": ["src/renderer/api/*"], + "@/types": ["src/renderer/types/index.ts"], "@modules/*": ["src/electron/main/modules/*"], }, "outDir": "dist", diff --git a/vite.renderer.config.ts b/vite.renderer.config.ts index 0234312..9662aae 100644 --- a/vite.renderer.config.ts +++ b/vite.renderer.config.ts @@ -19,6 +19,7 @@ export default defineConfig({ "@constant": resolve(__dirname, "./src/renderer/constant"), "@utils": resolve(__dirname, "./src/renderer/utils"), "@api": resolve(__dirname, "./src/renderer/api"), + "@/types": resolve(__dirname, "./src/renderer/types"), }, }, }); From 5dc7d731206fbafec2c8addf10932020faaccb20 Mon Sep 17 00:00:00 2001 From: duanshuwen Date: Sat, 6 Dec 2025 10:38:35 +0800 Subject: [PATCH 04/14] =?UTF-8?q?feat:=20=E5=88=86=E9=A1=B5=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E7=BB=84=E4=BB=B6=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/components/Pagination/index.vue | 212 ++++++++---------- src/renderer/types/PaginationProps.ts | 11 +- .../components/RateContentSection/index.vue | 19 +- 3 files changed, 112 insertions(+), 130 deletions(-) diff --git a/src/renderer/components/Pagination/index.vue b/src/renderer/components/Pagination/index.vue index 64624b0..9a23bb9 100644 --- a/src/renderer/components/Pagination/index.vue +++ b/src/renderer/components/Pagination/index.vue @@ -1,69 +1,77 @@ diff --git a/src/renderer/types/PaginationProps.ts b/src/renderer/types/PaginationProps.ts index 08b26b0..c0e8047 100644 --- a/src/renderer/types/PaginationProps.ts +++ b/src/renderer/types/PaginationProps.ts @@ -1,15 +1,12 @@ export interface PaginationProps { + currentPage?: number total: number - page: number pageSize: number pageSizes?: number[] - siblingCount?: number - boundaryCount?: number } export interface EmitsProps { - (e: 'update:page', value: number): void - (e: 'update:pageSize', value: number): void - (e: 'pageChange', value: number): void - (e: 'pageSizeChange', value: number): void + (e: 'update:currentPage', value: number): void + (e: 'update:pageSize', value: string): void + (e: 'currentChange', value: number): void } \ No newline at end of file diff --git a/src/renderer/views/rate/components/RateContentSection/index.vue b/src/renderer/views/rate/components/RateContentSection/index.vue index 3ee9874..ee80025 100644 --- a/src/renderer/views/rate/components/RateContentSection/index.vue +++ b/src/renderer/views/rate/components/RateContentSection/index.vue @@ -1,11 +1,28 @@ \ No newline at end of file From 0fe4dbe2ab63c795561c8542fb37f1e8c59d8457 Mon Sep 17 00:00:00 2001 From: duanshuwen Date: Sat, 6 Dec 2025 23:42:48 +0800 Subject: [PATCH 05/14] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 313 ++++++++---------- package.json | 2 +- src/renderer/components/Pagination/index.vue | 172 +++------- src/renderer/main.ts | 6 + .../components/RateContentSection/index.vue | 45 ++- .../components/RateFilterSection/index.vue | 73 ++++ .../components/RatePanelSection/index.vue | 7 +- tsconfig.json | 3 +- 8 files changed, 293 insertions(+), 328 deletions(-) create mode 100644 src/renderer/views/rate/components/RateFilterSection/index.vue diff --git a/package-lock.json b/package-lock.json index f9ad9fb..fc6b6fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,10 +14,10 @@ "bytenode": "^1.5.7", "crypto": "^1.0.1", "electron-squirrel-startup": "^1.0.1", + "element-plus": "^2.12.0", "lodash-es": "^4.17.21", "log4js": "^6.9.1", "pinia": "^2.3.1", - "radix-vue": "^1.9.17", "vue": "^3.5.22", "vue-router": "^4.5.1" }, @@ -109,6 +109,15 @@ "node": ">=6.9.0" } }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/@electron-forge/cli": { "version": "7.10.2", "resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-7.10.2.tgz", @@ -936,6 +945,15 @@ "node": ">=14.14" } }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz", + "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", @@ -1466,17 +1484,6 @@ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", "license": "MIT" }, - "node_modules/@floating-ui/vue": { - "version": "1.1.9", - "resolved": "https://registry.npmmirror.com/@floating-ui/vue/-/vue-1.1.9.tgz", - "integrity": "sha512-BfNqNW6KA83Nexspgb9DZuz578R7HT8MZw1CfK9I6Ah4QReNWEJsXWHN+SdmOVLNGmTPDi+fDT535Df5PzMLbQ==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.7.4", - "@floating-ui/utils": "^0.2.10", - "vue-demi": ">=0.13.0" - } - }, "node_modules/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", @@ -1743,24 +1750,6 @@ "node": ">=18" } }, - "node_modules/@internationalized/date": { - "version": "3.10.0", - "resolved": "https://registry.npmmirror.com/@internationalized/date/-/date-3.10.0.tgz", - "integrity": "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw==", - "license": "Apache-2.0", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, - "node_modules/@internationalized/number": { - "version": "3.6.5", - "resolved": "https://registry.npmmirror.com/@internationalized/number/-/number-3.6.5.tgz", - "integrity": "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==", - "license": "Apache-2.0", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -1940,6 +1929,17 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@remixicon/vue": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/@remixicon/vue/-/vue-4.7.0.tgz", @@ -2277,21 +2277,6 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@swc/helpers": { - "version": "0.5.17", - "resolved": "https://registry.npmmirror.com/@swc/helpers/-/helpers-0.5.17.tgz", - "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "node_modules/@swc/helpers/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", @@ -2612,32 +2597,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@tanstack/virtual-core": { - "version": "3.13.12", - "resolved": "https://registry.npmmirror.com/@tanstack/virtual-core/-/virtual-core-3.13.12.tgz", - "integrity": "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/vue-virtual": { - "version": "3.13.12", - "resolved": "https://registry.npmmirror.com/@tanstack/vue-virtual/-/vue-virtual-3.13.12.tgz", - "integrity": "sha512-vhF7kEU9EXWXh+HdAwKJ2m3xaOnTTmgcdXcF2pim8g4GvI7eRrk2YRuV5nUlZnd/NbCIX4/Ja2OZu5EjJL06Ww==", - "license": "MIT", - "dependencies": { - "@tanstack/virtual-core": "3.13.12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "vue": "^2.7.0 || ^3.0.0" - } - }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -2743,14 +2702,12 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ==", - "dev": true, "license": "MIT" }, "node_modules/@types/lodash-es": { "version": "4.17.12", "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", - "dev": true, "license": "MIT", "dependencies": { "@types/lodash": "*" @@ -2793,12 +2750,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/web-bluetooth": { - "version": "0.0.20", - "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", - "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", - "license": "MIT" - }, "node_modules/@types/wrap-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", @@ -3147,42 +3098,6 @@ "integrity": "sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==", "license": "MIT" }, - "node_modules/@vueuse/core": { - "version": "10.11.1", - "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-10.11.1.tgz", - "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", - "license": "MIT", - "dependencies": { - "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "10.11.1", - "@vueuse/shared": "10.11.1", - "vue-demi": ">=0.14.8" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/metadata": { - "version": "10.11.1", - "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-10.11.1.tgz", - "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/shared": { - "version": "10.11.1", - "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-10.11.1.tgz", - "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", - "license": "MIT", - "dependencies": { - "vue-demi": ">=0.14.8" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", @@ -3600,24 +3515,6 @@ "dev": true, "license": "Python-2.0" }, - "node_modules/aria-hidden": { - "version": "1.2.6", - "resolved": "https://registry.npmmirror.com/aria-hidden/-/aria-hidden-1.2.6.tgz", - "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/aria-hidden/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -3760,6 +3657,12 @@ "node": ">= 0.4" } }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -4676,6 +4579,12 @@ "node": ">=4.0" } }, + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "license": "MIT" + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -4788,12 +4697,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmmirror.com/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", - "license": "MIT" - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -5472,6 +5375,73 @@ "node": ">= 4.0.0" } }, + "node_modules/element-plus": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.12.0.tgz", + "integrity": "sha512-M9YLSn2np9OnqrSKWsiXvGe3qnF8pd94+TScsHj1aTMCD+nSEvucXermf807qNt6hOP040le0e5Aft7E9ZfHmA==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.2", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.17.20", + "@types/lodash-es": "^4.17.12", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.19", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.3", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/element-plus/node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "license": "MIT" + }, + "node_modules/element-plus/node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/element-plus/node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/element-plus/node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -6318,6 +6288,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, "license": "MIT" }, "node_modules/fast-glob": { @@ -8410,7 +8381,6 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, "license": "MIT" }, "node_modules/lodash-es": { @@ -8419,6 +8389,17 @@ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "license": "MIT" }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", @@ -8684,6 +8665,12 @@ "node": ">=6" } }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -9096,6 +9083,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, "node_modules/npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -10001,46 +9994,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/radix-vue": { - "version": "1.9.17", - "resolved": "https://registry.npmmirror.com/radix-vue/-/radix-vue-1.9.17.tgz", - "integrity": "sha512-mVCu7I2vXt1L2IUYHTt0sZMz7s1K2ZtqKeTIxG3yC5mMFfLBG4FtE1FDeRMpDd+Hhg/ybi9+iXmAP1ISREndoQ==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.6.7", - "@floating-ui/vue": "^1.1.0", - "@internationalized/date": "^3.5.4", - "@internationalized/number": "^3.5.3", - "@tanstack/vue-virtual": "^3.8.1", - "@vueuse/core": "^10.11.0", - "@vueuse/shared": "^10.11.0", - "aria-hidden": "^1.2.4", - "defu": "^6.1.4", - "fast-deep-equal": "^3.1.3", - "nanoid": "^5.0.7" - }, - "peerDependencies": { - "vue": ">= 3.2.0" - } - }, - "node_modules/radix-vue/node_modules/nanoid": { - "version": "5.1.6", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-5.1.6.tgz", - "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.js" - }, - "engines": { - "node": "^18 || >=20" - } - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", diff --git a/package.json b/package.json index 85571e8..a9a3882 100644 --- a/package.json +++ b/package.json @@ -54,10 +54,10 @@ "bytenode": "^1.5.7", "crypto": "^1.0.1", "electron-squirrel-startup": "^1.0.1", + "element-plus": "^2.12.0", "lodash-es": "^4.17.21", "log4js": "^6.9.1", "pinia": "^2.3.1", - "radix-vue": "^1.9.17", "vue": "^3.5.22", "vue-router": "^4.5.1" } diff --git a/src/renderer/components/Pagination/index.vue b/src/renderer/components/Pagination/index.vue index 9a23bb9..18741ef 100644 --- a/src/renderer/components/Pagination/index.vue +++ b/src/renderer/components/Pagination/index.vue @@ -1,135 +1,49 @@ - - + diff --git a/src/renderer/main.ts b/src/renderer/main.ts index 99a7653..6b3b183 100644 --- a/src/renderer/main.ts +++ b/src/renderer/main.ts @@ -4,6 +4,9 @@ import { createPinia } from "pinia"; import router from "./router"; import App from "./App.vue"; import Layout from "./layout/index.vue"; +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import locale from 'element-plus/es/locale/lang/zh-cn' // 创建 Vue 应用实例 const app = createApp(App); @@ -16,6 +19,9 @@ app.component('Layout', Layout); // 使用 Vue Router app.use(router); +app.use(ElementPlus, { + locale, +}) // 挂载应用到 DOM app.mount("#app"); diff --git a/src/renderer/views/rate/components/RateContentSection/index.vue b/src/renderer/views/rate/components/RateContentSection/index.vue index ee80025..40da24a 100644 --- a/src/renderer/views/rate/components/RateContentSection/index.vue +++ b/src/renderer/views/rate/components/RateContentSection/index.vue @@ -1,28 +1,45 @@ \ No newline at end of file diff --git a/src/renderer/views/rate/components/RateFilterSection/index.vue b/src/renderer/views/rate/components/RateFilterSection/index.vue new file mode 100644 index 0000000..f3e8a01 --- /dev/null +++ b/src/renderer/views/rate/components/RateFilterSection/index.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/renderer/views/rate/components/RatePanelSection/index.vue b/src/renderer/views/rate/components/RatePanelSection/index.vue index 04f0fb7..1837e65 100644 --- a/src/renderer/views/rate/components/RatePanelSection/index.vue +++ b/src/renderer/views/rate/components/RatePanelSection/index.vue @@ -1,5 +1,5 @@ - From 14d916187c267a04a223015d20f685718b494b46 Mon Sep 17 00:00:00 2001 From: duanshuwen Date: Sun, 7 Dec 2025 14:54:52 +0800 Subject: [PATCH 07/14] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/electron/main/main.ts | 47 +--------- src/electron/preload/preload.ts | 2 - .../{views => }/browser/BrowserLayout.vue | 88 +++++++++++-------- src/renderer/{views => }/browser/README.md | 0 src/renderer/components/Menus/index.vue | 18 ++-- src/renderer/constant/menus.ts | 8 ++ src/renderer/layout/index.vue | 15 ++-- src/renderer/router/index.ts | 6 +- src/renderer/views/dashboard/index.vue | 18 ++++ src/renderer/views/more/index.vue | 18 ++++ src/renderer/views/order/index.vue | 18 ++++ src/renderer/views/settings/index.vue | 18 ++++ src/renderer/views/stock/index.vue | 18 ++++ src/shared/types/ipc.types.ts | 27 +++++- tsconfig.json | 1 + 15 files changed, 201 insertions(+), 101 deletions(-) rename src/renderer/{views => }/browser/BrowserLayout.vue (62%) rename src/renderer/{views => }/browser/README.md (100%) create mode 100644 src/renderer/views/dashboard/index.vue create mode 100644 src/renderer/views/more/index.vue create mode 100644 src/renderer/views/order/index.vue create mode 100644 src/renderer/views/settings/index.vue create mode 100644 src/renderer/views/stock/index.vue diff --git a/src/electron/main/main.ts b/src/electron/main/main.ts index 7063da4..0035b47 100644 --- a/src/electron/main/main.ts +++ b/src/electron/main/main.ts @@ -1,7 +1,6 @@ -import { app, BrowserWindow, ipcMain, shell } from "electron"; +import { app, BrowserWindow, ipcMain } from "electron"; import path from "node:path"; import started from "electron-squirrel-startup"; -import { TabManager } from '@modules/tab-manager' import { logger } from '@modules/logger' import "@modules/window-size"; @@ -11,12 +10,10 @@ if (started) { class AppMain { private mainWindow: BrowserWindow | null = null - private tabs: TabManager | null = null private readonly isDev = !!MAIN_WINDOW_VITE_DEV_SERVER_URL init() { this.registerLifecycle() - this.registerCommonIPC() this.registerAppIPC() this.registerLogIPC() } @@ -45,7 +42,6 @@ class AppMain { this.loadEntry(win, options?.route) if (this.isDev) win.webContents.openDevTools() this.mainWindow = win - this.initTabsIfNeeded(options) return win } @@ -65,17 +61,6 @@ class AppMain { }); } - private initTabsIfNeeded(options?: { frameless?: boolean; route?: string }) { - if (!this.mainWindow) return - const route = options?.route || '' - const shouldInit = !!options?.frameless || route.startsWith('/browser') - if (!shouldInit) return - this.tabs = new TabManager(this.mainWindow) - this.registerTabIPC() - this.tabs.enable?.() - this.tabs.create('about:blank') - } - private registerLifecycle() { app.on("ready", () => { this.createWindow({ frameless: false, route: '/login' }) @@ -88,23 +73,6 @@ class AppMain { }) } - private registerCommonIPC() { - ipcMain.handle('open-baidu', () => { - this.mainWindow?.loadURL("https://www.baidu.com") - }) - ipcMain.handle("external-open", (_event, url: string) => { - try { - const allowed = /^https:\/\/(www\.)?(baidu\.com|\w+[\.-]?\w+\.[a-z]{2,})(\/.*)?$/i; - if (typeof url === "string" && allowed.test(url)) { - return shell.openExternal(url); - } - throw new Error("URL not allowed"); - } catch (e) { - return Promise.reject(e); - } - }) - } - private registerAppIPC() { ipcMain.handle('app:set-frameless', async (event, route?: string) => { const old = BrowserWindow.fromWebContents(event.sender) @@ -114,19 +82,6 @@ class AppMain { }) } - private registerTabIPC() { - if (!this.tabs) return - const tabs = this.tabs - ipcMain.handle('tab:create', (_e, url?: string) => tabs.create(url)) - ipcMain.handle('tab:list', () => tabs.list()) - ipcMain.handle('tab:navigate', (_e, payload: { tabId: string; url: string }) => tabs.navigate(payload.tabId, payload.url)) - ipcMain.handle('tab:reload', (_e, tabId: string) => tabs.reload(tabId)) - ipcMain.handle('tab:back', (_e, tabId: string) => tabs.goBack(tabId)) - ipcMain.handle('tab:forward', (_e, tabId: string) => tabs.goForward(tabId)) - ipcMain.handle('tab:switch', (_e, tabId: string) => tabs.switch(tabId)) - ipcMain.handle('tab:close', (_e, tabId: string) => tabs.close(tabId)) - } - private registerLogIPC() { ipcMain.handle('log-to-main', (_e, logLevel: string, message: string) => { switch(logLevel) { diff --git a/src/electron/preload/preload.ts b/src/electron/preload/preload.ts index bcdf4b6..cc9e296 100644 --- a/src/electron/preload/preload.ts +++ b/src/electron/preload/preload.ts @@ -2,8 +2,6 @@ import { contextBridge, ipcRenderer } from 'electron' import { IPCChannel, IPCAPI } from '@/shared/types/ipc.types' const api: IPCAPI = { - openBaidu: () => ipcRenderer.invoke('open-baidu'), - versions: process.versions, external: { diff --git a/src/renderer/views/browser/BrowserLayout.vue b/src/renderer/browser/BrowserLayout.vue similarity index 62% rename from src/renderer/views/browser/BrowserLayout.vue rename to src/renderer/browser/BrowserLayout.vue index 1548817..106a7f2 100644 --- a/src/renderer/views/browser/BrowserLayout.vue +++ b/src/renderer/browser/BrowserLayout.vue @@ -2,21 +2,39 @@
- - - + + +
-
+
{{ t.title || t.url || '新标签页' }} - +
- +
- - - - + + + +
@@ -24,6 +42,7 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/renderer/views/browser/README.md b/src/renderer/browser/README.md similarity index 100% rename from src/renderer/views/browser/README.md rename to src/renderer/browser/README.md diff --git a/src/renderer/components/Menus/index.vue b/src/renderer/components/Menus/index.vue index 83857b1..6900459 100644 --- a/src/renderer/components/Menus/index.vue +++ b/src/renderer/components/Menus/index.vue @@ -1,12 +1,15 @@ From 8950a8d205f4991ec1b952a849eb72335973d1c5 Mon Sep 17 00:00:00 2001 From: duanshuwen Date: Sun, 7 Dec 2025 22:31:49 +0800 Subject: [PATCH 14/14] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E8=AF=84?= =?UTF-8?q?=E8=AE=BA=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/constant/rate.ts | 48 +++++++++++++++++++ .../components/RateContentSection/index.vue | 9 +++- .../rate/components/RateListSection/index.vue | 37 ++++++++++++++ 3 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 src/renderer/views/rate/components/RateListSection/index.vue diff --git a/src/renderer/constant/rate.ts b/src/renderer/constant/rate.ts index c3522a6..736a65a 100644 --- a/src/renderer/constant/rate.ts +++ b/src/renderer/constant/rate.ts @@ -49,4 +49,52 @@ export const channels: Item[] = [ total: 70, score: 4.5 } +] + +interface ListItem { + id: number + userName: string + content: string + createTime: string + channelName: string + channelIcon: any + imageList: any[] + score: number +} + +export const commentList: ListItem[] = [ + { + id: 1, + userName: '用户98882', + content: '环境不错,温泉也很好', + createTime: '2022-11-09 16:24:30', + channelName: '携程', + channelIcon: xc, + imageList: [ + xc, + xc, + xc, + xc, + xc, + xc, + ], + score: 5, + }, + { + id: 2, + userName: '用户98882', + content: '环境不错,温泉也很好', + createTime: '2022-11-09 16:24:30', + channelName: '抖音', + channelIcon: dy, + imageList: [ + dy, + dy, + dy, + dy, + dy, + dy, + ], + score: 5, + }, ] \ No newline at end of file diff --git a/src/renderer/views/rate/components/RateContentSection/index.vue b/src/renderer/views/rate/components/RateContentSection/index.vue index 40da24a..3cdc4d2 100644 --- a/src/renderer/views/rate/components/RateContentSection/index.vue +++ b/src/renderer/views/rate/components/RateContentSection/index.vue @@ -1,12 +1,14 @@