• 听书项目总结


    一、项目简介

    1.项目背景

            当今社会,人们在高速高效的工作与生活节奏下,需要一定的放松与娱乐,而有声读物、音乐故事等为人们提供了一种很好的休闲方式。在这里,听书作为一个听音乐与创作音乐的平台,也在有声读物方面也为人们提供了一个不错的选择。

    2.项目描述

            访问听书平台,用户可以直接挑选对应专辑进行歌曲的播放,同时在登录创作中心后还可以进行自己的创作,可以通过上传与录制音频,创建专辑绑定音频来生成自己的音频与音频专辑。

    二、项目功能

    1.技术栈

    Java、Servlet、Json、Ajax、HTML、MySQL、MediaDevices等

    2.主要功能

    针对不同用户有不同功能(普通用户+UP主)

    1)普通用户:无需登录就可使用,数据库中不保存这类用户信息

            a.直接访问首页,查看全部专辑并选择喜欢的专辑进行音频播放

            b.游客可以登录创作中心注册成为UP主

    2)UP主:需要登陆后使用,数据库中保存着这类用户信息

            进行登录、注册、退出操作

            上传音频、录制音频、查看音频列表

            创建专辑、绑定音频、显示专辑列表(包含专辑发布状态等

    三、准备工作

    整体框架:项目整体基于HTTP协议,前端采用HTML+JS+CSS来进行页面的整体布局,后端采用分层结构,分为Servlet层、Service层、Repo层、Dao层的设计,便于分类设计。

    前端HTML+JS+CSS整体对页面进行布局
    后端servlet对象处理过程的对象,动态资源,负责处理HTTP的输入输出
    service对象当数据来自多张表时用于组织结构
    repository对象Dao层,单表直接访问数据库的相关操作,直接使用SQL对数据库进行增删查改
    date_object(DO)对象描述从数据库中直接取出来的对象
    view_object(VO)对象描述展示出去的数据,一般通过JSON做序列化

    库表创建:

    用户表usersuidusernamepassword
    音频表trackstiduidtitle(标题)type(类型)content(内容,二进制形式)
    专辑表albumsaiduidtitle(标题)cover(封面)state(发布状态)
    关系表relationsridaidtid

    四、功能点

    web资源:

    功能路径资源
    首页展示专辑

    /index.html

    /js/index.js

    /album-list.json

    播放页播放专辑中歌曲

    /play.html?aid=

    /js/play.js

    /album-detail.json?aid=

    用户管理

    注册

    /studio/user/register.html

    /studio/user/register.do

    登录

    /studio/user/login.html

    /studio/user/login.do

    退出

    /studio/user/quit.do

    音频管理

    上传音频

    /studio/track/upload.html

    /studio/track/upload.do

    录制音频

    /studio/track/record.html

    /studio/track/js/record.js

    /studio/track/record.json

    音频列表

    /sudio/track/list.html

    /sudio/track/js/list.js

    /sudio/track/list.json

    专辑管理

     创建专辑

    /studio/album/create.html

    /studio/album/create.do

    专辑列表

    /studio/album/list.html

    /studio/album/js/list.js

    /studio/album/list.json

    展示已关联音频

    /studio/album/bind.html?aid=

    /studio/album/js/bind.js

    /studio/album/bind.json?aid=

    绑定新的音频关联

    /studio/album/add.html?aid=

    /studio/album/js/add.js

    /studio/album/candidate.json?aid=

    /studio/album/add.do

    专辑状态—发布专辑

    /sudio/album/publish.do?aid=

    专辑状态—下线专辑

    /sudio/album/withdraw.do?aid=

  • 相关阅读:
    【剑指Offer】13.机器人的运动范围
    P35 set 找不同
    MySQL 与 PostgreSQL的区别
    命令行下编译与运行简单的OC程序
    奇舞周刊第 506 期: Nest 实现扫码登录
    java学习笔记(十一)—— 异常机制
    Vue脚手架④
    计算机图像处理-均值滤波
    苹果手机适配Xcode14及iOS 16操作系统
    mac apktool安装
  • 原文地址:https://blog.csdn.net/m0_58006481/article/details/126222721