微信掃碼用戶帳號綁定


概述

整一個微信掃碼用戶帳號綁定功能,為了滿足用戶帳號綁定場景的需要,通過生成用戶自己的二維碼,用戶掃描后,公眾號可以接收到事件推送。

如下

1、用戶登錄掃碼

一日一技:微信掃碼用戶帳號綁定

 

2、綁定成功

一日一技:微信掃碼用戶帳號綁定

實現思路

掃碼綁定賬戶,其實就是掃描帶有用戶信息的二維碼,微信端接收到消息,會向服務器推送一個掃描事件,服務端接收到信息,進行處理,進而在界面進行信息反饋。

用戶登錄系統=》生成帶有用戶id的二維碼=》用戶打開微信掃碼=》

微信服務器向我們的系統回調掃描事件=》得到掃描的用戶id+openid=>

進行綁定操作=》進而把結果反映到界面

主要代碼實現

1、獲取二維碼

string domain = BqoolWebSite.WebSiteMapping[BqoolWebSiteType.BigCRMWebService][CommonSetting.GetEnvironmentMode()];
            string url = domain + "/api/WeChat/GetQrCode";
            var data = new GetQrCodeParam()
            {
                Account = "xxxxx", //Account
                User_ID = "xxxxx",//User_ID
                Date = DateTime.UtcNow.ToUnixTimestamp(),
                Action = BaseRequestParam.ActionType.Get,
                IsRefresh = false //是否強制刷新 默認false
            };
            _nLogger.Info($"WeChat GetQrCode Call BigCRM Web - Url : {url}, data : {data.ToJsonString()}");
            var result = HttpTools.EncryptPost
  
  
  
          
            (url, data); _nLogger.Info($"WeChat GetQrCode Call BigCRM Web Result - Url : {url}, result : {result.ToJsonString()}"); if (result.Success && result.Data != null) { // result.Data GetQrCodeResult 
           
        }


2、獲取綁定信息


string domain = BqoolWebSite.WebSiteMapping[BqoolWebSiteType.BigCRMWebService][CommonSetting.GetEnvironmentMode()];
            string url = domain + "/api/WeChat/GetBindInfo";
            var data = new GetBindInfoParam()
            {
                Account = "xxxxx", //Account
                User_ID = "xxxxxx",//User_ID
                Date = DateTime.UtcNow.ToUnixTimestamp(),
                Action = BaseRequestParam.ActionType.Get
              
            };
            _nLogger.Info($"WeChat GetBindInfo Call BigCRM Web - Url : {url}, data : {data.ToJsonString()}");
            var result = HttpTools.EncryptPost
  
  
  
          
            (url, data); _nLogger.Info($"WeChat GetBindInfo Call BigCRM Web Result - Url : {url}, result : {result.ToJsonString()}"); if (result.Success && result.Data != null) { // result.Data GetBindInfoResult } 
          

3、取消訂閱


string domain = BqoolWebSite.WebSiteMapping[BqoolWebSiteType.BigCRMWebService][CommonSetting.GetEnvironmentMode()];
            string url = domain + "/api/WeChat/Disconnect";
            var data = new GetBindInfoParam ()
            {
                Account = "xxxx", //Account
                User_ID = "xxxxx",//User_ID
                Date = DateTime.UtcNow.ToUnixTimestamp(),
                Action = BaseRequestParam.ActionType.Update
              
            };
            _nLogger.Info($"WeChat Disconnect Call BigCRM Web - Url : {url}, data : {data.ToJsonString()}");
            var result = HttpTools.EncryptPost< GetBindInfoParam, ApiResult>(url, data);
            _nLogger.Info($"WeChat Disconnect Call BigCRM Web Result - Url : {url}, result : {result.ToJsonString()}");

            if (result.Success )
            {
                //ApiResult
            }


來源於UP技術控 ,作者conan5566
https://www.iwmyx.cn/wxsmy.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM