[baozhangchao] 3 years ago
parent
commit
657c840361

+ 0
- 1
src/app.js View File

@@ -14,7 +14,6 @@ class App extends Component {
14 14
 
15 15
     const { logins, setUserLocation } = store.getModel('userData').getState()
16 16
 
17
-    // const { sserLocation, setUserLocation } = useModel('userData')
18 17
 
19 18
     // 登录获取人员信息
20 19
 

+ 36
- 6
src/layouts/index.jsx View File

@@ -2,7 +2,7 @@
2 2
 
3 3
 import useRouter from '@/utils/hooks/useRouter'
4 4
 import Taro from '@tarojs/taro'
5
-import { useEffect } from 'react'
5
+import { useEffect, useMemo } from 'react'
6 6
 import { useModel } from '@/store'
7 7
 
8 8
 
@@ -11,12 +11,11 @@ import useLogin from '@/utils/hooks/useLogin'
11 11
 
12 12
 
13 13
 export default (Child) => (props) => {
14
-  const { person } = useModel('person')
14
+  const { person } = useModel('userData')
15 15
   const router = useRouter()
16 16
 
17
-  const location = Taro.getStorageSync('location')
17
+  const { path } = router
18 18
 
19
-  const { hasPhone } = useLogin()
20 19
 
21 20
 
22 21
   // Taro.useReady(()=>{
@@ -29,5 +28,36 @@ export default (Child) => (props) => {
29 28
   // 确保执行过 login 方法,拿到了 person
30 29
   const isLoged = useMemo(() => !!person?.personId, [person?.personId])
31 30
 
32
-  return isLoged ? <Child {...props} router={router} location={location} /> : <></>
33
-}
31
+  return isLoged ? <Child {...props} router={router} /> : <></>
32
+}
33
+
34
+
35
+
36
+
37
+
38
+// export default (Child) => (props) => {
39
+//   const { person } = useModel('userData')
40
+//   const router = useRouter()
41
+
42
+//   const { path } = router
43
+
44
+//   useEffect(() => {
45
+//     if (!person?.phone) {
46
+//       if (path != '/pages/index/index' && path !== '/pages/UserLogin/index') {
47
+//         Taro.navigateTo({ url: `/pages/UserLogin/index?id${1}` })
48
+//       }
49
+//     }
50
+//     console.log("🚀 ~ file: index.jsx ~ line 11 ~ person", person, path)
51
+
52
+//     // if (path != '/pages/index/index' && !person?.phone) {
53
+//     //   Taro.navigateTo({ url: `/pages/userInfo/index?id${1}` })
54
+//     // }
55
+//   }, [path, person?.phone])
56
+
57
+
58
+
59
+
60
+
61
+//   return <Child {...props} router={router} />
62
+
63
+// }

+ 11
- 7
src/pages/index/index.jsx View File

@@ -24,7 +24,13 @@ export default withLayout((props) => {
24 24
   const [isDidShow, setIsDidShow] = useState(0)
25 25
 
26 26
   useDidShow(() => {
27
-    setIsDidShow(isDidShow + 1)
27
+    if (!person?.phone) {
28
+      Taro.navigateTo({ url: `/pages/UserLogin/index` })
29
+    } else {
30
+
31
+      setIsDidShow(isDidShow + 1)
32
+
33
+    }
28 34
   })
29 35
 
30 36
   useEffect(() => {
@@ -35,14 +41,12 @@ export default withLayout((props) => {
35 41
 
36 42
 
37 43
   const handleTabChange = (e) => {
38
-    if (!person?.phone) {
39
-      Taro.navigateTo({ url: `/pages/UserLogin/index?id${1}` })
44
+    if (!person?.phone || tab !== 0) {
45
+      Taro.navigateTo({ url: `/pages/UserLogin/index` })
40 46
 
41 47
     } else {
42
-      if (person?.phone) {
43
-        const { index } = e.detail
44
-        setCurrentTab(index)
45
-      }
48
+      const { index } = e.detail
49
+      setCurrentTab(index)
46 50
 
47 51
     }
48 52
 

+ 21
- 15
src/pages/index/tabs/Mine.jsx View File

@@ -10,6 +10,8 @@ import helpCenter from '@/assets/mineImgaes/helpCenter.png'//帮助中心
10 10
 import versionUpdate from '@/assets/mineImgaes/versionUpdate.png'//版本更新
11 11
 import userMoren from '@/assets/mineImgaes/userMoren.png'//默认头像
12 12
 import userRight from '@/assets/mineImgaes/userRight.png'
13
+import back from '@/assets/mineImgaes/mineBack.png'
14
+
13 15
 import { useModel } from "@/store"
14 16
 import withLayout from '@/layouts'
15 17
 import { getAddress } from "@/services/address"
@@ -33,14 +35,6 @@ export default withLayout((props) => {
33 35
   const $instance = Taro.getCurrentInstance()
34 36
 
35 37
 
36
-  const userInfo = useMemo(() => {
37
-    console.log($instance.router.params, '$instance.router.params路由')
38
-    if ($instance.router.params.userOk || person.phone) {
39
-      setIsLoginBox(true)
40
-      return { phone: person?.phone, nickName: person?.nickName, avatar: person?.avatar }
41
-    }
42
-
43
-  }, [$instance.router.params, person])
44 38
 
45 39
 
46 40
 
@@ -49,15 +43,23 @@ export default withLayout((props) => {
49 43
       let abccList = e.records.sort((a, b) => b.isDefault - a.isDefault)
50 44
       setAddresInfo(abccList[0].address)
51 45
     })
46
+    if ($instance.router.params.userOk || person.phone) {
47
+      setIsLoginBox(true)
48
+
49
+    }
52 50
   })
53 51
   useEffect(() => {
54 52
 
55 53
     getAddress().then((e) => {
56 54
       let abccList = e.records.sort((a, b) => b.isDefault - a.isDefault)
57 55
       console.log("🚀 ~ file: index.jsx ~ line 75 ~ getAddress ~ abccList", abccList)
58
-      setAddresInfo(abccList[0].address)
56
+      setAddresInfo(abccList[0]?.address)
59 57
     })
60
-  }, [])
58
+    if ($instance.router.params.userOk || person.phone) {
59
+      setIsLoginBox(true)
60
+
61
+    }
62
+  }, [$instance.router.params.userOk, person?.avatar, person?.nickName, person.phone])
61 63
 
62 64
   const setAddress = (dd) => {
63 65
     Taro.navigateTo({ url: `/pages/MyAddressList/index?id${dd}` })
@@ -105,18 +107,22 @@ export default withLayout((props) => {
105 107
         {/* 头像 */}
106 108
         {
107 109
           !isLoginBox ?
108
-            <View style={{ backgroundImage: "url(" + require("@/assets/mineImgaes/mineBack.png") + ")" }} className='User-Avatar-background-falseBox'>
110
+            <View className='User-Avatar-background-falseBox'>
111
+              <Image className='Userback' src={back} />
112
+
109 113
               <Image className='User-Avatar-background-falseBox-userImg userImg' src={userMoren} />
110 114
               <View onClick={userLoginnow} className='User-Avatar-background-falseBox-userLogin' >点击登陆</View>
111 115
             </View>
112 116
             :
113 117
             <>
114
-              <View style={{ backgroundImage: "url(" + require("@/assets/mineImgaes/mineBack.png") + ")" }} className='User-Avatar-background-trueBox'>
118
+              <View className='User-Avatar-background-trueBox'>
119
+                <Image className='Userback' src={back} />
120
+
115 121
                 <View className='setPassword' onClick={goUserInfo}>修改个人信息</View>
116
-                <Image className='User-Avatar-background-trueBox-userImg' src={userInfo?.avatar || userMoren} />
122
+                <Image className='User-Avatar-background-trueBox-userImg' src={person?.avatar || userMoren} />
117 123
                 <View className='User-Avatar-background-trueBox-name'>
118
-                  <View >{userInfo?.nickName || '请填写姓名'}</View>
119
-                  <View >{userInfo?.phone}</View>
124
+                  <View >{person?.nickName || '请填写姓名'}</View>
125
+                  <View >{person?.phone}</View>
120 126
                 </View>
121 127
               </View>
122 128
 

+ 12
- 2
src/pages/index/tabs/MineCss/style.less View File

@@ -1,6 +1,6 @@
1 1
 .User-Avatar-background-falseBox {
2 2
   width: 95vw;
3
-  height: 30vh;
3
+  height: 404px;
4 4
   background-size: 100% 100%;
5 5
   background-repeat: no-repeat;
6 6
   border-radius: 40px;
@@ -9,6 +9,11 @@
9 9
   margin: 0 auto;
10 10
   display: flex;
11 11
   margin-bottom: 30px;
12
+  .Userback {
13
+    width: 95vw;
14
+    height: 404px;
15
+    position: absolute;
16
+  }
12 17
   &-userImg {
13 18
     position: relative;
14 19
     top: 8vh;
@@ -36,12 +41,17 @@
36 41
   background-size: 100% 100%;
37 42
   background-repeat: no-repeat;
38 43
   width: 95vw;
39
-  height: 30vh;
44
+  height: 404px;
40 45
   border-radius: 40px;
41 46
   box-shadow: 0px 10px 24px 0px rgba(0, 0, 0, 0.1);
42 47
   margin-top: 1em;
43 48
   margin: 0 auto 30px auto;
44 49
   display: flex;
50
+  .Userback {
51
+    width: 95vw;
52
+    height: 404px;
53
+    position: absolute;
54
+  }
45 55
   &-userImg {
46 56
     position: relative;
47 57
     top: 8vh;

+ 3
- 3
src/utils/hooks/useLogin.js View File

@@ -3,13 +3,13 @@ import { useModel } from '@/store'
3 3
 import { useEffect, useMemo } from "react";
4 4
 
5 5
 const whiteList = [
6
-  "/pages/login/index",
6
+  "/pages/UserLogin/index",
7 7
   "/pages/index/index"
8 8
 ]
9 9
 
10 10
 export default () => {
11 11
   const router = useRouter()
12
-  const { person } = useModel('person')
12
+  const { person } = useModel('userData')
13 13
 
14 14
   const isInWhiteList = useMemo(() => whiteList.includes(router.path), [router.path])
15 15
   const hasPhone = useMemo(() => !!person?.phone, [person?.phone])
@@ -17,7 +17,7 @@ export default () => {
17 17
 
18 18
   useEffect(() => {
19 19
     if (!isInWhiteList && !hasPhone) {
20
-      Taro.navigateTo({ url: "/pages/login/index" });
20
+      Taro.navigateTo({ url: "/pages/UserLogin/index" });
21 21
     }
22 22
   }, [hasPhone, isInWhiteList])
23 23