设计内容:
音乐网站网站是一款提供在线播放音乐和下载音乐功能的网站,具有音乐排行榜、歌星排行榜、音乐分类三个板块,并提供查询功能,要求如下:
① 页面布局合理,色彩和谐,链接正确,图文并茂,网页总数不少于8页。
② 网站结构合理,对网站中的文件要按文件类型建立相应的文件夹存放。
③ 要使用HTML、CSS和Javascript技术
④ 以下技术根据自己的实际掌握情况可选:
1)HTML5
2)Jquery
3)Bootstrap
Vue.js(或React.js或Angular.js)
摘 要
音乐网站设计是设计开发一个音乐播发及音乐推荐平台,该平台可以根据用户的喜好推荐音乐,还可以为用户推荐当前热门歌曲和人气排行等大众喜欢的歌曲推荐给用户,满足用户的音乐需求。html、css、以及vue框架等技术实现了音乐播发及音乐推荐平台,此平台具有用户登录、歌曲搜索、热门歌曲推荐、用户喜欢歌曲推荐、歌曲排行推荐等主要功能。
关键词:音乐网站;需求分析;系统设计
1.课题描述
互联网式的音乐传播彻底改变了原有传统的音频传播途径与方式,方便的传播途径,高效的传播效率,有利于社会资源的最大化利用[5]。由于音乐平台使用方便,越来越受到大家地欢迎。但这也导致了中国的音乐网站平台数量的激增,网站为了能够有自己稳定的使用者,网站之间的竞争也空前激烈,为能在中国众多的音乐平台中起到领导地位,建立一个具有自己特色的,功能详细,实用的音乐播放及音乐推荐平台尤为重要。
音乐网站使用电脑对音乐进行管理,给用户一个良好的视觉呈现成果,通过页面元素的布局让用户直接可以进行查询搜索功能操作,进行登录操作后进行个人信息的设计以及对自己喜欢歌曲的管理。
2 应用技术
本次实训是关于音乐网站的设计,主要是进行计算机前端内容的编写,前端开发是创建WEB页面或APP等前端界面呈现给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术,本文用的是VUE框架,解决方案,来实现互联网产品的用户界面交互。
2.1HTML5
HTML5 是定义 HTML 标准的最新的版本。该术语通过两个不同的概念来表现:它是一个新版本的HTML语言,具有新的元素,属性和行为,它有更大的技术集,允许构建更多样化和更强大的网站和应用程序。这个集合有时称为HTML5和它的朋友们,不过大多数时候仅缩写为一个词 HTML5。
它能够让你更恰当地描述你的内容是什么。能够让你和服务器之间通过创新的新技术方法进行通信。能够让网页在客户端本地存储数据以及更高效地离线运行。使 video 和 audio 成为了在所有 Web 中的一等公民。提供了一个更加分化范围的呈现选择。提供了非常显著的性能优化和更有效的计算机硬件使用。能够处理各种输入和输出设备及样式设计。
2.2 CSS
CSS是CascadingStyle Sheets (层叠样式表)的简称,是一组格式设置的规则和外观样式的定义M。CSS在Web应用程序界面中起到重要的作用:CSS简化了网页的代码,提高了网页的访问速度。因为外部的CSS文件会被浏览器保存在缓存中,从而加快了页面显示的速度,同时也减少了上传的代码量;CSS让网页更容易维护,其便于修改网站的样式,只需要修改CSS文件就可以改变整个网站的类型特色,避免了一个一个网页的修改,大大的减少了开发人员的工作量,而且已经定义过的css文件可以重用,即重用原来网页的样式;css使网页的功能更为强大,用户可以根据自己的需求来定义页面的显示类型等以及一些页面的特效等;同时,它将页面显示的内容与显示样式相分离,两者可以是单独的文件即.html文件和.css 文件,便于开发人员的修改和维护。
2.3 js
JavaScript是一种属于网络的脚本语言,已经被广泛应用于Web开发,常用于为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript是通过嵌入在HTML里来实现其功能。
1、是一种解释性脚本语言。
2、主要用来向HTML页面添加交互行为的语言。
3、可以直接嵌入HTML页面,但写成单独的JS文件更加的有利于代码的分离,利于后期的维护。
4、跨平台特性,能够在绝大多数浏览器的支持下,可以在多种平台下运行。
2.4 vue框架
Vue 是一款用于构建用户界面的JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。
2.5数据库MYSQL
数据库(database)就是一个存储数据的仓库。为了方便数据的管理与储存,它将数据按照特定的条件存储在磁盘上。通过数据库管理系统,可以高效的处理和管理存储在数据库中的数据。而且MySQL数据库可以说是是目前运行速度最快的SQL语言数据库。具有快捷、便捷、易用、高效、安全、大批量等优点。
3 需求分析
需求分析是经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。本系统是一个音乐网站的设计,为了给用户提供一个听歌且为用户推荐其个人感兴趣歌曲的平台。用户注册成为系统用户后可以对系统中的歌曲进行播放,在系统的页面搜索中查询歌曲,用户可以给歌曲进行评论,平台会展示热门歌曲给用户,为用户推荐个性化的歌曲,用户在平台中管理自己的信息。
3.1功能分析
音乐播放及音乐推荐平台主要功能是让用户满足听歌并为用户推荐歌曲的作用。用户在系统中可以查询歌曲信息、对歌曲进行评价,为用户提供个性化的服务。
本系统主要模块:
1.用户登录
登录是为保障系统的安全,用户输入账号密码然后进行登录进入系统主界面。
2.主界面
主界面是系统的主要功能展示的界面,为用户提供最核心的功能以及指引用户操作。
3.歌曲搜索
可以搜索歌曲信息。
4. 热门歌曲推荐
将热门歌曲推荐给用户。
5.用户喜欢歌曲推荐
平台推荐用户可能喜欢的歌曲。
6. 歌曲排行推荐
将平台歌曲进行一个排名,给用户提供歌曲选择的信息。
7. 歌曲评论及展示
用户可以给歌曲评论及看其他用户评论。
8. 歌曲分类展示
可以将歌曲分类并展示用户查看。
3.2性能分析
每个用户自己的需要不同,考虑以后的发展和同时使用系统的情况,要求系统具备一下性能:
1)系统要满足用户注册登录功能,方便每个用户的使用。
系统要满足用户搜索功能,方便用户对音乐的选择。
4系统设计
系统设计是根据系统分析的结果,运用系统科学的思想和方法,设计出能最大限度满足所要求的目标的新系统的过程。系统设计内容,包括确定系统功能、设计方针和方法,产生理想系统并作出草案,通过收集信息对草案作出修正产生可选设计方案,将系统分解为若干子系统,进行子系统和总系统的详细设计并进行评价,对系统方案进行论证并作出性能效果预测。
4.1整体布局
页面整体布局 为头,主体和底部三部分,上中下三栏布局。头部导航栏和底部是固定的,当点击导航栏的首页,歌单,歌手,我的音乐,搜索框,登录和注册,在主体部分会显示相应内容,效果图如下图1所示。
图4.1整体布局图
5 网站与网页设计内容
内部部分主要通过下面几个模块来进行陈述,分别是注册部分,登录部分,导航栏部分,首页部分人,歌手部分,歌曲部分,我的音乐七大部分。
5.1注册部分
首先用户可以先注册账号 ,通过表单来输写个人信息,其中 用户名 密码,性别和生日为必填写内容,手机号,邮箱,地区为非必填项目。
图5.1注册图
<template>
<div class="info">
<p class="title">编辑个人资料</p>
<hr/>
<div class="personal">
<el-form :model="registerForm" class="demo-ruleForm" label-width="80px">
<el-form-item prop="username" label="用户名">
<el-input v-model="registerForm.username" placeholder="用户名"></el-input>
</el-form-item>
<el-form-item prop="password" label="密码">
<el-input type="password" placeholder="密码" v-model="registerForm.password"></el-input>
</el-form-item>
<el-form-item label="性别">
<el-radio-group v-model="registerForm.sex">
<el-radio :label="0">女</el-radio>
<el-radio :label="1">男</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="phoneNum" label="手机">
<el-input placeholder="手机" v-model="registerForm.phoneNum" ></el-input>
</el-form-item>
<el-form-item prop="email" label="邮箱">
<el-input v-model="registerForm.email" placeholder="邮箱"></el-input>
</el-form-item>
<el-form-item prop="birth" label="生日">
<el-date-picker type="date" placeholder="选择日期" v-model="registerForm.birth" style="width: 100%;"></el-date-picker>
</el-form-item>
<el-form-item prop="introduction" label="签名">
<el-input type="textarea" placeholder="签名" v-model="registerForm.introduction" ></el-input>
</el-form-item>
<el-form-item prop="location" label="地区">
<el-select v-model="registerForm.location" placeholder="地区" style="width:100%">
<el-option
v-for="item in cities"