From 9bbf2c10b30492595c634b1ba625896947509f24 Mon Sep 17 00:00:00 2001 From: "34701892@qq.com" <34701892@qq.com> Date: Wed, 5 Nov 2025 16:39:19 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=B5=84=E8=AE=AF):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E7=B2=BE=E9=80=89=E5=8A=9F=E8=83=BD=E5=8F=8A?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 Element Plus UI 库依赖 - 添加编辑精选接口及页面路由 - 实现编辑精选列表展示及搜索功能 - 在资讯页面顶部添加编辑精选入口 - 为编辑精选列表添加分页功能 --- package-lock.json | 164 +++++++++++++++++- package.json | 1 + src/api/index.ts | 5 + src/main.ts | 4 +- .../realtimeInfo/pc/components/PageTop.vue | 5 + src/pages/realtimeInfo/pc/index.vue | 6 + src/pages/realtimeInfo/pc/rank.vue | 78 +++++++-- 7 files changed, 242 insertions(+), 21 deletions(-) diff --git a/package-lock.json b/package-lock.json index 87b87f2..2899425 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,6 +26,7 @@ "clipboard": "^2.0.11", "dayjs": "^1.11.9", "echarts": "^5.6.0", + "element-plus": "^2.11.7", "js-cookie": "^3.0.5", "js-md5": "^0.8.3", "pinia": "^2.0.36", @@ -1785,6 +1786,14 @@ "license": "MIT", "peer": true }, + "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==", + "engines": { + "node": ">=10" + } + }, "node_modules/@dcloudio/types": { "version": "3.3.3", "resolved": "https://registry.npmmirror.com/@dcloudio/types/-/types-3.3.3.tgz", @@ -2237,6 +2246,14 @@ "vite": "^4.0.0" } }, + "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==", + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/@esbuild/android-arm": { "version": "0.16.17", "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz", @@ -2567,6 +2584,28 @@ "node": ">=12" } }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "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.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==" + }, "node_modules/@intlify/core-base": { "version": "9.1.9", "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.1.9.tgz", @@ -3898,6 +3937,16 @@ "node": ">= 8" } }, + "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==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@rollup/pluginutils": { "version": "4.2.1", "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", @@ -4073,6 +4122,19 @@ "license": "MIT", "peer": true }, + "node_modules/@types/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==" + }, + "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==", + "dependencies": { + "@types/lodash": "*" + } + }, "node_modules/@types/node": { "version": "24.0.4", "resolved": "https://registry.npmmirror.com/@types/node/-/node-24.0.4.tgz", @@ -4106,6 +4168,11 @@ "license": "MIT", "peer": true }, + "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==" + }, "node_modules/@types/yargs": { "version": "16.0.9", "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", @@ -4506,6 +4573,39 @@ } } }, + "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==", + "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/@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==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "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==", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz", @@ -4925,6 +5025,11 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, + "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==" + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", @@ -5853,9 +5958,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==" + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==" }, "node_modules/de-indent": { "version": "1.0.2", @@ -6039,6 +6144,30 @@ "integrity": "sha512-HE43yYdUUiJVjewV2A9EP8o89Kb4AqMKplMQP2IxEPUws1Etu/ZkdsgUDabUZ/WmbP4ZbvJDOcunvbBUPPIfmw==", "license": "ISC" }, + "node_modules/element-plus": { + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.11.7.tgz", + "integrity": "sha512-Bh47wuzsqaNBNDkbtlOlZER1cGcOB8GsXp/+C9b95MOrk0wvoHUV4NKKK7xMkfYNFYdYysQ752oMhnExgAL6+g==", + "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.18", + "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/emittery": { "version": "0.8.1", "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.8.1.tgz", @@ -9635,9 +9764,22 @@ "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "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==", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } }, "node_modules/lodash.camelcase": { "version": "4.3.0", @@ -9729,6 +9871,11 @@ "node": ">= 0.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==" + }, "node_modules/merge": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/merge/-/merge-2.1.1.tgz", @@ -9942,6 +10089,11 @@ "node": ">=0.10.0" } }, + "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==" + }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", diff --git a/package.json b/package.json index f42f961..0cc359c 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "clipboard": "^2.0.11", "dayjs": "^1.11.9", "echarts": "^5.6.0", + "element-plus": "^2.11.7", "js-cookie": "^3.0.5", "js-md5": "^0.8.3", "pinia": "^2.0.36", diff --git a/src/api/index.ts b/src/api/index.ts index beaf06d..5db54d9 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -67,3 +67,8 @@ export const searchNews = (data: any) => { export const getReleaseList = (data: any) => { return Request.post("/news/top_news_release_h5_d", data); }; + +// 编辑精选接口 +export const editTopNews = (data: any) => { + return Request.post("/news/top_news_release_h5_d", data); +}; diff --git a/src/main.ts b/src/main.ts index b9086dd..f51b4b8 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,12 +3,14 @@ import pinia from "@/stores/index"; import App from "./App.vue"; import uviewPlus from "@/uni_modules/uview-plus"; import "@/assets/fonts/font.css"; - +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' export function createApp() { const app = createSSRApp(App); app.use(pinia).use(uviewPlus); + app.use(ElementPlus) return { app, }; diff --git a/src/pages/realtimeInfo/pc/components/PageTop.vue b/src/pages/realtimeInfo/pc/components/PageTop.vue index 2fb1592..4c51b4d 100644 --- a/src/pages/realtimeInfo/pc/components/PageTop.vue +++ b/src/pages/realtimeInfo/pc/components/PageTop.vue @@ -16,6 +16,11 @@ 风口概念 + + + 编辑精选 + + diff --git a/src/pages/realtimeInfo/pc/index.vue b/src/pages/realtimeInfo/pc/index.vue index a5573df..5cbc680 100644 --- a/src/pages/realtimeInfo/pc/index.vue +++ b/src/pages/realtimeInfo/pc/index.vue @@ -45,6 +45,12 @@ onMounted(async () => { route.query.name, }); break; + case "4": + layoutName.value = "rank"; + uni.navigateTo({ + url: "/pages/realtimeInfo/pc/rank?type=" + route.query.type, + }); + break; } } }); diff --git a/src/pages/realtimeInfo/pc/rank.vue b/src/pages/realtimeInfo/pc/rank.vue index e25858c..6746fc9 100644 --- a/src/pages/realtimeInfo/pc/rank.vue +++ b/src/pages/realtimeInfo/pc/rank.vue @@ -4,15 +4,24 @@ - 资讯头条榜 - + 资讯头条榜 + 编辑精选 + + + + + - + {{ index + 1 }} {{ index + 1 }} {{ index + 1 }} @@ -26,37 +35,70 @@ {{ item.source }} - {{ dayjs(item.publish_time).format("YYYY-MM-DD HH:MM:ss") }} + {{ dayjs(item.publish_time).format("YYYY-MM-DD HH:MM:ss") + }} - {{ item.news_score }} + {{ item.news_score }} + +
+ +
+
- +