마이크로 채널의 재실행 요구 후 애플릿 토큰 값에 액세스 할 수 있도록

토큰 값을 획득 한 후 다시 실행 요구를 보장 생각 코드가 전역 함수의 캡슐화는이 토큰 값을 얻을 때까지, 다음 실행되는 작은 프로그램의 첫 번째 페이지의 토큰이 실행 요구 값을 얻을 이동 재귀 app.js

  • 디렉토리 구조

  

 

  • constant.js

  

 

 

  •  app.js
//은 app.js 
'./utils/constant'에서 수입 상수를 ;
base을하자 = CONSTANT.API_URL을;
앱({
    onLaunch : 기능 (옵션) {
         
    }
    
    GlobalData에 {
        사용자 정보 : 널 (null) ,
    },
    // 전용 값 토큰 방법에서의 성공을 얻기 위해 대기 후 실행 
    {verifyToken (성공)
        하자 토큰 = wx.getStorageSync (CONSTANT.TOKEN);
        경우 (토큰) {
            현재하자 = ;
            CONSOLE.LOG ( "토큰 존재 확인 .." );
            wx.request ({
                URL : base을 + "/ API / 사용자", // 단지 작은 인터페이스 
                방법, : "GET" ,
                헤더: {
                    "토큰" : 토큰,
                     "버전" : CONSTANT.MINI_VERSION,
                },
                성공 : 기능 (고해상도) {
                    을 console.log는 ( "결과를 확인 :" );
                    CONSOLE.LOG (res.data);
                    경우 (21,020,000 === res.data.status) {
                        성공 && 성공 ();
                        // 반환; 
                    } 다른 {
                        토큰 = ;
                        wx.removeStorageSync (CONSTANT.TOKEN);
                        에서는 setTimeout (() => {
                            current.verifyToken (성공);
                        }, 300 );
                    }
                },
                실패 (ERR) {
                    을 console.log ( "확인이 ... 실패" );
                    CONSOLE.LOG (ERR);
                    토큰 = ;
                    wx.removeStorageSync (CONSTANT.TOKEN);
                    에서는 setTimeout (() => {
                        current.verifyToken (성공);
                    }, 300 );
                }
            });
        } 다른 {
            CONSOLE.LOG ( "재 권취 .. 토큰 되 존재하지 않는 토큰" );
            wx.login ({
                성공 : 고해상도 => {
                    을 console.log ( '코드' , res.code);
                    wx.request ({
                        URL : base을 + "/ API / 사용자 / 로그인" ,
                        방법 : "GET" ,
                        헤더: {
                            "토큰": "" ,
                             "버전" : CONSTANT.MINI_VERSION,
                        },
                        데이터 : {
                            코드 : res.code,
                        },
                        성공 : 기능 (고해상도) {
                            CONSOLE.LOG는 ( "로그인 결과 성공" );
                            CONSOLE.LOG (res.data);
                            wx.removeStorageSync (CONSTANT.TOKEN);
                            경우 (21,020,000 === res.data.status) {
                                wx.setStorageSync (CONSTANT.TOKEN, res.data.data);
                                CONSOLE.LOG ( 'res.data.data' , res.data.data);
                                토큰 = res.data.data;
                                성공 && 성공 ();
                            }
                        }
                    });
                },
                실패 : 함수 (ERR)를 {
                    을 console.log ( "로그인 실패" );
                    CONSOLE.LOG (ERR);
                }
            });
        } 
    }
})
  • 인용문

  작은 프로그램 실행의 첫 페이지에서

CONST 앱 getApp = ();
온로드 : 기능 (옵션) {
        그하자 = ;
        app.verifyToken은 ( 함수 () {
             // 함수는 토큰을 얻은 후에 실행될 
        });

    },

이 향상 될 수있는 다음 Fucai, 운이 충분 작은 조언을주고 싶어, 볼 수

 

  

 

추천

출처www.cnblogs.com/mei1234/p/12592378.html