明树Git Lab
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
B
bridata-website-frontend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
bridata-website-frontend
Commits
6fcef932
Commit
6fcef932
authored
Jan 23, 2026
by
yangyajing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
分享时复制对应地址,增加小程序分享相关功能
parent
2566820f
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
148 additions
and
101 deletions
+148
-101
App.jsx
src/App.jsx
+148
-101
No files found.
src/App.jsx
View file @
6fcef932
...
@@ -1823,7 +1823,7 @@ const DataResourceGraph = () => {
...
@@ -1823,7 +1823,7 @@ const DataResourceGraph = () => {
};
};
/* --- 7. Home Section (Aggregator Module) --- */
/* --- 7. Home Section (Aggregator Module) --- */
const
HomeSection
=
({
setActiveTab
,
setSelectedScenario
})
=>
{
const
HomeSection
=
({
setActiveTab
,
setSelectedScenario
,
setWechatShare
})
=>
{
return
(
return
(
<
div
className=
"w-full relative animate-fade-in-up"
>
<
div
className=
"w-full relative animate-fade-in-up"
>
{
/* Hero Content - Title and Slogan */
}
{
/* Hero Content - Title and Slogan */
}
...
@@ -1850,7 +1850,10 @@ const HomeSection = ({ setActiveTab, setSelectedScenario }) => {
...
@@ -1850,7 +1850,10 @@ const HomeSection = ({ setActiveTab, setSelectedScenario }) => {
</
div
>
</
div
>
<
h2
className=
"text-xl md:text-xl font-bold text-white"
>
全链路数据要素价值实现
</
h2
>
<
h2
className=
"text-xl md:text-xl font-bold text-white"
>
全链路数据要素价值实现
</
h2
>
</
div
>
</
div
>
<
button
onClick=
{
()
=>
setActiveTab
(
'data'
)
}
className=
"text-gray-400 hover:text-[#00FFC2] text-sm flex items-center gap-1 transition-colors group"
>
<
button
onClick=
{
()
=>
{
setActiveTab
(
'data'
);
setWechatShare
(
'data'
);
}
}
className=
"text-gray-400 hover:text-[#00FFC2] text-sm flex items-center gap-1 transition-colors group"
>
查看更多
<
ArrowRight
className=
"w-4 h-4 group-hover:translate-x-1 transition-transform"
/>
查看更多
<
ArrowRight
className=
"w-4 h-4 group-hover:translate-x-1 transition-transform"
/>
</
button
>
</
button
>
</
div
>
</
div
>
...
@@ -1899,7 +1902,10 @@ const HomeSection = ({ setActiveTab, setSelectedScenario }) => {
...
@@ -1899,7 +1902,10 @@ const HomeSection = ({ setActiveTab, setSelectedScenario }) => {
</
div
>
</
div
>
<
h2
className=
"text-lg md:text-xl font-bold text-white"
>
全行业解决方案
</
h2
>
<
h2
className=
"text-lg md:text-xl font-bold text-white"
>
全行业解决方案
</
h2
>
</
div
>
</
div
>
<
button
onClick=
{
()
=>
setActiveTab
(
'scenarios'
)
}
className=
"text-gray-400 hover:text-[#00FFC2] text-sm flex items-center gap-1 transition-colors group"
>
<
button
onClick=
{
()
=>
{
setActiveTab
(
'scenarios'
);
setWechatShare
(
'scenarios'
);
}
}
className=
"text-gray-400 hover:text-[#00FFC2] text-sm flex items-center gap-1 transition-colors group"
>
查看更多
<
ArrowRight
className=
"w-4 h-4 group-hover:translate-x-1 transition-transform"
/>
查看更多
<
ArrowRight
className=
"w-4 h-4 group-hover:translate-x-1 transition-transform"
/>
</
button
>
</
button
>
</
div
>
</
div
>
...
@@ -1950,7 +1956,10 @@ const HomeSection = ({ setActiveTab, setSelectedScenario }) => {
...
@@ -1950,7 +1956,10 @@ const HomeSection = ({ setActiveTab, setSelectedScenario }) => {
<
h2
className=
"text-lg md:text-xl font-bold text-white"
>
明树资讯
</
h2
>
<
h2
className=
"text-lg md:text-xl font-bold text-white"
>
明树资讯
</
h2
>
</
div
>
</
div
>
{
/* View More Button for News */
}
{
/* View More Button for News */
}
<
button
onClick=
{
()
=>
setActiveTab
(
'about'
)
}
className=
"text-gray-400 hover:text-[#00FFC2] text-sm flex items-center gap-1 transition-colors group"
>
<
button
onClick=
{
()
=>
{
setActiveTab
(
'about'
);
setWechatShare
(
'about'
);
}
}
className=
"text-gray-400 hover:text-[#00FFC2] text-sm flex items-center gap-1 transition-colors group"
>
查看更多
<
ArrowRight
className=
"w-4 h-4 group-hover:translate-x-1 transition-transform"
/>
查看更多
<
ArrowRight
className=
"w-4 h-4 group-hover:translate-x-1 transition-transform"
/>
</
button
>
</
button
>
</
div
>
</
div
>
...
@@ -2048,7 +2057,10 @@ const HomeSection = ({ setActiveTab, setSelectedScenario }) => {
...
@@ -2048,7 +2057,10 @@ const HomeSection = ({ setActiveTab, setSelectedScenario }) => {
</
div
>
</
div
>
</
div
>
</
div
>
<
div
className=
"mt-8 text-center"
>
<
div
className=
"mt-8 text-center"
>
<
button
onClick=
{
()
=>
setActiveTab
(
'about'
)
}
className=
"px-6 py-2 border border-white/10 rounded hover:bg-white/5 hover:border-[#00FFC2] hover:text-[#00FFC2] text-gray-400 text-sm transition-all"
>
<
button
onClick=
{
()
=>
{
setActiveTab
(
'about'
);
setWechatShare
(
'about'
);
}
}
className=
"px-6 py-2 border border-white/10 rounded hover:bg-white/5 hover:border-[#00FFC2] hover:text-[#00FFC2] text-gray-400 text-sm transition-all"
>
了解更多公司详情
了解更多公司详情
</
button
>
</
button
>
</
div
>
</
div
>
...
@@ -2072,24 +2084,30 @@ const App = () => {
...
@@ -2072,24 +2084,30 @@ const App = () => {
const
[
showCopyToast
,
setShowCopyToast
]
=
useState
(
false
);
const
[
showCopyToast
,
setShowCopyToast
]
=
useState
(
false
);
const
[
showNewsTotal
,
setShownewsTotal
]
=
useState
(
false
);
const
[
showNewsTotal
,
setShownewsTotal
]
=
useState
(
false
);
const
[
consoleData
,
setConsoleData
]
=
useState
(
null
);
const
[
consoleData
,
setConsoleData
]
=
useState
(
null
);
useEffect
(()
=>
{
useEffect
(()
=>
{
// 获取地址栏传参,跳转到对应位置
let
params
=
new
URL
(
location
.
href
).
searchParams
;
let
pageType
=
params
.
get
(
"pagetype"
);
pageType
&&
setActiveTab
(
pageType
);
let
serviceType
=
params
.
get
(
"servicetype"
);
serviceType
&&
setActiveServiceTab
(
serviceType
);
const
handleScroll
=
()
=>
{
const
handleScroll
=
()
=>
{
setScrolled
(
window
.
scrollY
>
50
);
setScrolled
(
window
.
scrollY
>
50
);
};
};
const
setMobileScroll
=
(
id
)
=>
{
//
const setMobileScroll = (id) => {
let
element
=
document
.
getElementById
(
id
);
//
let element = document.getElementById(id);
const
isMobile
=
/iPhone|iPad|iPod|Android/i
.
test
(
navigator
.
userAgent
);
//
const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
if
(
element
&&
isMobile
)
{
//
if (element && isMobile) {
setTimeout
(()
=>
{
//
setTimeout(() => {
window
.
scrollTo
(
0
,
element
.
offsetTop
);
//
window.scrollTo(0, element.offsetTop);
},
500
);
//
}, 500);
}
//
}
};
//
};
if
(
location
.
hash
)
{
//
if (location.hash) {
let
hash
=
location
.
hash
.
substring
(
2
);
//
let hash = location.hash.substring(2);
setMobileScroll
(
hash
);
//
setMobileScroll(hash);
}
//
}
window
.
addEventListener
(
'scroll'
,
handleScroll
);
window
.
addEventListener
(
'scroll'
,
handleScroll
);
return
()
=>
window
.
removeEventListener
(
'scroll'
,
handleScroll
);
return
()
=>
window
.
removeEventListener
(
'scroll'
,
handleScroll
);
},
[]);
},
[]);
...
@@ -2109,85 +2127,114 @@ const App = () => {
...
@@ -2109,85 +2127,114 @@ const App = () => {
setActiveTab
(
id
);
setActiveTab
(
id
);
setMobileMenuOpen
(
false
);
setMobileMenuOpen
(
false
);
window
.
scrollTo
({
top
:
0
,
behavior
:
'smooth'
});
window
.
scrollTo
({
top
:
0
,
behavior
:
'smooth'
});
setWechatShare
(
id
);
};
};
const
getPageURl
=
(
tab
,
serviceTab
)
=>
{
const
handleWeChatShare
=
async
(
type
)
=>
{
let
url
=
location
.
origin
+
"?pagetype="
+
tab
;
if
(
type
===
"scenario"
&&
window
.
__wxjs_environment
===
'miniprogram'
||
/miniProgram/
.
test
(
navigator
.
userAgent
))
{
if
(
tab
===
"services"
&&
serviceTab
)
{
// 小程序环境中
url
+=
(
"&servicetype="
+
serviceTab
);
wx
.
miniProgram
.
postMessage
({
data
:
{
type
:
'share'
,
path
:
'/pages/webview/webview?url='
+
encodeURIComponent
(
"http://192.168.12.77:5173/#/yycj"
),
timestamp
:
Date
.
now
()
}
}
})
return
url
;
setConsoleData
({
}
text
:
"请点击右上角分享"
const
handleShare
=
async
()
=>
{
});
let
url
=
getPageURl
(
activeTab
,
activeServiceTab
);
setShowCopyToast
(
true
);
await
navigator
.
clipboard
.
writeText
(
url
);
setTimeout
(()
=>
{
setShowCopyToast
(
false
);
},
1500
);
}
else
{
try
{
let
modalElement
=
document
.
getElementById
(
type
+
'-modal'
);
if
(
!
modalElement
)
{
alert
(
'未找到产品弹窗,请重试!'
);
return
;
}
modalElement
=
modalElement
.
cloneNode
(
true
);
const
buttons
=
modalElement
.
querySelectorAll
(
'button'
);
buttons
.
forEach
(
button
=>
button
.
remove
());
// 临时修改样式避免截图不全2
const
rightContent
=
modalElement
.
querySelector
(
'.overflow-y-auto'
);
modalElement
.
style
.
overflow
=
'visible'
;
if
(
rightContent
)
rightContent
.
style
.
overflow
=
'visible'
;
modalElement
.
classList
.
remove
(
"animate-fade-in-up"
,
"h-[100dvh]"
,
"md:max-h-[90vh]"
);
document
.
body
.
appendChild
(
modalElement
);
// DOM转Canvas
const
canvas
=
await
html2canvas
(
modalElement
);
// 转Blob并复制到剪贴板
canvas
.
toBlob
(
async
(
blob
)
=>
{
if
(
!
blob
)
{
// alert('图片转换失败,请重试!');
return
;
}
const
clipboardItem
=
new
ClipboardItem
({
'image/png'
:
blob
});
await
navigator
.
clipboard
.
write
([
clipboardItem
]);
setConsoleData
({
setConsoleData
({
text
:
"内容已复制"
,
text
:
"链接已复制到剪切板"
subText
:
"请打开微信,粘贴并发送给好友"
})
})
setShowCopyToast
(
true
);
setShowCopyToast
(
true
);
setTimeout
(()
=>
{
setTimeout
(()
=>
{
setShowCopyToast
(
false
);
setShowCopyToast
(
false
);
},
1500
);
},
1500
);
},
'image/png'
,
1.0
);
// if ( type === "scenario" && window.__wxjs_environment === 'miniprogram' || /miniProgram/.test(navigator.userAgent)) {
// // 小程序环境中
}
catch
(
error
)
{
// wx.miniProgram.postMessage({
console
.
error
(
'复制失败:'
,
error
);
// data: {
if
(
error
.
name
===
'NotAllowedError'
)
{
// type: 'share',
alert
(
'请允许浏览器的剪贴板权限后重试!'
);
// path: '/pages/webview/webview?url=' + encodeURIComponent("http://192.168.12.77:5173/#/yycj"),
}
else
if
(
error
.
name
===
'TypeError'
)
{
// timestamp: Date.now()
alert
(
'您的浏览器不支持此功能,请升级浏览器!'
);
// }
}
else
{
// })
alert
(
`复制失败:
${
error
.
message
}
`
);
// setConsoleData({
}
// text: "请点击右上角分享"
}
// });
}
// setShowCopyToast(true);
// setTimeout(() => {
// setShowCopyToast(false);
// }, 1500);
// } else {
// try {
// let modalElement = document.getElementById(type + '-modal');
// if (!modalElement) {
// alert('未找到产品弹窗,请重试!');
// return;
// }
// modalElement = modalElement.cloneNode(true);
// const buttons = modalElement.querySelectorAll('button');
// buttons.forEach(button => button.remove());
// // 临时修改样式避免截图不全2
// const rightContent = modalElement.querySelector('.overflow-y-auto');
// modalElement.style.overflow = 'visible';
// if (rightContent) rightContent.style.overflow = 'visible';
// modalElement.classList.remove("animate-fade-in-up", "h-[100dvh]", "md:max-h-[90vh]");
// document.body.appendChild(modalElement);
// // DOM转Canvas
// const canvas = await html2canvas(modalElement);
// // 转Blob并复制到剪贴板
// canvas.toBlob(async (blob) => {
// if (!blob) {
// // alert('图片转换失败,请重试!');
// return;
// }
// const clipboardItem = new ClipboardItem({ 'image/png': blob });
// await navigator.clipboard.write([clipboardItem]);
// setConsoleData({
// text: "内容已复制",
// subText: "请打开微信,粘贴并发送给好友"
// })
// setShowCopyToast(true);
// setTimeout(() => {
// setShowCopyToast(false);
// }, 1500);
// }, 'image/png', 1.0);
// } catch (error) {
// console.error('复制失败:', error);
// if (error.name === 'NotAllowedError') {
// alert('请允许浏览器的剪贴板权限后重试!');
// } else if (error.name === 'TypeError') {
// alert('您的浏览器不支持此功能,请升级浏览器!');
// } else {
// alert(`复制失败:${error.message}`);
// }
// }
// }
};
};
const
resetWeChatShare
=
()
=>
{
// 设置移动端分享路径
// 重置分享信息
const
setWechatShare
=
(
tab
,
serviceTab
)
=>
{
if
(
window
.
__wxjs_environment
===
'miniprogram'
||
/miniProgram/
.
test
(
navigator
.
userAgent
))
{
if
(
window
.
__wxjs_environment
===
'miniprogram'
||
/miniProgram/
.
test
(
navigator
.
userAgent
))
{
let
url
=
getPageURl
(
tab
,
serviceTab
);
wx
.
miniProgram
.
postMessage
({
wx
.
miniProgram
.
postMessage
({
data
:
{
data
:
{
type
:
"default"
type
:
'share'
,
path
:
'/pages/webview/webview?url='
+
encodeURIComponent
(
url
),
timestamp
:
Date
.
now
()
}
}
})
})
}
}
}
};
// const resetWeChatShare = () => {
// // 重置分享信息
// if ( window.__wxjs_environment === 'miniprogram' || /miniProgram/.test(navigator.userAgent)) {
// wx.miniProgram.postMessage({
// data: {
// type: "default"
// }
// })
// }
// }
// Render Content based on activeTab
// Render Content based on activeTab
...
@@ -2373,7 +2420,7 @@ const App = () => {
...
@@ -2373,7 +2420,7 @@ const App = () => {
];
];
switch
(
activeTab
)
{
switch
(
activeTab
)
{
case
'home'
:
case
'home'
:
return
<
HomeSection
setActiveTab=
{
setActiveTab
}
setSelectedScenario=
{
setSelectedScenario
}
/>;
return
<
HomeSection
setActiveTab=
{
setActiveTab
}
setSelectedScenario=
{
setSelectedScenario
}
setWechatShare=
{
setWechatShare
}
/>;
case
'data'
:
case
'data'
:
// location.href = "/channel.html";
// location.href = "/channel.html";
...
@@ -2439,7 +2486,10 @@ const App = () => {
...
@@ -2439,7 +2486,10 @@ const App = () => {
{
Object
.
entries
(
services
).
map
(([
key
,
service
])
=>
(
{
Object
.
entries
(
services
).
map
(([
key
,
service
])
=>
(
<
button
<
button
key=
{
key
}
key=
{
key
}
onClick=
{
()
=>
setActiveServiceTab
(
key
)
}
onClick=
{
()
=>
{
setActiveServiceTab
(
key
);
setWechatShare
(
"services"
,
key
);
}
}
className=
{
`relative px-8 py-4 rounded-t-sm border-t border-x transition-all duration-300 min-w-[180px] flex items-center justify-center gap-3
className=
{
`relative px-8 py-4 rounded-t-sm border-t border-x transition-all duration-300 min-w-[180px] flex items-center justify-center gap-3
${activeServiceTab === key
${activeServiceTab === key
? 'bg-[#1a1c23] border-[#00FFC2]/30 text-white z-10 -mb-[1px] pb-5 shadow-[0_-5px_20px_rgba(0,0,0,0.3)]'
? 'bg-[#1a1c23] border-[#00FFC2]/30 text-white z-10 -mb-[1px] pb-5 shadow-[0_-5px_20px_rgba(0,0,0,0.3)]'
...
@@ -2580,7 +2630,7 @@ const App = () => {
...
@@ -2580,7 +2630,7 @@ const App = () => {
<
div
className=
"text-gray-500 text-xs"
>
获取详细方案
</
div
>
<
div
className=
"text-gray-500 text-xs"
>
获取详细方案
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
<
button
onClick=
{
()
=>
handle
WeChatShare
(
"product"
)
}
className=
"
w-full md:w-auto px-4 md:px-6 py-2.5 md:py-3 bg-[#252830] hover:bg-[#2b2f38] text-white text-xs md:text-sm font-bold border border-white/10 flex items-center justify-center gap-2 hover:border-[#00FFC2] transition-all"
>
<
button
onClick=
{
()
=>
handle
Share
(
"product"
)
}
className=
"hidden lg:flex
w-full md:w-auto px-4 md:px-6 py-2.5 md:py-3 bg-[#252830] hover:bg-[#2b2f38] text-white text-xs md:text-sm font-bold border border-white/10 flex items-center justify-center gap-2 hover:border-[#00FFC2] transition-all"
>
<
MessageCircle
className=
"w-4 h-4 text-[#07C160]"
/>
转发至微信
<
MessageCircle
className=
"w-4 h-4 text-[#07C160]"
/>
转发至微信
</
button
>
</
button
>
</
div
>
</
div
>
...
@@ -2817,7 +2867,7 @@ const App = () => {
...
@@ -2817,7 +2867,7 @@ const App = () => {
);
);
default
:
default
:
return
<
HomeSection
setActiveTab=
{
setActiveTab
}
setSelectedScenario=
{
setSelectedScenario
}
/>;
return
<
HomeSection
setActiveTab=
{
setActiveTab
}
setSelectedScenario=
{
setSelectedScenario
}
setWechatShare=
{
setWechatShare
}
/>;
}
}
};
};
...
@@ -2884,10 +2934,7 @@ const App = () => {
...
@@ -2884,10 +2934,7 @@ const App = () => {
</
div
>
</
div
>
<
h3
className=
"text-lg md:text-2xl font-bold text-white tracking-wide"
>
{
selectedScenario
.
title
}
</
h3
>
<
h3
className=
"text-lg md:text-2xl font-bold text-white tracking-wide"
>
{
selectedScenario
.
title
}
</
h3
>
</
div
>
</
div
>
<
button
onClick=
{
()
=>
{
<
button
onClick=
{
()
=>
setSelectedScenario
(
null
)
}
className=
"p-2 hover:bg-white/10 rounded-full transition-colors"
>
setSelectedScenario
(
null
);
resetWeChatShare
();
}
}
className=
"p-2 hover:bg-white/10 rounded-full transition-colors"
>
<
X
className=
"w-5 h-5 md:w-6 md:h-6 text-gray-400 hover:text-white"
/>
<
X
className=
"w-5 h-5 md:w-6 md:h-6 text-gray-400 hover:text-white"
/>
</
button
>
</
button
>
</
div
>
</
div
>
...
@@ -2946,7 +2993,7 @@ const App = () => {
...
@@ -2946,7 +2993,7 @@ const App = () => {
<
div
className=
"text-gray-500 text-xs"
>
扫码咨询详细方案
</
div
>
<
div
className=
"text-gray-500 text-xs"
>
扫码咨询详细方案
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
<
button
onClick=
{
()
=>
handle
WeChatShare
(
"scenario"
)
}
className=
"
w-full md:w-auto px-4 md:px-6 py-2.5 md:py-3 bg-[#252830] hover:bg-[#2b2f38] text-white text-xs md:text-sm font-bold border border-white/10 flex items-center justify-center gap-2 hover:border-[#00FFC2] transition-all"
>
<
button
onClick=
{
()
=>
handle
Share
(
"scenario"
)
}
className=
"hidden lg:flex
w-full md:w-auto px-4 md:px-6 py-2.5 md:py-3 bg-[#252830] hover:bg-[#2b2f38] text-white text-xs md:text-sm font-bold border border-white/10 flex items-center justify-center gap-2 hover:border-[#00FFC2] transition-all"
>
<
MessageCircle
className=
"w-4 h-4 text-[#07C160]"
/>
转发至微信
<
MessageCircle
className=
"w-4 h-4 text-[#07C160]"
/>
转发至微信
</
button
>
</
button
>
</
div
>
</
div
>
...
@@ -3006,7 +3053,7 @@ const App = () => {
...
@@ -3006,7 +3053,7 @@ const App = () => {
<
div
className=
"text-gray-500 text-xs"
>
扫码咨询详细方案
</
div
>
<
div
className=
"text-gray-500 text-xs"
>
扫码咨询详细方案
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
<
button
onClick=
{
()
=>
handle
WeChatShare
(
"service"
)
}
className=
"
w-full md:w-auto px-4 md:px-6 py-2.5 md:py-3 bg-[#252830] hover:bg-[#2b2f38] text-white text-xs md:text-sm font-bold border border-white/10 flex items-center justify-center gap-2 hover:border-[#00FFC2] transition-all"
>
<
button
onClick=
{
()
=>
handle
Share
(
"service"
)
}
className=
"hidden lg:flex
w-full md:w-auto px-4 md:px-6 py-2.5 md:py-3 bg-[#252830] hover:bg-[#2b2f38] text-white text-xs md:text-sm font-bold border border-white/10 flex items-center justify-center gap-2 hover:border-[#00FFC2] transition-all"
>
<
MessageCircle
className=
"w-4 h-4 text-[#07C160]"
/>
转发至微信
<
MessageCircle
className=
"w-4 h-4 text-[#07C160]"
/>
转发至微信
</
button
>
</
button
>
</
div
>
</
div
>
...
@@ -3055,7 +3102,7 @@ const App = () => {
...
@@ -3055,7 +3102,7 @@ const App = () => {
<
div
className=
"text-gray-500 text-xs"
>
获取更多资讯
</
div
>
<
div
className=
"text-gray-500 text-xs"
>
获取更多资讯
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
<
button
onClick=
{
()
=>
handle
WeChatShare
(
"news"
)
}
className=
"
w-full md:w-auto px-4 md:px-6 py-2.5 md:py-3 bg-[#252830] hover:bg-[#2b2f38] text-white text-xs md:text-sm font-bold border border-white/10 flex items-center justify-center gap-2 hover:border-[#00FFC2] transition-all"
>
<
button
onClick=
{
()
=>
handle
Share
(
"news"
)
}
className=
"hidden lg:flex
w-full md:w-auto px-4 md:px-6 py-2.5 md:py-3 bg-[#252830] hover:bg-[#2b2f38] text-white text-xs md:text-sm font-bold border border-white/10 flex items-center justify-center gap-2 hover:border-[#00FFC2] transition-all"
>
<
MessageCircle
className=
"w-4 h-4 text-[#07C160]"
/>
分享新闻
<
MessageCircle
className=
"w-4 h-4 text-[#07C160]"
/>
分享新闻
</
button
>
</
button
>
</
div
>
</
div
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment