返回顶部
首页 > 资讯 > 精选 >微信小程序怎么制作音乐播放器检索页
  • 121
分享到

微信小程序怎么制作音乐播放器检索页

2023-06-26 09:06:49 121人浏览 泡泡鱼
摘要

这篇文章主要介绍“微信小程序怎么制作音乐播放器检索页”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么制作音乐播放器检索页”文章能帮助大家解决问题。  首页的最后一部分为检索页,也就是让用

这篇文章主要介绍“微信小程序怎么制作音乐播放器检索页”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么制作音乐播放器检索页”文章能帮助大家解决问题。

  首页的最后一部分为检索页,也就是让用户通过关键字搜索歌曲或专辑。

  说到搜索页,比不可少的就是关键字的输入框。

  参照这个样式,布局文件应该为:

  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: 'h6',

  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所示:

  

  微信小程序音乐播放器,音乐播放器检索页制作(上)

  

  

  

43232.png (5.21 KB, 下载次数: 4)

  

  下载附件

   保存到相册

  

  

2017-2-15 11:19 上传

  

  

  

  

  

  实现这一布局的代码为:

  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. }

关于“微信小程序怎么制作音乐播放器检索页”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 微信小程序怎么制作音乐播放器检索页

本文链接: https://lsjlt.com/news/308441.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 微信小程序怎么制作音乐播放器检索页
    这篇文章主要介绍“微信小程序怎么制作音乐播放器检索页”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么制作音乐播放器检索页”文章能帮助大家解决问题。  首页的最后一部分为检索页,也就是让用...
    99+
    2023-06-26
  • 微信小程序音乐播放器检索页如何制作
    这篇文章主要介绍“微信小程序音乐播放器检索页如何制作”,在日常操作中,相信很多人在微信小程序音乐播放器检索页如何制作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序音乐播放器检索页如何制作”的疑惑有所...
    99+
    2023-06-26
  • 微信小程序音乐播放器的检索页如何制作
    本篇内容介绍了“微信小程序音乐播放器的检索页如何制作”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  这个函数很简单,我们在写历史记录页面时...
    99+
    2023-06-26
  • 微信小程序怎么制作音乐播放器
    本篇内容介绍了“微信小程序怎么制作音乐播放器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  font color="Black&...
    99+
    2023-06-26
  • 微信小程序如何制作音乐播放器
    这篇文章主要介绍“微信小程序如何制作音乐播放器”,在日常操作中,相信很多人在微信小程序如何制作音乐播放器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何制作音乐播放器”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-26
  • 微信小程序制作音乐播放器的代码怎么写
    这篇文章主要介绍了微信小程序制作音乐播放器的代码怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序制作音乐播放器的代码怎么写文章都会有所收获,下面我们一起来看看吧。  网络请求的函数为:functi...
    99+
    2023-06-26
  • 微信小程序怎么实现音乐播放控制
    这篇文章主要介绍了微信小程序怎么实现音乐播放控制的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序怎么实现音乐播放控制文章都会有所收获,下面我们一起来看看吧。基础库 1.2.0 开始支持,低版本需做兼容处...
    99+
    2023-06-26
  • 微信小程序怎么实现音乐播放器
    本篇内容介绍了“微信小程序怎么实现音乐播放器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   开始构建小程序首页。  第一步,我...
    99+
    2023-06-26
  • 微信小程序 初学——【音乐播放器】
    一、项目效果展示 音乐推荐页面展示 播放器展示 播放列表展示 二、项目结构 音乐小程序项目页面结构: 1.tab导航栏2.content内容区3.player音乐播放器控件 开发者工...
    99+
    2023-09-29
    微信小程序 前端 小程序
  • 微信小程序播放背景音乐
    1.实现效果 2.实现原理 1、wx.getBackgroundAudioManager : 获取全局唯一的背景音频管理器。 小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。 从微信客...
    99+
    2023-09-20
    微信小程序 小程序
  • 微信小程序中实现——【音乐播放器】
    文章目录 一、学习目标1、掌握swiper组件、scroll-view组件的使用2、掌握image组件的使用3、掌握音频API的使用4、掌握slider组件的使用 二、开发前的准备1...
    99+
    2023-09-13
    微信小程序 小程序
  • 微信小程序如何控制音乐播放进度
    这篇“微信小程序如何控制音乐播放进度”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“微信小程序如何控制音乐播放进度”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们...
    99+
    2023-06-26
  • 微信小程序音乐播放器页面渲染的方法
    本文小编为大家详细介绍“微信小程序音乐播放器页面渲染的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序音乐播放器页面渲染的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。  页面渲染  为了解决这...
    99+
    2023-06-26
  • 微信小程序如何实现音乐播放器
    这篇文章主要介绍微信小程序如何实现音乐播放器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图又用小程序内置的背景音乐播放的方法写了一遍,逻辑是一样的逻辑,希望对大家有所帮助!&n...
    99+
    2024-04-02
  • Android微信小程序播放背景音乐怎么实现
    这篇文章主要介绍“Android微信小程序播放背景音乐怎么实现”,在日常操作中,相信很多人在Android微信小程序播放背景音乐怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android微信小程序播...
    99+
    2023-06-26
  • 微信小程序如何获取音乐播放状态
    这篇文章主要介绍“微信小程序如何获取音乐播放状态”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序如何获取音乐播放状态”文章能帮助大家解决问题。wx.getBackgroundAudioPla...
    99+
    2023-06-26
  • 微信小程序播放背景音乐的实例代码
    目录1.实现效果2.实现原理3.实现代码1.实现效果 2.实现原理 1、wx.getBackgroundAudioManager :获取全局唯一的背景音频管理器。 小程序切入后台,...
    99+
    2024-04-02
  • 微信小程序怎么实现播放音频
    这篇文章主要介绍“微信小程序怎么实现播放音频”,在日常操作中,相信很多人在微信小程序怎么实现播放音频问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序怎么实现播放音频”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-19
  • 微信小程序实现播放音频
    本文实例为大家分享了微信小程序实现播放音频的具体代码,供大家参考,具体内容如下 wxml: <!-- 语音 --> <view wx:if="{{content...
    99+
    2024-04-02
  • 如何用PHP开发微信小程序的音乐播放功能?
    如何用PHP开发微信小程序的音乐播放功能?随着微信小程序的不断发展,越来越多的开发者开始关注如何在小程序中添加音乐播放功能。在本文中,我将介绍如何使用PHP开发微信小程序的音乐播放功能,并提供具体的代码示例。1.准备工作在开始之前,确保你已...
    99+
    2023-10-27
    音乐播放 PHP 微信小程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作