위챗 애플릿 위챗 개발 WeChat 개인화 메뉴 개발 모델에 대한 자세한 설명

WeChat 개인화 메뉴 개발 모델에 대한 자세한 설명

Mar 22, 2017 pm 04:15 PM
위챗 개발

지난주에 위챗 맞춤 메뉴 개발 작업을 진행했는데 전체적으로 우울하네요.

먼저 몇 가지 인터페이스를 분석해 보겠습니다.

1: 쿼리 인터페이스는 두 개로 나뉘며, 하나는 개발 모드의 일반 쿼리 인터페이스로, 전달한 내용만 쿼리합니다. 인터페이스로 생성된 메뉴와 개인화된 메뉴(공식 계정의 다양한 사용자 그룹이 서로 다른 맞춤형 메뉴를 볼 수 있도록 허용), 그러나 WeChat 관리 플랫폼을 통해 추가한 메뉴는 얻을 수 없습니다. 모든 메뉴를 조회할 수 있는 인터페이스도 있는데 이 인터페이스는 플랫폼에 먼저 메뉴를 추가한 다음 백그라운드에서 이 인터페이스를 호출하면 메뉴를 가져올 수 있지만 이를 호출하면 json이 반환됩니다. 추가할 때와 인터페이스가 다릅니다. 형식이 다르고(즉, 그대로 json으로 다시 보내고 위챗으로 보내서 메뉴를 생성하면 생성할 수 없습니다.) 메뉴도 종류가 많습니다. WeChat 플랫폼에 추가되고 반환되는 json의 유형마다 형식이 모두 다르고 파싱하기가 매우 번거롭기 때문에 개인적으로 개발자 모드를 선택했기 때문에 일반 쿼리 인터페이스를 사용하는 것이 더 좋다고 생각합니다.

2: 인터페이스 생성; 이름에서 알 수 있듯이 이 인터페이스의 기능은 인터페이스를 생성하는 것이지만 이 인터페이스는 원래 기반으로 생성되지 않고 매번 모든 메뉴를 다시 생성합니다. 나머지 메뉴는 고정형식의 json으로 처리한 후 위챗으로 전송하기 때문에, 개별적으로 삭제하고 싶다면 삭제하고 싶은 메뉴를 삭제하고 나머지는 json으로 변경하면 됩니다. 수정하려는 경우에도 마찬가지입니다. 변경해야 하는 데이터를 교체한 다음 전체 메뉴를 json으로 변환하여 WeChat으로 보냅니다.

3: 삭제 인터페이스; 이 인터페이스는 모든 메뉴를 삭제하는 데 사용되지만, 호출한 후에는 다음 날까지 효과를 볼 수 없는 것 같고, 이 시간 동안에는 효과가 나타나지 않습니다. 당신은 여전히 ​​이전에 생성한 메뉴를 쿼리할 수 있습니다.

내 임무는 메뉴의 추가, 삭제, 수정 및 쿼리를 백엔드 관리에 통합하는 것입니다. 여기서는 WeChat 인터페이스에 대한 요청이 json을 반환하는 방법에 대해서만 설명하겠습니다. 내 접근 방식은 이 문자열을 구문 분석하고 특정 규칙에 따라 개체에 작성한 후 목록에 추가하고, 삭제하거나 수정할 때 목록을 WeChat에서 요구하는 형식으로 다시 json으로 변환하는 것입니다. 메뉴를 생성하려면 WeChat 인터페이스를 호출하세요. (추가, 삭제, 수정을 위해서는 생성 인터페이스가 호출됩니다.) 객체 부분의 내 속성은 id(쉬운 작업을 위해 목록의 아래 첨자를 id로 설정), name(메뉴 이름), type(메뉴 유형, WeChat 사용자 정의 메뉴가 10가지 유형이 있습니다), parent(상위 메뉴 이름)입니다. , SecendLvMenu(보조 메뉴 개수), url(링크 메뉴에 필요), key(푸시 기능 호출), mediaid(

자료 호출 시 madia_id를 설정해야 함), sort(정렬 번호).

다음은 json을 목록으로 변환하는 코드입니다. 여기의 json 패키지는 사용하기 매우 쉬운 Alibaba의 fastjson 패키지입니다.

