import { AtList, AtListItem, AtToast } from 'taro-ui'; import { Component, ReactNode } from 'react'; import { View, Picker, Image, Text } from '@tarojs/components'; import Taro from '@tarojs/taro'; import type CustomTabBar from '@/custom-tab-bar'; import PageFooter from '@/components/PageFooter/PageFooter'; import aboutIcon from '@/assets/icons/AboutPage/about.svg'; import pt, { Lang } from '@/plain-text'; import wechatUser from '@/wechat'; import logo from '@/assets/images/UserPage/logo.png'; import { setLocaleData } from '@/service/localeData'; import './user.scss'; const memberClickTimes = 7; export default class UserPage extends Component { state = { selector: ['简体中文', 'English'], selectorChecked: { zh_CN: '简体中文', en_US: 'English', }[pt.getCurLang()], clicks: memberClickTimes, isToastOpen: false, toastText: '', }; // 以下是TabBar相关 pageCtx = Taro.getCurrentInstance().page; componentDidShow() { const tabbar = Taro.getTabBar(this.pageCtx); tabbar?.setSelected(wechatUser.getAccess() ? 3 : 2); } // 以上是TabBar相关 onTapImage = () => { this.setState({ clicks: this.state.clicks - 1, }); if (this.state.clicks < 3) { this.setState({ toastText: pt.get().userPage.memberEntry.front + (this.state.clicks + 1).toString() + // React State's feature pt.get().userPage.memberEntry.behind, isToastOpen: true, }); if (this.state.clicks == 0) { this.setState({ isToastOpen: false, clicks: memberClickTimes, }); Taro.navigateTo({ url: '/pages/user/member/member', }); } } }; showLangDict: Record = { 简体中文: 'zh_CN', English: 'en_US', }; onSelect = (e: { detail: { value: string | number } }) => { this.setState({ selectorChecked: this.state.selector[e.detail.value], }); let currentLang = this.showLangDict[this.state.selector[e.detail.value]]; pt.setLang(currentLang); setLocaleData(currentLang); Taro.reLaunch({ url: '/pages/user/user', }); }; myTicketPage() { Taro.navigateTo({ url: '/pages/user/myTicket/myTicket', }); } informPage() { Taro.navigateTo({ url: '/pages/user/inform/inform', }); } reportPage() { Taro.navigateTo({ url: '/pages/user/report/report', }); } aboutPage() { Taro.navigateTo({ url: '/pages/user/about/about', }); } render(): ReactNode { return ( EVA Notify v1.0.0 ); } }