Commit Graph

2588 Commits

Author SHA1 Message Date
DaxPay Dev
89ddc1d6fd refactor(payment): 移除支付产品配置 API 的 configured 死字段 2026-07-19 15:02:03 +08:00
DaxPay Dev
9659d9d3c4 feat(order): 新增网关支付订单页,重构退款订单列表与工作台订单卡片,补齐东盟四语 2026-07-19 11:55:41 +08:00
DaxPay Dev
ae07f8a533 fix(analytics): 修复环比 NaN%/Infinity% 显示问题
根因: chainRatio 函数只防 undefined/0, 未防 null/NaN/Infinity
- 后端 Long 字段返回 null(无上期数据)时, curr=null/prev=null 算出 NaN
- curr=有效值/prev=null 时算出 Infinity, StatCard 渲染 '↓ NaN%'/'↓ Infinity%'

修复:
- chainRatio 用 Number.isFinite 统一拦截 null/undefined/NaN/Infinity
- StatCard 模板加 Number.isFinite 二次保险
- merchantRank.proportion / channelSuccess.rate 加 Number.isFinite 兜底
2026-07-19 11:43:44 +08:00
DaxPay Dev
10989dc9c2 feat(dashboard): 工作台/分析页空状态与错误状态优化
新增统一组件:
- <ChartCard>: 图表卡片四态包装(loading/error/empty/normal), 统一 antd 风格
- <StatCard>: 单指标卡片, 0/null 语义化(error 显 —, empty 显 ¥0 灰, normal 正常)

useAnalyticsData 增强:
- 暴露 errors ref(9 维度细粒度), 单维度失败不阻塞其他
- 暴露 reload() 方法供手动重试

12 个组件改造:
- 工作台 3 widget: trade-overview/trade-trend/provider-distribution 加 error/empty 三态
- analytics 9 组件: overview 用 StatCard(0 自动灰色), 其他 8 个用 <ChartCard> 统一包装
- 空数据时显示 <a-empty>, 接口失败显示 <a-result warning> + 重试按钮

i18n 10 语种同步:
- common.retry 新增(重试/Retry/重試/再試行/재시도/Coba lagi/Thử lại/ลองอีกครั้ง/Cuba lagi)
2026-07-19 11:14:33 +08:00
DaxPay Dev
61982b1795 feat(dashboard): 渠道分布修复(provider 维度) + analytics 9 维度全量真实数据
修复 channelDist SQL 报错(pay_trade 无 channel 列):
- 改为 provider 维度(PayProviderEnum), pay_trade 加 provider 冗余列
- channelDist → providerDist 全面重命名(类/方法/URL/widget 文件)
- 新增 providerEnum.ts + 10 语种 payment/provider/common.json

analytics 9 维度全量真实数据驱动:
- useAnalyticsData 重写为异步加载, Promise.allSettled 并发 8 个 API
- 9 个组件加 loading prop + <a-skeleton>
- overview 卡片基于后端 prev* 字段计算环比
- 修复 trade-overview/trade-trend widget 的 API 签名兼容(对象参数)

