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

目录
相关文章
uniapp手机号授权登录-现在只能通过手机号授权登录,后台来获取用户信息了效果demo(整理)
uniapp手机号授权登录-现在只能通过手机号授权登录,后台来获取用户信息了效果demo(整理)
uniapp授权登陆获取用户信息和code
uniapp授权登陆获取用户信息和code
387 0
uniapp授权登陆获取用户信息和code
|
JSON 前端开发 JavaScript
微信开发系列之六 - 使用微信OAuth2 API读取微信用户信息,显示在SAP UI5里
微信开发系列之六 - 使用微信OAuth2 API读取微信用户信息,显示在SAP UI5里
223 0
微信开发系列之六 - 使用微信OAuth2 API读取微信用户信息,显示在SAP UI5里
页面获取用户信息应用权限添加和配置「开发者账号配置」
本帖讲述的是页面的授权获取用户信息、第三方应用授权等应用权限添加和配置第一步:获得一个应用APPID、功能权限添加完毕。需要有一个应用,应用创建可以参考:官方开发文档应用创建  并对应用进行功能权限的添加,文档有:添加功能示例,我们要添加的是:获取会员信息 如果是第三方应用授权则需要添加:第三方应用授权 第二步:获得自己生成的私钥、使用自己生成的公钥交换而来的支付宝公钥、授权回调地址1、密钥配置,可以看: 签名专区。
464 11
|
Web App开发 监控
微信公众号开发之网页中及时获取当前用户Openid及注意事项
目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 (四)微信公众号开发之网页授权获取用户基本信息 (五)微信公众号开发之网页中及时获取当前用户Openid及注意事项 (六)微信公众号开发之扫码支付 (七)微信公众号开发之公众号支付 (八)微信公众号开发之现金红包 前言 这篇主要是承接上篇的网页授权获取用户基本信息的后文,也是对第一种静默授权之后,用户点击公众号内链接时,如何再次取得当前用户的OpenId的大致讲解和一些注意事项。
1438 0
|
Web App开发 PHP
微信接口开发之高级篇系列【网页授权获取用户基本信息】
PHP微信接口开发之高级篇之网页授权获取用户基本信息    二、WEB开发工具
795 0
|
NoSQL Redis
微信接口开发之高级篇系列【网页授权接口】
【1】带微信帐号的手机   【2】打开浏览器,这里以IE为例。          输入:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 【3】用手机登录你的微信,使用微信中的“扫一扫”功能,扫描上面网页中的二维码。
1004 0
|
测试技术 索引
微信接口开发之高级篇系列【网页授权详细说明【提供测试账号使用】】
本篇文章你将学到:在自己做的微信网站里,利用oauth2.0网页授权接口获取用户的信息(openid,姓名,性别,地区,头像等)。如大转盘等游戏记录哪个微信用户获得什么奖品、H5等小游戏需要把分数与对应用户捆绑在一起等网页应用。
1256 0