1、npm install @wecom/jssdk
2、index.html 引入?
<script src="https://wwcdn.weixin.qq.com/node/open/js/wecom-jssdk-2.0.2.js"></script>
3、創建js? import * as ww from "@wecom/jssdk";
/*** 獲取企業微信jdk局方法--------------------------1*/
import { accessConfig, accessAgentConfig } from "../api/sdk/index";
import * as ww from "@wecom/jssdk";
/***** 作者: Lenovo-【Lindon】*** 文件名稱: weChat*** 文件創建日期: 2024/4/30****/
// 注冊企業微信應用信息
// 注冊企業微信應用信息
export async function registerWeChat() {// ? 前置處理:確保URL處理一致const getCleanUrl = () => window.location.href.split('#')[0];// ? 企業簽名(同步改造)const getConfigSignature = async () => {try {console.log('[DEBUG] 開始獲取企業簽名');const res = await accessConfig({ path: getCleanUrl() });if (res?.code !== 200) throw new Error('企業簽名接口異常');console.log('[DEBUG] 企業簽名數據:', res.data);return res.data; // ? 直接返回后端結構體} catch (error) {console.error('[ERROR] 企業簽名失敗:', error);throw error; // 必須拋出以中斷流程}};// ? 應用簽名(保持原有正確結構)const getAgentConfigSignature = async (urlFromSDK) => {try {console.log('[DEBUG] 開始獲取應用簽名,SDK傳入URL:', urlFromSDK);const pureUrl = new URL(urlFromSDK.split('#')[0]).href; // ? 使用SDK提供的URLconst res = await accessAgentConfig({ path: pureUrl });if (res?.code !== 200) throw new Error('應用簽名接口異常');console.log('[DEBUG] 應用簽名數據:', res.data);return res.data;} catch (error) {console.error('[ERROR] 應用簽名失敗:', error);throw error;}};// ? 注冊時開啟調試模式ww.register({corpId: "wwf823be6e18d7191f",agentId: 1000003,jsApiList: ["getCurExternalContact","scanQRCode"],getConfigSignature,getAgentConfigSignature,debug: true, // ? 關鍵!開啟調試模式onConfigSuccess(res) {console.log('[SUCCESS] 配置成功:', res);},onConfigFail(res) {console.error('[FAIL] 配置失敗:', res);alert('SDK配置失敗,請檢查控制臺');}});
}//后續在哪個頁面如果需要使用到sdk,都需要先注冊registerWeChat,然后再調用對應的sdk方法
4、將方法引入到 需要使用的頁面 中 然后調用?registerWeChat() 進行授權 可以在 加載時Mounted 去授權
5、使用示例
點擊事件function fafacc() {ww.getCurExternalContact({success(res) {console.log('獲取外部聯系人id成功', res)},fail(res) {console.log('獲取外部聯系人id失敗', res)},})
}