公眾號 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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...