第3篇 Scrum 冲刺博客(专✌️团队)
目录
一、站立式会议
1.1 会议照片

1.2 成员完成情况
|
成员 |
昨天完成的任务 |
今天计划完成的任务 |
工作中的困难 |
|
陈忠明 |
完善按不同条件查询歌曲 |
按下载热度返回歌曲信息,与前端尝试交互 |
跨域问题 |
|
吴茂平 |
完善用户系统 |
改进评论数据表,增加评论,删除评论,查询评论 |
评论的数据库设计不合理 |
|
黄海钊 |
整理数据库,上传音乐 |
维护数据库 |
数据库知识存在盲区 |
|
郑靓 |
完成设置中心页 |
完成下载中心 |
获取下载进度 |
|
杨锐龙 |
完成首页页面 |
完成登录静态界面 |
遇到css定位问题 |
|
吴尚谦 |
画好发现页静态页面,搭建axios尝试与后台交互数据 |
设计最新歌曲功能 |
跨域问题 |
二、项目燃尽图

三、成员代码/文档签入记录
3.1 代码签入
后台:

前端
:
3.2 Issue链接
| 成员 | Issue链接 |
| 陈忠明 | |
| 吴茂平 |
改进评论数据表,增加评论,删除评论,查询评论 |
| 黄海钊 |
维护数据库 |
| 郑靓 | |
| 杨锐龙 | |
| 吴尚谦 |
3.3 CodeReview代码规范文档

四、最新项目程序/模块
4.1 程序代码
按下载热度返回歌曲信息(后台代码):
/**
* 获取歌曲列表
* @param pageRequest
* @param sortByDownloadNum true:按下载热度降序返回 false:按上传时间逆序返回
* @return
*/
@RequestMapping("/songList")
public PageInfo<Song> SongList(PageRequest pageRequest, boolean sortByDownloadNum){
return songService.getPageInfoTotal(pageRequest, sortByDownloadNum);
}
public PageInfo<Song> getPageInfoTotal(PageRequest pageRequest,boolean sortByDownloadNum) {
PageHelper.startPage(pageRequest.getPageNum(), pageRequest.getPageSize());
if(sortByDownloadNum) {
return new PageInfo<Song>(songDao.selectAllOrderByDownload());
}else {
return new PageInfo<Song>(songDao.selectAll());
}
}
最新歌曲功能(前端代码):
<template>
<div>
<el-table
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%">
<!-- @selection-change="handleSelectionChange"> -->
<el-table-column
prop="name"
label="序号"
type="index"
width="70">
</el-table-column>
<!-- <el-table-column
type="selection"
width="70">
</el-table-column> -->
<el-table-column
prop="name"
label="歌曲"
width="340">
</el-table-column>
<el-table-column
prop="author"
label="歌手"
width="190">
</el-table-column>
<el-table-column
prop="address"
label="分享者"
width="190">
</el-table-column>
<el-table-column
prop="name"
label="操作"
width="160">
<template slot-scope="scope">
<operate-pane @play="createPlay(scope.$index)"></operate-pane>
</template>
</el-table-column>
</el-table>
<el-pagination
class="pageControl"
background
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="pages">
</el-pagination>
</div>
</template>
<script>
import operatePane from'@/components/operation'
import {mapMutations,mapGetters} from 'vuex'
import { request } from '../api/http'
export default {
data() {
return {
tableData:[],
isPlay:false,
vedio:Object
}
},
mounted(){
this.getSongs()
},
methods:{
createPlay(index){
if(this.isPlay){
document.body.removeChild(this.vedio)
this.isPlay=false
}
this.vedio=document.createElement("audio")
let baseSrc="http://120.24.35.66:8080/files/songs/"
this.vedio.src=baseSrc+this.currentList[index].path
// this.vedio.control
console.log(this.vedio.src,index,this.currentList[index].path)
document.body.appendChild(this.vedio)
this.vedio.play()
this.isPlay=true
// document.body.removeChild(vedio)
},
getSongs(){
const content={
pageNum:1,
pageSize:15,
sortByDownloadNum:false
}
request("/song/songList",content,"get").then((e)=>{
console.log(e)
this.setCurrentData(e)
this.tableData=this.currentList
})
},
handleCurrentChange(val) {
const content={
pageNum:`${val}`,
pageSize:15,
sortByDownloadNum:false
}
request("/song/songList",content,"get").then((e)=>{
console.log(e)
this.setCurrentData(e)
this.tableData=this.currentList
})
console.log(`当前页: ${val}`);
},
...mapMutations({
setCurrentData:"setCurrentMusicData"
})
},
computed: {
currentList(){
return this.currentMusicDate.list
},
pages(){
return this.currentMusicDate.pages*10
},
...mapGetters([
"currentMusicDate"
])
},
components:{
operatePane
}
}
</script>
<style scoped>
.pageControl{
padding: 40px 0px 70px 0px;
}
</style>
4.2 运行截图



五、成员每日总结
|
成员 |
小结 |
|
陈忠明 |
开发时要注意遇到跨域问题 |
|
吴茂平 |
存储结构很重要 |
|
黄海钊 |
今天又学到了新的知识 |
|
郑靓 |
相信在队友们的支持下一定可以完成这个系统 |
|
杨锐龙 |
学习了css中class类的用法和position的相关定位和了解<el-container>等分模块的使用。 |
|
吴尚谦 |
与后台交互成功,迈出走向成功的第一步✌️,感谢队友的不离不弃,感谢后台的强大。 |

浙公网安备 33010602011771号