国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
1、微信自訂選單的分類
2、重定向類型選單的URL
3、重定向鏈接菜單的用途
首頁 微信小程式 微信開發(fā) C#開發(fā)微信入口網(wǎng)站及應(yīng)用-微信選單的多種表現(xiàn)方式介紹

C#開發(fā)微信入口網(wǎng)站及應(yīng)用-微信選單的多種表現(xiàn)方式介紹

Feb 17, 2017 pm 03:15 PM

在前面一系列文章中,我們可以看到微信自訂選單的重要性,可以說微信公眾號帳號中,選單是使用者的第一印象,我們要規(guī)劃好這些選單的內(nèi)容,佈局等資訊。根據(jù)微信選單的定義,我們可以看到,一般選單主要分為兩種,一種是普通的Url選單(類型為View的選單),一種是事件選單(類型為Click的選單),一般情況下,微信的Url選單,是無法獲得使用者的任何資訊的,但微信使用者資訊非常重要,因此也提供了另外一種方式(類似重定向的方式)來給我們使用,本篇主要介紹這種重新定向的方式選單的使用,以使我們能夠盡可能和使用者進(jìn)行互動。

1、微信自訂選單的分類

微信對自訂選單的要求:目前自訂選單最多包括3個一級選單,每個一級選單最多包含5個二級選單。一級選單最多4個漢字,二級選單最多7個漢字,多出來的部分將會以「...」取代。

根據(jù)選單的分類,我們可以把它透過圖形進(jìn)行分類展示:

C#開發(fā)微信入口網(wǎng)站及應(yīng)用-微信選單的多種表現(xiàn)方式介紹

我對各種微信公眾號進(jìn)行了解,發(fā)現(xiàn)多數(shù)帳號採用的都是普通的View類型的選單連結(jié)方式,透過它們連結(jié)到自己的微網(wǎng)站上,但也有一些做的好的,如省立中山圖書館,就能通過重定向的方式,提供一個綁定圖書館用戶和微信OpenID的入口,綁定後,用戶您可以查看借閱的書籍,然後可以透過一鍵續(xù)借功能來實(shí)現(xiàn)圖書的快速續(xù)借功能。

對於這種重定向類型的Url選單事件,微信的說明如下:

如果使用者在微信中(Web微信除外)訪問公眾號的第三方網(wǎng)頁,公眾號開發(fā)者可以透過此介面取得目前使用者基本資訊(包括暱稱、性別、城市、國家)。利用使用者資訊,可以實(shí)現(xiàn)體驗(yàn)最佳化、使用者來源統(tǒng)計(jì)、帳號綁定、使用者身分鑑權(quán)等功能。 請注意,「獲取用戶基本資訊接口是在用戶和公眾號產(chǎn)生消息交互時,才能根據(jù)用戶OpenID獲取用戶基本信息,而網(wǎng)頁授權(quán)的方式獲取用戶基本信息,則無需消息交互,只是用戶進(jìn)入到公眾號的網(wǎng)頁,就可彈出請求用戶授權(quán)的介面,用戶授權(quán)後,就可獲得其基本資訊(此過程甚至不需要用戶已經(jīng)關(guān)注公眾號。)」

C#開發(fā)微信入口網(wǎng)站及應(yīng)用-微信選單的多種表現(xiàn)方式介紹

2、重定向類型選單的URL

上面說了,重定向類型的選單分成了兩種,其實(shí)他們也只是參數(shù)Scope類型的不同,其他部分還是一樣的。

為了展示,我們在假設(shè)用戶點(diǎn)擊選單的時候,切換到http://www.iqidi.com/testwx.ashx這個頁面,並帶過來當(dāng)前用戶的OpenID等參數(shù)資訊

對於scope=snsapi_base方式的連結(jié)如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3d81fc2886d86526&redirect_uri=http%3A%2F%2Fwww.iqidi.com%%2Ftestw.capixb; wechat_redirect?

而對於scope=snsapi_userinfo方式的連結(jié)如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3d81fc2886d86526&www.Ft.com .ashx&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect?

不過他們給手機(jī)客戶端的體驗(yàn)是不同的,第一種可以平滑切換,但是第二種會彈出一個對話框供用戶確認(rèn)才能繼續(xù)。

C#開發(fā)微信入口網(wǎng)站及應(yīng)用-微信選單的多種表現(xiàn)方式介紹

為了示範(fàn)上面兩種取得資料的不同,我把他們傳過來的code的值,使用者換取OpenID後進(jìn)行使用者資訊的解析,他們兩者的結(jié)果都是一樣了。具體測試介面如下所示。

C#開發(fā)微信入口網(wǎng)站及應(yīng)用-微信選單的多種表現(xiàn)方式介紹

其中TestWX.ashx的頁面後臺程式碼如下:

