Browse Source

Merge branch 'master' of http://git.ycjcjy.com/xiangsong/miniapp

张延森 4 years ago
parent
commit
f52bbc8b3c

+ 1
- 1
project.config.json View File

28
 		},
28
 		},
29
 		"bundle": false,
29
 		"bundle": false,
30
 		"useIsolateContext": true,
30
 		"useIsolateContext": true,
31
-		"useCompilerModule": false,
31
+		"useCompilerModule": true,
32
 		"userConfirmedUseCompilerModuleSwitch": false,
32
 		"userConfirmedUseCompilerModuleSwitch": false,
33
 		"useMultiFrameRuntime": false,
33
 		"useMultiFrameRuntime": false,
34
 		"useApiHook": true,
34
 		"useApiHook": true,

+ 2
- 2
src/components/NavHeader/index.jsx View File

8
 
8
 
9
   const [MarginTop, setMarginTop] = useState(0)
9
   const [MarginTop, setMarginTop] = useState(0)
10
   const [LineHeight, setLineHeight] = useState(0)
10
   const [LineHeight, setLineHeight] = useState(0)
11
-  const { BgColor = '#fff', IsFixed = false, Title = '香颂蔚澜' } = props
11
+  const { BgColor = '#fff', IsFixed = false, Title = '香颂蔚澜', Color = '#fff', Border = false } = props
12
 
12
 
13
   if (MarginTop === 0) {
13
   if (MarginTop === 0) {
14
     setMarginTop(Taro.getMenuButtonBoundingClientRect().top)
14
     setMarginTop(Taro.getMenuButtonBoundingClientRect().top)
19
 
19
 
20
   return (
20
   return (
21
     <view className='NavHeader' style={{ background: BgColor, position: IsFixed ? 'absolute' : 'relative' }}>
21
     <view className='NavHeader' style={{ background: BgColor, position: IsFixed ? 'absolute' : 'relative' }}>
22
-      <text style={{ marginTop: `${MarginTop}px`, lineHeight: `${LineHeight}px` }}>{Title}</text>
22
+      <text style={{ marginTop: `${MarginTop}px`, lineHeight: `${LineHeight}px`, color: `${Color}`, borderBottom: Border ? `1px solid #ccc` : `none` }}>{Title}</text>
23
     </view>
23
     </view>
24
   )
24
   )
25
 }
25
 }

+ 23
- 0
src/components/RenZhengScreen/index.jsx View File

1
+import React, { useState } from 'react'
2
+import NavHeader from '@/components/NavHeader/index'
3
+import Taro from '@tarojs/taro'
4
+import '@/assets/css/reset.less'
5
+import '@/assets/css/iconfont.less'
6
+import './index.less'
7
+
8
+export default function RenZhengScreen (props) {
9
+
10
+  const { Show = false } = props
11
+
12
+  return (
13
+    <view className='RenZhengScreen' style={{display: Show ? 'block' : 'none'}}>
14
+      <NavHeader Title='业主认证' Color='#000'></NavHeader>
15
+      <view className='centerLabel'>
16
+        <text>请进行业主信息认证</text>
17
+        <view>
18
+          <text onClick={() => { Taro.navigateTo({ url: `/pages/WoDe/YeZhuRenZheng/index?from=popup` }) }}>去认证</text>
19
+        </view>
20
+      </view>
21
+    </view>
22
+  )
23
+}

+ 38
- 0
src/components/RenZhengScreen/index.less View File

