130 lines
3.9 KiB
TypeScript
130 lines
3.9 KiB
TypeScript
// @ts-nocheck
|
|
import { Component } from "react";
|
|
import { View, Text, Image } from "@tarojs/components";
|
|
import "./index.scss";
|
|
import { AtButton, AtInput, AtTabBar } from "taro-ui";
|
|
import React, { useCallback, useEffect, useState } from "react";
|
|
import { AtGrid } from "taro-ui";
|
|
import { Swiper, SwiperItem } from "@tarojs/components";
|
|
import { AtCard } from "taro-ui";
|
|
import { AtImagePicker } from "taro-ui";
|
|
import Taro from "@tarojs/taro";
|
|
import { AtAvatar } from "taro-ui";
|
|
import { AtTag } from "taro-ui";
|
|
import { AtList, AtListItem } from "taro-ui";
|
|
import { AtForm, AtMessage } from "taro-ui";
|
|
import { marked } from "marked";
|
|
import infoText from "./info.md";
|
|
import bookText from "./book.md";
|
|
|
|
marked.setOptions({
|
|
breaks: true, // 是否回车换行
|
|
gfm: true, //使用经批准的 GitHub Flavored Markdown (GFM) 规范
|
|
// pedantic: true, //严格模式
|
|
// highlight(code:any, lang:any) {
|
|
// // 语法高亮
|
|
// let val = code;
|
|
// if (lang) {
|
|
// val = hljs.highlight(lang, code).value;
|
|
// } else {
|
|
// val = hljs.highlightAuto(code).value;
|
|
// }
|
|
// return val;
|
|
// },
|
|
});
|
|
|
|
// const renderer = new marked.Renderer();
|
|
// // 使用拓展
|
|
// marked.use({ renderer });
|
|
|
|
// export default class Index extends Component {
|
|
const Book = () => {
|
|
const [markText, setmarkText] = useState();
|
|
const [isWeChat, setisWeChat] = useState(false);
|
|
|
|
const [book, setbook] = useState(window.localStorage.getItem("book"));
|
|
|
|
useEffect(() => {
|
|
isWeChatFun();
|
|
}, []);
|
|
|
|
// const handleClick = (value) => {
|
|
// // 跳转到目的页面,在当前页面打开
|
|
// Taro.navigateTo({
|
|
// url: "/pages/index/index",
|
|
// });
|
|
// };
|
|
|
|
// 是否在微信客户端
|
|
const isWeChatFun = () => {
|
|
var ua = navigator.userAgent.toLowerCase();
|
|
if (ua.indexOf("micromessenger") != -1) {
|
|
setisWeChat(true);
|
|
return true;
|
|
} else {
|
|
setisWeChat(false);
|
|
return false;
|
|
}
|
|
};
|
|
|
|
const payh5 = (type, total_fee = 1000) => {
|
|
// console.log("111");
|
|
Taro.request({
|
|
method: "POST",
|
|
url: `${process.env.TARO_API_API}/payh5`, //仅为示例,并非真实的接口地址
|
|
// url: "https://pay.hackrobot.cn${process.env.TARO_API_API}/payh5", //仅为示例,并非真实的接口地址
|
|
|
|
data: {
|
|
callback_url: window.location.href,
|
|
openid: window.localStorage.getItem("openid"),
|
|
total_fee: total_fee, // 金额,单位:分
|
|
type: type, //订单类型 book/meetup/video/vip
|
|
},
|
|
header: {
|
|
"content-type": "application/json", // 默认值
|
|
},
|
|
success: function (res) {
|
|
console.log(res.data);
|
|
// window.alert(res.data.jsapi);
|
|
WeixinJSBridge.invoke(
|
|
"getBrandWCPayRequest",
|
|
{
|
|
// 以下6个支付参数通过payjs的jsapi接口获取
|
|
// appId: "wxc5205a653b0259bf",
|
|
// timeStamp: "1701401644",
|
|
// nonceStr: "KhOYB0wFV6j9qyQK",
|
|
// package: "prepay_id=wx01113404850024729b35f4d69b73500000",
|
|
// signType: "MD5",
|
|
// paySign: "2A823C8D47CCF871C6C65A56DC228CF8",
|
|
...(res?.data?.jsapi ?? {}),
|
|
},
|
|
function (res) {
|
|
// 支付成功
|
|
if (res.err_msg == "get_brand_wcpay_request:ok") {
|
|
window.localStorage.setItem(type, 1); //订单类型 book/meetup/video/vip
|
|
WeixinJSBridge.call("closeWindow");
|
|
}
|
|
}
|
|
);
|
|
},
|
|
});
|
|
};
|
|
|
|
return (
|
|
<View className="Book">
|
|
{/* <View className="book_left">1 </View> */}
|
|
<View
|
|
className="markdown-body" // 添加 GitHub Markdown 主题类
|
|
dangerouslySetInnerHTML={{
|
|
__html: marked(book == 1 ? bookText : infoText),
|
|
}}
|
|
></View>
|
|
{/* <View className="book_right"> 22</View> */}
|
|
|
|
{/* <View className="bottomDiv"></View> */}
|
|
</View>
|
|
);
|
|
};
|
|
|
|
export default Book;
|