Commit Graph

2484 Commits

Author SHA1 Message Date
DaxPay Dev
845148a7a0 refactor(iam): 菜单管理操作列由下拉菜单改为内联按钮
- MenuChildrenPanel: 移除 a-dropdown 更多操作, 改为 a-button 内联(edit/managePermCode/delete); 标题列加 view 权限链接
- MenuList: managePermCode 从下拉菜单移至内联按钮, 操作列宽 200->240
2026-06-27 23:03:59 +08:00
DaxPay Dev
1c0fc56110 fix(workspace): 调整 Widget 默认排序并优化头像首字样式
tradeTrend/channelDist defaultOrder 互换; workbench-header 头像首字放大至 32px 加粗
2026-06-27 23:03:54 +08:00
DaxPay Dev
eb1e51dfe4 feat(perm): perm-codes.ts Protocol 域新增 PUBLISH 权限码
Protocol 域从预留态转为正式可用, 配合后端 UserProtocolVersionController.publish 端点
2026-06-27 22:56:01 +08:00
DaxPay Dev
d69c58db33 feat(workspace): 重写工作台Widget注册表架构, 新增交易概览/支付订单/公告等卡片
- Widget 注册表架构: widget-registry + types + composables/useDashboardData
- 6 个 widget: 工作台头部/快捷入口/交易概览/支付订单/系统公告/交易趋势/支付渠道
- 默认首页 /analytics → /workspace (preferences.ts + SQL redirect)
- 全局「云闪付」→「银联」, 渠道标签补全 visa/mastercard/douyin
- 公告点击弹窗查看(MdPreview), 支付订单/公告列表 20 条可滚动
2026-06-27 22:22:42 +08:00
DaxPay Dev
17f38b748c refactor(perm): 前端权限码常量与调用点对齐后端下划线粗粒度命名
- perm-codes.ts 重写: 全下划线值, VIEW+MANAGE 粗粒度, 特殊操作独立; 新增 Merchant.User/System.Protocol 预留域; DictItem 合并入 Dict
- 调用点批量调整: ADD/EDIT/DELETE 统一为 MANAGE, System.DictItem 改用 System.Dict
- 修正直连商户应用页误用 Channel.Merchant 域, 改为 Channel.WechatApp/AlipayApp/DouyinApp
2026-06-27 21:39:50 +08:00
DaxPay Dev
0a6b5f64ef refactor(route): 路由配置页清理冗余 provider/channel, 场景行改用目录派生 provider
- pay-route.api.ts 移除 SceneConfig Result/Item 的 provider 字段(候选查询类型保留)
- ScenePanel.vue 场景内存行改用目录派生 provider(methodToProvider 映射), 提交时不再传 provider
- 同步清理 inferSceneCapability 与 Strategy.provider 对应的前端类型
2026-06-27 11:29:04 +08:00
DaxPay Dev
6dd678a0bd feat(develop): 支付调试页支付方式改下拉, 新增路由/传值模式切换
- 支付方式由文本输入改为下拉(已启用渠道目录), 移除 product 下拉

- 新增路由模式(商户+方式+应用)与传值模式(通道商户+能力)切换, 传值模式隐藏支付方式

- capability 必填; 候选接口去 method 参数, 传值模式候选不依赖支付方式

