企業微信jdk 授權 記錄

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)},})
}

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

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

相關文章

Android13增加第三方類實現加入到系統

1、將需要的添加包放在/frameworks/base/core/java/com目錄下&#xff0c;比如devmgr/devicemgr/DeviceMgr.java package com.devmgr.devicemgr; import android.content.Context; public class DeviceMgr {private volatile static DeviceMgr instance null;private Context…

計算機網絡核心知識點全解析(面試通關版)

一、網絡體系結構&#xff1a;從OSI到TCP/IP的分層設計 1.1 七層模型與四層模型對比 OSI七層模型核心功能TCP/IP四層對應典型協議生活類比應用層為應用程序提供服務&#xff08;如文件傳輸、郵件、Web瀏覽&#xff09;應用層HTTP、FTP、SMTP、DNS快遞面單信息&#xff08;收件…

AI圖稿生成訂單管理系統

讓設計生產“零誤差、全自動、秒響應” 一、核心價值&#xff1a;重構設計到生產的效率革命 效率提升70% 告別人工排版&#xff0c;AI自動復用歷史稿件模板&#xff0c;單次設計永久沉淀為可調用資產&#xff1b; 印刷文件生成速度達20萬張/分鐘&#xff0c;滿足電商大促、…

TwinCAT數據類型,%MX,%MD這些特殊符號

在 TwinCAT&#xff08;Beckhoff PLC 編程環境&#xff09;中&#xff0c;%MX、%MD 等符號是 IEC 61131-3 標準的地址表示法&#xff0c;用于直接訪問 PLC 的物理 I/O 或內存區域。這些符號通常用于 變量聲明 或 直接尋址&#xff0c;特別是在 TwinCAT 2 和 傳統 PLC 編程 中較…

基于UNet算法的農業遙感圖像語義分割——補充版

前言 本案例希望建立一個UNET網絡模型&#xff0c;來實現對農業遙感圖像語義分割的任務。本篇博客主要包括對上一篇博客中的相關遺留問題進行解決&#xff0c;并對網絡結構進行優化調整以適應個人的硬件設施——NVIDIA GeForce RTX 3050。 本案例的前兩篇博客直達鏈接基于UNe…

Compose筆記(二十一)--AnimationVisibility

這一節主要了解一下Compose的AnimationVisibility,AnimatedVisibility 是 Jetpack Compose 里用于實現組件可見性動畫效果的組件&#xff0c;借助它能讓組件在顯示和隱藏時帶有平滑的過渡動畫&#xff0c;從而提升用戶體驗。現總結如下: API 1. visible 含義&#xff1a;這是一…

基于 HT 構建 2D 智慧倉儲可視化系統的技術解析

在當今數字化時代&#xff0c;倉儲管理對于企業的運營效率和成本控制愈發關鍵。圖撲軟件&#xff08;Hightopo&#xff09;憑借其強大的 HT for Web 產品&#xff0c;打造出 2D 智慧倉儲可視化平臺&#xff0c;為倉儲管理帶來了全新的技術解決方案。 HT 是一款基于 WebGL、can…

HTML ASCII 編碼詳解

HTML ASCII 編碼詳解 引言 HTML&#xff08;HyperText Markup Language&#xff09;是一種用于創建網頁的標準標記語言。在HTML中&#xff0c;字符的表示方式非常重要&#xff0c;因為它直接影響到網頁內容的顯示效果。ASCII編碼作為一種基本的字符編碼方式&#xff0c;在HTM…

pinia-plugin-persistedstate的使用

pinia持久化存儲的使用 安裝 npm install pinia-plugin-persistedstate 注冊 import { createPinia } from pinia import piniaPluginPersistedstate from pinia-plugin-persistedstateconst pinia createPinia() pinia.use(piniaPluginPersistedstate)export default pinia …

Vue:el-table-tree懶加載數據

