CatPic是一款聚合图片软件, 可以采集多个网站的图片
支持列表如下
- Gelbooru
- Moebooru
- Danbooru
- Ehentai
本项目基于Flutter, 因此支持跨平台
测试平台如下:
Android: Android 11 | MIUI12.5.9稳定版 | 小米11
IOS: 缺失设备
- Booru
- Post, Tag, Pool, Artist, Favorite
- Comment, Login, Download
- Ehentai
- Home, Watched, Popular, Favourites
- 高级搜索, 过滤器
- 下载, 历史
- 中文翻译以及基于中文的自动补全
- 单双页切换, 横竖屏切换
- 图片分享, 刷新, 下载原图
- 评论顶和踩
- 种子下载
- 富文本评论支持
- 评分
- 横屏优化
- 公告支持
- IOS系统下载支持
- 下载导出
主页 | 网站选择 |
---|---|
预览 | Tag |
---|---|
clone本项目后, 请执行以下命令获取依赖
flutter pub get
本项目使用了protobuf, 所以您必须拥有protobuf的环境: 文档
然后执行以下命令, 此文件可在wtools(windows)和mtools(macos/linux)内找到, 下不赘述 proto.cmd | proto.sh
cd \lib\data\models\proto
protoc --dart_out=..\gen eh_gallery.proto
protoc --dart_out=..\gen eh_storage.proto
protoc --dart_out=..\gen eh_preview.proto
protoc --dart_out=..\gen eh_download.proto
protoc --dart_out=..\gen eh_gallery_img.proto
cd ..
cd gen
del /q *.pbjson.dart
del /q *.pbserver.dart
然后执行以下命令, 生成代码文件
flutter packages pub run build_runner build
由于flutter的bug, 导致生成的文件类型混乱, 您可以运行fix_store.dart
替换, 或参照以下规则替换掉lib/data/store/main/main_store.g.dart
内文本
raw: List<dynamic> get websiteList
after: List<WebsiteTableData> get websiteList
raw: set websiteList(List<dynamic> value)
after: set websiteList(List<WebsiteTableData> value)
raw: dynamic get websiteEntity
after: WebsiteTableData? get websiteEntity
到此, 项目初始化完成, 您可以使用使用以下命令运行
flutter run