Magicodes.WeiChat——WeChatOAuthTest(网页授权获取用户基本信息)

简介: Demo访问地址:http://wechat.magicodes.net/app/AppDemo/WeChatOAuthTest?tenantId=1 关于公众号如何获取用户信息,请参考此文档:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html WeChatOAuthTest演示了如何通过特性“WeChatOAuth”通过微信网页授权获取用户基本信息。

Demo访问地址:http://wechat.magicodes.net/app/AppDemo/WeChatOAuthTest?tenantId=1

关于公众号如何获取用户信息,请参考此文档:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html

WeChatOAuthTest演示了如何通过特性“WeChatOAuth”通过微信网页授权获取用户基本信息。

1.配置权限

在开始之前,需要在开发者中心修改【网页授权获取用户基本信息】,在弹出的界面输入自己的根域名。比如:wechat.magicodes.net

如下图所示:

image

2 编写业务代码

设置好了之后,我们开始编写业务代码:

//注意继承自:AppBaseController
    public class AppDemoController : AppBaseController
    {
        // GET: App/AppDemo/WeChatOAuthTest
        [WeChatOAuth]
        public ActionResult WeChatOAuthTest()
        {
            return View(WeiChatUser);
        }
   }

请注意以下内容:

  • AppBaseController:封装了租户Id获取逻辑(支持get参数和Route参数)以及微信控制器的处理。
  • WeChatOAuth:网页授权获取用户基本信息特性。使用此特性后,可以通过WeiChatApplicationContext.Current.WeiChatUser获取到用户信息,也可以通过AppBaseController的WeiChatUser获取。总之,使用该特性后,开发者无需关心公众号复杂的授权并获取信息的逻辑,而且一次获取后,框架会自动缓存用户信息,以优化性能以及提高页面的加载速度。
  • WeiChatUser:微信粉丝对象,取自AppBaseController,等同于WeiChatApplicationContext.Current.WeiChatUser。

关于WeiChatUser对象的定义如下:

image

接下来,我们需要编写页面代码了。Views比较简单,关键代码如下所示:

@using Magicodes.WeiChat.Unity;
@model Magicodes.WeiChat.Data.Models.WeiChat_User
@{
    ViewBag.Title = "WeChatOAuth测试";
}
<div class="aui-content">
    <ul class="aui-list-view">
        <li class="aui-list-view-cell aui-img">
            <img class="aui-img-object aui-pull-left" src="@Model.HeadImgUrl">
            <div class="aui-img-body">
                @Model.NickName
                <p>
                    <span class="aui-label aui-label-default">@Model.Remark</span><br />
                    <span class="aui-label aui-label-primary">@Model.City</span><br />
                    <span class="aui-label aui-label-success">OPENID:@Model.OpenId</span><br />
                    <span class="aui-label aui-label-success">@(Model.Sex.GetEnumMemberDisplayName())</span><br />
                    <span><a href="#">查看详细说明</a></span>
                </p>
            </div>
        </li>
    </ul>
</div>
@…省略若干代码@

3 配置自定义菜单

代码写完了,我们需要查看相关效果。这时候,先得配置好菜单,如下所示:

image

4 效果图

效果图如下所示:

image

至此,整个Demo完成。

我们重新温习一下。主要步骤如下:

1) 配置【授权回调页面域名】

2) 继承AppBaseController,添加特性WeChatOAuth。

3) 通过WeiChatUser获取用户信息

4) 配置自定义菜单

5) 用手机(电脑)微信打开页面,查看效果

目录
相关文章
|
11月前
|
小程序 前端开发 JavaScript
微信小程序(二十一)小程序登录获取openid和unionid
在微信小程序中,因为各种各样的原因我们会需要获取到用户的openid或者unionid下面就简单来讲一下在小程序中如何获取openid和unionid。 步骤一:微信登录获取登录凭证
960 0
|
小程序 JavaScript API
mpvue小程序开发之 wx.getUserInfo获取用户信息授权
mpvue小程序开发之 wx.getUserInfo获取用户信息授权
154 0
mpvue小程序开发之 wx.getUserInfo获取用户信息授权
|
小程序 前端开发 API
解决微信开发平台中多个应用间用户openid不一致问题 -- unionid
解决微信开发平台中多个应用间用户openid不一致问题 -- unionid
777 0
|
测试技术
微信公众号开发之授权获取用户信息
微信开发交流群:148540125 系列文章参考地址 极速开发微信公众号 欢迎留言、转发 项目源码参考地址 点我点我–欢迎Start 前几篇文章已讲完如何导入项目,如何启动配置项目,如何成为开发者,重源码分析消息是如何交互、如何自定义菜单(如果以上不是很清楚可以看这里 极速开发微信公众号。
1359 0
|
Web App开发 监控
微信公众号开发之网页中及时获取当前用户Openid及注意事项
目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 (四)微信公众号开发之网页授权获取用户基本信息 (五)微信公众号开发之网页中及时获取当前用户Openid及注意事项 (六)微信公众号开发之扫码支付 (七)微信公众号开发之公众号支付 (八)微信公众号开发之现金红包 前言 这篇主要是承接上篇的网页授权获取用户基本信息的后文,也是对第一种静默授权之后,用户点击公众号内链接时,如何再次取得当前用户的OpenId的大致讲解和一些注意事项。
1467 0
|
Web App开发 PHP
微信接口开发之高级篇系列【网页授权获取用户基本信息】
PHP微信接口开发之高级篇之网页授权获取用户基本信息    二、WEB开发工具
812 0
|
缓存 NoSQL Redis
Magicodes.WeiChat——缓存管理
本框架支持缓存管理,内部机制使用开源库CacheManager。支持全局缓存、租户缓存,默认使用的系统缓存实现,可以在Web.config将其配置为其他缓存类型,比如支持Redis、内存等。 开源库地址:https://github.
1064 0
|
JSON 数据安全/隐私保护 开发者
***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权
本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称、头像、性别、国家、省份、城市、语言。本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息,而无需模拟登录。
1840 0
|
JSON 数据格式 开发者
Magcodes.WeiChat——自定义CustomCreationConverter之实现微信自定义菜单的序列化
微信自定义菜单接口是一个比较麻烦的接口,往往开发的小伙伴们看到下面的这段返回JSON,整个人就会不好了:   {"menu":{"button":[{"type":"click","name":"今日歌曲","key":"V1001_TODAY_MUSIC","sub_button":[]}...
921 0
|
JavaScript
微信开放平台开发(2) 网站应用微信登录
关键字:微信公众平台 微信开放平台 微信登录 微信扫码登录 使用微信账号登录网站作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-qrlogin.html     在这篇微信公众平台开发教程中,我们将介绍如何使用微信开放平台接口实现微信扫码登录的功能。
2042 0