- 新增支付模式/能力相关 i18n 文案(zh-CN/en-US)
2026-06-27 10:07:45 +08:00
DaxPay Dev
67338443c0 fix(i18n): 补齐登录流程提示与隐藏表单项 label 的国际化
- 登录/忘记密码/验证码登录/二维码登录的 message 提示改走 $t
- AuthFormActions 默认值复用 common.submit / common.back
- RoleEdit/DictEdit/DictItemEdit 隐藏的"主键"/"字典ID" label 改走 $t
- 新增 _core/authentication、common、system/dict 的 zh-CN/en-US 翻译 key
2026-06-26 21:21:01 +08:00
DaxPay Dev
c3e6027e26 refactor(route): 通道路由配置页适配通道商户+支付能力
场景/基础面板支付产品下拉改为通道商户, 能力候选依赖通道商户; 候选 API 改为 channel-mch-candidates, 类型同步 channelMchNo/capability; 移除不再使用的 productNameMap prop 及其加载逻辑; 新增通道商户相关 i18n 文案(zh-CN/en-US)
2026-06-26 21:03:12 +08:00
DaxPay Dev
4851850d51 refactor(ui): 统一 RadioGroup 实心样式与表格操作列按钮规范 2026-06-26 13:01:07 +08:00
DaxPay Dev
7c9355f0f7 feat(device): 新增云打印设备管理页(列表/编辑), 对接云打印后端接口 2026-06-26 13:00:49 +08:00
DaxPay Dev
dd0361b079 fix(profile): 2FA 验证码确认弹窗宽度按中英文自适应 2026-06-26 08:53:10 +08:00
DaxPay Dev
1dade1c8b0 feat(auth): TOTP动态码改用一次性密码框(a-input-otp)
升级 antdv-next 1.3.6 → 1.3.7 (引入 InputOTP 组件)
登录验证/绑定确认/禁用确认 三处TOTP输入改用 a-input-otp(6位分格)
输满6位方可点击提交, TOTP/备用码切换时清空已输入码
备用码输入保持原 a-input 不变
2026-06-26 00:15:09 +08:00
DaxPay Dev
7f907124b8 style(notify): 统一 SSE 连接代码风格
类型写法顺序对齐、数字分隔符 30_000、事件回调非空断言赋值
2026-06-25 23:07:46 +08:00
DaxPay Dev
0a5c9d7a73 refactor(device): 前端设备域重构, 厂商配置独立, 设备类型下拉收敛到厂商支持范围
SpeakerDevice → DeviceSpeaker API/视图; 新增厂商配置 VendorManage/VendorConfigEdit 与 payment:device:vendorConfig 权限码; 厂商配置提升设备管理顶层菜单; 设备类型下拉按 deviceVendorMap 反查收敛; 云音响 → 云音箱
2026-06-25 23:05:34 +08:00
DaxPay Dev
f868b0baa0 refactor(auth): 精简双因素认证配置页, 移除TOTP标准参数表单项
删除 算法/位数/步长/窗口偏移 四个表单项, 配置项精简为3个
备用验证码数量最小值改为10
2026-06-25 23:01:25 +08:00
DaxPay Dev
df153340c8 fix(auth): 修复双因素认证前端若干问题
- 安全设置弹窗支持备用码验证关闭/重置操作
- lastVerifyTime 走 formatDateTime 国际化时间处理
- 修复 Invalid Date 问题
2026-06-25 22:43:40 +08:00
DaxPay Dev
32b2e94bb8 feat(auth): 新增双因素认证前端(登录二次验证+个人安全设置绑定+平台开关)
- 登录二次验证面板: TOTP/备用码切换, store/auth 识别 40101 挑战, request 拦截器放行
- 个人安全设置页(security-setting): 页内分步绑定(扫码→输码→备用码), a-steps 用 items API 适配 antdv-next
- 平台 2FA 开关配置页 + 字段精简
- i18n: zh-CN/en-US 双语
2026-06-25 22:00:03 +08:00
DaxPay Dev
c60ae752f3 refactor(device): 前端云音响设备域从 iot 重命名为 device 2026-06-25 12:28:41 +08:00
DaxPay Dev
f32723d2be fix(notify): SSE 连接防重入+指数退避, 修复多标签页重连风暴 2026-06-25 11:22:27 +08:00
DaxPay Dev
d1e9513e2e refactor(system): 平台文件页迁移至系统监控目录 2026-06-25 10:51:51 +08:00
DaxPay Dev
7485aca7a5 refactor(channel): 调整渠道应用详情页 2026-06-25 10:51:34 +08:00
DaxPay Dev
cb21cd2024 feat(iot): 新增云音响设备管理页(列表/api/i18n) 2026-06-25 10:51:17 +08:00
DaxPay Dev
ac8ae6d570 feat(store): 新增门店管理页(列表/抽屉表单/查看/工作台入口/i18n) 2026-06-25 10:50:55 +08:00
DaxPay Dev
9133d3f642 feat(admin): 图标选择器本地化,预加载 lucide+simple-icons 双集离线渲染
- bootstrap 启动时预加载 lucide + simple-icons 图标集到内存
- 图标弹窗数据源由在线 API(api.iconify.design) 改为本地双集合并,不再依赖网络
- 双集合并搜索: wechat/qq/alipay 命中品牌图标, user 命中 UI 图标
- 菜单编辑图标 prefix 由 ant-design 改为 lucide,与系统菜单风格统一
- 手输保留任意值, 本地未命中显示弱提示但不阻断保存(@iconify/vue 自动在线 fallback)
- 新增依赖 @iconify/json
2026-06-25 10:23:58 +08:00
DaxPay Dev
52bf30e5f6 feat(admin): 时区选择改为图标弹窗式并扩充全球时区
- header 世界时钟图标按钮 + Modal + antd Select 搜索分组(原框架仅5个时区)
- 精选 ~57 个常用时区按区域分组, 偏移运行时动态计算修正夏令时
- 时区长名跟随 locale 中英文本地化
- 下沉 admin 业务层复用 useTimezoneStore, 不改动框架包
2026-06-25 09:23:13 +08:00
DaxPay Dev
84ba62e492 fix(admin): 修复退出登录 store 重置崩溃及若干体验问题
- notify store 补充 $reset, 修复退出登录时 setup 语法 store 无 $reset 导致的崩溃
- user-dropdown 移除无用的"问题 & 帮助"菜单项及对应 qa 国际化键(zh-CN/en-US)
- formatDate 对空值/无效日期静默返回空字符串, 不再向控制台报错
- NoticeEdit 抽屉 width 改为 size 属性
2026-06-24 22:00:17 +08:00
DaxPay Dev
f50ff58799 feat(admin): 新增用户协议管理(版本化/多语言/Markdown 编辑) 2026-06-24 21:35:40 +08:00
DaxPay Dev
418198fe80 refine(notify): 铃铛与公告编辑体验优化, 新增通知中心页
- 铃铛: 只显示未读、红点改未读数字badge(99+)、点击查看正文、按类型切换图标(Bell/Inbox)、去除内容摘要/删除按钮/未读小点、标题省略避让已读按钮、important 标题红色、上下栏紧凑
- 公告编辑: Modal改Drawer(85%宽)、正文/标题占满(label2/wrapper22)、元信息两列横排、severity/isTop必填、生效/过期时间tooltip、正文变动关闭二次确认
- 公告列表: 操作列竖线分隔
- 通知中心(新): 铃铛查看全部跳转(/notify/center), 标题点击查看正文(Modal), important标题红色, 操作列精简
- 时间格式化(formatDateTime)、铃铛查看不再弹已读提示、i18n(zh/en)补全
2026-06-24 18:48:39 +08:00
DaxPay Dev
1461e103c0 feat(admin): 对接站内通知(公告管理页 + 铃铛 + SSE 实时推送)
- 公告管理页: NoticeList(vxe-table) + NoticeEdit(md-editor-v3 Markdown 编辑)
- 铃铛通知: 移除 mock 数据, 接入 Pinia store, SSE 实时刷新未读数与列表
- 通知 API(notice/user) + notify store + 权限码 + i18n(zh/en)
- 新增依赖 md-editor-v3
2026-06-24 15:52:18 +08:00
DaxPay Dev
6d7926e185 fix 过时api 2026-06-24 12:33:37 +08:00
DaxPay Dev
1a72770200 refactor(auth): 移除登录 remember 机制, accessToken 统一持久化 2026-06-24 12:21:30 +08:00
DaxPay Dev
a7f33a7deb feat(admin): 登录页对接图形验证码, 修复业务错误码响应传递 2026-06-24 12:04:01 +08:00
DaxPay Dev
fb21c3b1a3 feat(admin): 支付调试页支持选择通道商户号 2026-06-24 09:39:47 +08:00
DaxPay Dev
14c001e91f feat(admin): 新增支付调试页与 QrCode 组件
- 新增 DevelopTrade 支付调试页:4 卡 2+2 平衡布局,商户/应用/产品下拉联动
- 私钥弹窗 + localStorage 持久化 + 脱敏展示,订单号自动生成
- 请求预览卡实时展示参数 JSON 与签名预览
- 底部悬浮居中胶囊操作栏(固定定位),结果弹窗含二维码/JSON/订单摘要
- 主题 token 适配明暗模式,新增 developTrade API
- 新增 QrCode 组件(基于 qrcode 库),引入 qrcode 与 @types/qrcode 依赖
2026-06-23 23:45:38 +08:00
DaxPay Dev
69e39dac52 feat(admin): 签名调试页对齐商业版视觉与交互
- 重写 DevelopSign 页面:单卡片 + Tabs(生成/验证)、RSA2 标签、图标按钮
- code-textarea 等宽字体样式、code-box 结果展示与复制按钮
- 验签结果改用 a-result + 空状态占位,新增重置按钮
- validate() 校验失败兜底,避免未捕获 rejection
- a-card 改用 variant=borderless,消除 deprecated bordered 告警
- 抽取 i18n 文案(zh-CN/en-US),大括号按 vue-i18n 字面量语法转义
2026-06-23 23:17:34 +08:00
DaxPay Dev
85770006df chore(license): 统一为 LGPL-3.0-or-later 并清除 Vben 元信息残留 2026-06-23 22:28:13 +08:00
DaxPay Dev
2a7c5b3c21 chore(engines): 移除 Node 20 支持,与 H5 端对齐为 22.13+/24+ 2026-06-23 20:54:56 +08:00
DaxPay Dev
a869184cfc refactor(demo): 移除通道连通性演示页面与相关 API/i18n 资源 2026-06-23 18:08:48 +08:00
DaxPay Dev
c92b83e203 feat 演示更新 2026-06-23 12:52:21 +08:00
DaxPay Dev
78c32dca68 feat(demo): 演示页面展示消息队列 traceId 贯穿情况
- DemoMessageResult 接口增加 producerTraceId/consumerTraceId/tracePropagated 字段
- 演示页面表格新增 3 列, trace 是否贯穿用彩色标签直观呈现(绿贯穿/红断裂)
- zh-CN/en-US 国际化同步更新
2026-06-23 10:09:57 +08:00
DaxPay Dev
6cb9e5ec33 refactor(login): 移除登录页记住账号和忘记密码功能 2026-06-23 08:47:23 +08:00
DaxPay Dev
0753cb86f4 chore(deps): 升级 B 级 minor 依赖(21 项) 2026-06-22 23:49:17 +08:00
DaxPay Dev
028188ac32 chore(deps): 固定 A 级依赖升级结果作为 B 级还原点 2026-06-22 23:34:49 +08:00
DaxPay Dev
56eb6187ef fix(admin): 修复 vite 版本冲突导致的预构建 tree-shaking bug
- overrides 添加 vite 强制走 catalog,避免 vue-router 5.1.0
  peer dep 引入 vite 8.0.16(rolldown 1.0.3 tree-shaking bug
  导致 init_runtime_dom_esm_bundler import 声明丢失)
