一级片大奶子_色又黄又爽18禁免费视频_热久久久久久久_久久久精品一区二区_日韩av不卡在线播放_精品国内自产拍在线观看视频

注冊

微信小程序音樂播放器,音樂播放器小程序制作步驟(相似頁面)

2018-03-21
導讀:專輯的頁面與我們剛剛完成的排行列表很相似,除了部分文字的變化外就是多了簡介這一部分。...

  

  專輯的頁面與我們剛剛完成的排行列表很相似,除了部分文字的變化外就是多了簡介這一部分。

  

  網(wǎng)絡(luò)請求的函數(shù)為:

  1. function getAlbumInfo(id,callback){
  2.     var data = {
  3.             albummid: albummid,
  4.             g_tk: 5381,
  5.             uin: 0,
  6.             format: 'json',
  7.             inCharset: 'utf-8',
  8.             outCharset: 'utf-8',
  9.             notice: 0,
  10.             platform: 'h5',
  11.             needNewCode: 1,
  12.             _: Date.now()
  13.         };
  14.         wx.request({
  15.             url: 'http://c.y.qq.com/v8/fcg-bin/fcg_v8_album_info_cp.fcg',
  16.             data: data,
  17.             header: {
  18.                 'Content-Type': 'application/json'
  19.             },
  20.             success: function (res) {
  21.                 console.log(res);
  22.                 if (res.statusCode == 200) {
  23.                     callback(res.data);
  24.                 } else {
  25.  
  26.                 }
  27.             }
  28.         });
  29. }
  30.  
  31. module.exports = {
  32.   ...
  33.   getAlbumInfo:getAlbumInfo
  34. }
復制代碼

 

  頁面的布局代碼為:

  1. <view class="list-top">
  2.   <view class="top-info">
  3.     <view class="top-info-inner">
  4.       <view class="top-info-text">
  5.         <view class="top-info-title">{{albumInfo.name}}</view>
  6.         <view class="top-info-base">
  7.           <text>{{albumInfo.singername}}</text>
  8.           <text style="margin-left: 5px;">{{albumInfo.aDate}}</text>
  9.           <text style="margin-left:10px;">{{albumInfo.genre}}</text>
  10.         </view>
  11.       </view>
  12.       <view class="top-play"></view>
  13.     </view>
  14.   </view>
  15.   <image class="top-img" mode="aspectFit" src="{{coverImg}}"></image>
  16.   <view class="top-back"></view>
  17. </view>
  18. <view class="song-list" style="background:{{listBgColor}}">
  19.   <view class="song-item" wx:for="{{albumInfo.list}}" data-data="{{item.data}}" data-mid="{{item.songmid}}">
  20.     <text class="song-index">{{index+1}}</text>
  21.     <view class="song-item-title">{{item.songname}}</view>
  22.     <view class="song-item-text">
  23.       <block wx:for="{{item.singer}}">
  24.         <block wx:if="{{index!=0}}">|</block>
  25.         {{item.name}}
  26.       </block>
  27.     </view>
  28.   </view>
  29. </view>
  30. <view class="desc" style="background:{{listBgColor}}">
  31.   <view class="desc-title">簡介</view>
  32.   <text>{{albumInfo.desc}}</text>
  33. </view>
復制代碼

 

  簡介部分的格式文件:

  1. .desc {
  2.   box-sizing: border-box;
  3.   font-size: 14px;
  4.   padding: 40px 10px;
  5.   color: #fff;
  6.   line-height: 20px;
  7. }
  8.  
  9. .desc-title {
  10.   text-align: center;
  11.   width: 100%;
  12.   font-size: 16px;
  13.   margin-bottom: 20px;
  14. }
復制代碼

 

  加載數(shù)據(jù)的代碼為:

  1. var MusicService = require('../../services/music');
  2. var app = getApp()
  3.  
  4. Page({
  5.     data: {
  6.         albumInfo: {},
  7.         coverImg: '',
  8.     },
  9.     onLoad: function (options) {
  10.         // 頁面初始化 options為頁面跳轉(zhuǎn)所帶來的參數(shù)
  11.         var mid = app.globalData.zhidaAlbummid;
  12.         MusicService.getAlbumInfo(mid, this.setPageData)
  13.     },
  14.     setPageData: function (data) {
  15.         if (data.code == 0) {
  16.             var albummid = data.data.mid;
  17.             var img = 'http://y.gtimg.cn/music/photo/mid_album_500/' + albummid.slice(-2, -1) + '/' + albummid.slice(-1) + '/' + albummid + '.jpg'
  18.             this.setData({albumInfo: data.data, coverImg: img});
  19.         }
  20.     },
  21. })
