国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison Applet WeChat Développement WeChat Résumé de l'expérience dans le développement de menus personnalisés pour les comptes publics WeChat

Résumé de l'expérience dans le développement de menus personnalisés pour les comptes publics WeChat

Mar 22, 2017 pm 04:10 PM
Développement de WeChat

Cet article partage le résumé de l'expérience de développement de menus personnalisés pour les comptes publics WeChat

????開發(fā)公司的微信公眾賬號,在沒人指導(dǎo)沒有人商量的情況下沒少查資料、逛論壇。其中有多少酸甜苦辣,相信能進(jìn)來看見我的帖子的能體會的到。一年多來為了應(yīng)付公司的各種需求沒時間整理,今天我就把詳細(xì)的流程寫下來供同樣遇到問題的參考。微信公眾賬號幾種分類相信大家都有了解。?訂閱號我表示無能為力。除非你能認(rèn)證通過。廢話少說開擼。
?????
????自定義菜單操作流程其實(shí)很簡單?,就是執(zhí)行一段Java程序?將你公眾賬號的appid和封裝的菜單發(fā)送到騰訊服務(wù)器,騰訊服務(wù)器會根據(jù)你請求參數(shù)appid和封裝的菜單添加到對應(yīng)的公眾賬號,一定要羅嗦一句,?在Java?程序中執(zhí)行一次?main?方法就可以,下次修改重新執(zhí)行,不過會有緩存,取消重新關(guān)注就可以了。
????1?新建按鈕基類???
????????public?class?Button?{
????????????//按鈕名稱
????????????private?String?name;
?????????
????????????public?String?getName()?{
????????????????return?name;
????????????}
?????????
????????????public?void?setName(String?name)?{
????????????????this.name?=?name;
????????????}
????????}
????2,根據(jù)業(yè)務(wù)需求新建不同的按鈕類?
?????????
????/**
?????*?view類型的按鈕??點(diǎn)擊跳轉(zhuǎn)鏈接
?????*?
?????*/
????public?class?ViewButton?extends?Button?{
????????private?String?type;
????????private?String?url;
?????
????????public?String?getType()?{
????????????return?type;
????????}
?????
????????public?void?setType(String?type)?{
????????????this.type?=?type;
????????}
?????
????????public?String?getUrl()?{
????????????return?url;
????????}
?????
????????public?void?setUrl(String?url)?{
????????????this.url?=?url;
????????}
????}

/**

* Le bouton de type de clic est similaire au type d'entrée = 'bouton' Spécifiez la clé pour traiter l'entreprise correspondante en fonction de la clé capturée

*

.*/

public class ClickButton extends Button {

type de cha?ne privée?;

clé de cha?ne privée?;

cha?ne publique getType() {

type de retour?;

}

public void setType(String type) {

this.type = type;

}

public String getKey() {

return key;

}

public void setKey(String key) {

this.key = key;

}

}

3 Créer un bouton qui correspond au type. Pour parler franchement, cela signifie créer un conteneur de menu principal

/**

* Bouton de type composé

*

*/

public class ComplexButton extends Button {

bouton privé[ ] sub_button;

bouton public[] getSub_button() {

return sub_button;

}

public void setSub_button( Button[] sub_button) {

this.sub_button = sub_button;

}

}

4 Créez une classe de menu pour contenir trois menus principaux

/**

*Menu

*/

public class Menu {

bouton privé[] bouton;

bouton public[] getButton() {

bouton de retour?;

}

public void setButton(Bouton Bouton[]) {

this.button = bouton;

}

}

5 Créez le jeton de classe d'informations d'identification d'appel pour préparer l'exécution de la méthode principale pour appeler l'interface Tencent

/**

*Bon d'achat

*

*/

public class Token {

//Identifiant d'accès à l'interface

private String accessToken;

// Période de validité des informations d'identification, unité?: secondes

private int expiresIn ;

public String getAccessToken() {

return accessToken;

}

public void setAccessToken(String accessToken) {

this .accessToken = accessToken;

}

public int getExpiresIn() {

return expiresIn;

}

public void setExpiresIn( int expiresIn) {

this.expiresIn = expiresIn;

}

}

Je décris uniquement la classe dans le code suivant. Voir les commentaires pour les fonctions de code spécifiques.

6 Préparez-vous à appeler l'interface Tencent

(1) Créez une classe d'outils commune

/**

*Outils généraux

*

*/

