From b9901b12cb7b3216bd792e73232bba46c36f2a56 Mon Sep 17 00:00:00 2001 From: unknown <18119604035@163.com> Date: Sun, 30 Jul 2023 15:43:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E8=AF=A6=E6=83=85=E8=AF=BE?= =?UTF-8?q?=E4=BB=B6=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/course/index.tsx | 22 ++++++++++++++-------- src/utils/index.ts | 5 +++++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/pages/course/index.tsx b/src/pages/course/index.tsx index c1d5d6f..0dd8afc 100644 --- a/src/pages/course/index.tsx +++ b/src/pages/course/index.tsx @@ -4,7 +4,7 @@ import styles from "./index.module.scss"; import { useNavigate, useLocation, useParams } from "react-router-dom"; import backIcon from "../../assets/images/commen/icon-back-n.png"; import { course as vod } from "../../api/index"; -import { isEmptyObject } from "../../utils/index"; +import { isEmptyObject, isWechat } from "../../utils/index"; import { Empty } from "../../components"; import { HourCompenent } from "./compenents/hour"; @@ -117,13 +117,19 @@ const CoursePage = () => { const downLoadFile = (cid: number, id: number) => { vod.downloadAttachment(cid, id).then((res: any) => { - var input = document.createElement("input"); - input.value = res.data.download_url; - document.body.appendChild(input); - input.select(); - document.execCommand("Copy"); - document.body.removeChild(input); - Toast.show("下载链接已复制,请在浏览器中粘贴下载"); + if (isWechat()) { + const input = document.createElement("input"); + document.body.appendChild(input); + input.setAttribute("value", res.data.download_url); + input.select(); + if (document.execCommand("copy")) { + document.execCommand("copy"); + Toast.show("下载链接已复制,请在浏览器中粘贴下载"); + } + document.body.removeChild(input); + } else { + window.open(res.data.download_url); + } }); }; diff --git a/src/utils/index.ts b/src/utils/index.ts index 4b06c5e..be86612 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -80,3 +80,8 @@ export function isMobile() { export function isEmptyObject(obj: Object) { return Object.keys(obj).length === 0; } + +export function isWechat() { + let ua = window.navigator.userAgent.toLowerCase(); + return /micromessenger/.test(ua); +}