这位怪蜀黍 中午的时光真难熬!还好有你在!

C#推送微信模版消息

复制代码
protected void Page_Load(object sender, EventArgs e)
{
//根据appId判断获取
if (!AccessTokenContainer.CheckRegistered(appId)) //检查是否已经注册
{
AccessTokenContainer.Register(appId, appSecret); //如果没有注册则进行注册
}
string access_token = AccessTokenContainer.GetAccessTokenResult(appId).access_token; //AccessToken
string openId = "xxx"; //用户openId
string templateId = "xxx"; //模版id
string linkUrl = "xxx"; //路径地址

//为模版中的各属性赋值
var templateData = new ProductTemplateData()
{
first = new TemplateDataItem("您好,您的订单已支付成功!", "#000000"),
product = new TemplateDataItem("水果沙拉", "#000000"),
price = new TemplateDataItem("8元", "#000000"),
time = new TemplateDataItem("2021-05-20 10:46:33", "#000000"),
remark = new TemplateDataItem("有空再来u~u", "#000000")
};

SendTemplateMessageResult sendResult = TemplateApi.SendTemplateMessage(access_token, openId, templateId, "", linkUrl, templateData);

//发送成功
if (sendResult.errcode.ToString() == "请求成功")
{
//...
}
else
{
Response.Write("出现错误:" + sendResult.errmsg);
}
}

/// <summary>
/// 定义模版中的字段属性(需与微信模版中的一致)
/// </summary>
public class ProductTemplateData
{
public TemplateDataItem first { get; set; }
public TemplateDataItem product { get; set; }
public TemplateDataItem price { get; set; }
public TemplateDataItem time { get; set; }
public TemplateDataItem remark { get; set; }
}
复制代码

 

posted @   蟾宝  阅读(197)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示