目錄
- 一、摘要
- 1.1 項目介紹
- 1.2 項目錄屏
- 二、功能模塊
- 三、系統展示
- 四、核心代碼
- 4.1 查詢單首音樂
- 4.2 新增音樂
- 4.3 新增音樂訂單
- 4.4 查詢音樂訂單
- 4.5 新增音樂收藏
- 五、免責說明
一、摘要
1.1 項目介紹
基于微信小程序+JAVA+Vue+SpringBoot+MySQL的音樂平臺,包含了音樂檔案模塊、音樂收藏模塊、音樂訂單模塊,支持PC后臺和微信小程序用戶端使用,還包含系統自帶的用戶管理、部門管理、角色管理、菜單管理、日志管理、數據字典管理、文件管理、圖表展示等基礎模塊,基于微信小程序的音樂平臺基于角色的訪問控制,給音樂管理員、音樂用戶角色使用,可將權限精確到按鈕級別,您可以自定義角色并分配權限,系統適合設計精確的權限約束需求。
1.2 項目錄屏
二、功能模塊
隨著當今世界網絡和計算機的飛速發展以及智能手機的普及,人們的生活從過去的必須使用計算機進行工作、娛樂、信息獲取轉變為通過使用更加便利的移動設備去代替。小程序是一種全新的連接用戶與服務的方式,它可以在微信內被便捷地獲取和傳播,同時具有出色的使用體驗。在微信作為不可或缺的工具當下,微信小程序作為內置于微信內的功能平臺,能夠給絕大多數人帶來對于他們自己而言更簡易方便的使用感受及體驗。
同時,在如今的時代背景下,音樂對于大多數人來說亦是不可或缺的元素。從商場、超市、餐廳等等舒緩的背景音樂包括現在可以說是如日中天的抖音也是結合了音樂與短視頻,由此可見音樂的覆蓋面,將音樂與微信小程序相結合,相信是一種有可能性的研究內容。
- 前臺功能可含包用戶登錄注冊、搜索、播放按鈕、收藏列表等。
- 后臺功能用戶管理、音樂上傳、付費管理等。
- 網站前臺要求導航清晰、圖文并茂、風格統一,后臺要求功能完善、操作便捷。
- 系統代碼規范、運行穩定、安全性高,無明顯BUG。
三、系統展示
四、核心代碼
4.1 查詢單首音樂
@RequestMapping(value = "/getOne", method = RequestMethod.GET)
@ApiOperation(value = "查詢單首音樂")
public Result<Music> get(@RequestParam String id){User currUser = securityUtil.getCurrUser();Music music = iMusicService.getById(id);if(music == null) {return ResultUtil.error("音樂不存在");}// 收藏QueryWrapper<MusicCollect> mc = new QueryWrapper<>();mc.eq("music_id",music.getId());mc.eq("user_id",currUser.getId());music.setCollectFlag(iMusicCollectService.count(mc));// 下單QueryWrapper<MusicOrder> mo = new QueryWrapper<>();mo.eq("music_id",music.getId());mo.eq("user_id",currUser.getId());music.setOrderFlag(iMusicOrderService.count(mo));return new ResultUtil<Music>().setData(music);
}
4.2 新增音樂
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增音樂")
public Result<Music> insert(Music music){iMusicService.saveOrUpdate(music);return new ResultUtil<Music>().setData(music);
}
4.3 新增音樂訂單
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增單條音樂訂單")
public Result<MusicOrder> addOne(@RequestParam String id){Music music = iMusicService.getById(id);if(music == null) {return ResultUtil.error("音樂不存在");}User currUser = securityUtil.getCurrUser();QueryWrapper<MusicOrder> moQw = new QueryWrapper<>();moQw.eq("music_id",music.getId());moQw.eq("user_id",currUser.getId());if(iMusicOrderService.count(moQw) < 1L) {MusicOrder mo = new MusicOrder();mo.setMusicId(music.getId());mo.setTitle(music.getTitle());mo.setOwner(music.getOwner());mo.setFileUrl(music.getFileUrl());mo.setPrice(music.getPrice());mo.setStatus("未付款");mo.setUserId(currUser.getId());mo.setUserName(currUser.getNickname());iMusicOrderService.saveOrUpdate(mo);}return ResultUtil.success();
}
4.4 查詢音樂訂單
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢音樂訂單")
public Result<IPage<MusicOrder>> getByPage(@ModelAttribute MusicOrder musicOrder ,@ModelAttribute PageVo page){QueryWrapper<MusicOrder> qw = new QueryWrapper<>();User currUser = securityUtil.getCurrUser();QueryWrapper<User> userQw = new QueryWrapper<>();userQw.eq("id",currUser.getId());userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'");if(iUserService.count(userQw) < 1L) {qw.eq("user_id",currUser.getId());}if(!ZwzNullUtils.isNull(musicOrder.getTitle())) {qw.like("title",musicOrder.getTitle());}if(!ZwzNullUtils.isNull(musicOrder.getUserName())) {qw.like("user_name",musicOrder.getUserName());}IPage<MusicOrder> data = iMusicOrderService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<MusicOrder>>().setData(data);
}
4.5 新增音樂收藏
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增單條音樂收藏")
public Result<Object> addOne(@RequestParam String id){Music music = iMusicService.getById(id);if(music == null) {return ResultUtil.error("音樂不存在");}User currUser = securityUtil.getCurrUser();QueryWrapper<MusicCollect> mcQw = new QueryWrapper<>();mcQw.eq("music_id",music.getId());mcQw.eq("user_id",currUser.getId());if(iMusicCollectService.count(mcQw) < 1L) {MusicCollect mc = new MusicCollect();mc.setMusicId(music.getId());mc.setTitle(music.getTitle());mc.setOwner(music.getOwner());mc.setFileUrl(music.getFileUrl());mc.setUserId(currUser.getId());mc.setUserName(currUser.getNickname());iMusicCollectService.saveOrUpdate(mc);}return ResultUtil.success();
}
五、免責說明
- 本項目僅供個人學習使用,商用授權請聯系博主,否則后果自負。
- 博主擁有本軟件構建后的應用系統全部內容所有權及獨立的知識產權,擁有最終解釋權。
- 如有問題,歡迎在倉庫 Issue 留言,看到后會第一時間回復,相關意見會酌情考慮,但沒有一定被采納的承諾或保證。
下載本系統代碼或使用本系統的用戶,必須同意以下內容,否則請勿下載!
- 出于自愿而使用/開發本軟件,了解使用本軟件的風險,且同意自己承擔使用本軟件的風險。
- 利用本軟件構建的網站的任何信息內容以及導致的任何版權糾紛和法律爭議及后果和博主無關,博主對此不承擔任何責任。
- 在任何情況下,對于因使用或無法使用本軟件而導致的任何難以合理預估的損失(包括但不僅限于商業利潤損失、業務中斷與業務信息丟失),博主概不承擔任何責任。
- 必須了解使用本軟件的風險,博主不承諾提供一對一的技術支持、使用擔保,也不承擔任何因本軟件而產生的難以預料的問題的相關責任。