109 Commits

Author SHA1 Message Date
680951611f feat: 添加测试Apple IAP API连接的主程序
实现一个用于测试Apple应用内购买API连接的主程序,包含JWT token生成和API请求功能
2025-12-16 01:53:24 -08:00
ceb3b16dc5 feat(iap/apple): 添加BundleID支持以增强苹果交易验证
在ServerAPIConfig中添加BundleID字段,用于苹果服务器API验证
当BundleID未配置时,尝试从站点自定义数据中获取
删除过时的测试文件
2025-12-16 01:46:47 -08:00
51765c794a test(iap/apple): 添加苹果交易ID关联逻辑的测试用例
Some checks failed
Build docker and publish / build (20.15.1) (push) Has been cancelled
测试苹果IAP支付配置中私钥回退逻辑的正确性
2025-12-16 01:21:04 -08:00
f866270ece fix(iap/apple): 修复PEM格式私钥并添加调试回退逻辑
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m47s
修复从请求中获取的PEM格式私钥缺少换行符的问题,自动添加正确格式
添加开发环境下的硬编码私钥回退逻辑,便于调试
2025-12-16 00:57:57 -08:00
b391c12c1b refactor(apple): 优化base64解码和JWT签名逻辑
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m28s
移除notification.go中冗余的base64解码代码,使用统一的decodeB64URL函数处理
在serverapi.go中改进ES256签名实现,正确处理P-256曲线的R和S值填充
2025-12-15 23:59:46 -08:00
e11ed2338d fix(iap): 修复JWS验证逻辑,支持原始R||S签名格式
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m38s
fix(middleware): 增加设备中间件的日志记录
fix(auth): 优化认证中间件的错误日志记录
feat(iap): 添加苹果交易附加逻辑的详细日志
2025-12-15 23:44:55 -08:00
3c6dd5058b feat(apple): 添加通过transaction_id附加苹果交易功能
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m41s
新增通过transaction_id附加苹果交易的功能,包括:
1. 添加AttachAppleTransactionByIdRequest类型和对应路由
2. 实现AppleIAPConfig配置模型
3. 添加ServerAPI获取交易信息的实现
4. 优化JWS解析逻辑,增加cleanB64函数处理空格
5. 完善苹果通知处理逻辑的日志和注释
2025-12-15 22:35:33 -08:00
15fb9a1da5 fix(iap/apple): 添加订单号回退逻辑以处理订阅信息缺失
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m23s
当请求中缺少duration或subscribeId时,优先从order_no查找订单信息作为回退方案,避免直接返回错误
2025-12-15 18:02:06 -08:00
72400ae054 feat(appleIAP): 实现苹果应用内购买通知处理逻辑
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m36s
添加苹果IAP通知处理功能,包括解析和验证JWS签名、处理交易状态变更
新增订单号字段用于关联订单处理
实现交易记录的创建和更新逻辑
处理订阅状态的变更和过期时间计算
2025-12-15 17:49:16 -08:00
1f5eb2784d feat(用户管理): 添加设备ID筛选用户列表功能
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m38s
在用户列表查询中新增设备ID筛选条件,支持通过设备ID或设备标识符查询关联用户
2025-12-14 19:10:15 -08:00
d7b56f3edc feat(支付): 添加Apple应用内支付支持
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m38s
- 在CheckoutOrderResponse结构中添加product_ids字段用于存储Apple IAP产品ID
- 新增AppleIAP支付平台常量及映射
- 实现Apple IAP支付处理逻辑,生成对应的产品ID
2025-12-14 18:56:56 -08:00
0e493caf16 feat(iap): 移除苹果IAP商品列表接口并添加接入指南文档
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m44s
移除不再使用的苹果IAP商品列表相关代码,包括handler、logic和测试文件
新增详细的iOS内购接入指南文档,包含StoreKit2使用流程和接口规范
2025-12-14 18:47:37 -08:00
62186ca672 feat(iap/apple): 实现苹果IAP非续期订阅功能
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m37s
新增苹果IAP相关接口与逻辑,包括产品列表查询、交易绑定、状态查询和恢复购买功能。移除旧的IAP验证逻辑,重构订阅系统以支持苹果IAP交易记录存储和权益计算。

