Skip to content

后台服务设计

1. 登陆模块

wxapp-service_design-1

登陆接口为POST /api/user/login,负责用户登陆的相关功能。

用户发起登陆请求时,参照微信登录以及获取开放数据的官方文档,服务器访问微信官方服务器进行登陆,获取加密的用户信息。使用官方指定的解密方法,得到用户的openid、昵称、头像等信息。

首先调用getUser()访问数据库获取用户信息,若不存在,则调用createUser()在数据库中插入新的用户信息;若用户存在,则调用updateUser()更新用户信息。

2. 音乐生成模块

wxapp-service_design-2

关于音乐的接口为/api/music/xxx,负责与音乐相关的功能。

GET /api/music/get调用getMusic(),访问数据库,获取相关音乐信息。类似的接口还有GET /api/music/get_listGET /api/music/get_list_count,图中未列出。

GET /api/music/delete调用deleteMusic(),删除指定音乐。

POST /api/music/generate调用generateMusic()生成音乐。首先通过命令行调用python运行模型,生成.mid格式的音乐文件。然后通过命令行调用timidityffmpeg.mid格式的音乐格式转换为.MP3格式,存储在music files中。最后将相关音乐信息写入数据库中。

Author: 冯旭

Create Time: 2022-02-18

Update Time: 2022-02-18