????///?<summary>
????///?TestWX?的摘要說明????///?</summary>
????public?class?TestWX?:?IHttpHandler
????{????????string?appId?=?"";?//換成你的信息
????????string?appSecret?=?"";?//換成你的信息

????????public?void?ProcessRequest(HttpContext?context)
????????{
????????????context.Response.ContentType?=?"text/plain";????????????string?content?=?"";????????????if?(context.Request?!=?null?&&?context.Request.Url?!=?null)
????????????{
????????????????NameValueCollection?list?=?HttpUtility.ParseQueryString(context.Request.Url.Query);????????????????foreach?(string?key?in?list.AllKeys)
????????????????{
????????????????????content?+=?string.Format("{0}:{1}?\r\n",?key,?list[key]);
????????????????}
????????????}????????????string?code?=?context.Request.QueryString["code"]????"";????????????if?(!string.IsNullOrEmpty(code))
????????????{
????????????????IBasicApi?api?=?new?BasicApi();????????????????try
????????????????{
????????????????????AppConfig?config?=?new?AppConfig();
????????????????????appId?=?config.AppConfigGet("AppId");//從配置中獲取微信程序ID
????????????????????appSecret?=?config.AppConfigGet("AppSecret");//從配置中獲取微信程序秘鑰
????????????????????AccessTokenResult?result?=?api.GetAccessToken(appId,?appSecret,?code);????????????????????if?(result?!=?null)
????????????????????{
????????????????????????content?+=?string.Format("openid:{0}\r\n",?result.openid);????????????????????????string?token?=?api.GetAccessToken(appId,?appSecret);
????????????????????????IUserApi?userApi?=?new?UserApi();
????????????????????????UserJson?userDetail?=?userApi.GetUserDetail(token,?result.openid);????????????????????????if?(userDetail?!=?null)
????????????????????????{
????????????????????????????content?+=?string.Format("nickname:{0}??sex:{1}\r\n",?userDetail.nickname,?userDetail.sex);
????????????????????????????content?+=?string.Format("Location:{0}?{1}?{2}?{3}\r\n",?userDetail.country,?userDetail.province,?userDetail.city,?userDetail.language);
????????????????????????????content?+=?string.Format("HeadUrl:{0}?\r\n",?userDetail.headimgurl);
????????????????????????????content?+=?string.Format("subscribe:{0},{1}\r\n",?(userDetail.subscribe?==?1)???"已訂閱"?:?"未訂閱",?userDetail.subscribe_time.GetDateTime());
????????????????????????}
????????????????????}
????????????????}????????????????catch?{?}
????????????}

????????????context.Response.Write(content);
????????}

在上面的代碼中,我主要分為幾步,一個是打印當(dāng)前用戶重定向過來的鏈接的參數(shù)信息,代碼如下。

????????????????NameValueCollection?list?=?HttpUtility.ParseQueryString(context.Request.Url.Query);????????????????foreach?(string?key?in?list.AllKeys)
????????????????{
????????????????????content?+=?string.Format("{0}:{1}?\r\n",?key,?list[key]);
????????????????}

然后獲取到Code參數(shù)后,通過API接口,獲取AccessTokenResult的數(shù)據(jù),這里面有用戶的OpenID

AccessTokenResult?result?=?api.GetAccessToken(appId,?appSecret,?code);

當(dāng)正常調(diào)用后,我們把用戶標(biāo)識的OpenID進(jìn)一步進(jìn)行解析,調(diào)用API獲取用戶的詳細(xì)信息,具體代碼如下所示。

UserJson?userDetail?=?userApi.GetUserDetail(token,?result.openid);

當(dāng)我們把用戶的相關(guān)信息獲取到了,就可以做各種用戶信息的展示了,如下代碼所示。

????????????????????????if?(userDetail?!=?null)
????????????????????????{
????????????????????????????content?+=?string.Format("nickname:{0}??sex:{1}\r\n",?userDetail.nickname,?userDetail.sex);
????????????????????????????content?+=?string.Format("Location:{0}?{1}?{2}?{3}\r\n",?userDetail.country,?userDetail.province,?userDetail.city,?userDetail.language);
????????????????????????????content?+=?string.Format("HeadUrl:{0}?\r\n",?userDetail.headimgurl);
????????????????????????????content?+=?string.Format("subscribe:{0},{1}\r\n",?(userDetail.subscribe?==?1)???"已訂閱"?:?"未訂閱",?userDetail.subscribe_time.GetDateTime());
????????????????????????}

3、重定向鏈接菜單的用途

這種菜單就是需要指定域名,在微信后臺中進(jìn)行設(shè)置,重定向的鏈接必須屬于這個域名之中,否則不會轉(zhuǎn)到你希望的鏈接。

這個方式,讓我們的微信應(yīng)用程序后臺可以獲得用戶的標(biāo)識、用戶詳細(xì)信息等,我們就可以用來綁定和用戶相關(guān)的業(yè)務(wù)信息了,如上面提到的圖書館借閱信息,送水客戶的信息,客戶的積分信息,或者可以和后臺賬號進(jìn)行關(guān)聯(lián)實(shí)現(xiàn)更加復(fù)雜的應(yīng)用等。用戶的身份信息如此重要,如果結(jié)合到我們的CRM系統(tǒng)、業(yè)務(wù)管理系統(tǒng),就可以發(fā)揮用戶信息應(yīng)用的作用了。

以上就是我對這個類型菜單鏈接的應(yīng)用了解,具體還需要進(jìn)一步深化其應(yīng)用,希望和大家共同探討這方面的應(yīng)用場景。

更多C#開發(fā)微信入口網(wǎng)站及應(yīng)用-微信選單的多種表現(xiàn)方式介紹相關(guān)文章請關(guān)注PHP中文網(wǎng)!


本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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