Yin-Hongwei / music-website

🎧 Vue + SpringBoot + MyBatis 音乐网站
Apache License 2.0
5.5k stars 1.46k forks source link

歌曲的上传下载功能怎么使用 好像没有 #3

Closed liu347881922 closed 5 years ago

liu347881922 commented 5 years ago

歌曲的上传下载功能怎么使用 好像没有

Yin-Hongwei commented 5 years ago

music-client是客户端,music-manage是管理端,上传是在管理端,下载是在客户端,上传的实现分了两部,第一步先把歌曲的信息发送到服务器存到数据库,然后返回它新建立的id给管理端,管理端拿到这个id后将歌曲上传到后端,上传歌曲用的是原生ajax写的,代码在这里:

屏幕快照 2019-09-13 上午9 15 55

下载的话就是拿到歌曲的url后又打开了一个窗口直接能下,但是这种的很不友好,最近有时间再优化一下。代码在这里:

屏幕快照 2019-09-13 上午9 35 08
Yin-Hongwei commented 5 years ago

管理端左侧有歌曲信息,点开后最上面搜索框右边就能添加音乐,添加成功会有提示,一直往下滑就能看到新加的音乐。 客户端音乐控制键最下面有个下载图标,随便点开一首歌点那个图标就可以下了。

liu347881922 commented 5 years ago

好的 我去试一试 谢谢大佬 已star

Yin-Hongwei commented 5 years ago

哈哈哈,谢谢啦,我完了改改下载那里,原先的太不舒服了。

liu347881922 commented 5 years ago

$WQ`KS IMJY`NV)`C4{6Y)L

我遇到的问题的这个下载按键按了没响应也不报错 7X~O(I4CRF@ZL99 TEL9KII g歌曲信息不加载,而且添加时永远显示找不到歌手,也没有报错信息

Yin-Hongwei commented 5 years ago

我上传的逻辑有点绕,因为每个音乐都有对应的歌手,所以数据库里存音乐的时候也要把歌手id加进去,所以在加音乐的时候这个歌手必须有。你加的时候歌手写个数据库里有的歌手名字。 上传那里应该是前几天我调整组件结构时候有地方忘改了,刚刚又push了一遍,你看下。(改了下PlayControl这个组件。

liu347881922 commented 5 years ago

放了 我ke'h客户端可以显示也可以播放 }K44_V2{3L`10HZ8~2MIYOV

Yin-Hongwei commented 5 years ago

咦?你管理端音乐能显示吗?

liu347881922 commented 5 years ago

管理端可以显示用户 歌单 歌手信息 但是歌曲信息不显示 还有就是歌手信息编辑按钮没响应

Yin-Hongwei commented 5 years ago

你点开歌曲信息时候控制台显示的什么?

liu347881922 commented 5 years ago

server的控制台没有报错 前端控制台报这几个错 大佬你那边测试是可以显示歌曲信息的吗 FD@NL RR6L(W}H$6GQNS@ R

Yin-Hongwei commented 5 years ago

好的,我修复一下。谢谢啦

liu347881922 commented 5 years ago

没有没有 我最近正在学vue.js 这个项目很有学习意义 大佬还这么热心回答 真的太感谢了

Yin-Hongwei commented 5 years ago

哈哈哈,没事儿啦

Yin-Hongwei commented 5 years ago

歌手信息编辑不了是日期格式化的问题,歌曲信息显示不了是析歌词时候出现的问题。我刚刚push了,看看现在怎么样了

Yin-Hongwei commented 5 years ago

解析歌词原先用的是forEach遍历的,但是这种循环缺点是不能终止,所以里面需要逻辑判断的时候不能用这个,我换成for-of遍历了,这里的解析和客户端的解析有点不一样,用不着播放时候歌词高亮、滑动之类的,所以解析时候我改成只保留歌词部分,时间去掉了。

liu347881922 commented 5 years ago

谢谢 ,
已经拉取出数据了 小问题就是 上传的音乐的信息 填的歌手是用来检索的 用户端 看歌名会显示歌手信息下 除非(歌手)-(歌名)的格式填写

liu347881922 commented 5 years ago

这些小问题我尝试着修改下吧 顺便看能不能做个分页,数据多了一直往下翻有点费劲,现在对vue.js不是很熟悉 之前用的angular 正好练习下

liu347881922 commented 5 years ago

还有就是上传的音乐无法播放 歌单 歌手 歌曲图片改变不了

Yin-Hongwei commented 5 years ago

用户端看歌名的方式修改了下,图片能上传,你把图片大小弄小点,对大小有限制。

liu347881922 commented 5 years ago

X}W V6KN42CE }MHPJ45(40 不是大小问题 是上传路径问题

liu347881922 commented 5 years ago

将数据文件从music-server下移到同级目录 修改那四个controller url 解决了

Yin-Hongwei commented 5 years ago

好的,管理端歌曲信息那里显示音乐的组件我用的vue-aplayer组件,这里用这个不合适,显示的音乐多,加载太吃内存,我有时间了修改下这里,还有就是分页问题,其实歌单那里,往歌单里加歌曲逻辑有点绕,也得优化,管理端代码有点啰嗦,可以再提炼。

liu347881922 commented 5 years ago

已经很厉害了 那些都是小问题 谢谢大佬热心回答我的问题

Yin-Hongwei commented 5 years ago

哈哈哈,客气啦,有什么问题再问,一起学习😬

liu347881922 commented 5 years ago

测试中发现 歌单删除和歌单内歌曲删除存在获取id为空和未定义的情况 java.lang.NumberFormatException: For input string: "undefined" java.lang.NumberFormatException: For input string: "" ZOKR4XD178}Y6$JHVUB5RLV

Yin-Hongwei commented 5 years ago

前端获取ID的数组不对,还有后端有个接口忘写了,我有点事儿,晚上改,谢谢指出,哈哈哈

Yin-Hongwei commented 5 years ago

问题修复了,已经push了,顺便重写了下歌曲信息那个组件,引用vue-aplayer组件用在这里太吃内存了,还有调整了下代码和项目结构。

liu347881922 commented 5 years ago

收到 上传音乐那里推荐SongController的 addSong那歌词添加数据库时改为 String lyric = "[00:00:00]"+req.getParameter("lyric").trim(); 不然没添加歌词时会因为没有[00:00:00]显示不出歌曲,我这边测试是这样的 ,不知道大佬那会不会有这情况

Yin-Hongwei commented 5 years ago

哈哈哈,是的,谢谢指出

Yin-Hongwei commented 5 years ago

那个问题是之前前端解析歌词导致的问题,我改前端解析方式了,所以后端可以不动。