public static List {

목록 menulist=new ArrayList();

obj=obj.getJSONObject("menu");

JSONObject a=new JSONObject( );

int num=0;

if(obj!=null){

//버튼의 json 배열 가져오기

JSONArray array= obj.getJSONArray(" 버튼");

if(array!=null){

for(int i=0;i

a= array.getJSONObject(i);

//유형 설명 없음은 2차 메뉴 유형이 있는 1차 메뉴입니다

if(a.get("type ")==null){

weixinMenu 메뉴=new weixinMenu();

menu.setId(num);

menu.setSort(num);

num++;

menu.setName(a.getString("name"));//아래 첨자를 설정하고 정렬 번호를 설정하여 목록에 저장합니다

//Get 1차 메뉴 아래 2차 메뉴

JSONArray sub=a.getJSONArray("sub_button");

//2차 메뉴 개수는 상한이므로. 5이면 숫자를 추가하면 판단하기 쉽습니다

menu.setSecendLvMenuNum(sub.size());

menulist.add(menu);

JSONObject b =new JSONObject();

for(int j =0;j

weixinMenu menu2=new weixinMenu();

b=sub.getJSONObject(j);

menu2 .setId(num);

menu2.setSort(num);

num++;

menu2 .setName(b.getString("name"));

menu2.setParent(a.getString("name"));//상위 메뉴는 지금 막 1단계 메뉴의 이름입니다

menu2.setType(b.getString("type"));

menu2.setUrl(b.getString("url"));

menu2.setKey(b .getString("key"));

menu2.setMediaId(b .getString("media_id"));

menulist.add(menu2);

}

}else{//그렇지 않으면 2차 메뉴가 없는 1차 메뉴입니다. 클릭하여 직접 점프하거나 해당 이벤트를 트리거하세요

weixinMenu menu=new weixinMenu();

menu.setId(num);

menu.setSort(num);

num++;

menu.setName(a.getString("name") );

menu.setParent(null);

menu.setSecendLvMenuNum( 0);

menu.setType(a.getString("type"));

menu.setUrl(a.getString("url"));

menu.setKey(a.getString("key"));

menu.setMediaId(a.getString("media_id"));

menulist.add(menu);

}

}

}

}

메뉴 목록 반환;

}

그런 다음 목록을 weixinJson으로 변환합니다. WeChat의 json을 업로드하려면 버튼 부분만 필요합니다.

public static JSONObject listToWxJson(List list){

JSONArray array=new JSONArray();

weixinMenu 메뉴=new weixinMenu();

int size=list.size();

for(int i=0;i

menu=list.get(i);

//2차 메뉴도 없고 상위 메뉴도 없으면 2차 유형의 1차 메뉴도 없습니다

if (menu.getSecendLvMenuNum( )==0&&menu.getParent()==null){

Map map=new HashMap();

map. put("name" , menu.getName());

map.put("type", menu.getType());

if(menu.getUrl()!=null ){

map.put("url", menu.getUrl());

}

if(menu.getKey()!=null){

map .put("key", menu.getKey());

}

if(menu.getMediaId()!=null){

map.put(" media_id", menu.getMediaId());

}

array.add(map);

}else if(menu.getParent() ==null){ 상위 항목이 없는 메뉴는 두 번째 레벨이 있는 첫 번째 레벨 메뉴입니다.

JSONObject obj=new JSONObject();

JSONArray sub=new JSONArray();

obj.put( "name",menu.getName());

weixinMenu submenu=new weixinMenu();

//전체 목록을 반복하고 이름 일치 사용 첫 번째 수준 메뉴에서 두 번째 수준 메뉴를 찾으려면

for(int j=0;j

submenu=list.get(j);

Map map=null ;

if((menu.getName()).equals(submenu.getParent())){

map=new HashMap< ;String, Object>();

map.put("name", submenu.getName());

map.put("type", submenu.getType());

if(submenu.getUrl() !=null){

map.put("url", submenu.getUrl());

}

if(submenu.getKey()!=null) {

map.put("key", submenu.getKey());

}

if( submenu.getMediaId()!=null){

map.put("media_id", submenu.getMediaId());

}

sub.add(map) ;

}

}

obj.put("sub_button",sub);

array.add(obj);

}

}

Map map=new HashMap();

map.put("button",array);

//마지막으로 지도를 json으로 직접 변환

return (JSONObject)JSONObject.toJSON(map);

}

