import { AtList, AtListItem, AtToast } from 'taro-ui'; import { Component, ReactNode } from 'react'; import { View, Picker, Image, Text } from '@tarojs/components'; import { getUrl } from '@/service'; 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 logo from '@/assets/images/UserPage/logo.png'; import './user.scss'; const listLangInterval = 20; 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: pt.get().userPage.memberEntry.front + memberClickTimes.toString() + pt.get().userPage.memberEntry.behind, }; // 以下是TabBar相关 pageCtx = Taro.getCurrentInstance().page; componentDidShow() { const tabbar = Taro.getTabBar(this.pageCtx); tabbar?.setSelected(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); Taro.request({ url: getUrl('/user/locale/update'), method: 'POST', data: { token: 'token_test', lang: currentLang, }, }).then(res => { console.log(res.data); }); 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 v0.0.1 ); } }