namespace Tiobon.Core.Controllers { /// /// 微信公众号管理 /// [Route("api/[controller]/[action]")] [ApiController] [Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_WeChat)] public partial class WeChatController : Controller { readonly IWeChatConfigServices _weChatConfigServices; readonly ILogger _logger; /// /// 构造函数 /// /// /// public WeChatController(IWeChatConfigServices weChatConfigServices, ILogger logger) { _weChatConfigServices = weChatConfigServices; _logger = logger; } /// /// 更新Token /// /// /// [HttpGet] public async Task> GetToken(string id) { return await _weChatConfigServices.GetToken(id); } /// /// 刷新Token /// /// /// [HttpGet] public async Task> RefreshToken(string id) { return await _weChatConfigServices.RefreshToken(id); } /// /// 获取模板 /// /// /// [HttpGet] public async Task> GetTemplate(string id) { return await _weChatConfigServices.GetTemplate(id); } /// /// 获取菜单 /// /// /// [HttpGet] public async Task> GetMenu(string id) { return await _weChatConfigServices.GetMenu(id); } /// /// 更新菜单 /// /// /// [HttpPut] public async Task> UpdateMenu(WeChatApiDto menu) { return await _weChatConfigServices.UpdateMenu(menu); } /// /// 获取订阅用户(所有) /// /// /// [HttpGet] public async Task> GetSubUsers(string id) { return await _weChatConfigServices.GetSubUsers(id); } /// /// 入口 /// /// /// [AllowAnonymous] [HttpPost] [HttpGet] public async Task Valid([FromQuery] WeChatValidDto validDto) { using (var reader = new StreamReader(Request.Body)) { var body = await reader.ReadToEndAsync(); return await _weChatConfigServices.Valid(validDto, body); } } /// /// 获取订阅用户 /// /// /// /// [HttpGet] [AllowAnonymous] public async Task> GetSubUser(string id,string openid) { return await _weChatConfigServices.GetSubUser(id,openid); } /// /// 获取一个绑定员工公众号二维码 /// /// 消息 /// [HttpGet] [AllowAnonymous] public async Task> GetQRBind([FromQuery]WeChatUserInfo info) { return await _weChatConfigServices.GetQRBind(info); } /// /// 推送卡片消息接口 /// /// 卡片消息对象 /// [HttpPost] [AllowAnonymous] public async Task> PushCardMsg(WeChatCardMsgDataDto msg) { string pushUserIP = $"{Request.HttpContext.Connection.RemoteIpAddress}:{Request.HttpContext.Connection.RemotePort}"; return await _weChatConfigServices.PushCardMsg(msg, pushUserIP); } /// /// 推送卡片消息接口 /// /// 卡片消息对象 /// [HttpGet] [AllowAnonymous] public async Task> PushCardMsgGet([FromQuery] WeChatCardMsgDataDto msg) { string pushUserIP = $"{Request.HttpContext.Connection.RemoteIpAddress}:{Request.HttpContext.Connection.RemotePort}"; return await _weChatConfigServices.PushCardMsg(msg, pushUserIP); } /// /// 推送文本消息 /// /// 消息对象 /// [HttpPost] [AllowAnonymous] public async Task> PushTxtMsg([FromBody] WeChatPushTestDto msg) { return await _weChatConfigServices.PushTxtMsg(msg); } /// /// 通过绑定用户获取微信用户信息(一般用于初次绑定检测) /// /// 信息 /// [HttpGet] [AllowAnonymous] public async Task> GetBindUserInfo([FromQuery]WeChatUserInfo info) { return await _weChatConfigServices.GetBindUserInfo(info); } /// /// 用户解绑 /// /// 消息 /// [HttpGet] [AllowAnonymous] public async Task> UnBind([FromQuery]WeChatUserInfo info) { return await _weChatConfigServices.UnBind(info); } } }