Au cours des deux derniers jours, je voulais apprendre le développement de comptes publics WeChat, j'ai donc cherché en ligne et commencé à m'entraîner au cours du processus, en raison de divers problèmes (la description est incomplète, certains articles apparaissent une nouvelle constante sans le savoir. comment, il n'a pas dit où il a été défini, et le problème avec la version du package jar m'a coûté une journée), je vais donc l'enregistrer ici.
1. Tout d'abord, vous devez créer un compte public WeChat. Accédez à Du Niang pour rechercher la plateforme publique WeChat et accédez à cette page pour vous inscrire (ignorez cette étape si vous avez déjà un compte) :
2. Utilisez ensuite Eclipse pour créer un nouveau projet. Ici, je construis un projet Web, jdk est 1.8 et Tomcat est 8.5.
3 .Afin d'établir une connexion avec WeChat, après avoir construit le projet, créez d'abord une nouvelle classe et nommez-la : CheckUtil. Sa fonction est de servir d'outil de vérification pour la connexion avec WeChat. est la suivante :import java.security.MessageDigest; import java.util.Arrays; public class CheckUtil { public static final String tooken = "自行定义"; //开发者自行定义Tooken public static boolean checkSignature(String signature,String timestamp,String nonce){ //1.定义数组存放tooken,timestamp,nonce String[] arr = {tooken,timestamp,nonce}; //2.对数组进行排序 Arrays.sort(arr); //3.生成字符串 StringBuffer sb = new StringBuffer(); for(String s : arr){ sb.append(s); } //4.sha1加密,网上均有现成代码 String temp = getSha1(sb.toString()); //5.将加密后的字符串,与微信传来的加密签名比较,返回结果 return temp.equals(signature); } public static String getSha1(String str){ if(str==null||str.length()==0){ return null; } char hexDigits[] = {'0','1','2','3','4','5','6','7','8','9', 'a','b','c','d','e','f'}; try { MessageDigest mdTemp = MessageDigest.getInstance("SHA1"); mdTemp.update(str.getBytes("UTF-8")); byte[] md = mdTemp.digest(); int j = md.length; char buf[] = new char[j*2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; buf[k++] = hexDigits[byte0 >>> 4 & 0xf]; buf[k++] = hexDigits[byte0 & 0xf]; } return new String(buf); } catch (Exception e) { // TODO: handle exception return null; } } }4. Créez ensuite une nouvelle classe qui réécrit la méthode doGet pour recevoir les requêtes GET de WeChat. Une partie du code est la suivante : <.>5. Une fois le code écrit, un outil est nécessaire pour mapper notre lien intranet au réseau public. De cette façon, WeChat peut accéder à notre backend. Ici, j'utilise ngrok, un outil de cartographie gratuit. recherchez-le et téléchargez-le. Après le téléchargement, décompressez-le et placez-le dans un emplacement désigné. Appuyez en même temps sur la touche Win + R et entrez cmd, appuyez sur Entrée pour accéder à l'environnement DOS, passez à la lettre de lecteur où se trouve ngrock. , entrez ngrock http 8080 et appuyez sur Entrée (démarrez Tomcat avant de faire cela) :
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); String signature = request.getParameter("signature"); String timestamp = request.getParameter("timestamp"); String nonce = request.getParameter("nonce"); String echostr = request.getParameter("echostr"); PrintWriter out = response.getWriter(); if(CheckUtil.checkSignature(signature, timestamp, nonce)){ //如果校验成功,将得到的随机字符串原路返回 out.print(echostr); } }
6. Après avoir appuyé sur Entrée. Après avoir attendu un moment, vous obtiendrez le lien du réseau public. Le lien donné dans la zone ombrée comme le montre la figure ci-dessous permet d'accéder directement au contenu du lien sous la machine locale 127.0.0.1:8080, qui sont les adresses correspondant au protocole http et au protocole https :
7. Connectez-vous à la plateforme de compte public WeChat, glissez vers le bas et cliquez sur Développement dans le coin inférieur gauche - Configuration de base :
Cliquez sur le bouton Soumettre, et si la soumission réussit, cela signifie que WeChat peut accéder à notre propre backend.
Recommandations associées :
Exemple de code graphique Java pour le développement de la plateforme publique WeChatExemple de développement de paiements de compte public WeChat (java) Explication détailléeCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!