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

注冊

微信小程序音樂播放器,音樂播放器檢索頁制作(上)

2018-03-21
導讀:首頁的最后一部分為檢索頁,也就是讓用戶通過關鍵字搜索歌曲或專輯。...

  首頁的最后一部分為檢索頁,也就是讓用戶通過關鍵字搜索歌曲或專輯。

  說到搜索頁,比不可少的就是關鍵字的輸入框。

  參照這個樣式,布局文件應該為:

  1. <view class="search-bar">
  2.     <view class="search-input-warp">
  3.       <form bindsubmit="searchSubmit">
  4.         <label class="search-input-icon"></label>
  5.         <input type="text" class="search-input" bindfocus="bindFocus" name="search" value="{{searchKey}}" bindinput="bindKeyInput" placeholder="搜索歌曲、歌單、專輯" placeholder-class="search-input-placeholder"/>
  6.         <view class="search-cancel" bindtap="searchOk">確定</view>
  7.       </form>
  8.     </view>
  9.   </view>
復制代碼

 

  格式文件為:

  1. .search-bar {
  2.     background:#f7f7f7;
  3.     padding:20rpx;
  4. }
  5. .search-input-warp {
  6.     position:relative;
  7.     padding:16rpx 24rpx 16rpx 70rpx;
  8.     background:#fff;
  9. }
  10. .search-input-icon {
  11.     content:" ";
  12.     position:absolute;
  13.     top:18rpx;
  14.     left:20rpx;
  15.     display:inline-block;
  16.     vertical-align:middle;
  17.     width:40rpx;
  18.     height:40rpx;
  19.     background-image:url("../../resources/images/search.png");
  20.     background-repeat:no-repeat;
  21.     background-size:40rpx;
  22. }
  23. .search-input {
  24.     font-size:28rpx;
  25.     line-height:40rpx;
  26. }
  27. .search-input-placeholder {
  28.     color:#ddd;
  29.     font-size:28rpx;
  30.     line-height:40rpx;
  31. }
  32. .search-cancel {
  33.     position:absolute;
  34.     right:0;
  35.     top:0;
  36.     display:inline-block;
  37.     font-size:32rpx;
  38.     height:90rpx;
  39.     width:140rpx;
  40.     text-align:center;
  41.     line-height: 90rpx;
  42.     z-index:50;
  43.     background:#f7f7f7;
  44. }
復制代碼

 

  因為要提交關鍵字,所以使用表單組件,內部由表示搜索的放大鏡圖標,代表輸入完成的“確定”按鈕以及輸入框組成。

  

  除了輸入框以外,此頁還需要顯示的內容應該是搜索的結果列表,搜索的歷史記錄以及熱門關鍵字。這些內容應該顯示在輸入框下方,并按一定邏輯切換。他們之間的邏輯關系為:

  

  • 用戶進入檢索頁,顯示的內容應該是輸入框與熱門關鍵字。
  • 開始輸入后(即輸入框獲得焦點),應該顯示歷史記錄。
  • 點擊確定,顯示結果列表。
  • 清空輸入框內容后,返回關鍵字顯示。

     

      


 

  可以看出,對輸入框的操作決定了當前頁面顯示的內容,所以我們需要監聽輸入框的獲取焦點事件(bindfocus),確定點擊事件(bindtap)以及輸入事件(bindinput),還需要記錄輸入的關鍵字searchKey。

  

  輸入框完成后我們先寫熱門關鍵字,這些關鍵字也是來源于網絡,所以還需要請求網絡。在services/music里添加方法:

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

 

  返回JSON格式結果為

  1. {
  2.     "code": 0,
  3.     "data": {
  4.         "hotkey": [
  5.             {
  6.                 "k": "三生三世十里桃花 ",
  7.                 "n": 90558
  8.             },
  9.             {
  10.                 "k": "DJ ",
  11.                 "n": 67590
  12.             },
  13.             {
  14.                 "k": "薛之謙 ",
  15.                 "n": 60425
  16.             },
  17.             {
  18.                 "k": "涼涼 ",
  19.                 "n": 37056
  20.             },
  21.             {
  22.                 "k": "那片星空那片海 ",
  23.                 "n": 29170
  24.             },
  25.             {
  26.                 "k": "理想 ",
  27.                 "n": 28695
  28.             },
  29.             ...
  30.         ],
  31.         "special_key": "歌手",
  32.         "special_url": "http://y.qq.com/m/act/singer/index.html?ADTAG=search"
  33.     },
  34.     "subcode": 0
  35. }
