뷰 뮤직
종속성 다운로드
프로젝트 시작
패키지 프로젝트
백엔드 GitHub 주소
https://github.com/Binaryify/NeteaseCloudMusicApi 개발 중 해당 버전 : 4.0.23 문제가 발생할 경우 최신 버전을 선택하세요
미리보기 주소
Imitation NetEase Cloud 음악 미리보기 주소
유니앱 버전
uni-app 버전 창고
현재 완료된 기능
- 노래 플레이어: 재생, 드래그 진행, 볼륨 조절, 다운로드, 재생 목록, 노래 페이지 가사 스크롤, 댓글
- 검색 페이지: 추천, 재생 목록, 가수, 순위, 최신 음악(신곡 특급, 새 앨범 출시(이번 주 새 앨범))
- 로그인 : 휴대폰번호와 비밀번호로 로그인, QR코드로 로그인, 인증번호로 로그인, 로그아웃
- 곡 목록: 좋아요, 앨범 항목, 가수 항목, 현재 재생 중인 음악 라인
- 각 상세페이지
- 재생목록 세부정보 페이지: 노래 목록, 재생목록 페이지 검색, 전체 재생목록 로드, 컬렉션, 댓글
- 앨범 세부정보 페이지: 노래 목록, 검색, 컬렉션, 댓글, 앨범 세부정보
- 가수 상세페이지 : 앨범목록, 가수설명, MV, 유사가수
- 영상 상세 페이지: 영상 재생(네이티브 영상 및 컨트롤을 이용한 재생), 유사 영상 추천, MV 재생, MV 추천, 좋아요, 컬렉션, 댓글, 크리에이터 팔로우
- 사용자 상세정보 페이지 : 기본정보, 지역(국내지역만 지원), 생성된 플레이리스트, 즐겨찾기 플레이리스트, 업데이트된 개인정보 및 아바타
- 검색: 노래, 가수, 재생 목록, 사용자, MV, 앨범 검색, 핫 검색 목록, 검색 제안, 검색 결과에 대한 빠른 액세스
- 댓글(로그인 필요): 좋아요, 답글, 댓글, 댓글 페이지 매김, 페이지 번호 점프 및 답글 점프 입력 상자 애니메이션
- 영상(로그인 필요): 영상 목록, MV 목록, 전체 MV 페이지, MV 순위 페이지
- 내 컬렉션(로그인 필요) : 수집된 앨범, MV, 가수 및 필터링 기능
- 최근 재생됨(클라우드 재생 기록이 아닌 로컬 저장소)
- 비공개 FM(로그인 필요): 재생, 휴지통, 좋아요, 댓글, 가사 스크롤(여기서의 성능은 NetEase Cloud와 동일하지 않습니다. 일관성을 유지하려면 많이 변경해야 합니다)
- 모든 페이지는 모바일에 적합합니다.
- 경로 지연 로딩 및 코드 청킹, 로그인하지 않았을 때 탐색 가드 추가, 경로 소품 분리
- Vuex를 사용하여 로그인 상태, 현재 노래 목록 및 노래 상태, 기타 다중 구성 요소 상태를 관리하세요.
- 공유 인터페이스는 NetEase Cloud 역학에 공유하는 것입니다. NetEase Cloud에 따르면 모든 노래를 수집하는 성능은 생성된 재생 목록에 수집하거나 새 재생 목록을 생성하는 것입니다. 아직 추가되지 않았습니다.
버그 또는 업데이트
- 전체 노래를 재생 목록에 로드하는 데 제한이 추가되었습니다(사용 중에 6,000개의 싱글이 있는 재생 목록이 발견되었으며 trackId를 사용하여 해당 노래를 요청하면 431 오류가 발생함).
- 최근 재생곡 개수 제한 추가 11/19
- 내비게이션 가드 추가 후, 분실된 로그인 상태가 새로고침되고, 로그인 상태 재획득 후 내비게이션 오류가 발생하는 버그 수정 11/20
- 비디오가 재생되는 동안 노래 재생 중지를 추가했습니다.
- 가수 상세페이지 내 유사한 가수 탭에서 가수 전환 시 데이터가 갱신되지 않는 문제 해결
- 가사 스크롤의 js 애니메이션 추가
- 라우팅 보기 전환 애니메이션 추가
- 데이터 로딩을 위한 가수 세부 정보 페이지 탭 전환 애니메이션을 추가하고 비어 있을 때 프롬프트 표시
- @root 디렉터리 추가 및 기능별 API 모듈화로 관리 용이
- Slot이라는 범위의 백업 콘텐츠가 패키징된 후 적용되지 않는 문제가 발생했습니다. 개발 환경에서는 정상적으로 작동하며 아직 백업 콘텐츠를 사용하는 대신 모든 백업 콘텐츠만 사용할 수 있습니다.
- 아직 해결되지 않은 JS의 최대 안전 개수를 초과하는 문제가 발생했습니다. (검색 제안을 받을 때 얻은 노래 정보의 사진이 NULL인데 사진 ID가 있는데 이를 초과하면 정확하지 않습니다.) 안전한 번호) axios를 정의하여 데이터를 직접 처리할 수 있습니다. 방법(axios의 기본값은 직접 JSON.parse), 관련 플러그인이 있습니다.
- 노래 페이지 댓글 영역에서 사용자를 클릭하여 사용자 경로로 이동하지만 재생 인터페이스가 닫히지 않는 버그 해결, 사용자 페이지가 ID로 변경되지 않는 버그, 중복 로직 삭제 재생 구성 요소의
- 모바일 단말기의 아웃라인은 둥근 모서리가 없으므로 테두리로 대체합니다.
- 앨범 목록, 재생 목록, 가수 목록을 하나의 구성 요소로 통합
- 성능 최적화를 위해 렌더링된 데이터만 동결
- 비디오 세부 정보 및 MV 세부 정보 페이지를 하나의 구성 요소로 통합
- 대부분의 하위 페이지는 동일한 스크롤바를 사용하고, 라우팅 주소를 모니터링하고, 스크롤바를 재설정하고, 노래 변경 시 노래 재생 페이지의 스크롤바를 재설정합니다.
- 주석의 긴 숫자가 줄바꿈되지 않는 버그를 수정했습니다.
- 노래 진행이 앞으로 당겨지고 가사 활성화 라인이 변경되지 않은 버그를 해결합니다. 가사 스크롤 판단의 현재 시간 소스가 변경되었습니다. (이전에는 오디오 실시간 재생 시간이었으며 현재는 제출된 시간입니다. vuex는 약간 지연되거나 사전에 처리될 수 있음) 가사 구성요소를 추출합니다(비공개 FM은 재사용해야 함).
- Chrome에는 자동으로 재생하려면 사용자 상호작용이 필요한 미디어 태그에 대한 제한이 있습니다.
- 편집으로 생성된 재생 목록 정보를 추가하고 VueCropper 플러그인을 사용하여 이미지 자르기
- 개인 정보 추가에는 영역을 추가하지 않고 아바타 자르기 및 변경, 이미지를 자르고 블롭 개체로 처리하고 이를 구성 요소(노래 목록 표지 및 개인 아바타)에 캡슐화하는 것이 포함됩니다.
- Nprogress를 사용하여 취소
- Singer 페이지는 ELTABS 사용을 취소하고 대신 프로젝트에서 TabMenu를 사용합니다. 캡슐화된 axios 요청의 get 메서드를 수정하고 async/await에서 수신할 수 있도록 오류 처리 방식을 변경합니다.
- 일부 플러그인 CDN 로드는 약간 느려서 처음 로드할 때 흰색 화면이 길어집니다.
- 로그아웃 후 홈페이지로 돌아가지 않는 버그, 일부 페이지 이미지 로딩이 지연되는 버그 해결
- 일부 이미지의 지연 로딩을 추가하고, 일부 불합리한 뼈대를 제거하고, 구성 요소 사용의 표준화를 변경했습니다.
- 그리고 vue3 + ts 버전 리팩토링에서 발견된 버그를 변경합니다.