classe publique CommonUtil {

journal de l'enregistreur statique privé = LoggerFactory.getLogger(CommonUtil.class);

/**

* Obtenir les informations d'identification d'accès à l'interface

*

* Informations d'identification @param appid

* Clé @param appsecret

* @return

*/

jeton statique public getToken (String appid, String appsecret ) {

// Acquisition d'informations d'identification (GET)

String token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET ";

Token token = null;

String requestUrl = token_url.replace("APPID", appid).replace("APPSECRET", appsecret);

// Lancer une requête GET pour obtenir les informations d'identification

JSONObject jsonObject = httpsRequest(requestUrl, "GET", null);

if (null != jsonObject) {

try {

token = new Token();

token.setAccessToken(jsonObject.getString("access_token"));

token.setExpiresIn(jsonObject.getInt("expires_in") );

} catch (JSONException e) {

// échec de l'obtention du jeton

token = null;

}

>

jeton de retour?;

}

/**

* Envoyer la requête https

*

* @param requestUrl adresse de requête

* @param requestMethod méthode de requête (GET, POST)

* @param outputStr données soumises

* @return JSONObject (obtenir la valeur d'attribut de l'objet json via JSONObject.get(key))

*/

public static JSONObject httpsRequest(String requestUrl, String requestMethod, String outputStr ) {

JSONObject jsonObject = null;

try {

// Créez un objet SSLContext et initialisez-le avec le gestionnaire de confiance que nous avons spécifié

TrustManager[ ] tm = { new MyX509TrustManager() };

SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");

sslContext.init(null, tm, new java.security .SecureRandom( ));

// Récupère l'objet SSLSocketFactory à partir de l'objet SSLContext ci-dessus

SSLSocketFactory ssf = sslContext.getSocketFactory();

URL url = new URL( requestUrl);

HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

conn.setSSLSocketFactory(ssf);

conn.setDoOutput(true);

conn.setDoInput (true);

conn.setUseCaches(false);

// Définir la méthode de requête (GET/POST)

conn.setRequestMethod(requestMethod);

// écrit des données dans le flux de sortie lorsque outputStr n'est pas nul

if (null != outputStr) {

OutputStream outputStream = conn.getOutputStream();

// Faites attention au format d'encodage

outputStream.write(outputStr.getBytes("UTF-8"));

outputStream.close();

}

// Lire le contenu renvoyé à partir du flux d'entrée

InputStream inputStream = conn.getInputStream();

InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8" );

BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String str = null;

StringBuffer buffer = new StringBuffer();

while ( (str = bufferedReader. readLine()) != null) {

buffer.append(str);

}

// Libérer les ressources

bufferedReader.close() ;

inputStreamReader.close();

inputStream.close();

inputStream = null;

conn.disconnect( );

jsonObject = JSONObject.fromObject(buffer.toString());

} catch (ConnectException ce) {

log.error("Délai d'expiration de la connexion?: {} ", ce);

} catch (Exception e) {

log.error("https request exception: {}", e);

}

return jsonObject ;

}

}

(2) Créer un gestionnaire de confiance

package com.test.util;

importer java.security.cert.CertificateException;

importer java.security.cert.X509Certificate;

importer javax.net.ssl.X509TrustManager;

/**

*Gestionnaire de confiance

*

*/

classe publique implémentée par MyX509TrustManager > }

// Vérifier le certificat c?té serveur

