企業微信內部網頁開發流程筆記

背景

基于ai實現企微側邊欄和工作臺快速問答小助,需要h5開發,因為流程不清楚摸索半天,所以記錄一下

一、網頁授權登錄

1. 配置步驟

1.1 設置可信域名
  1. 登錄企業微信管理后臺

  2. 進入"應用管理" > 選擇開發的具體應用 > “網頁授權及JS-SDK”

  3. 配置h5展示頁面路徑,如有工作臺也需配置工作臺跳轉路徑

2.2 域名所有權驗證
  1. 下載提供的校驗文件
  2. 將文件放置在域名根目錄下(放前端項目public文件夾中)
  • 例如:https://yourdomain.com/wwverify.txt
  1. 點擊驗證按鈕,系統將自動檢查

2 網頁授權登錄

企業微信提供了OAuth的授權登錄方式,可以讓從企業微信終端打開的網頁獲取成員的身份信息,從而免去登錄的環節。

  1. 構造授權鏈接:
https://open.weixin.qq.com/connect/oauth2/authorize?
appid=CORPID&
redirect_uri=ENCODE_URL&
response_type=code&
scope=snsapi_base|snsapi_privateinfo&
state=STATE&
agentid=AGENTID#wechat_redirect
  1. 用戶授權后,跳轉到redirect_uri并帶上code參數,此uri一般為h5當前頁面

  2. 后端通過code獲取用戶信息:

// 獲取access_token
GET https://qyapi.weixin.qq.com/cgi-bin/gettoken?
corpid=ID&corpsecret=SECRET// 獲取用戶信息
GET https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?
access_token=ACCESS_TOKEN&code=CODE

二、JS-SDK接口調用

1. 配置步驟

1.1 設置可信域名
  1. 登錄企業微信管理后臺
  2. 進入"應用管理" > 選擇開發的具體應用 > “網頁授權及JS-SDK”
  • 只需填寫根域名,如yourdomain.com
  • 所有子域名自動獲得授權能力
  1. 配置h5展示頁面路徑,如有工作臺也需配置工作臺跳轉路徑
1.2 域名所有權驗證
  1. 下載提供的校驗文件
  2. 將文件放置在域名根目錄下(放前端項目public文件夾中)
  • 例如:https://yourdomain.com/wwverify.txt
  1. 點擊驗證按鈕,系統將自動檢查
    在這里插入圖片描述

2 (JS-SDK)接口調用

企業微信JS-SDK是企業微信面向網頁開發者提供的基于企業微信內的網頁開發工具包

1前端項目安裝企微js-sdk依賴
npm install @wecom/jssdk
2簽名校驗
  1. 獲取jsapi_ticket:(后端獲取后返回)
GET https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?
access_token=ACCESS_TOKEN
  1. 生成簽名:(所需使用企微接口需配置jsApiList)
