简介

本项目为本人学习项目,复用某站某马教学中的播放器文件,初衷是完成前后端分离的项目,但在实现细节上有诸多不足。

设计思路还是以原神为素材(主要免费),音视频来源于酷狗(会员下载),加入了主题切换,头像切换,MV视频播放,帖子发布(单表的增操作在UI中的实现),用户及其它相关信息为静态数据,提供了接口,但未实现。

在实现上分为,Java后端,arkts前端,minio对象存储服务,redis服务。项目运行需要开启redis服务,获取数据需要开启minio服务,用本机无线局域网适配器 WLAN:ipv4地址,替项目中的ipConfig文件中的ip地址,即可完成数据获取。

需要注意的是数据中的ip地址不能直接在浏览器访问,需要修改ip地址。在项目中不需要修改,项目中进行了ip替换工具文件,只需要修改ipConfig中的ip地址。

仿制版本https://blog.csdn.net/qq_68278434/article/details/149497282?spm=1011.2124.3001.6209

项目结构

前端(arkts)

前端项目除数据部分,可直接在预览器中产看UI效果,其余不支持的部分需要打开模拟器进行查看,数据需要后端项目运行。若不想运行后端项目,可以只启动minio服务后,直接将数据路径将入到项目中作为静态数据进行访问。不建议这么操作,下载链接中提供完整的内容,数据库配置后可以直接运行。

项目中的大多数语法为arkts基础语法,项目结构与后端结构类似,分为三层架构模式,更好的管理和理解代码,复杂逻辑交由后端完成,前端尽量只渲染UI。

接口(api) ——> 服务(services)——> UI(pages)

围绕UI进一步丰富内容,实现上较为简单,实现了轻微分层结构,因此大多为主页面到组件,少部分完成完整分层。

主页面(pages)——>  子页面 ——> 组件(components)

后端(springboot)

运行后端项目需要启动redis服务,连接数据库,再启动minio服务即可完成对arkts前端获取数据的支持,路径中的ip不需要更改,在arkts前端中实现了对ip的替换,只需要在ipConfig中进行一次修改,

再次说明:模拟器与本机之间的数据传输通道为无线局域网适配器 WLAN:ipv4地址,该地址由电脑动态分配,每天都不一样(可以设置固定值),需要进行cmd输入ipconfig查看,获取后只在ipConfig文件中的对应位置修改,并且只修改一处即可

1,使用若依框架前后端分离版本,需要启动redis服务才能运行后端项目。

2,vue前端用来管理数据和代码的快速生成。

3,本项目对接口进行了公开。若需要token验证功能,vue前端中有对应的权限标识,并且记得修改token过期时间(默认30分钟),arkts前端服务中加入请求头即可。

4,模块添加在ruoyi-system下,数据库为sql文件包下的hrms库,修改数据库用户名密码后即可访问数据库。

UI界面实现效果  

以下为预览器效果,矢量图来源于https://www.aigei.com/icon,主页VIP专属及底部分类歌曲从接口获取,其余为静态数据。

                                                    

播放页效果,播放器文件复用,但完善了教学中的手动点击添加歌曲到部分列表,播放界面的播放列表无需手动添加,点击歌曲后会将所在分类中的所有歌曲信息获取,MV与歌曲之间的播放不影响,但并没有进行关联,只完成了播放。

                                                                 

部分界面效果展示,其余界面不再展示。界面中的内容基本实现可点击交互和对应功能,对于需要集成第三方的插件或鸿蒙官方提供的功能但代码复杂的未进行添加

                                             

以上UI只实现大致效果,在美化上有很多不足,算是经验不足吧,部分缺陷在对应内容完成后才意识到。比如主题字段缺失,代码实现方案,分层设计不完善,后端处理不到位等等。再接再厉吧!

优化

后端需优化

minio集成问题:未替换若依框架默认存储,导致minio有点多余,数据访问也可以绕过后端,只不过代码量大一点。

少量数据可以使用鸿蒙云存储进行测试(有免费额度,仅测试够用)。

token:实现token验证加入刷新token,登录token及刷新token确保长时连接不中断,

数据库字段命名:命名不太规范,乱七八糟的,包括表名

前端需优化

登录接口未实现:

用户接口未实现:部分功能及数据未完成与用户的绑定

VIP接口未实现:相关规则设计不完善

部分功能未实现具体效果

总结

总的来说,对于主题的加入,还是比较满意的,虽算不上圆满,但总得结束。

后续我会对主题模块进行再次优化设计,将更多的角色加入进来,设计角色对应的颜色搭配,简化应用。

下载链接

通过网盘分享的文件:我的资源
链接: https://pan.baidu.com/s/1_w6SdihI1ywfKR2xjtjJJg?pwd=w3m7 提取码: w3m7

上传限制原因,minio文件资源为下载文件

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