- 钉死 vue/@vue/shared/vite 精确版本(3.5.33/8.0.10),
  防止 catalog ^ 范围解析到不兼容的新版本
- catalog 添加 esbuild ^0.27.0 满足 vite optional peer dep 要求
2026-06-22 23:08:51 +08:00
DaxPay Dev
4e4f4ec7f1 fix(admin): 补充 less 预处理器显式依赖
项目源码大量使用 .less(styles/、vxe-table/、多个 .vue 的 <style lang="less">),
但从未显式声明 less 依赖,此前靠 transitive dep 间接提供。重新生成 lockfile 后
less 不再被间接拉入,导致 vite 报 "Preprocessor dependency less not found"。

- catalog 新增 less: ^4.2.0(实际解析为 4.6.6)
- daxpay-admin devDependencies 新增 "less": "catalog:"
- 重新生成 pnpm-lock.yaml(版本按 catalog 范围解析为当前最新)
2026-06-22 21:39:26 +08:00
DaxPay Dev
f461fdd507 feat(admin): 用户管理新增三方账号绑定抽屉
- 新增 UserSocialBind.vue 抽屉组件(SocialLogo + 解绑, 无绑定按钮)
- 新增 user-social.api.ts, 独立于 SocialApi
- UserList.vue 更多菜单增加三方绑定入口(VIEW 权限)
- 清理 social.api.ts 中残留的旧 admin 方法
- i18n: iam/user.json 补充 action.socialBind 和 social 段
2026-06-22 17:09:17 +08:00
DaxPay Dev
3ff6cebdf0 refactor(admin): 社交登录/绑定回调分离与 UI 精简
- OAuth 登录回调移回 Authentication.children (AuthPageLayout)
- 新增 social-bind-callback 独立路由 (弹窗模式, 无 Layout)
- SocialApi: exchangeLogin/exchangeBind 替代旧 exchange
- social-bind-callback: 移除平台图标和错误副标题, 精简 UI
- AuthThirdPartyPanel: render 调用显式传递 client 和 mode
2026-06-22 14:20:22 +08:00
DaxPay Dev
e5294f44f1 feat(admin): 个人设置页面重构为纯 antd-next 实现
- 新建 views/profile/: 基本设置(查看/编辑双模式)、修改密码(密码强度校验)、三方账号绑定(后端驱动)
- 删除旧 _core/profile 和 components/user-profile
- 基本设置: 登录账号/邮箱/手机号只读, 空值显示暂未设置
- 修改密码: 使用 InputPassword 组件 + generatePasswordRules, 对齐 UserResetPassword
- 三方账号: 平台列表由 SocialApi.enabledList() 驱动, 使用 SocialLogo 组件
- 路由: profileRoute 定义移至 core.ts, index.ts 仅做装配; 移除 hideInTab 修复页签不显示
- Vben 组件(ProfileBaseSetting/ProfilePasswordSetting/VbenFormSchema)全部替换为 antd-next
- i18n: profile.json 移至根级别, 清理无用 key, page.json 菜单名称改为个人设置
2026-06-22 11:46:52 +08:00
DaxPay Dev
36931f78da feat: 社交登录动态化与端点配置页面
- 登录页第三方登录按钮改为后端配置驱动渲染
- OAuth 回调路由支持 /:source 参数, 显示平台图标与名称
- 新增端点配置表单(UrlConfigForm), 支持管理端/商户端/支付网关/后端 API 地址
- 社交配置抽屉移除回调地址输入项, 替换为自动生成提示
- 更新 i18n(system/platform.json + iam/social.json)
2026-06-21 21:44:05 +08:00