GlobalRadio全球电台源码-基于Vue 3+Vite构建

AI 智能摘要
全球电台(GlobalRadio)是一个基于 Vue 3 + Vite 构建的现代化在线电台应用。它以用户体验为核心,集成了播放、搜索、收藏、历史记录、主题切换与多国语言支持等一系列强大功能。更值得一提的是,它还支持 PWA(Progressive Web App)安装,这意味着用户可以将其添加到手机或电脑桌面,享受原生应用般的体验。

在快节奏的现代生活中,音乐和电台作为重要的精神调剂,已成为许多人日常的一部分。而一个功能全面、界面友好的在线电台应用,无疑能极大提升用户的收听体验。今天,主题铺为大家介绍一款基于前沿技术栈构建的全球电台(GlobalRadio)应用,它不仅拥有卓越的播放和搜索功能,更提供了丰富的个性化设置和便捷的部署方式。

全球电台(GlobalRadio)是一个基于 Vue 3 + Vite 构建的现代化在线电台应用。它以用户体验为核心,集成了播放、搜索、收藏、历史记录、主题切换与多国语言支持等一系列强大功能。更值得一提的是,它还支持 PWA(Progressive Web App)安装,这意味着用户可以将其添加到手机或电脑桌面,享受原生应用般的体验。

这款应用的设计理念在于提供一个无缝、高效且个性化的电台收听平台。无论是想探索世界各地的电台,还是回顾喜爱的节目,GlobalRadio都能轻松满足。GlobalRadio的开发团队不仅关注前端界面的美观和流畅,更注重后端的部署便捷性。它支持Docker一键部署,大大降低了运维门槛,让更多用户能够快速搭建自己的在线电台服务。

目前,GlobalRadio已加入科技lion(kejilion.sh)的脚本,实现了一键安装并配置域名和SSL证书的功能,使得部署和上线变得前所未有的简单。您可以通过访问演示站点:https://aabb.live 亲身体验其魅力。开源地址是:https://github.com/moli-xia/global-radio

功能概览:解锁您的电台世界

GlobalRadio集成了多项实用功能,旨在为用户提供全面而沉浸的电台收听体验:

  1. 电台搜索(支持中文):强大的搜索功能,帮助用户快速找到全球各地的电台,即便使用中文搜索也能精确匹配。
  2. 分享电台:轻松将您喜爱的电台分享给朋友,扩大电台的传播范围。
  3. 播放控制:直观的播放/暂停、音量调节等控制,满足日常听歌需求。
  4. 睡眠定时器:贴心设计,允许用户设置定时关闭播放,伴您安然入睡,无需手动操作。
  5. 收藏与播放历史
    • 收藏功能:一键收藏喜爱的电台,方便下次快速访问。
    • 播放历史:自动记录用户收听过的电台,轻松回顾。
  6. 亮色/暗色主题:支持主题切换,用户可根据喜好或环境光线选择亮色或暗色模式,保护视力。
  7. 全球主流语言支持:多语言界面,为全球用户提供无障碍的使用体验。
  8. 多平台客户端:支持安卓、iPhone和PC客户端,通过PWA技术,实现跨平台一致体验。
图片[1]-GlobalRadio全球电台源码-基于Vue 3+Vite构建-主题铺
图片[2]-GlobalRadio全球电台源码-基于Vue 3+Vite构建-主题铺
图片[3]-GlobalRadio全球电台源码-基于Vue 3+Vite构建-主题铺

技术栈与项目结构

GlobalRadio采用现代前端技术栈构建,确保了应用的性能和可维护性:

  • 前端:Vue.js 3 (框架)、Vite (构建工具)
  • 部署:Docker (容器化)、Nginx (静态文件服务)
  • 语言:JavaScript (前端)、Shell Script (自动化部署)

项目结构清晰,方便开发者理解和贡献:

.
├── src/                 # 前端源码 (Vue 3 组件、逻辑等)
├── public/              # 静态资源 (图片、图标等)
├── dist/                # 构建产物 (Vite build 生成的优化文件)
├── nginx-static.conf    # 静态站点 Nginx 示例配置
├── nginx.docker.conf    # Docker 镜像内 Nginx 配置
├── Dockerfile           # Docker 容器构建文件
├── vite.config.ts       # Vite 构建工具配置
└── package.json         # 前端依赖与脚本定义

