diff --git a/q b/q new file mode 100644 index 0000000..22b336c --- /dev/null +++ b/q @@ -0,0 +1,1520 @@ +commit d1ff4d5f6c433c3fbdac9141677294a6c4c2a569 (HEAD -> develop, origin/develop) +Author: luo +Date: Fri Jul 24 17:12:29 2026 +0800 + + feat: 顶部通知铃铛与站内通知中心 + +commit 4c6d871c350e19e3989cc22a97e7c8d293e35893 +Author: luo +Date: Fri Jul 24 16:30:58 2026 +0800 + + feat: 退款企微审批详情与业务处理状态 + +commit 9a84cd0d316276f124e0621767ce9f90e3d2c999 +Author: luo +Date: Fri Jul 24 15:45:55 2026 +0800 + + feat: 批量订购上传支付进度与失败明细 + +commit e043fd86d1437426c64bce036835e924005b0111 +Author: luo +Date: Fri Jul 24 12:03:04 2026 +0800 + + feat: 角色默认信用与店铺实际额度管理 + +commit a0c44ff538baa82de9539bb7f55b9efb14c8caf8 +Author: luo +Date: Fri Jul 24 11:48:02 2026 +0800 + + feat: 七月迭代公共状态与异步任务交互 + +commit 15122e225a968fa49ff35b59d2a8fbae6164c453 +Author: luo +Date: Fri Jul 24 09:31:11 2026 +0800 + + feat: 预计最终到期时间展示新增具体 + +commit 127fdb560bbfca6f065e1997bc5a441910f55027 +Author: luo +Date: Thu Jul 23 17:59:07 2026 +0800 + + fix: 样式优化套餐分配生效条件选择 + +commit 5e15127a8976234388db4d2a9a0d63f32459eda8 +Author: luo +Date: Thu Jul 23 17:06:05 2026 +0800 + + feat: 接入新参数:套餐分配生效条件选择,资产详情前代后代换货标识 + +commit d7c2c146fe7303cbb930c6b7b85813565bb99932 +Author: luo +Date: Thu Jul 23 14:10:48 2026 +0800 + + feat: 角色默认信用与店铺实际额度管理 + +commit d5fd8ac564d7607cd3b932e2c62f00390867a27e +Author: luo +Date: Wed Jul 22 18:37:41 2026 +0800 + + feat: 退款充值换货列表提交人与审批摘要 + +commit 7d3352038a5725a31cc9b134170b70a4e569002c +Author: luo +Date: Wed Jul 22 16:57:17 2026 +0800 + + feat: 换货新旧资产展示与独立搜索 + +commit 8faa2ea2efbdb1ba1c1963f094713f9ad57842ed +Author: luo +Date: Wed Jul 22 16:31:01 2026 +0800 + + feat: 预计最终到期时间展示 + +commit 8de4339505f68851ac29d7375f2822c3e83d0f2d +Author: luo +Date: Wed Jul 22 15:44:48 2026 +0800 + + feat: 卡和设备实名状态筛选 + +commit 68aa03b53833092807381a57129e00559d455d8e +Author: luo +Date: Wed Jul 22 14:21:15 2026 +0800 + + feat: 套餐分配生效条件选择 + +commit fbfdd01eec1c2b25077e0418f5217f5630134fd5 +Author: luo +Date: Wed Jul 22 10:14:13 2026 +0800 + + feat: 换货退款拦截错误展示 + +commit 5079f973262c7301f3bffb7da0e133ab7238f3fc +Author: luo +Date: Tue Jul 21 18:20:35 2026 +0800 + + feat: 店铺列表新增条件 + +commit 830476d49d92064819444ad3843bd57852f1bb69 +Author: luo +Date: Tue Jul 21 16:13:40 2026 +0800 + + H5实名购买顺序与后台批量配置 + +commit 47a2d88c9d2507ddfaeae8a7eee140985737507d +Author: luo +Date: Tue Jul 21 14:30:30 2026 +0800 + + 复机实名校验提示适配 + +commit 6febc66eca7e2bf2f22590d9fddf50e8a1af8c13 +Author: luo +Date: Tue Jul 21 11:50:47 2026 +0800 + + feat: 资产同步状态与同步轨迹入口-新 + +commit 45d255cabfa268e37ac05f13d7aa4ded2f2772c0 +Author: luo +Date: Tue Jul 21 11:13:20 2026 +0800 + + feat: 资产详情前代后代换货标识 + +commit eddfd157adab656c130c3d27e9928d638fec987c +Author: luo +Date: Tue Jul 21 09:57:14 2026 +0800 + + feat: 资产同步状态与同步轨迹入口 + +commit 09225dd8bcb038aa841f62c042bf85364be24497 +Author: csxj2026 +Date: Mon Jul 20 15:33:35 2026 +0800 + + 更新 Dockerfile + +commit 563804f67f94d21e28650de1344eaf00e9291090 +Author: csxj2026 +Date: Mon Jul 20 14:46:19 2026 +0800 + + 更新 docker-compose.prod.yml + +commit e95dc8e4f52c6e9ed99eeab7d51bfea66d81fea4 +Author: luo +Date: Mon Jul 20 12:17:02 2026 +0800 + + feat:代理现金余额不足100元展示、店铺业务员选择展示与筛选 + +commit ca338dd345f22cff6d3df02baaca1e5610ed29bb +Author: luo +Date: Mon Jul 20 11:02:05 2026 +0800 + + fix: 测试环境显示develop分支 + +commit fac05db39afc818668193f4928f51f70e5b5554f +Author: luo +Date: Mon Jul 20 10:50:23 2026 +0800 + + feat: 换货新资产归属继承提示 + +commit 2c8524485bd0b76fc472f4dd6da4c0e41e779278 +Author: luo +Date: Mon Jul 13 16:40:35 2026 +0800 + + fix: 资产信息字段显示隐藏根据角色 + +commit 4c0207c6e697cafb752502fe551fb2ab7e64ce4b +Author: luo +Date: Fri Jul 10 18:09:19 2026 +0800 + + fix: 将微信配置改成支付配置 + +commit 5b8d6610ab7f35d2111f6fe504d7e18c4b215775 +Author: luo +Date: Thu Jul 9 17:38:58 2026 +0800 + + fix: 将套餐系列的套餐加滚动条 + +commit a036b106412a480138910529e170665fc6e7f634 +Author: luo +Date: Thu Jul 9 15:59:39 2026 +0800 + + fix: 将权限管理里面的分页去掉 + +commit c1a7118d35bafbdf12d422d71298ca47a43523fb +Author: luo +Date: Thu Jul 9 15:20:28 2026 +0800 + + fix: 将导出列表分成三个模块 + +commit f27bbacb1edf2b423bd88b40a70d19f32e37148e +Author: luo +Date: Mon Jul 6 17:52:08 2026 +0800 + + fix: 设备信息新增的两个流量放到同一行 + +commit acda0d82c840995db0d304e863f14e9a17d91db3 +Author: luo +Date: Fri Jul 3 12:03:52 2026 +0800 + + feat: 新增全部已使用流量和全部总流量字段 + +commit 99de03604d920ccfa20a1a368a2d1353819e937a +Author: break +Date: Fri Jun 26 18:14:37 2026 +0800 + + 驳回 + +commit 1baa6d87cfdcb27b368f45aa4e79e607159bceb7 +Author: break +Date: Fri Jun 26 18:14:26 2026 +0800 + + 驳回 + +commit f604791c69216d09a36fb3340a69ba9c5bb6904d +Author: break +Date: Thu Jun 25 10:30:49 2026 +0800 + + 倒计时没有覆盖复机停机的问题 + +commit cfb6b52cc29e022848cab3864c0a5b9b0688ac37 +Author: break +Date: Wed Jun 24 15:06:05 2026 +0800 + + 倒计时限制 + +commit 0c3065f970763d21704c1b4483cf54e601aa712e +Author: break +Date: Tue Jun 23 09:50:12 2026 +0800 + + 让凭证数组与套餐作废任务进入可联调状态 + + Constraint: 后端订单套餐作废接口使用 /api/admin/order-package-invalidate-tasks,上传 + purpose 只能使用 attachment。 + Rejected: 继续提交逗号拼接凭证字符串 | 新提交路径必须使用 string[],历史字符串只做读取归一化。 + Confidence: high + Scope-risk: broad + Directive: 新增订单套餐作废权限时需同时配置菜单 URL 与 + order_package_invalidate_task:create/detail 按钮权限。 + Tested: bun run build;development 真实后端联调上传、创建、列表、详情通过;复机接口未触发。 + Not-tested: 未逐一手工覆盖所有历史凭证数据、全部角色权限组合和所有文件扩展名预览 + +commit ebf9739f06319fb6ddaffd5e51b27d59138272b4 +Author: luo +Date: Mon Jun 22 11:09:50 2026 +0800 + + fix:sort + +commit d3b5f55c64b774fe994519c06cbbd3f138426dda +Author: luo +Date: Mon Jun 22 10:36:33 2026 +0800 + + feat:更换企业授权 + +commit 866a2587b31e2121f99572e8f0b9b54c6526b3de +Author: luo +Date: Thu Jun 18 10:17:10 2026 +0800 + + feat:export + +commit 85d158dfec727cff7838ca383c8f9dd806b03ddf +Author: luo +Date: Wed Jun 17 17:46:04 2026 +0800 + + feat: order-export,generation,status + +commit 2a8f4e40d65930af4506cfc3882fef2c9c200b7d +Author: luo +Date: Tue Jun 16 11:35:45 2026 +0800 + + feat: 新增导出 + +commit 908367ba5df1bd27ea7dffcc44cb72eb85005a9c +Author: sexygoat <1538832180@qq.com> +Date: Mon Jun 15 10:19:35 2026 +0800 + + fix: new + +commit 2ecab976f5c89161d8565c0568991237439e1136 +Author: sexygoat <1538832180@qq.com> +Date: Sat Jun 13 10:41:10 2026 +0800 + + fix: 新增: 修改资产套餐已用量, 修改资产套餐过期时间 + +commit e04a283319b8bb58648ac58a6a88536dde0d3509 +Author: sexygoat <1538832180@qq.com> +Date: Fri Jun 12 10:41:37 2026 +0800 + + fix: 新增代理系列授权-建议售价使用套餐 + +commit d23e896f97fd2ed475a4eb3a2a68c43c3a51013a +Author: sexygoat <1538832180@qq.com> +Date: Sat Jun 6 15:09:31 2026 +0800 + + fix: 退款审批可以是0 + +commit c5e4082c260a006965c13917250bd9bc22a0b531 +Author: sexygoat <1538832180@qq.com> +Date: Fri Jun 5 16:26:17 2026 +0800 + + fix: 退款审批可以是0 + +commit 0c737a30c12046d2fd60cd97e7d46469e09fa713 +Author: sexygoat <1538832180@qq.com> +Date: Thu Jun 4 10:47:43 2026 +0800 + + fix: 换货 + +commit c5dae2993b0a5547e83855458062f33b4bba1555 +Author: sexygoat <1538832180@qq.com> +Date: Wed Jun 3 17:53:19 2026 +0800 + + fix: 换货 + +commit 3e6b3981f41e5efe591220835a967166e758dd2f +Author: sexygoat <1538832180@qq.com> +Date: Mon Jun 1 14:10:09 2026 +0800 + + fix:订单列表详情实付金额代理/企业不可见 + +commit e563b81b6e8ef49ef70bcbc51e82f2b212cca29b +Author: sexygoat <1538832180@qq.com> +Date: Mon Jun 1 11:41:52 2026 +0800 + + fix:操作审计日志-style + +commit 322cd0dca5baf82d7d4eb7b6c4c223d3006476f9 +Author: sexygoat <1538832180@qq.com> +Date: Sat May 30 15:06:41 2026 +0800 + + fix: 订单列表套餐显示销售价 + +commit ad56b82944abc409dd92f45a84a777fe33327951 +Author: sexygoat <1538832180@qq.com> +Date: Fri May 29 15:44:53 2026 +0800 + + feat: 新增代理流水资产标识 + +commit f62a8d98a4b522695ae7aae1fe5cac97322e1151 +Author: sexygoat <1538832180@qq.com> +Date: Fri May 29 12:11:03 2026 +0800 + + fix: 自动更新提示bug + +commit 76a526643eb090a9ad553e0b7ef6918624621ee8 +Author: sexygoat <1538832180@qq.com> +Date: Fri May 29 10:46:01 2026 +0800 + + fix:修改bug: 虚流量关闭的时候还是显示了 + +commit 9ce48f171420f28f73268b67fe3133033c66d227 +Author: sexygoat <1538832180@qq.com> +Date: Fri May 29 09:40:17 2026 +0800 + + fix:本月已用流量和运营商周期月内已用流量 + +commit a162dcc650399aa3e6ab14235ddb44b7ce71ea8c +Author: sexygoat <1538832180@qq.com> +Date: Fri May 29 09:38:30 2026 +0800 + + fix:本月已用流量和运营商周期月内已用流量代理企业不展示,其他账号新增权限 + +commit 868a3352adb90442baa4511fedaa9fe794e864f2 +Author: sexygoat <1538832180@qq.com> +Date: Thu May 28 18:18:42 2026 +0800 + + fix: 新增套餐新增缩长比例,增长比例 + +commit 61e575194d8cc120591625eac31ec3ac3e1fe57f +Author: sexygoat <1538832180@qq.com> +Date: Thu May 28 18:13:08 2026 +0800 + + fix: 新增套餐新增缩长比例,增长比例 + +commit 69b024b5cc2d7e2b19ee718e37b4dccc169c2144 +Author: sexygoat <1538832180@qq.com> +Date: Thu May 28 11:20:33 2026 +0800 + + fix: 虚流量进度条 + +commit 6654972ddb0081ca9f02ff819a273b4b7da1372d +Author: sexygoat <1538832180@qq.com> +Date: Wed May 27 14:58:37 2026 +0800 + + feat: 新增退款凭证 + +commit fe0093972f7ef2a12c7e8ea5af87976aad447382 +Author: sexygoat <1538832180@qq.com> +Date: Tue May 26 18:07:39 2026 +0800 + + feat: 卡新增IMEI + +commit 878d93a8650368cddafc0712f43694292050b371 +Author: sexygoat <1538832180@qq.com> +Date: Fri May 22 16:07:47 2026 +0800 + + fix: 微信配置 + +commit b364fb4aec5aa27d636d9b153603d94b685c2d48 +Author: sexygoat <1538832180@qq.com> +Date: Thu May 21 15:43:36 2026 +0800 + + fix: 在线 + +commit a69f972766f3b3b6a2011d45b981a6533dd1fde0 +Author: sexygoat <1538832180@qq.com> +Date: Thu May 21 14:53:36 2026 +0800 + + fix: 格式化时间 + +commit dfb78006acf14b71eb268ac2e0ed86ce084d894c +Author: sexygoat <1538832180@qq.com> +Date: Thu May 21 14:39:21 2026 +0800 + + fix: 分页器一直显示和资产信息使用单卡 + +commit 893921007a9e9ad815fc6ce4969aec3d31dc0383 +Author: sexygoat <1538832180@qq.com> +Date: Wed May 20 11:24:52 2026 +0800 + + feat: 设备管理新增imei和虚拟号 + +commit 59167d2630caef5ecbdd8861b83de3312c1f7954 +Author: sexygoat <1538832180@qq.com> +Date: Tue May 19 15:14:39 2026 +0800 + + feat: 卡/设备是否有生效套餐 + +commit 14832f5c6f3d51b53cb16d0b172e229985d0486c +Author: sexygoat <1538832180@qq.com> +Date: Mon May 18 13:11:40 2026 +0800 + + fix: 拖拽上传 + +commit 894aea0e74f118fdf56f9a3c65b36c54984c934f +Author: sexygoat <1538832180@qq.com> +Date: Mon May 18 12:23:35 2026 +0800 + + feat: 新增卡视角以及设备视角的实名同步时间,卡状态同步时间,流量同步时间 + +commit 877c741d728a15902fbc3b96201e4e93f95706f8 +Author: sexygoat <1538832180@qq.com> +Date: Fri May 15 16:53:00 2026 +0800 + + fix: 最后同步时间 + +commit aeb08f2cc159c476c28e2714171a2df88922ad8d +Author: sexygoat <1538832180@qq.com> +Date: Fri May 15 16:11:47 2026 +0800 + + fix: 时区去掉使用本地 + +commit c7e2d6fe533d83a65058d4c9f6be5dca32be05a3 +Author: sexygoat <1538832180@qq.com> +Date: Fri May 15 11:16:57 2026 +0800 + + fix: get-list + +commit f3b5444dd8d56dd06352318ab729fa33be065130 +Author: sexygoat <1538832180@qq.com> +Date: Thu May 14 15:52:38 2026 +0800 + + fix: 换货原因改成下拉 + +commit 38cf7d12e90d406ce13c726da8c868d7c552fda9 +Author: sexygoat <1538832180@qq.com> +Date: Thu May 14 10:52:11 2026 +0800 + + fix: 真流量虚流量权限 + +commit 1690252740a9fc014d445ecdf5356f9f32ef07a4 +Author: sexygoat <1538832180@qq.com> +Date: Tue May 12 14:54:47 2026 +0800 + + feat: 新增设备激活时间 + +commit 471d1196b3062b18d5dd05dd67735f04b566c04f +Author: sexygoat <1538832180@qq.com> +Date: Tue May 12 12:11:53 2026 +0800 + + feat: 新增运营商停机原因 + +commit 5d20d7dd3f103e9cdf5cbc14fde46fc5e4427171 +Author: sexygoat <1538832180@qq.com> +Date: Mon May 11 18:01:22 2026 +0800 + + fix: 订单详情支付凭证, 退款 + +commit 1990a3ccbac7e86439806a61fc037b3c3f29b59e +Author: sexygoat <1538832180@qq.com> +Date: Mon May 11 15:51:50 2026 +0800 + + fix: bug + +commit 766497dc316958a9bcac926489d434d946bbaf0b +Author: sexygoat <1538832180@qq.com> +Date: Mon May 11 14:51:13 2026 +0800 + + fix: bug + +commit e59c75bf9e42050e3794f03749c65a4055b70142 +Author: sexygoat <1538832180@qq.com> +Date: Mon May 11 14:47:07 2026 +0800 + + fix: bug + +commit eeeef931b1547327c510fa979ea416942a3425c1 +Author: sexygoat <1538832180@qq.com> +Date: Mon May 11 14:35:38 2026 +0800 + + fix: bug + +commit 73ce9af11a5c12a5b9cb66eb6b557b31da4033f8 +Author: sexygoat <1538832180@qq.com> +Date: Sat May 9 16:13:11 2026 +0800 + + fix: 代理系列授权店铺 + +commit 3c71ae0004e71e0717dbc0c76003f400dfac1daf +Author: sexygoat <1538832180@qq.com> +Date: Thu May 7 17:48:43 2026 +0800 + + fix:name + +commit 43de0e3e9e6416ed00309aba130c34ab1456915b +Author: sexygoat <1538832180@qq.com> +Date: Thu May 7 17:45:05 2026 +0800 + + fix:name + +commit 78fe35da01d0839790fac967b39fb0d25de4a235 +Author: sexygoat <1538832180@qq.com> +Date: Thu May 7 17:34:06 2026 +0800 + + fix:name + +commit 90d415cfb9a15cbc602ff819ff7728a86956ac56 +Author: sexygoat <1538832180@qq.com> +Date: Thu May 7 09:18:03 2026 +0800 + + fix: bug + +commit 304a5de1d6d2b9a5e7c19c02bf1ea1ea0c6ab1e4 +Author: sexygoat <1538832180@qq.com> +Date: Wed May 6 11:13:51 2026 +0800 + + fix: tips + +commit 883215056253417a09eee93a05ba7ab2f4f6b312 +Author: sexygoat <1538832180@qq.com> +Date: Wed May 6 10:54:43 2026 +0800 + + feat: sn + +commit 950520635da9d3c5ab6da97ca2184291d67811b4 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 30 18:04:01 2026 +0800 + + feat: 文件下载 + +commit 81155fd8e442149eac514600ff66a2c24d9966f8 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 30 17:01:00 2026 +0800 + + fix:进度条 + +commit 78a41513bd01913f352119b4aa5045b2d08be346 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 30 15:16:15 2026 +0800 + + fix: 字段显示和订单详情按钮 + +commit 57ddbe5f8585fa0cdc84a706e21e4d2bbcff83ba +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 30 12:04:04 2026 +0800 + + fix: order + +commit 044c07fae697d3a3152c0769ebe995aa1d6b9ba9 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 30 10:39:51 2026 +0800 + + fix: order + +commit 1a4eb00440765b846db8fa8475966edb783f2e3e +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 29 17:09:23 2026 +0800 + + fix: 新增代理系列授权 + +commit 1141b6c92daf9ca1c0df3a609cb34d844528ea5e +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 29 16:11:54 2026 +0800 + + fix: 新增代理系列授权 + +commit 9b4d956032fdf335c0953ddcb29e07aa634211ef +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 29 12:49:30 2026 +0800 + + del: 激活时间 + +commit 175fe55be79b9222c7e06f6247b6a5586e85cf85 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 29 11:40:38 2026 +0800 + + del: 激活时间 + +commit 3d34040bcc77221796a3016cf9060d3885a495ce +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 29 11:30:25 2026 +0800 + + fix: 套餐 + +commit 1dc4701540738bd7d026db62fd4128cf12ba2259 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 29 11:29:53 2026 +0800 + + fix: 套餐 + +commit 686bddad796a96550f10f62ee3d032222bb214d3 +Author: sexygoat <1538832180@qq.com> +Date: Tue Apr 28 18:52:43 2026 +0800 + + fix: 套餐 + +commit b6625748ac661a23c96462fdf4b56395c590f595 +Author: sexygoat <1538832180@qq.com> +Date: Tue Apr 28 18:40:18 2026 +0800 + + fix: 套餐 + +commit 55515410ae9846d0a5517c52777de05137ff466c +Author: sexygoat <1538832180@qq.com> +Date: Tue Apr 28 16:04:13 2026 +0800 + + fix: 设备信息顺序 + +commit c80ff80bf09059349323b82174e6fdb9224a28a9 +Author: sexygoat <1538832180@qq.com> +Date: Tue Apr 28 15:32:33 2026 +0800 + + fix: 账号管理 + +commit 317afd2d23805aa28ca5982d8009ecfa796590bc +Author: sexygoat <1538832180@qq.com> +Date: Tue Apr 28 15:20:22 2026 +0800 + + fix: 账号管理 + +commit a48ce0cb5483a57c1500e46606c851daa97a19d8 +Author: sexygoat <1538832180@qq.com> +Date: Tue Apr 28 14:48:44 2026 +0800 + + fix: 控制台加权限,登录跳转资产信息 + +commit 1ba662de0a9414aca68cf0dbd27ea8b906c74fec +Author: sexygoat <1538832180@qq.com> +Date: Tue Apr 28 12:03:42 2026 +0800 + + fix: 控制台加权限,登录跳转资产信息 + +commit fb10b727600b30129e49f2af25b24f71e9bda06a +Author: sexygoat <1538832180@qq.com> +Date: Tue Apr 28 11:14:13 2026 +0800 + + fix: 手动触发 + +commit b88f2d185ef93688507942f421caac92db029b79 +Author: sexygoat <1538832180@qq.com> +Date: Tue Apr 28 10:18:30 2026 +0800 + + fix: type + +commit 4f1cab614915f7192ea5839b26a638ed82bf7ebd +Author: sexygoat <1538832180@qq.com> +Date: Tue Apr 28 09:56:03 2026 +0800 + + fix: role_type + +commit ffdc6e2bbb1f734ed669268c14ce632918c50259 +Author: sexygoat <1538832180@qq.com> +Date: Tue Apr 28 09:38:52 2026 +0800 + + feat: 添加停机断点 + +commit af3f38aba0a4bdb514f079dba71fe8b253a6b89f +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 27 18:34:02 2026 +0800 + + fix: 操作 + +commit 030195d609024f58732f1ecd4d664b409855afb2 +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 27 17:46:20 2026 +0800 + + fix: 操作 + +commit d0c1f1622cd26814c23ea3fe6b4638b6a2110103 +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 27 17:39:55 2026 +0800 + + fix: 流量显示 + +commit d5c5e07f77084d5422928c3522d04afc8b8a886b +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 27 16:49:32 2026 +0800 + + feat:操作日志 + +commit a402f2329a6ab218d252c84b57edd95475e41d6d +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 27 16:05:24 2026 +0800 + + feat:流量展示 + +commit d52efaadcbf5c3c695308330a187f69db690f8f7 +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 27 15:57:31 2026 +0800 + + feat:流量展示 + +commit a055ff166a64e7601d4b0a6cf448137fea81bd3a +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 27 15:06:27 2026 +0800 + + feat:log + +commit 853c87b8a2bb61950eb7f2284016855ed3ed608c +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 27 11:59:20 2026 +0800 + + fix: 隐藏虚比,同步订单号 + +commit 6c9b29c53b63e32b5613af9315c715c41c28fecd +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 27 11:14:20 2026 +0800 + + fix: 套餐订购,界面优化 + +commit 2a3343400563ac6910b09533003377fbcd79295d +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 27 09:59:01 2026 +0800 + + fix: set-wifi + +commit 819fe9080a6313f1f724cbe0faf1ad0f617a0563 +Author: sexygoat <1538832180@qq.com> +Date: Sat Apr 25 17:00:11 2026 +0800 + + fix: ui + +commit f0f054390ab63a00d3de1dae33360c14160840cc +Author: sexygoat <1538832180@qq.com> +Date: Sat Apr 25 16:23:17 2026 +0800 + + fix: ui + +commit a770984ef73b9b997cdfbc773dc9be0b38407da5 +Author: sexygoat <1538832180@qq.com> +Date: Sat Apr 25 15:51:24 2026 +0800 + + fix: bug + +commit 9247001643bba7d2c2326c39103d9a2fc6f15e4c +Author: sexygoat <1538832180@qq.com> +Date: Sat Apr 25 12:01:21 2026 +0800 + + fix: bug + +commit 17c299e4ceddccd6ddc287a2e875dedea5a10b0c +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 24 18:39:39 2026 +0800 + + fix: bug + +commit 2d6b5d79038e6713d4fd17aee0cbfe7778f1dc13 +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 24 11:48:52 2026 +0800 + + fix: iccid列适配 + +commit ceecc07ffc1f83d2dd3a4f57542c770cfca174f3 +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 24 11:28:04 2026 +0800 + + fix: 批量分配 + +commit e4ed3784e3d3678af532c98342b4dab3ece32435 +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 24 11:17:39 2026 +0800 + + fix: pay + +commit 62851342c3c5bfe74e18f97dd74fa55d90f5dd69 +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 24 09:55:44 2026 +0800 + + fix: permission + +commit aaa648a86d35ca94cdeface523e632b0d82d9f3e +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 23 18:35:29 2026 +0800 + + feat: 支付凭证 + +commit cd2ca96873646b070f00dd76c523c7a8b5579791 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 23 18:13:07 2026 +0800 + + feat: 手动实名和套餐列表退款 + +commit 719db517f2a1b01877b4fc46a93cb7b16ec206e9 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 23 16:21:12 2026 +0800 + + fix: bug + +commit 2140efbacf576d8f4480611bdfa87f669e4e29ce +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 23 16:08:07 2026 +0800 + + fix: bug + +commit 8cc86369a23cd01cb6266f72325875e0b747138f +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 23 16:03:54 2026 +0800 + + fix: bug + +commit 8ca03ed7ac858e803696eb2e1c6f2508788742aa +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 23 15:52:18 2026 +0800 + + fix: bug + +commit 0bc2efdf0ea54a49ea81cbb895a7d885de3fa453 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 23 15:32:34 2026 +0800 + + fix: bug + +commit a5e76313cb15682b37f09411d32337c5443c3007 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 23 14:59:05 2026 +0800 + + fix: bug + +commit a9467e8a0cdd2168e4756d391b75e0a9266d48f0 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 22 18:33:52 2026 +0800 + + fix: 修改工单bug + +commit fd22dc7ad41bc733e2b1dad0ef7ec95de9848b76 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 22 17:42:36 2026 +0800 + + fix: 修改工单bug + +commit 8378d2228e08b58b122f97decd2e3a3cedc74086 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 22 15:26:55 2026 +0800 + + feat: 新增按钮授权 + +commit bce9054b829ef75c843cebff428089e97be502a9 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 22 15:00:37 2026 +0800 + + feat: 新增按钮授权 + +commit 936a4f06567faf5622b2fa1113fe9535981e9de6 +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 20 17:51:03 2026 +0800 + + fix: req:bug + +commit 11bfcadf6585b0180ffb636a5a9a2182c3c48f48 +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 20 16:28:09 2026 +0800 + + fix: wifi 自动填充 + +commit 9b66b78110417f76d50b75ea29214a0697aa984c +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 20 15:58:18 2026 +0800 + + feat: 当前生效套餐 + +commit 3acb626a3462306c6e748ba7f76ebb8fbea7ceb8 +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 20 15:10:23 2026 +0800 + + feat: 新增更新资产实名认证策略 + +commit d721c4b8a90eb4bc4a203b46fd463cbad14041fa +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 20 11:45:59 2026 +0800 + + fix: 设备分配代理,虚比例,sim顺序 + +commit c5ee690ccd26bcc15fe661ffc5920efeb63c0421 +Author: sexygoat <1538832180@qq.com> +Date: Sat Apr 18 16:40:41 2026 +0800 + + feat: 新增设备切卡模式 + +commit fd583e81e074c588ba58b7ddb528f72a8b08854d +Author: huang +Date: Sat Apr 18 12:24:18 2026 +0800 + + fix: 修复部署后切换页面 JS chunk 404 白屏问题 + + - main.ts 监听 vite:preloadError,chunk 加载失败时自动刷新一次 + - 新增 ChunkErrorBoundary 组件,捕获 Vue 渲染层 chunk 加载异常 + - App.vue 包裹 ChunkErrorBoundary + - docker/nginx.conf 修复缓存策略:index.html 不缓存,/assets/ 长缓存 immutable + +commit b48d6a1894f3ea42976aa8ec96b6492b92b8a1db +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 17 18:40:54 2026 +0800 + + feat: 新增导入字段,显示实名认证策略字段 + +commit 90b13eb5ec0f795409055ba87a9b9b4ddac016a3 +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 17 16:37:41 2026 +0800 + + fix: 取消关联,居左,店铺列表 + +commit 5adeade9af5fbbe6fa0e7b9f352b1620e6925ff0 +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 17 14:56:53 2026 +0800 + + fix: 移除订单详情ID相关参数,新增iccid/VirtualNo + +commit 0e0c3e18d05cd82ccf5a09737142c6d17c4a8d9b +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 17 10:27:52 2026 +0800 + + feat: 分析页新增权限 + +commit a3bc025636d0aae9915bfb35ca6ea4aa991ae26d +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 16 16:36:27 2026 +0800 + + fix: 卡列表删除一次性佣金和累计充值 + +commit cb3105504ebe4b1398ca3825e4845f6e62b19b49 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 16 10:12:30 2026 +0800 + + fix: 修复排序 + +commit 9617cdd825886b799149e94af01284ef035bd1b7 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 15 17:29:53 2026 +0800 + + fix: 注释停用资产 + +commit 209b5342b92d83f1bca097cd537c94e4942218dc +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 15 17:12:50 2026 +0800 + + feat: ICCID新增设备店铺名称,套餐系列名称 + +commit 1931a096b008a62a4f147d3b3961b99ced2f4087 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 15 10:14:53 2026 +0800 + + feat: ICCID新增设备店铺名称,套餐系列名称 + +commit d373c2e70eef1e0730d4d0066ff7ff5b74efa5da +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 15 09:59:05 2026 +0800 + + feat: ICCID新增复制, 宽度自适应 + +commit b5eb4fdbcec27808a6e32a91b263cf1a5bbc7495 +Author: sexygoat <1538832180@qq.com> +Date: Mon Apr 13 14:35:19 2026 +0800 + + fix: 修复微信配置编辑不传递脱敏 + +commit 1acb9db38e894d99b51636c24e769c8cc88c7b96 +Author: sexygoat <1538832180@qq.com> +Date: Sat Apr 11 17:04:50 2026 +0800 + + fix: 关联账号列表单选框 + +commit 4f02d6faf0984584aff68372713039a192ed9c70 +Author: sexygoat <1538832180@qq.com> +Date: Sat Apr 11 16:51:54 2026 +0800 + + fix: bug + +commit 33e15314ac504fcfec72e9fba4138eeeffde591a +Author: sexygoat <1538832180@qq.com> +Date: Sat Apr 11 12:19:35 2026 +0800 + + bug + +commit 90ae585651ece1536443f494d751768e38a82e84 +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 10 16:54:53 2026 +0800 + + fix(operator): fix operator edit issue + +commit 8b30341d501f79240ca043a67c1ed5bc351066ef +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 10 15:06:28 2026 +0800 + + fix(operator): fix operator edit issue + +commit 2b3119c5497f07aec9d2f4f489be6b8b6fd32683 +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 10 14:00:21 2026 +0800 + + fix(operator): fix operator edit issue + +commit 9a6f085cdead297d5b73bc567307db42cfdb20e2 +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 10 09:50:00 2026 +0800 + + fix(operator): fix operator edit issue + +commit c2c1644799ccbd05c26001e34b829f8f7dafd512 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 9 17:47:32 2026 +0800 + + 修复bug + +commit 472099bf96cc36dd8336226823e8c73a135508d4 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 9 16:56:30 2026 +0800 + + 修改bug + +commit 6a46aeea158a67b11a463d619c1570c8440590d7 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 9 15:57:51 2026 +0800 + + 修改bug + +commit b171e7cc0389d94843cdd3063ea2275c8d9338e3 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 9 15:32:20 2026 +0800 + + 修改bug + +commit 4656d403c21154f970ed80a410828c3fe33ae918 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 9 14:08:25 2026 +0800 + + 修改bug + +commit cb3ba061060462add086a4eea18121765a34fdd5 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 9 13:48:11 2026 +0800 + + 修改bug + +commit cc9d2a85a2e493785dbe56b5b53011b016020b49 +Merge: d1c6588 6a6d3dd +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 8 19:35:20 2026 +0800 + + chore: merge main branch from remote + +commit d1c6588d8fc79c2acbb872a7b1b648eee89b1f8c +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 8 19:31:22 2026 +0800 + + 删除多余代码 + +commit 6a6d3dd3943791ceca28ce6ecfcb0f47dd3d7c4a +Author: huang +Date: Wed Apr 8 11:20:48 2026 +0800 + + 修复: nginx 禁止 index.html 缓存,防止部署后资源 404 + + Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) + + Co-authored-by: Sisyphus + +commit b510b4539f36c2310afbf977fae07d492de5e016 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 8 10:19:25 2026 +0800 + + 修复bug + +commit ff087abd44837a51a1e173428f02445b54bfec0f +Author: sexygoat <1538832180@qq.com> +Date: Fri Apr 3 11:47:11 2026 +0800 + + 修复前端bug + +commit ea14ae92cae67f2e813dd1e2cd852db2a680b266 +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 2 15:17:55 2026 +0800 + + 绑定卡列表操作卡 + +commit 8df7024a454475d6ec30ede3081920df783db02c +Author: sexygoat <1538832180@qq.com> +Date: Thu Apr 2 13:42:57 2026 +0800 + + modify + +commit 411206e039b88c39fdafdca857fe868bee7c14d0 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 1 11:10:13 2026 +0800 + + feat(network_status):停机/正常 + +commit afeb1e7c891757d08ddfe52c8edd6b6ccc11e726 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 1 10:56:26 2026 +0800 + + style(order): 修改订单管理标题 + +commit 0d3fc5ce7f1c8cdda7cb3ca331c41b34e0a80597 +Author: sexygoat <1538832180@qq.com> +Date: Wed Apr 1 10:41:43 2026 +0800 + + package + +commit 01f81c2178fd95b60cdcbea58ee68985778366c2 +Author: sexygoat <1538832180@qq.com> +Date: Tue Mar 31 16:55:54 2026 +0800 + + 新增运营商 + +commit 3372be99b8d2dc1661dad39f453e6ff1b7e85b04 +Author: sexygoat <1538832180@qq.com> +Date: Tue Mar 31 15:13:19 2026 +0800 + + 修复 + +commit 104d62b17d9c1df99a4f614c640b72a3a3cc44e7 +Author: sexygoat <1538832180@qq.com> +Date: Tue Mar 31 10:15:10 2026 +0800 + + 修复: list->items + +commit 36da079d59fc81dd5407bbe039d45742139fe518 +Author: sexygoat <1538832180@qq.com> +Date: Mon Mar 30 18:16:39 2026 +0800 + + 修复详情404 + +commit a05717c2ed1a507572bd869e96a18b6b5d77342c +Author: sexygoat <1538832180@qq.com> +Date: Mon Mar 30 14:59:56 2026 +0800 + + 新增: 轮询管理 + +commit dbe607020791da8b3ad99ec8f86c328612729ea4 +Author: sexygoat <1538832180@qq.com> +Date: Sat Mar 28 18:31:43 2026 +0800 + + modify-bug + +commit d6c23c8bd1265c5f1a681f16b5a9919ea1b72ef3 +Author: sexygoat <1538832180@qq.com> +Date: Tue Mar 24 16:51:21 2026 +0800 + + 搜索放到重置前面 + +commit 2af0346d04dc60eb9e35cff2c7ca742d2635f3c2 +Author: sexygoat <1538832180@qq.com> +Date: Tue Mar 24 16:47:52 2026 +0800 + + 修改资产信息字段排序 + +commit a805c279022814fcbff6073fbf2bd5f0e77706bf +Author: sexygoat <1538832180@qq.com> +Date: Fri Mar 20 14:18:47 2026 +0800 + + 修改资产详情 + +commit 62f828f3142c244a84b7ec493efb592eb86909a2 +Author: sexygoat <1538832180@qq.com> +Date: Fri Mar 20 10:26:57 2026 +0800 + + 修改资产详情 + +commit f06d8c9133dd7d5687826ea3eefe95b63e6e8b73 +Author: sexygoat <1538832180@qq.com> +Date: Thu Mar 19 18:32:02 2026 +0800 + + 新增 + +commit 407287f5386597b053069825277a9144df21b8da +Author: sexygoat <1538832180@qq.com> +Date: Wed Mar 18 15:33:39 2026 +0800 + + 删除资产信息的进度条 + +commit 9fb3367fd7e6fefa213afe22730cc7d4e3a8d5c0 +Author: sexygoat <1538832180@qq.com> +Date: Wed Mar 18 10:47:25 2026 +0800 + + 完善充值代理 + +commit ff67681c29de9f0ea1adf990e6ebe7ac9dc28c5e +Author: sexygoat <1538832180@qq.com> +Date: Tue Mar 17 14:27:17 2026 +0800 + + 修改布局 + +commit e975e6af4bc9f1ac891e3192e018047c24da1599 +Author: sexygoat <1538832180@qq.com> +Date: Tue Mar 17 14:06:38 2026 +0800 + + 新增: 微信配置-代理充值 + +commit f4ccf9ed24bd5d7f9af96e87e1980f3e994c5aa3 +Author: sexygoat <1538832180@qq.com> +Date: Tue Mar 17 09:31:37 2026 +0800 + + 修改bug + +commit 8f315264998a64d198fe9fe1f269d57db33bb00a +Author: sexygoat <1538832180@qq.com> +Date: Sat Mar 14 15:16:21 2026 +0800 + + fix: bug + +commit d43de4cd06c74b0f4910b43bd53c3cc160e7af28 +Author: sexygoat <1538832180@qq.com> +Date: Wed Mar 11 17:09:35 2026 +0800 + + 修改bug + +commit bd45f7a2246a45aea83a2ba0db5fbefaeaea05b6 +Author: sexygoat <1538832180@qq.com> +Date: Sat Mar 7 11:59:16 2026 +0800 + + 详情添加权限 + +commit e73992d253f82be2abb27ad910fa0b76b35afaf3 +Author: sexygoat <1538832180@qq.com> +Date: Sat Mar 7 11:41:15 2026 +0800 + + 弹窗改为跳转链接 + +commit 8fbc321a5e243db46561f9948d9f5e07e0d9a29e +Author: sexygoat <1538832180@qq.com> +Date: Fri Mar 6 17:51:27 2026 +0800 + + 详情修改 + +commit 1ebc0b8929920a7e966db94fd6139b99fce212c1 +Author: sexygoat <1538832180@qq.com> +Date: Fri Mar 6 16:28:58 2026 +0800 + + 新增代理系列授权 + +commit 4d94f7efa6468a677297d7af4aebaf496365138c +Author: sexygoat <1538832180@qq.com> +Date: Fri Mar 6 14:00:22 2026 +0800 + + 套餐系列:梯度佣金,代理授权 + +commit 08d5043b3fb13e0ee56bfa112d21db72f7b5cd61 +Author: sexygoat <1538832180@qq.com> +Date: Wed Mar 4 17:22:47 2026 +0800 + + 将单套餐分配和套餐系列分配改成代理系列授权 + +commit 237eeed87a9fe7700b2f71212cb3f7e8deaf6f33 +Author: sexygoat <1538832180@qq.com> +Date: Tue Mar 3 16:26:04 2026 +0800 + + 修复:原来的统一去了404, 现在加了403, 和部分bug + +commit 7e9acda1ab7baf8060e59e4c051bce8a8f00583f +Author: sexygoat <1538832180@qq.com> +Date: Sat Feb 28 17:46:42 2026 +0800 + + 修改订单管理 + +commit 7b459b5c8d6c39e94e8195e69128e500fa6a6e52 +Author: sexygoat <1538832180@qq.com> +Date: Sat Feb 28 16:49:28 2026 +0800 + + 修改订单管理 + +commit ce1032c7f9bd3651f9ea67d3e0bdc722feaac42b +Author: sexygoat <1538832180@qq.com> +Date: Sat Feb 28 11:04:32 2026 +0800 + + 完善按钮和详情权限 + +commit 4470a4ef04f43daa82f3e170a7e70975ca2d341d +Author: sexygoat <1538832180@qq.com> +Date: Fri Feb 27 17:40:02 2026 +0800 + + 修改: bug + +commit f1cb1e53c87b7395dbb127933d13f834c1f04ba2 +Author: sexygoat <1538832180@qq.com> +Date: Thu Feb 26 17:34:11 2026 +0800 + + 修改: 权限重复 + +commit 3570b062a1aa898362cd071301a6ab4204484ecd +Author: sexygoat <1538832180@qq.com> +Date: Thu Feb 26 10:06:11 2026 +0800 + + 修改工单: 右键 给角色分配权限 + +commit dccad819cfb23e262e8d5f7a2fee95ac0807bfb9 +Author: sexygoat <1538832180@qq.com> +Date: Wed Feb 25 16:14:38 2026 +0800 + + 修改工单 + +commit ca3184857e6a01a24ca6d583251cb3ca143cefd9 +Author: sexygoat <1538832180@qq.com> +Date: Mon Feb 9 10:49:52 2026 +0800 + + fetch(modify):账号列表合并 + +commit e8700c2585a81ea917aaba01600f2acd990ec5ac +Author: sexygoat <1538832180@qq.com> +Date: Mon Feb 9 10:22:23 2026 +0800 + + fetch(modify):修改账号列表中的分配角色弹窗 + +commit b94c043a56f6b8413329d13748b46a512a0cd0c4 +Author: sexygoat <1538832180@qq.com> +Date: Thu Feb 5 17:22:41 2026 +0800 + + fetch(modify):修改bug + +commit d97dc5f007b6ec336b675f4e5682d12d22fc9467 +Author: sexygoat <1538832180@qq.com> +Date: Wed Feb 4 18:14:52 2026 +0800 + + fetch(modify):修改套餐接口 + +commit 20e8c13e61c3e5d96cfc60568caa3054142255e2 +Author: sexygoat <1538832180@qq.com> +Date: Tue Feb 3 17:58:58 2026 +0800 + + fetch(modify):修改分为元 + +commit 192c6f1d2612997f18bfdd4e172bfe368cf02776 +Author: sexygoat <1538832180@qq.com> +Date: Tue Feb 3 17:20:50 2026 +0800 + + fetch(modify):完善按钮权限 + +commit de9753f42d111db3b59c176a3d79bc2b1fc7695b +Author: sexygoat <1538832180@qq.com> +Date: Tue Feb 3 14:39:45 2026 +0800 + + fetch(modify):修复BUG + +commit 2c6fe4375b072307282462db96a68ed31dd268e6 +Author: sexygoat <1538832180@qq.com> +Date: Tue Feb 3 10:04:59 2026 +0800 + + fetch(modify):修复API的URL + +commit 06cde977ad8382e44a2a884778af098e94fb4969 +Author: sexygoat <1538832180@qq.com> +Date: Mon Feb 2 17:08:49 2026 +0800 + + fetch(modify):修复角色分配权限 + +commit f62437379d2449d2c0bae361f6138ff8f7649f35 +Author: sexygoat <1538832180@qq.com> +Date: Mon Feb 2 14:35:33 2026 +0800 + + fetch(modify):隐藏换卡申请 + +commit c31fdaa74811f5d8e701aab4b2af9fe5f0ca225c +Author: sexygoat <1538832180@qq.com> +Date: Mon Feb 2 14:30:24 2026 +0800 + + fetch(modify):隐藏我的网卡 + +commit 4d2f38c75b58bed72c6f0cf8d7e11ac189430102 +Author: sexygoat <1538832180@qq.com> +Date: Mon Feb 2 11:51:59 2026 +0800 + + fetch(modify):账号管理 + +commit 78bd9fba8531309d3297471731ef4b1e1950732e +Author: sexygoat <1538832180@qq.com> +Date: Mon Feb 2 10:57:31 2026 +0800 + + fetch(modify):完善ioT卡管理 + +commit e08c962c40cd3dbb99b45d7e4b13e7006b89b14d +Author: sexygoat <1538832180@qq.com> +Date: Mon Feb 2 10:27:03 2026 +0800 + + fetch(modify):完善设备管理 + +commit 882feaf3ff8b0ff1967565dbec1d07d9fe8623b9 +Author: sexygoat <1538832180@qq.com> +Date: Sat Jan 31 18:12:58 2026 +0800 + + fetch(modify):修改bug + +commit ecb79dae432e08d658637ef93242d8308fc87dcb +Author: sexygoat <1538832180@qq.com> +Date: Sat Jan 31 16:33:21 2026 +0800 + + fetch(modify):修改bug + +commit 16d53709efc9b029360867dccae740c9ba0f3170 +Author: sexygoat <1538832180@qq.com> +Date: Sat Jan 31 11:37:11 2026 +0800 + + fetch(modify):修改设备和lot卡下载模板 + +commit 31440b29045412a9db357c09d38e7413f1fd9533 +Author: sexygoat <1538832180@qq.com> +Date: Sat Jan 31 11:18:37 2026 +0800 + + fetch(modify):修改原来的bug + +commit 8a1388608c49f2050be060eb8bfd5c2b175fb455 +Author: sexygoat <1538832180@qq.com> +Date: Fri Jan 30 15:39:19 2026 +0800 + + fetch(add): 新增企业设备授权 + +commit 841cf0442bb021ae58c1dd45c3f97bd025a8a83b +Author: sexygoat <1538832180@qq.com> +Date: Thu Jan 29 15:43:45 2026 +0800 + + fetch(add): 订单管理-企业设备 + +commit 1812b7a6c4aa58a009d3d99084e3e7ecd31641e0 +Author: sexygoat <1538832180@qq.com> +Date: Tue Jan 27 16:47:49 2026 +0800 + + fetch(modify): 中英文以及黑屏 + +commit 6127b21c2c0524d61272363257692e8e8dd6cff9 +Author: sexygoat <1538832180@qq.com> +Date: Tue Jan 27 16:06:48 2026 +0800 + + fetch(add): 运营商管理 + +commit c07e481b5babcdc36eb95070602a82373b835a22 +Author: sexygoat <1538832180@qq.com> +Date: Tue Jan 27 10:48:59 2026 +0800 + + chore: remove unused aws-sdk dependency + + Removed aws-sdk as it was not being used in the codebase. + This resolves the Docker build error related to lockfile mismatch. + + 🤖 Generated with [Claude Code](https://claude.com/claude-code) + + Co-Authored-By: Claude + +commit 5c6312c4074ff47e62d7ca2847da2adc6d388947 +Author: sexygoat <1538832180@qq.com> +Date: Tue Jan 27 09:18:45 2026 +0800 + + fetch(add): 新增 + +commit 0eed8244e5c94700915baff6d1b97c333be2dfb2 +Author: sexygoat <1538832180@qq.com> +Date: Sat Jan 24 16:18:30 2026 +0800 + + fetch(add): 分配记录,批量分配/回收, 单卡列表, 任务列表, 导入ICCID + +commit c69124a819671c47896cd4152e1551a545e796b5 +Author: sexygoat <1538832180@qq.com> +Date: Fri Jan 23 17:24:07 2026 +0800 + + fetch(add): 账户管理 + +commit b53fea43c66ed5ad5a80b65db464d519d50ae6ef +Author: sexygoat <1538832180@qq.com> +Date: Fri Jan 23 17:18:24 2026 +0800 + + fetch(add): 账户管理 + +commit 339abca4c035511966e8e9f5ecae3b5fc60410f8 +Author: sexygoat <1538832180@qq.com> +Date: Thu Jan 22 18:04:32 2026 +0800 + + feat(login): 删除还没有账号? 注册 + +commit 13bdee2899cd282aa106c34392a193b4a6a51769 +Author: huang +Date: Thu Jan 22 17:06:34 2026 +0800 + + 忽略类型检测 + +commit 251a8f6a839128146913a2900b52bc2675b3adba +Author: huang +Date: Thu Jan 22 17:00:57 2026 +0800 + + 部署 + +commit 099e3ec78bbec91e56064e939e7e720b0e53b0a2 +Author: sexygoat <1538832180@qq.com> +Date: Thu Jan 22 16:46:50 2026 +0800 + + first-commmit + +commit 222e5bb11a358dc836d3b34ab9273a8f45d7a228 +Author: sexygoat <1538832180@qq.com> +Date: Thu Jan 22 16:35:33 2026 +0800 + + Initial commit: One Pipe System + + 完整的管理系统,包含账户管理、卡片管理、套餐管理、财务管理等功能模块。 + + 🤖 Generated with [Claude Code](https://claude.com/claude-code) + + Co-Authored-By: Claude diff --git a/src/api/modules/shopPackageAllocation.ts b/src/api/modules/shopPackageAllocation.ts index 3fcbc6b..ebbaae1 100644 --- a/src/api/modules/shopPackageAllocation.ts +++ b/src/api/modules/shopPackageAllocation.ts @@ -5,8 +5,10 @@ import { BaseService } from '../BaseService' import type { BaseResponse, + CreateShopPackageBatchAllocationsRequest, CreateShopPackageAllocationRequest, ShopPackageAllocationResponse, + ShopPackageBatchAllocationsResponse, UpdateShopPackageAllocationExpiryBaseRequest } from '@/types/api' @@ -24,6 +26,19 @@ export class ShopPackageAllocationService extends BaseService { ) } + /** + * 批量创建店铺套餐分配 + * POST /api/admin/shop-package-batch-allocations + */ + static createShopPackageBatchAllocations( + data: CreateShopPackageBatchAllocationsRequest + ): Promise> { + return this.post>( + '/api/admin/shop-package-batch-allocations', + data + ) + } + /** * 更新店铺套餐分配生效条件 * PATCH /api/admin/shop-package-allocations/{id}/expiry-base diff --git a/src/types/api/packageManagement.ts b/src/types/api/packageManagement.ts index 453f02c..43c6dc4 100644 --- a/src/types/api/packageManagement.ts +++ b/src/types/api/packageManagement.ts @@ -135,10 +135,23 @@ export interface ShopPackageAllocationResponse extends PackageAllocationExpiryBa cost_price: number } +// 批量创建店铺套餐分配请求 +export interface CreateShopPackageBatchAllocationsRequest { + shop_id: number + package_ids: number[] + cost_price?: number + expiry_base_override: PackageAllocationExpiryBaseOverride | null +} + +// 批量创建店铺套餐分配响应 +export interface ShopPackageBatchAllocationsResponse { + allocations: ShopPackageAllocationResponse[] +} + /** * 套餐响应 */ -export interface PackageResponse { +export interface PackageResponse extends PackageAllocationExpiryBaseFields { id: number package_code: string package_name: string @@ -323,7 +336,8 @@ export interface CreateShopSeriesGrantRequest { commission_tiers?: CommissionTier[] // 梯度配置列表,梯度模式时必填 enable_force_recharge?: boolean // 是否启用强充 force_recharge_amount?: number // 强充金额(分) - packages?: GrantPackageInfo[] // 套餐列表 + packages?: GrantPackageItem[] // 套餐列表 + expiry_base_override: PackageAllocationExpiryBaseOverride | null } /** @@ -342,6 +356,7 @@ export interface UpdateShopSeriesGrantRequest { export interface GrantPackageItem { package_id?: number // 套餐ID cost_price?: number // 成本价(分) + expiry_base_override?: PackageAllocationExpiryBaseOverride | null remove?: boolean | null // 是否删除该套餐授权(true=删除) } @@ -350,4 +365,5 @@ export interface GrantPackageItem { */ export interface ManageGrantPackagesRequest { packages?: GrantPackageItem[] | null // 套餐操作列表 + expiry_base_override: PackageAllocationExpiryBaseOverride | null // 新增套餐统一生效条件 } diff --git a/src/views/package-management/package-list/detail.vue b/src/views/package-management/package-list/detail.vue index 5510ce7..51eec36 100644 --- a/src/views/package-management/package-list/detail.vue +++ b/src/views/package-management/package-list/detail.vue @@ -168,6 +168,14 @@ return data.expiry_base === 'from_activation' ? '实名激活时起算' : '购买时起算' } }, + { label: '套餐默认生效条件', prop: 'default_expiry_base_name' }, + { + label: '分配覆盖生效条件', + prop: 'expiry_base_override_name', + formatter: (_: unknown, data: PackageResponse) => + data.expiry_base_override_name || '跟随套餐默认' + }, + { label: '最终生效条件', prop: 'effective_expiry_base_name' }, { label: '状态', formatter: (_: unknown, data: PackageResponse) => { diff --git a/src/views/package-management/package-list/index.vue b/src/views/package-management/package-list/index.vue index 10685c2..dc2af0b 100644 --- a/src/views/package-management/package-list/index.vue +++ b/src/views/package-management/package-list/index.vue @@ -625,6 +625,13 @@ return map[row.expiry_base] || row.expiry_base || '-' } }, + { label: '套餐默认生效条件', prop: 'default_expiry_base_name' }, + { + label: '分配覆盖生效条件', + prop: 'expiry_base_override_name', + formatter: (row: PackageResponse) => row.expiry_base_override_name || '跟随套餐默认' + }, + { label: '最终生效条件', prop: 'effective_expiry_base_name' }, ...(canUpdatePackageShelfStatus ? [{ label: '上架状态', prop: 'shelf_status' }] : []), ...(canUpdatePackageStatus ? [{ label: '状态', prop: 'status' }] : []), { label: '创建时间', prop: 'created_at' }, diff --git a/src/views/package-management/series-grants/detail.vue b/src/views/package-management/series-grants/detail.vue index e7ab017..90128c9 100644 --- a/src/views/package-management/series-grants/detail.vue +++ b/src/views/package-management/series-grants/detail.vue @@ -158,7 +158,7 @@ @@ -291,7 +291,7 @@ {{ packageForm.default_expiry_base_name || '-' }} - {{ packageForm.expiry_base_override_name || '-' }} + {{ packageForm.expiry_base_override_name || '跟随套餐默认' }} {{ packageForm.effective_expiry_base_name || '-' }} @@ -593,14 +593,17 @@ submitLoading.value = true try { if (packageDialogType.value === 'add') { - await ShopPackageAllocationService.createShopPackageAllocation({ - shop_id: detailData.value!.shop_id, - package_id: packageForm.value.package_id!, - cost_price: Math.round(packageForm.value.cost_price_yuan * 100), + await ShopSeriesGrantService.manageGrantPackages(grantId, { expiry_base_override: packageForm.value.expiry_base_override === 'default' ? null - : packageForm.value.expiry_base_override + : packageForm.value.expiry_base_override, + packages: [ + { + package_id: packageForm.value.package_id, + cost_price: Math.round(packageForm.value.cost_price_yuan * 100) + } + ] }) } else { const expiryBaseChanged = @@ -617,22 +620,24 @@ cost_price: Math.round(packageForm.value.cost_price_yuan * 100) } ] - await Promise.all([ - ShopSeriesGrantService.manageGrantPackages(grantId, { packages }), - ...(expiryBaseChanged - ? [ - ShopPackageAllocationService.updateShopPackageAllocationExpiryBase( - packageForm.value.allocation_id!, - { - expiry_base_override: - packageForm.value.expiry_base_override === 'default' - ? null - : packageForm.value.expiry_base_override - } - ) - ] - : []) - ]) + if (expiryBaseChanged) { + await ShopPackageAllocationService.updateShopPackageAllocationExpiryBase( + packageForm.value.allocation_id!, + { + expiry_base_override: + packageForm.value.expiry_base_override === 'default' + ? null + : packageForm.value.expiry_base_override + } + ) + } + await ShopSeriesGrantService.manageGrantPackages(grantId, { + expiry_base_override: + packageForm.value.expiry_base_override === 'default' + ? null + : packageForm.value.expiry_base_override, + packages + }) } ElMessage.success(packageDialogType.value === 'add' ? '添加成功' : '更新成功') packageDialogVisible.value = false @@ -667,7 +672,10 @@ } ] - await ShopSeriesGrantService.manageGrantPackages(detailData.value.id, { packages }) + await ShopSeriesGrantService.manageGrantPackages(detailData.value.id, { + expiry_base_override: row.expiry_base_override ?? null, + packages + }) ElMessage.success('删除成功') // 刷新详情数据 diff --git a/src/views/package-management/series-grants/index.vue b/src/views/package-management/series-grants/index.vue index f406955..e033e51 100644 --- a/src/views/package-management/series-grants/index.vue +++ b/src/views/package-management/series-grants/index.vue @@ -171,18 +171,6 @@ {{ formatSuggestedRetailPrice(pkg.suggested_retail_price) }}) -
-
生效条件
- - - - - -
删除 @@ -191,7 +179,16 @@
设置每个套餐的成本价(单位:元),不能低于成本价,不能高于建议售价的50%溢价
-
生效条件仅影响后续新订单,不影响已购买套餐
+
+ + + + + + +
本次所有授权套餐共用此选择,仅影响后续新订单,不影响已购买套餐
@@ -560,7 +557,6 @@ import { useRouter } from 'vue-router' import { ShopSeriesGrantService, - ShopPackageAllocationService, PackageSeriesService, ShopService, PackageManageService @@ -787,12 +783,12 @@ force_recharge_amount: undefined, force_recharge_locked: false, // 强充是否被套餐系列锁定 series_force_recharge_amount: 0, // 系列强充金额(元) + expiry_base_override: 'default' as PackageAllocationExpiryBaseOverride | 'default', packages: [] as Array<{ package_id: number cost_price: number original_cost_price?: number suggested_retail_price?: number - expiry_base_override: PackageAllocationExpiryBaseOverride | 'default' }> // 套餐配置 }) @@ -1153,8 +1149,7 @@ suggested_retail_price: pkg?.suggested_retail_price !== undefined && pkg?.suggested_retail_price !== null ? pkg.suggested_retail_price / 100 - : undefined, - expiry_base_override: 'default' + : undefined }) } }) @@ -1581,8 +1576,7 @@ pkgOption?.suggested_retail_price !== undefined && pkgOption?.suggested_retail_price !== null ? pkgOption.suggested_retail_price / 100 - : undefined, - expiry_base_override: pkg.expiry_base_override ?? 'default' + : undefined } }) selectedPackageIds.value = detail.packages.map((pkg) => pkg.package_id) @@ -1616,6 +1610,7 @@ form.force_recharge_amount = undefined form.force_recharge_locked = false form.packages = [] + form.expiry_base_override = 'default' selectedPackageIds.value = [] packageOptions.value = [] // 清空套餐选项 } @@ -1639,6 +1634,7 @@ form.series_name = '' form.shop_name = '' form.allocator_shop_name = '' + form.expiry_base_override = 'default' form.enable_one_time_commission = false form.commission_type = 'fixed' form.one_time_commission_amount = undefined @@ -1649,6 +1645,7 @@ form.force_recharge_amount = undefined form.force_recharge_locked = false form.packages = [] + form.expiry_base_override = 'default' selectedPackageIds.value = [] } @@ -1730,15 +1727,12 @@ data.force_recharge_amount = 0 } - // 新增系列授权后,套餐通过独立分配接口创建,确保显式传递生效条件覆盖值。 - const packageAllocations = form.packages.map((pkg: any) => ({ + const packageItems = form.packages.map((pkg: any) => ({ package_id: pkg.package_id, - cost_price: Math.round((pkg.cost_price ?? 0) * 100), - expiry_base_override: - pkg.expiry_base_override === 'default' ? null : pkg.expiry_base_override + cost_price: Math.round((pkg.cost_price ?? 0) * 100) })) - if (packageAllocations.length > 0) { + if (packageItems.length > 0) { // 验证是否包含赠送套餐 for (const pkg of form.packages) { const pkgInfo = packageOptions.value.find((p) => p.id === pkg.package_id) @@ -1776,20 +1770,10 @@ // 新增时需要必填字段 data.series_id = form.series_id data.shop_id = form.shop_id + data.expiry_base_override = + form.expiry_base_override === 'default' ? null : form.expiry_base_override + data.packages = packageItems await ShopSeriesGrantService.createShopSeriesGrant(data) - await Promise.all( - packageAllocations.map( - (pkg: { - package_id: number - cost_price: number - expiry_base_override: PackageAllocationExpiryBaseOverride | null - }) => - ShopPackageAllocationService.createShopPackageAllocation({ - shop_id: data.shop_id, - ...pkg - }) - ) - ) ElMessage.success('新增成功') } else { // 编辑时调用更新接口 diff --git a/src/views/package-management/series-grants/packages.vue b/src/views/package-management/series-grants/packages.vue index e09ad19..7c8afae 100644 --- a/src/views/package-management/series-grants/packages.vue +++ b/src/views/package-management/series-grants/packages.vue @@ -47,7 +47,7 @@
@@ -144,7 +144,7 @@ {{ packageForm.default_expiry_base_name || '-' }} - {{ packageForm.expiry_base_override_name || '-' }} + {{ packageForm.expiry_base_override_name || '跟随套餐默认' }} {{ packageForm.effective_expiry_base_name || '-' }} @@ -211,7 +211,6 @@ const grantId = computed(() => Number(route.params.id)) const seriesId = ref(0) - const shopId = ref(0) const grantName = ref('') const packageList = ref([]) const availablePackages = ref([]) @@ -325,7 +324,6 @@ if (res.code === 0) { packageList.value = res.data.packages || [] seriesId.value = res.data.series_id - shopId.value = res.data.shop_id grantName.value = `${res.data.series_name} - ${res.data.shop_name}` } } catch (error) { @@ -437,14 +435,12 @@ } const costPrice = Math.round(currentCostPriceYuan * 100) if (packageDialogType.value === 'add') { - await ShopPackageAllocationService.createShopPackageAllocation({ - shop_id: shopId.value, - package_id: packageForm.value.package_id!, - cost_price: costPrice, + await ShopSeriesGrantService.manageGrantPackages(grantId.value, { expiry_base_override: packageForm.value.expiry_base_override === 'default' ? null - : packageForm.value.expiry_base_override + : packageForm.value.expiry_base_override, + packages: [{ package_id: packageForm.value.package_id, cost_price: costPrice }] }) } else { const expiryBaseChanged = @@ -458,22 +454,24 @@ const packages: GrantPackageItem[] = [ { package_id: packageForm.value.package_id, cost_price: costPrice } ] - await Promise.all([ - ShopSeriesGrantService.manageGrantPackages(grantId.value, { packages }), - ...(expiryBaseChanged - ? [ - ShopPackageAllocationService.updateShopPackageAllocationExpiryBase( - packageForm.value.allocation_id!, - { - expiry_base_override: - packageForm.value.expiry_base_override === 'default' - ? null - : packageForm.value.expiry_base_override - } - ) - ] - : []) - ]) + if (expiryBaseChanged) { + await ShopPackageAllocationService.updateShopPackageAllocationExpiryBase( + packageForm.value.allocation_id!, + { + expiry_base_override: + packageForm.value.expiry_base_override === 'default' + ? null + : packageForm.value.expiry_base_override + } + ) + } + await ShopSeriesGrantService.manageGrantPackages(grantId.value, { + expiry_base_override: + packageForm.value.expiry_base_override === 'default' + ? null + : packageForm.value.expiry_base_override, + packages + }) } packageDialogVisible.value = false await fetchPackageList() @@ -501,7 +499,10 @@ remove: true } ] - await ShopSeriesGrantService.manageGrantPackages(grantId.value, { packages }) + await ShopSeriesGrantService.manageGrantPackages(grantId.value, { + expiry_base_override: row.expiry_base_override ?? null, + packages + }) await fetchPackageList() } catch (error) { console.error(error)