From 759252cec5911445bfd8601ab703e5608b45adb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=B2=81=E6=A0=91=E4=BA=BA?= Date: Mon, 14 Oct 2024 11:03:01 +0900 Subject: [PATCH] docs: improve faq page - add toc for faq page - fix #79: add note about oem build - add plat form specific instructions for qqmusic faq --- src/components/HelpText/Header3.tsx | 26 --- src/components/HelpText/Header4.tsx | 16 -- src/components/HelpText/Headers.tsx | 42 ++++ src/faq/KuwoFAQ.tsx | 11 +- src/faq/OtherFAQ.tsx | 4 +- src/faq/QQMusicFAQ.tsx | 194 +++++++++++++----- src/faq/SegmentKeyImportInstructions.tsx | 9 +- src/faq/SegmentTryOfficialPlayer.tsx | 14 +- .../settings/panels/QMCv2/InstructionsPC.tsx | 4 +- src/tabs/FaqTab.tsx | 22 +- 10 files changed, 226 insertions(+), 116 deletions(-) delete mode 100644 src/components/HelpText/Header3.tsx delete mode 100644 src/components/HelpText/Header4.tsx create mode 100644 src/components/HelpText/Headers.tsx diff --git a/src/components/HelpText/Header3.tsx b/src/components/HelpText/Header3.tsx deleted file mode 100644 index 67e1caf..0000000 --- a/src/components/HelpText/Header3.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { Heading } from '@chakra-ui/react'; -import React from 'react'; - -export interface Header3Props { - children: React.ReactNode; - id?: string; - className?: string; -} - -export function Header3({ children, className, id }: Header3Props) { - return ( - - {children} - - ); -} diff --git a/src/components/HelpText/Header4.tsx b/src/components/HelpText/Header4.tsx deleted file mode 100644 index f2b8deb..0000000 --- a/src/components/HelpText/Header4.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { Heading } from '@chakra-ui/react'; -import React from 'react'; - -export interface Header4Props { - children: React.ReactNode; - id?: string; - className?: string; -} - -export function Header4({ children, className, id }: Header4Props) { - return ( - - {children} - - ); -} diff --git a/src/components/HelpText/Headers.tsx b/src/components/HelpText/Headers.tsx new file mode 100644 index 0000000..f2a9e8b --- /dev/null +++ b/src/components/HelpText/Headers.tsx @@ -0,0 +1,42 @@ +import { Heading } from '@chakra-ui/react'; +import React from 'react'; + +export interface HeaderProps { + children: React.ReactNode; + id?: string; + className?: string; +} + +export function Header3({ children, className, id }: HeaderProps) { + return ( + + {children} + + ); +} + +export function Header4({ children, className, id }: HeaderProps) { + return ( + + {children} + + ); +} + +export function Header5({ children, className, id }: HeaderProps) { + return ( + + {children} + + ); +} diff --git a/src/faq/KuwoFAQ.tsx b/src/faq/KuwoFAQ.tsx index 6849803..6afe7c3 100644 --- a/src/faq/KuwoFAQ.tsx +++ b/src/faq/KuwoFAQ.tsx @@ -1,5 +1,5 @@ -import { Alert, AlertIcon, Container, Flex, List, ListItem, Text, chakra } from '@chakra-ui/react'; -import { Header4 } from '~/components/HelpText/Header4'; +import { Alert, AlertIcon, Container, Flex, List, ListItem, Text } from '@chakra-ui/react'; +import { Header4 } from '~/components/HelpText/Headers'; import { VQuote } from '~/components/HelpText/VQuote'; import { SegmentTryOfficialPlayer } from './SegmentTryOfficialPlayer'; import { HiWord } from '~/components/HelpText/HiWord'; @@ -15,9 +15,6 @@ export function KuwoFAQ() { - - 2、检查您的平台 - 日前,仅手机客户端下载的 @@ -38,10 +35,10 @@ export function KuwoFAQ() { 安卓用户提取密钥需要 root 权限,或注入文件提供器。 - 注意:已知部分第三方修改版会破坏密钥写入功能,导致无法正常导入密钥。 + 注意:已知部分第三方修改版会破坏密钥写入功能,导致无法提取密钥。 - 注意:项目组不提倡使用第三方修改版应用亦不会提供,使用前请自行评估风险。 + 注意:项目组不提倡使用、也不提供第三方修改版。使用前请自行评估风险。 diff --git a/src/faq/OtherFAQ.tsx b/src/faq/OtherFAQ.tsx index 41c48f2..5b33698 100644 --- a/src/faq/OtherFAQ.tsx +++ b/src/faq/OtherFAQ.tsx @@ -1,6 +1,6 @@ import { Alert, AlertIcon, Code, Container, Flex, Img, ListItem, Text, UnorderedList } from '@chakra-ui/react'; import { ExtLink } from '~/components/ExtLink'; -import { Header4 } from '~/components/HelpText/Header4'; +import { Header4 } from '~/components/HelpText/Headers'; import { VQuote } from '~/components/HelpText/VQuote'; import { ProjectIssue } from '~/components/ProjectIssue'; import LdPlayerSettingsScreen from './assets/ld_settings_misc.webp'; @@ -63,7 +63,7 @@ export function OtherFAQ() { - 注意:根据应用厂商的风控策略,使用模拟器登录的账号有可能会被封锁 + 注意:根据应用的风控策略,使用模拟器登录的账号有可能会导致账号被封锁 {';使用前请自行评估风险。'} diff --git a/src/faq/QQMusicFAQ.tsx b/src/faq/QQMusicFAQ.tsx index 5a175ee..8242c4a 100644 --- a/src/faq/QQMusicFAQ.tsx +++ b/src/faq/QQMusicFAQ.tsx @@ -1,63 +1,159 @@ -import { Alert, AlertIcon, Container, Flex, List, ListItem, Text, UnorderedList, chakra } from '@chakra-ui/react'; -import { Header4 } from '~/components/HelpText/Header4'; +import { Accordion, AccordionButton, AccordionIcon, AccordionItem, AccordionPanel, Box } from '@chakra-ui/react'; +import { Alert, AlertIcon, Container, Flex, ListItem, Text, UnorderedList } from '@chakra-ui/react'; +import { Header4 } from '~/components/HelpText/Headers'; import { SegmentTryOfficialPlayer } from './SegmentTryOfficialPlayer'; -import { QMCv2QQMusicAllInstructions } from '~/features/settings/panels/QMCv2/QMCv2QQMusicAllInstructions'; import { SegmentKeyImportInstructions } from './SegmentKeyImportInstructions'; import { ExtLink } from '~/components/ExtLink'; +import { AndroidADBPullInstruction } from '~/components/AndroidADBPullInstruction/AndroidADBPullInstruction'; +import { InstructionsIOS } from '~/features/settings/panels/QMCv2/InstructionsIOS'; +import { InstructionsMac } from '~/features/settings/panels/QMCv2/InstructionsMac'; export function QQMusicFAQ() { return ( <> 解锁失败 - - - - - - - 2、检查您的平台 - - - 日前,仅 Windows 客户端 19.43 或更低版本下载的歌曲文件无需密钥,其余平台的官方正式版本均需要提取密钥。 - 你可以通过下方的链接获取 QQ 音乐 Windows 客户端 v19.43 的安装程序: - - - - - - qq.com 官方下载地址(推荐) - - - - - - - Archive.org 存档 - - - - + + 重复下载同一首的歌曲不重复扣下载配额,但是同一首歌的两个版本会重复扣下载配额,请仔细分辨。 + + 部分平台获取的加密文件未包含密钥。选择你下载文件时使用的客户端来查看说明。 + + + +

