Heim  >  Artikel  >  WeChat-Applet  >  C#-Entwicklung des WeChat-Portals und Anwendungskonfiguration sowie Verwendung des WeChat-Unternehmenskontos

C#-Entwicklung des WeChat-Portals und Anwendungskonfiguration sowie Verwendung des WeChat-Unternehmenskontos

高洛峰
高洛峰Original
2017-03-02 09:50:591607Durchsuche

Zu Beginn dieser Aufsatzreihe wird hauptsächlich die Entwicklung von Portalanwendungen für öffentliche WeChat-Konten vorgestellt. Kürzlich wurde das gesamte WeChat-Framework erweitert und ergänzt und die neueste API-Kapselung und Entwicklung von Unternehmenskonten hinzugefügt Im Folgenden wird hauptsächlich die Verwendung von C# vorgestellt. Dieser Artikel dient als Ausgangspunkt für die Entwicklung des WeChat Enterprise-Kontos und stellt die Konfiguration und Verwendung des WeChat Enterprise-Kontos vor.

1. Registrierung und Anmeldung eines WeChat-Unternehmenskontos

Das Unternehmenskonto ist nach dem öffentlichen Konto und dem Abonnementkonto eine weitere Art von WeChat. Es ist hauptsächlich für Unternehmen gedacht. Enterprise Account ist das mobile Anwendungsportal von WeChat für Unternehmenskunden. Es kann Unternehmen dabei helfen, Verbindungen zwischen Mitarbeitern, vor- und nachgelagerten Lieferketten und Unternehmens-IT-Systemen herzustellen. Mit dem Enterprise Account können Unternehmen oder Drittpartner Unternehmen dabei helfen, schnell und kostengünstig hochwertige mobile Lichtanwendungen zu implementieren, um die Mobilisierung von Produktion, Management, Zusammenarbeit und Betrieb zu realisieren.

Persönlich denke ich, dass das größte Highlight des Unternehmenskontos darin besteht, dass Sie eine unbegrenzte Anzahl von Nachrichten senden können, was bedeutet, dass Sie reibungslos zwischen den Mitarbeitern des Unternehmens kommunizieren können. Im Vergleich zu öffentlichen Konten und Abonnementkonten sind WeChat-Unternehmenskonten beim Senden von Nachrichten vorsichtiger. Das WeChat-Unternehmenskonto muss jedoch ein internes Adressbuch einrichten. Follower müssen die WeChat-ID, E-Mail-Adresse und Telefonnummer mit dem Adressbuch abgleichen, bevor sie ihm folgen können. Dies bedeutet, dass andere Außenstehende daran gehindert werden können, ihm zu folgen. Darüber hinaus können Sie aus Sicherheitsgründen auch eine zweistufige Verifizierung einrichten, bei der es sich um einen Prüfprozess handelt.

Die Zertifizierung von Unternehmenskonten erfolgt auf die gleiche Weise wie die von öffentlichen Konten. Es müssen jedes Jahr Zertifizierungsgebühren erhoben werden. Andernfalls kann es zu Einschränkungen bei Personal und Funktionen kommen. Ich habe das Gefühl, dass WeChat wirklich nach Möglichkeiten sucht, Geld zu verdienen. Die bestehenden Abrechnungsmodelle umfassen Abonnementkonten, öffentliche Konten, Unternehmenskonten und offene Plattformen. Sie scheinen alle Zertifizierungsgebühren zu haben, und WeChat-Shops müssen außerdem eine Anzahlung von 20.000 erheben , alles. Es ist alles Geld.

Okay, sonst gibt es nichts zu sagen: https://qy.weixin.qq.com Sie können nicht gleichzeitig ein offizielles WeChat-Konto und ein WeChat-Unternehmenskonto registrieren eine E-Mail-Adresse.

Damit Unternehmen ein Unternehmenskonto eröffnen und es nutzen können, sind vier Schritte erforderlich

1) Unternehmen gehen zur offiziellen WeChat-Website ( http://qy.weixin.qq.com ) um die Aktivierung zu beantragen;

2) Nach der Aktivierung importiert das Unternehmen Mitglieder in den Enterprise-Account-Management-Hintergrund und veröffentlicht QR-Codes

3) Das Unternehmen ruft die Enterprise-Account-API auf, um eine Schnittstelle herzustellen das unternehmenseigene System für die Entwicklung;

