From 9b2db64cc66745fcabb12696c28eac441b4899a1 Mon Sep 17 00:00:00 2001 From: ZhangAo Date: Wed, 10 Dec 2025 17:30:59 +0800 Subject: [PATCH] u --- .../src/main/resources/application-dev.yml | 6 +-- code/sllog/Sllog-User-Ui/.env.test | 4 +- .../sllog/Sllog-User-Ui/build/config/index.ts | 1 + code/sllog/Sllog-User-Ui/build/config/time.ts | 12 ++++++ .../build/plugins/auto-import.ts | 34 +++++++++++++++++ .../sllog/Sllog-User-Ui/build/plugins/html.ts | 13 +++++++ .../Sllog-User-Ui/build/plugins/index.ts | 22 +++++++++++ .../Sllog-User-Ui/build/plugins/unocss.ts | 35 ++++++++++++++++++ .../build/plugins/unplugin-icon.ts | 37 +++++++++++++++++++ .../Sllog-User-Ui/src/types/auto-import.d.ts | 1 + 10 files changed, 160 insertions(+), 5 deletions(-) create mode 100644 code/sllog/Sllog-User-Ui/build/config/index.ts create mode 100644 code/sllog/Sllog-User-Ui/build/config/time.ts create mode 100644 code/sllog/Sllog-User-Ui/build/plugins/auto-import.ts create mode 100644 code/sllog/Sllog-User-Ui/build/plugins/html.ts create mode 100644 code/sllog/Sllog-User-Ui/build/plugins/index.ts create mode 100644 code/sllog/Sllog-User-Ui/build/plugins/unocss.ts create mode 100644 code/sllog/Sllog-User-Ui/build/plugins/unplugin-icon.ts diff --git a/code/sllog/Sllog-User-Api/src/main/resources/application-dev.yml b/code/sllog/Sllog-User-Api/src/main/resources/application-dev.yml index 519b2010..4dd9c68e 100644 --- a/code/sllog/Sllog-User-Api/src/main/resources/application-dev.yml +++ b/code/sllog/Sllog-User-Api/src/main/resources/application-dev.yml @@ -1,12 +1,12 @@ server: - port: 8081 + port: 8083 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: net.sourceforge.jtds.jdbc.Driver - url: jdbc:jtds:sqlserver://192.168.1.176:1433;databaseName=G3-Website + url: jdbc:jtds:sqlserver://192.168.1.189:1433;databaseName=G3-Link username: sa - password: "sa" + password: "g3soft" # druid 连接池管理 druid: # 初始化时建立物理连接的个数 diff --git a/code/sllog/Sllog-User-Ui/.env.test b/code/sllog/Sllog-User-Ui/.env.test index 93280752..087626b9 100644 --- a/code/sllog/Sllog-User-Ui/.env.test +++ b/code/sllog/Sllog-User-Ui/.env.test @@ -1,2 +1,2 @@ -VITE_SERVER_BASEURL = 'http://127.0.0.1:8081' -VITE_WEBSOCKET_BASEURL = 'ws://127.0.0.1:8081/websocket' \ No newline at end of file +VITE_SERVER_BASEURL = 'http://127.0.0.1:8083' +VITE_WEBSOCKET_BASEURL = 'ws://127.0.0.1:8083/websocket' \ No newline at end of file diff --git a/code/sllog/Sllog-User-Ui/build/config/index.ts b/code/sllog/Sllog-User-Ui/build/config/index.ts new file mode 100644 index 00000000..47e4e1f9 --- /dev/null +++ b/code/sllog/Sllog-User-Ui/build/config/index.ts @@ -0,0 +1 @@ +export * from './time'; diff --git a/code/sllog/Sllog-User-Ui/build/config/time.ts b/code/sllog/Sllog-User-Ui/build/config/time.ts new file mode 100644 index 00000000..3b571460 --- /dev/null +++ b/code/sllog/Sllog-User-Ui/build/config/time.ts @@ -0,0 +1,12 @@ +import dayjs from 'dayjs'; +import utc from 'dayjs/plugin/utc'; +import timezone from 'dayjs/plugin/timezone'; + +export function getBuildTime() { + dayjs.extend(utc); + dayjs.extend(timezone); + + const buildTime = dayjs.tz(Date.now(), 'Asia/Shanghai').format('YYYY-MM-DD HH:mm:ss'); + + return buildTime; +} diff --git a/code/sllog/Sllog-User-Ui/build/plugins/auto-import.ts b/code/sllog/Sllog-User-Ui/build/plugins/auto-import.ts new file mode 100644 index 00000000..0a305a19 --- /dev/null +++ b/code/sllog/Sllog-User-Ui/build/plugins/auto-import.ts @@ -0,0 +1,34 @@ +import IconsResolver from "unplugin-icons/resolver"; +import Components from "unplugin-vue-components/vite"; +import { ArcoResolver } from "unplugin-vue-components/resolvers"; +import type { PluginOption } from "vite"; + +export function setupAutoImport(viteEnv: Env.ImportMeta) { + // 从环境变量中提取图标相关的前缀 + const { VITE_ICON_PREFIX, VITE_ICON_LOCAL_PREFIX } = viteEnv; + + // 从本地图标前缀中提取图标集合名称 + const collectionName = VITE_ICON_LOCAL_PREFIX.replace(`${VITE_ICON_PREFIX}-`, ""); + const plugins: PluginOption[] = [ + Components({ + // 自动导入的组件类型声明文件 + dts: "src/types/auto-import.d.ts", + types: [ + { + from: "vue-router", + names: ["RouterLink", "RouterView"] + } + ], + + // 配置图标解析器 + resolvers: [ + IconsResolver({ + customCollections: [collectionName], // 本地图标集合 + componentPrefix: VITE_ICON_PREFIX // 图标组件的前缀 + }), + ArcoResolver() + ] + }) + ]; + return plugins; +} diff --git a/code/sllog/Sllog-User-Ui/build/plugins/html.ts b/code/sllog/Sllog-User-Ui/build/plugins/html.ts new file mode 100644 index 00000000..b94d24fe --- /dev/null +++ b/code/sllog/Sllog-User-Ui/build/plugins/html.ts @@ -0,0 +1,13 @@ +import type { Plugin } from 'vite'; + +export function setupHtmlPlugin(buildTime: string) { + const plugin: Plugin = { + name: 'html-plugin', + apply: 'build', + transformIndexHtml(html) { + return html.replace('', `\n `); + } + }; + + return plugin; +} diff --git a/code/sllog/Sllog-User-Ui/build/plugins/index.ts b/code/sllog/Sllog-User-Ui/build/plugins/index.ts new file mode 100644 index 00000000..fa9a3fac --- /dev/null +++ b/code/sllog/Sllog-User-Ui/build/plugins/index.ts @@ -0,0 +1,22 @@ +import type { PluginOption } from "vite"; +import vue from "@vitejs/plugin-vue"; +import VueDevtools from "vite-plugin-vue-devtools"; +import progress from "vite-plugin-progress"; +import { setupUnocss } from "./unocss"; +import { setupHtmlPlugin } from "./html"; +import { setupUnPluginIcon } from "./unplugin-icon"; +import { setupAutoImport } from "./auto-import"; + +export function setupVitePlugins(viteEnv: Env.ImportMeta, buildTime: string) { + const plugins: PluginOption = [ + vue(), + VueDevtools(), + progress(), + setupUnocss(viteEnv), + setupHtmlPlugin(buildTime), + setupAutoImport(viteEnv), + ...setupUnPluginIcon(viteEnv), + ]; + + return plugins; +} diff --git a/code/sllog/Sllog-User-Ui/build/plugins/unocss.ts b/code/sllog/Sllog-User-Ui/build/plugins/unocss.ts new file mode 100644 index 00000000..e5d701ca --- /dev/null +++ b/code/sllog/Sllog-User-Ui/build/plugins/unocss.ts @@ -0,0 +1,35 @@ +import process from "node:process"; +import path from "node:path"; +import unocss from "@unocss/vite"; +import presetIcons from "@unocss/preset-icons"; +import { FileSystemIconLoader } from "@iconify/utils/lib/loader/node-loaders"; + +export function setupUnocss(viteEnv: Env.ImportMeta) { + const { VITE_ICON_PREFIX, VITE_ICON_LOCAL_PREFIX } = viteEnv; + + const localIconPath = path.join(process.cwd(), "src/assets/svg-icon"); + + /** The name of the local icon collection */ + const collectionName = VITE_ICON_LOCAL_PREFIX.replace( + `${VITE_ICON_PREFIX}-`, + "" + ); + + return unocss({ + presets: [ + presetIcons({ + prefix: `${VITE_ICON_PREFIX}-`, + scale: 1, + extraProperties: { + display: "inline-block", + }, + collections: { + [collectionName]: FileSystemIconLoader(localIconPath, (svg) => + svg.replace(/^ + svg.replace(/^