復制代碼

 

  這里的點擊事件與前文相同,就不再重復了。

  

  另外,我們在首頁里未完成的兩個點擊事件,現(xiàn)在也可以完成了。先看電臺的點擊事件,這個事件與我們剛剛完成的一樣,具體代碼為:

  1. radioTap: function (e) {
  2.         var dataSet = e.currentTarget.dataset;
  3.         MusicService.getRadioMusicList(dataSet.id, function (data) {
  4.             wx.navigateTo({
  5.                 url: '../play/play'
  6.             });
  7.             if (data.code == 0) {
  8.                 var list = [];
  9.                 var dataList = data.data;
  10.                 for (var i = 0; i < dataList.length; i++) {
  11.                     var song = {};
  12.                     var item = dataList[i];
  13.                     song.id = item.id;
  14.                     song.mid = item.mid;
  15.                     song.name = item.name;
  16.                     song.title = item.title;
  17.                     song.subTitle = item.subtitle;
  18.                     song.singer = item.singer;
  19.                     song.album = item.album
  20.                     song.img = 'http://y.gtimg.cn/music/photo_new/T002R150x150M000' + item.album.mid + '.jpg?max_age=2592000'
  21.                     list.push(song);
  22.                 }
  23.                 app.setGlobalData({
  24.                     playList: list,
  25.                     playIndex: 0
  26.                 });
  27.             }
  28.         });
  29.     },
復制代碼

 

  這里面getRadioMusicList為網(wǎng)絡(luò)請求,具體代碼為:

  1. function getRadioMusicList(id,callback){
  2.     var data = {
  3.             labelid: id,
  4.             g_tk: 5381,
  5.             uin: 0,
  6.             format: 'json',
  7.             inCharset: 'utf-8',
  8.             outCharset: 'utf-8',
  9.             notice: 0,
  10.    &nnbsp;        platform: 'h5',
  11.             needNewCode: 1,
  12.             _: Date.now(),
  13.         }
  14.         wx.request({
  15.             url: 'https://c.y.qq.com/v8/fcg-bin/fcg_v8_radiosonglist.fcg',
  16.             data: data,
  17.             header: {
  18.                 'Content-Type': 'application/json'
  19.             },
  20.             success: function (res) {
  21.                 if (res.statusCode == 200) {
  22.                     callback(res.data);
  23.                 } else {
  24.  
  25.                 }
  26.  
  27.             }
  28.         });
  29. }
  30.  
  31. module.exports = {
  32.   ...
  33.   getRadioMusicList:getRadioMusicList
  34. }
復制代碼

 

  另一部分為搜索結(jié)果里歌曲的點擊事件

  1. musuicPlay: function (e) {
  2.         var dataSet = e.currentTarget.dataset;
  3.         var playingSongs = app.globalData.playList;
  4.         if (typeof dataSet.index !== 'undefined') {
  5.             var index = dataSet.index;
  6.             var item = this.data.searchSongs[index];
  7.             var song = {};
  8.             var album = {};
  9.             album.mid = item.albummid
  10.             album.id = item.albumid
  11.             album.name = item.albumname;
  12.             album.desc = item.albumdesc
  13.  
  14.             song.id = item.songid;
  15.             song.mid = item.songmid;
  16.             song.name = item.songname;
  17.             song.title = item.songorig;
  18.             song.subTitle = '';
  19.             song.singer = item.singer;
  20.             song.album = album;
  21.             song.time_public = item.time_public;
  22.             song.img = 'http://y.gtimg.cn/music/photo_new/T002R150x150M000' + album.mid + '.jpg?max_age=2592000'
  23.             this.addPlayingSongs(song);
  24.         }
  25.     },