4) Mitarbeiter folgen, erhalten WeChat-Informationen und interagieren mit dem Unternehmen in WeChat

Nach der Registrierung des Firmenkontos können Sie den Firmen-QR-Code über WeChat scannen Um sich anzumelden, muss WeChat beim Scannen bestätigen. Erst dann können Sie mit der Eingabe des Passworts fortfahren, um sich anzumelden. Die Bedienoberfläche ist wie unten dargestellt (links ist ein Screenshot des Mobiltelefons und rechts ein Screenshot). der Webseite).

C#开发微信门户及应用微信企业号的配置和使用 C#开发微信门户及应用微信企业号的配置和使用

Nach dem Anmelden sehen wir die entsprechende Computerverwaltungsoberfläche.

C#开发微信门户及应用微信企业号的配置和使用

2. Legen Sie den Entwicklungsrückrufmodus fest

Wenn Sie ein öffentliches WeChat-Konto entwickelt haben, wissen wir, dass Sie eine Verbindung zwischen dem herstellen müssen WeChat-Server und Website-Server Wenn die Verbindungsbeziehung die Weiterleitung und Verarbeitung von Nachrichten realisieren soll, muss ein Rückrufmodus eingestellt und die entsprechenden Parameter konfiguriert werden. Erstellen Sie dann einen Eingang auf Ihrem eigenen Website-Server, um WeChat-Servernachrichten zu verarbeiten.

C#开发微信门户及应用微信企业号的配置和使用

Nachdem wir die Konfiguration eingegeben haben, müssen wir die relevanten Parameter wie URL, Token, EncodingAESKey usw. ändern, hauptsächlich die URL. Dies ist dasselbe wie die Eingabeverarbeitung des offiziellen Kontos, und wir müssen den Verarbeitungseintrag auf dem Website-Server veröffentlichen.

Token und AESKey können gemäß den Eingabeaufforderungen dynamisch generiert werden. AESKey scheint 23 Bit lang zu sein, daher wird dieser normalerweise selbst generiert. Dies wird hauptsächlich zur Verschlüsselung und Entschlüsselung verwendet.

Erklärung der drei Parameter: URL, Token und EncodingAESKey.

1) URL ist das Zugriffsprotokoll und die Adresse, die von Unternehmensanwendungen verwendet werden, um Push-Anfragen für Unternehmenskonten zu empfangen, und unterstützt das http- oder https-Protokoll.

2) Token kann vom Unternehmen ausgefüllt und zur Signaturgenerierung verwendet werden.

3) CodierungAESKey wird zum Verschlüsseln des Nachrichtentexts verwendet und ist die Base64-Codierung des AES-Schlüssels.

Ausführliche Informationen zur Überprüfung von URL, Token und Verschlüsselung finden Sie im folgenden Abschnitt „Verschlüsselungs- und Entschlüsselungsverarbeitung beim Empfang von Nachrichten“.

C#开发微信门户及应用微信企业号的配置和使用

Die Benutzeroberfläche nach der Konfiguration des Unternehmenskontos meines Unternehmens sieht wie folgt aus.

C#开发微信门户及应用微信企业号的配置和使用

Die Seitenfunktion, auf die in dieser URL verwiesen wird, muss die Daten analysieren und an den WeChat-Server zurücksenden, daher müssen wir diesen Verarbeitungsfunktionseingang auf dem Server vorab bereitstellen .

Zusätzlich zu den oben genannten Funktionen muss auch ein CorpID-Parameter verwendet werden, den wir in der Hintergrund-Hauptoberfläche anzeigen können – Einstellungen.

C#开发微信门户及应用微信企业号的配置和使用

Um die Nutzung des Website-Backends zu erleichtern, haben wir dann die gleiche Konfiguration wie das offizielle Konto und fügen sie in Web.Config ein, wie unten gezeigt.

C#开发微信门户及应用微信企业号的配置和使用

3. Implementieren Sie die Funktionsentwicklung der Rückrufseite

Zuvor wurden mehrere Konfigurationselemente eingeführt, die in diesem Abschnitt verwendet werden müssen stellt weiterhin vor, wie man das Postback von Unternehmenskontoinformationen implementiert und dafür sorgt, dass es den Rückruftestvorgang besteht.

