后台服务设计
1. 登陆模块

登陆接口为POST /api/user/login,负责用户登陆的相关功能。
用户发起登陆请求时,参照微信登录以及获取开放数据的官方文档,服务器访问微信官方服务器进行登陆,获取加密的用户信息。使用官方指定的解密方法,得到用户的openid、昵称、头像等信息。
首先调用getUser()访问数据库获取用户信息,若不存在,则调用createUser()在数据库中插入新的用户信息;若用户存在,则调用updateUser()更新用户信息。
2. 音乐生成模块

关于音乐的接口为/api/music/xxx,负责与音乐相关的功能。
GET /api/music/get调用getMusic(),访问数据库,获取相关音乐信息。类似的接口还有GET /api/music/get_list、GET /api/music/get_list_count,图中未列出。
GET /api/music/delete调用deleteMusic(),删除指定音乐。
POST /api/music/generate调用generateMusic()生成音乐。首先通过命令行调用python运行模型,生成.mid格式的音乐文件。然后通过命令行调用timidity和ffmpeg将.mid格式的音乐格式转换为.MP3格式,存储在music files中。最后将相关音乐信息写入数据库中。
Author: 冯旭
Create Time: 2022-02-18
Update Time: 2022-02-18