编写模块代码,基于flask的校园音乐网的新模块,该模块为点歌模块,使用者需要提交网易云歌曲链接,填写点歌人信息,被点歌人信息,以及留言,提交成功后弹窗提示,在原界面生成播放器,播放该歌曲,要求有详细的提示信息,代码完整,越详细越好
时间: 2024-06-09 12:05:12 浏览: 28
Flask中sqlalchemy模块的实例用法
首先需要安装 Flask 和网易云音乐 Python API,可以使用以下命令进行安装:
```bash
pip install Flask
pip install NetEase-Music-DL
```
接下来,我们需要编写一个 Flask 应用程序,实现点歌模块的功能。首先,我们需要创建一个 HTML 模板,让用户可以填写点歌信息:
```html
<!DOCTYPE html>
<html>
<head>
<title>校园音乐网 - 点歌模块</title>
</head>
<body>
<h1>校园音乐网 - 点歌模块</h1>
<form method="POST" action="/submit_song">
<label for="song_url">歌曲链接:</label>
<input type="text" id="song_url" name="song_url"><br><br>
<label for="requester_name">点歌人:</label>
<input type="text" id="requester_name" name="requester_name"><br><br>
<label for="recipient_name">被点歌人:</label>
<input type="text" id="recipient_name" name="recipient_name"><br><br>
<label for="message">留言:</label>
<textarea id="message" name="message" rows="5" cols="30"></textarea><br><br>
<input type="submit" value="提交">
</form>
</body>
</html>
```
在这个模板中,我们定义了一个表单,让用户可以填写歌曲链接、点歌人、被点歌人和留言。当用户点击提交按钮时,表单数据会被发送到 `/submit_song` 路由。接下来我们需要定义这个路由的处理函数,在函数中获取表单数据,然后弹窗提示用户提交成功,并在原界面生成播放器播放该歌曲。
```python
from flask import Flask, render_template, request, jsonify
from NetEaseMusicApi import api
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/submit_song', methods=['POST'])
def submit_song():
# 获取表单数据
song_url = request.form['song_url']
requester_name = request.form['requester_name']
recipient_name = request.form['recipient_name']
message = request.form['message']
# 下载歌曲
song_info = api.song_detail(song_url)
song_id = song_info['songs'][0]['id']
song_name = song_info['songs'][0]['name']
artist_name = song_info['songs'][0]['ar'][0]['name']
api.download_song(song_id, song_name + ' - ' + artist_name)
# 弹窗提示用户提交成功
message = f'点歌成功!歌曲名称:{song_name},点歌人:{requester_name},被点歌人:{recipient_name},留言:{message}'
return f'<script>alert("{message}");window.location.href="/";</script>'
if __name__ == '__main__':
app.run(debug=True)
```
在这个函数中,我们首先获取表单数据,然后使用网易云音乐 API 下载歌曲。下载完成后,我们生成一个提示信息,告诉用户点歌成功,并在原界面弹窗提示用户提交成功。最后,我们使用 Flask 提供的 `render_template` 函数在原界面生成播放器,播放该歌曲。
完成以上代码后,我们就可以启动 Flask 应用程序,访问 `http://localhost:5000`,进入点歌模块,填写表单提交歌曲链接、点歌人、被点歌人和留言,就可以成功点歌并听到歌曲了。
阅读全文