- 新增/pkg/iap/apple包处理JWS解析和产品映射
- 实现GET /products、POST /attach、POST /restore和GET /status接口
- 新增apple_iap_transactions表存储交易记录
- 更新文档说明配置方式和接口规范
- 移除旧的AppleIAP验证和通知处理逻辑
2025-12-13 20:54:50 -08:00
a80d6af035 refactor(payment): 移除ApplePay支付平台支持并整合到Stripe
Some checks failed
Build docker and publish / build (20.15.1) (push) Has been cancelled
将ApplePay支付方式整合到Stripe平台处理,移除独立的ApplePay平台代码
简化支付逻辑,统一通过Stripe处理所有支付方式
2025-12-09 00:58:03 -08:00
d95911d6bd feat(支付): 新增Apple IAP支付支持
Some checks failed
Build docker and publish / build (20.15.1) (push) Has been cancelled
实现Apple应用内购支付功能,包括:
1. 新增AppleIAP和ApplePay支付平台枚举
2. 添加IAP验证接口/v1/public/iap/verify处理初购验证
3. 实现Apple服务器通知处理逻辑/v1/iap/notifications
4. 新增JWS验签和JWKS公钥缓存功能
5. 复用现有订单系统处理IAP支付订单

相关文档已更新,包含接入方案和实现细节
2025-12-09 00:53:25 -08:00
4b6fcb338e refactor(用户): 优化设备解绑逻辑并提取错误上报接口文档
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m15s
重构设备解绑逻辑,简化事务处理流程并移除冗余代码。将错误上报接口的详细说明从主文档拆分到单独文件,提高文档可维护性。

