.NET WebApi后端开发框架-微信小程序消息订阅与推送案例详解
作者:作者不详  发布日期:2020/02/24 21:03:48
  .NET WebApi后端开发框架-微信小程序消息订阅与推送案例详解


.NET WebApi后端开发框架-微信小程序消息订阅与推送案例详解

微信小程序消息订阅与推送消息流程:

.NET WebApi后端开发框架-微信小程序消息订阅与推送案例详解


开发步骤:

步骤一:

获取模板 ID,在微信公众平台手动配置获取模板 ID:登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。


步骤二:

微信小程序通过手机号登录,判断当前手机号是否存在OpenId,若为空,调用微信服务器第一次注册并返回OpenID,在商户服务器保存手机号对应的OpenID。如下图:


贴图图片-微信小程序消息订阅基本流程2



步骤三:

订阅消息,小程序端若要接受信息,必须先订阅,而且每次只能订阅一次消息,然而系统需要频繁推送消息的,为了解决这个问题,必须在微信小程序某个节点触发下一次订阅,形成一个无限订阅消息的循环,比如打开某个界面,触发某个事件开始订阅。

微信服务器会判断只有订阅消息的客户端才能定向推送消息。

C# Code:

//消息模板内容
ModelWXSubscribeMessageTemplate data = new ModelWXSubscribeMessageTemplate
{
   thing1 = new ModelWXSubscribeMessageParam { value = "【" + goods.CityFromName + "】-->【" + goods.CityToName + "】" },
   thing2 = new ModelWXSubscribeMessageParam { value = goods.GoodsName + " " + goods.WV + " " + goods.Unit }
   };
   
   //调用微信后台,订阅消息接口的请求参数
   ModelWXSubscribeMessage subscribe = new ModelWXSubscribeMessage
   {
      access_token = re.access_token,
      data = data,
      page = pageParam,
      template_id = "nYSABmQjT2Dr1UyLXq5pUYSfPLob4Ejtig7ZtkxOkoo",
      touser = goods.WXOpenId//openid
      };
      string dataMsg = JsonConvertEx.ToJson(subscribe);//转成JSON
      
      //提交微信后台,URL
      string posturl = $"https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token={re.access_token}";
      string result = WebApiTools.Post(posturl, dataMsg);
      
      //转换对象
      ModelWXPostResult postResult = JsonConvertEx.ToObject<ModelWXPostResult>(result);
      if (postResult.errcode != 0) LogManager.Log.Write("PushWxMessage", "发布货源推送微信订阅消息失败!", goods.GoodsID);
      
      //来源:C/S框架网(www.csframework.com) QQ:23404761
      


若OpenID没有订阅消息,会报43101错误。


贴图图片-微信截图_20191228153355



步骤四:

商户WebApi服务器推送消息,可以推送指定消息模板以及指定用户的消息(定点推送)


微信小程序接受到消息:

贴图图片-微信小程序推送消息


本文参考文章:

WebApi后端框架开发微信小程序订阅消息接口

http://www.csframework.com/archive/1/arc-1-20191228-2681.htm




.NET WebApi开发框架|MVC框架|后端框架|服务端框架-标准版V1.0

适用开发 适用开发:快速构建支持多种客户端的服务端程序,支持APP、B/S、C/S跨平台移动终端等。
运行平台 运行平台:Windows + .NET Framework 4.5
开发工具 开发工具:Visual Studio 2015+,C#语言
数据库 数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql)

微信小程序WebApi开发框架|MVC框架|后端框架|服务端框架-标准版V1.0



扫一扫加微信:
 
上一篇 下一篇