目錄 一、出現場景二、具體使用三、修改時重新加載樹節點四、新增、刪除重新加載樹節點 一、出現場景 在項目的開發過程中&#xff0c;我們經常會使用到表格樹的格式&#xff0c;但是猶豫數據較多&#xff0c;使用分頁又不符合項目需求時&#xff0c;就需要對樹進行懶加載的操…

ChipCN IDE KF32 導入工程后,無法編譯的問題

使用ChipON IDE for KungFu32 導入已有的工程是時&#xff0c;發現能夠編譯&#xff0c;但是點擊&#xff0c;同時選擇硬件調試時 沒有任何響應。查看工程調試配置時&#xff0c;發現如下問題&#xff1a; 沒有看到添加有啟動配置&#xff0c;說明就是這里的問題了(應該是IDE的…

前端筆記-Element-Plus

結束了vue的基礎學習&#xff0c;現在進一步學習組件 Element-Plus部分學習目標&#xff1a; Element Plus1、查閱官方文檔指南2、學習常用組件的使用方法3、Table、Pagination、Form4、Input、Input Number、Switch、Select、Date Picker、Button5、Message、MessageBox、N…

C++入門小館: 模板

嘿&#xff0c;各位技術潮人&#xff01;好久不見甚是想念。生活就像一場奇妙冒險&#xff0c;而編程就是那把超酷的萬能鑰匙。此刻&#xff0c;陽光灑在鍵盤上&#xff0c;靈感在指尖跳躍&#xff0c;讓我們拋開一切束縛&#xff0c;給平淡日子加點料&#xff0c;注入滿滿的pa…

強化學習之基于無模型的算法之基于值函數的深度強化學習算法

3、基于值函數的深度強化學習算法 1&#xff09;深度Q網絡&#xff08;DQN&#xff09; 核心思想 DQN是一種將Q學習與深度神經網絡結合的方法&#xff0c;用于解決高維狀態空間的問題。 它以環境的狀態作為輸入&#xff0c;通過神經網絡輸出每個動作的 Q 值&#xff0c;智能體…

網絡規劃和設計

1.結構化綜合布線系統包括建筑物綜合布線系統PDS&#xff0c;智能大夏布線系統IBS和工業布線系統IDS 2.GB 50311-2016綜合布線系統工程設計規范 GB/T 50312-2016綜合布線系統工程驗收規范 3.結構化布線系統分為6個子系統&#xff1a; 工作區子系統&#xff1b;水平布線子系…

軟件設計師-錯題筆記-計算機硬件和體系

1. 解析&#xff1a;循環冗余校驗碼也叫CRC校驗碼&#xff0c;其中運算包括了模2&#xff08;異或&#xff09;來構造校驗位。別的三種沒有用到模2的方法。 2. 解析&#xff1a;如果是正數&#xff0c;則是首位為0&#xff0c;其余位全為1&#xff0c;這時最大數(2^(n-1))-1…

OpenCV 4.7企業級開發實戰:從圖像處理到目標檢測的全方位指南

簡介 OpenCV作為工業級計算機視覺開發的核心工具庫,其4.7版本在圖像處理、視頻分析和深度學習模型推理方面實現了顯著優化。 本文將從零開始,系統講解OpenCV 4.7的核心特性和功能更新,同時結合企業級應用場景,提供詳細代碼示例和實戰項目,幫助讀者掌握從基礎圖像處理到復…

LeetCode算法題 (除自身以外數組的乘積)Day14!!!C/C++

https://leetcode.cn/problems/product-of-array-except-self/description/ 一、題目分析 給你一個整數數組 nums&#xff0c;返回 數組 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘積 。 題目數據 保證 數組 nums之中任意元素的全部前綴…

如何寫好Verilog狀態機

還記得之前軟件的同事說過的一句話。怎么凸顯自己的工作量&#xff0c;就是自己給自己寫BUG。 看過夏宇聞老師書的都知道&#xff0c;verilog的FSM有moore和mealy,然后有一段&#xff0c;二段&#xff0c;三段式。記得我還是學生的時候&#xff0c;看到這里的時候&#xff0c;感…