위챗 공중 플랫폼 개발: 진급편(위챗 내장 브라우저는 위챗 친구 실천에 주목)


  
  
  
  
  1. //    
  2.     
  3. function WeiXinAddContact(wxid)   
  4. {   
  5.     if (typeof WeixinJSBridge == 'undefined'return false;   
  6.         WeixinJSBridge.invoke('addContact', {   
  7.             webtype: '1',   
  8.             username: wxid   
  9.         }, function(d) {   
  10.             //  d.err_msg ,d err_desc   
  11.             // add_contact:cancel     
  12.             // add_contact:fail     
  13.             // add_contact:ok     
  14.             // add_contact:added     
  15.            // WeixinJSBridge.log(d.err_msg);   
  16.                
  17.         });   
  18. };   
  19. //    
  20. function WeiXinShareBtn() {   
  21.    if (typeof WeixinJSBridge == "undefined") {   
  22.         alert(" xxxx");   
  23.     } else {   
  24.         WeixinJSBridge.invoke('shareTimeline', {   
  25.             "title""xxx",   
  26.             "link""http://www.xxx.com",   
  27.             "desc"" xxx",   
  28.             "img_url""http://www.xxx.com/xxx.png"   
  29.         });   
  30.     }   
  31. }   
  • 위의 코드는 현재 위챗에 브라우저를 내장해야만 효과가 있다
  • WeiXinAddContact의 위챗 wxid는 위챗의 원시 id가 필요합니다. 왜요?예를 들어 미식가의 위챗 id:meishixing, 원시 id:gh_6cc3b345c2f2는 아이폰 버전의 위챗에서 두 가지 id를 사용하면 정상적인 관심을 완성할 수 있지만android 버전의 위챗meishixing에서는 되돌아갈 수 없습니다. 계속 "관심 중..."에 머물러 있습니다.id:gh_로 수정6cc3b345c2f2, 정상입니다.이 문제는 오랫동안 찾아왔습니다..
  • 사용자가 페이지를 열 때 관심 대화상자를 직접 꺼낼 수 있기를 원한다면
  • 
      
      
      
      
    1. //init   
    2. function r(f){(typeof WeixinJSBridge == 'undefined'||(typeof WeixinJSBridge.invoke == 'undefined'))?setTimeout('r('+f+')',200):f()}   
    3. r(function(){   
    4.    WeiXinAddContact("gh_6cc3b345c2f2");   
    5. });  

    위챗 내장 브라우저에는 WeixinJSBridge가 있지만 일정한 불러오는 시간이 필요합니다. WeixinJSBridge가 생기면 WeixinJSBridge가 있습니다.invoke도 반드시 있는 것은 아니다. r라는 함수를 모두 보았다...(ps: 열 때마다 튕겨서 죄송합니다. 쿠키를 통해 제어해야 합니다. WeiXinAddContact 리셋 상태로 쿠키를 설정하고 쿠키를 통해 init를 실행할지 여부를 판단하는 r)

    좋은 웹페이지 즐겨찾기