部署方式:简单高效,灵活选择

GlobalRadio提供了多种部署方式,满足不同用户的需求和技能水平。

A. Docker 部署(推荐)

Docker部署是官方推荐的方式,无需安装Node.js环境,通过容器技术实现快速、隔离的部署。

方式 A:Docker Hub 一键部署 (最简单快捷)

docker pull superneed/global-radio:latest
docker run -d --name global-radio --restart unless-stopped -p 8080:80 superneed/global-radio:latest

通过浏览器访问 http://localhost:8080/ 即可。

方式 B:本地构建镜像并运行 (适合有定制需求的用户)
首先安装Docker,然后:

docker build -t global-radio:latest .
docker run --rm -p 8080:80 global-radio:latest

同样,浏览器访问 http://localhost:8080/

生产环境建议
对于生产环境,主题铺建议使用Nginx或Caddy等Web服务器在宿主机上做反向代理,将外部请求转发到Docker容器内部的8080端口,同时配置自定义域名和HTTPS证书。这样既能利用Nginx的高性能静态文件服务和SSL加密,又能保持Docker容器的轻量和独立。

更新部署 (Docker)

docker build -t global-radio:latest .
docker rm -f global-radio || true
docker run -d --name global-radio --restart unless-stopped -p 8080:80 global-radio:latest

B. 本地开发与生产部署 (静态站点)

对于开发者或希望完全控制环境的用户,也可以选择本地安装Node.js环境进行开发和构建。

环境要求:Node.js 18+ (推荐18 LTS), npm 9+, Docker 20+ (仅Docker部署需要)。

获取源码

git clone https://github.com/moli-xia/global-radio.git
cd global-radio

本地安装与开发

npm ci
npm run dev -- --host 0.0.0.0 --port 4173

在浏览器访问 http://localhost:4173/ 或局域网 http://<你的电脑IP>:4173/

构建与预览

npm run build
npm run preview -- --host 0.0.0.0 --port 4173

构建后,dist/ 目录将包含优化后的静态文件。

生产部署 (静态站点)
主题铺推荐使用Nginx直接托管 dist/ 目录下的构建产物。

执行 npm run build 生成 dist/ 文件夹。

dist/ 目录内容复制到Web服务器的指定目录 (例如 /var/www/global-radio/dist)。

参考 nginx-static.conf 配置文件,设置Nginx的root路径指向 dist/,并确保SPA路由规则正确回退到 index.html

重载Nginx服务。

运维建议与注意事项

  • 生产环境:建议使用Nginx或Caddy托管构建产物,而不是长期运行Vite的开发或预览服务。
  • 缓存:对JS/CSS/SVG/PNG等静态资源开启缓存,但对index.html关闭缓存,以确保用户总能获取最新版本。
  • 内存缓存:首页“音乐电台/最新电台”列表有内存缓存(默认5分钟),刷新按钮可绕过缓存。
  • 无法访问:检查dist/目录是否存在index.html;确认Nginx配置(server_nameroot路径)无误;确保服务器防火墙/安全组已放行对应端口。

主题铺认为GlobalRadio凭借其现代化的技术栈、丰富的功能、便捷的部署方式以及对用户体验的极致追求,无疑是搭建个人或小型在线电台服务的绝佳选择。无论是技术爱好者还是普通用户,都能通过它轻松拥有自己的个性化电台平台。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
GlobalRadio全球电台源码-基于Vue 3+Vite构建
此内容为免费资源,请登录后查看
R币0
限时特惠
R币199
购买前必看:>>>新手必读<<<
📰 资源版本号0.0.1

👉 中文/英文

英文
✅ 资源授权GPL授权
🔍 域名限制不限制域名数量
👨‍💼 客服邮箱:support@zhutipu.com
有问题发邮件或反馈到评论区,24小时内答复。
免费资源
已售 42
评论 抢沙发

请登录后发表评论

    暂无评论内容