public void checkServerTrusted (cha?ne X509Certificate[], String authType) lance CertificateException {

??>

// Renvoie un tableau de certificats X509 de confiance

public 7 Après avoir terminé le travail ci-dessus, vous pouvez créer un menu personnalisé. Créez une classe de gestion de menu personnalisée. Attribuez appId et appSecret et exécutez la méthode principale, c'est fait.

package com.test.menu;

importer org.slf4j.Logger;

importer org.slf4j.LoggerFactory;

importer net.sf. json.JSONObject;

importer com.test.bean.Button;

importer com.test.bean.ComplexButton;

importer com.test.bean.Menu;

importer com.test.bean.Token;

importer com.test.bean.ViewButton;

importer com.test.util.CommonUtil;

/**

*Cours de gestionnaire de menus

*

*/

classe publique MenuManager {

journal de l'enregistreur statique privé = LoggerFactory.getLogger(MenuManager.class);

/**

* Définir la structure du menu

* @return

*/

Menu statique privé getMenu() {

//Définir le sous-menu

ViewButton btn1 = new ViewButton();

btn1.setName( " Sous-menu 1");

btn1.setType("view");

btn1.setUrl("http://www.baidu.com");

ViewButton btn2 = new ViewButton();

btn2.setName("Submenu 2");

btn2.setType("view");

btn2.setUrl ("http ://www.baidu.com");

ViewButton btn3 = new ViewButton();

btn3.setName("Submenu 3");

btn3.setType ("vue");

btn3.setUrl("http://www.baidu.com");

ViewButton btn4 = new ViewButton();

btn4 .setName("Sous-menu 4");

btn4.setType("view");

btn4.setUrl("http://www.baidu.com" );

ComplexButton mainBtn1 = new ComplexButton();

mainBtn1.setName("Menu principal 1");

mainBtn1.setSub_button(new Button[] { btn1, btn2});/ /WeChat stipule jusqu'à cinq sous-menus

ComplexButton mainBtn2 = new ComplexButton();

mainBtn2.setName("Main Menu 2");

mainBtn2 .setSub_button(new Button [] { btn3});

ComplexButton mainBtn3 = new ComplexButton();

mainBtn3.setName("Menu principal 3");

mainBtn3 .setSub_button(nouveau bouton [] {btn4});

Menu menu = new Menu();

menu.setButton(new Button[] { mainBtn1, mainBtn2, mainBtn3 });

return menu;

}

public static void main(String[] args) {

// Le seul identifiant pour le compte public

1


String appId = "";

//Clé de certificat unique du compte public

String appSecret = "";

// Appelez l'interface pour obtenir les identifiants

Token token = CommonUtil.getToken(appId, appSecret);

if (null != token) {

// Créer un menu

boolean result = createMenu(getMenu(), token.getAccessToken());

// Juger le résultat de la création du menu

if (result )

log.info("Menu créé avec succès!");

else

log.info("échec de la création du menu!");

}

}

/**

* Créer un menu

*

* @param menu instance de menu

* @param accessToken identifiant

* @return true success faux échoué

*/

public static boolean createMenu(Menu menu, String accessToken) {

boolean result = false ;

String menu_create_url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN";

String url = menu_create_url.replace(" ACCESS_TOKEN", accessToken);

// Convertit l'objet menu en cha?ne json

String jsonMenu = JSONObject.fromObject(menu).toString();

// Lancer une requête POST pour créer un menu

JSONObject jsonObject = CommonUtil.httpsRequest(url, "POST", jsonMenu);

if (null != jsonObject) {

int errorCode = jsonObject.getInt("errcode");

String errorMsg = jsonObject.getString("errmsg");

if (0 == errorCode) {

result = true ;

} else {

result = false;

log.error("échec de la création du menu errcode?:{} errmsg:{}", errorCode, errorMsg);

}

}

résultat de retour;

}

}

Ce 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Développement PHP WeChat?: Comment implémenter le cryptage et le décryptage des messages Développement PHP WeChat?: Comment implémenter le cryptage et le décryptage des messages May 13, 2023 am 11:40 AM

PHP est un langage de script open source largement utilisé dans le développement Web et la programmation c?té serveur, notamment dans le développement de WeChat. Aujourd'hui, de plus en plus d'entreprises et de développeurs commencent à utiliser PHP pour le développement de WeChat, car il est devenu un langage de développement vraiment facile à apprendre et à utiliser. Dans le développement de WeChat, le cryptage et le décryptage des messages sont une question très importante car ils impliquent la sécurité des données. Pour les messages sans méthodes de cryptage et de décryptage, les pirates peuvent facilement obtenir les données, ce qui constitue une menace pour les utilisateurs.

Développement PHP WeChat?: Comment implémenter la fonction de vote Développement PHP WeChat?: Comment implémenter la fonction de vote May 14, 2023 am 11:21 AM

Dans le développement des comptes publics WeChat, la fonction de vote est souvent utilisée. La fonction de vote est un excellent moyen pour les utilisateurs de participer rapidement aux interactions, et c'est également un outil important pour organiser des événements et recueillir des opinions. Cet article vous présentera comment utiliser PHP pour implémenter la fonction de vote WeChat. Obtenez l'autorisation du compte officiel WeChat. Tout d'abord, vous devez obtenir l'autorisation du compte officiel WeChat. Sur la plateforme publique WeChat, vous devez configurer l'adresse API du compte public WeChat, le compte officiel et le token correspondant au compte public. Dans le processus de développement en langage PHP, nous devons utiliser le PH officiellement fourni par WeChat

Utiliser PHP pour développer des outils de messagerie de masse WeChat Utiliser PHP pour développer des outils de messagerie de masse WeChat May 13, 2023 pm 05:00 PM

Avec la popularité de WeChat, de plus en plus d’entreprises commencent à l’utiliser comme outil marketing. La fonction de messagerie de groupe WeChat est l'un des moyens importants permettant aux entreprises de mener du marketing WeChat. Cependant, si vous comptez uniquement sur l’envoi manuel, il s’agit d’une tache extrêmement longue et laborieuse pour les spécialistes du marketing. Il est donc particulièrement important de développer un outil de messagerie de masse WeChat. Cet article présentera comment utiliser PHP pour développer des outils d'envoi de masse WeChat. 1. Travail de préparation Pour développer les outils d'envoi de masse WeChat, nous devons ma?triser les points techniques suivants : Connaissance de base du développement de la plateforme publique PHP WeChat Outils de développement : Sub

Développement PHP WeChat?: Comment implémenter la gestion des fenêtres de discussion du service client Développement PHP WeChat?: Comment implémenter la gestion des fenêtres de discussion du service client May 13, 2023 pm 05:51 PM

WeChat est actuellement l'une des plateformes sociales comptant la plus grande base d'utilisateurs au monde. Avec la popularité de l'Internet mobile, de plus en plus d'entreprises commencent à prendre conscience de l'importance du marketing WeChat. Lors du marketing WeChat, le service client est un élément crucial. Afin de mieux gérer la fenêtre de discussion du service client, nous pouvons utiliser le langage PHP pour le développement de WeChat. 1. Introduction au développement PHP WeChat PHP est un langage de script open source c?té serveur largement utilisé dans le domaine du développement Web. En combinaison avec l'interface de développement fournie par la plateforme publique WeChat, nous pouvons utiliser le langage PHP pour mener WeChat

Développement PHP WeChat?: Comment implémenter la gestion des balises utilisateur Développement PHP WeChat?: Comment implémenter la gestion des balises utilisateur May 13, 2023 pm 04:31 PM

Dans le développement des comptes publics WeChat, la gestion des balises utilisateur est une fonction très importante, qui permet aux développeurs de mieux comprendre et gérer leurs utilisateurs. Cet article explique comment utiliser PHP pour implémenter la fonction de gestion des balises utilisateur WeChat. 1. Obtenez l'openid de l'utilisateur WeChat Avant d'utiliser la fonction de gestion des balises utilisateur WeChat, nous devons d'abord obtenir l'openid de l'utilisateur. Dans le développement des comptes publics WeChat, il est courant d'obtenir l'openid via l'autorisation de l'utilisateur. Une fois l'autorisation de l'utilisateur terminée, nous pouvons obtenir l'utilisateur via le code suivant

Développement PHP WeChat?: Comment implémenter des enregistrements d'envoi de messages de groupe Développement PHP WeChat?: Comment implémenter des enregistrements d'envoi de messages de groupe May 13, 2023 pm 04:31 PM

Alors que WeChat devient un outil de communication de plus en plus important dans la vie des gens, sa fonction de messagerie agile est rapidement privilégiée par un grand nombre d'entreprises et de particuliers. Pour les entreprises, développer WeChat en une plate-forme marketing est devenu une tendance, et l'importance du développement de WeChat est progressivement devenue plus importante. Parmi eux, la fonction d'envoi de groupe est encore plus largement utilisée. Alors, en tant que programmeur PHP, comment implémenter des enregistrements d'envoi de messages de groupe ? Ce qui suit vous donnera une brève introduction. 1. Comprendre les connaissances en développement liées aux comptes publics WeChat. Avant de comprendre comment mettre en ?uvre des enregistrements d'envoi de messages de groupe, je

étapes pour mettre en ?uvre le développement du compte public WeChat à l'aide de PHP étapes pour mettre en ?uvre le développement du compte public WeChat à l'aide de PHP Jun 27, 2023 pm 12:26 PM

Comment utiliser PHP pour développer des comptes publics WeChat Les comptes publics WeChat sont devenus un canal important de promotion et d'interaction pour de nombreuses entreprises, et PHP, en tant que langage Web couramment utilisé, peut également être utilisé pour développer des comptes publics WeChat. Cet article présentera les étapes spécifiques pour utiliser PHP pour développer des comptes publics WeChat. étape 1 : Obtenez le compte développeur du compte officiel WeChat. Avant de commencer le développement du compte officiel WeChat, vous devez demander un compte développeur du compte officiel WeChat. Pour le processus d'inscription spécifique, veuillez vous référer au site officiel de la plateforme publique WeChat

Comment utiliser PHP pour le développement WeChat ? Comment utiliser PHP pour le développement WeChat ? May 21, 2023 am 08:37 AM

Avec le développement d’Internet et des appareils mobiles intelligents, WeChat est devenu un élément indispensable dans les domaines social et marketing. Dans cette ère de plus en plus numérique, la manière d'utiliser PHP pour le développement de WeChat est devenue la préoccupation de nombreux développeurs. Cet article présente principalement les points de connaissances pertinents sur la fa?on d'utiliser PHP pour le développement WeChat, ainsi que certains conseils et précautions. 1. Préparation de l'environnement de développement Avant de développer WeChat, vous devez d'abord préparer l'environnement de développement correspondant. Plus précisément, vous devez installer l'environnement d'exploitation PHP et la plateforme publique WeChat

See all articles