公眾號 H5 測試號 註冊 和 授權 獲取code 前端部分

来源:https://www.cnblogs.com/XDJcc/archive/2022/07/08/16457413.html
-Advertisement-
Play Games

@(公眾號測試號H5授權《前端》) Tips:因為申請公眾號需要 ¥300。 so 我用的是測試號。【白嫖永遠不虧】 需要註意的是 測試號是和個人微信號關聯起來的,不是公眾號主體關聯。。也就是每個人都可以申請,而不是必須有公眾號主題才可以。測試號和公眾號是獨立的。 一、前置準備-註冊配置測試賬號 1 ...


@

目錄
Tips:因為申請公眾號需要 ¥300。 so 我用的是測試號。【白嫖永遠不虧】

需要註意的是 測試號是和個人微信號關聯起來的,不是公眾號主體關聯。。也就是每個人都可以申請,而不是必須有公眾號主題才可以。測試號和公眾號是獨立的。

一、前置準備-註冊配置測試賬號

1.註冊測試號

微信公眾平臺註冊一個測試號。註意這是測試賬號【白嫖的快樂】你會進入到這個界面。會生成測試用的appid 讓你測試授權。記下來等會要用。
在這裡插入圖片描述

2、配置網頁回掉功能變數名稱

還是這個界面往下滑 你會看到 一個。體驗介面許可權表
在這裡插入圖片描述
在這個表的 【網頁服務】- 【網頁賬號】- 【網頁授權獲取用戶基本信息】這一項 點擊【修改】按鈕
在這裡插入圖片描述點擊按鈕會讓你 設置網頁回調功能變數名稱 無需以"http://"開頭,直接寫功能變數名稱就可以,例如 "aa.bb.com"。

因為是開發調試, 所以我們需要用手機連接電腦啟動的H5服務。你可以把這個路徑寫成自己啟動的H5 項目的服務地址,然後在手機上訪問。具體怎麼訪問的流程之後會講。我這邊填寫的就是我啟動的H5服務地址。

在這裡插入圖片描述
end:到這裡就已經可以進行授權了,其他的一些功能就不嘰歪了。

二、H5 獲取授權信息

1、微信授權分為靜默授權(snsapi_base)和非靜默授權(snsapi_userinfo)

我選擇的是靜默授權

靜默授權流程:以snsapi_base為scope發起網頁授權得到code,再用公眾號的appid和secret獲取微信公眾號的全局唯一憑證access_token,然後用拿到的access_token調用公眾號的“用戶管理介面”中的“獲取用戶信息介面”獲得unionID。

前端需要做的是以snsapi_base為scope發起網頁授權得到code,調用後臺介面獲取unionId

2、代碼實現

廢話不多說上代碼:

URl就是你上面配置的 那個路徑 這裡 是使用當前獲取授權的 界面地址。我們用的是測試號, 所以你上面 配置了什麼路徑就在這裡用什麼路徑。這樣直接獲取當前界面的路徑 我沒試也不知道測試號行不行。小伙伴們可以嘗試一下

getBaseInfos() {
  if (this.isWeiXin()) {
    const code = this.getUrlParam("code"); // 截取路徑中的code
    if (code == null || code === "") {

      let url = sessionStorage.getItem("originUrl");
      window.location.href =
        "https://open.weixin.qq.com/connect/oauth2/authorize?appid=你申請的appkey&redirect_uri=" +
        encodeURIComponent(url) +
        "&response_type=code&scope=snsapi_base&state=1&connect_redirect=1#wechat_redirect";
    } else {
    ///
    ///暫時不知道怎麼寫不是微信瀏覽器怎麼搞。
    ///
    }

    if (code != "" && code != null) {
      this.wxCode = code;
      console.log(code)
      //這裡就是把code給服務端了,沒我們的事啦。【撒花】
      this.getOpenid(code)
    }
  } else {
  }
},
//判斷是不是微信瀏覽器。
isWeiXin() {
  var ua = window.navigator.userAgent.toLowerCase();
  if (ua.match(/MicroMessenger/i) == "micromessenger") {
    return true;
  } else {
    return false;
  }
},
// 編碼函數
getUrlParam(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //構造一個含有目標參數的正則表達式對象
  var r = window.location.search.substr(1).match(reg); //匹配目標參數
  if (r != null) return unescape(r[2]);
  return null; //返回參數值
},

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言:CADisplayLink、NSTimer 迴圈引用問題 ​ CADisplayLink、NSTimer會對Target產生強引用,如果target又對他們產生強引用,那麼就會引發迴圈引用。 @interface ViewController () @property (nonatomic, ...
  • 本案例代碼背景如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewpo ...
  • CSS進階內容—浮動和定位詳解 我們在學習了CSS的基本知識和盒子之後,就該瞭解一下網頁的整體構成了 當然如果沒有學習之前的知識,可以到我的主頁中查看之前的文章:秋落雨微涼 - 博客園 CSS的三種佈局流派 網頁佈局的本質就是用CSS控制盒子的擺放來形成頁面 CSS提供了三種流派來控制盒子: 普通流 ...
  • 前言 ElementUI官方沒有提供菜單動態生成的案例的,參考ng-design上的菜單動態生成,寫了一個基於ElementUi的菜單動態生成,支持多級菜單。 思路 基本思路就是迴圈子組件,判斷menu是否有children,有就說明至少有二級菜單,需要迴圈子組件,將menu.children作為參 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家可能經常會聽到 css 動畫比 js動畫性能更好這樣的論斷,或者是“硬體加速”,“層提升” 這樣的字眼;要瞭解這些內容就需要對瀏覽器的渲染流程有個大致的瞭解,本文就是我個人對這些內容的一個總結梳理 需要註意的是: 本文僅個人學習總結梳 ...
  • Sass編譯輸出的CSS格式可以自定義。 有4種輸出格式: - :nested – 嵌套格式 - :expanded – 展開格式 - :compact – 緊湊格式 - :compressed – 壓縮格式 ...
  • 回想當年剛接觸前端,Ajax 真的碰一次就跪一次。當時不懂後端,不知道 api 是什麼東東,也沒有後端小伙伴寫介面給我測試。 本文整理了我用過的幾個 免費的線上api介面,而且不需要處理跨域等問題。 希望能給剛入門的前端小白在學習 Ajax 時提供一點幫助。 本文列舉的線上介面包括:文本 和 圖片。 ...
  • 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 6 <meta name="viewp ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...