nuxt3網站文章分享微信 ,QQ功能

1.安裝
npm install qrcode --save-dev
2.組件使用

  <div class="share"><div style="line-height: 69px; color: #fff;width: 100px;"><p style="text-align: center;">分享:</p></div><div @click="shareToMicroblog()" class="BJ_WB"><a class="weibo" /><a>微博</a></div><!-- <div @click="shareToQQ()" class="BJ_QQ"><a class="qq"></a><a>QQ好友</a></div> --><divclass="BJ_WX"@mouseover="showQR = true"@mouseleave="showQR = false"><div class="weixinall"><a class="weixin" /><a>微信</a></div><divclass="weixincode":class="{ 'qrcode-visible': showQR }"style="position: absolute;top: -220px;opacity: 0;transition: opacity 0.3s ease;width: 200px;height: 200px;background-color: #fff;"><canvasid="QRCode_header"style="width: 165px; height: 165px; margin: auto"/><pstyle="color: #818181;font-size: 12px;line-height: 16px;margin-left: 15px;">打開微信掃一掃<br />將您喜歡的內容分享微信朋友圈</p></div></div><div class="BJ" @click="shareToQQRom()"><a class="qqkj"></a><a>QQ</a></div></div>
<script setup lang="ts">
import QRCode from "qrcode";
const route = useRoute();
const id = ref(route.params.id);
const showQR = ref(false);
const shareUrl = `https://XXXXXXX.COM/XXXXXXXXXX/${id.value}`;
//分享到QQ
// const shareToQQ= function() {
//   window.open(
//       `https://connect.qq.com/widget/shareqq/index.html?url=${shareUrl}&title=${sysInfo}&source=${shareUrl}&desc=${sysInfo}&pics=`)
// }
//分享到微信
onMounted(() => {const QR_OPTIONS = {errorCorrectionLevel: "H",width: 165,height: 165,margin: 3,color: {dark: "#000",light: "#fff",},};QRCode.toCanvas(document.querySelector("#QRCode_header"),shareUrl,QR_OPTIONS,(error: any) => {if (error) console.error("二維碼生成失敗:", error);});
});//分享到微博
const shareToMicroblog = function () {window.open(`https://service.weibo.com/share/share.php?url=${shareUrl}&title=${details.value.productBackground}`);
};//分享到qq空間
const shareToQQRom = function () {const pics = encodeURIComponent(details.value.productBackgroundImage);const desc = encodeURIComponent(details.value.productBackground);window.open(`https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=${shareUrl}&title=${details.value.productBackground}&summary=${details.value.productBackground}&desc=${desc}&pics=${pics}`);
};
</script>
<style scoped lang="scss">
.share {display: flex;flex-wrap: nowrap;width: 100%;justify-content: center;.weibo {display: block;width: 24px;height: 21px;background-image: url("/assets/img/wb.png") !important;background-size: cover;background-repeat: no-repeat;background-position: 50% 50%;}.BJ_WB {background-color: #e6162d;width: 110px;height: 40px;margin-top: 15px;margin-right: 15px;display: flex;border-radius: 8px;justify-content: center;align-items: center;color: #fff;cursor: pointer;&:hover {background-color: #f75567;transform: translateY(-2px);}}.BJ_QQ {background-color: #2384cc;width: 110px;height: 40px;margin-top: 15px;margin-right: 15px;display: flex;border-radius: 8px;justify-content: center;align-items: center;color: #fff;cursor: pointer;&:hover {background-color: #5faae2;transform: translateY(-2px);}}.BJ_WX {background-color: #3cb034;width: 110px;height: 40px;margin-top: 15px;border-radius: 8px;/* position: relative; */display: flex;justify-content: center;align-items: center;transition: transform 0.2s;color: #fff;cursor: pointer;&:hover {background-color: #7dd377;transform: translateY(-2px);}}.BJ {background-color: rgb(255, 206, 0);width: 110px;height: 40px;display: flex;border-radius: 8px;justify-content: center;align-items: center;color: #fff;margin: 15px;cursor: pointer;&:hover {background-color: #ffde52;transform: translateY(-2px);}}.qq {display: block;width: 28px;height: 28px;background-image: url("/assets/img/qq.png");background-size: cover;background-repeat: no-repeat;background-position: 50% 50%;}.qqkj {display: block;width: 28px;height: 28px;background-image: url("/assets/img/qqkj.png");background-size: cover;background-repeat: no-repeat;background-position: 50% 50%;}.weixinall {position: relative;display: flex;justify-content: center;.weixin {display: block;width: 28px;height: 28px;background-image: url("/assets/img/wx.png");background-size: cover;background-repeat: no-repeat;background-position: 50% 50%;}.weixincode {position: absolute;left: -60px;z-index: 1000 !important;}}
}.qrcode-visible {opacity: 1 !important;pointer-events: auto;
}
</style>

效果
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/74409.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/74409.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/74409.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VMWare Ubuntu 詳細安裝教程

VMWare Ubuntu 詳細安裝教程 一、下載安裝VMware二、下載 Ubuntu 鏡像文件三、安裝 Ubuntu四、開啟虛擬機 一、下載安裝VMware 官網下載地址https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion知乎大佬的博客原文&#xff0c;含下載地址https://zhua…

MySQL里的鎖有哪些

MySQL 的鎖機制是實現并發控制的核心&#xff0c;不同層級的鎖適用于不同場景&#xff0c;以下是對其鎖類型的系統分類及詳細說明&#xff1a; 一、按鎖粒度劃分 1. 全局鎖&#xff08;Global Lock&#xff09; 用途&#xff1a;鎖定整個數據庫實例&#xff0c;用于全庫備份。…

Spring WebFlux 教程

Spring WebFlux 教程 Spring WebFlux 是 Spring Framework 5 引入的一種新的響應式編程框架&#xff0c;旨在處理高并發、高性能和實時數據流應用。與傳統基于線程阻塞的 Spring MVC 不同&#xff0c;WebFlux 采用了非阻塞、事件驅動的編程模型&#xff0c;能夠更加高效地利用…

SCI英文論文Accepted后的第一步——Rights and Access

SCI英文論文Accepted后的第一步——Rights and Access 目錄 SCI英文論文Accepted后的第一步——Rights and AccessBased on information provided the embargo period/end date is 24 months. 因為選擇閉源**Rights and Access(版權與訪問權限)**環節是關鍵第一步,具體操作流…

Qt文件管理系統

引言 今天我將使用model/view模型視圖框架來完成一個簡單的Qt文件管理系統&#xff0c;主要使用到了QTreeView、QTabelView視圖和QFileSystemModel文件系統模型。 界面設計 使用Qt創建項目并勾選創建ui文件&#xff0c;打開ui文件&#xff0c;使用Tree View、Table View、St…

《可愛風格 2048 游戲項目:HTML 實現全解析》

一、引言 在如今的數字化時代&#xff0c;小游戲以其簡單易上手、趣味性強的特點深受大家喜愛。2048 游戲作為一款經典的數字合并游戲&#xff0c;擁有龐大的玩家群體。本文將詳細介紹一個用單文件 HTML 實現的可愛風格 2048 游戲項目&#xff0c;它不僅具備傳統 2048 游戲的基…

CSS3:深度解析與實戰應用

CSS3&#xff1a;深度解析與實戰應用詳解 1. 選擇器增強2. 盒模型擴展3. 漸變和背景4. 轉換和動畫總結 CSS3 是 CSS&#xff08;層疊樣式表&#xff09;的最新版本&#xff0c;它引入了許多新的特性和功能&#xff0c;使得網頁的樣式設計更加靈活、豐富和具有動態效果。在本文中…

C語言 —— 此去經年夢浪蕩魂音 - 深入理解指針(卷四)

目錄 1. 回調函數 2. qsort函數 2.1 使用qsort函數排序整型數據 2.2 使用qsort排序結構數據 2.3 使用冒泡排序模擬實現qsort函數 1. 回調函數 回調函數其實就是一個通過函數指針調用的函數&#xff0c;如果你把函數的指針作為參數傳遞給另一個函數&#xff0c;當這個指針被…

Shiro框架漏洞攻略

漏洞原理&#xff1a;服務端在接收到?個Cookie時&#xff0c;會按照如下步驟進?解析處理&#xff1a;1.檢索RememberMe Cookie的值 2.進?Base64解碼 3.進?AES解碼 4.進?反序列化操作 在第4步中的調?反序列化時未進?任何過濾&#xff0c;進?可以導致出發遠程代碼執?漏…

Ceph集群2025(Squid版)導出高可用NFS集群(下集 )

本次主要對接K8S和傳統的一樣而已,比較簡單&#xff0c;不再過多講解 官網 https://github.com/kubernetes-csi/csi-driver-nfs/tree/master/chartshelm repo add csi-driver-nfs https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts helm pull c…

洛谷題單入門4-P5729 【深基5.例7】工藝品制作-python

輸入格式 第一行三個正整數 w,x,h。 第二行一個正整數 q。 接下來 q 行&#xff0c;每行六個整數 輸出格式 輸出一個整數表示答案。 三維數組直接標記 class Solution:staticmethoddef oi_input():"""從標準輸入讀取數據"""w, x, h map(…

亞馬遜云科技全面托管DeepSeek-R1模型現已上線

文章目錄 亞馬遜云科技全面托管DeepSeek-R1模型現已上線在Amazon Bedrock中開始使用DeepSeek-R1模型DeepSeek-R1現已可用 亞馬遜云科技全面托管DeepSeek-R1模型現已上線 亞馬遜云科技提供眾多免費云產品&#xff0c;可以訪問&#xff1a;亞馬遜云科技 截至1月30日&#xff0c;D…

IO模型種類

文章目錄 同步阻塞 I/O&#xff08;Blocking I/O&#xff0c;BIO&#xff09;同步非阻塞 I/O&#xff08;Non-blocking I/O&#xff0c;NIO&#xff09;I/O 多路復用&#xff08;I/O Multiplexing&#xff09;信號驅動 I/O&#xff08;Signal-driven I/O&#xff09;異步 I/O&a…

C語言入門教程100講(40)文件定位

文章目錄 1. 什么是文件定位?2. 文件指針3. 文件定位函數3.1 `fseek` 函數3.2 `ftell` 函數3.3 `rewind` 函數4. 示例代碼代碼解析:輸出結果:5. 常見問題問題 1:`fseek` 的 `offset` 參數可以為負數嗎?問題 2:如何判斷文件定位是否成功?問題 3:`rewind` 和 `fseek(file…

el-table折疊懶加載支持排序

el-table折疊懶加載支持排序 因為el-table懶加載的子節點是通過緩存實現的&#xff0c;如果想在展開的情況下直接刷新對應子節點數據&#xff0c;要操作el-table組件自身數據&#xff0c;否則不會更新 以排序功能為例 maps: new Map() //用于存儲子節點懶加載的數據// 加載子…

Off-Road-Freespace-Detection配置pytorch2.0.0

一、概述 在github上進行開源代碼搜索&#xff0c;發現了Off-Road-Freespace-Detection&#xff08;鏈接如下所示&#xff09;。這是對越野環境可通行區域的檢測&#xff0c;在經過測試之后&#xff0c;發現對自己有益。 GitHub - chaytonmin/Off-Road-Freespace-Detection: O…

ChatGPT降低論文AIGC重復率的提示詞合集(高效降重方法)

&#x1f4a1; 問題&#xff1a;寫完畢業論文后&#xff0c;查AIGC率過高&#xff0c;手動降重后仍然很高&#xff0c;該怎么辦&#xff1f; &#x1f4cc; 解決方案&#xff1a; 1?? 先查AIGC率&#xff08;找出AI生成的部分&#xff09; 2?? 用ChatGPT優化&#xff08;使…

【Spring 新特性全解析】

Spring 新特性全解析 引言 在當今 Java 企業級開發領域&#xff0c;Spring 框架無疑是中流砥柱般的存在。它以其強大的功能、高度的可擴展性和便捷的開發體驗&#xff0c;贏得了廣大開發者的青睞。隨著技術的不斷演進&#xff0c;Spring 也在持續更新迭代&#xff0c;帶來了一…

System.arraycopy 在音視頻處理中的應用

在音視頻開發領域&#xff0c;我們經常需要處理大量的數據&#xff0c;例如音頻 PCM 數據的傳輸、視頻幀的緩存等。在這些場景下&#xff0c;數據的復制與傳輸往往直接影響到應用的性能。Java 提供的 System.arraycopy 方法&#xff0c;在音視頻處理代碼中出現頻率非常高。本文…

fastapi+angular評論和回復

說明&#xff1a;fastapiangular評論和回復 效果圖: step1:sql show databases; DROP TABLE users; SHOW CREATE TABLE db_school.users; show tables; use db_school; SELECT * FROM db_school.jewelry_categories; CREATE DATABASE db_school; select *from users -- 用戶…