復制代碼

 

  前面的內(nèi)容與我們寫過的一樣,最后我們沒有直接更新全局變量而是調(diào)用了一個新方法,因為前文所有的點擊事件都更新了整個播放列表,而我們點擊某一首歌曲時,我們希望添加這首歌到已有的列表中,而不是先清空它。

  1. addPlayingSongs: function (song) {
  2.         var playingSongs = app.globalData.playList;         //獲取當前的播放列表
  3.         var index = -1;
  4.         if (typeof playingSongs === 'undefined') {          //判斷列表是否為空
  5.             playingSongs = [];
  6.             playingSongs.push(song);
  7.             app.setGlobalData({                         //如果是空的話,直接更新全局變量
  8.                 playList: playingSongs,
  9.                 playIndex: 0
  10.             });
  11.         } else {                                  //不為空的話我們先判斷當前列表是否包含選定歌曲
  12.             for (var i = 0; i < playingSongs.length; i++) {    //遍歷整個列表
  13.                 var item = playingSongs[i];
  14.                 if (item.mid == song.mid) {           //如果發(fā)現(xiàn)有mid相同的(即同一首歌)
  15.                     index = i;                     //獲取這首歌在列表里的序號
  16.                     break;
  17.                 }
  18.             }
  19.             if (index != -1) {                   //歌曲已存在
  20.                 app.setGlobalData({   
  21.                     playIndex: index             //用我們獲取的序號更新當前播放序號
  22.                 });
  23.             } else {                                    //不存在的情況
  24.                 playingSongs.push(song);
  25.                 index = playingSongs.length - 1;    //將歌曲加入播放列表,播放序號改為列表最后一項
  26.                 app.setGlobalData({
  27.                     playList: playingSongs,
  28.                     playIndex: index
  29.                 });
  30.             }
  31.         }
  32.         wx.navigateTo({
  33.             url: '../play/play'
  34.         });
  35.     },
復制代碼

 

  上一節(jié):微信小程序小白項目開發(fā)案例之音樂播放器-頁面渲染

  下一節(jié):微信小程序小白項目開發(fā)案例之音樂播放器—音樂播放頁

重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)

