/Bangumi

:electron: An unofficial https://bgm.tv app client for Android and iOS, built with React Native. 一个无广告、不以盈利为目的第三方客户端。简单比喻就是专门做 ACG 的类似豆瓣的应用。专门为移动端重新设计,内置大量加强、网页端难以实现的功能,且提供了相当的自定义选项,已适配 iOS / Android / WSA、mobile / 简单 pad、light / dark theme。 目前正在适配 React-Native 转换移动端 SPA。

Primary LanguageTypeScriptMIT LicenseMIT

header

release license codacy downloads issues

Bangumi

一个基于 React-NativeBangumi 第三方客户端

安卓和 iOS 都做了兼容,并最大限度保持一致

目前已开发不少于 90 个页面,基于移动端重新设计布局,几乎涵盖网站所有页面

Bangumi 是用于管理追番进度(不限于动漫、音乐、日剧、游戏、AVG),发现和讨论番组

本人并没有原生开发经验,用于练手 React-Native,希望通过这个平台去学习更多

更多涉及到本 App 的说明,可前往 语雀 查看

ENGLISH

目录

下载

安卓 APK 下载

Get it on F-Droid

AltStore 侧载 | iOS 上当前能使用的方法 | Expo 主页

  • Google Play 被恶意举报已被暂停申诉无果,因为不同渠道包互斥,只能建议之前使用此渠道的用户卸载后使用其他渠道

  • 苹果 100 刀开发者账号已过期,期间没能过审,因为功能太多,而且会涉及到社区、版权敏感等问题,大概不会再送审

功能

基本功能

  • 番组进度管理
  • 条目、角色详情
  • 时间线(用户动态)
  • 超展开(帖吧)
  • 时光机(个人中心)、用户空间
  • 不限于搜索、排行榜、索引、目录、每日放送、年鉴、标签

特色功能

  • 其他站点同步到 bgm 功能(bilibili、豆瓣)
  • 封面图片和大部分脱敏静态数据覆盖到自费 CDN 中间层,访问高速化(大概是网页版挂掉了也能看)
  • 番剧、游戏截图预览
  • 当季番剧精准到单集网络播放源、漫画源查询,找番剧、文库、游戏、音乐
  • 小圣杯(角色交易空气游戏, App 独立设计 UI 和交互)

版本

v7.14.0 - 2023/05/19

新增

  • [帖子] 新增了可以上一步/下一步观看楼层的功能 (实验性)

优化

  • [UX] 收藏框还原网页版中我的标签功能块 (对于某些喜欢自己定义标签规则的用户来说很有用)
  • [时光机] 可以设置使用分页代替下拉加载更多
  • [设置] 画面设置选项卡中,用户头像可以设置加速 (实验性,会员功能)

修复

  • [UI] 修复了安卓13下按钮点击错误渲染阴影的问题

CHANGELOGS

在线

基于 @storybook/react-native 生成的 iframe.html, 尽量少入侵原项目, 补全了一个完整的单页面应用

Storybook 组件面板预览

https://czy0729.github.io/Bangumi-Storybook/storybook-static

SPA 应用预览 (仍在开发中, 已支持基本预览, 移动端最佳)

https://czy0729.github.io/Bangumi-Storybook/storybook-static/iframe.html?id=screens-discovery--discovery&viewMode=story

预览

以下为 2023 年 1 月份截屏,通常 2-3 周更新一次版本,因还在高速迭代阶段,版本之间 UI 可能存在较大差别

0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011

致谢

[Bangumi-OnAir] ekibun 的单集播放数据源

[bangumi-mosaic-tile] weizhenye 的用户统计瓷砖库

[bangumi-data] 番组数据索引

[bangumi-api] 官方接口

本地开发

项目最近变更

点击查看详细

最近在升级 react-navigation@3 到 @5.x 的版本,因为安卓的 react-native 包比较老旧,不升级前不能支持 @6.x 版本,而 @5.x 与 @6.x 其实相差不大

目前因安卓端基本适配完成,iOS 端尚未适配,所以想在 mac 上跑起来,请切换到上一个 tag 的版本再运行

关于环境

点击查看详细

本人一直在 mac 环境下开发,iOS 跑 expo 客户端调试,安卓跑真机 usb 调试,window 用法不详,遇到跑不起来,不要太过折腾,window 和 mac 的环境差异还是比较大的,可以查阅 Expo 官方文档,您可以选择同一局域网真机扫码调试,需先下载 Expo App

当前 iOS 和 android 是使用不同的包进行开发的,请使用正确的 package.json 进行包安装,配置在 ./web/package.[android | ios].json

安卓开发

点击查看详细

请务必阅读 ./android/README.MD

关于 NPM

点击查看详细

不要使用 taobao 源头,可能会在跑环境时提示不允许代理

npm config set registry https://registry.npmjs.org

国内环境,首次下载包有可能会异常地慢

因用了很多旧的依赖包,里面的包版本依赖混乱,为了不出错请使用 yarn 安装

git clone https://github.com/czy0729/Bangumi
cd ./Bangumi
yarn

本地调试

点击查看详细
npm start // [iOS] 之后点击在浏览器打开的 Expo Developer Tools,点击 Run on iOS simulator

// or

react-native run-android // [android] 真机 usb 调试

安卓真机 usb 调试遇到的问题

点击查看详细
  • 不能安装请尝试在命令前添加 sudo

  • 安卓系统请打开开发者调试模式,需要至少进行一次打开 Android Studio 的同时连接 usb 允许添加调试

  • 调试请保证给应用安装权限,允许悬浮窗权限

  • 遇到 spawnSync adb ENOENT,参考 stackoverflow

  • 第一次就遇到打包失败,看看是不是遇到 read timeout 等问题,表示需要科学上网。明明前一天还能打包成功,后一天就失败,也可能是依赖包无法获取的问题,因为 gradlew 依赖包只有 24 小时的缓存时间,尝试使用 --offline 命令

常见错误,包括 mac M1

点击查看详细

已在 mac M1 上调试成功

最近购入了 M1,尝试实用新环境,iOS expo 运行一路顺风,但是打包 apk 遇到很多问题,总结如下:

  • 一定要使用 JAVA jdk 8,不是 jre![jdk 8 下载地址],善用 java -version/usr/libexec/java_home -V 命令查看正在使用的是不是 jdk1.8.0_281.jdk

  • 打包前一定要安装 watchman,不然会遇到监听文件过多错误

  • 打包遇到失败,请进入 android 目录下执行 ./gradlew clean 后再重新打包

  • 打包失败,看见错误提示上面有 node_modules 包的名字,请尝试把这个包下载补全

免责

  • 本项目所有数据信息均来自各种网站,不提供任何形式的媒体下载、直接播放和修改功能
  • 本项目承诺不保存任何第三方用户信息
  • 本项目代码仅供学习交流,不得用于商业用途,若侵权请联系

投食

觉得 App 好用的

https://cdn.jsdelivr.net/gh/czy0729/Bangumi-Static@20210314/data/qr/alipay.png https://cdn.jsdelivr.net/gh/czy0729/Bangumi-Static@20210314/data/qr/wechat.png

统计

czy0729.bangumi