復制代碼

 

  這里返回的hotkey就是我們需要的關鍵字啦,除此之外,我們還看到下面有“special_key”這一部分,這相當于廣告部分,為服務器推薦的搜索關鍵字。所以我們以標簽的形式顯示關鍵字,對于廣告那部分關鍵字,我們以紅色字體,并且放在最前方,最后達成的樣式應該為圖10-5所示:

  

  微信小程序音樂播放器,音樂播放器檢索頁制作(上)

  

 

  

  

  實現這一布局的代碼為:

  1. <view class="quick-search" wx:if="{{showSearchPanel == 1}}">
  2.     <view class="quick-search-title">
  3.       <text>熱門搜索</text>
  4.     </view>
  5.     <view class="quick-search-bd">
  6.       <text class="quick-search-item-red" data-url="{{special.url}}" data-key="{{special.key}}" bindtap="hotKeysTap" wx:if="{{showSpecial}}">{{special.key}}</text>
  7.       <text class="quick-search-item" wx:for="{{hotkeys}}" wx:key="unique" data-n="{{item.n}}" bindtap="hotKeysTap" data-key="{{item.k}}">{{item.k}}</text>
  8.     </view>
  9.   </view>
復制代碼

 

  這里面showSearchPanel的值為我們控制這一頁面切換的依據,當其為1的時候,顯示熱門關鍵字。

  

  綁定的數據有兩個,special和hotkey。對于special部分,為了防止服務器缺失“special_key”這一部分從而導致沒有數據顯示,我們定義一個數據showSpecial來決定是否顯示這一部分。

  

  將這三個數據以及輸入框用到的searchKey添加到data里吧。

  

  修改index.js文件:

  1. //引用網絡請求文件
  2. var MusicService = require('../../services/music');
  3.  
  4. //獲取應用實例
  5. var app = getApp()
  6. Page({
  7.     data: {
  8.         indicatorDots: true,
  9.         autoplay: true,
  10.         interval: 5000,
  11.         duration: 1000,
  12.         radioList: [],
  13.         slider: [],
  14.         mainView: 1,
  15.         topList:[],
  16.         hotkeys: [],
  17.         showSpecial: false,
  18.         special: { key: '', url: '' },
  19.         searchKey: '',
  20.     },
  21.     onLoad: function () {
  22.         var that = this;
  23.         MusicService.getRecommendMusic(that.initPageData);
  24.         MusicService.getTopMusic(that.initTopList);
  25.         MusicService.getHotSearchKeys(that.initSearchHotKeys);   
  26.     },
  27.  
  28.     ...
  29.     initSearchHotKeys: function (data) {
  30.         var self = this;
  31.         if (data.code == 0) {
  32.             var special = { key: data.data.special_key, url: data.data.special_url };
  33.             var hotkeys = [];
  34.             if (data.data.hotkey && data.data.hotkey.length) {  //當返回數據不為空且長度不為0
  35.                 for (var i = 0; (i < data.data.hotkey.length && i < 6); i++) {   //如果長度大于6只保留前6個
  36.                     var item = data.data.hotkey[i];                              
  37.                     hotkeys.push(item);
  38.                 }
  39.             }
  40.             if (special != undefined) {     //當返回項有special部分時,showSpecial為true
  41.                 self.setData({
  42.                     showSpecial: true
  43.                 })
  44.             } else {                        //沒有special部分,showSpecial為false
  45.                 self.setData({
  46.                     showSpecial:false
  47.                 })
  48.             }
  49.             self.setData({
  50.                 special: special,
  51.                 hotkeys: hotkeys
  52.             })
  53.         }
  54.     },
  55.     ...
  56. })
復制代碼

 

  數據加載完成后,我們為每個熱門關鍵字view添加點擊事件。

  1. hotKeysTap: function (e) {
  2.          //TODO
  3.     },
復制代碼

 

  在這個點擊事件里,我們需要做的事情有:

  

  • 將點擊的關鍵詞加入歷史記錄。
  • 將頁面切換到搜索結果列表。 在完成搜索結果列表頁后我們再來完善這一部分吧。

     

      


 

  最后附上這一部分的格式文件。

  1. .quick-search {
  2.     padding:20rpx;
  3.     box-sizing:border-box;
  4. }
  5. .quick-search-title {
  6.     font-size:28rpx;
  7. }
  8. .quick-search-bd {
  9.     position:relative;
  10.     margin-top:20rpx;
  11. }
  12. .quick-search-item {
  13.     font-size:28rpx;
  14.     float:left;
  15.     margin:0 20rpx 20rpx 0;
  16.     line-height:40rpx;
  17.     padding:10rpx 20rpx;
  18.     border-radius:30rpx;
  19.     color:#000;
  20.     border:2rpx solid rgba(0,0,0,.6);
  21. }
  22. .quick-search-item-red {
  23.     font-size:28rpx;
  24.     float:left;
  25.     margin:0 20rpx 20rpx 0;
  26.     line-height:40rpx;
  27.     padding:10rpx 20rpx;
  28.     border-radius:30rpx;
  29.     color:#fc4524;
  30.     border:2rpx solid #fc4524;
  31. }