이 세트는 기본적으로 고정되어 있습니다. , WeChat 메뉴를 목록으로 구문 분석할 수 있습니다. 작업이 완료된 후 json을 변환하면 후속 작업이 훨씬 쉬워집니다.

위 내용은 WeChat 개인화 메뉴 개발 모델에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP WeChat 개발: 메시지 암호화 및 암호 해독 구현 방법 PHP WeChat 개발: 메시지 암호화 및 암호 해독 구현 방법 May 13, 2023 am 11:40 AM

PHP는 웹 개발 및 서버 측 프로그래밍, 특히 WeChat 개발에 널리 사용되는 오픈 소스 스크립팅 언어입니다. 오늘날 점점 더 많은 회사와 개발자가 WeChat 개발에 PHP를 사용하기 시작하고 있습니다. PHP는 배우기 쉽고 사용하기 쉬운 개발 언어이기 때문입니다. WeChat 개발에서 메시지 암호화 및 복호화는 데이터 보안과 관련되어 있기 때문에 매우 중요한 문제입니다. 암호화 및 복호화 방법이 없는 메시지의 경우 해커가 쉽게 데이터를 획득할 수 있어 사용자에게 위협이 될 수 있습니다.

PHP WeChat 개발: 고객 서비스 채팅 창 관리 구현 방법 PHP WeChat 개발: 고객 서비스 채팅 창 관리 구현 방법 May 13, 2023 pm 05:51 PM

WeChat은 현재 세계에서 가장 큰 사용자 기반을 보유한 소셜 플랫폼 중 하나입니다. 모바일 인터넷의 인기로 인해 점점 더 많은 기업들이 WeChat 마케팅의 중요성을 깨닫기 시작했습니다. WeChat 마케팅을 수행할 때 고객 서비스는 중요한 부분입니다. 고객 서비스 채팅 창을 더 잘 관리하기 위해 WeChat 개발에 PHP 언어를 사용할 수 있습니다. 1. PHP 소개 WeChat 개발 PHP는 웹 개발 분야에서 널리 사용되는 오픈 소스 서버 측 스크립팅 언어입니다. WeChat 공개 플랫폼에서 제공하는 개발 인터페이스와 결합하여 PHP 언어를 사용하여 WeChat을 수행할 수 있습니다.

PHP WeChat 개발: 사용자 태그 관리 구현 방법 PHP WeChat 개발: 사용자 태그 관리 구현 방법 May 13, 2023 pm 04:31 PM

WeChat 공개 계정 개발에서 사용자 태그 관리는 개발자가 사용자를 더 잘 이해하고 관리할 수 있도록 하는 매우 중요한 기능입니다. 이 기사에서는 PHP를 사용하여 WeChat 사용자 태그 관리 기능을 구현하는 방법을 소개합니다. 1. WeChat 사용자의 openid를 획득합니다. WeChat 사용자 태그 관리 기능을 사용하기 전에 먼저 사용자의 openid를 획득해야 합니다. WeChat 공개 계정을 개발할 때 사용자 인증을 통해 openid를 얻는 것이 일반적인 관행입니다. 사용자 인증이 완료되면 다음 코드를 통해 사용자를 얻을 수 있습니다.

PHP를 사용하여 WeChat 대량 메시징 도구 개발 PHP를 사용하여 WeChat 대량 메시징 도구 개발 May 13, 2023 pm 05:00 PM

WeChat의 인기로 인해 점점 더 많은 기업이 WeChat을 마케팅 도구로 사용하기 시작했습니다. WeChat 그룹 메시징 기능은 기업이 WeChat 마케팅을 수행하는 중요한 수단 중 하나입니다. 그러나 수동 전송에만 의존한다면 마케팅 담당자에게는 매우 시간이 많이 걸리고 힘든 작업입니다. 따라서 WeChat 대량 메시징 도구를 개발하는 것이 특히 중요합니다. 이 기사에서는 PHP를 사용하여 WeChat 대량 메시징 도구를 개발하는 방법을 소개합니다. 1. 준비 작업 WeChat 대량 메시징 도구를 개발하려면 다음 기술 사항을 숙지해야 합니다. PHP WeChat 공개 플랫폼 개발에 대한 기본 지식 개발 도구: Sub