+ + + Windows + + + +

+ + + 目前 Windows 客户端 19.51 或更低版本下载的歌曲文件无需密钥,其余平台的官方正式版本均需要提取密钥。 + + 你可以通过下方的链接获取 QQ 音乐 Windows 客户端 v19.51 的安装程序: + + + + + qq.com 官方下载地址(推荐) + + + + + + + Archive.org 存档 + + + + + +
- - - - - iOS 用户提取歌曲困难,建议换用电脑操作; - 安卓用户提取密钥需要root,也建议用电脑操作。 - - - + +

+ + + Mac + + + +

+ + + + + + Mac 需要降级到 8.8.0 或以下版本。 + + + Archive.org 存档 + + + + + - - - - 重复下载同一首的歌曲不重复扣下载配额,但是同一首歌的两个版本会重复扣下载配额,请仔细分辨。 - - + + + + } + /> + +
- } /> -
-
+ +

+ + + 安卓 (Android) + + + +

+ + + + + + 安卓提取密钥需要 root 特权,建议用电脑操作。 + + + + + QQ 音乐官方版本需要提取密钥才能解密。 + + 你也可以尝试使用【QQ 音乐简洁版】或 OEM 定制版(如小米、魅族定制版)。简洁、定制版本目前不需要提取密钥。 + + + + + + } + /> + +
+ + +