- 合并设备查询与认证记录查询操作
- 简化匿名用户创建流程
- 移除冗余的错误日志记录
- 将错误上报接口文档拆分到单独文件
2025-12-03 01:45:06 -08:00
f0439f4f80 feat(日志): 新增客户端错误日志收集功能
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m50s
- 创建 log_message 表用于存储客户端错误日志
- 实现客户端日志上报接口 POST /v1/common/log/message/report
- 添加管理端日志查询接口 GET /v1/admin/log/message/error/list 和 GET /v1/admin/log/message/error/detail
- 实现日志指纹去重和限流机制
- 完善相关模型、逻辑和文档说明
2025-12-02 20:12:33 -08:00
61cdc0ce23 feat(log): 添加客户端错误日志采集功能
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m17s
新增 log_message 表用于存储客户端错误日志,包含平台、设备信息、错误详情等字段
添加客户端上报接口和管理端查询接口
实现日志去重、限流和安全防护机制
2025-12-02 19:34:43 -08:00
d1a620f939 feat(支付): 添加支付金额转换日志并优化代码结构
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m17s
为支付宝、Stripe、Epay和CryptoSaaS支付逻辑添加金额转换的日志记录
将支付请求参数提取为变量并添加日志记录
优化代码结构,提高可读性和可维护性
2025-12-02 18:30:16 -08:00
6fba1d683a fix(支付): 修复金额计算精度问题
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m45s
在epayPayment和CryptoSaaSPayment方法中,对转换后的金额进行四舍五入保留两位小数处理,确保支付金额精度准确
2025-12-02 02:35:05 -08:00
9987bd43fa fix(订单): 修复折扣计算问题并添加四舍五入处理
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m53s
统一处理百分比和系数两种折扣输入方式,增加边界保护
在金额计算中使用math.Round进行四舍五入处理
添加相关单元测试确保计算准确性
2025-12-02 02:22:09 -08:00
fcdd6ac170 fix(admin/user): 修复删除用户设备时未清理缓存和会话的问题
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m47s
添加设备删除前的检查逻辑,确保设备存在后再执行删除操作
在删除设备前先踢下线在线设备并清理相关缓存会话
最后删除数据库中的设备记录,确保数据一致性
2025-12-02 01:45:12 -08:00
d546ea6502 feat(auth): 添加设备绑定和解绑的日志记录和缓存清理
Some checks failed
Build docker and publish / build (20.15.1) (push) Has been cancelled
在设备绑定和解绑逻辑中添加详细的日志记录,包括用户ID、设备标识符和限制检查
解绑时增加设备管理器的踢出操作,确保设备状态同步
2025-12-02 01:38:32 -08:00
6b65ffb728 fix(user): 修复解绑设备接口的502错误和安全断言问题
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m4s
修复不安全类型断言可能导致panic的问题,将Redis清理移出事务并添加超时控制
增加代理层超时配置和详细日志,提升接口稳定性
2025-12-01 21:24:11 -08:00
37cec59460 refactor(用户绑定邮箱): 修改设备记录处理逻辑,从删除改为更新归属
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m7s
将原本删除设备记录并创建新记录的逻辑改为直接更新设备记录的归属用户ID
移除不再需要的旧设备信息获取和创建新设备记录的代码
2025-12-01 01:22:55 -08:00
e02e1d1f37 refactor(user): 移除未使用的trial订阅激活逻辑
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m59s
2025-12-01 00:52:53 -08:00
842edad966 refactor(用户逻辑): 移除设备解绑时激活试用订阅的逻辑
Some checks failed
Build docker and publish / build (20.15.1) (push) Has been cancelled
2025-12-01 00:52:27 -08:00
77e4be3a71 refactor(user): 重构设备解绑逻辑,优化用户迁移流程
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m22s
- 将原有删除设备逻辑改为迁移设备到新匿名用户
- 添加注册日志记录功能
- 优化事务处理流程,确保数据一致性
- 添加试用订阅激活功能
- 完善错误处理和日志记录
2025-12-01 00:44:33 -08:00
306300244d refactor(用户绑定): 移动设备信息获取代码位置以优化逻辑流程
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m19s
2025-12-01 00:22:36 -08:00
8086785828 fix(用户逻辑): 修复设备记录中丢失IP和UserAgent的问题
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m5s
在删除账户和绑定邮箱逻辑中,保留原设备的IP和UserAgent信息
2025-11-30 21:46:13 -08:00
330b4ee6a1 refactor(解绑设备): 优化解绑设备逻辑,保留设备IP和UserAgent信息
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m50s
将deleteDevice变量提前声明以避免重复声明
在registerUserAndDevice方法中新增ip和userAgent参数,保留原设备信息
2025-11-30 20:37:03 -08:00
5de2f37c20 feat(auth): 在JWT令牌中添加设备ID信息
Some checks failed
Build docker and publish / build (20.15.1) (push) Has been cancelled
2025-11-30 20:32:34 -08:00
b6e93d0496 fix(device): 修复设备解绑后重建逻辑,确保设备ID稳定
Some checks failed
Build docker and publish / build (20.15.1) (push) Has been cancelled
重构设备解绑逻辑,删除原有设备记录后重新创建用户和设备
移除文档中已废弃的测试用例和修复方案说明
2025-11-30 20:28:59 -08:00
5497a1ffdb feat(用户): 添加删除账户响应中的状态码字段
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m39s
refactor(设备绑定): 重构设备所有权转移逻辑以保持设备ID稳定

docs: 添加设备绑定与踢出后重登录的回归测试文档

