必发bifa88手机客服端C#开发微信门户及采取(14)-在微信菜单中利用重定向获得用户数量

自早就在系列文章被之《C#付出微信门户及以(11)–微信菜单的强呈现方法介绍》中牵线了微信菜单中的重定向操作,通过者重定向操作,我们得以收获一个code值,然后抱用户之openID,进而就会得到到还多之用户信息,这个在会员信息之情景内用的不得了多,本篇介绍于网站遭遇高速安排这样的菜谱链接,并介绍如何当后台获取相关的用户信息,实现页面数据个性化的显现操作。

咱理解,微信的自定义菜单分为两那个类,分别针对应Click类型和View类型的,而重定向属于View类型的如出一辙栽,如下所示。

必发bifa88手机客服端 1

1、微信重定向菜单的部署

微信重定向的食谱,就是经过传播一个地址参数,让微信服务器进行跳转,它的首要规则如下所示。

对于scope=snsapi_base方式的链接如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3d81fc2886d86526&redirect\_uri=http%3A%2F%2Fwww.iqidi.com%2Ftestwx.ashx&response\_type=code&scope=snsapi\_base&state=123\#wechat\_redirect 

而对于scope=snsapi_userinfo方式的链接如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3d81fc2886d86526&redirect\_uri=http%3A%2F%2Fwww.iqidi.com%2Ftestwx.ashx&response\_type=code&scope=snsapi\_userinfo&state=123\#wechat\_redirect

立有限单菜才链接主要就是是对我们加的链接地址进行UrlEncode处理,然后拿她赋值给参数redirect_uri实现的。

鉴于链接地址比较丰富,如果每次用以安排菜单的当儿,都复制过来修改,非常勿便宜,我们得以当自定义菜单的布局界面内,增加一个按钮功能,对情节展开拍卖,以便实现我们得之地址转换,我的派别应用平台对从定义菜单的操作就是根据此思路实现。

默认我们就需要填一个要重新定向的url地址便可以了,如下所示。

必发bifa88手机客服端 2

假设用配备成重定向的食谱链接地址,那么调用【转换重定向菜单】按钮操作,使用脚本函数进行转移就好了,转换后底结果如下所示。

必发bifa88手机客服端 3

原就是利用后台的javascript实现参数的URL转码,还欲获得后台的AppId,这样才能够修造成整体的地点连接。

2、脚本转换操作的落实代码

前方说了,第一凡是得贯彻URL转码,第二凡获取后台的AppId,然后变一个整的URL就得了。为了避免大家的更研究,我将这有代码贴出一起上学下。

每当采取前,我们尚亟需专注一个题目,就是重定向到指定页面后,这个页面会包含一个code的参数,这个参数非常重要,我们需要得到出来,当然也是经javascript来获得相应之code参数了。

以此逻辑可以为此一个剧本函数来贯彻,如下所示

        function getUrlVars(){
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
            for(var i = 0; i < hashes.length; i++)
            {
                hash = hashes[i].split('=');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        }

概念了之函数后,我们当重新定向的页面中,可以抱code参数的操作如下所示。

var code = getUrlVars()["code"];

事先拖这些,我们事先来讨论什么把链接地址转换为用的链接地址操作。

我们为实现链接地址之彼此转换(为了好),我们好断定链接地址是否带有qq的域名就是可了。

if (url.indexOf("https://open.weixin.qq.com/connect/oauth2/authorize?") == 0) {
   var redirect_uri = getUrlVars(url)["redirect_uri"];
   if (redirect_uri != "") {
       var newUrl = decodeURIComponent(redirect_uri);
       $("#" + ctrlName).val(newUrl);
   }
}

而如是咱们输入的正常链接,那么即使应当将其换为重定向的链接地址,如下所示。

else {
                    var newUrl = encodeURIComponent(url);
                    var reNewUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=@ViewBag.appid&redirect_uri=" + newUrl + "&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
                    $("#" + ctrlName).val(reNewUrl);
                }

内部重定向链接需要带有一个脚下微信支付用户之appId,这个不是稳的,是例外之开发人员都未等同的事物,这里用了MVC的动态目标进行绑定:@ViewBag.appid。

以相应的MenuController控制器里面,给她赋值就足以了。

        /// <summary>
        /// 默认的视图控制方法
        /// </summary>
        /// <returns></returns>
        public override ActionResult Index()
        {
            ViewBag.appid = GetAppId();
            return View();
        }

诸如此类安排后底重定向菜单地址列表就如下所示了,我们打开对应的记录详细页面,可以透过页面内的机能按钮,随时对重定向菜单的地址进行更换,方便了解详细的链接内容。

必发bifa88手机客服端 4

3、重定向页面的规划和处理 

部署了地方的链接地址后,我们得以网站内部长这样的一个页面进行处理用户之音信,一般情况下,我们或许是以好用户查看自己之微信基础信息,也为吃用户绑定用户个人数据应用的用处的,如用户可绑定手机、Email邮箱等操作,还好绑定和事情体系有关的用户称。这样用户就足以长足注册会员或者和后台的网开展关联了。

自家设计之一定量独用户信息显示界面如下所示。

立即有限单界面主要利用了Jquery
Mobile的相关内容,对界面进行了处理,整个模块组合了短信验证码的艺术,对用户的手机进行认证处理,这样会再迅速的实现信息标准之绑定操作,当然,还得构成外部系统,绑定用户之账号密码,这样用户可以在微信上微网站平台开展购物、数据保护、业务管理等操作了,其实如绑定外部系统的ID,也尽管是供了一个飞跃进行表面系统的入口了。

必发bifa88手机客服端 5  必发bifa88手机客服端 6

切实的情节以产一样首延续介绍了。 

 

设若对这《C#开微信门户及运用》系列感兴趣,可以关注我之其他文章,系列随笔如下所示:

C#出微信门户及下(20)-微信企业号的食谱管理

C#支出微信门户及利用(19)-微信企业号的信息发送(文本、图片、文件、语音、视频、图文信息等)

C#支出微信门户及下(18)-微信企业号的通讯录管理支付之成员管理

C#开微信门户及利用(17)-微信企业号的通讯录管理支出之部门管理

C#付出微信门户及动(16)-微信企业号的布以及采用

C#支付微信门户及应用(15)-微信菜单增加扫一扫、发图、发地理位置功能

 C#出微信门户及以(14)-在微信菜单中使重定向获得用户数据

C#付出微信门户及使用(13)-使用地理位置扩展相关应用

C#开微信门户及运用(12)-使用语音处理

C#付出微信门户及以(11)–微信菜单的强展现方法介绍

C#开微信门户及使用(10)–在保管网受协同微信用户分组信息

C#开发微信门户及运用(9)-微信门户菜单管理以及交至微信服务器

C#支付微信门户及动(8)-微信门户应用管理网功能介绍

C#开发微信门户及使用(7)-微信多客服功能和支出并

C#支付微信门户及运用(6)–微信门户菜单的管住操作

C#付出微信门户及动(5)–用户分组信息保管

C#开微信门户及采取(4)–关注用户列表及详细信息管理

C#付出微信门户及利用(3)–文本信息和图文信息的对

C#开微信门户及以(2)–微信消息的处理和报

C#付出微信门户及采取(1)–开始动微信接口

 

相关文章