Skip to content

Releases: coderirse/Sourcehub

v1.2.0 — Backend Management API

Choose a tag to compare

@coderirse coderirse released this 27 Jul 09:24

New: Admin CRUD APIs, DB-backed banners/categories, download token validation, isPublished filtering. Fix: sync to suspended transactions.

v1.1.1 - App to Ktor backend integration

Choose a tag to compare

@coderirse coderirse released this 15 Jul 15:19

SourceHub v1.1.1

App to Backend Integration

  • Retrofit + Gson network layer (ApiClient + 5 RetrofitServices)
  • Auto JWT auth with 401 auto-refresh
  • Mock/Remote toggle in Settings (no restart needed)

How to use

  1. Start backend: cd server && ./gradlew run
  2. Open App -> Settings -> Enable Remote Server
  3. Register, browse products, place orders, pay, download

Cloud deployment

Set env vars DB_DRIVER/DB_URL/DB_USER/DB_PASSWORD/JWT_SECRET/PORT

Version history

  • v1.0.0 Initial MVP
  • v1.1.0 SQLite + Ktor backend server
  • v1.1.1 App to backend integration

Generated with Claude Code

v1.1.0 — SQLite 数据库(SQLiteOpenHelper)

Choose a tag to compare

@coderirse coderirse released this 15 Jul 01:33

SourceHub v1.1.0

重大更新:SQLite 数据库

  • SourcehubDbHelper:基于 Android 内置 SQLiteOpenHelper 的真实 SQL 数据库
  • 三个数据表:
    • \ — 用户信息持久化
    • \ — 购物车持久化
    • \ — 下载记录持久化
  • 购物车/用户/下载数据在 app 重启后自动恢复
  • 零注解处理器依赖 — 不需要 KSP/KAPT/Room

技术说明

Kotlin 2.2.10 + AGP 9.2.1 环境下无可用 KSP 版本(Room 注解处理器无法工作)。
采用 Android 内置 \ 实现数据库层,
功能上与 Room 等价,性能相同,API 更轻量。

从 v1.0.3 升级

  • CartRepository: JSON 文件 → SQLite
  • DownloadRepository: JSON 文件 → SQLite
  • AuthRepository: JSON 文件 → SQLite
  • 旧的 JsonPersistenceManager 保留在代码中,可用于未来迁移

版本历史

  • v1.0.0 — 初始 MVP
  • v1.0.1 — JSON 文件持久化
  • v1.0.2 — 底部导航 + 支付同步
  • v1.0.3 — PDF 预览 + 下载加密
  • v1.1.0 — SQLite 数据库

🤖 Generated with Claude Code

v1.0.3 — PDF预览渲染 + 下载加密 + FileProvider

Choose a tag to compare

@coderirse coderirse released this 15 Jul 01:11

SourceHub v1.0.3

新增

  • PDF 预览真实渲染:Canvas 逐页渲染预览内容 + 半透明水印 + 左右滑动翻页 + 页码指示器
  • DownloadWorker 接入:点击下载后通过 WorkManager 真实发起 HTTP 下载
  • 文件加密集成:下载完成后自动 AES-256-GCM 加密存储,打开时解密到临时文件
  • FileProvider:解密后通过系统应用打开文件(支持 PDF/Word 等格式)
  • 下载通知:NotificationChannel + 前台通知显示下载进度

修改

  • ProductPreviewScreen:从占位文字 → Canvas 位图渲染(前3页)
  • DownloadRepositoryImpl:startDownload 实际 enqueue WorkManager 任务
  • OfflineFilesViewModel:openFile 解密 → FileProvider → 系统 Intent
  • SourcehubApplication:注册 NotificationChannel

技术细节

  • 预览使用 Bitmap + Canvas 渲染,生产可替换为 PdfRenderer
  • 下载使用 CoroutineWorker + 指数退避重试(最多3次)
  • 加密使用 Android Keystore 密钥 + AES/GCM/NoPadding

🤖 Generated with Claude Code

v1.0.2 — 底部导航栏 + 支付状态同步

Choose a tag to compare

@coderirse coderirse released this 15 Jul 01:04

SourceHub v1.0.2

