DevDengChao
f497bf8e23
chore: upgrade wangEditor and BPMN packages
...
- @wangeditor-next/editor
- @wangeditor-next/plugin-mention
- bpmn-js
- diagram-js
- bpmn-js-token-simulation
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:58:02 +08:00
DevDengChao
eade6bd9a4
chore: upgrade eslint, stylelint, typescript-eslint and unocss
...
- eslint
- stylelint
- typescript-eslint
- unocss
- @unocss/eslint-config
- @unocss/eslint-plugin
- @unocss/transformer-variant-group
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:53:25 +08:00
DevDengChao
91c97d7302
chore: upgrade @vitejs/plugin-vue*, rollup, sass, vue-tsc and Vite helpers
...
- @vitejs/plugin-vue
- @vitejs/plugin-vue-jsx
- rollup
- sass
- vite-plugin-eslint2
- vite-plugin-svg-icons-ng
- vue-tsc
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:48:47 +08:00
DevDengChao
27b3c36976
chore: upgrade vue, vue-router, element-plus, vue-i18n and dayjs
...
- vue
- vue-router
- element-plus
- vue-i18n
- dayjs
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:43:21 +08:00
DevDengChao
bfcce06577
chore: upgrade @commitlint/*, @types/*, lint-staged, terser and @iconify/json
...
- @commitlint/cli
- @commitlint/config-conventional
- @iconify/json
- @types/node
- @types/qs
- lint-staged
- terser
Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:39:12 +08:00
DevDengChao
a997f25f98
Merge remote-tracking branch 'upstream/master' into upgrade
2026-03-09 09:57:30 +08:00
芋道源码
f29a384904
!862 fix: 完成 review c153ff93 的所有 TODO 修复
...
Merge pull request !862 from puhui999/master-dev
2026-03-07 03:56:34 +00:00
DevDengChao
52e538aa43
fix(router): auto-reload on chunk load failure after rebuild
...
Add two layers of error handling for stale chunk imports:
- `vite:preloadError` listener in main.ts for Vite preload failures
- `router.onError` in router/index.ts for dynamic import failures during navigation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 15:31:02 +08:00
DevDengChao
c4908548a1
feat(cropper): upgrade cropperjs from v1 to v2
...
cropperjs v2 is a complete rewrite using Web Components architecture.
- Cropper.vue: rewrite to use v2 API
- `new Cropper(img, { container })` with Web Components template
- `selection.$toCanvas()` (async) replaces `cropper.getCroppedCanvas()`
- Selection `change` event replaces `crop`/`cropmove` callbacks
- CropperImage `load` event replaces `ready` callback
- CopperModal.vue: update toolbar handlers
- `cropperImage.$rotate()` replaces `cropper.rotate()`
- `cropperImage.$zoom()` replaces `cropper.zoom()`
- `cropperImage.$scale()` replaces `cropper.scaleX/Y()`
- `cropperImage.$resetTransform()` + `selection.$reset()` replaces `cropper.reset()`
- types.ts: replace `Cropper.Data` with inline type (v2 has no Data type)
- Remove v1 CSS import (v2 uses shadow DOM styles)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:37:34 +08:00
DevDengChao
2520de56b4
refactor(icon): replace deprecated @iconify/iconify with @iconify/vue
...
- Remove @iconify/iconify (deprecated), @purge-icons/generated, vite-plugin-purge-icons
- Add @iconify/vue which uses @iconify/utils iconToSVG internally
- Rewrite Icon.vue to use @iconify/vue Icon component instead of manual DOM manipulation
- Pre-load ep/fa/fa-solid icon sets via addCollection for offline support
- Other icon sets (ion, mdi, heroicons, etc.) load from Iconify API on demand
- Remove PurgeIcons() from Vite plugin config
- Verified: all 22 icons on login page render correctly as SVGs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 12:26:12 +08:00
DevDengChao
860d2c0b29
chore(deps): minor updates for bpmn-js and purge-icons
...
- bpmn-js 18.12.0 → 18.13.0
- bpmn-js-properties-panel 5.52.1 → 5.53.0
- @purge-icons/generated 0.9.0 → 0.10.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:22:25 +08:00
DevDengChao
53a1024c11
chore(deps): patch updates for UnoCSS ecosystem (66.6.x)
...
- unocss 66.6.2 → 66.6.5
- @unocss/eslint-config 66.6.3 → 66.6.5
- @unocss/eslint-plugin 66.6.3 → 66.6.5
- @unocss/transformer-variant-group 66.6.3 → 66.6.5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:19:42 +08:00
DevDengChao
037b465a64
chore(deps): patch updates for toolchain (commitlint, lint-staged, postcss, iconify/json)
...
- @commitlint/cli 20.4.2 → 20.4.3
- @commitlint/config-conventional 20.4.2 → 20.4.3
- lint-staged 16.3.1 → 16.3.2
- postcss 8.5.6 → 8.5.8
- @iconify/json 2.2.444 → 2.2.446
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:17:06 +08:00
DevDengChao
ac6097aa9a
fix: resolve ESLint 10 + eslint-plugin-vue 10 rule compat for dev server
...
Disable rules that are new/stricter in eslint-plugin-vue 10 and
typescript-eslint 8+ which would block dev server rendering via
vite-plugin-eslint2:
- vue/no-ref-as-operand, vue/no-mutating-props,
vue/no-side-effects-in-computed-properties
- @typescript-eslint/no-unused-expressions, no-unsafe-function-type,
no-wrapper-object-types, no-this-alias, no-empty-object-type
- Ignore auto-generated src/types/auto-components.d.ts
- Fix hasPermi.ts short-circuit expression
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 01:00:29 +08:00
DevDengChao
cb5f0fb3f0
fix(deps): restore @iconify/iconify required by @purge-icons/generated
...
Re-added @iconify/iconify as runtime dependency — it's imported by
@purge-icons/generated which is used in src/plugins/svgIcon/index.ts.
Also reverted @purge-icons/generated 0.10 back to 0.9 (both versions
have the same @iconify/iconify import).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:56:06 +08:00
DevDengChao
49f0fb06f4
chore(deps): BPMN ecosystem upgrade and cleanup (Phase D)
...
- diagram-js 12 → 15, min-dash 4 → 5
- Remove unused fast-xml-parser (replaced by steady-xml)
- @purge-icons/generated 0.9 → 0.10
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:50:46 +08:00
DevDengChao
c0845eae75
chore(deps): medium-risk major upgrades (Phase C)
...
- stylelint 16 → 17, config-recommended 14 → 18, config-standard 36 → 40, order 6 → 7
- vue-types 5 → 6
- video.js 7 → 8
- cropperjs v2 evaluated but reverted to v1 due to incompatible API rewrite
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:46:12 +08:00
DevDengChao
e31423bc6d
chore(deps): low-risk major upgrades (Phase B)
...
- Remove deprecated @iconify/iconify (replaced by @purge-icons/generated)
- @commitlint/cli + config-conventional 19 → 20
- lint-staged 15 → 16
- rimraf 5 → 6
- markmap-common/lib/toolbar/view 0.16-0.17 → 0.18
- vue3-signature 0.2 → 0.4
- vue-dompurify-html 4 → 5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:35:24 +08:00
DevDengChao
5284b00706
chore(deps): update all semver-compatible packages to latest
...
Bump ~23 packages within their declared semver ranges, including:
- vue 3.5.26 → 3.5.29
- dayjs, lodash-es, qs, highlight.js, jsencrypt
- prettier, postcss, rollup, terser, autoprefixer
- and others
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:33:08 +08:00
DevDengChao
550c30eae4
chore: post-upgrade cleanup
...
- Update Node.js engine requirement to >= 20.19.0 (Vite 7 requirement)
- Remove duplicate entries in optimizeDeps include list
- Remove build-time-only packages (sass, unocss) from optimizeDeps
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:12:44 +08:00
DevDengChao
fd11e07e92
chore(deps): upgrade Vite 5.1.4 → 7.3.1 and ecosystem plugins
...
Core:
- vite 5.1.4 → 7.3.1
- @vitejs/plugin-vue 5 → 6.0.4
- @vitejs/plugin-vue-jsx 3 → 5.1.4
- @vitejs/plugin-legacy 5 → 7.2.1
- @types/node 20.17.9 → 25.3.3
Plugins:
- unplugin-auto-import 0.16.7 → 21.0.0
- unplugin-vue-components 0.25.2 → 31.0.0
- unplugin-element-plus 0.8.0 → 0.11.2
- vite-plugin-svg-icons-ng 1.3.1 → 1.5.2
- vite-plugin-top-level-await 1.4.4 → 1.6.0
Config:
- Switch to Sass Modern Compiler API (api: 'modern-compiler')
- Remove silenceDeprecations workaround
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:49:57 +08:00
DevDengChao
f4b8fea579
chore(deps): upgrade ECharts 5.5.0 → 6.0.0
...
Note: echarts-wordcloud has unmet peer dep (expects echarts ^5)
but works at runtime. Monitor for official v6 support.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:46:13 +08:00
DevDengChao
6ffcbbc1d2
chore(deps): migrate ESLint 8 → 10 with flat config
...
- Upgrade eslint 8.57.1 → 10.0.2
- Migrate .eslintrc.js → eslint.config.mjs (flat config)
- Replace vite-plugin-eslint → vite-plugin-eslint2
- Replace @typescript-eslint/eslint-plugin + parser → typescript-eslint
- Upgrade eslint-plugin-vue 9 → 10, vue-eslint-parser 9 → 10
- Remove eslint-define-config, eslint-config-prettier, eslint-plugin-prettier
- Delete .eslintignore (now handled in flat config ignores)
- Remove deprecated rules: vue/script-setup-uses-vars, vue/no-setup-props-destructure
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:44:40 +08:00
DevDengChao
53f779afa2
chore(deps): upgrade UnoCSS 0.58.5 → 66.6.2 and related packages
...
- unocss 0.58.9 → 66.6.2
- @unocss/eslint-config 0.57.7 → 66.6.3
- @unocss/eslint-plugin 66.1.0-beta.5 → 66.6.3
- @unocss/transformer-variant-group 0.58.9 → 66.6.3
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:38:32 +08:00
DevDengChao
643eb92aff
chore(deps): upgrade Vue I18n 9.10.2 → 11.2.8, fix related compat issues
...
- Upgrade vue-i18n to 11.2.8, @intlify/unplugin-vue-i18n to 11.0.7
- Remove vue-i18n CJS alias from vite.config.ts (no longer needed)
- Remove vue-i18n from optimizeDeps include list
- Upgrade bpmn-js-token-simulation 0.36.2 → 0.39.2 (ids@3 compat)
- Fix duplicate route name 'Redirect' (Vue Router 5 enforces uniqueness)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:36:31 +08:00
DevDengChao
7991028e0a
chore(deps): upgrade @vueuse/core 10.9.0 → 14.2.1
...
Crosses 4 major versions. All composables used by the project remain
compatible. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:16:43 +08:00
DevDengChao
c0414a563f
chore(deps): upgrade Vue Router 4.4.5 → 5.0.3
...
Major version with no breaking changes for this codebase. Dynamic route
generation via router.addRoute() and navigation guards work correctly.
All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:14:18 +08:00
DevDengChao
7326634cd3
chore(deps): upgrade Pinia 2.1.7 → 3.0.4, persistedstate 3.2.1 → 4.7.1
...
Pinia 3 is a "boring major" removing only deprecated APIs. The
persistedstate plugin v4 default export remains compatible.
All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:12:27 +08:00
DevDengChao
81f00adae3
chore(deps): upgrade TypeScript 5.3.3 → 5.9.3
...
Multiple minor versions with improved type inference. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:10:28 +08:00
DevDengChao
136ef314b5
chore(deps): upgrade bpmn-js-properties-panel 5.23.0 → 5.52.1
...
bpmn-js was already at v18. Properties panel minor update.
All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:06:04 +08:00
DevDengChao
c13d5d7dfd
chore(deps): upgrade vue-tsc 1.8.27 → 3.2.5
...
Major version bump with stricter type checking. Pre-existing type errors
in source code are surfaced but do not affect runtime. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:03:39 +08:00
DevDengChao
b6f40353ad
chore(deps): upgrade Sass 1.69.5 → 1.97.3
...
Patch update. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:00:25 +08:00
DevDengChao
dec43ffcee
chore(deps): upgrade Element Plus 2.11.1 → 2.13.3
...
Minor update. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:58:47 +08:00
DevDengChao
3dad65a53f
chore(deps): upgrade Axios 1.9.0 → 1.13.6
...
Minor/patch update. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:56:55 +08:00
DevDengChao
9864cf5a92
chore(deps): upgrade Vue 3.5.12 → 3.5.26
...
Patch update with no breaking changes. All 24 E2E tests pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:54:36 +08:00
DevDengChao
1b9fcc51a1
test: add Playwright E2E test suite as regression safety net
...
Set up 24 E2E tests covering auth, navigation, user CRUD, permissions,
UI features, and smoke tests using Playwright with API mocking via
page.route(). This provides a safety net before proceeding with
dependency upgrades.
- Add playwright.config.ts with setup project + storageState auth
- Add .env.e2e disabling captcha/tenant/encryption for test mode
- Add e2e/ directory with fixtures, helpers, page objects, and tests
- Add test:e2e scripts to package.json
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:49:50 +08:00
芋道源码
d3f008eb33
!863 !854 feat:【iot】接入 modbus 协议,重构所有协议的配置
...
Merge pull request !863 from 芋道源码/feature/iot
2026-02-14 03:10:48 +00:00
芋道源码
bb10760137
!854 feat:【iot】modbus-tcp 协议接入 100%:完整实现,修复 todo
...
Merge pull request !854 from 芋道源码/feature/iot-modbus
2026-02-14 03:09:03 +00:00
YunaiV
ab8de6ea83
Merge branch 'master' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into feature/iot
2026-02-13 15:40:15 +08:00
YunaiV
deed7eaff2
feat(iot):Modbus 支持 Master/Slave 双模式,配置表单和详情按协议类型区分展示
2026-02-13 15:35:41 +08:00
puhui999
e54c2b3e7a
fix: 完成 review c153ff93 的所有 TODO 修复
2026-02-11 17:37:58 +08:00
puhui999
572c14a41a
fix: 完成 review c153ff93 的所有 TODO 修复
...
- AreaSelect.vue: 删除未使用的 handleTree 导入
- AreaSelect.vue: 使用 AreaLevelEnum 枚举类型替代硬编码数字
- IframeComponent.vue: 已使用全局 isUrl 方法
- useAreaSelectRule.ts: 恢复代码格式空行,使用枚举常量
- useIframeRule.ts: 恢复代码格式空行
2026-02-11 17:27:07 +08:00
YunaiV
155edc41a9
feat(iot):Modbus 支持 Master/Slave 双模式,配置表单和详情按协议类型区分展示
...
1. ProtocolTypeEnum 拆分:MODBUS_TCP → MODBUS_TCP_MASTER + MODBUS_TCP_SLAVE
2. Slave 模式新增 mode(工作模式)、frameFormat(帧格式)字段,使用字典管理
3. 配置表单和详情页按 Master/Slave 模式条件展示不同字段,表单校验规则动态适配
4. 新增 DICT_TYPE:IOT_MODBUS_MODE、IOT_MODBUS_FRAME_FORMAT
5. 修复设备卡片 deviceName 过长溢出问题,添加文本截断
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:33:10 +08:00
YunaiV
c153ff93c7
review:“新增 iframe 和省市区选择器组件”
2026-02-08 14:37:55 +08:00
芋道源码
c119040307
!861 feat(form-create): 新增 iframe 和省市区选择器组件
...
Merge pull request !861 from puhui999/master-dev
2026-02-08 06:32:21 +00:00
puhui999
99b1e6da2c
Merge remote-tracking branch 'yudao/master' into master-dev
2026-02-08 11:56:45 +08:00
puhui999
a62251f900
feat(form-create): 新增 iframe 和省市区选择器组件
...
- 新增 iframe 网页嵌入组件,支持 URL 配置和实时预览
- 新增省市区三级联动选择器组件
2026-02-08 11:56:18 +08:00
YunaiV
5f211558fb
Merge branch 'feature/iot-protocol' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into feature/iot-modbus
...
# Conflicts:
# src/views/iot/device/device/detail/index.vue
2026-02-07 21:24:36 +08:00
YunaiV
91fb07971e
fix(crm): 修复线索详情页转化状态按钮误显示,对应 https://t.zsxq.com/wq7ix
2026-02-07 21:07:31 +08:00
YunaiV
3aeb719ec2
fix(mall):OrderDetail detailData 为 null 的情况
2026-02-07 19:45:27 +08:00