復制代碼

 

  上一節:微信小程序小白項目開發案例之音樂播放器—排行頁

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

第一部分:小商店是什么

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

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

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

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

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

第七部分:小程序直播

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

第九部分:小程序怎么結算

第十部分:小程序客服

第十一部分:電商創業

第十二部分:小程序游戲開發

主站蜘蛛池模板: 午夜影院污|亚洲精品一区二区三区大胸|午夜=a级理论片915影院|国产一区二区三区免费不卡|国产精品久久久久久久久久98|国产一区三区视频 | 亚洲国产精品热久久|亚洲免费大全|欧美成人ccc大片|国产精品二三区|国产V片在线播放免费无码|亚洲精品久久国产高清 | 久久91|伊人网中文字幕|9191免费视频|黄动漫免费在线观看|女人和拘做受大片免费看|精品无线一线二线三线 | 国产成人无码久久久精品一|六月成人网|国产精品久久久久9999高清|#NAME?|看片网站在线观看|在线观看精品国产 国产精品久久久久久免费观看|黄色=a毛片|日韩欧美亚洲一区二区|日韩午夜免费视频|日本三级网站视频|欧美性生恔XXXXXDDDD | 午夜国产在线|国产人妻无码一区二区三区婷婷|中文字幕免费在线看|2021国产麻豆剧传媒精品入口|日日射夜夜|免费久久99精品国产 | 青青手机在线视频|18男女无套免费视频|国产亚洲1区2区3区|日韩欧美在线综合网|疯狂的欧美乱大交|www四虎 | 九九影院最新理论片|#NAME?|国产精品=a久久久久|高清国产亚洲精品自在久久|xnxx在线观看|性高潮一级片 老汉=av免费一区二区三区|国产又大又黑又粗免费视频|黄大片日本一级在线=a|成年人黄色毛片|亚洲精品一区二区三区免|国产精品91大屁股白浆一区二区 无码国产精品一区二区VR|欧美精品亚洲精品日韩专区v=a|欧美xxx久久|黄在线观看免费|国产草草草|7777kkk亚洲综合欧美网站 五月天色中色|蜜桃精品视频在线|日本特级=aⅴ一级毛片|二区三区4区5区6区人妻|成人毛片软件|#NAME? | 日韩黄色三级在线观看|久久9191|国产不卡一二三|久久中文字幕免费视频|在线观看精品视频|亚洲911精品成人18网站 | 亚洲日韩无砖专区一中文字目|精品在线观看视频|欧美内射深喉中文字幕|美女高潮潮喷出白浆视频|95国产精品人妻无码久|欧洲久久 | 人妻无码中文字幕|免费人成视频xvideos在线看|欧美色呦呦|久草在线中文视频|精品无码久久久久久久久水蜜桃|色婷婷久综合久久一本国产=aV | 国产黑人在线|日韩免费在线观看|99视频这里只有|麻豆国产一区|亚洲GV天堂无码男同在线观看|亚洲=aV中文无码字幕色三 | 东北寡妇特级毛片免费|99热精品国产一区二区在线观看|亚洲=aV永久纯肉无码精品动漫|国产成人一区二区三区|午夜=av一区二区|久久久久久久久久久动漫 国产1区在线观看|四房播播成人社区|嫩草影视亚洲|免费毛片在线不卡|久久亚洲精品国产一区最新章节|911免费看片 | 香蕉成人=av|九九视频这里有精品|美女黄频|99热播精品|日本亚洲欧美|免费=av高清 | 国产黑人在线|日韩免费在线观看|99视频这里只有|麻豆国产一区|亚洲GV天堂无码男同在线观看|亚洲=aV中文无码字幕色三 | l8videosex性欧美69|国产麻豆91|黑人黄色片|午夜精品偷拍|欧美一区高清|久久99热只有频精品6狠狠 | 永久=av免费|人妻无码久久久久久久久久久|66成人网|麻豆视频免费在线播放|亚洲视频综合在线|在线看片 | 操逼视频软件|免费=a级毛视频|超碰最新在线|免费无码又色又爽又黄的视频软件|jizz亚洲国产|极品少妇的粉嫩小泬看片 | 国产小视频在线免费观看|欧美亚洲综合另类|亚洲精品在线第一页|日操视频|亚洲精品久久无码老熟妇|在线观看视频色 | 亚洲=av无码=av另类专区|久久日韩精品无码一区|日韩精品中文在线|久久精品国产综合|c=aoporm超碰国产牛牛|九色国产蝌蚪视频 | 亚洲免费福利|亚洲性夜夜时|亚洲第二页|日本羞羞视频在线观看|私人影院在线|热久久99热 | 亚洲第一区在线观看|性欧美大战久久久久久久安居码|天天干夜夜春夜夜爽|色视频2|成人爽=a毛片免费啪啪红桃视频|极品少妇小泬50PTHEPON 91成人毛片|#NAME?|亚洲视频1区2区3区4区|国产思思99re99在线观看|激情春色|国产一区二区三区四区在线观看 | 天天射影院|车子做=a爱片在线观看HD|人成午夜免费视频无码|四虎影视免费|中文字幕日本二区|中文字幕久久精品一区二区三区 | 国产不卡二区|成人国产乱码久久久久|国产精品视频一二|亚洲欧美牲交|少妇性色午夜淫片=a|真人一进一出抽搐GIF免费 | 爱如潮水日本|宅男噜噜噜66网站高清|午夜宅男在线永久免费观看网|日日日干|国产成人精品一区二区三区无码|国产成人高清在线观看播放 | 日韩精品三区|国产成人精品=a视频免费福利|色中色综合|国产成人精品一区二区三区四区|国产一级毛片精品完整视频版|国产字幕在线看 | 性开放少妇xxxxⅹ视频蜜桃|成人深夜福利视频在线观看|依人久久久|葵司在线视频|不卡视频在线|免费看黄色大片 | 欧美性生活在线观看|亚洲免费视频专区|国产精品2024|免费网站国产|欧美男男作爱G=aYWWW|国产伦精品一区二区三区视 | 国产亚洲综合日韩一区|亚洲成人一区二区三区在线观看|亚洲精品日本久久一区二区三区|国产91=av视频在线观看|97色在线观看|精品国产香蕉伊思人在线 | 亚洲欧美日韩精品综久久久久久|99热这里只有精品99|国产成人综合精品|无码人妻一区二区三区免费N鬼逝|无码人妻=aⅤ一区二区三区麻豆|69xx×在线观看 | 7777欧美成是人在线观看|无码=aV中文一区二区三区桃花岛|日本精品久久久久久久久久|一级做=a爰片|成人综合一区二区|99热热精品 | ch=aopeng在线观看|成人综合区一区|#NAME?|无遮挡又色又刺激的女人视频|#NAME?|日韩精品乱码=av一区二区 | 国产一区二区三区精品久久久|欧美午夜一区二区|久草新免费|91=av成人|男人午夜在线|亚洲欧美国产vr在线观 | 国产wwwwwwwwwww|国产视频网站在线|欧美极品一区二区三区|人人爽人人爽|欧美日韩亚洲国产天堂=a|中文字幕欧美专区 | 亚洲第一精品区|久久久WWW影院人成|mmmwww在线看片免费|日本在线资源|亚洲精品综合久久|毛片中文字幕 | 少妇天天干|一本久道久久综合中文字幕|色哟哟国产成人精品免费|国产主播户外勾搭人xx|精品无人区无码乱码毛片国产|亚洲欧美中日精品高清一区二区 | 性欧美老人牲交xxxxx视频|成年人在线观看网址|日本黄色录像片|98婷婷狠狠成人免费视频|991久久|粉嫩欧美一区二区三区高清影视 | 国产内谢|成人=av高清|91在线成人影院|国产性猛交xxxx免费看|一级做=a爰片久久毛片苍井优|麻豆视频在线 | 日本黄色一区|人成免费网站|中文字幕第八页|亚洲欧美变态另类综合|日日草天天干|亚洲福利中文字幕在线网址 | 爱情到此为止在线观看|精品热99|老熟女多次高潮露脸视频|91国偷自产一区二区三区老熟女|美女久久久久久久久|高潮VPSWINDOWS国产乱 | 国产人妖在线|国产午夜福利在线播放|亚洲国产成人精品久久久国产成人|高柳の肉嫁动漫在线播放|日韩久久精品一区二区三区|精品偷自拍另类在线观看 | 惊弦45集免费看|亚洲精品九一|教师学生毛片一区二区三区|男人女人真曰批的视频|牛牛精品专区在线|国产一区二三区 |