From 65df02612a6a09aca0d47f4470fce26415c18509 Mon Sep 17 00:00:00 2001 From: novlan1 <1576271227@qq.com> Date: Tue, 19 May 2026 14:27:48 +0800 Subject: [PATCH 1/4] chore: lint --- .../tdesign-uniapp-chat/site/vite.config.ts | 58 +++++++++--------- packages/tdesign-uniapp-chat/site/web/app.vue | 20 +++++-- .../site/web/plugins/plugin-tdoc/index.js | 59 +++++++++---------- .../web/plugins/plugin-tdoc/transforms.js | 4 +- .../tdesign-uniapp-chat/site/web/router.ts | 2 + .../site/web/stackblitz/index.vue | 1 + packages/tdesign-uniapp/eslintrc-uniapp.js | 13 ++++ .../example/script/pages/index.js | 11 +++- .../example/script/release/core.js | 1 + .../example/script/release/less.js | 2 + .../example/script/release/prepare.js | 1 + .../example/script/release/publish-core.js | 3 +- .../release/publish-tdesign-uniapp-chat.js | 3 +- .../script/release/publish-tdesign-uniapp.js | 3 +- .../example/script/release/typescript.js | 4 +- .../example/script/sync/demo-vue-css.js | 5 +- .../example/script/sync/doc-common-design.js | 3 +- .../example/script/sync/doc-component.js | 5 +- .../example/script/sync/doc-format.js | 3 +- .../example/script/sync/less.js | 5 +- .../example/script/types/index.js | 9 ++- .../example/script/utils/components.js | 6 +- .../example/script/watch/config.js | 1 + .../example/script/watch/helper.js | 3 +- .../example/script/watch/init.js | 9 ++- .../example/script/watch/watch.js | 7 ++- packages/tdesign-uniapp/example/src/main.ts | 9 ++- .../example/src/pages/home/data/index.js | 6 +- .../example/src/pages/home/home.vue | 7 ++- .../tdesign-uniapp/example/vite.config.ts | 2 + packages/tdesign-uniapp/site/vite.config.ts | 14 +++-- packages/tdesign-uniapp/site/web/app.vue | 2 + .../site/web/plugins/plugin-tdoc/index.js | 59 +++++++++---------- .../web/plugins/plugin-tdoc/transforms.js | 4 +- packages/tdesign-uniapp/site/web/router.ts | 2 + .../site/web/stackblitz/index.vue | 1 + .../action-sheet/_example/action-sheet.vue | 4 +- .../action-sheet/_example/list/index.vue | 4 +- .../action-sheet/_example/status/index.vue | 4 +- .../avatar/_example/avatar.vue | 8 +-- .../back-top/_example/back-top.vue | 1 + .../back-top/_example/skyline/back-top.vue | 1 + .../uniapp-components/back-top/back-top.vue | 9 +-- .../badge/_example/badge.vue | 2 +- .../badge/_example/base/index.vue | 2 +- .../badge/_example/skyline/badge.vue | 2 +- .../badge/_example/theme/index.vue | 2 +- packages/uniapp-components/badge/badge.vue | 6 +- .../button/_example/button.vue | 8 +-- .../button/_example/skyline/button.vue | 8 +-- .../calendar/_example/base/index.vue | 1 + .../calendar/_example/calendar.vue | 8 +-- .../calendar/_example/custom-range/index.vue | 3 +- .../calendar/_example/custom-text/index.vue | 3 +- .../calendar/_example/local-text/index.vue | 1 + .../calendar/_example/multiple/index.vue | 3 +- .../calendar/_example/range/index.vue | 3 +- .../calendar/_example/switch-mode/index.vue | 3 +- .../calendar/calendar-header.vue | 3 +- .../uniapp-components/calendar/calendar.vue | 16 ++--- .../cascader/_example/base/index.vue | 2 +- .../cascader/_example/cascader.vue | 6 +- .../_example/check-strictly/index.vue | 2 +- .../cascader/_example/keys/index.vue | 2 +- .../cascader/_example/theme-tab/index.vue | 2 +- .../cascader/_example/with-title/index.vue | 2 +- .../cascader/_example/with-value/index.vue | 2 +- .../uniapp-components/cascader/cascader.vue | 16 ++--- .../cell-group/cell-group.vue | 8 ++- .../cell/_example/base/index.vue | 2 +- .../cell/_example/multiple/index.vue | 4 +- .../cell/_example/theme/index.vue | 2 +- packages/uniapp-components/cell/cell.vue | 3 + .../uniapp-components/check-tag/check-tag.vue | 9 ++- .../checkbox-group/checkbox-group.vue | 8 ++- .../checkbox/_example/card/index.vue | 2 +- .../checkbox/_example/checkbox.vue | 8 +-- .../checkbox/_example/horizontal/index.vue | 2 +- .../checkbox/_example/special/index.vue | 6 +- .../checkbox/_example/status/index.vue | 2 +- .../uniapp-components/checkbox/checkbox.vue | 9 +-- packages/uniapp-components/col/col.vue | 10 +++- .../collapse/_example/collapse.vue | 4 +- .../uniapp-components/collapse/collapse.vue | 8 ++- .../color-picker/_example/color-picker.vue | 2 +- .../color-picker/_example/use-popup/index.vue | 2 +- .../color-picker/color-picker.vue | 16 ++--- .../color-picker/template.vue | 3 +- .../common/shared/color-picker/color.js | 1 + .../common/src/instantiationDecorator.js | 2 +- .../_example/chat-en/index.vue | 3 +- .../_example/config-provider.vue | 4 +- .../_example/other-en/index.vue | 4 +- .../_example/upload-en/index.vue | 2 +- .../config-provider/config-provider.vue | 4 +- .../count-down/count-down.vue | 8 ++- .../_example/date-time-picker.vue | 6 +- .../_example/skyline/date-time-picker.vue | 6 +- .../date-time-picker/date-time-picker.vue | 14 +++-- .../date-time-picker/locale/dayjs.js | 12 ++-- .../demo-navbar/demo-navbar.vue | 2 +- .../dialog/_example/button/index.vue | 2 +- .../dialog/_example/command/index.vue | 2 +- .../dialog/_example/dialog.vue | 8 +-- .../dialog/_example/skyline/dialog.vue | 8 +-- .../dialog/_example/with-image/index.vue | 2 +- .../dialog/_example/with-input/index.vue | 2 +- packages/uniapp-components/dialog/dialog.vue | 17 +++--- packages/uniapp-components/dialog/index.js | 3 +- .../uniapp-components/divider/divider.vue | 6 +- .../uniapp-components/draggable/draggable.vue | 7 ++- .../drawer/_example/drawer.vue | 4 +- .../drawer/_example/skyline/drawer.vue | 4 +- packages/uniapp-components/drawer/drawer.vue | 12 ++-- .../dropdown-menu/_example/dropdown-menu.vue | 7 ++- .../dropdown-menu/_example/multi/index.vue | 2 +- .../dropdown-menu/_example/single/index.vue | 2 +- .../empty/_example/buttonEmpty/index.vue | 2 +- .../empty/_example/empty.vue | 2 +- .../empty/_example/skyline/empty.vue | 2 +- packages/uniapp-components/empty/empty.vue | 9 +-- .../uniapp-components/fab/_example/fab.vue | 7 ++- .../fab/_example/skyline/fab.vue | 1 + .../uniapp-components/form-item/form-item.vue | 14 +++-- .../uniapp-components/form/_example/form.vue | 7 ++- .../form/_example/horizontal/index.vue | 10 ++-- .../form/_example/vertical/index.vue | 10 ++-- packages/uniapp-components/form/form.vue | 6 +- .../uniapp-components/grid-item/grid-item.vue | 14 +++-- .../uniapp-components/grid/_example/grid.vue | 8 +-- .../grid/_example/icon-grid/index.vue | 2 +- packages/uniapp-components/grid/grid.vue | 7 ++- .../guide/_example/base/index.vue | 4 +- .../guide/_example/content/index.vue | 6 +- .../guide/_example/dialog/index.vue | 4 +- .../guide/_example/guide.vue | 5 +- .../guide/_example/multiple/index.vue | 6 +- .../guide/_example/no-mask/index.vue | 4 +- packages/uniapp-components/guide/guide.vue | 15 ++--- .../icon/_example/base/index.vue | 1 + packages/uniapp-components/icon/icon.vue | 7 ++- .../image-viewer/_example/base/index.vue | 4 +- .../image-viewer/_example/delete/index.vue | 4 +- .../image-viewer/image-viewer.vue | 15 +++-- packages/uniapp-components/image/image.vue | 11 ++-- .../indexes-anchor/indexes-anchor.vue | 8 ++- .../indexes/_example/base/index.vue | 4 +- .../indexes/_example/custom/index.vue | 4 +- .../uniapp-components/indexes/indexes.vue | 11 ++-- .../input/_example/input.vue | 14 ++--- .../input/_example/skyline/input.vue | 14 ++--- .../uniapp-components/link/_example/link.vue | 6 +- packages/uniapp-components/link/link.vue | 9 ++- .../loading/_example/base/index.vue | 2 +- .../loading/_example/duration/index.vue | 2 +- .../loading/_example/loading.vue | 6 +- .../uniapp-components/loading/loading.vue | 6 +- .../uniapp-components/message-item/index.js | 2 +- .../message-item/message-item.vue | 12 ++-- .../message/_example/base/index.vue | 2 +- .../message/_example/theme/index.vue | 2 +- packages/uniapp-components/message/index.js | 3 +- .../uniapp-components/message/message.vue | 7 ++- .../uniapp-components/mixins/page-scroll.js | 2 +- .../uniapp-components/mixins/using-config.js | 2 +- .../navbar/_example/back-home/index.vue | 4 +- .../navbar/_example/img/index.vue | 2 +- .../navbar/_example/navbar.vue | 6 +- .../navbar/_example/skyline/navbar.vue | 6 +- packages/uniapp-components/navbar/navbar.vue | 7 ++- .../_example/customization/index.vue | 4 +- .../notice-bar/_example/event/index.vue | 2 +- .../notice-bar/_example/iconDemo/index.vue | 2 +- .../notice-bar/_example/notice-bar.vue | 8 +-- .../notice-bar/notice-bar.vue | 7 ++- .../overlay/_example/base/index.vue | 2 +- .../uniapp-components/overlay/overlay.vue | 9 ++- .../picker-item/picker-item.vue | 11 ++-- .../picker/_example/area/index.vue | 1 + .../picker/_example/picker.vue | 2 +- .../picker/_example/skyline/picker.vue | 2 +- packages/uniapp-components/picker/picker.vue | 12 ++-- .../popover/_example/base/index.vue | 2 +- .../popover/_example/placement/index.vue | 2 +- .../popover/_example/popover.vue | 2 +- .../popover/_example/theme/index.vue | 2 +- .../uniapp-components/popover/popover.vue | 13 ++-- .../popup/_example/base/index.vue | 2 +- .../popup/_example/custom-close/index.vue | 4 +- .../popup/_example/popup.vue | 2 +- .../popup/_example/skyline/popup.vue | 2 +- .../popup/_example/with-title/index.vue | 2 +- packages/uniapp-components/popup/popup.vue | 13 ++-- .../progress/_example/progress.vue | 4 +- .../progress/_example/transition/index.vue | 2 +- .../uniapp-components/progress/progress.vue | 9 +-- .../pull-down-refresh/_example/base/index.vue | 2 +- .../pull-down-refresh/pull-down-refresh.vue | 10 ++-- .../qrcode/_example/qrcode.vue | 6 +- .../qrcode/_example/size/index.vue | 2 +- .../qrcode-canvas/qrcode-canvas.vue | 9 +-- .../qrcode-status/qrcode-status.vue | 3 +- packages/uniapp-components/qrcode/qrcode.vue | 8 ++- .../radio-group/radio-group.vue | 9 +-- .../radio/_example/card/index.vue | 4 +- .../radio/_example/horizontal/index.vue | 4 +- .../radio/_example/radio.vue | 6 +- .../radio/_example/special/index.vue | 8 +-- .../radio/_example/status/index.vue | 2 +- packages/uniapp-components/radio/radio.vue | 9 +-- .../uniapp-components/rate/_example/rate.vue | 8 +-- packages/uniapp-components/rate/rate.vue | 13 ++-- .../result/_example/result.vue | 5 +- .../result/_example/skyline/result.vue | 5 +- packages/uniapp-components/result/result.vue | 9 +-- packages/uniapp-components/row/row.vue | 10 +++- .../scroll-view/scroll-view.vue | 2 +- .../search/_example/search.vue | 4 +- .../search/_example/skyline/search.vue | 4 +- packages/uniapp-components/search/search.vue | 9 ++- .../uniapp-components/segmented/segmented.vue | 9 ++- .../side-bar/_example/base/index.vue | 4 +- .../side-bar/_example/custom/index.vue | 4 +- .../side-bar/_example/switch/index.vue | 6 +- .../side-bar/_example/with-icon/index.vue | 4 +- .../uniapp-components/side-bar/side-bar.vue | 8 ++- .../skeleton/_example/skeleton.vue | 6 +- .../skeleton/_example/skyline/skeleton.vue | 6 +- .../uniapp-components/skeleton/skeleton.vue | 9 ++- .../slider/_example/skyline/slider.vue | 6 +- .../slider/_example/slider.vue | 6 +- packages/uniapp-components/slider/slider.vue | 12 ++-- .../uniapp-components/step-item/step-item.vue | 9 +-- .../stepper/_example/skyline/stepper.vue | 2 +- .../stepper/_example/stepper.vue | 2 +- .../uniapp-components/stepper/stepper.vue | 8 ++- .../steps/_example/horizontal/index.vue | 2 +- .../steps/_example/special/index.vue | 6 +- .../steps/_example/status/index.vue | 2 +- .../steps/_example/steps.vue | 2 +- .../steps/_example/vertical/index.vue | 2 +- packages/uniapp-components/steps/steps.vue | 8 ++- .../sticky/_example/base/index.vue | 2 +- .../sticky/_example/container/index.vue | 2 +- .../sticky/_example/offset/index.vue | 2 +- .../sticky/_example/sticky.vue | 5 +- packages/uniapp-components/sticky/sticky.vue | 7 ++- .../swipe-cell/_example/double/index.vue | 2 +- .../swipe-cell/_example/icon/index.vue | 2 +- .../swipe-cell/_example/left/index.vue | 2 +- .../swipe-cell/_example/right/index.vue | 2 +- .../swipe-cell/_example/swipe-cell.vue | 4 +- .../swipe-cell/swipe-cell.vue | 12 ++-- .../swiper-nav/swiper-nav.vue | 9 ++- .../swiper/_example/swiper.vue | 4 +- .../swiper/_example/vertical/index.vue | 2 +- packages/uniapp-components/swiper/swiper.vue | 12 ++-- .../switch/_example/skyline/switch.vue | 4 +- .../switch/_example/switch.vue | 4 +- packages/uniapp-components/switch/switch.vue | 9 +-- .../tab-bar-item/tab-bar-item.vue | 10 ++-- .../tab-bar/_example/skyline/tab-bar.vue | 10 ++-- .../tab-bar/_example/tab-bar.vue | 10 ++-- .../uniapp-components/tab-bar/tab-bar.vue | 8 ++- .../uniapp-components/tab-panel/tab-panel.vue | 8 ++- .../table/_example/base/index.vue | 2 +- .../table/_example/bordered/index.vue | 2 +- .../table/_example/rowspan-colspan/index.vue | 2 +- .../table/_example/scroll/index.vue | 2 +- .../table/_example/stripe/index.vue | 2 +- .../table/_example/table.vue | 4 +- .../tabs/_example/base/index.vue | 2 +- .../tabs/_example/scroll/index.vue | 2 +- .../tabs/_example/size/index.vue | 2 +- .../tabs/_example/status/index.vue | 2 +- .../uniapp-components/tabs/_example/tabs.vue | 7 ++- .../tabs/_example/theme/index.vue | 2 +- .../tabs/_example/with-badge/index.vue | 2 +- .../tabs/_example/with-content/index.vue | 2 +- .../tabs/_example/with-icon/index.vue | 2 +- .../tag/_example/skyline/tag.vue | 6 +- .../uniapp-components/tag/_example/tag.vue | 6 +- .../tag/_example/type/index.vue | 2 +- packages/uniapp-components/tag/tag.vue | 9 ++- .../textarea/_example/textarea.vue | 10 ++-- .../uniapp-components/textarea/textarea.vue | 9 ++- .../toast/_example/base/index.vue | 4 +- .../toast/_example/close/index.vue | 2 +- .../toast/_example/cover/index.vue | 2 +- .../toast/_example/skyline/toast.vue | 4 +- .../toast/_example/theme/index.vue | 4 +- .../toast/_example/toast.vue | 4 +- packages/uniapp-components/toast/toast.vue | 15 ++--- .../transition/_example/transition.vue | 2 +- .../transition/transition.vue | 4 +- .../tree-select/tree-select.vue | 23 +++++--- .../uniapp-components/types/action-sheet.d.ts | 2 +- .../uniapp-components/types/avatar-group.d.ts | 2 +- packages/uniapp-components/types/avatar.d.ts | 2 +- .../uniapp-components/types/back-top.d.ts | 2 +- packages/uniapp-components/types/badge.d.ts | 2 +- packages/uniapp-components/types/button.d.ts | 2 +- .../uniapp-components/types/calendar.d.ts | 2 +- .../uniapp-components/types/cascader.d.ts | 2 +- .../uniapp-components/types/cell-group.d.ts | 2 +- packages/uniapp-components/types/cell.d.ts | 2 +- .../uniapp-components/types/check-tag.d.ts | 2 +- .../types/checkbox-group.d.ts | 2 +- .../uniapp-components/types/checkbox.d.ts | 2 +- packages/uniapp-components/types/col.d.ts | 2 +- .../types/collapse-panel.d.ts | 2 +- .../uniapp-components/types/collapse.d.ts | 2 +- .../uniapp-components/types/color-picker.d.ts | 2 +- .../upload/_example/upload.vue | 6 +- packages/uniapp-components/upload/upload.vue | 28 +++++---- .../watermark/_example/watermark.vue | 8 +-- .../uniapp-components/watermark/watermark.vue | 5 +- .../chat/attachments/_example/attachments.vue | 2 +- .../chat/attachments/attachments.vue | 12 ++-- .../chat-actionbar/_example/base/index.vue | 5 +- .../chat-actionbar/_example/comment/index.vue | 5 +- .../chat/chat-actionbar/chat-actionbar.vue | 8 ++- .../chat/chat-content/chat-content.vue | 10 +++- .../chat/chat-list/_example/agent/index.vue | 16 ++--- .../chat/chat-list/_example/base/index.vue | 10 ++-- .../_example/chart-component/index.vue | 5 +- .../chat/chat-list/_example/chat-list.vue | 7 ++- .../chat/chat-list/_example/code/index.vue | 10 ++-- .../chat/chat-list/_example/custom/index.vue | 12 ++-- .../chat/chat-list/_example/docs/index.vue | 9 +-- .../_example/hook-component/index.vue | 10 ++-- .../chat/chat-list/_example/image/index.vue | 11 ++-- .../chat/chat-list/chat-list.vue | 8 ++- .../chat/chat-loading/chat-loading.vue | 7 ++- .../chat-markdown-code/chat-markdown-code.vue | 7 ++- .../chat-markdown-node/chat-markdown-node.vue | 4 +- .../chat-markdown-table.vue | 4 +- .../chat-markdown/_example/chat-markdown.vue | 6 +- .../chat-markdown/_example/tail/index.vue | 4 +- .../chat/chat-markdown/chat-markdown.vue | 17 +++--- .../chat-message/_example/chat-message.vue | 4 +- .../chat-message/_example/content/index.vue | 2 +- .../chat/chat-message/chat-message.vue | 13 ++-- .../_example/attachments/index.vue | 5 +- .../chat/chat-sender/_example/base/index.vue | 5 +- .../chat/chat-sender/_example/chat-sender.vue | 2 +- .../_example/content-citation/index.vue | 3 +- .../_example/file-citation/index.vue | 2 +- .../chat/chat-sender/chat-sender.vue | 14 +++-- .../chat/chat-sender/computed.js | 2 +- .../chat-thinking/_example/chat-thinking.vue | 2 +- .../chat/chat-thinking/chat-thinking.vue | 11 ++-- .../chat/mixins/using-config.js | 2 +- .../chat/types/attachments.d.ts | 2 +- .../chat/types/chat-actionbar.d.ts | 2 +- .../chat/types/chat-content.d.ts | 2 +- .../chat/types/chat-list.d.ts | 2 +- .../chat/types/chat-loading.d.ts | 2 +- .../chat/types/chat-markdown.d.ts | 2 +- .../chat/types/chat-message.d.ts | 2 +- .../chat/types/chat-sender.d.ts | 2 +- .../chat/types/chat-thinking.d.ts | 2 +- 362 files changed, 1205 insertions(+), 904 deletions(-) diff --git a/packages/tdesign-uniapp-chat/site/vite.config.ts b/packages/tdesign-uniapp-chat/site/vite.config.ts index 0574288d89..a767afd9d9 100644 --- a/packages/tdesign-uniapp-chat/site/vite.config.ts +++ b/packages/tdesign-uniapp-chat/site/vite.config.ts @@ -1,22 +1,24 @@ import * as path from 'path'; -import { defineConfig, loadEnv } from 'vite'; + +import { defineConfig, loadEnv, type UserConfig } from 'vite'; + import vue from '@vitejs/plugin-vue'; import vueJsx from '@vitejs/plugin-vue-jsx'; import changelog2Json from './web/plugins/changelog-to-json'; import tdocPlugin from './web/plugins/plugin-tdoc'; -const resolvePath = (r) => path.resolve(__dirname, r); +const resolvePath = r => path.resolve(__dirname, r); const publicPathMap = { preview: '/', production: 'https://static.tdesign.tencent.com/uniapp-chat/', }; -const isCustomElement = (tag) => tag.startsWith('td-'); +const isCustomElement = tag => tag.startsWith('td-'); // Rollup 4+ 的 tree-shaking 策略调整, 这里是为了让样式在站点构建正常 -const disableTreeShakingPlugin = (paths) => ({ +const disableTreeShakingPlugin = paths => ({ name: 'disable-treeshake', transform(code, id) { for (const path of paths) { @@ -30,35 +32,35 @@ const disableTreeShakingPlugin = (paths) => ({ const root: string = process.cwd(); const ENV_PREFIX = ['VITE_', 'VUE_APP']; -export default ({ mode }) => { +const config: UserConfig | (({ mode }: { mode: string }) => UserConfig) = defineConfig(({ mode }): UserConfig => { const env = loadEnv(mode, root, ENV_PREFIX); const vueAppBase = env.VUE_APP_PUBLICPATH; const experimentalConfig = vueAppBase ? { - experimental: { - renderBuiltUrl( - filename: string, - { - hostId, - hostType, - type, - }: { - hostId: string; - hostType: string; - type: string; - }, - ) { - console.log('[experimental] ', hostType, hostId, type, filename); - - // 确保基础路径以 / 结尾 - const basePath = vueAppBase.endsWith('/') ? vueAppBase : `${vueAppBase}/`; - return `${basePath}${filename}`; + experimental: { + renderBuiltUrl( + filename: string, + { + hostId, + hostType, + type, + }: { + hostId: string; + hostType: string; + type: string; }, + ) { + console.log('[experimental] ', hostType, hostId, type, filename); + + // 确保基础路径以 / 结尾 + const basePath = vueAppBase.endsWith('/') ? vueAppBase : `${vueAppBase}/`; + return `${basePath}${filename}`; }, - } + }, + } : {}; - const result = defineConfig({ + return { base: publicPathMap[mode], ...experimentalConfig, root: '.', @@ -103,7 +105,7 @@ export default ({ mode }) => { changelog2Json(), disableTreeShakingPlugin(['style/', 'toast/']), ], - }); + }; +}); - return result; -}; +export default config; diff --git a/packages/tdesign-uniapp-chat/site/web/app.vue b/packages/tdesign-uniapp-chat/site/web/app.vue index 69e47fa5ea..d1e47a94f3 100644 --- a/packages/tdesign-uniapp-chat/site/web/app.vue +++ b/packages/tdesign-uniapp-chat/site/web/app.vue @@ -1,21 +1,33 @@