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()
}
}