import Buttons from "@/components/basic/Buttons"; import { delSession } from "@/services/common"; import { clear, getInfo, getPerm, logout, uploadPerm } from "@/services/user"; import { View, Text, Image, Switch } from "@tarojs/components"; import Taro, { useDidShow, usePullDownRefresh, useShareAppMessage } from "@tarojs/taro"; import { useDispatch, useSelector } from "react-redux"; import './Profile.scss' import Box from "@/components/layout/Box"; import { BoxType, NaviBarTitleShowType, TemplateType } from "@/utils/types"; import Layout from "@/components/layout/layout"; import { useTranslation } from "react-i18next"; import TableCell from "@/components/layout/TableCell"; import { useEffect, useState } from "react"; import { jumpPage } from "@/features/trackTimeDuration/hooks/Common"; import Tabbar from "@/components/navigation/TabBar"; import { getInfoSuccess, updateDebug } from "@/store/user"; import TitleView from "@/features/trackTimeDuration/components/TitleView"; import showAlert from "@/components/basic/Alert"; import { rpxToPx } from "@/utils/tools"; import dayjs from "dayjs"; let useNavigation, SwitchRN; if (process.env.TARO_ENV == 'rn') { useNavigation = require("@react-navigation/native").useNavigation SwitchRN = require('react-native').Switch } export default function Page() { const dispatch = useDispatch(); const { t } = useTranslation() const user = useSelector((state: any) => state.user); const [switchOn, setSwitchOn] = useState(false) const [triggered, setTriggered] = useState(true) const [memberAlert, setMemberAlert] = useState(global.memberAlert) const [baseDeviceTime, setBaseDeviceTime] = useState(false) const accessObj = useSelector((state: any) => state.access); let navigation; if (useNavigation) { navigation = useNavigation() } useEffect(() => { if (process.env.TARO_ENV == 'weapp') { var status = Taro.getStorageSync('isDebug') setSwitchOn(status) } getPermissions() }, []) if (process.env.TARO_ENV == 'weapp') { useShareAppMessage((e) => { return { title: t('share.title'), path: 'pages/clock/Clock' } }) } function switchChanged(e) { setSwitchOn(e.detail.value) Taro.setStorageSync('isDebug', e.detail.value) global.isDebug = e.detail.value dispatch(updateDebug({ is_debug: e.detail.value })) } function alertChanged(e) { setMemberAlert(e.detail.value) global.memberAlert = e.detail.value Taro.setStorage({ key: 'memberAlert', data: e.detail.value }) } function baseDeviceChanged(e) { setBaseDeviceTime(e) global.baseDeviceTime = e uploadPerm({ expire_based_on_device_time: e }).then(res => { if (global.indexPageRefresh) { global.indexPageRefresh() } }) } function getPermissions() { getPerm().then(res => { setBaseDeviceTime((res as any).expire_based_on_device_time) }) } useDidShow(() => { // global.updateTab(3) }) function reset() { showAlert({ title: t('feature.common.modal.reset_session_title'), content: t('feature.common.modal.reset_session_content'), showCancel: false, confirm: () => { delSession({ type: 'WX_MP' }) } }) } function clearF() { showAlert({ title: t('feature.common.modal.deluser_title'), content: t('feature.common.modal.deluser_content'), showCancel: true, confirm: () => { dispatch(clear() as any); } }) } function tapProfile(e) { if (process.env.TARO_ENV == 'weapp') { e.stopPropagation() } if (user.isLogin) { jumpPage('/pages/account/ProfileSetting', 'ProfileSetting', navigation) } else { jumpPage('/pages/account/ChooseAuth', 'ChooseAuth', navigation) } } function tapBalance(e) { if (user.isLogin) { jumpPage('/pages/store/product_list', 'ProductList', navigation) } else { jumpPage('/pages/account/ChooseAuth', 'ChooseAuth', navigation) if (process.env.TARO_ENV == 'weapp') { e.stopPropagation() } } } function goSetting(e) { console.log('apple') jumpPage('/pages/account/Setting', 'Setting', navigation) if (process.env.TARO_ENV == 'weapp' && e) { e.stopPropagation() } } usePullDownRefresh(() => { refresh() }) function refresh() { setTriggered(true) getInfo().then(res => { console.log(res) Taro.stopPullDownRefresh() dispatch(getInfoSuccess(res)) setTriggered(false) }).catch(e => { Taro.stopPullDownRefresh() setTriggered(false) }) } function headerView() { return } function memberdesc() { if (!accessObj.access) { return '' } if (accessObj.access.member.type == 'NON_CONSUMABLE') { return 'Unlimited premium access to Pro features forever.' } if (accessObj.access.member.type == 'AUTO_RENEW') { return 'Premium access to Pro features during membership.' } return t('page.more.member_desc', { time: member_expire() }) } function member_expire() { if (global.language == 'en') { return dayjs(accessObj.access.member.expire).format('MMM D HH:mm') } return dayjs(accessObj.access.member.expire).format('YYYY年MM月DD日 HH:mm') } function detail() { return { user.isLogin ? : } {user.isLogin ? user.nickname : t('page.more.un_login')} {/* {user.isLogin ? '用户名未设置' : ''} */} { (!user.isLogin || (accessObj && accessObj.access && accessObj.access.member.status == 'NON_MEMBER')) ? {t('page.more.stone')} {t('page.more.stone_desc')} : {t('page.more.pro_member')} {memberdesc()} {/* {t('page.more.member_desc', { time: member_expire() })} */} } { user.isLogin && process.env.TARO_ENV == 'rn' && } { user.isLogin && process.env.TARO_ENV == 'weapp' && } {/* {user.isLogin && 设置 } */} { user.isLogin && user.test_user && user_id {user.id.substring(0, 6)}***{user.id.substring(user.id.length - 10, user.id.length)} session {t('page.more.reset_session')} member alert expire based on device time { process.env.TARO_ENV == 'rn' ? { baseDeviceChanged(e.nativeEvent.value) }} /> : { baseDeviceChanged(e.detail.value) }} /> } {t('page.more.debug_mode')} } {/* { user.isLogin && user.test_user && {user.id.substring(0, 6)}***{user.id.substring(user.id.length - 10, user.id.length)} } { user.isLogin && user.test_user && {t('page.more.reset_session')} } { user.isLogin && user.test_user && } */} {/* 未更改前的1px线 更改后的1px线 Svg Demo */} } return { detail() } }