using System;
namespace NewLife.WeChat.Models;
/// <summary>微信应用类型枚举</summary>
public enum WeChatAppType
{
/// <summary>公众号</summary>
OfficialAccount = 1,
/// <summary>小程序</summary>
MiniProgram = 2,
/// <summary>企业微信</summary>
Work = 3,
/// <summary>开放平台</summary>
OpenPlatform = 4
}
/// <summary>微信应用分类枚举</summary>
public enum WeChatAppCategory
{
/// <summary>公众号</summary>
公众号 = 1,
/// <summary>小程序</summary>
MiniProgram = 2,
/// <summary>APP应用</summary>
APP = 3
}
/// <summary>模板消息类型</summary>
public enum TemplateMessageType
{
/// <summary>公众号模板消息</summary>
OfficialTemplate = 1,
/// <summary>小程序订阅消息</summary>
MiniSubscribe = 2
}
/// <summary>微信API响应基类</summary>
public class WeChatResponse
{
/// <summary>错误码</summary>
public Int32 ErrCode { get; set; }
/// <summary>错误消息</summary>
public String ErrMsg { get; set; }
/// <summary>是否成功</summary>
public Boolean IsSuccess => ErrCode == 0;
}
/// <summary>AccessToken响应</summary>
public class AccessTokenResponse : WeChatResponse
{
/// <summary>访问令牌</summary>
public String Access_Token { get; set; }
/// <summary>过期时间(秒)</summary>
public Int32 Expires_In { get; set; }
}
/// <summary>OAuth2.0授权Token响应</summary>
public class OAuthTokenResponse : WeChatResponse
{
/// <summary>访问令牌</summary>
public String Access_Token { get; set; }
/// <summary>过期时间(秒)</summary>
public Int32 Expires_In { get; set; }
/// <summary>刷新令牌</summary>
public String Refresh_Token { get; set; }
/// <summary>用户OpenId</summary>
public String OpenId { get; set; }
/// <summary>授权作用域</summary>
public String Scope { get; set; }
/// <summary>用户UnionId(仅在已绑定开放平台时返回)</summary>
public String UnionId { get; set; }
}
/// <summary>微信用户信息</summary>
public class WeChatUserInfo : WeChatResponse
{
/// <summary>用户OpenId</summary>
public String OpenId { get; set; }
/// <summary>用户昵称</summary>
public String NickName { get; set; }
/// <summary>用户性别。0=未知,1=男,2=女</summary>
public Int32 Sex { get; set; }
/// <summary>国家</summary>
public String Country { get; set; }
/// <summary>省份</summary>
public String Province { get; set; }
/// <summary>城市</summary>
public String City { get; set; }
/// <summary>语言</summary>
public String Language { get; set; }
/// <summary>用户头像</summary>
public String HeadImgUrl { get; set; }
/// <summary>用户UnionId(仅在已绑定开放平台时返回)</summary>
public String UnionId { get; set; }
/// <summary>是否关注公众号</summary>
public Int32 Subscribe { get; set; }
/// <summary>关注时间(时间戳)</summary>
public Int64 Subscribe_Time { get; set; }
/// <summary>关注场景</summary>
public String Subscribe_Scene { get; set; }
/// <summary>二维码扫码场景</summary>
public String QrSceneStr { get; set; }
/// <summary>用户标签ID列表</summary>
public Int32[] TagId_List { get; set; }
}
/// <summary>模板消息发送请求</summary>
public class TemplateMessageRequest
{
/// <summary>接收者OpenId</summary>
public String ToUser { get; set; }
/// <summary>模板ID</summary>
public String Template_Id { get; set; }
/// <summary>跳转链接(公众号)</summary>
public String Url { get; set; }
/// <summary>小程序信息</summary>
public MiniProgramInfo MiniProgram { get; set; }
/// <summary>模板数据</summary>
public Object Data { get; set; }
/// <summary>颜色(已废弃)</summary>
public String Color { get; set; }
}
/// <summary>订阅消息发送请求</summary>
public class SubscribeMessageRequest
{
/// <summary>接收者OpenId</summary>
public String ToUser { get; set; }
/// <summary>模板ID</summary>
public String Template_Id { get; set; }
/// <summary>点击模板卡片后的跳转页面</summary>
public String Page { get; set; }
/// <summary>模板数据</summary>
public Object Data { get; set; }
/// <summary>跳转小程序类型</summary>
public String MiniProgram_State { get; set; }
/// <summary>语言</summary>
public String Lang { get; set; }
}
/// <summary>小程序信息</summary>
public class MiniProgramInfo
{
/// <summary>小程序AppId</summary>
public String AppId { get; set; }
/// <summary>小程序页面路径</summary>
public String PagePath { get; set; }
}
/// <summary>模板消息发送响应</summary>
public class TemplateMessageResponse : WeChatResponse
{
/// <summary>消息ID</summary>
public Int64 MsgId { get; set; }
}
|