토큰 값을 획득 한 후 다시 실행 요구를 보장 생각 코드가 전역 함수의 캡슐화는이 토큰 값을 얻을 때까지, 다음 실행되는 작은 프로그램의 첫 번째 페이지의 토큰이 실행 요구 값을 얻을 이동 재귀 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, 운이 충분 작은 조언을주고 싶어, 볼 수