100 Commits
Author SHA1 Message Date
dujiao-next 41b86260dc Merge branch 'feat/invite-registration' 2026-10-11 14:43:43 +08:00
dujiao-next c5f5511e53 feat: 新增邀请码注册功能 2026-10-11 14:43:43 +08:00
dujiao-next 087e9fbd1d Merge remote-tracking branch 'github/main' 2026-10-11 13:34:30 +08:00
dujiao-next d31c9a983e test: 补充佣金重试消费、子订单退回钱包受限父订单、登录凭证绑定分销站点的测试 2026-10-11 13:30:41 +08:00
dujiao-next 3b7e66b542 fix: 验证码邮件发送失败时删除该记录,不占用发送间隔也不顶替上一封有效验证码 2026-10-11 13:28:46 +08:00
dujiao-next 95bff49a92 fix: 上游拒绝取消已付款采购单时给出明确提示,并补齐采购单错误文案三语 2026-10-11 13:27:27 +08:00
dujiao-next 290ea27ba3 fix: 佣金重试时订单已退款或取消则不再生成佣金 2026-10-11 13:25:33 +08:00
dujiao-next 3db2784268 fix: 采购单状态在下单途中被回调推进或被取消时仍补记上游订单号,取消的告警人工处理 2026-10-11 13:24:16 +08:00
dujiao-next 3e7885b137 fix: 本地订单已退款或取消时不再向上游提交采购单 2026-10-11 13:23:13 +08:00
dujiao-next e5e80de0cf fix: 注册/忘记密码/发送验证码限流放宽为独立参数,避免共享 IP 用户被成批误封 2026-10-11 13:22:20 +08:00
dujiao-next 263d70320a refactor: 合并传输层重复的登录记录、租户解析与请求协议函数 2026-10-11 12:52:40 +08:00
dujiao-next 67355271bd refactor: 验证码/Google/Telegram 登录设置处理器合并公共读写流程 2026-10-11 12:51:06 +08:00
dujiao-next 67f6c540ea refactor: settings 内部布尔解析复用 settingsvalue.ParseBool 2026-10-11 12:50:19 +08:00
dujiao-next 807bda7602 refactor: 删除 identity 用户存储中与 memberlevel 重复的会员等级写入方法 2026-10-11 12:49:26 +08:00
dujiao-next 812a0581ba refactor: 删除迁移守卫中已被上级目录覆盖的冗余路径 2026-10-11 12:48:08 +08:00
dujiao-next f19b8a7d80 refactor: 各模块复制的分页与方言查询辅助函数统一改用 gormutil 2026-10-11 12:47:38 +08:00
dujiao-next 568e83d4dc refactor: 删除无人调用的死代码 2026-10-11 12:45:55 +08:00
dujiao-next 6ba6e1907c fix: 同一对接站点批量导入加互斥锁,超时重试不再并发导入重复商品 2026-10-11 12:44:17 +08:00
dujiao-next cc12551c04 fix: 支付后佣金创建失败时投递可重试任务,避免推广佣金永久丢失 2026-10-11 12:42:58 +08:00
dujiao-next 70168cbe8d fix: 通用设置接口拒绝有专用接口的配置键,避免跳过校验与运行时生效 2026-10-11 12:40:41 +08:00
dujiao-next ff9d9a1f61 fix: 禁止后台单独取消子订单,避免父订单支付后子订单被复活或余额未退 2026-10-11 12:39:20 +08:00
dujiao-next 495a0ce0f0 fix: 采购单列表并发查询上游退款并设整页超时,上游变慢时列表页不再超时 2026-10-11 12:38:43 +08:00
dujiao-next ada4155bed fix: 分销站公共配置不再下发主站自定义脚本 2026-10-11 12:37:20 +08:00
dujiao-next 8acae264c2 fix: 启用 2FA 与命令行重置管理员密码/2FA 后清理鉴权缓存,旧令牌立即失效 2026-10-11 12:36:40 +08:00
dujiao-next 94aa8b477c fix: 上游图片仅下载同主机地址并限制大小与扩展名,防止 SSRF 与写满磁盘 2026-10-11 12:35:33 +08:00
dujiao-next 09fb643fce fix: 巡检补投停滞的待提交采购单,子订单采购失败不再阻断其余子订单 2026-10-11 12:34:21 +08:00
dujiao-next 53631cf4f4 fix: 超时取消订单任务读库失败时交给队列重试,避免预占库存永久不释放 2026-10-11 12:33:12 +08:00
dujiao-next fbfdc008d1 fix: 上游商品增量列表纳入 SKU 库存与卡密变化,下游增量同步能及时感知库存 2026-10-11 12:32:47 +08:00
dujiao-next 0c045b201a fix: 用户登录凭证绑定签发站点,分销站凭证不能在主站或其他分销站使用 2026-10-11 12:31:34 +08:00
dujiao-next b942773f21 fix: 子订单退款计入并受限于父订单可退金额,防止父子订单重复退款 2026-10-11 12:27:09 +08:00
dujiao-next 14a403e2b1 fix: 采购单巡检加周期锁防多 worker 重复执行,分页覆盖全部已接单并按单限频告警 2026-10-11 12:25:29 +08:00
dujiao-next 06ff48dc18 fix: 采购单状态改为比较后再写,防止回调与提交/轮询并发导致状态回退和重复交付通知 2026-10-11 12:23:32 +08:00
dujiao-next 57af7c6714 fix: 编辑商品未改库存时保留实时库存,避免覆盖下单预占导致超卖 2026-10-11 12:21:36 +08:00
dujiao-next 8f2b7039e4 fix: 采购单按配置间隔延迟重试,上游明确拒单按错误码判断是否重试 2026-10-11 12:18:22 +08:00
dujiao-next 2ae92e8ba4 fix: 余额全额支付时同步入账分销利润 2026-10-11 12:17:16 +08:00
dujiao-next 2f437a39c0 fix: 验证码原子占用尝试次数并先落库后发信,注册/忘记密码/发送验证码接入限流 2026-10-11 12:16:08 +08:00
dujiao-next 3ae53014f2 fix: 上传目录所有文件禁止执行脚本,防止同源存储型 XSS 2026-10-11 12:13:57 +08:00
dujiao-next bc076c984a fix: 上游同一下游单号的旧单已取消时允许重新下单,修复余额不足后重试永远失败 2026-10-11 12:13:33 +08:00
dujiao-next ea785ed773 fix: 采购单已被上游接单时,上游取消失败不再本地标记取消 2026-10-11 12:12:39 +08:00
dujiao-next 71ea31ddc5 fix: 禁止后台取消已支付订单,避免退回钱包与释放已消耗库存 2026-10-11 12:11:18 +08:00
dujiao-next f627efce94 feat: 后台商品支持批量设置前台库存展示模式 2026-10-11 12:09:13 +08:00
dujiao-next 5bd0ce93d6 feat: 导入上游商品时优先沿用上游 slug 2026-10-11 12:09:13 +08:00
dujiao-next 291a2ae2b6 fix: 商品 slug 查重计入已删除商品,避免撞唯一索引报笼统错误 2026-10-11 12:09:13 +08:00
dujiao-next f4a06ff366 fix: 限制用户昵称长度并禁止 HTML 敏感字符 2026-10-11 11:25:18 +08:00
dujiao-next 7d2eb8db86 fix: 统一主站与分销站 Telegram/WhatsApp 联系方式校验规则 2026-10-08 10:27:35 +08:00
dujiao-next f61740195c fix: 分销站展示 Email 与客服链接并不再回退主站联系方式 2026-10-08 10:22:32 +08:00
dujiao-next a461338815 fix: 修复上游映射商品交付表单被清空、隐藏或丢弃导致付款后采购失败 2026-10-08 10:08:03 +08:00
dujiao-next b20da89eef fix: 上游分类数量统计不再阻塞列表并为全量翻页增加页数上限 2026-10-06 18:42:09 +08:00
dujiao-next 98ab4db98f docs: 新增 AI 编码助手通用规范 AGENTS.md 2026-10-06 18:42:09 +08:00
dujiao-next c328771700 fix: 批发价清理按 SKU ID 保留并改为 store 层禁止级联保存关联 2026-10-06 18:18:09 +08:00
dujiao-next 9253bbbe73 fix: validate numeric id in store GetByID 2026-10-05 23:29:37 +08:00
dujiao-next 47eda40374 Merge remote-tracking branch 'github/main' 2026-09-15 22:19:04 +08:00
dujiao-next 19654a3849 feat(router): 支付回调、上游回调、渠道 API、礼品卡兑换增加限流 2026-09-15 22:17:40 +08:00
dujiao-next 8d73eb723b fix(downstream): 回调客户端只连接公网地址且不跟随重定向 2026-09-15 22:17:40 +08:00
dujiao-next 9f8579ca93 fix(upstream): 鉴权中间件只更新 last_used_at 单列,限流 key 绑定来源 IP 2026-09-15 22:17:40 +08:00
dujiao-next f517f12b53 fix(procurement): 上游回调增加状态机守卫,回调 body 限 1MB,密钥解密失败直接拒绝 2026-09-15 22:17:40 +08:00
dujiao-next 393079aa37 fix(auth): 注册与换绑邮箱拒绝 Telegram 占位邮箱 2026-09-15 22:17:39 +08:00
dujiao-next bb3564fbf1 fix(order): 取消订单事务内加锁复核状态,用户取消回滚优惠券,游客订单密码最少 6 位 2026-09-15 22:17:39 +08:00
dujiao-next 2f870d5e18 fix(payment): Stripe checkout 以 payment_status 判定成功,网关验签改为常量时间比较并拒绝空密钥 2026-09-15 22:17:39 +08:00
dujiao-next bbe1b2786c fix: 增强svg图片格式校验 2026-09-15 20:38:06 +08:00
dujiao-next 47cc6207c6 fix: 归属校验:采购单必须属于本次认证的连接,且上游订单号需与登记值一致 2026-09-02 14:02:24 +08:00
dujiao-next f57247b4ee fix: 增强订单履约校验 2026-08-27 20:46:42 +08:00
dujiao-next 1b761b9122 fix: 优化支付页面相关逻辑,修复已知问题 2026-08-07 15:58:08 +08:00
dujiao-next 041c0e4037 fix: 修复订单风控死锁bug issues#271 2026-08-05 17:33:59 +08:00
dujiao-next 35c5fece51 feat: 去掉订单超时/取消等邮件通知,减少打扰 2026-08-05 14:45:57 +08:00
dujiao-next 7d6946959a fix: 后台修改商品价格后购物车仍显示本地缓存旧价 issues#268 2026-08-05 13:19:49 +08:00
dujiao-next 269ef8de02 fix: 快速购买弹窗首次打开不执行入场动画 issues#270 2026-08-05 13:11:03 +08:00
dujiao-next 513619eb94 feat: 增强订单风控配置,主要针对游客下单 2026-08-05 11:27:07 +08:00
dujiao-next 2bc4e7512f update README.md 2026-08-04 14:55:12 +08:00
dujiao-next 0e052be3f2 fix: satisfy installer shellcheck 2026-08-04 10:03:41 +08:00
dujiao-next 29619a9fed feat: add official installation manager 2026-08-03 14:36:05 +08:00
dujiao-next a47d5f4473 update README.md 2026-07-30 16:40:18 +08:00
dujiao-next 4e5808831c feat: add Google account sign-in 2026-07-30 15:18:28 +08:00
dujiao-next f8fbd0ab10 Merge remote-tracking branch 'github/main' 2026-07-30 11:26:02 +08:00
dujiao-next 1fecc04ed8 fix: 修复启动横幅测试断言与新标签文案不匹配 2026-07-30 11:24:52 +08:00
dujiao-next a2dc3f6965 Brand Partners (Sponsors) 2026-07-29 17:05:27 +08:00
dujiao-next d321af232b fix: 优化启动界面信息展示 2026-07-29 13:23:14 +08:00
dujiao-next 1f38205747 fix: 移除启动界面的前端仓库地址 2026-07-29 13:12:31 +08:00
dujiao-next a3450c063f fix: 修复游客订单详情在存储受限时无法打开 2026-07-29 11:27:50 +08:00
dujiao-next a619ffbcd0 fix: isolate white-label email branding 2026-07-28 15:17:02 +08:00
dujiao-next fd0cb60950 test: 合并游客凭据 PostgreSQL 测试以满足目录文件预算 2026-07-27 18:16:39 +08:00
dujiao-next 9f8dc02fee fix: 修复游客凭据回填在 PostgreSQL 上的参数编码失败 2026-07-27 17:41:18 +08:00
dujiao-next 048d8688f7 fix(web): 内嵌 SPA 入口禁用长期缓存,hash 资源改为强缓存 2026-07-27 15:21:47 +08:00
dujiao-next 7ee810dd83 docs: 镜像名由 api 改为 dujiao-next 2026-07-27 14:37:30 +08:00
dujiao-next 94fd2b501d fix: 升级构建镜像 Go 版本至 1.26.5 2026-07-27 14:20:07 +08:00
dujiao-next 4e4d5bbc12 feat: 加固支付安全边界并优化 DujiaoPay 渠道配置 2026-07-27 13:59:31 +08:00
dujiao-next 87cc68b558 fix(selfupdate): 修复一键升级的发布阻断、release notes XSS 与回滚安全缺陷 2026-07-26 20:37:39 +08:00
dujiao-next 85dc20d9e0 feat(system): 支持后台从 GitHub Release 一键升级二进制 2026-07-26 17:41:42 +08:00
dujiao-next 4611e8bf9d docs: 完善 README 目录结构与架构说明 2026-07-26 16:55:59 +08:00
dujiao-next d98a78a1f7 fix(user): vault 模板渲染自定义导航与页脚配置并修复浮层配色 2026-07-26 16:46:06 +08:00
dujiao-next 8842cabe78 build: ship a single fullstack binary and docker image 2026-07-26 15:56:09 +08:00
dujiao-next 7ec666fa0e fix(web): keep reserved paths 404 instead of falling back to the SPA 2026-07-26 15:56:09 +08:00
dujiao-next 02d7f901a8 fix(admin): resolve site base at runtime instead of build time 2026-07-26 15:56:00 +08:00
dujiao-next cb8e711f33 chore: drop standalone frontend deployment files 2026-07-26 15:55:51 +08:00
dujiao-next 73e6364a1e chore: merge user repository into frontend/user
git-subtree-dir: frontend/user
git-subtree-mainline: c9f1d4dda4
git-subtree-split: f63dc12830
2026-07-26 15:06:53 +08:00
dujiao-next c9f1d4dda4 chore: merge admin repository into frontend/admin
git-subtree-dir: frontend/admin
git-subtree-mainline: 1581d98692
git-subtree-split: aa4bbf6e61
2026-07-26 15:06:43 +08:00
dujiao-next 1581d98692 fix: close refactor audit findings 2026-07-26 14:48:03 +08:00
dujiao-next 3da93ba7ed refactor(core): remove structural compatibility aliases 2026-07-26 13:18:43 +08:00
dujiao-next 0472220a68 refactor(jobs): split runtime from task consumers 2026-07-26 13:11:06 +08:00
dujiao-next bd5cd2aa15 refactor(http): split server assembly from middleware 2026-07-26 13:08:30 +08:00