本文主要向大家介绍了基于SQLServer数据库实现微信推送消息,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。
最近新上了一个项目,需要监控设备数据,增加一个报警功能。
短信要收费,邮件不方便,需要查看,微信是一个非常好的消息报警推送的手段。
微信目前不提供单独的用户推送消息接口,面向应用的话,就只有从订阅号、服务号、企业号当中选择一个。这里不在解释这三个号的区别,请自行查看微信公众平台说明。
显然,企业号是一个比较好的选择。企业号的通讯录可以把公司所有人加入进来,并且划分部门。同时企业号还支持创建独立应用,应用相当于一个独立的群,可以对通讯录设定用户可见,实现群聊功能,同时也支持各种二次开发。
这里我的思路是首先把技术部的人员加入到企业号,然后创建一个项目应用,将预警信息推送到这个项目中,同时设置技术部可见。
1. 那么首先需要注册微信企业号。这里不在说明,请按照提示注册。实际使用发现,不认证(交300)也可以正常使用,用户上限受限制。
2. 然后在通讯录中创建技术部,加入技术人员信息(关联微信号),同时让他们关注企业号。
3. 在应用中心创建应用,设置可见范围技术部,启用回调模式,并获取Token,和EncodingAESKey。这里由于不需要处理交互消息,所以部在说明接口页面实现,我是直接把Senparc.Weixin.QY的Sample网站挂上去用了。当然想着把其中的Token,CorpID,EncodingAESKey这些换成自己企业号的。
4. 在设置-》权限管理->普通管理组中新建一个组。用来执行应用使用。(需要管理组的 Secret)
5. 使用VS2015新建项目,其他语言-Sqlserver-数据库项目。
6. 项目中右键,新建项,SQL CLR C# 存储过程。
7. 实现代码如下,测试代码,比较乱,见谅。
[csharp] view plain copy
1. using System;
2. using System.Data;
3. using System.Data.SqlClient;
4. using System.Data.SqlTypes;
5. using Microsoft.SqlServer.Server;
6. using System.Net;
7. using System.Text;
8. using System.Net.Security;
9. using System.Security.Cryptography.X509Certificates;
10. using System.IO;
11.
12.
13. public partial class StoredProcedures
14. {
15. public static readonly string Token = "0Eh7xxxxxxxxxfPm";//与微信企业账号后台的Token设置保持一致,区分大小写。
16. public static readonly string EncodingAESKey = "pA4xxxxxxxxxxxwKzoP";//与微信企业账号后台的EncodingAESKey设置保持一致,区分大小写。
17. public static readonly string CorpId = "wx8exxxx7300";//与微信企业账号后台的EncodingAESKey设置保持一致,区分大小写。
18. public static readonly