V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
imba97
V2EX  ›  分享创造

写了个简单的页面,分享此时此刻在听的歌

  •  1
     
  •   imba97 ·
    imba97 · 146 天前 · 2558 次点击
    这是一个创建于 146 天前的主题,其中的信息可能已经有所发展或是发生改变。

    演示

    页面是 https://test.imba97.cn/playing

    因为是个网页,所以还可以通过 iframe 分享到各处

    原理

    最近发了篇博客文章:《自建音乐服务 Navidrome 》,里面提到可以使用 last.fm 来保存听歌历史

    通过这个网站的接口可以拿到播放列表,根据听歌的先后顺序,也有当前是否正在播放的字段

    后端

    Chat GPTPHP 写了个程序,功能就是简单的请求接口、10 秒数据缓存

    因为 last.fm 接口给的图片国内没法访问,所以图片优先获取 itunes 上的,如果都没图,保底还会有个 icon

    前端

    用 Vue 简单写了个前端,10 秒轮询调接口获取最新数据

    可以展示加载中、当前未听歌、当前正在听歌状态

    用了 UnoCSS ,永远的神!

    开源

    Github: imba97/playing-music

    13 条回复    2024-06-24 14:32:09 +08:00
    itskingname
        1
    itskingname  
       146 天前
    那都好,就是不该用 php 。
    imba97
        2
    imba97  
    OP
       146 天前
    @itskingname 随便写的,主要是我这边用 PHP 最方便,传到服务器就能跑
    Raikiriww
        3
    Raikiriww  
       146 天前
    为什么要听春日影!
    jianyestudy
        4
    jianyestudy  
       146 天前
    @itskingname 不敢苟同
    cheung
        5
    cheung  
       146 天前
    PHP 是……
    itskingname
        6
    itskingname  
       146 天前
    @jianyestudy 我发现一个非常好的项目,一看它的语言竟然是 php 或者 java 。那就是垃圾项目。
    imba97
        7
    imba97  
    OP
       146 天前
    @Raikiriww 大祥老师别破防
    imba97
        8
    imba97  
    OP
       146 天前
    @itskingname 太强了,加油保持
    kiduu
        9
    kiduu  
       146 天前
    @itskingname 阁下未免也太魔怔了,用语言区分项目的好坏。小孩子吗
    rjomg
        10
    rjomg  
       146 天前
    @kiduu
    其实很多时候成年人才会这么魔怔
    毕竟种话一般来自于"个人经验"
    imba97
        11
    imba97  
    OP
       146 天前
    @rjomg 确实,见证了太多的世界多样性之后再看到都毫无波澜了
    ajan
        12
    ajan  
       143 天前
    10 年前流行过...
    imba97
        13
    imba97  
    OP
       143 天前
    @ajan 10 年前我刚入坑
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3728 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:13 · PVG 08:13 · LAX 16:13 · JFK 19:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.