1
+.RenZhengScreen {
2
+  width: 100%;
3
+  position: fixed !important;
4
+  left: 0;
5
+  top: 0;
6
+  bottom: 0;
7
+  z-index: 300000;
8
+  background: #fff;
9
+
10
+  >view.centerLabel {
11
+    width: 100%;
12
+
13
+    >text {
14
+      display: block;
15
+      font-size: 24px;
16
+      color: #666;
17
+      line-height: 40px;
18
+      text-align: center;
19
+    }
20
+
21
+    >view {
22
+      padding: 0 30px;
23
+      position: relative;
24
+      overflow: hidden;
25
+      margin-top: 40px;
26
+
27
+      >text {
28
+        display: block;
29
+        font-size: 28px;
30
+        color: #fff;
31
+        background: #f35844;
32
+        line-height: 80px;
33
+        text-align: center;
34
+        border-radius: 10px;
35
+      }
36
+    }
37
+  }
38
+}

+ 3
- 1
src/layouts/index.jsx View File

5
 import GetUserPhone from '@/components/GetUserPhone/index'
5
 import GetUserPhone from '@/components/GetUserPhone/index'
6
 import GetUserIcon from '@/components/GetUserIcon/index'
6
 import GetUserIcon from '@/components/GetUserIcon/index'
7
 import AdvLayer from '@/components/AdvLayer'
7
 import AdvLayer from '@/components/AdvLayer'
8
+import RenZhengScreen from '@/components/RenZhengScreen'
8
 import YeZhuRenZhengPopup from '@/components/YeZhuRenZhengPopup'
9
 import YeZhuRenZhengPopup from '@/components/YeZhuRenZhengPopup'
9
 import useMountTrack from '@/utils/hooks/useMountTrack'
10
 import useMountTrack from '@/utils/hooks/useMountTrack'
10
 import { getPage } from '@/utils'
11
 import { getPage } from '@/utils'
102
 
103
 
103
       {/* 广告 */}
104
       {/* 广告 */}
104
       <AdvLayer></AdvLayer>
105
       <AdvLayer></AdvLayer>
106
+      <RenZhengScreen Show={showAuthYeZhu}></RenZhengScreen>
105
       <GetUserIcon visible={showAuthBasic} onError={err => showError(`授权头像失败: ${err}`)} />
107
       <GetUserIcon visible={showAuthBasic} onError={err => showError(`授权头像失败: ${err}`)} />
106
       <GetUserPhone visible={showAuthPhone} onError={err => showError(`授权手机失败: ${err}`)} />
108
       <GetUserPhone visible={showAuthPhone} onError={err => showError(`授权手机失败: ${err}`)} />
107
-      <YeZhuRenZhengPopup Show={showAuthYeZhu} Close={() => { }}></YeZhuRenZhengPopup>
109
+      {/* <YeZhuRenZhengPopup Show={showAuthYeZhu} Close={() => { }}></YeZhuRenZhengPopup> */}
108
       {
110
       {
109
         props.children
111
         props.children
110
       }
112
       }

+ 2
- 0
src/pages/ShouYe/index.jsx View File

1
 import React, { useState, useEffect } from 'react'
1
 import React, { useState, useEffect } from 'react'
2
 import NavHeader from '@/components/NavHeader/index'
2
 import NavHeader from '@/components/NavHeader/index'
3
 import ScrollPageRefresh from '@/components/ScrollPageRefresh/index'
3
 import ScrollPageRefresh from '@/components/ScrollPageRefresh/index'
4
+import RenZhengScreen from '@/components/RenZhengScreen/index'
4
 import { Swiper, SwiperItem, Text } from '@tarojs/components'
5
 import { Swiper, SwiperItem, Text } from '@tarojs/components'
5
 import request, { apis } from '@/utils/request'
6
 import request, { apis } from '@/utils/request'
6
 import { useModel } from '@/store'
7
 import { useModel } from '@/store'