Da die Daten des Rückruftests über die Get-Methode gesendet werden, lautet unser Verarbeitungslogikcode wie folgt, der der Verarbeitung öffentlicher Konten ähnelt, der Implementierungsteil jedoch unterschiedlich ist.

    /// <summary>
    /// 企业号回调信息接口。统一接收并处理信息的入口。    /// </summary>
    public class corpapi : IHttpHandler
    {        /// <summary>
        /// 处理企业号的信息        /// </summary>
        /// <param name="context"></param>
        public void ProcessRequest(HttpContext context)
        {            string postString = string.Empty;            if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
            {                using (Stream stream = HttpContext.Current.Request.InputStream)
                {
                    Byte[] postBytes = new Byte[stream.Length];
                    stream.Read(postBytes, 0, (Int32)stream.Length);
                    postString = Encoding.UTF8.GetString(postBytes);
                }                if (!string.IsNullOrEmpty(postString))
                {
                    Execute(postString);
                }
            }            else
            {                Auth();
            }
        }        /// <summary>
        /// 成为开发者的第一步,验证并相应服务器的数据        /// </summary>
        private void Auth()
        {            #region 获取关键参数            string token = ConfigurationManager.AppSettings["CorpToken"];//从配置文件获取Token
            if (string.IsNullOrEmpty(token))
            {
                LogTextHelper.Error(string.Format("CorpToken 配置项没有配置!"));
            }            string encodingAESKey = ConfigurationManager.AppSettings["EncodingAESKey"];//从配置文件获取EncodingAESKey
            if (string.IsNullOrEmpty(encodingAESKey))
            {
                LogTextHelper.Error(string.Format("EncodingAESKey 配置项没有配置!"));
            }            string corpId = ConfigurationManager.AppSettings["CorpId"];//从配置文件获取corpId
            if (string.IsNullOrEmpty(corpId))
            {
                LogTextHelper.Error(string.Format("CorpId 配置项没有配置!"));
            } 
            #endregion

            string echoString = HttpContext.Current.Request.QueryString["echoStr"];            
            string signature = HttpContext.Current.Request.QueryString["msg_signature"];//企业号的 msg_signature
            string timestamp = HttpContext.Current.Request.QueryString["timestamp"];            
            string nonce = HttpContext.Current.Request.QueryString["nonce"];            
            string decryptEchoString = "";            
            if (new CorpBasicApi().CheckSignature(token, signature, timestamp, nonce, corpId, encodingAESKey, echoString, ref decryptEchoString))
            {                if (!string.IsNullOrEmpty(decryptEchoString))
                {
                    HttpContext.Current.Response.Write(decryptEchoString);
                    HttpContext.Current.Response.End();
                }
            }
        }

Der spezifische Verarbeitungscode lautet wie folgt im Anhang des WeChat Enterprise-Kontos. Ich habe C# verwendet. Version des SDK.

    /// <summary>
    /// 企业号基础操作API实现    /// </summary>
    public class CorpBasicApi : ICorpBasicApi
    {        /// <summary>
        /// 验证企业号签名        /// </summary>
        /// <param name="token">企业号配置的Token</param>
        /// <param name="signature">签名内容</param>
        /// <param name="timestamp">时间戳</param>
        /// <param name="nonce">nonce参数</param>
        /// <param name="corpId">企业号ID标识</param>
        /// <param name="encodingAESKey">加密键</param>
        /// <param name="echostr">内容字符串</param>
        /// <param name="retEchostr">返回的字符串</param>
        /// <returns></returns>
        public bool CheckSignature(string token, string signature, string timestamp, string nonce, string corpId, string encodingAESKey, string echostr, ref string retEchostr)
        {
            WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(token, encodingAESKey, corpId);            
            int result = wxcpt.VerifyURL(signature, timestamp, nonce, echostr, ref retEchostr);            
            if (result != 0)
            {
                LogTextHelper.Error("ERR: VerifyURL fail, ret: " + result);                
                return false;
            }            
            return true;            
            //ret==0表示验证成功,retEchostr参数表示明文,用户需要将retEchostr作为get请求的返回参数,返回给企业号。            
            // HttpUtils.SetResponse(retEchostr);
        }

Weitere Informationen zur C#-Entwicklung des WeChat-Portals sowie zur Konfiguration und Verwendung des WeChat-Unternehmenskontos finden Sie auf der chinesischen PHP-Website für verwandte Artikel!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn