C#开发微信门户及下(14)-在微信菜单中利用重定向得到用户数据

By admin in 亚洲必赢app在哪下载 on 2018年9月29日

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

咱们懂得,微信的自定义菜单分为两格外接近,分别对应Click类型和View类型的,而重定向属于View类型的一致种植,如下所示。

亚洲必赢app在哪下载 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地址便足以了,如下所示。

亚洲必赢app在哪下载 2

一旦急需安排成又定向的菜谱链接地址,那么调用【转换重定向菜单】按钮操作,使用脚本函数进行更换就好了,转换后底结果如下所示。

亚洲必赢app在哪下载 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();
        }

如此这般安排后底重定向菜单地址列表就如下所示了,我们打开对应之笔录详细页面,可以通过页面中的作用按钮,随时对重定向菜单的地点进行转移,方便了解详细的链接内容。

亚洲必赢app在哪下载 4

3、重定向页面的计划及处理 

布了端的链接地址后,我们需要以网站里加这样的一个页面进行拍卖用户之信息,一般情形下,我们恐怕是为好用户查看自己的微信基础信息,也为了给用户绑定用户个人数据应用的用的,如用户可绑定手机、Email邮箱等操作,还好绑定和事务体系相关的用户称。这样用户就可以快速注册会员或者跟后台的网开展关联了。

自我计划之简单只用户信息显示界面如下所示。

马上半个界面主要行使了Jquery
Mobile的相干内容,对界面进行了拍卖,整个模块组成了短信验证码的道,对用户的手机进行说明处理,这样会再速的贯彻信息规范之绑定操作,当然,还可构成外部系统,绑定用户之账号密码,这样用户可当微信上微网站平台展开购物、数据保护、业务管理等操作了,其实要绑定外部系统的ID,也就是是提供了一个飞进行表面系统的输入了。

亚洲必赢app在哪下载 5  亚洲必赢app在哪下载 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)-微信门户亚洲必赢app在哪下载菜单管理以及交至微信服务器

C#出微信门户及以(8)-微信门户应用管理体系功能介绍

C#支出微信门户及下(7)-微信多客服功能以及支付并

C#出微信门户及应用(6)–微信门户菜单的管住操作

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

C#付出微信门户及动(4)–关注用户列表及详细信息管理

C#开微信门户及采取(3)–文本信和图文信息之报

C#付出微信门户及利用(2)–微信信息之处理与答复

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

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2018 亚洲必赢app官方下载 版权所有