|
@@ -14,11 +14,8 @@ import RouteUtil from "@/utils/routeUtil";
|
|
import UserHelper from "@/helper/userHelper";
|
|
import UserHelper from "@/helper/userHelper";
|
|
import Button from "@/component/button";
|
|
import Button from "@/component/button";
|
|
import "./index.scss";
|
|
import "./index.scss";
|
|
-import StorageUtil, { EStorage } from "@/utils/storageUtil";
|
|
|
|
-import React, { useState , useEffect, useCallback} from 'react'
|
|
|
|
-import { AtFloatLayout } from "taro-ui"
|
|
|
|
-import { showToast } from "@tarojs/taro";
|
|
|
|
-import ctyptoUtil from "@/utils/crypto";
|
|
|
|
|
|
+import React, { useState , useEffect, useCallback,useRef} from 'react'
|
|
|
|
+import LoginBox from "../components/LoginBox";
|
|
interface IMineProps {}
|
|
interface IMineProps {}
|
|
|
|
|
|
const Mine = (props: PropsWithChildren<IMineProps>) => {
|
|
const Mine = (props: PropsWithChildren<IMineProps>) => {
|
|
@@ -33,33 +30,10 @@ const Mine = (props: PropsWithChildren<IMineProps>) => {
|
|
params: { appId: APPConfig.APPID },
|
|
params: { appId: APPConfig.APPID },
|
|
}).toData();
|
|
}).toData();
|
|
});
|
|
});
|
|
- const [isSHow, setIsSHow] = useState(false)
|
|
|
|
- // 打开浮动层的函数
|
|
|
|
|
|
+
|
|
|
|
+ const childRef = useRef()
|
|
const handleOpen = () => {
|
|
const handleOpen = () => {
|
|
- setShowNum(0);
|
|
|
|
- setIsSHow(true)
|
|
|
|
- }
|
|
|
|
- // 关闭浮动层的函数
|
|
|
|
- const handleClose = () => {
|
|
|
|
- setIsSHow(false);
|
|
|
|
- // setIsGetValidate(false);
|
|
|
|
- // setTime(10); // 重置倒计时
|
|
|
|
- setPhone('');
|
|
|
|
- setValidate('');
|
|
|
|
- setCheckedPhone(false);
|
|
|
|
- setChecked(false);
|
|
|
|
- }
|
|
|
|
- const [showNum, setShowNum] = useState(0)
|
|
|
|
- const showNumChange = (val) => {
|
|
|
|
- if(!checked){
|
|
|
|
- showToast({
|
|
|
|
- title: "请确定已阅读并同意!",
|
|
|
|
- icon: "none",
|
|
|
|
- duration: 2000,
|
|
|
|
- });
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- setShowNum(val)
|
|
|
|
|
|
+ childRef.current.handleOpen()
|
|
}
|
|
}
|
|
const ApplyButton = ({ isLogin }) => {
|
|
const ApplyButton = ({ isLogin }) => {
|
|
console.log("isLogin", isLogin)
|
|
console.log("isLogin", isLogin)
|
|
@@ -77,25 +51,14 @@ const Mine = (props: PropsWithChildren<IMineProps>) => {
|
|
},
|
|
},
|
|
});
|
|
});
|
|
}}
|
|
}}
|
|
- >立即申请</Button>) : (<Button openType='getPhoneNumber'
|
|
|
|
- onGetPhoneNumber={async (e) => {
|
|
|
|
- if (e.detail.code && await UserHelper.userWxLogin(e.detail.code) === true) {
|
|
|
|
- indexInfoResult.data &&
|
|
|
|
- RouteUtil.toWebViewPage({
|
|
|
|
- url: indexInfoResult.data.link,
|
|
|
|
- });
|
|
|
|
- if (UserHelper.callback) {
|
|
|
|
- await UserHelper.callback();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }}
|
|
|
|
|
|
+ >立即申请</Button>) : (<Button onClick={handleOpen}
|
|
className='mine-apply-panel-button'
|
|
className='mine-apply-panel-button'
|
|
>立即申请</Button>)
|
|
>立即申请</Button>)
|
|
}
|
|
}
|
|
</>
|
|
</>
|
|
)
|
|
)
|
|
}
|
|
}
|
|
- const LoginBox = ({ isLogin ,userName}) => {
|
|
|
|
|
|
+ const LoginBoxs = ({ isLogin ,userName}) => {
|
|
return(
|
|
return(
|
|
<>
|
|
<>
|
|
{ isLogin?
|
|
{ isLogin?
|
|
@@ -132,303 +95,6 @@ const Mine = (props: PropsWithChildren<IMineProps>) => {
|
|
</>
|
|
</>
|
|
)
|
|
)
|
|
}
|
|
}
|
|
-
|
|
|
|
- const [checked, setChecked] = useState(false)
|
|
|
|
- const handleCheckboxChange = () => {
|
|
|
|
- setChecked(!checked)
|
|
|
|
- }
|
|
|
|
- const quickLogin =async (e) =>{
|
|
|
|
- if(!checked){
|
|
|
|
- showToast({
|
|
|
|
- title: "请确定已阅读并同意!",
|
|
|
|
- icon: "none",
|
|
|
|
- duration: 2000,
|
|
|
|
- });
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if (e.detail.code && await UserHelper.userWxLogin(e.detail.code) === true) {
|
|
|
|
- handleClose();
|
|
|
|
- indexInfoResult.data &&
|
|
|
|
- RouteUtil.toWebViewPage({
|
|
|
|
- url: indexInfoResult.data.link,
|
|
|
|
- });
|
|
|
|
- if (UserHelper.callback) {
|
|
|
|
- await UserHelper.callback();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // 打开浮动层的函数
|
|
|
|
- const LoginIntroduce = () =>{
|
|
|
|
- return(
|
|
|
|
- <>
|
|
|
|
- <View className="login-introduce">
|
|
|
|
- <Image
|
|
|
|
- src={require("../../../assets/box-bg.png")}
|
|
|
|
- className='avatar-image-bg'
|
|
|
|
- />
|
|
|
|
- <View className="title">登录方式选择及隐私政策告知
|
|
|
|
- <View onClick={handleClose}>
|
|
|
|
- <Image
|
|
|
|
- src={require("../../../assets/close.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />
|
|
|
|
- </View>
|
|
|
|
- </View>
|
|
|
|
- <View className="text">
|
|
|
|
- 为了您正常的使用我们的小程序服务,我们需要处理您的个人信息,具体详见 <Text onClick={goPrivacyPage} className="blue">《隐私政策》</Text>。
|
|
|
|
- 在您未确认<Text onClick={goPrivacyPage} className="blue">《隐私政策》</Text>前,我们不会搜集您的任何信息。
|
|
|
|
- 当您勾选协议后即标识您已阅读并同意<Text onClick={goPrivacyPage} className="blue">《隐私政策》</Text>和
|
|
|
|
- <Text onClick={goRegPage} className="blue">《注册政策》</Text>上的全部内容
|
|
|
|
- </View>
|
|
|
|
- <View className="checkd">
|
|
|
|
- {/* {checkboxOptions.map((item, i) => {
|
|
|
|
- return (
|
|
|
|
- <Label className='checkbox-list__label' for={i} key={i}>
|
|
|
|
- <Checkbox className='custom-checkbox' value={item.value} checked={item.checked}>{item.text}</Checkbox>
|
|
|
|
- </Label>
|
|
|
|
- )
|
|
|
|
- })} */}
|
|
|
|
- <View className="checkbox">
|
|
|
|
- {
|
|
|
|
- checked ?
|
|
|
|
- <Image onClick={handleCheckboxChange}
|
|
|
|
- src={require("../../../assets/checkd.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />:
|
|
|
|
- <Image onClick={handleCheckboxChange}
|
|
|
|
- src={require("../../../assets/check.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />
|
|
|
|
- }
|
|
|
|
- <Text onClick={handleCheckboxChange}>请确定已阅读并同意</Text>
|
|
|
|
- </View>
|
|
|
|
- <Text onClick={goRegPage} className="blue">《注册政策》</Text><Text onClick={goPrivacyPage} className="blue">《隐私政策》</Text>
|
|
|
|
- </View>
|
|
|
|
- <View>
|
|
|
|
- {
|
|
|
|
- checked ? <Button className='index-back-btn fontsize' openType='getPhoneNumber'
|
|
|
|
- onGetPhoneNumber={quickLogin}
|
|
|
|
- >一键快捷登录</Button>
|
|
|
|
- :
|
|
|
|
- <Button className='index-back-btn fontsize' onClick={quickLogin}>一键快捷登录</Button>
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- </View>
|
|
|
|
- <View onClick={showNumChange.bind(null, 1)} className="other-login">输入手机号登录</View>
|
|
|
|
- </View>
|
|
|
|
- </>
|
|
|
|
- )
|
|
|
|
- }
|
|
|
|
- const [time, setTime] = useState(60)
|
|
|
|
- const [isGetValidate, setIsGetValidate] = useState(false);
|
|
|
|
- const [validate, setValidate] = useState('');
|
|
|
|
- const [phone, setPhone] = useState('');
|
|
|
|
- const [checkedPhone, setCheckedPhone] = useState(false)
|
|
|
|
- const phoneChange = () => {
|
|
|
|
- setCheckedPhone(!checkedPhone)
|
|
|
|
- }
|
|
|
|
- const timeChange = (val) => {
|
|
|
|
- setTime(val)
|
|
|
|
- }
|
|
|
|
- const phoneNumChange = (e) => {
|
|
|
|
- setPhone(e.detail.value);
|
|
|
|
- // setFocus1(true);
|
|
|
|
- // setFocus2(false);
|
|
|
|
- }
|
|
|
|
- const validateChange = (e) => {
|
|
|
|
- setValidate(e.detail.value);
|
|
|
|
- // setFocus1(false);
|
|
|
|
- // setFocus2(true);
|
|
|
|
- }
|
|
|
|
- useEffect(() => {
|
|
|
|
- let intervalId = null;
|
|
|
|
- if (isGetValidate && time > 0) {
|
|
|
|
- intervalId = setInterval(() => {
|
|
|
|
- timeChange(prevCount => prevCount - 1);
|
|
|
|
- }, 1000);
|
|
|
|
- } else if (time === 0) {
|
|
|
|
- setIsGetValidate(false);
|
|
|
|
- clearInterval(intervalId);
|
|
|
|
- }
|
|
|
|
- return () => clearInterval(intervalId);
|
|
|
|
- }, [isGetValidate, time]);
|
|
|
|
-
|
|
|
|
- const isGetValidateChange = async () => {
|
|
|
|
- if(phone == ""){
|
|
|
|
- showToast({
|
|
|
|
- title: "手机号不能为空!",
|
|
|
|
- icon: "none",
|
|
|
|
- duration: 2000,
|
|
|
|
- });
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if(isPhoneAvailable(phone)){
|
|
|
|
- setIsGetValidate(!isGetValidate);
|
|
|
|
- setTime(60); // 重置倒计时
|
|
|
|
- let obj = {
|
|
|
|
- "channelCode":"jiheyanfa",
|
|
|
|
- // "channelCode":"txxcx01",
|
|
|
|
- "phone":ctyptoUtil.AesEncode(phone),
|
|
|
|
- "sceneType":"register"
|
|
|
|
- }
|
|
|
|
- UserApi.sendCode({
|
|
|
|
- data: { ...obj },
|
|
|
|
- }).h5toData().then((res:any) => {
|
|
|
|
- showToast({
|
|
|
|
- title: res.msg,
|
|
|
|
- icon: "none",
|
|
|
|
- duration: 2000,
|
|
|
|
- });
|
|
|
|
- })
|
|
|
|
- }else{
|
|
|
|
- showToast({
|
|
|
|
- title: "手机号有误!",
|
|
|
|
- icon: "none",
|
|
|
|
- duration: 2000,
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- const isPhoneAvailable = value => {
|
|
|
|
- let phoneReg = /^[1][3,4,5,7,8,9][0-9]{9}$/
|
|
|
|
- return phoneReg.test(value)
|
|
|
|
- }
|
|
|
|
- const submitClick = () =>{
|
|
|
|
- if(!checkedPhone){
|
|
|
|
- showToast({
|
|
|
|
- title: "请确定已阅读并同意!",
|
|
|
|
- icon: "none",
|
|
|
|
- duration: 2000,
|
|
|
|
- });
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if(phone == ""){
|
|
|
|
- showToast({
|
|
|
|
- title: "手机号不能为空!",
|
|
|
|
- icon: "none",
|
|
|
|
- duration: 2000,
|
|
|
|
- });
|
|
|
|
- return
|
|
|
|
- }else if(!isPhoneAvailable(phone)){
|
|
|
|
- showToast({
|
|
|
|
- title: "手机号有误!",
|
|
|
|
- icon: "none",
|
|
|
|
- duration: 2000,
|
|
|
|
- });
|
|
|
|
- return
|
|
|
|
- } else if(validate == ""){
|
|
|
|
- showToast({
|
|
|
|
- title: "验证码不能为空!",
|
|
|
|
- icon: "none",
|
|
|
|
- duration: 2000,
|
|
|
|
- });
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- let obj = {
|
|
|
|
- "channelCode":"jiheyanfa",
|
|
|
|
- // "channelCode":"txxcx01",
|
|
|
|
- "phone":ctyptoUtil.AesEncode(phone),
|
|
|
|
- sceneType:"register",
|
|
|
|
- uctrackid: "",
|
|
|
|
- verifyCode:validate,
|
|
|
|
- }
|
|
|
|
- UserApi.login({
|
|
|
|
- data: { ...obj },
|
|
|
|
- }).h5toData().then(async(res:any) => {
|
|
|
|
- if(res.code == 1){
|
|
|
|
- showToast({
|
|
|
|
- title: res.msg,
|
|
|
|
- icon: "none",
|
|
|
|
- duration: 2000,
|
|
|
|
- });
|
|
|
|
- }else if(res.code == 0){
|
|
|
|
- handleClose();
|
|
|
|
- let obj:any = {
|
|
|
|
- userId:res.data.userId,
|
|
|
|
- token:res.data.token,
|
|
|
|
- userMobile:phone,
|
|
|
|
- }
|
|
|
|
- UserHelper.cacheUserInfo(obj);
|
|
|
|
- indexInfoResult.data &&
|
|
|
|
- RouteUtil.toWebViewPage({
|
|
|
|
- url: indexInfoResult.data.link,
|
|
|
|
- });
|
|
|
|
- if (UserHelper.callback) {
|
|
|
|
- await UserHelper.callback();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }).catch((err)=>{
|
|
|
|
- console.log(err)
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- const aggrement = useRequest(() => {
|
|
|
|
- return UserApi.agreementsUsingPost({ data: { "pageView": "register_privacy" } }).toData();
|
|
|
|
- })
|
|
|
|
- const goRegPage = () =>{
|
|
|
|
- aggrement.data?.map((p, index) => {
|
|
|
|
- if(p.name == '注册政策'){
|
|
|
|
- RouteUtil.toWebViewPage({ url: p.url })
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- const goPrivacyPage = () =>{
|
|
|
|
- console.log(aggrement);
|
|
|
|
- aggrement.data?.map((p, index) => {
|
|
|
|
- if(p.name == '隐私政策'){
|
|
|
|
- RouteUtil.toWebViewPage({ url: p.url })
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- const PhoneLogin = () =>{
|
|
|
|
- return(
|
|
|
|
- <>
|
|
|
|
- <View className="login-introduce phone-Login">
|
|
|
|
- <View className="title">
|
|
|
|
- <Text className="text-title">登录诚易融</Text>
|
|
|
|
- <View onClick={handleClose} className="float">
|
|
|
|
- <Image
|
|
|
|
- src={require("../../../assets/close.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />
|
|
|
|
- </View>
|
|
|
|
- </View>
|
|
|
|
- <View className="input-box">
|
|
|
|
- <View className="input-phone">
|
|
|
|
- <Input type='text' placeholderClass="get" onInput={phoneNumChange} value={phone} placeholder='请输入本人实名认证手机号' maxlength={11}/>
|
|
|
|
- </View>
|
|
|
|
- <View className="input-password">
|
|
|
|
- <Input type='text' placeholderClass="get" onInput={validateChange} value={validate} placeholder='请输入验证码' maxlength={10}/>
|
|
|
|
- {
|
|
|
|
- isGetValidate ? <View className="get">重新发送 ({time}S)</View> :
|
|
|
|
- <View className="gettime" onClick={isGetValidateChange}>获取验证码</View>
|
|
|
|
- }
|
|
|
|
- </View>
|
|
|
|
- </View>
|
|
|
|
- <View className="checkd">
|
|
|
|
- <View className="checkbox">
|
|
|
|
- {
|
|
|
|
- checkedPhone ?
|
|
|
|
- <Image onClick={phoneChange}
|
|
|
|
- src={require("../../../assets/checkd.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />:
|
|
|
|
- <Image onClick={phoneChange}
|
|
|
|
- src={require("../../../assets/check.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />
|
|
|
|
- }
|
|
|
|
- <Text className="agree" onClick={phoneChange}>请确定已阅读并同意</Text>
|
|
|
|
- </View>
|
|
|
|
- <Text onClick={goRegPage} className="blue">《注册政策》</Text><Text onClick={goRegPage} className="blue">《隐私政策》</Text>
|
|
|
|
- </View>
|
|
|
|
- <View>
|
|
|
|
- <Button className='index-back-btn fontsize36' onClick={submitClick}
|
|
|
|
- >立即登录</Button>
|
|
|
|
- </View>
|
|
|
|
- </View>
|
|
|
|
- </>
|
|
|
|
- )
|
|
|
|
- }
|
|
|
|
const maskPhone = (phone:string) => {
|
|
const maskPhone = (phone:string) => {
|
|
if (!phone || phone.length !== 11) return phone; // 确保电话号码有效且长度为11位
|
|
if (!phone || phone.length !== 11) return phone; // 确保电话号码有效且长度为11位
|
|
return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1***$2');
|
|
return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1***$2');
|
|
@@ -438,116 +104,7 @@ const Mine = (props: PropsWithChildren<IMineProps>) => {
|
|
<Layout className='mine' bottomBarIndex={1}>
|
|
<Layout className='mine' bottomBarIndex={1}>
|
|
<SizeBox height={statusBarHeight}></SizeBox>
|
|
<SizeBox height={statusBarHeight}></SizeBox>
|
|
<SizeBox height={36}></SizeBox>
|
|
<SizeBox height={36}></SizeBox>
|
|
- <LoginBox isLogin={isUserLogin} userName={userName}></LoginBox>
|
|
|
|
- <AtFloatLayout isOpened={isSHow} onClose={ handleClose }>
|
|
|
|
- {
|
|
|
|
- showNum == 0 && <Image
|
|
|
|
- src={require("../../../assets/box-bg.png")}
|
|
|
|
- className='avatar-image-bg'
|
|
|
|
- />
|
|
|
|
- }
|
|
|
|
- {
|
|
|
|
- showNum == 0 ?
|
|
|
|
- <View className="login-introduce">
|
|
|
|
-
|
|
|
|
- <View className="title">登录方式选择及隐私政策告知
|
|
|
|
- <View onClick={handleClose}>
|
|
|
|
- <Image
|
|
|
|
- src={require("../../../assets/close.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />
|
|
|
|
- </View>
|
|
|
|
- </View>
|
|
|
|
- <View className="text">
|
|
|
|
- 为了您正常的使用我们的小程序服务,我们需要处理您的个人信息,具体详见 <Text onClick={goPrivacyPage} className="blue">《隐私政策》</Text>。
|
|
|
|
- 在您未确认<Text onClick={goPrivacyPage} className="blue">《隐私政策》</Text>前,我们不会搜集您的任何信息。
|
|
|
|
- 当您勾选协议后即标识您已阅读并同意<Text onClick={goPrivacyPage} className="blue">《隐私政策》</Text>和
|
|
|
|
- <Text onClick={goRegPage} className="blue">《注册政策》</Text>上的全部内容
|
|
|
|
- </View>
|
|
|
|
- <View className="checkd">
|
|
|
|
- <View className="checkbox">
|
|
|
|
- {
|
|
|
|
- checked ?
|
|
|
|
- <Image onClick={handleCheckboxChange}
|
|
|
|
- src={require("../../../assets/checkd.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />:
|
|
|
|
- <Image onClick={handleCheckboxChange}
|
|
|
|
- src={require("../../../assets/check.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />
|
|
|
|
- }
|
|
|
|
- <Text className="agree" onClick={handleCheckboxChange}>请确定已阅读并同意</Text>
|
|
|
|
- </View>
|
|
|
|
- <Text onClick={goRegPage} className="blue">《注册政策》</Text><Text onClick={goPrivacyPage} className="blue">《隐私政策》</Text>
|
|
|
|
- </View>
|
|
|
|
- <View>
|
|
|
|
- {
|
|
|
|
- checked ? <Button className='index-back-btn fontsize' openType='getPhoneNumber'
|
|
|
|
- onGetPhoneNumber={quickLogin}
|
|
|
|
- >一键快捷登录</Button>
|
|
|
|
- :
|
|
|
|
- <Button className='index-back-btn fontsize' onClick={quickLogin}>一键快捷登录</Button>
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- </View>
|
|
|
|
- <View onClick={showNumChange.bind(null, 1)} className="other-login">输入手机号登录</View>
|
|
|
|
- </View>
|
|
|
|
- : <View className="login-introduce phone-Login">
|
|
|
|
- <View className="title">
|
|
|
|
- <Text className="text-title">登录诚易融</Text>
|
|
|
|
- <View onClick={handleClose} className="float">
|
|
|
|
- <Image
|
|
|
|
- src={require("../../../assets/close.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />
|
|
|
|
- </View>
|
|
|
|
- </View>
|
|
|
|
- <View className="input-box">
|
|
|
|
- <View className="input-phone">
|
|
|
|
- <Input type='text' placeholderClass="get" onInput={phoneNumChange} value={phone} placeholder='请输入本人实名认证手机号' maxlength={11}/>
|
|
|
|
- </View>
|
|
|
|
- <View className="input-password">
|
|
|
|
- <Input type='text' placeholderClass="get" onInput={validateChange} value={validate} placeholder='请输入验证码' maxlength={10}/>
|
|
|
|
- {
|
|
|
|
- isGetValidate ? <View className="get">重新发送 ({time}S)</View> :
|
|
|
|
- <View className="gettime" onClick={isGetValidateChange}>获取验证码</View>
|
|
|
|
- }
|
|
|
|
- </View>
|
|
|
|
- </View>
|
|
|
|
- <View className="checkd">
|
|
|
|
- <View className="checkbox">
|
|
|
|
- {
|
|
|
|
- checkedPhone ?
|
|
|
|
- <Image onClick={phoneChange}
|
|
|
|
- src={require("../../../assets/checkd.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />:
|
|
|
|
- <Image onClick={phoneChange}
|
|
|
|
- src={require("../../../assets/check.png")}
|
|
|
|
- className='avatar-image'
|
|
|
|
- />
|
|
|
|
- }
|
|
|
|
- <Text onClick={phoneChange}>请确定已阅读并同意</Text>
|
|
|
|
- </View>
|
|
|
|
- <Text onClick={goRegPage} className="blue">《注册政策》</Text><Text onClick={goRegPage} className="blue">《隐私政策》</Text>
|
|
|
|
- </View>
|
|
|
|
- <View>
|
|
|
|
- <Button className='index-back-btn fontsize36' onClick={submitClick}
|
|
|
|
- >立即登录</Button>
|
|
|
|
- </View>
|
|
|
|
- </View>
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- </AtFloatLayout>
|
|
|
|
- {/* <AtFloatLayout isOpened={isSHow} onClose={ handleClose }>
|
|
|
|
- {
|
|
|
|
- showNum == 0 ? <LoginIntroduce></LoginIntroduce> : <PhoneLogin></PhoneLogin>
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- </AtFloatLayout> */}
|
|
|
|
|
|
+ <LoginBoxs isLogin={isUserLogin} userName={userName}></LoginBoxs>
|
|
<View
|
|
<View
|
|
className='mine-apply-panel'
|
|
className='mine-apply-panel'
|
|
style={{
|
|
style={{
|
|
@@ -751,6 +308,7 @@ const Mine = (props: PropsWithChildren<IMineProps>) => {
|
|
title="设置"
|
|
title="设置"
|
|
rightIcon={<Arrow />}
|
|
rightIcon={<Arrow />}
|
|
></Cell> */}
|
|
></Cell> */}
|
|
|
|
+ <LoginBox ref={childRef}></LoginBox>
|
|
</Layout>
|
|
</Layout>
|
|
);
|
|
);
|
|
};
|
|
};
|