Einführung in Grafik- und Textcode in der Vorbereitungsphase der WeChat-Entwicklung

黄舟
Freigeben: 2017-04-18 10:19:44
Original
1450 Leute haben es durchsucht

Vorbereitungsphase der WeChat-Entwicklung


Erforderliche Ressourcen:

1. Konto für die öffentliche WeChat-Plattform

1.

Bewerbung für ein öffentliches WeChat-Konto

Melden Sie sich bei der öffentlichen WeChat-Plattform an und registrieren Sie sich in der oberen rechten Ecke

Einführung in Grafik- und Textcode in der Vorbereitungsphase der WeChat-EntwicklungGeben Sie die relevanten Informationen ein, um sich hier zu registrieren Persönliches Abonnementkonto. Wenn Unternehmensinformationen vorhanden sind, können Sie ein Dienstkonto registrieren. Darüber hinaus bietet WeChat aufgrund der eingeschränkten Schnittstelle für persönliche Abonnementkonten auch ein Testkonto an, das speziell von Entwicklern verwendet wird. Geben Sie die folgende Adresse ein, um ein Testkonto zu beantragen:                          >

Einführung in Grafik- und Textcode in der Vorbereitungsphase der WeChat-Entwicklung


Die Testkontoberechtigungen sind immer noch sehr gut für die Entwicklung ~


Da WeChat auf Entwickler zugreift, muss der Modus die URL bereitstellen Adresse, an die der WeChat-Server Anfragen senden kann, daher muss Ihr Server auf das öffentliche Netzwerk zugreifen können. Da ich Community-Breitband verwende und das Problem nicht lösen kann, verwende ich stattdessen Baidu .Bae, wenn Sie keine öffentliche IP haben, können Sie es versuchen. Sie können sich mit einem Baidu-Konto anmelden. Beachten Sie, dass Sie svn verwenden müssen Andere Verwaltungsanwendungen, aber der Benutzername wird nicht unterstützt. Wenn Ihr Baidu-Konto also chinesisch ist, sollten Sie ein englisches Konto erneut registrieren.

Nachdem die Vorbereitungen abgeschlossen sind, beginnen Sie mit dem Schreiben von Code, um Entwickler zu werden Der folgende Code stammt aus dem Blog von Lehrer Liu FengEinführung in Grafik- und Textcode in der Vorbereitungsphase der WeChat-EntwicklungEinführung in Grafik- und Textcode in der Vorbereitungsphase der WeChat-Entwicklung Kernklassen:

package com.vlive.action.connector;  
import java.io.IOException;  
import java.io.PrintWriter;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import com.vlive.utils.SignUtil;  
public class URlresponse extends HttpServlet{  
    @Override  
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)  
            throws ServletException, IOException {  
         // 微信加密签名    
        String signature = req.getParameter("signature");    
        // 时间戳    
        String timestamp = req.getParameter("timestamp");    
        // 随机数    
        String nonce = req.getParameter("nonce");    
        // 随机字符串    
        String echostr = req.getParameter("echostr");    
        PrintWriter out = resp.getWriter();    
        // 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败    
        if (SignUtil.checkSignature(signature, timestamp, nonce)) {    
            out.print(echostr);    
        }    
        out.close();    
        out = null;    
    }  
}
Nach dem Login kopieren


Diese Kategorie wird verwendet. Gehen Sie zur checkSignature-Methode von SignUtil:

  • Das Folgende ist web.xml

package com.vlive.utils;  
import java.security.MessageDigest;  
import java.security.NoSuchAlgorithmException;  
import java.util.Arrays;  
public class SignUtil {  
    private static String token="vlive";  
    public static boolean checkSignature(String signature, String timestamp, String nonce) {    
        String[] arr = new String[] { token, timestamp, nonce };    
        // 将token、timestamp、nonce三个参数进行字典序排序    
        Arrays.sort(arr);    
        StringBuilder content = new StringBuilder();    
        for (int i = 0; i < arr.length; i++) {    
            content.append(arr[i]);    
        }    
        MessageDigest md = null;    
        String tmpStr = null;    
        try {    
            md = MessageDigest.getInstance("SHA-1");    
            // 将三个参数字符串拼接成一个字符串进行sha1加密    
            byte[] digest = md.digest(content.toString().getBytes());    
            tmpStr = byteToStr(digest);    
        } catch (NoSuchAlgorithmException e) {    
            e.printStackTrace();    
        }    
        content = null;    
        // 将sha1加密后的字符串可与signature对比,标识该请求来源于微信    
        return tmpStr != null ? tmpStr.equals(signature.toUpperCase()) : false;    
    }    
     /**  
     * 将字节数组转换为十六进制字符串  
     *   
     * @param byteArray  
     * @return  
     */    
    private static String byteToStr(byte[] byteArray) {    
        String strDigest = "";    
        for (int i = 0; i < byteArray.length; i++) {    
            strDigest += byteToHexStr(byteArray[i]);    
        }    
        return strDigest;    
    }    
    /**  
     * 将字节转换为十六进制字符串  
     *   
     * @param mByte  
     * @return  
     */    
    private static String byteToHexStr(byte mByte) {    
        char[] Digit = { &#39;0&#39;, &#39;1&#39;, &#39;2&#39;, &#39;3&#39;, &#39;4&#39;, &#39;5&#39;, &#39;6&#39;, &#39;7&#39;, &#39;8&#39;, &#39;9&#39;, &#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;, &#39;F&#39; };    
        char[] tempArr = new char[2];    
        tempArr[0] = Digit[(mByte >>> 4) & 0X0F];    
        tempArr[1] = Digit[mByte & 0X0F];    
        String s = new String(tempArr);    
        return s;    
    }    
}
Nach dem Login kopieren

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5"   
    xmlns="http://java.sun.com/xml/ns/javaee"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  <display-name></display-name>   
  <servlet>    
        <servlet-name>URlresponse</servlet-name>    
        <servlet-class>    
           com.vlive.action.connector.URlresponse    
        </servlet-class>    
    </servlet>    
    <!-- url-pattern中配置的/coreServlet用于指定该Servlet的访问路径 -->    
    <servlet-mapping>    
        <servlet-name>URlresponse</servlet-name>    
        <url-pattern>/urlresponse</url-pattern>    
    </servlet-mapping>    
  <welcome-file-list>  
    <welcome-file>index.jsp</welcome-file>  
  </welcome-file-list>  
</web-app>
Nach dem Login kopieren

Jetzt kann die Zugangskonfiguration beginnen

Sie können Entwickler werden, indem Sie das ausfüllen entsprechende URL und Token. Ich wünsche dir alles Gute~

Das obige ist der detaillierte Inhalt vonEinführung in Grafik- und Textcode in der Vorbereitungsphase der WeChat-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!