fix(设备登录): 修复设备不存在时空指针崩溃问题
2025-11-30 20:03:09 -08:00
41b52992e4 refactor(user): 重构设备解绑逻辑,改为迁移设备到新用户而非删除
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m44s
修改设备解绑逻辑,不再删除设备而是将其迁移到新创建的用户账户下
同时优化了事务处理和错误日志记录
2025-11-30 19:14:09 -08:00
109f708652 refactor(用户绑定): 移除设备绑定数量上限校验逻辑
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m56s
简化邮箱绑定流程,直接绑定邮箱而不检查设备数量限制
2025-11-28 01:03:25 -08:00
471c84eb1c feat(用户验证): 添加测试验证码绕过逻辑
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m10s
2025-11-28 00:49:12 -08:00
55b8fe813d fix(用户): 修复邮箱验证码校验逻辑,支持多场景验证
Some checks failed
Build docker and publish / build (20.15.1) (push) Has been cancelled
修改邮箱验证码校验逻辑,使其支持安全场景和注册场景的验证码校验。当任一场景验证通过时即视为验证成功,提升用户体验。
2025-11-28 00:47:38 -08:00
14f4e351f4 fix(auth): 修复设备登录时旧会话未清理的问题
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m9s
在设备登录逻辑中添加对旧会话的清理,防止同一设备多会话冲突
同时修复邮箱绑定时的设备数量限制校验问题
2025-11-28 00:25:19 -08:00
6afd6eb307 feat(auth): 添加设备绑定数量限制检查
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m26s
在设备绑定逻辑中添加对设备绑定数量的限制检查,当超过限制时返回特定错误码
同时在用户注册、登录等流程中处理设备绑定数量超限的错误情况
2025-11-27 23:58:10 -08:00
2442831cd7 feat(设备管理): 添加设备在线记录查询功能并优化设备列表排序
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m28s
添加FindLatestDeviceOnlineRecord接口用于查询设备最新在线记录
实现GetOnlineDeviceLoginTime方法获取设备登录时间
优化设备列表查询按最后活动时间排序
移除未使用的依赖项
2025-11-27 23:24:48 -08:00
236fa6c4e6 feat(auth): 在登录响应中添加会话限制信息
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m32s
在LoginResponse结构体中新增Limit字段,用于返回用户最大会话数限制
修复userLoginLogic.go和telephoneLoginLogic.go中的缩进问题
2025-11-26 22:57:10 -08:00
7e32c571ab fix: 将每个用户的最大会话数默认值从3改为1
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m20s
2025-11-26 18:42:09 -08:00
1d5d361ae8 feat(auth): 实现用户会话数限制功能
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m32s
添加用户会话数限制功能,当超过最大会话数时自动移除最旧的会话
- 在config中添加UserSessionsKeyPrefix常量
- 在JwtAuth配置中新增MaxSessionsPerUser字段
- 在ServiceContext中实现EnforceUserSessionLimit方法
- 在所有登录逻辑中调用会话限制检查
2025-11-26 17:52:12 -08:00
4ad384b01a fix(redis): 修复缓存设置和清除逻辑的问题
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m20s
修复Redis缓存设置未设置TTL的问题,使用节点拉取间隔加60秒作为TTL
修复ClearServerAllCache中重复添加keys的问题
修复ClearServerCache中未使用cursor参数的问题
优化ClearServerAllCache以支持清除多种前缀的缓存
2025-11-23 23:39:30 -08:00
58107ed76f feat(handler): 添加绑定邀请码接口路由和处理逻辑
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m56s
新增/public/user/bindInviteCodeHandler.go处理绑定邀请码请求
在routes.go中添加对应的POST路由/bind_invite_code
2025-11-20 05:56:18 -08:00
9e7aaa4242 ci(docker): 升级 Docker CLI 并优化系统工具安装流程
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m9s
移除旧版 docker.io 并安装官方仓库的 Docker CLI,确保 API 版本 >= 1.44
优化 apt 锁等待逻辑并添加版本检查步骤
2025-11-16 23:17:35 -08:00
70561876d6 fix(auth): 修复设备首次登录时空指针崩溃问题
Some checks failed
Build docker and publish / build (20.15.1) (push) Failing after 1m21s
在设备不存在分支注册后立即查询设备信息并赋值,避免后续操作解引用空指针
同时增加设备信息空指针保护并完善错误处理
2025-11-16 23:10:35 -08:00
004acd03d2 fix(用户绑定): 修复邮箱绑定流程中用户ID未正确赋值的问题
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m10s
在邮箱不存在的情况下,确保将当前设备用户的ID正确赋值给emailUserId变量,以保证后续token生成和返回结果正确
2025-11-05 18:40:48 -08:00
15f4e69dc3 feat(server): 添加服务器地理位置信息字段
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m3s
为服务器模型添加经度、纬度及中心点坐标字段,并在相关逻辑中处理这些字段
同时修复服务器用户列表缓存功能
2025-11-03 23:50:23 -08:00