5 Commits
dev ... leafdev

Author SHA1 Message Date
eric
49a86761b6 '' 2025-09-10 09:01:01 +08:00
eric
ddf3fad972 '' 2025-09-10 08:46:57 +08:00
eric
59718010cf 's' 2025-09-09 23:51:11 +08:00
eric
9cfa939722 's' 2025-09-09 23:04:54 +08:00
eric
1cb0295d2d 's'' 2025-09-09 19:21:08 +08:00
11 changed files with 123 additions and 39 deletions

View File

@@ -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"

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 KiB

BIN
src/images/youtube2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -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">

View File

@@ -1,3 +1,3 @@
export default { export default {
navigationBarTitleText: '异度世界' navigationBarTitleText: 'youtube运营'
} }

View File

@@ -1,3 +1,3 @@
export default { export default {
navigationBarTitleText: '异度世界' navigationBarTitleText: 'youtube运营'
} }

View File

@@ -30,6 +30,10 @@ 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 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 +109,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 +342,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 +382,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 +398,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 +426,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 +470,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 +514,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 +538,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 +554,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" }}>微信好友: Ella199406</span>
</View> </View>
<View>获取 账号</View> {/* <View>获取 账号</View> */}
<Image className="vipcodeImg" src={dsx}></Image>
</View> </View>
)} )}
</View> </View>
@@ -499,7 +580,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>

View File

@@ -1,6 +1,9 @@
👋 还在一个人摸索吗? 😩 做 YouTube你是不是也遇到过
📚 资源共享 & 问答,遇到问题,即时响应
🌟 在这里,你能得到: 粉丝涨不动
✅ 业务方向(无人直播, RPA自动化,聊天机器人) 视频没人看
✅ 技术杠杆(云手机,PVE虚拟化,服务器集群) 收益遥遥无期
✅ 海外平台YouTube、TikTok、Saas
🔥 来社群吧!
这里有同样在路上的伙伴,互帮互助、实时答疑,不用再孤军奋战。
💡 一起摸清算法脉络,把创作当作事业,而不是孤单的试错。

View File

@@ -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;
} }
} }
} }

View File

@@ -1,3 +1,3 @@
export default { export default {
navigationBarTitleText: '异度世界' navigationBarTitleText: 'youtube运营'
} }