index.tsx 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import { View,Text, Image, Checkbox, Button } from "@tarojs/components";
  2. import { useLogin } from '@/xiaolanbenlib/hooks/data/useAuth'
  3. import WemetaRadio from "@/components/WemetaRadio";
  4. import { useEffect, useState } from "react";
  5. import Popup from "@/components/popup/popup";
  6. import Taro, { useDidShow } from "@tarojs/taro";
  7. import { navToWebView } from "@/utils/index";
  8. import { getSysAgreements, type TAgreementItem } from "@/service/system";
  9. import { isSuccess } from "@/utils";
  10. interface IProps {
  11. showPopup: boolean
  12. setShowPopup: (b: boolean)=> void
  13. onEnd?: ()=>void
  14. }
  15. export default function Index({showPopup, setShowPopup, onEnd}:IProps) {
  16. const { onGetPhoneNumber, onError, onClick, openType } = useLogin({
  17. onSuccess: () => {
  18. console.log('yes')
  19. setShowPopup(false)
  20. onEnd?.()
  21. },
  22. })
  23. const [checked, setChecked] = useState(false);
  24. const handleChecked = () => {
  25. setChecked(prev => !prev)
  26. }
  27. const [agreements, setAgreements] = useState<TAgreementItem[]>([])
  28. const fetchPageData = async () => {
  29. const response = await getSysAgreements('register')
  30. if(isSuccess(response.status)){
  31. setAgreements(response.data)
  32. }
  33. }
  34. useEffect(()=> {
  35. fetchPageData()
  36. }, [])
  37. return (
  38. <Popup setShow={setShowPopup} show={showPopup}>
  39. <View className="text-24 text-center font-medium leading-36 text-black mb-12">欢迎来到小蓝本智能体</View>
  40. <View className="text-gray-45 text-center text-14 leading-24 mb-40">
  41. <View>激活您的AI商务分身,开启智能商务</View>
  42. <View>7x24h随时应答·智能管理知识库·主动拓展人脉</View>
  43. </View>
  44. <Button
  45. disabled={!checked}
  46. className="button-rounded-big mb-16"
  47. style={{backgroundColor: '#317CFA', fontSize: '14px'}}
  48. type='primary'
  49. openType={openType}
  50. onGetPhoneNumber={onGetPhoneNumber}
  51. onError={onError}
  52. onClick={() => {
  53. onClick()
  54. }}
  55. >
  56. 手机号快速登录
  57. </Button>
  58. <View className="flex items-center justify-center text-12 mb-86 text-center">
  59. <View className="flex-center text-gray-45 gap-8" onClick={handleChecked}><WemetaRadio checkbox checked={checked}></WemetaRadio>同意</View>
  60. {agreements.map(item=> <Text onClick={()=> navToWebView(item.link)} className="primary-color">《{item.name}》</Text>)}
  61. </View>
  62. </Popup>
  63. );
  64. }