Compare commits
6 Commits
dev
...
ericyoutub
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
888ff32719 | ||
|
|
49a86761b6 | ||
|
|
ddf3fad972 | ||
|
|
59718010cf | ||
|
|
9cfa939722 | ||
|
|
1cb0295d2d |
@@ -1,2 +1,2 @@
|
|||||||
# process.env.TARO_API_API="https://api.nomadcna.com"
|
# process.env.TARO_API_API="https://api.nomadcna.com"
|
||||||
process.env.TARO_API_API="https://api.hackrobot.cn"
|
process.env.TARO_API_API="https://payjs.dsx2020.com"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ module.exports = {
|
|||||||
NODE_ENV: '"production"'
|
NODE_ENV: '"production"'
|
||||||
},
|
},
|
||||||
defineConstants: {
|
defineConstants: {
|
||||||
'process.env.TARO_API_API': JSON.stringify("https://api.hackrobot.cn")
|
'process.env.TARO_API_API': JSON.stringify("https://payjs.dsx2020.com")
|
||||||
},
|
},
|
||||||
mini: {},
|
mini: {},
|
||||||
h5: {
|
h5: {
|
||||||
|
|||||||
BIN
src/images/dsx.png
Normal file
BIN
src/images/dsx.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 383 KiB |
BIN
src/images/homecna.png
Normal file
BIN
src/images/homecna.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
BIN
src/images/youtube2.png
Normal file
BIN
src/images/youtube2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
@@ -8,20 +8,20 @@
|
|||||||
<meta name="format-detection" content="telephone=no,address=no">
|
<meta name="format-detection" content="telephone=no,address=no">
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="white">
|
<meta name="apple-mobile-web-app-status-bar-style" content="white">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" >
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" >
|
||||||
<link rel="apple-touch-icon" href="/static/images/images/touxiang.png" />
|
<link rel="apple-touch-icon" href="/static/images/images/youtube.ico" />
|
||||||
<!-- <link rel="apple-touch-icon" href="/static/images/images/youtube.svg" /> -->
|
<!-- <link rel="apple-touch-icon" href="/static/images/images/youtube.svg" /> -->
|
||||||
|
|
||||||
<link
|
<link
|
||||||
rel="icon"
|
rel="icon"
|
||||||
sizes="192x192"
|
sizes="192x192"
|
||||||
href="/static/images/images/touxiang.png"
|
href="/static/images/images/youtube.ico"
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<title>异度世界</title>
|
<title>youtube运营</title>
|
||||||
<meta name="description" content="异度世界">
|
<meta name="description" content="youtube运营">
|
||||||
<meta property="og:description" content="异度世界">
|
<meta property="og:description" content="youtube运营">
|
||||||
<meta name="twitter:description" content="异度世界">
|
<meta name="twitter:description" content="youtube运营">
|
||||||
<script><%= htmlWebpackPlugin.options.script %></script>
|
<script><%= htmlWebpackPlugin.options.script %></script>
|
||||||
<!-- 禁止缓存 -->
|
<!-- 禁止缓存 -->
|
||||||
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
|
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
export default {
|
export default {
|
||||||
navigationBarTitleText: '异度世界'
|
navigationBarTitleText: 'youtube运营'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
export default {
|
export default {
|
||||||
navigationBarTitleText: '异度世界'
|
navigationBarTitleText: 'youtube运营'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,12 @@ import { AtIcon } from "taro-ui";
|
|||||||
import { VIEW } from "@tarojs/runtime";
|
import { VIEW } from "@tarojs/runtime";
|
||||||
import "animate.css";
|
import "animate.css";
|
||||||
import touxiang from "../../images/touxiang.png";
|
import touxiang from "../../images/touxiang.png";
|
||||||
|
import dsx from "../../images/dsx.png";
|
||||||
|
import homecna from "../../images/homecna.png";
|
||||||
|
|
||||||
|
import youtube2 from "../../images/youtube2.png";
|
||||||
|
|
||||||
|
|
||||||
import hackrobot from "../../images/hackrobot.png";
|
import hackrobot from "../../images/hackrobot.png";
|
||||||
|
|
||||||
import cat from "../../images/cat.jpg";
|
import cat from "../../images/cat.jpg";
|
||||||
@@ -105,6 +111,8 @@ const Index = () => {
|
|||||||
// },
|
// },
|
||||||
});
|
});
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
// window.localStorage.removeItem('vip')
|
||||||
|
// window.alert(window.localStorage.getItem("username"));
|
||||||
if (contentRef.current) {
|
if (contentRef.current) {
|
||||||
const h1Elements = contentRef.current.querySelectorAll("h1");
|
const h1Elements = contentRef.current.querySelectorAll("h1");
|
||||||
const h2Elements = contentRef.current.querySelectorAll("h2");
|
const h2Elements = contentRef.current.querySelectorAll("h2");
|
||||||
@@ -336,15 +344,36 @@ const Index = () => {
|
|||||||
setopen(value);
|
setopen(value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const createUser = (username, password) => {
|
||||||
|
Taro.request({
|
||||||
|
method: "POST",
|
||||||
|
url: `${process.env.TARO_API_API}/create_user`,
|
||||||
|
data: {
|
||||||
|
username: username,
|
||||||
|
password: password || "123456", // 如果没有传入密码,则使用默认密码
|
||||||
|
},
|
||||||
|
header: {
|
||||||
|
"content-type": "application/json",
|
||||||
|
},
|
||||||
|
success: function (res) {
|
||||||
|
console.log("用户创建结果:", res.data);
|
||||||
|
window.localStorage.setItem("username", res?.data?.username);
|
||||||
|
window.localStorage.setItem("password", res?.data?.password);
|
||||||
|
},
|
||||||
|
fail: function (err) {
|
||||||
|
console.error("创建用户失败:", err);
|
||||||
|
Taro.showToast({
|
||||||
|
title: "请求失败",
|
||||||
|
icon: "error",
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
const payh5 = (type, total_fee = 1000) => {
|
const payh5 = (type, total_fee = 1000) => {
|
||||||
// console.log("111");
|
|
||||||
Taro.request({
|
Taro.request({
|
||||||
method: "POST",
|
method: "POST",
|
||||||
url: `${process.env.TARO_API_API}/payh5`,
|
url: `${process.env.TARO_API_API}/payh5`,
|
||||||
// url: "${process.env.TARO_API_API}/payh5",
|
|
||||||
|
|
||||||
// url: "https://pay.hackrobot.cn${process.env.TARO_API_API}/payh5", //仅为示例,并非真实的接口地址
|
|
||||||
|
|
||||||
data: {
|
data: {
|
||||||
callback_url: window.location.href,
|
callback_url: window.location.href,
|
||||||
openid: window.localStorage.getItem("openid"),
|
openid: window.localStorage.getItem("openid"),
|
||||||
@@ -355,8 +384,10 @@ const Index = () => {
|
|||||||
"content-type": "application/json", // 默认值
|
"content-type": "application/json", // 默认值
|
||||||
},
|
},
|
||||||
success: function (res) {
|
success: function (res) {
|
||||||
|
// payjs数据返回
|
||||||
console.log(res.data);
|
console.log(res.data);
|
||||||
// window.alert(res.data.jsapi);
|
// window.alert(res.data.username);
|
||||||
|
// window.alert(JSON.stringify(res?.data, null, 2));
|
||||||
WeixinJSBridge.invoke(
|
WeixinJSBridge.invoke(
|
||||||
"getBrandWCPayRequest",
|
"getBrandWCPayRequest",
|
||||||
{
|
{
|
||||||
@@ -369,11 +400,21 @@ const Index = () => {
|
|||||||
// paySign: "2A823C8D47CCF871C6C65A56DC228CF8",
|
// paySign: "2A823C8D47CCF871C6C65A56DC228CF8",
|
||||||
...(res?.data?.jsapi ?? {}),
|
...(res?.data?.jsapi ?? {}),
|
||||||
},
|
},
|
||||||
function (res) {
|
function (reslut) {
|
||||||
// 支付成功
|
// 支付成功
|
||||||
if (res.err_msg == "get_brand_wcpay_request:ok") {
|
if (reslut.err_msg == "get_brand_wcpay_request:ok") {
|
||||||
|
// 新增memos用户
|
||||||
|
// 动态生成用户名,若 username 没传入则使用默认值 "user" + 当前时间戳
|
||||||
|
const finalUsername = `user${Date.now()}`;
|
||||||
|
createUser(finalUsername, "123456");
|
||||||
window.localStorage.setItem(type, 1); //订单类型 book/meetup/video/vip
|
window.localStorage.setItem(type, 1); //订单类型 book/meetup/video/vip
|
||||||
WeixinJSBridge.call("closeWindow");
|
window.localStorage.setItem("username", finalUsername);
|
||||||
|
window.localStorage.setItem("password", "123456");
|
||||||
|
|
||||||
|
// WeixinJSBridge.call("closeWindow");
|
||||||
|
} else {
|
||||||
|
window.alert("支付取消/失败");
|
||||||
|
// createUser();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -387,6 +428,42 @@ const Index = () => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleCopyUsername = () => {
|
||||||
|
Taro.setClipboardData({
|
||||||
|
data: window.localStorage.getItem("username"), // 复制账号
|
||||||
|
success: () => {
|
||||||
|
Taro.showToast({
|
||||||
|
title: "账号已复制",
|
||||||
|
icon: "success",
|
||||||
|
});
|
||||||
|
},
|
||||||
|
fail: () => {
|
||||||
|
Taro.showToast({
|
||||||
|
title: "复制失败",
|
||||||
|
icon: "none",
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleCopyPassword = () => {
|
||||||
|
Taro.setClipboardData({
|
||||||
|
data: '123456', // 复制密码
|
||||||
|
success: () => {
|
||||||
|
Taro.showToast({
|
||||||
|
title: "密码已复制",
|
||||||
|
icon: "success",
|
||||||
|
});
|
||||||
|
},
|
||||||
|
fail: () => {
|
||||||
|
Taro.showToast({
|
||||||
|
title: "复制失败",
|
||||||
|
icon: "none",
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<View className="index">
|
<View className="index">
|
||||||
@@ -395,7 +472,9 @@ const Index = () => {
|
|||||||
{/* 参考资料https://readmake.com/ */}
|
{/* 参考资料https://readmake.com/ */}
|
||||||
<View className="index-book animate__animated animate__pulse">
|
<View className="index-book animate__animated animate__pulse">
|
||||||
<View className="index_book_left">
|
<View className="index_book_left">
|
||||||
<View className="left_title"> 异度世界</View>
|
{/* <View className="left_title"> 异度世界</View> */}
|
||||||
|
|
||||||
|
|
||||||
{/* <View className="left_text">手册3</View> */}
|
{/* <View className="left_text">手册3</View> */}
|
||||||
{/* <View className="left_mobile">
|
{/* <View className="left_mobile">
|
||||||
<Text>🚀 边旅行转赚钱</Text>
|
<Text>🚀 边旅行转赚钱</Text>
|
||||||
@@ -437,8 +516,8 @@ const Index = () => {
|
|||||||
<Image className="cardItem_left_img" src={group}></Image>
|
<Image className="cardItem_left_img" src={group}></Image>
|
||||||
</View>
|
</View>
|
||||||
<View className="cardItem_right">
|
<View className="cardItem_right">
|
||||||
<View className="cardItem_rightUp">不只云手机</View>
|
<View className="cardItem_rightUp">油管交流</View>
|
||||||
<View className="cardItem_rightDown">折腾技术</View>
|
<View className="cardItem_rightDown">出海赚美金</View>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
@@ -461,8 +540,8 @@ const Index = () => {
|
|||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
if (!!isWeChat) {
|
if (!!isWeChat) {
|
||||||
//58元
|
//19.8元
|
||||||
payh5("vip", 5800);
|
payh5("vip", 1980);
|
||||||
} else {
|
} else {
|
||||||
window.location.href = `https://mp.weixin.qq.com/s/16xcMIgxEEGBPY7fanNq0g`;
|
window.location.href = `https://mp.weixin.qq.com/s/16xcMIgxEEGBPY7fanNq0g`;
|
||||||
}
|
}
|
||||||
@@ -477,20 +556,24 @@ const Index = () => {
|
|||||||
</AtButton>
|
</AtButton>
|
||||||
) : (
|
) : (
|
||||||
<View className="vipcode">
|
<View className="vipcode">
|
||||||
<Image className="vipcodeImg" src={hackrobot}></Image>
|
|
||||||
<View
|
<View
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
window.location.href = `https://memos.hackrobot.org`;
|
window.location.href = `https://memos.hackrobot.org`;
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
👉星球地址: memos.hackrobot.org
|
👉星球地址:{" "}
|
||||||
|
<span style={{ color: "blue" }}>memos.hackrobot.org</span>
|
||||||
</View>
|
</View>
|
||||||
|
<View>账号:{window.localStorage.getItem("username")}</View>
|
||||||
|
<Button onClick={handleCopyUsername}>复制账号</Button>
|
||||||
|
<View>密码:{"123456"}</View>{" "}
|
||||||
|
{/* <Button onClick={handleCopyPassword}>复制密码</Button> */}
|
||||||
<View>
|
<View>
|
||||||
添加
|
添加
|
||||||
<span style={{ color: "green" }}>微信好友: hackrobot</span>
|
<span style={{ color: "green" }}>微信好友: homecna</span>
|
||||||
</View>
|
</View>
|
||||||
<View>获取 账号</View>
|
{/* <View>获取 账号</View> */}
|
||||||
|
<Image className="vipcodeImg" src={homecna}></Image>
|
||||||
</View>
|
</View>
|
||||||
)}
|
)}
|
||||||
</View>
|
</View>
|
||||||
@@ -499,7 +582,7 @@ const Index = () => {
|
|||||||
<Image
|
<Image
|
||||||
className="book_img"
|
className="book_img"
|
||||||
// style="width: 40%px;height:100%;background: #fff;"
|
// style="width: 40%px;height:100%;background: #fff;"
|
||||||
src={touxiang}
|
src={youtube2}
|
||||||
// src={phone2}
|
// src={phone2}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
👋 还在一个人摸索吗?
|
😩 做 YouTube,你是不是也遇到过:
|
||||||
📚 资源共享 & 问答,遇到问题,即时响应
|
|
||||||
🌟 在这里,你能得到:
|
粉丝涨不动
|
||||||
✅ 业务方向(无人直播, RPA自动化,聊天机器人)
|
视频没人看
|
||||||
✅ 技术杠杆(云手机,PVE虚拟化,服务器集群)
|
收益遥遥无期
|
||||||
✅ 海外平台(YouTube、TikTok、Saas)
|
|
||||||
|
🔥 来社群吧!
|
||||||
|
这里有同样在路上的伙伴,互帮互助、实时答疑,不用再孤军奋战。
|
||||||
|
💡 一起摸清算法脉络,把创作当作事业,而不是孤单的试错。
|
||||||
@@ -216,7 +216,7 @@
|
|||||||
.index_book_img {
|
.index_book_img {
|
||||||
margin-top: 80px;
|
margin-top: 80px;
|
||||||
width: 400px;
|
width: 400px;
|
||||||
height: 400px;
|
// height: 400px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,7 +310,7 @@
|
|||||||
// height: 100%;
|
// height: 100%;
|
||||||
// background-color: yellow;
|
// background-color: yellow;
|
||||||
.book_img {
|
.book_img {
|
||||||
margin-bottom: 40px;
|
// margin-bottom: 40px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
export default {
|
export default {
|
||||||
navigationBarTitleText: '异度世界'
|
navigationBarTitleText: 'youtube运营'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user