.net后台生成微信公众号带场景值的二维码

一、基本流程

1、根据场景值生成ticket。
2、通过ticket换取二维码。
3、扫描二维码获取场景值。
微信文档

二、 生成Ticket

2.1二维码分类

目前有两种类型的二维码:

1、临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量。临时二维码主要用于帐号绑定等不要求二维码永久保存的业务场景
2、永久二维码,是无过期时间的,但数量较少(目前为最多10万个)。永久二维码主要用于适用于帐号绑定、用户来源统计等场景。

2.2请求说明

请求方式:POST
请求地址: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN

参数说明
expire_seconds二维码有效时间,适用于临时二维码,单位(秒)。 最大值2592000(即30天),默认值30秒。
action_name二维码类型,QR_SCENE(临时整型),QR_STR_SCENE(临时字符串),QR_LIMIT_SCENE(永久整型),QR_LIMIT_STR_SCENE(永久字符串)
action_infoscene
scene根据action_name设置scene_id(整型)或scene_str(字符串)
scene_id整型参数值
scene_str字符串型参数值

示例:

{
“expire_seconds”: 604800,
“action_name”: “QR_SCENE”, //临时整型
“action_info”: {
“scene”: {
“scene_id”: 123 //根据action_name设置整型参数
}
}
}

返回结果

参数说明
ticket获取的二维码ticket
expire_seconds二维码有效时间
url二维码图片解析后的地址,开发者可根据该地址自行生成需要的二维码图片

2.3实现代码

在.net中不用这么麻烦,直接引用nuget包,Senparc.Weixin.MP
下面用的16.10.510版本

using System;
using Senparc.Weixin.MP;
using Senparc.Weixin.MP.AdvancedAPIs;

namespace ZLHP.Web.Weixin
{
    /// <summary>
    /// 微信生成二维码
    /// </summary>
    public class QrCode : BaseApiController
    {
    	/// <summary>
        /// 生成ticket
        /// </summary>
        /// <param name="token">你的access_token</param>
        /// <returns></returns>
        public CreateQrCodeResult CreateTicket(string token)
        {
            var actionName = QrCode_ActionName.QR_SCENE;        //二维码类型:临时整型
            var expire_seconds = 60;    //有效时间
            var scene_id = 12;      //场景值

            //生成ticket
            return QrCodeApi.Create(token, expire_seconds, scene_id, actionName);
        }
    }
}

三、通过Ticket换取二维码

请求方式:Get
请求地址: https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET
提醒:TICKET记得进行UrlEncode

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值