WeChat 미니 프로그램 개발 사례 뮤직 플레이어
추천 페이지
제목 표시줄을 완성한 후 mainView=1일 때 표시되는 페이지인 추천 페이지 작성을 시작합니다.
그림 10-2와 같이 추천 페이지는 상단의 캐러셀 구성요소(배너)와 하단의 라디오 목록의 두 부분으로 구성됩니다.
이 페이지를 완료하기 위해 먼저 네트워크 요청에서 반환된 데이터 형식을 살펴보겠습니다.
오픈 소스 데이터는 여기에서 사용됩니다:
http://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg
API 인터페이스 장의 내용을 참조하여 services 폴더에 music.js 파일을 생성하고 네트워크 요청 코드:
// 获取首页的音乐数据 function getRecommendMusic(callback){ //请求所需数据 var data = { g_tk: 5381, uin: 0, format: 'json', inCharset: 'utf-8', outCharset: 'utf-8', notice: 0, platform: 'h5', needNewCode: 1, _: Date.now() }; wx.request({ //地址 url: 'http://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg', //数据 data: data, //表示返回类型为JSON header: { 'Content-Type': 'application/json' }, success: function (res) { if (res.statusCode == 200) { callback(res.data) } else { } } }); } module.exports = { getRecommendMusic:getRecommendMusic } 复制代码 通过这个请求,返回json格式的数据样式为: { "code": 0, "data": { "slider": [ { "linkUrl": "http://share.y.qq.com/l?g=2766&id=1842365&g_f=shoujijiaodian", "picUrl": "http://y.gtimg.cn/music/photo_new/T003R720x288M000002QUG1D0iCyQM.jpg", "id": 8642 }, { "linkUrl": "http://y.qq.com/live/zhibo/0214liwen.html", "picUrl": "http://y.gtimg.cn/music/photo_new/T003R720x288M000003KFpsf1mPzlY.jpg", "id": 8645 }, { "linkUrl": "http://v.qq.com/live/p/topic/22876/preview.html", "picUrl": "http://y.gtimg.cn/music/photo_new/T003R720x288M000000ZZAWw1KsyoJ.jpg", "id": 8653 }, { "linkUrl": "http://y.qq.com/m/act/singer/index.html?ADTAG=shoujijiao", "picUrl": "http://y.gtimg.cn/music/photo_new/T003R720x288M000001MG8W3200tuD.jpg", "id": 8609 }, { "linkUrl": "http://y.qq.com/w/album.html?albummid=0035hOHV0uUWA9", "picUrl": "http://y.gtimg.cn/music/photo_new/T003R720x288M000000cfVE83KCkmz.jpg", "id": 8607 } ], "radioList": [ { "picUrl": "http://y.gtimg.cn/music/photo/radio/track_radio_199_13_1.jpg", "Ftitle": "热歌", "radioid": 199 }, { "picUrl": "http://y.gtimg.cn/music/photo/radio/track_radio_307_13_1.jpg", "Ftitle": "一人一首招牌歌", "radioid": 307 } ], "songList": [] } }
여기의 코드는 요청이 성공했는지 여부를 나타냅니다. 0과 같으면 요청이 성공했음을 의미합니다. 데이터는 우리에게 필요한 데이터로, 세 부분으로 구성되어 있습니다. 즉, 캐러셀 구성 요소에 대한 데이터를 제공하는 슬라이더 부분과 라디오 방송국 목록에 대한 데이터를 제공하는 radioList 부분을 사용해야 합니다. 이 두 부분은 각각 배열 형식으로 저장되며 해당 데이터는 이름으로 얻을 수 있습니다.
데이터를 얻은 후 데이터를 표시하는 구성 요소를 작성하기 시작합니다.
<view hidden="{{currentView != 1}}"> <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}"> <block wx:for="{{slider}}" wx:key="unique"> <swiper-item data-id="{{item.id}}"> <image src="{{item.picUrl}}" style="height:100%" class="slide-image" /> </swiper-item> </block> </swiper> <view class="channel"> <text class="channel-title">电台</text> <view class="radio-list"> <block wx:for="{{radioList}}" wx:key="unique"> <view class="radio-item" data-id="{{item.radioid}}" data-ftitle="{{item.Ftitle}}" bindtap="radioTap"> <image class="radio-img" mode="aspectFit" style="height:167.5px;" src="{{item.picUrl}}" /> <text class="radio-text">{{item.Ftitle}}</text> </view> </block> </view> </view> </view> 复制代码 最外层使用view组件包裹,当currentView!=1时隐藏。 轮播组件使用swiper组件来完成,设置是否显示指示点,是否自动播放,切换间隔以及滑动时间4个属性。每个swiper-item为图片,使用item.picUrl从slider里获取数据。 电台部分使用列表格式,数据保存在radioList内。每个item包涵两个部分:图片和标题,以item.picUrl和item.Ftitle保存,此外还要保存每个item的ID(item.radioid)用于页面跳转。点击的响应事件定义为radioTap。 至此我们需要的数据有:indicatorDots,autoplay,interval,duration,slider,radioList。我们把这些加入到index.js中的data里吧。 //引用网络请求文件 var MusicService = require('../../services/music'); //获取应用实例 var app = getApp() Page({ data: { indicatorDots: true, autoplay: true, interval: 5000, duration: 1000, radioList: [], slider: [], mainView: 1, }, onLoad: function () { var that = this; MusicService.getRecommendMusic(that.initPageData); }, })
데이터가 작성된 후 onLoad에 작성한 네트워크 요청 함수를 호출합니다. 수신 매개변수(that.initPageData)는 요청이 성공했습니다. 실행해야 하는 함수입니다. 이 함수에서는 radioList 및 슬라이더 배열에 값을 할당합니다.
initPageData: function (data) { var self = this; //请求成功再赋值,需要判断code是否为0 if (data.code == 0) { self.setData({ slider: data.data.slider, radioList: data.data.radioList, }) } }, 复制代码 到此为止我们的页面应该可以显示数据了,最后一步我们要给写好的view添加点击事件radioTap,让用户点击后跳转到play(音乐播放)页面。 radioTap: function (e) { var dataSet = e.currentTarget.dataset; ... },
점프할 때 획득한 라디오이드를 통해 네트워크에 데이터를 요청하고, 노래 목록을 반환하고, 이 목록을 재생 페이지에 로드해야 합니다. 이 부분은 음악 재생 페이지에 맡겨서 완료합니다.
위 내용은 WeChat 미니 프로그램 개발 사례 뮤직 플레이어의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











VLC Chromecast 기능이 Windows PC에서 작동하지 않습니까? 이 문제는 Chromecast 장치와 VLC의 전송 기능 간의 호환성 문제로 인해 발생할 수 있습니다. 이 글에서는 이러한 상황에서 무엇을 할 수 있는지, 그리고 VLC 렌더러가 Chromecast를 찾을 수 없는 경우 어떻게 해야 하는지 알려드리겠습니다. Windows에서 ChromecastVLC를 사용하는 방법 VLC를 사용하여 Windows에서 Chromecast로 비디오를 전송하려면 다음 단계를 따르세요. 미디어 플레이어 앱을 열고 재생 메뉴로 이동하세요. 렌더러 옵션으로 이동하면 감지된 Chromecast 장치를 볼 수 있습니다.

윈도우 10v1809의 10월 업데이트 버전은 1차 공식 출시 이후 급히 철회됐을 뿐만 아니라, 한 달 동안 재구축을 했는데도 여전히 버그가 가득해 사람들이 마이크로소프트의 품질을 의심하게 만드는 최악의 윈도우 업그레이드를 향해 거침없이 나아가고 있다. 통제가 점점 더 불안해지고 있습니다. 이제 목록에 버그가 하나 더 생겼는데 이번에는 Microsoft 자체 미디어 플레이어인 Windows Media Player입니다. 최근 일부 네티즌들은 최신 패치를 설치한 후 Windows 10v1809의 Windows Media Player에서 재생 진행률 표시줄을 드래그할 수 없는 문제가 발생한다고 제보했습니다. 아직 해결책을 찾지 못했습니다. Microsoft는 KB4에 대한 두 가지 패치와 관련된 버그를 확인했습니다.

모바일 인터넷 기술과 스마트폰의 대중화로 인해 WeChat은 사람들의 삶에 없어서는 안될 애플리케이션이 되었습니다. WeChat 미니 프로그램을 사용하면 사람들은 애플리케이션을 다운로드하고 설치하지 않고도 미니 프로그램을 직접 사용하여 몇 가지 간단한 요구 사항을 해결할 수 있습니다. 이 기사에서는 Python을 사용하여 WeChat 애플릿을 개발하는 방법을 소개합니다. 1. 준비 Python을 사용하여 WeChat 애플릿을 개발하기 전에 관련 Python 라이브러리를 설치해야 합니다. 여기서는 wxpy와 itchat 두 라이브러리를 사용하는 것이 좋습니다. wxpy는 위챗 머신입니다

미니 프로그램은 반응을 사용할 수 있습니다. 사용 방법: 1. "react-reconciler"를 기반으로 렌더러를 구현하고 DSL을 생성합니다. 2. DSL을 구문 분석하고 렌더링하기 위한 미니 프로그램 구성 요소를 만듭니다. 3. npm을 설치하고 개발자를 실행합니다. 도구에서 npm을 빌드합니다. 4. 자신의 페이지에 패키지를 소개한 다음 API를 사용하여 개발을 완료합니다.

WeChat 미니 프로그램에서 카드 뒤집기 효과 구현 WeChat 미니 프로그램에서 카드 뒤집기 효과를 구현하는 것은 사용자 경험과 인터페이스 상호 작용의 매력을 향상시킬 수 있는 일반적인 애니메이션 효과입니다. 다음은 WeChat 애플릿에서 카드 뒤집기 효과를 구현하는 방법을 자세히 소개하고 관련 코드 예제를 제공합니다. 먼저, 미니 프로그램의 페이지 레이아웃 파일에 두 개의 카드 요소를 정의해야 합니다. 하나는 앞면 내용을 표시하기 위한 것이고 다른 하나는 뒷면 내용을 표시하기 위한 것입니다. <--index.wxml- ->&l

10월 31일 이 사이트의 소식에 따르면 올해 5월 27일 Ant Group은 '한자 선택 프로젝트'를 시작한다고 발표했으며 최근 새로운 진전을 보였습니다. Alipay는 '한자 선택 - 흔하지 않은 문자' 미니 프로그램을 출시했습니다. 희귀 캐릭터는 희귀 캐릭터 라이브러리를 보완하고 희귀 캐릭터에 대한 다양한 입력 경험을 제공하여 Alipay의 희귀 캐릭터 입력 방법을 개선하는 데 도움을 줍니다. 현재 사용자는 "한자픽업", "희귀문자" 등의 키워드를 검색하여 "특수문자" 애플릿에 진입할 수 있습니다. 미니 프로그램에서 사용자는 시스템에서 인식 및 입력되지 않은 희귀 문자의 사진을 제출할 수 있으며 확인 후 Alipay 엔지니어가 글꼴 라이브러리에 추가 항목을 작성합니다. 이 웹사이트에서는 미니 프로그램에서도 최신 문자 분할 입력 방식을 경험할 수 있다고 밝혔습니다. 이 입력 방식은 발음이 불분명한 희귀 문자를 위해 설계되었습니다. 사용자 해체

컴퓨터 사용량이 점점 많아짐에 따라 Win10 시스템에서 HEVC 비디오 재생 비용이 청구되는 상황이 발생할 수 있습니다. 이 상황을 어떻게 처리해야 합니까? 아래 에디터와 함께 자세한 내용을 살펴보겠습니다. 현재 점점 더 많은 비디오가 HEVC를 사용하여 인코딩됩니다. 이는 특히 4K 비디오에서 일반적입니다. 이미지 품질을 개선하고 크기를 줄이기 위해 1080p 비디오도 기본적으로 HEVC를 지원하지 않습니다. 사용에 영향을 미칩니다. HEVC 인코딩 지원 부족은 비디오 재생뿐만 아니라 사진 열기에도 영향을 미칩니다. 우리는 iPhone과 같은 많은 새로운 휴대폰이 HEIF 형식을 사용하여 사진을 저장한다는 것을 알고 있습니다. 실제로 HEIF 사진은 HEVC 비디오로 인코딩된 사진으로 간주될 수 있습니다.

iframe 임베디드 플레이어는 웹페이지에 비디오 플레이어를 삽입하는 기술입니다. 내장된 플레이어의 장점은 다음과 같습니다. 1. iframe 태그를 사용하여 다양한 소스의 비디오 미디어를 동일한 웹 페이지에 삽입할 수 있는 유연성. 2. 사용 용이성, 내장 코드를 복사하여 붙여넣기만 하면 재생 가능 3. 플레이어의 모양과 동작은 매개변수 설정을 통해 제어할 수 있습니다. 4. 플레이어의 작동은 JavaScript 등을 사용하여 제어할 수 있습니다.
