行业类别 | 格式 | 大小 |
---|---|---|
Mac媒体工具 | dmg | 66.9M |
描述
落网音乐电台这个小众的音乐网站官方是没有提供电脑客户端的,这里西西提供的这款Luoo.qy for mac是独立程序员开发的第三方客户端,虽说是第三方的客户端,不过制作一点也不差,改有的功能都有了,界面也是十分清爽简洁,推荐喜欢落网的用户下载使用。
软件介绍:
落网是另一个在小众音乐网站中比较「大众」的网站,拥有一批数量不多但是非常忠实的粉丝,其中当然不乏自力更生的程序员,同样是在官方没有推出电脑客户端(但是居然有 windowsphone 客户端......)的情况下制作了第三方客户端 —— Luoo.qy。
Luoo.qy 界面风格颇有微软流畅设计(Fluent Design)的风范,好看程度在所有音乐客户端里面属于第一梯队。大体上功能也没落下,是一个能用着很舒服的客户端,可以感受到制作它的作者是真正喜欢落网的。
技术实现:
技术栈
整个 Luoo.qy v1.0 项目采用了 MVVM 模式, 实现了前后端完全分离, 后端只负责响应前端的 API 请求;
整个前端技术栈由 v0.0 版本的 React 转向了 Vue; 后端技术栈也全面拥抱 JavaScript 生态, 由 Python + Flask 转为 Node + Koa (提供 API 接口) 和 Python + Urllib + Beautiful (爬取数据) 与 MongoDB (存储数据);
由于 V0.0 版本未使用状态管理, 使得某些功能的实现略显繁琐, 也造成了一些问题, 于是新版本理所当然的使用了 Vue + Vuex 组合, 实现前端的状态管理;
用户功能的实现
为了实现用户功能, 研究了落网的用户登录机制:
第一次访问网站的时候服务器会返回一个 key 为 "LUOOSESS" 的 Cookie, 当用户登录的时候, 带着这个 Cookie 与用户的账号和密码数据以 POST 方法向 "http://www.luoo.net/login/" 发送请求, 如果登陆成功, 服务端将会返回一段包含用户信息的 JSON 数据, 同时返回另一个 key 为 "lult" 的 Cookie;
当用户进行收藏 / 取消收藏时, 带着 key 为 "lult" 的 Cookie 向相应的 API 发送 POST 请求, 成功后服务端将返回一段 JSON 数据表示操作成功;
为了获取用户收藏, 采用爬虫的思路, 用 Node 的 request 模块访问用户收藏页面并解析 DOM 从而获取用户收藏列表;
更多细节请访问 user.js 文件;
自动更新与热更新
Electron 有好几个自动更新的模块可用, 但是都感觉过于繁琐, 于是采用了我在另一个项目 Page.qy 中实现的一个轻量级的自动更新模块来实现了增量更新与热更新;
采用文件热替换原理, 如果只更新了渲染进程, 更新完毕后只需要执行 webContents.reload() 甚至可以在不重启软件的情况下实现无痛更新!
文件信息
更新时间:2024-12-19
更新时间:2022-03-24
大小:66.9M
版本:v1.0 官方版
类型:Mac媒体工具
平台:Mac