const loadSignature = async (url: string) => {if (!signaturePromise) {signaturePromise = 服務端鑒權接口({ url }) // 只在第一次調用時執行}return signaturePromise}ww.register({corpId,agentId,jsApiList: ['getCurExternalContact'],getAgentConfigSignature: async (url) => {console.log('getAgentConfigSignature :>> ', url)const res = await loadSignature(url)const { agentSignature, nonceStr, timestamp } = res?.data ?? {}return { timestamp, nonceStr, signature: agentSignature }},onConfigSuccess: (res) => {console.log('onConfigSuccess :>> ', res)},onConfigFail: (res) => {console.log('onConfigFail :>> ', res)},onConfigComplete: (res) => {console.log('onConfigComplete', res)},onAgentConfigSuccess: (res) => {console.log('onAgentConfigSuccess :>> ', res)resolve(true)},onAgentConfigFail: (res) => {console.log('onAgentConfigFail :>> ', res)reject()},onAgentConfigComplete: (res) => {console.log('onAgentConfigComplete', res)},})

3. 本地調試獲取JSAPI_TICKET

本地可以使用npx wwutil ticket CORPID SECRET命令獲取jsapi_ticket

3 部分接口權限特殊配置

  1. 獲取用戶信息接口權限配置,需配置客戶聯系人
    在這里插入圖片描述

三、 調試工具

  • 企業微信提供的接口調試工具
  • 使用開發者工具查看網絡請求項目中添加console

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

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

相關文章

WORD 轉 PDF 工具:排版 / 圖片 / 表格批量轉換提升辦公效率

各位辦公小能手們,今天來聊聊文檔工具里的WORD轉PDF工具!這玩意兒到底是干啥的呢?咱來好好說道說道。 先說核心功能。第一個就是格式轉換,能把Word文檔轉換成PDF,不管是格式、排版,還是圖片、表格啥的&…

從逆流監測到智慧用電:ADL200N-CT系列單相導軌表賦能家庭綠色能源

在新能源浪潮席卷全球的當下,陽臺光伏以及家庭儲能(戶儲)系統逐漸成為眾多追求綠色生活、渴望實現能源自主家庭的新選擇。它不僅能有效利用太陽能等清潔能源,還能在用電高峰時段為家庭提供穩定電力支持,降低用電成本。…

std::thread的說明與示例

源于通義千問 在 C 中,std::thread 支持傳遞多種類型的函數作為線程入口點。你可以傳遞普通函數、類的成員函數、Lambda 表達式、函數對象(仿函數)等。以下是詳細的說明和示例。 1. 傳遞普通函數 普通函數是最簡單的用法。 示例 #include…

【Day38】

DAY 38 Dataset和Dataloader類 對應5. 27作業 知識點回顧: Dataset類的__getitem__和__len__方法(本質是python的特殊方法)Dataloader類minist手寫數據集的了解 作業:了解下cifar數據集,嘗試獲取其中一張圖片 import …

RabbitMQ 集群與高可用方案設計(三)

五、高可用方案設計與實現 (一)負載均衡與代理 1. HAProxy 配置 HAProxy 是一款廣泛應用的開源負載均衡器和代理服務器,它能夠實現對 RabbitMQ 集群節點的負載均衡和健康檢查,有效提高系統的可用性和性能。以下是使用 HAProxy …

機器學習第二十四講:scikit-learn → 機器學習界的瑞士軍刀

機器學習第二十四講:scikit-learn → 機器學習界的瑞士軍刀 資料取自《零基礎學機器學習》。 查看總目錄:學習大綱 關于DeepSeek本地部署指南可以看下我之前寫的文章:DeepSeek R1本地與線上滿血版部署:超詳細手把手指南 Scikit-…

百度ocr的簡單封裝

百度ocr地址 以下代碼為對百度ocr的簡單封裝,實際使用時推薦使用baidu-aip 百度通用ocr import base64 from enum import Enum, unique import requests import logging as logunique class OcrType(Enum):# 標準版STANDARD_BASIC "https://aip.baidubce.com/rest/2.0…

Ubuntu20.04 gr-gsm完整安裝教程

gr-gsm完整安裝教程 安裝gnuradio3.8安裝依賴項指定gnuradio源安裝gnuradio 安裝gr-gsm安裝依賴項安裝gr-gsm修改環境變量 安裝成功 安裝gnuradio3.8 安裝依賴項 sudo apt install git cmake g libboost-all-dev libgmp-dev swig python3-numpy python3-mako python3-sphinx …

(自用)Java學習-5.15(模糊搜索,收藏,購物車)

1. 模糊搜索商品功能 前端實現: 通過解析URL參數(如search聯想)獲取搜索關鍵字,發送AJAX GET請求到后端接口/product/searchGoodsMessage。 動態渲染搜索結果:若結果非空,循環遍歷返回的商品數據&#xff…

STM32 TIM 定時器深度剖析:結構、時基、中斷與應用開發(超形象詳解)

文章目錄 定時器(TIM)定時器種類與分布定時器的基本結構時基單元時基單元基本結構計數器計數方向時基單元時鐘來源計算寄存器預加載機制 自制延時函數獲取單片機當前時間實現延遲函數初始化定時器3的時基單元配置中斷編寫中斷響應函數測試延遲函數 定時器…

Java使用minio上傳整個目錄下的所有內容

目錄 1、添加相關配置 2、添加依賴 3、實現方法 1??基礎版: 2??優化版(推薦使用): 3??上傳遠程主機上的目錄內容: 4??直接上傳遠程主機中的目錄內容 業務背景:需要需要minio進行上傳指定目錄下所有…

Python的分布式網絡爬蟲系統實現

1. 系統架構概述 一個典型的分布式網絡爬蟲系統通常包含以下幾個核心組件: 1.主節點(Master Node): 任務調度:負責將抓取任務分配給各個工作節點。URL 管理:維護待抓取的 URL 隊列和已抓取的 URL 集合&a…

AI工具的選擇:Dify還是傳統工具?

從純技術視角出發,選擇Dify還是傳統開發工具需要基于六個核心維度進行理性決策。以下為結構化分析框架,附典型場景示例: 1. 開發效率 vs 控制力權衡矩陣 維度Dify優勢場景傳統工具優勢場景迭代速度需求明確的標準CRUD(如后臺管理…

2.3 TypeScript 非空斷言操作符(后綴 !)詳解

在 TypeScript 中,當你開啟了嚴格的空值檢查(strictNullChecks)后,變量如果可能是 null 或 undefined,就必須在使用前進行顯式的判斷。為了在某些場景下簡化代碼,TypeScript 提供了非空斷言操作符&#xff…

深度學習:損失函數與激活函數全解析

目錄 深度學習中常見的損失函數和激活函數詳解引言一、損失函數詳解1.1 損失函數的作用與分類1.2 回歸任務損失函數1.2.1 均方誤差(MSE)1.2.2 平均絕對誤差(MAE) 1.3 分類任務損失函數1.3.1 交叉熵損失(Cross-Entropy&…

掌握 npm 核心操作:從安裝到管理依賴的完整指南

圖為開發者正在終端操作npm命令,圖片來源:Unsplash 作為 Node.js 生態的基石,npm(Node Package Manager)是每位開發者必須精通的工具。每天有超過 1700 萬個項目通過 npm 共享代碼,其重要性不言而喻。本文…

Elasticsearch的運維

Elasticsearch 運維工作詳解:從基礎保障到性能優化 Elasticsearch(簡稱 ES)作為分布式搜索和分析引擎,其運維工作需要兼顧集群穩定性、性能效率及數據安全。以下從核心運維模塊展開說明,結合實踐場景提供可落地的方案…

國產三維CAD皇冠CAD(CrownCAD)建模教程:汽車電池

在線解讀『汽車電池』的三維建模流程,講解3D草圖、保存實體、拉伸凸臺/基體、設置外觀等操作技巧,一起和皇冠CAD(CrownCAD)學習制作步驟吧! 汽車電池(通常指鉛酸蓄電池或鋰離子電池)是車輛電氣系…

深入理解 JDK、JRE 和 JVM 的區別

在 Java 中,JDK、JRE 和 JVM 是非常重要的概念,它們各自扮演著不同的角色,卻又緊密相連。今天,就讓我們來詳細探討一下它們之間的區別。 一、JVM JVM 即 Java 虛擬機,它是整個 Java 技術體系的核心。JVM 提供了 Java…

云電腦顯卡性能終極對決:ToDesk云電腦/順網云/海馬云,誰才是4K游戲之王?

一、引言 1.1 云電腦的算力革命 云電腦與傳統PC的算力供給差異 傳統PC的算力構建依賴用戶一次性配置本地硬件,特別是CPU與顯卡(GPU)。而在高性能計算和游戲圖形渲染等任務中,GPU的能力往往成為決定體驗上限的核心因素。隨著游戲分…