128
   return (
129
   return (
129
     <Page>
130
     <Page>
130
       <view className='ShouYe flex-v'>
131
       <view className='ShouYe flex-v'>
132
+        <RenZhengScreen></RenZhengScreen>
131
         <NavHeader BgColor='#f35844' Title='首页'></NavHeader>
133
         <NavHeader BgColor='#f35844' Title='首页'></NavHeader>
132
         <view className='flex-item'>
134
         <view className='flex-item'>
133
 
135
 

+ 21
- 2
src/pages/WoDe/YeZhuRenZheng/index.jsx View File

1
 import React, { useState, useEffect } from 'react'
1
 import React, { useState, useEffect } from 'react'
2
 import { Input, Picker } from '@tarojs/components'
2
 import { Input, Picker } from '@tarojs/components'
3
-import Taro from '@tarojs/taro'
3
+import Taro, { Current } from '@tarojs/taro'
4
 import request, { apis } from '@/utils/request'
4
 import request, { apis } from '@/utils/request'
5
 import Page from '@/layouts'
5
 import Page from '@/layouts'
6
 import { useModel } from '@/store'
6
 import { useModel } from '@/store'
10
 
10
 
11
 export default function YeZhuRenZheng () {
11
 export default function YeZhuRenZheng () {
12
 
12
 
13
+  const [PageFrom] = useState(Current.router.params.from)
13
   const { user } = useModel('user')
14
   const { user } = useModel('user')
14
   const [FormData, setFormData] = useState({ RealName: '', IdCard: '', Phone: '' })
15
   const [FormData, setFormData] = useState({ RealName: '', IdCard: '', Phone: '' })
15
   const [PhoneCode, setPhoneCode] = useState('')
16
   const [PhoneCode, setPhoneCode] = useState('')
70
     return /^1(3\d|4\d|5\d|6\d|7\d|8\d|9\d)\d{8}$/g.test(FormData.Phone)
71
     return /^1(3\d|4\d|5\d|6\d|7\d|8\d|9\d)\d{8}$/g.test(FormData.Phone)
71
   }
72
   }
72
 
73
 
74
+  const CheckIdCard = () => { // 校验身份证
75
+    const regIdCard = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
76
+    if (!regIdCard.test(FormData.IdCard)) {
77
+      return false
78
+    } else {
79
+      return true
80
+    }
81
+  }
82
+
73
   const ToGetPhoneCode = () => {
83
   const ToGetPhoneCode = () => {
74
     if (!CheckPhone()) {
84
     if (!CheckPhone()) {
75
       Taro.showToast({ title: '手机号填写错误', icon: 'none' })
85
       Taro.showToast({ title: '手机号填写错误', icon: 'none' })
76
       return false
86
       return false
77
     }
87
     }
88
+    if (!CheckIdCard()) {
89
+      Taro.showToast({ title: '身份证号填写错误', icon: 'none' })
90
+      return false
91
+    }
78
     if (CodeTimerNum - 0 === 60) {
92
     if (CodeTimerNum - 0 === 60) {
79
       request({ ...apis.getPhoneCode, params: { tel: FormData.Phone } }).then(() => {
93
       request({ ...apis.getPhoneCode, params: { tel: FormData.Phone } }).then(() => {
80
         Taro.showToast({ title: '验证码已发送', icon: 'none' })
94
         Taro.showToast({ title: '验证码已发送', icon: 'none' })
142
           }
156
           }
143
         }).then((res) => {
157
         }).then((res) => {
144
           Taro.showToast({ title: '添加认证成功', icon: 'none' })
158
           Taro.showToast({ title: '添加认证成功', icon: 'none' })
145
-          Taro.navigateTo({ url: `/pages/WoDe/YeZhuShenHe/index?id=${res.id}` })
159
+          if (PageFrom === 'popup') {
160
+            setUser({ ...user, verifyStatus: 'certification_in_progress' })
161
+            Taro.navigateBack({ delta: 1 })
162
+          } else {
163
+            Taro.navigateTo({ url: `/pages/WoDe/YeZhuShenHe/index?id=${res.id}` })
164
+          }
146
           setDataLock(false)
165
           setDataLock(false)
147
         }).catch((res) => {
166
         }).catch((res) => {
148
           Taro.showToast({ title: res, icon: 'none' })
167
           Taro.showToast({ title: res, icon: 'none' })