+ + + iOS (iPhone, iPad) + + + +

+ + + + + + iOS 用户提取歌曲困难,建议换用电脑操作; + + + + + + + + } + /> + +
+ ); } diff --git a/src/faq/SegmentKeyImportInstructions.tsx b/src/faq/SegmentKeyImportInstructions.tsx index 8d35f47..636b528 100644 --- a/src/faq/SegmentKeyImportInstructions.tsx +++ b/src/faq/SegmentKeyImportInstructions.tsx @@ -8,9 +8,14 @@ import { MdFileUpload } from 'react-icons/md'; export interface SegmentKeyImportInstructionsProps { clientInstructions: React.ReactNode; tab: string; + keyInstructionText?: React.ReactNode; } -export function SegmentKeyImportInstructions({ clientInstructions, tab }: SegmentKeyImportInstructionsProps) { +export function SegmentKeyImportInstructions({ + clientInstructions, + tab, + keyInstructionText = '选择你的客户端平台来查看密钥提取说明:', +}: SegmentKeyImportInstructionsProps) { return ( <> 导入密钥可以参考下面的步骤: @@ -33,7 +38,7 @@ export function SegmentKeyImportInstructions({ clientInstructions, tab }: Segmen
- 选择你的客户端平台来查看密钥提取说明: + {keyInstructionText} {clientInstructions} diff --git a/src/faq/SegmentTryOfficialPlayer.tsx b/src/faq/SegmentTryOfficialPlayer.tsx index 3142621..f5407e7 100644 --- a/src/faq/SegmentTryOfficialPlayer.tsx +++ b/src/faq/SegmentTryOfficialPlayer.tsx @@ -1,12 +1,12 @@ -import { Text, chakra } from '@chakra-ui/react'; +import { Alert, AlertIcon, Container } from '@chakra-ui/react'; export function SegmentTryOfficialPlayer() { return ( - <> - - 1、请检查您的文件 - - 尝试用下载音乐的设备播放一次看看,如果官方客户端都无法播放,那解锁肯定会失败哦。 - + + + + 尝试用下载音乐的设备播放一次看看,如果官方客户端都无法播放,那解锁肯定会失败哦。 + + ); } diff --git a/src/features/settings/panels/QMCv2/InstructionsPC.tsx b/src/features/settings/panels/QMCv2/InstructionsPC.tsx index 52a0b86..dd7afc1 100644 --- a/src/features/settings/panels/QMCv2/InstructionsPC.tsx +++ b/src/features/settings/panels/QMCv2/InstructionsPC.tsx @@ -3,8 +3,8 @@ import { Text } from '@chakra-ui/react'; export function InstructionsPC() { return ( <> - 使用 Windows 19.43 或更低版本下载的歌曲文件无需密钥。 - 使用 Windows 19.51 或更高版本下载的歌曲文件需要导入密钥,但方法尚未公开。 + 使用 Windows 19.51 或更低版本下载的歌曲文件无需密钥。 + 使用 Windows 19.57 或更高版本下载的歌曲文件需要导入密钥,但方法尚未公开。 ); } diff --git a/src/tabs/FaqTab.tsx b/src/tabs/FaqTab.tsx index 2ac9c3a..1aec5ff 100644 --- a/src/tabs/FaqTab.tsx +++ b/src/tabs/FaqTab.tsx @@ -1,5 +1,5 @@ -import { Center, Container, Heading } from '@chakra-ui/react'; -import { Header3 } from '~/components/HelpText/Header3'; +import { Center, Container, Heading, Link, ListItem, UnorderedList } from '@chakra-ui/react'; +import { Header3 } from '~/components/HelpText/Headers'; import { KuwoFAQ } from '~/faq/KuwoFAQ'; import { OtherFAQ } from '~/faq/OtherFAQ'; import { QQMusicFAQ } from '~/faq/QQMusicFAQ'; @@ -10,11 +10,23 @@ export function FaqTab() {
常见问题解答
- QQ 音乐 + 答疑目录 + + + QQ 音乐 + + + 酷我音乐 + + + 其它问题 + + + QQ 音乐 - 酷我音乐 + 酷我音乐 - 其它问题 + 其它问题 );