Преглед на файлове

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

张延森 преди 4 години
родител
ревизия
f52bbc8b3c

+ 1
- 1
project.config.json Целия файл

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

+ 2
- 2
src/components/NavHeader/index.jsx Целия файл

@@ -8,7 +8,7 @@ export default function NavHeader (props) {
8 8
 
9 9
   const [MarginTop, setMarginTop] = useState(0)
10 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 13
   if (MarginTop === 0) {
14 14
     setMarginTop(Taro.getMenuButtonBoundingClientRect().top)
@@ -19,7 +19,7 @@ export default function NavHeader (props) {
19 19
 
20 20
   return (
21 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 23
     </view>
24 24
   )
25 25
 }

+ 23
- 0
src/components/RenZhengScreen/index.jsx Целия файл

@@ -0,0 +1,23 @@
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 Целия файл

@@ -0,0 +1,38 @@
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 Целия файл

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

+ 2
- 0
src/pages/ShouYe/index.jsx Целия файл

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

+ 21
- 2
src/pages/WoDe/YeZhuRenZheng/index.jsx Целия файл

@@ -1,6 +1,6 @@
1 1
 import React, { useState, useEffect } from 'react'
2 2
 import { Input, Picker } from '@tarojs/components'
3
-import Taro from '@tarojs/taro'
3
+import Taro, { Current } from '@tarojs/taro'
4 4
 import request, { apis } from '@/utils/request'
5 5
 import Page from '@/layouts'
6 6
 import { useModel } from '@/store'
@@ -10,6 +10,7 @@ import './index.less'
10 10
 
11 11
 export default function YeZhuRenZheng () {
12 12
 
13
+  const [PageFrom] = useState(Current.router.params.from)
13 14
   const { user } = useModel('user')
14 15
   const [FormData, setFormData] = useState({ RealName: '', IdCard: '', Phone: '' })
15 16
   const [PhoneCode, setPhoneCode] = useState('')
@@ -70,11 +71,24 @@ export default function YeZhuRenZheng () {
70 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 83
   const ToGetPhoneCode = () => {
74 84
     if (!CheckPhone()) {
75 85
       Taro.showToast({ title: '手机号填写错误', icon: 'none' })
76 86
       return false
77 87
     }
88
+    if (!CheckIdCard()) {
89
+      Taro.showToast({ title: '身份证号填写错误', icon: 'none' })
90
+      return false
91
+    }
78 92
     if (CodeTimerNum - 0 === 60) {
79 93
       request({ ...apis.getPhoneCode, params: { tel: FormData.Phone } }).then(() => {
80 94
         Taro.showToast({ title: '验证码已发送', icon: 'none' })
@@ -142,7 +156,12 @@ export default function YeZhuRenZheng () {
142 156
           }
143 157
         }).then((res) => {
144 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 165
           setDataLock(false)
147 166
         }).catch((res) => {
148 167
           Taro.showToast({ title: res, icon: 'none' })