사용자 정의 메뉴

이전 글:소재 관리 인터페이스우 리 는 임시 소 재 를 새로 늘 리 고 영구적 인 소 재 를 관리 하 는 인 터 페 이 스 를 실현 했다.이런 인터페이스의 실현 은 우리 로 하여 금 다양한 소식 을 사용자 에 게 전달 할 수 있 게 한다.이 절 에 소 개 된 내용 은 사용자 정의 메뉴 입 니 다.
1.사용자 정의 메뉴 소개
사용자 정의 메뉴 는 대중 번호 의 풍부 한 인터페이스 를 도와 사용자 가 대중 번호 의 기능 을 더욱 빨리 이해 하도록 할 수 있다.사용자 정의 메뉴 에 대해 다음 과 같은 몇 가지 내용 을 파악 해 야 합 니 다.
  • 사용자 정의 메뉴 는 최대 3 개의 1 급 메뉴 를 포함 하고 1 급 메뉴 마다 최대 5 개의 2 급 메뉴 를 포함한다.
  • 1 급 메뉴 는 한자 최대 4 개,2 급 메뉴 는 한자 최대 7 개 로 많이 나 오 는 부분 은'...'로 대체 된다.
  • 사용자 정의 메뉴 를 만 든 후 위 챗 클 라 이언 트 캐 시 로 인해 24 시간 동안 위 챗 클 라 이언 트 가 보 여 줍 니 다.테스트 시 공중 계 정 관심 을 취소 한 후 다시 관심 을 가 져 보면 창설 후의 효 과 를 볼 수 있다.
  • 더 많은 정보 보기 공식 문서:사용자 정의 메뉴 생 성 인터페이스
    2.사용자 정의 메뉴 만 들 기
    2.1 먼저 다음 작업 의 요청 주 소 를 나열 합 니 다.
    
    var api = {
      ...
      menu:{
        create:prefix+'/menu/create?', //access_token=ACCESS_TOKEN     
        get:prefix+'/menu/get?', //access_token=ACCESS_TOKE     ,GET  
        delete:prefix+'/menu/delete?', //access_token=ACCESS_TOKEN     ,GET  
        getInfo:prefix+'get_current_selfmenu_info?' //access_token=ACCESS_TOKEN            
      }
    }
    
    2.2 정의 createMenu 함수
    
    Wechat.prototype.createMenu = function(menu){
      var that = this;
      return new Promise(function(resolve,reject){
        that.fetchAccessToken().then(function(data){
          var url = api.menu.create + 'access_token=' + data.access_token;
          request({url:url,method:'POST',body:menu,json:true}).then(function(response){
            var _data = response.body;
            if(_data.errcode === '0'){
              resolve();
            }else{
              throw new Error('create menu failed!');
            }
          }).catch(function(err){
            reject(err);
          });
        });
      });
    }
    
    매개 변수 menu 는 외부 업무 층 에서 들 어 옵 니 다.관리 하기 편리 하도록 사용자 정의 메뉴 의 내용 을 menu.js 파일 에 따로 쓰 십시오.
    
    /*
     *        
     */
    'use strict'
    
    module.exports = {
      'button':[
      {
        'name':'  ',
        'type':'click',
        'key':'menu_click'
      },
      {
        'name':'  ',
        'sub_button':[
          {
            'name':'  ',
            'type':'view',
            'url':'music.163.com'
          },
          {
            'name':'  ',
            'type':'scancode_push',
            'key':'qr_scan'
          },
          {
            'name':'  ',
            'type':'scancode_waitmsg',
            'key':'qr_scan_wait'
          },
          {
            'name':'  ',
            'type':'pic_photo_or_album',
            'key':'pic_photo_album'
          }
        ]
      },
      {
        'name':'  ',
        'sub_button':[
          {
            'name':'  ',
            'type':'pic_weixin',
            'key':'pic_weixin'
          },
          {
            'name':'  ',
            'type':'location_select',
            'key':'location_select'
          }
        ]
      }]
    }
    
    
    안에 있 는 타 입 은 잠시 마음대로 썼 습 니 다.저 희 는 업무 층 weixin.js 에서 사용자 정의 메뉴 를 사용 합 니 다.
    
    wechatApi.deleteMenu().then(function(){
      return wechatApi.createMenu(menu);
    }).then(function(msg){
      console.log(msg);
    });
    
    보험 은 먼저 기 존의 메뉴 를 삭제 하고 자신의 새로운 메뉴 를 다시 만 드 는 것 이다.
    2.3 deleteMenu 함수 정의
    
    Wechat.prototype.deleteMenu = function(){
      var that = this;
      return new Promise(function(resolve,reject){
        that.fetchAccessToken().then(function(data){
          var url = api.menu.delete + 'access_token=' + data.access_token;
          request({url:url,json:true}).then(function(response){
            var _data = response.body;
            if(_data.errcode === '0'){
              resolve();
            }else{
              throw new Error('delete menu failed!');
            }
          }).catch(function(err){
            reject(err);
          });
        });
      });
    }
    
    테스트 를 해 보 았 습 니 다.끄 고 다시 관심 을 가 진 후 위 챗 테스트 번 호 는 사용자 정의 메뉴 가 바로 나타 나 지 않 았 습 니 다.잠시 기 다 려 야 합 니 다.
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기