Bilibili-Old:现代化技术栈重构经典B站界面解决方案

发布时间:2026/7/5 6:01:00
Bilibili-Old:现代化技术栈重构经典B站界面解决方案 Bilibili-Old现代化技术栈重构经典B站界面解决方案【免费下载链接】Bilibili-Old恢复旧版Bilibili页面为了那些念旧的人。项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-OldBilibili-Old是一个基于TypeScript开发的浏览器扩展项目通过模块化架构实现Bilibili旧版界面的完整恢复。项目采用现代前端技术栈提供Chrome扩展和Tampermonkey用户脚本两种部署方式解决了新版B站界面复杂化带来的用户体验问题同时保留了弹幕系统、播放器增强等核心功能的技术兼容性。 技术架构概览Bilibili-Old采用分层架构设计核心模块位于src/core/目录通过TypeScript实现类型安全的组件化开发。项目主要包含以下技术组件页面转换引擎智能检测B站页面类型并应用相应的旧版样式API适配层处理新版B站API到旧版接口的兼容性转换弹幕处理系统支持protobuf、XML等多种弹幕格式播放器增强模块在经典播放器基础上集成现代编码支持项目加载动画经典小电视图标象征旧版界面的恢复过程⚙️ 快速部署指南环境准备流程具体操作步骤Chrome扩展部署完整功能克隆项目仓库git clone https://gitcode.com/gh_mirrors/bi/Bilibili-Old进入项目目录cd Bilibili-Old构建Chrome扩展npm run chrome在Chrome中打开扩展管理页面chrome://extensions/启用开发者模式点击加载已解压的扩展程序选择构建生成的chrome/dist目录Tampermonkey脚本部署轻量级安装Tampermonkey浏览器扩展构建用户脚本npm run tampermonkey在Tampermonkey管理面板导入tampermonkey/dist/main.user.js刷新B站页面即可生效 核心功能详解页面恢复系统项目通过src/page/目录下的模块化处理器实现各类页面的智能转换视频页面转换src/page/av.ts将新版BV页面恢复为经典av页面布局番剧页面适配src/page/bangumi.ts支持旧版番剧播放界面搜索页面重构src/page/search.ts恢复简洁的搜索结果展示主页网格化src/page/index.ts将瀑布流布局转换为经典网格弹幕技术栈弹幕系统位于src/core/danmaku.ts提供完整的弹幕处理能力// 弹幕处理核心类示例 class Danmaku { // Protobuf弹幕解码 decodeProtobuf(data: Uint8Array): DanmakuItem[] // XML弹幕解析 parseXML(xml: string): DanmakuItem[] // 弹幕发送者反查 reverseLookup(crc32: number): number | null // 互动弹幕支持 handleInteractiveDanmaku(config: InteractiveConfig): void }播放器增强模块播放器模块src/core/player.ts在旧版基础上增加现代功能多编码支持AVC、HEVC、AV1编码自动切换区域限制解除通过API代理绕过地理限制分段进度条精确的视频分段控制CC字幕集成外挂字幕文件支持API兼容层src/io/目录包含完整的API适配系统处理B站接口变化播放地址获取src/io/api-playurl.ts统一新旧版播放地址接口用户信息适配src/io/account-getcardbymid.ts用户数据格式转换弹幕接口封装src/io/grpc/api-dm-web.tsprotobuf弹幕协议处理 特性优势矩阵特性维度传统方案Bilibili-Old方案技术优势界面恢复简单CSS覆盖模块化页面处理器精确的DOM操作避免样式冲突弹幕兼容仅支持XML全格式弹幕支持protobuf解码XML回退机制API适配硬编码接口动态API适配层自动处理接口变更维护成本低播放器功能基础播放增强型播放器多编码区域解除字幕支持部署方式单一扩展双模式部署Chrome扩展Tampermonkey脚本可选 进阶配置技巧自定义样式覆盖项目支持通过CSS变量进行深度定制在src/css/目录下创建自定义样式/* 自定义旧版主题 */ :root { --bili-old-primary-color: #fb7299; --bili-old-background: #f4f5f7; --bili-old-border-radius: 8px; } /* 应用到特定组件 */ .bili-old-player { background: var(--bili-old-background); border-radius: var(--bili-old-border-radius); }性能优化配置在src/core/storage.ts中调整缓存策略// 优化本地存储策略 const storageConfig { danmakuCacheTTL: 3600, // 弹幕缓存1小时 apiResponseCache: 300, // API响应缓存5分钟 maxCachedPages: 20, // 最大页面缓存数 enableCompression: true // 启用存储压缩 };开发环境配置项目使用TypeScript和esbuild构建支持热重载开发# 监控模式开发 npm run chrome -- --watch # 生成TypeScript类型检查 npm run tsc # 构建所有版本 npm run build:all 故障排除手册常见问题解决方案问题1页面转换后样式异常症状界面元素错位或样式丢失解决方案检查浏览器缓存强制刷新页面CtrlShiftR技术排查查看控制台CSS冲突调整src/css/中的样式优先级问题2弹幕无法显示症状视频播放正常但弹幕区域空白解决方案验证网络连接检查protobuf解码器状态技术排查使用src/core/danmaku.ts的调试模式输出弹幕数据问题3播放器编码切换失败症状特定编码视频无法播放解决方案更新浏览器编解码器支持技术排查检查src/core/player.ts中的编码检测逻辑问题4API请求失败症状页面数据加载超时或返回错误解决方案验证B站API接口状态检查网络代理设置技术排查查看src/io/目录下的API适配器日志调试工具使用项目内置调试系统位于src/utils/debug.ts// 启用详细日志 Debug.enable(danmaku, api, player); // 查看特定模块状态 Debug.inspect(page-converter, { currentPage: window.location.pathname, conversionStatus: success, appliedStyles: 15 }); 最佳实践建议性能优化策略按需加载模块通过动态导入减少初始包体积缓存策略优化合理设置API响应和弹幕数据的缓存时间DOM操作批处理减少页面转换时的重绘次数内存泄漏预防及时清理事件监听器和定时器代码维护指南模块化开发保持src/core/中各模块的单一职责类型安全优先充分利用TypeScript的类型系统API版本管理在src/io/中维护API变更记录测试覆盖为关键功能添加单元测试用户体验优化渐进式增强确保基本功能在不支持高级特性的浏览器中可用错误友好提示为用户提供清晰的错误信息和解决方案设置持久化通过src/core/storage.ts保存用户偏好无障碍支持确保旧版界面符合WCAG标准 未来发展规划技术路线图Web Components迁移将UI组件逐步迁移到标准Web ComponentsService Worker集成实现离线缓存和后台同步功能PWA支持提供渐进式Web应用体验跨浏览器兼容扩展对Firefox、Safari等浏览器的支持功能增强计划智能页面检测基于机器学习优化页面转换准确性弹幕AI过滤集成智能弹幕内容过滤系统播放器插件化支持第三方播放器插件扩展数据可视化提供用户观看习惯的数据分析面板社区发展目标开发者文档完善建立完整的API文档和贡献指南插件生态系统支持第三方功能扩展开发多语言支持国际化界面和文档性能基准测试建立持续的性能监控体系Bilibili-Old项目不仅是对经典界面的技术性恢复更是对Web前端工程实践的深度探索。通过模块化架构、类型安全设计和现代化构建工具项目展示了如何在保持向后兼容性的同时集成现代Web技术的创新应用。【免费下载链接】Bilibili-Old恢复旧版Bilibili页面为了那些念旧的人。项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Old创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考