2023-12-11 10:31:07 +00:00
|
|
|
|
import json
|
|
|
|
|
import pkg_resources
|
|
|
|
|
|
|
|
|
|
# 载入配置
|
|
|
|
|
resource_path = pkg_resources.resource_filename(__name__, 'config.json')
|
|
|
|
|
|
2023-12-14 09:50:37 +00:00
|
|
|
|
# 不被支持的接口
|
|
|
|
|
exclude = ["/request/reference", "/avatar/upload", "/cloud", "/playlist/cover/update", "/voice/upload",
|
|
|
|
|
"/register/anonimous", "/verify/getQr"]
|
|
|
|
|
|
2023-12-11 10:31:07 +00:00
|
|
|
|
with open(resource_path, 'r', encoding='utf-8') as f:
|
|
|
|
|
config = json.loads(f.read())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def api_help(name: str = None) -> str:
|
|
|
|
|
"""
|
|
|
|
|
获取接口帮助
|
|
|
|
|
:param name: 接口名称
|
|
|
|
|
:return:
|
|
|
|
|
"""
|
|
|
|
|
if name is None:
|
|
|
|
|
result_str = ("from NeteaseCloudMusic import NeteaseCloudMusicApi, api_help, api_list\n\n"
|
|
|
|
|
"netease_cloud_music_api = NeteaseCloudMusicApi() # 初始化API\n"
|
|
|
|
|
"netease_cloud_music_api.cookie = YOUR_COOKIE # 设置cookie\n"
|
|
|
|
|
"response = netease_cloud_music_api.request(apiName, queryDict) # 调用接口\n\n"
|
|
|
|
|
"# Use ”help(apiName)“ to view detailed information about the interface\n"
|
|
|
|
|
"# Use ”api_list()“ to view the interface list")
|
|
|
|
|
elif name in api_list():
|
|
|
|
|
result_str = f'name: {name}\n {config[name]["name"]}\n {config[name]["explain"]}\n\n'
|
|
|
|
|
|
|
|
|
|
result_str += "query example: \n"
|
|
|
|
|
for example in config[name]["example"]:
|
|
|
|
|
index = config[name]["example"].index(example)
|
|
|
|
|
result_str += f'{json.dumps(config[name]["example"][index]["query"], indent=2, ensure_ascii=False)}\n\n'
|
|
|
|
|
else:
|
|
|
|
|
result_str = f'apiName: {name} not found,please use ”api_list()“ to view the interface list'
|
|
|
|
|
|
|
|
|
|
return result_str
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def api_list():
|
|
|
|
|
"""
|
|
|
|
|
获取接口列表
|
|
|
|
|
:return:
|
|
|
|
|
"""
|
2023-12-14 09:50:37 +00:00
|
|
|
|
return [item for item in list(config.keys()) if item not in exclude]
|