编写模块代码,基于flask的校园音乐网的新模块,该模块为点歌模块,使用者需要提交网易云歌曲链接,填写点歌人信息,被点歌人信息,以及留言,提交成功后弹窗提示,在原界面生成播放器,播放该歌曲,要求有详细的提示信息
时间: 2024-05-10 10:16:23 浏览: 115
首先需要安装 Flask 和网易云音乐api,可以通过以下命令进行安装:
```
pip install flask
pip install NeteaseMusicApi
```
接着,我们可以编写一个 `app.py` 文件来实现点歌模块的功能:
```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', methods=['POST'])
def submit():
song_url = request.form['song_url']
singer_name = request.form['singer_name']
receiver_name = request.form['receiver_name']
message = request.form['message']
# 使用网易云音乐API获取歌曲信息
song_info = api.search(song_url)
song_name = song_info['result']['songs'][0]['name']
song_id = song_info['result']['songs'][0]['id']
# 构造播放器
player_code = '<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id={}&auto=0&height=66"></iframe>'.format(song_id)
# 弹窗提示
message = '点歌成功!'
# 返回结果
result = {
'song_name': song_name,
'singer_name': singer_name,
'receiver_name': receiver_name,
'message': message,
'player_code': player_code
}
return jsonify(result)
if __name__ == '__main__':
app.run(debug=True)
```
在这个代码中,我们首先导入了 Flask 和网易云音乐API,然后定义了两个路由:
- `/`:显示点歌页面的主页
- `/submit`:接收用户提交的表单数据,并返回点歌结果
在 `/submit` 路由中,我们首先获取用户提交的表单数据,然后使用网易云音乐API获取歌曲信息,构造播放器代码,弹窗提示点歌成功,并将结果以 JSON 格式返回。
最后,我们通过 `app.run()` 启动应用程序,并在 `debug` 模式下运行。在 `templates` 文件夹中,我们还需要创建 `index.html` 文件,用于显示点歌页面的主页。可以根据需要自行编写该文件。
阅读全文