Skip to content

ASE-128/DebateTimer-Android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

辩论赛计时器(DebateTimer)

版本:2.0.0 | 作者:Chen Yu | 许可证:GPL-3.0

一款基于 Capacitor 的 Android 辩论赛计时器,支持配置赛事信息、环节、主题样式,并在计时页进行倒计时展示与提示音提醒。

作者:Chen Yu

功能特性

  • 赛事配置:编辑赛事名称、正反方队伍与辩题。
  • 环节管理:支持无计时、单边计时、双边对辩等多种环节类型;可自由增删改环节、调整顺序。
  • 名称模板:通过“持方 + 辩位 + 模板名称 + 附加项”快速生成规范环节名。
  • 主题样式:自定义背景、正反方颜色、标题色、字体与字号缩放。
  • 本地字体:支持上传 TTF/OTF 字体文件,仅用于文本显示(数字计时仍使用等宽字体)。
  • 导出配置:导出当前比赛配置为 JSON 文件(通过 Android 系统分享)。
  • 计时控制:启动/暂停、停止、重置、切换环节、环节跳转、设置时间、切换持方、全屏、音效试播等。
  • 横屏锁定:计时页自动横屏,获得最佳展示效果。
  • 状态栏隐藏:全屏模式下隐藏系统状态栏,沉浸式计时体验。

技术栈

  • Capacitor 8.x(Android 平台)
  • 原生 HTML / CSS / JavaScript(无框架、无构建工具)
  • Web Audio API 提示音
  • Capacitor 插件:Preferences、Filesystem、Share、StatusBar、ScreenOrientation

安装与构建

npm install
npm run sync    # 同步 Web 资源到 Android 项目
npm run build   # 构建 Debug APK

构建完成后,APK 位于 android/app/build/outputs/apk/debug/app-debug.apk

编辑页说明

  • 赛事信息:填写赛事名称、正反方队伍与辩题。
  • 主题与样式:选择背景类型/颜色、调整正反方颜色、标题色、字体与字号;上传自定义字体文件。
  • 环节列表
    • 使用“新增陈词/质询/对辩/自由辩论”快速添加预设环节。
    • 在环节卡片中修改名称、类型、时长与持方。
    • 使用名称模板下拉框快速生成规范名称,点击“确认名称”应用。
    • 通过“上移/下移/删除”调整环节顺序或移除环节。
  • 导出:将当前完整配置保存为 JSON,通过 Android 系统分享导出。

计时页说明

  • 比赛名称显示在环节名称上方,队伍名称与辩题显示在顶部状态栏。
  • 单边计时显示一个倒计时器;双边计时显示“正方/反方”两个倒计时器,颜色区分。
  • 无计时环节仅显示大号环节名称,不显示计时器。
  • 控制面板新增“环节跳转”与“设置时间”按钮,可快速跳转环节或手动调整剩余时间。
  • 快捷键:
    • Space 启动/暂停(双边计时为切换发言方)
    • P 暂停
    • Q/W/E 试播 30 秒/5 秒/结束提示音
    • F 全屏/横屏
    • B 返回编辑页
    • ←/→ 切换环节
    • C 切换持方

目录结构

.
├── public/                  # Web 资源目录(Capacitor webDir)
│   ├── index.html           # 入口页(重定向至 editor.html)
│   ├── editor.html          # 编辑页
│   ├── timer.html           # 计时页
│   ├── js/
│   │   ├── capacitor-bridge.js  # Capacitor 原生 API 桥接
│   │   ├── audio.js         # Web Audio 提示音
│   │   ├── timer-core.js    # 计时引擎
│   │   ├── timer-app.js     # 计时页 UI 控制
│   │   └── editor-app.js    # 编辑页逻辑
│   └── styles/
│       ├── editor.css
│       └── timer.css
├── android/                 # Capacitor Android 原生项目
├── capacitor.config.json    # Capacitor 配置
├── package.json
├── README.md
└── LICENSE

从 Electron 迁移说明

本项目已从 Electron 桌面版迁移至 Capacitor Android 版。主要变更:

功能 Electron 版 Capacitor/Android 版
配置存储 文件系统 (fs) @capacitor/preferences
页面切换 多窗口 (BrowserWindow) 单 WebView 页面跳转 (location.href)
导出配置 dialog.showSaveDialog @capacitor/filesystem + @capacitor/share
导出独立 EXE WinRAR SFX 已移除(Android 不支持 EXE)
全屏 win.setFullScreen() @capacitor/status-bar + @capacitor/screen-orientation
IPC 桥接 preload.js + contextBridge public/js/capacitor-bridge.js

许可

GPL-3.0

About

一款基于 Capacitor 的 Android 辩论赛计时器,支持配置赛事信息、环节、主题样式,并在计时页进行倒计时展示与提示音提醒。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors