[baozhangchao] 3 yıl önce
ebeveyn
işleme
657c840361

+ 0
- 1
src/app.js Dosyayı Görüntüle

14
 
14
 
15
     const { logins, setUserLocation } = store.getModel('userData').getState()
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 Dosyayı Görüntüle

2
 
2
 
3
 import useRouter from '@/utils/hooks/useRouter'
3
 import useRouter from '@/utils/hooks/useRouter'
4
 import Taro from '@tarojs/taro'
4
 import Taro from '@tarojs/taro'
5
-import { useEffect } from 'react'
5
+import { useEffect, useMemo } from 'react'
6
 import { useModel } from '@/store'
6
 import { useModel } from '@/store'
7
 
7
 
8
 
8
 
11
 
11
 
12
 
12
 
13
 export default (Child) => (props) => {
13
 export default (Child) => (props) => {
14
-  const { person } = useModel('person')
14
+  const { person } = useModel('userData')
15
   const router = useRouter()
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
   // Taro.useReady(()=>{
21
   // Taro.useReady(()=>{
29
   // 确保执行过 login 方法,拿到了 person
28
   // 确保执行过 login 方法,拿到了 person
30
   const isLoged = useMemo(() => !!person?.personId, [person?.personId])
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 Dosyayı Görüntüle

24
   const [isDidShow, setIsDidShow] = useState(0)
24
   const [isDidShow, setIsDidShow] = useState(0)
25
 
25
 
26
   useDidShow(() => {
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
   useEffect(() => {
36
   useEffect(() => {
35
 
41
 
36
 
42
 
37
   const handleTabChange = (e) => {
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
     } else {
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 Dosyayı Görüntüle

10
 import versionUpdate from '@/assets/mineImgaes/versionUpdate.png'//版本更新
10
 import versionUpdate from '@/assets/mineImgaes/versionUpdate.png'//版本更新
11
 import userMoren from '@/assets/mineImgaes/userMoren.png'//默认头像
11
 import userMoren from '@/assets/mineImgaes/userMoren.png'//默认头像
12
 import userRight from '@/assets/mineImgaes/userRight.png'
12
 import userRight from '@/assets/mineImgaes/userRight.png'
13
+import back from '@/assets/mineImgaes/mineBack.png'
14
+
13
 import { useModel } from "@/store"
15
 import { useModel } from "@/store"
14
 import withLayout from '@/layouts'
16
 import withLayout from '@/layouts'
15
 import { getAddress } from "@/services/address"
17
 import { getAddress } from "@/services/address"
33
   const $instance = Taro.getCurrentInstance()
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
       let abccList = e.records.sort((a, b) => b.isDefault - a.isDefault)
43
       let abccList = e.records.sort((a, b) => b.isDefault - a.isDefault)
50
       setAddresInfo(abccList[0].address)
44
       setAddresInfo(abccList[0].address)
51
     })
45
     })
46
+    if ($instance.router.params.userOk || person.phone) {
47
+      setIsLoginBox(true)
48
+
49
+    }
52
   })
50
   })
53
   useEffect(() => {
51
   useEffect(() => {
54
 
52
 
55
     getAddress().then((e) => {
53
     getAddress().then((e) => {
56
       let abccList = e.records.sort((a, b) => b.isDefault - a.isDefault)
54
       let abccList = e.records.sort((a, b) => b.isDefault - a.isDefault)
57
       console.log("🚀 ~ file: index.jsx ~ line 75 ~ getAddress ~ abccList", abccList)
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
   const setAddress = (dd) => {
64
   const setAddress = (dd) => {
63
     Taro.navigateTo({ url: `/pages/MyAddressList/index?id${dd}` })
65
     Taro.navigateTo({ url: `/pages/MyAddressList/index?id${dd}` })
105
         {/* 头像 */}
107
         {/* 头像 */}
106
         {
108
         {
107
           !isLoginBox ?
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
               <Image className='User-Avatar-background-falseBox-userImg userImg' src={userMoren} />
113
               <Image className='User-Avatar-background-falseBox-userImg userImg' src={userMoren} />
110
               <View onClick={userLoginnow} className='User-Avatar-background-falseBox-userLogin' >点击登陆</View>
114
               <View onClick={userLoginnow} className='User-Avatar-background-falseBox-userLogin' >点击登陆</View>
111
             </View>
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
                 <View className='setPassword' onClick={goUserInfo}>修改个人信息</View>
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
                 <View className='User-Avatar-background-trueBox-name'>
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
                 </View>
126
                 </View>
121
               </View>
127
               </View>
122
 
128
 

+ 12
- 2
src/pages/index/tabs/MineCss/style.less Dosyayı Görüntüle

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

+ 3
- 3
src/utils/hooks/useLogin.js Dosyayı Görüntüle

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