i18n 10 语种同步:
- dashboard/workspace.json: channelDist → providerDist
- 新增 payment/provider/common.json × 10 (PayProviderEnum 7 项)
2026-07-19 11:07:56 +08:00
DaxPay Dev
638cd9fe1b feat(admin): 终端管理页面与菜单迁移至商户工作台
- 系统终端页面移至 merchant/terminal/(照搬门店模式: 强制 mchNo 路由参数+返回按钮+商户名)
- 通道终端面板(device/terminal/channel)嵌入通道商户详情抽屉, 复用 channel:merchant 权限
- 商户工作台基础管理组新增系统终端卡片入口
- 权限码 device:terminal:system → merchant:terminal(perm-codes.ts)
- menu-titles/workbench 10语种同步(cardTerminal + menu.payment.merchant.terminal)
2026-07-19 00:07:41 +08:00
DaxPay Dev
b18d4584ef feat(admin): 默认应用/门店删除与停用策略、订单 storeNo 展示
- MchAppWorkbench 删除默认应用改为完全阻挡 (移除 appCount>1 条件)
- MchAppInfoEdit/MchStoreInfoEdit 停用默认项二次确认警告
- MchStoreInfoList 删除默认门店检查 + 无默认门店告警横幅
- NormalOrder/GatewayOrder/PayTrade 详情补 storeNo 展示
- 6 语种 i18n 新增 confirmDisableDefault / deleteDefaultBlocked / noDefaultStoreTip / order.field.storeNo
2026-07-18 23:56:23 +08:00
DaxPay Dev
098320eb94 refactor(admin): 终端台账入口归位基础管理分组并暂时禁用
- 新增 TerminalCardPlaceholder 公共禁用卡片(灰色半透明 + 「开发中」角标 + Tooltip)
- 14 个产品 MchManage 的基础管理分组下追加终端台账占位卡片
- channelMerchant.json 10 语种补 cardTerminalBadge / cardTerminalTooltip
- 通道终端差异化字段方案待定, 暂不接入; 底层终端代码保留后续复用
2026-07-18 22:59:16 +08:00
DaxPay Dev
127b640bd1 fix(admin): 修复工作台三方平台登录快捷入口路由不匹配
socialLogin 入口的 routeName 原为 /system/config/social(不存在),
点击报 No match 路由错误。按 catalog.ts 注释约定 routeName 应等于
后端菜单 path,改为 /system/config/third-platform/ThirdPlatform
(iam_perm_menu id=900001)。
2026-07-18 22:13:49 +08:00
DaxPay Dev
59be343fba feat(admin): 码牌支持绑定门店与应用
- qrcode.api.ts 新增 bindStore/unbindStore/bindApp/unbindApp 及对应类型
- 查询/结果/绑商户参数新增 storeNo/storeName 字段
- DeviceQrCode 列表新增门店列、绑定门店与应用操作
- DeviceQrCodeBindMerchant 绑商户弹窗级联加载应用与门店(均可空)
- qrcode.json 全语种补绑定门店/应用文案
2026-07-18 10:32:53 +08:00
DaxPay Dev
7766fc4cd9 feat(i18n): 交易菜单多语种文案补全与命名调整
- 新增 menu.trade.payOrder(支付订单/catalog)、menu.trade.gatewayOrder(网关订单) 共 10 语种
- menu.trade.normalPay 由「支付订单」改为「普通订单」(降为子菜单)
- menu.trade.payTrade 由「资金交易」更名为「支付交易」(10 语种)
- 适配 iam_perm_menu 新结构(610 支付订单目录、604 网关订单)
2026-07-18 10:28:07 +08:00
DaxPay Dev
d3aa1b5260 feat(admin): 默认门店独立成列、设为/取消默认操作与编辑必填 2026-07-18 10:10:02 +08:00
DaxPay Dev
98f8caaa9e feat(admin): 码牌 DIRECT 能力候选与 openId 风控提示 2026-07-17 22:48:25 +08:00
DaxPay Dev
51f35ff153 feat(admin): 支付接口审计日志页与调试 reqId
运营端日志管理增加支付接口日志列表/详情;调试交易与网关组参自动生成 reqId;菜单与权限码对齐 system:log:unipay。
2026-07-17 17:40:00 +08:00
DaxPay Dev
622bcc0b04 fix(admin): 商户名称缺省显示 - 不再用商户号兜底
列表/详情商户名统一 mchName || '-',商户号仅副行/括号展示,避免翻译失败时看起来像名称也是商户号。
2026-07-17 17:36:21 +08:00
DaxPay Dev
be9c63ba85 fix(admin): 调整在线用户列表展示
优化 OnlineUserList 列展示与交互细节。
2026-07-17 08:24:29 +08:00
DaxPay Dev
10f5909b79 feat(admin): 新增网关开发调试页与多语菜单
补充 DevelopGateway 页面/API、unipay 交易辅助接口,以及 develop 文案与菜单标题多语。
2026-07-17 08:24:28 +08:00
DaxPay Dev
d9d6960e04 refactor(admin): 用户协议页面迁移至 system/basic/protocol
API 与视图从 system/protocol 迁到 system/basic/protocol,并同步协议展示入口引用。
2026-07-17 08:24:27 +08:00
DaxPay Dev
14106dd4cd feat(admin): 商户列统一上下两排显示(名称+小字商户号)
对齐通道商户所属商户展示:商户列表/码牌/风控/域名验证/敏感词/订单三列表改为名称上、号下小字;补全 field.merchant 多语与 API mchName 字段。
2026-07-17 08:16:25 +08:00
DaxPay Dev
69930ed562 feat(admin): 新增通道商户全局管理列表页 2026-07-16 20:06:08 +08:00
DaxPay Dev
72491d7789 feat(admin): 安全配置拆分并完善支付风控开关联动
将系统安全与支付安全拆页,风控总开关关闭时禁用子项并同步概要标签。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 16:17:37 +08:00
DaxPay Dev
79f3986f2f feat(admin): 用户协议版本新建支持继承上一版内容
新建草稿默认继承同语言上一版,已发布/归档行支持复制为草稿,并补充多语种文案。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 14:49:14 +08:00
DaxPay Dev
cf3fa26446 feat(admin): 用户协议与隐私政策展示页接入后端接口
- 新增 AgreementContentView 公共组件,调用 findDefault 接口渲染 Markdown 正文
- agreement-terms/agreement-privacy 改为薄壳页面
- 协议路由移出 Authentication children 为独立顶级路由,全屏展示
- request.ts 增加 silentError 静默错误支持,协议未配置时不弹 toast
- 10 语种 authentication.json 同步新增 agreementEmpty/agreementEffectiveTime
2026-07-16 13:56:40 +08:00
DaxPay Dev
6afd693b78 feat(admin): 敏感词配置页重构布局与策略分区 2026-07-16 13:00:44 +08:00
DaxPay Dev
1ed7cdbfb5 feat(admin): 敏感词管理交互优化与命中记录完善
- 菜单命名、弹窗表单、必填与匹配模式说明
- 命中场景/来源 i18n、列宽、详情查看
- 创建时间 formatDateTime
2026-07-16 10:21:44 +08:00
DaxPay Dev
b5b410ab67 feat(admin): 敏感词管理页与多语种补全
新增词库/命中列表、平台配置敏感词策略 Tab 与权限文案;补齐六语及东盟四语 risk/sensitiveWord 与菜单标题,并增加 locale key 完整性检查脚本。
2026-07-16 09:09:03 +08:00
DaxPay Dev
ba8224d86f feat(admin): 支付风控黑名单与命中记录管理页
运营端新增黑名单/风险命中列表与编辑处理,补充权限码、菜单标题与多语言文案。
2026-07-15 23:08:18 +08:00
DaxPay Dev
c37f4bcb87 feat(admin): 码牌/聚合配置页路由预览与部分配置
码牌支付配置页、AUTO/METHOD 通道路由命中预览、环境分块与告警降噪;
METHOD/DIRECT 配多少存多少;聚合配置页同步部分配置与文案。
2026-07-15 22:16:28 +08:00
DaxPay Dev
d86f6b86ed fix(naming): 对齐通道枚举与 clientEnv/能力 i18n key
Channel 使用 huifu/douyin;clientEnvs 与 dict.client_env 的 wechat_pay 改为 wechat;
收银 capabilities 银联 key 对齐 union_qr 等;补充 alipay 图标资源。
2026-07-15 20:54:11 +08:00
DaxPay Dev
5aece99c7d feat(admin): 收银台配置页增加小程序场景
一级 Tab 增加小程序,二级按微信/支付宝/云闪付/抖音分桶;
对齐后端 mini 类型与 clientEnv 白名单,补全多语 typeMini 与字典。
2026-07-15 17:05:57 +08:00
DaxPay Dev
8ca2edc3d0 feat(admin): 码牌管理支持 H5/小程序类型
列表筛选与展示、批量创建必选、编辑只读展示 programType,全语种 i18n 同步。
2026-07-15 16:48:12 +08:00
DaxPay Dev
9ac5855770 feat(order): 资金交易 API 补充 channelMchNo 与 storeNo
对齐后端 pay_trade 组织冗余字段,查询与结果类型支持通道商户号、门店号筛选与展示。
2026-07-15 14:49:40 +08:00
DaxPay Dev
0d7bd6ad31 feat(order): 订单 API 类型补充 storeNo 字段 2026-07-15 14:36:31 +08:00
DaxPay Dev
c1b156923f chore(release): 统一产品版本为 4.0.0-beta1
将 monorepo 根与全部 workspace 包版本从 4.0.0 调整为 4.0.0-beta1。
2026-07-15 14:32:25 +08:00
DaxPay Dev
cf73c42499 feat(admin): 易支付配置页与应用工作台入口
新增 EasyPayConfig 子页(两列分区、V1/V2 显隐、查看/编辑),工作台支付配置入口与权限码;平台公钥展示去 PEM 纯 Base64,补齐多语言菜单与文案。
2026-07-15 12:35:37 +08:00
DaxPay Dev
a329653e62 fix(admin): 修复 i18n 模块加载期 $t 时序报警并补齐 page.auth 缺失 key
路由 meta.title 改存原始 key 字符串(渲染层 $t 二次解析),消除静态导入早于 setupI18n 导致的 [intlify] Not found 警告;useDeleteConfirm 初始 title 改空串规避同类时序问题;10 语种 page.json 补 login/qrcodeLogin/forgetPassword/oauthCallback。
2026-07-15 12:21:21 +08:00
DaxPay Dev
4a1e2e822a refactor(admin): 订单付款码字段 barCode 统一为 authCode
对齐后端 authCode;多语订单/调试页文案改为付款码语义,避免 Auth Code / Bar Code 混用。
2026-07-15 11:05:09 +08:00
DaxPay Dev
d7917fac11 refactor(admin): 支付模式文案统一为「直接指定」
将开发调试、聚合支付、收银台中 direct 模式的「指定通道商户/直传/传值」统一为「直接指定」,并同步多语言与代码注释。
2026-07-15 10:07:51 +08:00
DaxPay Dev
55d583238b fix(admin): 产品配置环境切换需全局沙箱已启用
仅在产品支持沙箱且全局 sandboxEnabled 为 true 时显示环境切换控件。
2026-07-14 21:20:28 +08:00
DaxPay Dev
1c491afd90 refactor(gateway): CashierScene 对齐 ClientEnv 客户端环境
管理端聚合扫码/收银台配置与字典改为 clientEnv/clientEnvs,
与后端 ClientEnvEnum 命名一致。
2026-07-14 21:17:45 +08:00
DaxPay Dev
5436d9d14d feat(admin): 订单展示入账金额与通道应用,移除聚合付款码
同步 channelAppId/postedAmount 字段与 i18n;路由配置纳入聚合扫码;认证参数 opAppId 更名为 channelAppId。
2026-07-14 18:38:50 +08:00
DaxPay Dev
3cd8edf113 refactor(auth): 移除未实现的短信验证码登录残留
删除验证码登录页/路由、common-ui 壳组件及专用 i18n,并清理无引用的 sms_provider 字典文案。
2026-07-14 16:55:33 +08:00
DaxPay Dev
0f9163c480 feat(admin): 角色权限分配抽屉增强与角色编码对齐
支持搜索/过滤/全选/级联权限码/脏检查;内置角色 i18n 改为 admin_admin;菜单类型增加圆点样式映射。
2026-07-14 15:24:25 +08:00
DaxPay Dev
ddb8f39118 fix(i18n): 补齐管理端 raw key 与订单筛选项国际化
修正 operateSuccess/operationFail 拼写,订单通道/方式/交易形态走 $t,并设置 fallbackLocale 与默认关闭锁屏快捷键提示。
2026-07-14 15:13:23 +08:00
DaxPay Dev
ef5d129874 fix(admin): 角色列表操作列适配多语言并修正 common 机翻
主列保留查看/分配权限,编辑与删除收入更多菜单,列宽 220 留余量;
同步修正各语言 common 按钮/表头错译与过长微文案,缩短 assignPermission。
2026-07-14 15:02:46 +08:00
DaxPay Dev
b0182d66bf feat(i18n): 管理端支持东盟四语(印尼/越南/泰/马来)
扩展 SUPPORT_LANGUAGES 与 antd/dayjs/vxe 映射;补齐业务词条、菜单标题与用户协议语言选项。
2026-07-14 14:34:34 +08:00
DaxPay Dev
67a9f2dfbe fix(admin): 请求头补齐 Accesstoken 与 Sa-Token 对齐
与后端 sa-token.token-name=Accesstoken 一致,Authorization 保留兼容;
同步更正 SSE 依赖同源 Accesstoken Cookie 的注释说明。
2026-07-14 12:51:59 +08:00
DaxPay Dev
7a8d5c55e9 fix(admin): 启动 Loading 使用中性 Loading... 文案
避免刷新时展示构建期品牌名 DaxPay Admin;初始 title 同步为 Loading...,
进站后仍由站点配置 systemName 覆盖,无需 i18n。
2026-07-14 12:48:18 +08:00
DaxPay Dev
47c0209e3d feat(i18n): 管理端支持日语/韩语并补齐漂移 key
扩展 SUPPORT_LANGUAGES 与 antd/dayjs/vxe 映射,新增 ja-JP/ko-KR 业务与框架语言包;协议语言选项对齐六语;补齐 accountLength/security.common 在用文案并删除 edit 死 key。
2026-07-14 12:47:16 +08:00
DaxPay Dev
30ff643ea1 fix(i18n): 语言切换后保持菜单标题语种正确
loadMessages 并入对应 menu-titles;inject 不再把简体挂到短码 zh,避免 zh-TW/zh-HK 回退成简体。
2026-07-14 12:32:20 +08:00