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) 用手机(电脑)微信打开页面,查看效果

目录
相关文章
|
7月前
|
API 开发者
网页邮箱API发送邮件的方法?
网页邮箱API让开发者能通过编程发送邮件,无需直接访问网页界面。步骤包括:选择如Gmail或Outlook的API,配置API获取访问权限,编写代码指定收件人、主题和内容,然后调用API发送。发送后,检查API返回结果以确认成功与否,实现自动化邮件处理。
|
7月前
|
小程序 安全 JavaScript
.NET微信网页开发之通过UnionID机制解决多应用用户帐号统一问题
.NET微信网页开发之通过UnionID机制解决多应用用户帐号统一问题
.NET微信网页开发之通过UnionID机制解决多应用用户帐号统一问题
uniapp授权登陆获取用户信息和code
uniapp授权登陆获取用户信息和code
450 0
uniapp授权登陆获取用户信息和code
|
JSON C# 数据格式
微信公众平台开发—利用OAuth2.0获取微信用户基本信息
1、首先在某微信平台下配置OAuth2.0授权回调页面: 2、通过appid构造url获取微信回传code值(appid可在微信平台下找到) 1)、微信不弹出授权页面url: A、code回传到页面wxProcess2.
1569 0
|
Web App开发 PHP
微信接口开发之高级篇系列【网页授权获取用户基本信息】
PHP微信接口开发之高级篇之网页授权获取用户基本信息    二、WEB开发工具
814 0
|
NoSQL Redis
微信接口开发之高级篇系列【网页授权接口】
【1】带微信帐号的手机   【2】打开浏览器,这里以IE为例。          输入:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 【3】用手机登录你的微信,使用微信中的“扫一扫”功能,扫描上面网页中的二维码。
1020 0
|
缓存 NoSQL Redis
Magicodes.WeiChat——缓存管理
本框架支持缓存管理,内部机制使用开源库CacheManager。支持全局缓存、租户缓存,默认使用的系统缓存实现,可以在Web.config将其配置为其他缓存类型,比如支持Redis、内存等。 开源库地址:https://github.
1065 0
|
JSON 数据安全/隐私保护 开发者
***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权
本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称、头像、性别、国家、省份、城市、语言。本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息,而无需模拟登录。
1849 0