Heim > Artikel > WeChat-Applet > C# entwickelt das WeChat-Portal und verwendet das WeChat-Unternehmenskonto zum Senden von Nachrichten (Text, Bilder, Dateien, Sprache, Video, grafische Nachrichten usw.).
Wir wissen, dass das Unternehmenskonto hauptsächlich auf die Bedürfnisse von Unternehmen zugeschnitten ist. Daher ist der Austausch interner Nachrichten sehr wichtig und die Anzahl der gesendeten und beantworteten Nachrichten sollte beträchtlich sein, insbesondere bei großen Unternehmen kombiniert mit dem Unternehmenskonto, um interne Kommunikationsnachrichten zu realisieren. Das Unternehmenskonto zeichnet sich dadurch aus, dass es sich auf Sicherheit und unbegrenztes Messaging konzentriert, was sich sehr gut für die interne Umgebung des Unternehmens eignet. In diesem Artikel wird hauptsächlich erläutert, wie Sie das Unternehmenskonto zum Senden von Text-, Bild-, Datei-, Sprach-, Video-, Grafiknachrichten und anderen Nachrichten verwenden.
Für das Unternehmenskonto gibt es die folgenden Funktionen:
1) Konzentrieren Sie sich auf mehr Sicherheit
– nur Unternehmenskommunikation Nur registrierte Mitglieder können dem Unternehmenskonto folgen, und verschiedene Funktionen wie hierarchische Administratoren und vertrauliche Nachrichten gewährleisten die Sicherheit interner Informationen des Unternehmens.
Unternehmen können eine Selbstverifizierung der Follower-Identitäten einrichten und eine sekundäre Sicherheitsüberprüfung durchführen, um die Sicherheit der Nutzung und Übertragung von Unternehmensinformationen zu gewährleisten.
Wenn ein Mitarbeiter kündigt, kann der Firmenadministrator das Mitglied im Adressbuch löschen, und das Mitglied wird dem Firmenkonto automatisch entfolgen, und der Verlauf des Firmenkontos in WeChat wird ebenfalls gelöscht.
2) Anwendungskonfigurierbarkeit
– Unternehmen können in ihren Unternehmenskonten mehrere Dienstkonten konfigurieren, die eine Verbindung zu verschiedenen Unternehmensanwendungssystemen herstellen können. Nur autorisierte Unternehmensmitglieder können die entsprechende Dienstnummer nutzen.
3) Unbegrenzte Nachrichtenanzahl
– Es gibt keine Einschränkungen beim Senden von Nachrichten und bietet eine vollständige Verwaltungsoberfläche und native WeChat-Funktionen zur Anpassung an komplexe und personalisierte Anwendungsszenarien von Unternehmen.
Unternehmen können proaktiv Nachrichten an Mitarbeiter senden, die Anzahl der Nachrichten ist nicht begrenzt.
4) Bequemer zu verwenden
– Unternehmenskonten verfügen über einen einheitlichen Nachrichteneingang in WeChat, und Benutzer können Unternehmenskontonachrichten bequemer verwalten. WeChat-Adressbücher können auch direkt auf Anwendungen im Unternehmenskonto zugreifen.
Der aktuelle Inhalt des Unternehmenskontos kann mithilfe des folgenden hierarchischen Diagramms angezeigt werden, einschließlich Materialverwaltung, passive Antwortnachrichten usw Einzelheiten zur Adressbuchverwaltung, benutzerdefinierten Menüs usw. finden Sie in der Abbildung unten.
Unternehmenskonten können wie offizielle Konten in Nachrichtenverarbeitung und Ereignisverarbeitung unterteilt werden Bei der Verarbeitung handelt es sich um die folgenden zwei Arten von Verarbeitungsvorgängen: Die gesendeten Nachrichten umfassen Textnachrichten, Bildnachrichten, Dateinachrichten, Videonachrichten, Sprachnachrichten, geografische Textnachrichten, Grafik- und Multimedianachrichten usw.
Die Ereignisverarbeitung umfasst hauptsächlich Follow- und Unfollow-Ereignisse sowie Vorgänge vom Typ „Menüklick“ und „Ansicht“ sowie Ereignisse zur geografischen Standortberichterstattung usw.
Die beiden Arten von Verarbeitungsdiagrammen sind unten dargestellt.
Im Hintergrund für die Unternehmensverwaltung können Sie, genau wie beim offiziellen Konto, das entsprechende sehen Informationsaustauschaufzeichnungen, einschließlich Text, Bilder, geografischer Standort usw., sind wie folgt.
Da Nachrichten in verschiedene Typen unterteilt sind, darunter Text, Bild, Datei, Sprache, Video, Bildnachrichten, MpNews usw.
Also müssen wir sie jeweils definieren und kapseln. Das Folgende ist ihr Informationsobjekt-Designdiagramm.
Die offizielle Definition von Nachrichten, die von Unternehmenskonten gesendet werden, lautet wie folgt:
Unternehmen können proaktiv Nachrichten an Mitarbeiter senden, Das Nachrichtenvolumen ist nicht eingeschränkt .
Verwenden Sie beim Aufruf der Schnittstelle das HTTPS-Protokoll und das JSON-Datenpaketformat Das Datenpaket muss nicht verschlüsselt werden.
Unterstützt derzeit Text-, Bild-, Sprach-, Video-, Datei-, Grafik- und andere Nachrichtentypen. Zusätzlich zum Nachrichtentyp können auch andere Nachrichtentypen mit Vertraulichkeitsoptionen gesendet werden. Vertrauliche Nachrichten werden mit einem Wasserzeichen versehen und können nur vom Empfänger gelesen werden.
Nehmen wir als Beispiel die gesendete Textnachricht. Ihre Definition lautet wie folgt.
SMS
{ "touser": "UserID1|UserID2|UserID3", "toparty": " PartyID1 | PartyID2 ", "totag": " TagID1 | TagID2 ", "msgtype": "text", "agentid": "1", "text": { "content": "Holiday Request For Pony(http://www.php.cn/)" }, "safe":"0" }
参数 | 必须 | 说明 |
---|---|---|
touser | 否 | UserID列表(消息接收者,多个接收者用‘|’分隔)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送 |
toparty | 否 | PartyID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数 |
totag | 否 | TagID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数 |
msgtype | 是 | 消息类型,此时固定为:text |
agentid | 是 | 企业应用的id,整型。可在应用的设置页面查看 |
content | 是 | 消息内容 |
safe | 否 | 表示是否是保密消息,0表示否,1表示是,默认0 |
Jede Nachricht enthält die folgenden Nachrichten, die ihre gemeinsamen Attribute sind:
touser": "UserID1|UserID2|UserID3", "toparty": " PartyID1 | PartyID2 ", "totag": " TagID1 | TagID2 ", "msgtype": "text", "agentid": "1",
Wir können also eine Basisklasse definieren, um die Übertragung dieser gemeinsamen Nachrichten zu erleichtern.
/// <summary> /// 企业号发送消息的基础消息内容 /// </summary> public class CorpSendBase { /// <summary> /// UserID列表(消息接收者,多个接收者用‘|’分隔)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送 /// </summary> public string touser { get; set; } /// <summary> /// PartyID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数 /// </summary> public string toparty { get; set; } /// <summary> /// TagID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数 /// </summary> public string totag { get; set; } /// <summary> /// 消息类型 /// </summary> public string msgtype { get; set; } /// <summary> /// 企业应用的id,整型。可在应用的设置页面查看 /// </summary> public string agentid { get; set; } /// <summary> /// 表示是否是保密消息,0表示否,1表示是,默认0 /// </summary> [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] public string safe { get; set; } }
Dann können andere Nachrichten diese Basisklasse nacheinander erben, wie unten gezeigt.
bildet schließlich das folgende Vererbungsdiagramm.
Nachdem wir die relevanten Sendeobjekte definiert haben, können wir die einheitliche Sendeschnittstelle wie folgt definieren.
/// <summary> /// 企业号消息管理接口定义 /// </summary> public interface ICorpMessageApi { /// <summary> /// 发送消息。 /// 需要管理员对应用有使用权限,对收件人touser、toparty、totag有查看权限,否则本次调用失败。 /// </summary> /// <param> /// <returns></returns> CommonResult SendMessage(string accessToken, CorpSendBase data); }
Schließlich werden Text und andere Arten von Nachrichten gemäß der Schnittstellendefinition implementiert, und der Implementierungscode lautet wie folgt. Beachten Sie, dass für den Sendevorgang kein Aufruf der Verschlüsselungsklasse zur Verschlüsselung erforderlich ist.
/// <summary> /// 企业号消息管理实现类 /// </summary> public class CorpMessageApi : ICorpMessageApi { /// <summary> /// 发送消息。 /// 需要管理员对应用有使用权限,对收件人touser、toparty、totag有查看权限,否则本次调用失败。 /// </summary> /// <param> /// <returns></returns> public CommonResult SendMessage(string accessToken, CorpSendBase data) { CommonResult result = new CommonResult(); string urlFormat = "http://www.php.cn/{0}"; var url = string.Format(urlFormat, accessToken); var postData = data.ToJson(); //数据不用加密发送 CorpSendResult sendResult = CorpJsonHelper<corpsendresult>.ConvertJson(url, postData); if (sendResult != null) { result.Success = (sendResult.errcode == CorpReturnCode.请求成功); result.ErrorMessage = string.Format("invaliduser:{0},invalidparty:{1},invalidtag:{2}", sendResult.invaliduser, sendResult.invalidparty, sendResult.invalidtag); } return result; } }</corpsendresult>
Nach der Definition des entsprechenden Sendeobjekts können wir einheitliche Nachrichtensendevorgänge durchführen Text-, Bild-, Datei-, Sprach- und andere Arten von Nachrichten. Beachten Sie, dass einige Nachrichten auf den Server hochgeladen und dann basierend auf der Medien-ID versendet werden müssen.
Der Operationscode zum Senden von Text und Bildern lautet wie folgt.
private void btnSendText_Click(object sender, EventArgs e) { //发送文本内容 ICorpMessageApi bll = new CorpMessageApi(); CorpSendText text = new CorpSendText("API 中文测试(http://www.php.cn/)"); text.touser = "wuhuacong"; text.toparty = "4";//部门ID text.totag = "0"; text.safe = "0"; text.agentid = "0"; CommonResult result = bll.SendMessage(token, text); if (result != null) { Console.WriteLine("发送消息:{0} {1} {2}", text.text.content, (result.Success ? "成功" : "失败"), result.ErrorMessage); } } private void btnSendImage_Click(object sender, EventArgs e) { btnUpload_Click(sender, e); if (!string.IsNullOrEmpty(image_mediaId)) { //发送图片内容 ICorpMessageApi bll = new CorpMessageApi(); CorpSendImage image = new CorpSendImage(image_mediaId); CommonResult result = bll.SendMessage(token, image); if (result != null) { Console.WriteLine("发送图片消息:{0} {1} {2}", image_mediaId, (result.Success ? "成功" : "失败"), result.ErrorMessage); } } }
Schließlich ist der Screenshot-Effekt auf dem WeChat Enterprise-Konto wie unten gezeigt, einschließlich Texttest, Dateitest, Grafiktest und Sprachtest. alle sind normal.
Weitere Artikel zu C#-Entwicklung des WeChat-Portals und Anwendung von WeChat-Unternehmenskontonachrichten (Text, Bilder, Dateien, Sprache, Video, grafische Nachrichten usw.). Bitte achten Sie auf die chinesische PHP-Website!