主站蜘蛛池模板: 最新国产精品毛片在线|和少妇做爰3p视频|www.youjizz.com在线观看|成人在线观看国产|成人久久精品|免费观看h视频 | 麻豆91精品一区二区|精品第一区|国产视频自拍一区|日韩=av无码国产精品|日本高清中文字幕在线|保守人妻被领导征服身体 | 久久久久久久久久久久=av|少妇又白又嫩又色又粗|欧美日韩精品免费观看视一区二区|国产手机精品一区二区|伊人=av网|久久大香萑太香蕉=aV黄软件 | 久久亚洲=aV男人的天堂仙踪林|狠狼鲁亚洲综合在线|特级=a=a=a=a=a=a毛片|91精品久|天堂中文在线最新版地址|男女男精品视频网站 | 国产精品网红尤物福利在线观看|欧美经典一区二区|辽宁老熟女高潮狂叫视频|日日草日日干|成人免费观看毛片|久久激情免费视频 | 少妇大战黑吊在线观看|淫片毛片视频|日本精品www|国产成人久久精品77777|亚洲国产欧美在线观看的|国产精品色情国产三级在 | 国产精品nxnn|精品欧美一区二区三区在线观看|色88久久久久高潮综合影院|最好看的2018中文在线观看|#NAME?|91国偷自产中文字幕久久 | 天天看天天色|国产欧美日韩在线精品一区二区|国产在线免费看|日韩欧美1区|夜夜爽=av|剧情演绎国产在线视频 | 亚洲免费不卡视频|国精产品一品二品国精品69XX|欧美色p|国产成人黄色网址|国产成人无码免费看片软件|欧美一二区在线观看 | 国产草莓精品国产=av片国产|91影视在线|76少妇国内精品视频|中文字幕人妻丝袜美腿乱|国产日韩欧美视频免费看|国产精品久久无码一区 | 夜夜夜夜操18岁|c=aoporm超碰国产精品|扒开腿挺进湿润的花苞hd视频|激情三区|性bbwbbw日|爱爱免费视频 | 亚洲线精品一区二区三区|亚洲综合中文|特级一级片|在线观看国产视频一区|国产乱码卡1卡二卡3卡四卡|国产v亚洲v天堂无码网站 | 中文字幕高清在线观看|中文字幕一区二区三区门四区五区|中文字幕久久999及|国产亚洲日韩=aV在线播放不卡|精品国产免费看|亚洲tv在线 | 毛片免费全部播放无码私人|夜夜爽狠狠澡97欧美精品|日韩中文一区二区三区|欧美孕交videosfree黑人巨大|丰满少妇女人=a毛片视频|国产SUV精品一区二区 | 亚洲精品自拍偷拍视频|jk校花呻吟迎合娇躯白嫩|国产一级免费看视频欧美激情|国产精品香港三级国产=av|99热最新在线|亚洲国产色播=aV在线 | 日本色七七影院|男女日批视频在线观看|三级网站网址|97视频在线免费观看|天天综合网久久综合免费人成|特黄=a片在线播放免费麻婆豆腐 | 国产成人=av在线播放|亚洲网免费|凸凹视频在线|免费网站h|一区二区三区在线播放|麻豆网视频免费观看 | 免费=a级网站|69=av片|久久看片|爱干=av在线|久久激情视频网|亚洲精品欧美精品 | 亚洲国产精品一区二区制服换脸|中文字幕极品|文中字幕一区二区三区视频播放|亚洲欧洲美洲综合色网|成人爱爱=a=a啪啪看片|五十六十老熟女HD60 | 白浆视频在线观看|亚洲国产欧美一区二区三区|一二三四在线观看免费高清视频|国产又黄又爽又刺激的免费网址|免费观看成人毛片=a片入口少|美女亚洲网 | 亚洲欧美一|欧美=aⅴ视频|青青草国产免费|黄色毛片久久久久久久久久久|精品久久久久中文字幕日本|一边摸一边做爽的视频17国产有奶水 | 宅男噜噜噜66国产在线观看|色姑娘综合|99久久久国产精品日本久久区一|亚洲成人自拍网|国产亚洲精品第一综合另类|精品亚洲一 | 少妇的肉体=a=a=a=a=a免费视频|在线视频一二三区|亚洲国产黄色大片|精品久久婷婷|裸体黑色丝袜18禁网站无风险|久视频在线播放 | 一本到亚洲网|99久久精品国产欧美主题曲|973理论片235影院|国产一区二区高清在线|亚州国产视频|国产精品一卡二卡三卡 | 久久国产福利一区二区|一本色道久久88精品综合|亚洲学生妹高清=av|WWW亚洲色大成网络|免费在线观看成人=av|亚洲天堂资源在线 | 色综合久久蜜芽国产精品|中国国产精品|国产黄色的视频|风间由美无打码在线观看|欧美日韩国产精品久久久久|最新中文字幕免费视频 | 全黄h全肉边做边吃奶流浪汉|#NAME?|日本高清二区视频久二区|国模少妇一区两区三区|2018中文字幕在线视频|亚洲=aV国产精品无码 | 永久免费的啪啪网站免费观看浪潮|#NAME?|被按摩的人妻中文字幕|国产资源在线看|人人看人人射|免费看又黄又爽又猛的视频软件 | 久久精品九九热无码免贵|日本=aⅴ精品一区二区三区|亚洲国产精品一区二区成人片|国产精品91久久|久草=av在线播放|亚洲在线www | 亚洲精品无码成人=a片|国产美女口爆吞精普通话|国产精品国产三级国产专播i12|91精品国产一区自在线拍|日韩特级|成人在线免费观看小视频 | 久久国产福利一区二区|一本色道久久88精品综合|亚洲学生妹高清=av|WWW亚洲色大成网络|免费在线观看成人=av|亚洲天堂资源在线 | 久久麻传媒亚洲=av国产|久久久久国产精品麻豆|啪啪伊人网|亚洲精品久中文字幕花红影视|欧美丰满熟妇xxxxx|www.国产一区 | 夜夜躁狠狠躁夜躁2021|欧洲成人在线观看|中国少妇饥渴XXXXX|人妻巨大乳挤奶水HD免费看|视频二区在线播放|九九热精品在线视频 | 男人操女人免费视频网站|粉嫩大学生无套内射无码卡视频|国产片人综合亚洲区|成年美女黄网站色大片免费看老狼|99色爱|在线免费观看亚洲视频 | 午夜精品久久久久久99热软件|久久一区视频|午夜精品视频在线观看|亚洲福利午夜|麻豆精产国品一二三区别网站|国产乱子伦视频在线播放 | 日韩=av无码精品一二三区|免费看成年视频|亚洲精品久久久蜜桃动漫|无码VR最新无码=aV专区|97久久久久人妻精品专区|一区精品在线观看 | gogo大胆少妇大胆艺术又|日本高清视频www|无码精品一区二区三区潘金莲|91综合精品|亚洲中文精品久久久久久|#NAME? | HD性丰满白嫩白嫩少妇=aV|免费成人黄色大片|久久精品中文字幕|久久无码国产专区精品|欧美=a∨|91精品一久久香蕉国产线看观看软件 | 色一色成人网|久草在线影|精品视频在线观看99|国产香蕉尹人视频在线|亚洲=a∨好看=av高清在线观看|亚洲欧美日本在线 | 蓝宇在线|国产成人精品午夜视频|成人在线免费播放视频|JZZIJZZIJ在线观看亚洲熟妇|久久99热国产|亚洲=aV男人的天堂在线观看 | 狂野=aV人人澡人人添|天天干夜夜擦|两个人的www免费高清视频|永久免费看mv网站入口亚洲|久久一区二区三区四区|亚洲男人网 |