您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Music API for http://tool.liumingye.cn/music/ and http://tool.liumingye.cn/music_old/
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/474021/1465958/MyFreeMP3%20API.js
Music API for MyFreeMP3 and MyFreeMP3(old)
Requirements:
//@grant GM_xmlhttpRequest
//@connect api.liumingye.cn
//@connect api2.liumingye.cn
Usage: This method will request new or old api and provides a standardized callback argument object. Recommended.
Mfapi.search({
type: 'YQD', // Search songs in "M" then use "YQM", search in "B" then use "YQB", search in "D" then use "YQD", etc; Default: "YQD"
text: 'your search params', // Song name, artist names, etc
page: 1, // Default: 1
callback: function(json) { console.log(json); },
onerror: function(err) { console.log(err); }, // Default: function() {}
api: 'auto' // Which api to use, 'new','old' or 'auto' for automatically choose, Default: 'auto'
}, 3);
// The second argument is retry count, meaning how many retries we'll take before onerror got called.
// This number will be doubled if your api === 'auto' because we have to try both new and old apis if one of them is unavailable.
// Default: 3
You can specific different type
, text
, page
, callback
, and onerror
for different apis by providing an object. For example, if you want to search text 'Song A' while requesting 'new' api but search 'Song B' while requesting 'old' api, you can use code like this:
Mfapi.search({
type: 'YQD', // Search songs in "M" then use "YQM", search in "B" then use "YQB", search in "D" then use "YQD", etc; Default: "YQD"
text: {
new: 'Song A', // Search 'Song A' while requesting new api
old: 'Song B' // Search 'Song B' while requesting old api
},
page: 1, // Default: 1
callback: function(json) { console.log(json); },
onerror: function(err) { console.log(err); }, // Default: function() {}
api: 'auto' // Which api to use, 'new','old' or 'auto' for automatically choose, Default: 'auto'
}, 3);
This may be useful when api is 'auto'.
or you can request old or new api directly to access raw api return value.
Mfapi.new.search({ type, text, page, callback, onerror });
Mfapi.old.search({ type, text, page, callback, onerror });
The apis' token encoders are also provided as Mfapi.new.encode
and Mfapi.old.encode
, and there's also Mfapi.new.link
and Mfapi.old.link
methods which accepts a song object and a quality number and returns its download url.
Try it out yourself and look into the callback values!