예제 #1
0
        /// <summary>
        /// 资讯早报通知,模板编号:269
        /// </summary>
        /// <param name="toUser">接收者(用户)的 openid</param>
        /// <param name="templateId">消息模板Id</param>
        /// <param name="title">更新内容,20个以内字符</param>
        /// <param name="remark">备注,20个以内字符</param>
        /// <param name="page">点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。</param>
        public static WxJsonResult SendNewsMorningNotice(string toUser, string templateId, string title, string remark, string page)
        {
            var data = new TemplateMessageData();

            data["thing1"] = new TemplateMessageDataValue(title);
            data["thing2"] = new TemplateMessageDataValue(remark);
            var submitData = new
            {
                touser      = toUser,
                template_id = templateId,
                page        = page,
                data        = data
            };

            return(MessageApi.SendSubscribe(weixinAppId, toUser, templateId, data, page));
        }
예제 #2
0
        /// <summary>
        /// 留言提醒,模板编号:1069
        /// </summary>
        /// <param name="toUser">接收者(用户)的 openid</param>
        /// <param name="templateId">消息模板Id</param>
        /// <param name="text">留言内容,20个以内字符</param>
        /// <param name="date">留言时间,4小时制时间格式(支持+年月日)	例如:15:01,或:2019年10月1日 15:01</param>
        /// <param name="page">点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。</param>
        public static WxJsonResult SendCommentNotice(string toUser, string templateId, string text, string date, string page)
        {
            var data = new TemplateMessageData();

            data["thing1"] = new TemplateMessageDataValue(text);
            data["time2"]  = new TemplateMessageDataValue(date);
            var submitData = new
            {
                touser      = toUser,
                template_id = templateId,
                page        = page,
                data        = data
            };

            return(MessageApi.SendSubscribe(weixinAppId, toUser, templateId, data, page));
        }
예제 #3
0
        /// <summary>
        /// 订阅消息
        /// </summary>
        /// <param name="sessionId"></param>
        /// <param name="templateId"></param>
        /// <returns></returns>
        public async Task <IActionResult> SubscribeMessage(string sessionId, string templateId = "xWclWkOqDrxEgWF4DExmb9yUe10pfmSSt2KM6pY7ZlU")
        {
            var sessionBag = SessionContainer.GetSession(sessionId);

            if (sessionBag == null)
            {
                return(Json(new { success = false, msg = "请先登录!" }));
            }

            await Task.Delay(1000);//停1秒钟,实际开发过程中可以将权限存入数据库,任意时间发送。

            var templateMessageData = new TemplateMessageData();

            templateMessageData["thing1"] = new TemplateMessageDataValue("微信公众号+小程序快速开发");
            templateMessageData["time5"]  = new TemplateMessageDataValue(SystemTime.Now.ToString("yyyy年MM月dd日 HH:mm"));
            templateMessageData["thing6"] = new TemplateMessageDataValue("盛派网络研究院");
            templateMessageData["thing7"] = new TemplateMessageDataValue("第二部分课程正在准备中,尽情期待");

            var page = "pages/index/index";

            //templateId也可以由后端指定

            try
            {
                var result = await Weixin.WxOpen.AdvancedAPIs.MessageApi.SendSubscribeAsync(WxOpenAppId, sessionBag.OpenId, templateId, templateMessageData, page);

                if (result.errcode == ReturnCode.请求成功)
                {
                    return(Json(new { success = true, msg = "消息已发送,请注意查收" }));
                }
                else
                {
                    return(Json(new { success = false, msg = result.errmsg }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, msg = ex.Message }));
            }
        }