Browse Source

fix:修复bug

lvkun996 3 years ago
parent
commit
a8f5f8a975
2 changed files with 34 additions and 4 deletions
  1. 2 0
      src/api/user.ts
  2. 32 4
      src/pages/index/index.tsx

+ 2 - 0
src/api/user.ts

@@ -22,6 +22,8 @@ export type getUserPhoneType = {
 
 export const getUserPhoneNumber = (params: getUserPhoneType) => {
     const {code, encryptedData, iv } = params
+    console.log(params);
+    
     return request({
         url: `/verify/bindPhoneNumberV3/${code}`,
         method: 'POST',

+ 32 - 4
src/pages/index/index.tsx

@@ -19,16 +19,45 @@ const Index: React.FC = () => {
 
   const [token, setToken] = useState<string>('')
 
-  useDidShow(() => {
+  const [ code, setCode ] = useState<string>('')
+   
+  useDidShow( async () => {
     setToken(Taro.getStorageSync('token'))
+    const r = await Taro.login()
+    console.log(r, 'codecodecodecode');
+    
+    setCode(r.code)
   })
+
+  const checkSession = () => {
+    return new Promise( resolve => {
+        Taro.checkSession({
+            success: async res => {
+              console.log('session_key 未过期,并且在本生命周期一直有效', res);
+                resolve(1)
+            },
+            fail: async res => {
+                
+              // session_key 已经失效,需要重新执行登录流程
+               const r =  await Taro.login() //重新登录
+               setCode(r.code)
+               resolve(0)
+            }
+          })
+    }).catch(e => e)
+}
   
   // 获取用户手机号
   const Getphonenumber = async (item: number ,e: any): Promise<void> => {
     
     Tip.loading('正在登录...')
-    const { code } = await Taro.login()
-    const data = await getUserPhoneNumber({code, ...e.detail})
+
+    await checkSession()
+
+    console.log(code, '获取用户手机号');
+    
+    const data = await getUserPhoneNumber({...e.detail, code})
+
     Tip.loaded()
 
     Taro.setStorageSync('token', data)
@@ -38,7 +67,6 @@ const Index: React.FC = () => {
 
   // 跳转页面
   const goPage = ( index: number ): void => {
-    console.log(index, 'indexindexindexindexindexindex');
     
     if (!Taro.getStorageSync('token')) {
       Tip.toast('登录错误')