這篇文章主要介紹了C#微信公眾號介面開發(fā),靈活利用網(wǎng)頁授權(quán)、帶參數(shù)二維碼、模板訊息,提升用戶體驗之完成用戶綁定個人微信及驗證碼獲取,需要的朋友可以參考下
具體實現(xiàn)方式不多說了,請看下文
一、前言
當(dāng)下微信公眾號幾乎已經(jīng)是每個公司必備的,但是大部分微信公眾帳號用戶體驗都欠佳,特別是涉及到用戶綁定等,需要用戶進(jìn)行複雜的操作才可以和網(wǎng)站綁定,或者很多公司直接不綁定,而是每次都讓使用者填寫帳號密碼。作為微信介面開發(fā)人員我們知道網(wǎng)頁授權(quán)可以用作微信網(wǎng)頁用作安全登錄,帶參數(shù)二維碼的使用用作記錄用戶來源,模板消息用作購物消費等消息的通知,但是很少看到有綜合利用這些高級介面做出體驗比較好的公眾帳號,這裡分享一些我開發(fā)的用戶綁定和驗證碼的一些心得。所需要的介面有基礎(chǔ)的回覆、網(wǎng)頁授權(quán)、帶參數(shù)二維碼、範(fàn)本訊息。 所以這裡所講的必須是認(rèn)證服務(wù)號碼(沒辦法騰訊介面限制真的好為難我們這些開發(fā)人員)。
二、需求
1.pc網(wǎng)站綁定個人微信帳號2.pc網(wǎng)站取得驗證碼(使用者註冊即綁定、找回密碼等場景)
三、實作流程及與傳統(tǒng)方法比較
1.pc網(wǎng)站綁定個人微信帳號:
傳統(tǒng)的方法--是輸入帳號和密碼,然後透過網(wǎng)頁授權(quán)綁定,下次可以免登陸
利用微信介面--方法1、網(wǎng)頁授權(quán)
#在pc端產(chǎn)生一個網(wǎng)頁授權(quán)的二維碼:url+id=32132312其中id為使用者的唯一標(biāo)識,用微信掃描保存id和openid在對應(yīng)的使用者表即綁定成功
方法2、## 方法2、申請帶參數(shù)二維碼+網(wǎng)頁授權(quán)
在透過微信介面申請臨時的帶參數(shù)二位碼顯示在pc網(wǎng)頁上,所帶參數(shù)是根據(jù)登入使用者產(chǎn)生的唯一標(biāo)識一串?dāng)?shù)字,當(dāng)用戶掃描的時候微信回覆的參數(shù)即為這串?dāng)?shù)字,將這串?dāng)?shù)字和openid保存在資料庫對應(yīng)的用戶表中即可。
注意:在這建議使用第2中方法:第1中方法是直接在網(wǎng)頁中綁定,用戶可能沒有關(guān)注我們的公眾帳號,而第二種方法當(dāng)用戶沒有關(guān)注的時候提示先關(guān)注,關(guān)注完之後自動綁定,並且提示成功,如果關(guān)注也是直接跳到我們的公眾帳號
四、用戶綁定流程圖
# 1.網(wǎng)頁授權(quán)綁定的流程圖:
2.帶參數(shù)二維碼綁定
五、使用者綁定實作方法主要程式碼
這裡以綁定第二種方法為例
#1.首先使用者登入pc網(wǎng)站取得到唯一識別也可以即時生成,然後以唯一標(biāo)識為參數(shù)向微信伺服器申請帶參數(shù)的二維碼方法詳情可參考我之前的文章:C#微信公眾號接口開發(fā)實例-高級接口-申請帶參數(shù)的二維碼
#主要程式碼取得ticket 其中scene_id即為使用者唯一標(biāo)識二維碼連結(jié)https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET 嵌入網(wǎng)頁中即可
?///?<summary>? ?///?調(diào)用微信接口獲取帶參數(shù)臨時二維碼的ticket? ?///?使用方法:https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET? ?///?</summary>? ?///?<param>二維碼帶的參數(shù)? ?///?<returns>json:ticket:換取二維碼的憑證,expire_seconds:憑證有效時間,url:二維碼解析后的地址。此處返回ticket?否則返回錯誤碼</returns>? ?public?string?GetQrcode(string?appid,?string?appsecret,?Int32?scene_id)? ?{? ???string?QrcodeUrl?=?"https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={0}";//WxQrcodeAPI接口 ???string?AccessToken?=?getTokenSession(appid,?appsecret);//拉取全局的AccessToken11???QrcodeUrl?=?string.Format(QrcodeUrl,?AccessToken); ???string?PostJson?=?"{\"expire_seconds\":?1800,?\"action_name\":?\"QR_SCENE\",?\"action_info\":?{\"scene\":?{\"scene_id\":?"?+?scene_id?+?"}}}"; ???string?ReText?=?WebRequestPostOrGet(QrcodeUrl,?PostJson);//post提交 ???Dictionary<string>?reDic?=?(Dictionary<string>)Jss.DeserializeObject(ReText); ???if?(reDic.ContainsKey("ticket")) ? ?????return?reDic["ticket"].ToString();//成功 ???} ??else ???{ ?????return?reDic["errcode"].ToString();//返回錯誤碼 ???} ?}</string></string>
2.用戶掃描帶參數(shù)二維碼(此處為臨時二維碼),非關(guān)注用戶提示關(guān)注,關(guān)注後直接綁定,關(guān)注用戶可以直接綁定,原理是掃描帶參數(shù)二維碼,微信會接收到xml形式的資料?
解析取得到scene_id因為訊息也帶使用者資訊openid 將scene_id和openid儲存到使用者表即完成主要程式碼如下:
?switch?(WxXmlModel.Event)? ?{? ???case?"subscribe":? ?????if?(string.IsNullOrEmpty(WxXmlModel.EventKey))? ?????{? ???????XML?=?sohovan.com.wxapi.ResponseMessage.GetText(WxXmlModel.FromUserName,?WxXmlModel.ToUserName,"關(guān)注成功");? ?????}? ?????else? ?????{ ???????XML?=?sohovan.com.wxapi.ResponseMessage.SubScanQrcode(WxXmlModel.FromUserName,?WxXmlModel.ToUserName,?WxXmlModel.EventKey); ?//掃描帶參數(shù)二維碼先關(guān)注后推送事件11?????} ?????break; ???case?"SCAN": ?????XML?=?sohovan.com.wxapi.ResponseMessage.ScanQrcode(WxXmlModel.FromUserName,?WxXmlModel.ToUserName,?WxXmlModel.EventKey); ?//掃描帶參數(shù)二維碼已關(guān)注?直接推送事件 ?????break; ?}
掃描分為兩種是先關(guān)注後進(jìn)入公眾號(Event=="subscribe")還有一種是直接進(jìn)入公眾號(Event="SCAN") 其中FromUserName是用戶的openid微信唯一標(biāo)識此時將openid 和scene_id保存到對應(yīng)用戶表即可需要
注意的是關(guān)注掃描中EventKey為qrscene_加標(biāo)識如果標(biāo)識為321312那麼EventKey="qrscene_321312",已經(jīng)關(guān)注的EventKey=" 321312"。
六、模板訊息獲取驗證碼實現(xiàn)方法
上一步已經(jīng)將pc網(wǎng)站和微信綁定,如果我們忘記密碼,傳統(tǒng)的做法是可以透過簡訊找回,弊端是對於手機(jī)號碼經(jīng)常換的用戶可能找不回,相信對於大部分年輕人來說換10個手機(jī)號碼也不會去換一個QQ好一個微信號,這個時候我們透過微信找回我們的密碼是相對安全的
實現(xiàn)方法很多,例如在微信中修改,但是麻煩(需要查找到公眾帳號,找到對應(yīng)的按鈕等等),這裡可以利用帶參數(shù)二維碼用戶掃描pc網(wǎng)站的方式獲取,類似上面的方法,而此時利用微信模板訊息,體驗更加方便。
取得驗證碼流程圖:
這個過程就是跟簡訊類似,但我覺得無論是從經(jīng)濟(jì)或用行銷上考慮都是好處多多,比較如果量大,每個月驗證各種東西以萬條算的網(wǎng)站短信費用就可以省不小一筆,同時還可以為微信引流一舉多得。
以上是C#開發(fā)微信公眾號介面開發(fā)詳細(xì)介紹的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)