diff --git a/src/components/MiniProgramLauncher/UrlSchemeLauncher.js b/src/components/MiniProgramLauncher/UrlSchemeLauncher.js index 59a82ef6..eb861f84 100644 --- a/src/components/MiniProgramLauncher/UrlSchemeLauncher.js +++ b/src/components/MiniProgramLauncher/UrlSchemeLauncher.js @@ -20,9 +20,26 @@ import { Icon, } from '@chakra-ui/react'; import { FiExternalLink, FiCopy, FiCheck } from 'react-icons/fi'; -import { generateUrlScheme, openUrlScheme } from '@services/miniprogramService'; import { isIOSDevice } from './hooks/useWechatEnvironment'; +// 小程序 AppID +const MINIPROGRAM_APPID = 'wx0edeaab76d4fa414'; + +/** + * 生成明文 URL Scheme + * 格式:weixin://dl/business/?appid=APPID&path=PATH&query=QUERY + */ +const generatePlainUrlScheme = (path, query) => { + const params = new URLSearchParams({ + appid: MINIPROGRAM_APPID, + path: path || '', + }); + if (query) { + params.set('query', query); + } + return `weixin://dl/business/?${params.toString()}`; +}; + /** * URL Scheme 跳转组件 * @param {Object} props @@ -54,17 +71,15 @@ const UrlSchemeLauncher = ({ try { setLoading(true); - // 生成 URL Scheme - const result = await generateUrlScheme({ path, query }); + // 生成明文 URL Scheme(不需要后端 API) + const scheme = generatePlainUrlScheme(path, query); + console.log('[UrlSchemeLauncher] 生成的 scheme:', scheme); - if (!result?.openlink) { - throw new Error('生成跳转链接失败'); - } - - setOpenlink(result.openlink); + setOpenlink(scheme); // 尝试直接跳转 - const success = openUrlScheme(result.openlink); + window.location.href = scheme; + const success = true; if (success) { onSuccess?.(); diff --git a/src/views/Home/HomePage.tsx b/src/views/Home/HomePage.tsx index 0e44ad34..c0007dfb 100644 --- a/src/views/Home/HomePage.tsx +++ b/src/views/Home/HomePage.tsx @@ -146,7 +146,7 @@ const HomePage: React.FC = () => { zIndex={1000} >