WeChat 개발에 PHP를 사용하는 방법은 무엇입니까? WeChat 개발에 PHP를 사용하는 방법은 무엇입니까? May 21, 2023 am 08:37 AM

인터넷과 모바일 스마트 기기의 발전으로 WeChat은 소셜 및 마케팅 분야에서 없어서는 안될 부분이 되었습니다. 점점 더 디지털화되는 시대에 WeChat 개발에 PHP를 사용하는 방법은 많은 개발자의 초점이 되었습니다. 이 기사에서는 주로 WeChat 개발에 PHP를 사용하는 방법에 대한 관련 지식 포인트와 일부 팁 및 주의 사항을 소개합니다. 1. 개발 환경 준비 WeChat을 개발하기 전에 먼저 해당 개발 환경을 준비해야 합니다. 특히, PHP 운영 환경과 WeChat 공개 플랫폼을 설치해야 합니다.

ThinkPHP6 WeChat 개발 가이드: WeChat 공개 계정 애플리케이션을 빠르게 구축 ThinkPHP6 WeChat 개발 가이드: WeChat 공개 계정 애플리케이션을 빠르게 구축 Aug 26, 2023 pm 11:55 PM

ThinkPHP6 WeChat 개발 가이드: WeChat 공개 계정 애플리케이션을 신속하게 구축 소개: 중요한 소셜 미디어 플랫폼인 WeChat 공개 계정은 개인과 기업에 마케팅 및 정보 전파에 있어 큰 기회를 제공합니다. 이 기사에서는 ThinkPHP6을 사용하여 WeChat 공개 계정 애플리케이션을 빠르게 구축하는 방법을 소개하고 일반적으로 사용되는 몇 가지 코드 예제를 제공합니다. 환경 준비 개발을 시작하기 전에 먼저 다음 환경을 준비해야 합니다. PHP7 이상 버전 ThinkPHP6 프레임워크 WeChat 공개 계정

PHP WeChat 개발: 그룹 메시지 전송 기록을 구현하는 방법 PHP WeChat 개발: 그룹 메시지 전송 기록을 구현하는 방법 May 13, 2023 pm 04:31 PM

WeChat이 사람들의 삶에서 점점 더 중요한 커뮤니케이션 도구가 되면서, WeChat의 민첩한 메시징 기능은 많은 기업과 개인의 선호를 빠르게 받고 있습니다. 기업의 경우 WeChat을 마케팅 플랫폼으로 개발하는 것이 하나의 추세가 되었으며 WeChat 개발의 중요성은 점차 더욱 부각되고 있습니다. 그 중 그룹 전송 기능이 더욱 널리 사용됩니다. 그렇다면 PHP 프로그래머로서 그룹 메시지 전송 기록을 어떻게 구현해야 할까요? 다음은 간략한 소개입니다. 1. WeChat 공개 계정과 관련된 개발 지식을 이해합니다. 그룹 메시지 전송 기록을 구현하는 방법을 이해합니다.

PHP WeChat 개발: 음성 인식 구현 방법 PHP WeChat 개발: 음성 인식 구현 방법 May 13, 2023 pm 09:31 PM

모바일 인터넷의 인기로 인해 점점 더 많은 사람들이 WeChat을 소셜 소프트웨어로 사용하고 있으며 WeChat 개방형 플랫폼은 개발자에게도 많은 기회를 제공합니다. 최근 인공지능 기술의 발전과 함께 음성인식 기술은 점차 모바일 단말기 개발에 있어서 대중적인 기술 중 하나로 자리잡고 있다. WeChat 개발에서 음성 인식을 구현하는 방법은 많은 개발자의 관심사가 되었습니다. 이 기사에서는 PHP를 사용하여 음성 인식 기능을 구현하는 WeChat 애플리케이션을 개발하는 방법을 소개합니다. 1. 음성인식의 원리 음성인식 구현 방법을 소개하기 전에 먼저 언어에 대한 이해를 해보자.

See all articles