李志伟 3 years ago
parent
commit
bdd6034361

+ 6
- 5
src/pages/index/components/User/index.jsx View File

16
 import './style.less'
16
 import './style.less'
17
 
17
 
18
 export default (props) => {
18
 export default (props) => {
19
-  const { phone, setPhone } = useModel('phone')
19
+  const { setPhone } = useModel('phone')
20
+  const { person } = useModel('person')
20
 
21
 
21
   const handleAccount = () => {
22
   const handleAccount = () => {
22
     Taro.navigateTo({ url: '/pages/userInfo/index' });
23
     Taro.navigateTo({ url: '/pages/userInfo/index' });
45
   }
46
   }
46
   return (
47
   return (
47
     <ScrollView scrollY style={{ height: '100%' }}>
48
     <ScrollView scrollY style={{ height: '100%' }}>
48
-      <View className='personTip'>该账号归张三所属</View>
49
+      <View className='personTip'>该账号归{person.nickName||'张三'}所属</View>
49
       <View className='userHead'>
50
       <View className='userHead'>
50
         <Image src={userBgi} className='userBgi' />
51
         <Image src={userBgi} className='userBgi' />
51
         <View className='headcontent' >
52
         <View className='headcontent' >
52
-          <Image src={avatar} className='avatar' />
53
+          <Image src={person.avatar||avatar} className='avatar' />
53
           <View>
54
           <View>
54
-            <View>张三</View>
55
-            <View>{phone}</View>
55
+            <View>{person.nickName||'张三'}</View>
56
+            <View>{person.phone}</View>
56
           </View>
57
           </View>
57
         </View>
58
         </View>
58
       </View>
59
       </View>

+ 3
- 5
src/pages/login/index.jsx View File

13
 import './style.less'
13
 import './style.less'
14
 
14
 
15
 export default (props) => {
15
 export default (props) => {
16
-  const { person } = useModel('person')
17
-  const { setPhone:setphone } = useModel('phone')
16
+  const { person,setPerson } = useModel('person')
18
 
17
 
19
   const [agreement,setAgreement]=useState(false)
18
   const [agreement,setAgreement]=useState(false)
20
   const [phone,setPhone]=useState()
19
   const [phone,setPhone]=useState()
84
       }
83
       }
85
       // 登录
84
       // 登录
86
       updatePhone(person.personId,{phone:phone,captcha:qCode}).then((res)=>{
85
       updatePhone(person.personId,{phone:phone,captcha:qCode}).then((res)=>{
86
+        setPerson({...person,phone:phone})
87
         Taro.showToast({
87
         Taro.showToast({
88
           title: '登录成功',
88
           title: '登录成功',
89
           icon: 'none',
89
           icon: 'none',
90
           duration: 1000
90
           duration: 1000
91
         })
91
         })
92
-        setphone(res.phone)
93
         Taro.reLaunch({ url: '/pages/index/index?tab=2&&isLogin=true' });
92
         Taro.reLaunch({ url: '/pages/index/index?tab=2&&isLogin=true' });
94
       }).catch((e) => {
93
       }).catch((e) => {
95
-        console.log(e)
96
         Taro.showToast({
94
         Taro.showToast({
97
-          title: '网络异常, 请刷新小程序重试',
95
+          title: '手机号或者验证码不正确',
98
           icon: 'none',
96
           icon: 'none',
99
         })
97
         })
100
       })
98
       })

+ 11
- 12
src/pages/machineryDetail/index.jsx View File

1
-import { View, Image, ScrollView,Swiper,SwiperItem } from "@tarojs/components"
1
+import { View, Image, ScrollView, Swiper, SwiperItem } from "@tarojs/components"
2
 import CustomNav from "@/components/CustomNav"
2
 import CustomNav from "@/components/CustomNav"
3
 import Jianbian from "@/components/Jianbian"
3
 import Jianbian from "@/components/Jianbian"
4
 import withLayout from '@/layouts'
4
 import withLayout from '@/layouts'
9
 import './style.less'
9
 import './style.less'
10
 
10
 
11
 export default withLayout((props) => {
11
 export default withLayout((props) => {
12
-  const imgList=[
12
+  const imgList = [
13
     {
13
     {
14
-      thumb:banner1
14
+      thumb: banner1
15
     },
15
     },
16
     {
16
     {
17
-      thumb:banner1
17
+      thumb: banner1
18
     },
18
     },
19
     {
19
     {
20
-      thumb:banner1
20
+      thumb: banner1
21
     },
21
     },
22
     {
22
     {
23
-      thumb:banner1
23
+      thumb: banner1
24
     }
24
     }
25
   ]
25
   ]
26
   return (
26
   return (
30
       </View>
30
       </View>
31
       <View className='index-container'>
31
       <View className='index-container'>
32
         <ScrollView scrollY style={{ height: '100%' }}>
32
         <ScrollView scrollY style={{ height: '100%' }}>
33
-        <Swiper
34
-          circular
35
-          autoplay
36
-          className='swiper'
37
-        >
33
+          <Swiper
34
+            circular
35
+            autoplay
36
+            className='swiper'
37
+          >
38
             {imgList.map((item, inx) => (
38
             {imgList.map((item, inx) => (
39
               <SwiperItem key={inx}>
39
               <SwiperItem key={inx}>
40
                 <Image src={item.thumb} mode='widthFix' className='storeImage' />
40
                 <Image src={item.thumb} mode='widthFix' className='storeImage' />
41
               </SwiperItem>
41
               </SwiperItem>
42
             ))}
42
             ))}
43
           </Swiper>
43
           </Swiper>
44
-          {/* <Image src={banner1} mode='aspectFill' className='detailHead' /> */}
45
           <View className='detailContent'>
44
           <View className='detailContent'>
46
             <Jianbian status='1' />
45
             <Jianbian status='1' />
47
             <View className='detialName'>收割机001--S001</View>
46
             <View className='detialName'>收割机001--S001</View>

+ 34
- 24
src/pages/userInfo/index.jsx View File

1
 import { useState } from "react"
1
 import { useState } from "react"
2
+import { useModel } from '@/store'
2
 import Taro from "@tarojs/taro"
3
 import Taro from "@tarojs/taro"
3
 import { Input, View, Image } from "@tarojs/components"
4
 import { Input, View, Image } from "@tarojs/components"
4
 import withLayout from '@/layouts'
5
 import withLayout from '@/layouts'
5
 import CustomNav from "@/components/CustomNav"
6
 import CustomNav from "@/components/CustomNav"
6
 import MyButton from "@/components/MyButton"
7
 import MyButton from "@/components/MyButton"
8
+import { updateInfo } from '@/services/login'
7
 import banner1 from '@/assets/banner/1.jpg'
9
 import banner1 from '@/assets/banner/1.jpg'
8
 import resetImg from '@/assets/user/cancel.png'
10
 import resetImg from '@/assets/user/cancel.png'
9
 import './style.less'
11
 import './style.less'
10
 
12
 
11
 export default withLayout((props) => {
13
 export default withLayout((props) => {
12
-  const [name, setName] = useState()
13
-  const [phone, setPhone] = useState()
14
-  const [avatar, setAvatar] = useState(banner1)
14
+
15
+  const { person, setPerson } = useModel('person')
16
+
17
+  const [name, setName] = useState(person.nickName)
18
+  const [phone, setPhone] = useState(person.phone)
19
+  const [avatar, setAvatar] = useState(person.avatar)
15
   const changeName = (e) => {
20
   const changeName = (e) => {
16
     setName(e.detail.value)
21
     setName(e.detail.value)
17
   }
22
   }
18
   const changePhone = (e) => {
23
   const changePhone = (e) => {
19
     setPhone(e.detail.value)
24
     setPhone(e.detail.value)
20
   }
25
   }
21
-  const rulePhone=(val)=>{
26
+  const rulePhone = (val) => {
22
     if (!/^1[0-9]{10}$/.test(val)) {
27
     if (!/^1[0-9]{10}$/.test(val)) {
23
       Taro.showToast({
28
       Taro.showToast({
24
         title: '请输入正确的11位手机号',
29
         title: '请输入正确的11位手机号',
30
   }
35
   }
31
   const handleSave = () => {
36
   const handleSave = () => {
32
     if (rulePhone(phone)) {
37
     if (rulePhone(phone)) {
33
-      Taro.showToast({
34
-        title: '保存成功',
35
-        icon: 'none',
38
+      updateInfo(person.personId, { ...person, avatar: avatar, phone: phone, nickName: name }).then((res) => {
39
+        setPerson(res)
40
+        Taro.showToast({
41
+          title: '保存成功',
42
+          icon: 'none',
43
+        })
44
+        Taro.navigateBack({ delta: 1 })
45
+      }).catch((e) => {
46
+        console.log(e)
47
+        Taro.showToast({
48
+          title: '网络异常, 请刷新小程序重试',
49
+          icon: 'none',
50
+        })
36
       })
51
       })
37
-      Taro.navigateBack({delta:1})
38
     }
52
     }
39
   }
53
   }
40
-  const resetName=()=>{
54
+  const resetName = () => {
41
     setName()
55
     setName()
42
   }
56
   }
43
-  const resetPhone=()=>{
57
+  const resetPhone = () => {
44
     setPhone()
58
     setPhone()
45
   }
59
   }
46
-  const changeAvatar=()=>{
47
-    Taro.chooseImage({
48
-      count: 1,
60
+  const changeAvatar = () => {
61
+    Taro.getUserProfile({
62
+      lang: 'zh_CN',
63
+      desc: "获取你的昵称、头像、地区及性别",
49
       success: function (res) {
64
       success: function (res) {
50
-        setAvatar(res.tempFilePaths[0])
51
-        // uploadFile(res.tempFilePaths[0]).then((res2) => {
52
-        //   const date = {
53
-        //     targetId: roomId,
54
-        //     targetType: 'room',
55
-        //     content: res2,
56
-        //     contentType: 'image'
57
-        //   }
58
-        //   saveExtend(date)
59
-        //   setReset(!reset)
60
-        // })
65
+        setAvatar(res.userInfo.avatarUrl)
66
+      },
67
+      fail: () => {
68
+        //拒绝授权
69
+        console.error("拒绝了请求");
70
+        return;
61
       }
71
       }
62
     })
72
     })
63
   }
73
   }

+ 7
- 0
src/services/login.js View File

22
 
22
 
23
 export const updatePhone = (id, data) => request(`/person/${id}/phone`, { method: 'put', data })
23
 export const updatePhone = (id, data) => request(`/person/${id}/phone`, { method: 'put', data })
24
 
24
 
25
+/**
26
+ * 修改个人信息
27
+ * @param {*} 
28
+ * @returns 
29
+ */
30
+
31
+ export const updateInfo = (id, data) => request(`/person/${id}`, { method: 'put', data })

+ 1
- 8
src/utils/request.js View File

4
 
4
 
5
 const logger = Taro.getRealtimeLogManager()
5
 const logger = Taro.getRealtimeLogManager()
6
 
6
 
7
-let appid = null;
8
 
7
 
9
 export default (url, options) => {
8
 export default (url, options) => {
10
   const { params, skipError, header, ...leftOptions } = options || {}
9
   const { params, skipError, header, ...leftOptions } = options || {}
11
   const queryStr = getQueryString(params)
10
   const queryStr = getQueryString(params)
12
-
13
-  if (!appid) {
14
-    const { miniProgram } = Taro.getAccountInfoSync();
15
-    appid = miniProgram.appId
16
-  }
17
-
18
   const urlWithParams = queryStr ? `${url}?${queryStr}` : url;
11
   const urlWithParams = queryStr ? `${url}?${queryStr}` : url;
19
-  const nwUrl = `${HOST}/api/wx/${appid}${urlWithParams}`
12
+  const nwUrl = `${HOST}/api/wx/worker${urlWithParams}`
20
 
13
 
21
   const authToken = Taro.getStorageSync('token')
14
   const authToken = Taro.getStorageSync('token')
22
 
15