修复

  • 底部导航栏:首页/搜索/购物车/订单/我的 五个 Tab 可正常切换
    • 使用 NavigationBar + saveState/restoreState 保持 Tab 状态
    • 详情页/支付页等子页面自动隐藏底部导航
  • 支付→订单状态同步:支付成功后 MockPaymentApi 通过 MockDataProvider.sharedPaidOrders 自动更新订单列表中的状态为已支付

技术细节

  • MockDataProvider 新增 paidOrders 共享 Map,实现 Mock API 间状态通信
  • MockOrderApi.getOrders / getOrderDetail 自动调用 syncPaidOrders() 更新状态

当前版本

  • versionCode: 3
  • versionName: 1.0.2

🤖 Generated with Claude Code

v1.0.1 — 本地持久化层(JSON 文件存储)

Choose a tag to compare

@coderirse coderirse released this 15 Jul 00:59

SourceHub v1.0.1

新增

  • JSON 文件本地持久化:购物车、下载记录、用户信息在 app 重启后自动恢复
  • JsonPersistenceManager:基于 Android 内置 \ + \ 的轻量持久化方案
  • 零额外依赖,不需要 Room/KAPT/KSP

修改

  • CartRepositoryImpl — 购物车数据自动保存到 \
  • DownloadRepositoryImpl — 下载记录自动保存到 \
  • AuthRepositoryImpl — 用户信息缓存到 \,登出自动清除
  • ProductRepositoryImpl — 优化代码结构

技术说明

Kotlin 2.2.10 + AGP 9.2.1 环境下 KAPT/KSP 注解处理器版本不兼容,因此采用 Android 内置的 \ 实现持久化。数据存储在 app 私有目录 \,其他 app 无法访问。


🤖 Generated with Claude Code

v1.0.0 — SourceHub 数字资料售卖App 初始版本

Choose a tag to compare

@coderirse coderirse released this 11 Jul 07:45

SourceHub v1.0.0 — 数字资料售卖分享App

一个完整的 Android 数字资料售卖平台 MVP,使用 Jetpack Compose + Material 3 构建。

核心功能

模块 功能
用户认证 登录/注册/忘记密码、JWT Token 管理、EncryptedSharedPreferences
首页 Banner 轮播、6 大分类、热门推荐、新品上架
商品 20 个模拟商品、详情页、PDF 预览(防截屏+水印)
搜索 300ms 防抖搜索、搜索历史
购物车 CRUD、数量调整、全选、实时计价
结算 订单确认、优惠码 SAVE10(9折)
支付 微信/支付宝/信用卡模拟、90% 成功率
订单 状态筛选、订单详情、已支付下载
下载 WorkManager 后台下载、暂停/续传、AES-256-GCM 加密
个人 资料编辑、安全状态检测、设置

安全特性

  • Root 检测(su/Magisk/SuperSU)
  • 模拟器检测(Fingerprint/Model/Hardware)
  • 反调试保护
  • SSL Pinning(OkHttp CertificatePinner)
  • 请求签名(HMAC-SHA256)
  • 支付/预览页防截屏(FLAG_SECURE)
  • 文件加密(AES/GCM、Android Keystore)
  • R8/ProGuard 混淆
  • Token 自动刷新 + 401 拦截

技术栈

  • 语言: Kotlin
  • UI: Jetpack Compose + Material 3
  • 架构: MVVM + Clean Architecture
  • 状态管理: StateFlow + collectAsStateWithLifecycle
  • 导航: Navigation Compose(类型安全路由)
  • 图片: Coil
  • 网络: OkHttp(Mock 拦截器,预留 Retrofit 接口)
  • 本地存储: DataStore Preferences
  • 下载: WorkManager
  • 安全: AndroidX Security Crypto

切换至生产环境

当前版本使用 Mock 数据和模拟支付。切换到真实后端只需:

  1. 用 Retrofit 实现 \ 下的接口
  2. 替换 \ 为 Retrofit 代理
  3. 对接微信/支付宝支付 SDK

109 个 Kotlin 源文件 | 约 20 个页面 | minSdk 24 | targetSdk 37

🤖 Generated with Claude Code