Compare commits
11 Commits
51106ead5e
...
2920059ffa
| Author | SHA1 | Date |
|---|---|---|
|
|
2920059ffa | |
|
|
d2de74578b | |
|
|
ac23f88cdd | |
|
|
e1e998628f | |
|
|
806e7a393c | |
|
|
fd6a60d1d3 | |
|
|
36a9a35886 | |
|
|
dd770b8ece | |
|
|
b174304d74 | |
|
|
88cdb6cb92 | |
|
|
00977db512 |
89
mock/api.ts
89
mock/api.ts
|
|
@ -1,8 +1,5 @@
|
||||||
import userinfo from './userinfo.json';
|
import mytickets from './mytickets.json';
|
||||||
import lang from './lang.json';
|
import ticketInfo from './ticketInfo.json';
|
||||||
import report from './report.json';
|
|
||||||
import newComment from './newComment.json';
|
|
||||||
import ticket from './ticket.json';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
'GET /dutyinfo': {
|
'GET /dutyinfo': {
|
||||||
|
|
@ -23,95 +20,35 @@ export default {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'POST /user/update': {
|
'POST /user/update': {
|
||||||
file: userinfo,
|
data: {},
|
||||||
},
|
},
|
||||||
'GET /user/locale/get': {
|
'GET /user/locale/get': {
|
||||||
success: true,
|
success: true,
|
||||||
data: {
|
data: {
|
||||||
token: 'token_test',
|
lang: 'en_US',
|
||||||
lang: 'zn_CN',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'POST /user/locale/update': {
|
'POST /user/locale/update': {
|
||||||
file: lang,
|
data: {},
|
||||||
},
|
},
|
||||||
'POST /report': {
|
'POST /report': {
|
||||||
file: report,
|
data: {},
|
||||||
},
|
},
|
||||||
'GET /user/mytickets': {
|
'GET /user/mytickets': {
|
||||||
success: true,
|
success: true,
|
||||||
data: {
|
data: mytickets,
|
||||||
list: [
|
|
||||||
{
|
|
||||||
id: 6830,
|
|
||||||
type: 1,
|
|
||||||
status: 5,
|
|
||||||
device: '主机',
|
|
||||||
deviceModel: '技嘉',
|
|
||||||
owner: '武技栏',
|
|
||||||
phone: '18888888888',
|
|
||||||
createdTime: '2024-03-06T19:49:27.043865',
|
|
||||||
isConfirmed: false,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
'GET /tickets/info/': {
|
'GET /tickets/info/': {
|
||||||
success: true,
|
success: true,
|
||||||
data: {
|
data: ticketInfo,
|
||||||
id: 6847,
|
|
||||||
type: 1,
|
|
||||||
device: '华硕',
|
|
||||||
deviceModel: '灵耀X14',
|
|
||||||
owner: '唐姐姐',
|
|
||||||
phone: '15555555555',
|
|
||||||
description: '清灰',
|
|
||||||
workers: [],
|
|
||||||
createdTime: '2024-03-07T19:52:48.523303',
|
|
||||||
status: 5,
|
|
||||||
isConfirmed: false,
|
|
||||||
notes: [
|
|
||||||
{
|
|
||||||
avatar: 'https://....jpg',
|
|
||||||
id: 21368,
|
|
||||||
op: '宇航员',
|
|
||||||
type: 0,
|
|
||||||
content: '',
|
|
||||||
createdTime: '2024-03-07T19:52:48.523305',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
avatar: 'https://....jpg',
|
|
||||||
id: 21370,
|
|
||||||
op: '宇航员',
|
|
||||||
type: 2,
|
|
||||||
content: '1',
|
|
||||||
createdTime: '2024-03-07T19:58:27.838816',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
avatar: 'https://....jpg',
|
|
||||||
id: 21373,
|
|
||||||
op: '宇航员',
|
|
||||||
type: 2,
|
|
||||||
content: '4',
|
|
||||||
createdTime: '2024-03-07T20:28:12.070707',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
avatar: 'https://....jpg',
|
|
||||||
id: 21374,
|
|
||||||
op: '宇航员',
|
|
||||||
type: 2,
|
|
||||||
content: '5',
|
|
||||||
createdTime: '2024-03-07T20:30:15.770486',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
accessories: [2],
|
|
||||||
picked: false,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
'POST /tickets/newcomment': {
|
'POST /tickets/newcomment': {
|
||||||
file: newComment,
|
data: {},
|
||||||
},
|
},
|
||||||
'POST /tickets/create': {
|
'POST /tickets/create': {
|
||||||
file: ticket,
|
data: {},
|
||||||
|
},
|
||||||
|
'POST /member/login': {
|
||||||
|
data: {},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"token": "token_test",
|
|
||||||
"lang": "en_US"
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"id": 6830,
|
||||||
|
"type": 1,
|
||||||
|
"status": 5,
|
||||||
|
"device": "主机",
|
||||||
|
"deviceModel": "技嘉",
|
||||||
|
"owner": "武技栏",
|
||||||
|
"phone": "18888888888",
|
||||||
|
"createdTime": "2024-03-06T19:49:27.043865",
|
||||||
|
"isConfirmed": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"token": "token_test",
|
|
||||||
"content": "这是一条评论"
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"token": "token_test",
|
|
||||||
"content": "aaa bbbb cccc"
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"token": "token_test",
|
|
||||||
"type": 1,
|
|
||||||
"device": "华硕",
|
|
||||||
"deviceModel": "天选3",
|
|
||||||
"owner": "西西弗",
|
|
||||||
"phone": "12333333333",
|
|
||||||
"description": "没法用pd充电",
|
|
||||||
"accessories": [0]
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
"id": 6847,
|
||||||
|
"type": 1,
|
||||||
|
"device": "华硕",
|
||||||
|
"deviceModel": "灵耀X14",
|
||||||
|
"owner": "唐姐姐",
|
||||||
|
"phone": "15555555555",
|
||||||
|
"description": "清灰",
|
||||||
|
"workers": [],
|
||||||
|
"createdTime": "2024-03-07T19:52:48.523303",
|
||||||
|
"status": 5,
|
||||||
|
"isConfirmed": false,
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"avatar": "https://....jpg",
|
||||||
|
"id": 21368,
|
||||||
|
"op": "宇航员",
|
||||||
|
"type": 0,
|
||||||
|
"content": "",
|
||||||
|
"createdTime": "2024-03-07T19:52:48.523305"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"avatar": "https://....jpg",
|
||||||
|
"id": 21370,
|
||||||
|
"op": "宇航员",
|
||||||
|
"type": 2,
|
||||||
|
"content": "1",
|
||||||
|
"createdTime": "2024-03-07T19:58:27.838816"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"avatar": "https://....jpg",
|
||||||
|
"id": 21373,
|
||||||
|
"op": "宇航员",
|
||||||
|
"type": 2,
|
||||||
|
"content": "4",
|
||||||
|
"createdTime": "2024-03-07T20:28:12.070707"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"avatar": "https://....jpg",
|
||||||
|
"id": 21374,
|
||||||
|
"op": "宇航员",
|
||||||
|
"type": 2,
|
||||||
|
"content": "5",
|
||||||
|
"createdTime": "2024-03-07T20:30:15.770486"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"accessories": [2],
|
||||||
|
"picked": false
|
||||||
|
}
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"name": "宇航员",
|
|
||||||
"phone": "12333332103"
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
204
package.json
204
package.json
|
|
@ -1,104 +1,104 @@
|
||||||
{
|
{
|
||||||
"name": "eva-notify",
|
"name": "eva-notify",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "A Wechat miniprogram project of EVA platform",
|
"description": "A Wechat miniprogram project of EVA platform",
|
||||||
"templateInfo": {
|
"templateInfo": {
|
||||||
"name": "default",
|
"name": "default",
|
||||||
"typescript": true,
|
"typescript": true,
|
||||||
"css": "Sass",
|
"css": "Sass",
|
||||||
"framework": "React"
|
"framework": "React"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build:weapp": "taro build --type weapp",
|
"build:weapp": "taro build --type weapp",
|
||||||
"build:swan": "taro build --type swan",
|
"build:swan": "taro build --type swan",
|
||||||
"build:alipay": "taro build --type alipay",
|
"build:alipay": "taro build --type alipay",
|
||||||
"build:tt": "taro build --type tt",
|
"build:tt": "taro build --type tt",
|
||||||
"build:h5": "taro build --type h5",
|
"build:h5": "taro build --type h5",
|
||||||
"build:rn": "taro build --type rn",
|
"build:rn": "taro build --type rn",
|
||||||
"build:qq": "taro build --type qq",
|
"build:qq": "taro build --type qq",
|
||||||
"build:jd": "taro build --type jd",
|
"build:jd": "taro build --type jd",
|
||||||
"build:quickapp": "taro build --type quickapp",
|
"build:quickapp": "taro build --type quickapp",
|
||||||
"build:harmony-hybrid": "taro build --type harmony-hybrid",
|
"build:harmony-hybrid": "taro build --type harmony-hybrid",
|
||||||
"dev:weapp": "npm run build:weapp -- --watch --mode dev",
|
"dev:weapp": "npm run build:weapp -- --watch --mode dev",
|
||||||
"dev:swan": "npm run build:swan -- --watch",
|
"dev:swan": "npm run build:swan -- --watch",
|
||||||
"dev:alipay": "npm run build:alipay -- --watch",
|
"dev:alipay": "npm run build:alipay -- --watch",
|
||||||
"dev:tt": "npm run build:tt -- --watch",
|
"dev:tt": "npm run build:tt -- --watch",
|
||||||
"dev:h5": "npm run build:h5 -- --watch",
|
"dev:h5": "npm run build:h5 -- --watch",
|
||||||
"dev:rn": "npm run build:rn -- --watch",
|
"dev:rn": "npm run build:rn -- --watch",
|
||||||
"dev:qq": "npm run build:qq -- --watch",
|
"dev:qq": "npm run build:qq -- --watch",
|
||||||
"dev:jd": "npm run build:jd -- --watch",
|
"dev:jd": "npm run build:jd -- --watch",
|
||||||
"dev:quickapp": "npm run build:quickapp -- --watch",
|
"dev:quickapp": "npm run build:quickapp -- --watch",
|
||||||
"dev:harmony-hybrid": "npm run build:harmony-hybrid -- --watch",
|
"dev:harmony-hybrid": "npm run build:harmony-hybrid -- --watch",
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
"prepare": "husky install"
|
"prepare": "husky install"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"last 3 versions",
|
"last 3 versions",
|
||||||
"Android >= 4.1",
|
"Android >= 4.1",
|
||||||
"ios >= 8"
|
"ios >= 8"
|
||||||
],
|
],
|
||||||
"author": "",
|
"author": "",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.21.5",
|
"@babel/runtime": "^7.21.5",
|
||||||
"@tarojs/components": "3.6.24",
|
"@tarojs/components": "3.6.24",
|
||||||
"@tarojs/helper": "3.6.24",
|
"@tarojs/helper": "3.6.24",
|
||||||
"@tarojs/plugin-framework-react": "3.6.24",
|
"@tarojs/plugin-framework-react": "3.6.24",
|
||||||
"@tarojs/plugin-platform-alipay": "3.6.24",
|
"@tarojs/plugin-platform-alipay": "3.6.24",
|
||||||
"@tarojs/plugin-platform-harmony-hybrid": "3.6.24",
|
"@tarojs/plugin-platform-harmony-hybrid": "3.6.24",
|
||||||
"@tarojs/plugin-platform-jd": "3.6.24",
|
"@tarojs/plugin-platform-jd": "3.6.24",
|
||||||
"@tarojs/plugin-platform-qq": "3.6.24",
|
"@tarojs/plugin-platform-qq": "3.6.24",
|
||||||
"@tarojs/plugin-platform-swan": "3.6.24",
|
"@tarojs/plugin-platform-swan": "3.6.24",
|
||||||
"@tarojs/plugin-platform-tt": "3.6.24",
|
"@tarojs/plugin-platform-tt": "3.6.24",
|
||||||
"@tarojs/plugin-platform-weapp": "3.6.24",
|
"@tarojs/plugin-platform-weapp": "3.6.24",
|
||||||
"@tarojs/react": "3.6.24",
|
"@tarojs/react": "3.6.24",
|
||||||
"@tarojs/runtime": "3.6.24",
|
"@tarojs/runtime": "3.6.24",
|
||||||
"@tarojs/shared": "3.6.24",
|
"@tarojs/shared": "3.6.24",
|
||||||
"@tarojs/taro": "3.6.24",
|
"@tarojs/taro": "3.6.24",
|
||||||
"moment": "^2.30.1",
|
"moment": "^2.30.1",
|
||||||
"process": "^0.11.10",
|
"process": "^0.11.10",
|
||||||
"react": "^18.0.0",
|
"react": "^18.0.0",
|
||||||
"react-dom": "^18.0.0",
|
"react-dom": "^18.0.0",
|
||||||
"taro-ui": "^3.3.0"
|
"taro-ui": "^3.3.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.8.0",
|
"@babel/core": "^7.8.0",
|
||||||
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
|
||||||
"@tarojs/cli": "3.6.24",
|
"@tarojs/cli": "3.6.24",
|
||||||
"@tarojs/plugin-mock": "^0.0.9",
|
"@tarojs/plugin-mock": "^0.0.9",
|
||||||
"@tarojs/plugin-platform-h5": "^3.6.24",
|
"@tarojs/plugin-platform-h5": "3.6.24",
|
||||||
"@tarojs/taro-loader": "3.6.24",
|
"@tarojs/taro-loader": "3.6.24",
|
||||||
"@tarojs/test-utils-react": "^0.1.1",
|
"@tarojs/test-utils-react": "^0.1.1",
|
||||||
"@tarojs/webpack5-runner": "3.6.24",
|
"@tarojs/webpack5-runner": "3.6.24",
|
||||||
"@types/jest": "^29.3.1",
|
"@types/jest": "^29.3.1",
|
||||||
"@types/node": "^18.15.11",
|
"@types/node": "^18.15.11",
|
||||||
"@types/react": "^18.0.0",
|
"@types/react": "^18.0.0",
|
||||||
"@types/sass": "^1.43.1",
|
"@types/sass": "^1.43.1",
|
||||||
"@types/webpack-env": "^1.13.6",
|
"@types/webpack-env": "^1.13.6",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.2.0",
|
"@typescript-eslint/eslint-plugin": "^6.2.0",
|
||||||
"@typescript-eslint/parser": "^6.2.0",
|
"@typescript-eslint/parser": "^6.2.0",
|
||||||
"babel-preset-taro": "3.6.24",
|
"babel-preset-taro": "3.6.24",
|
||||||
"eslint": "^8.12.0",
|
"eslint": "^8.12.0",
|
||||||
"eslint-config-taro": "3.6.24",
|
"eslint-config-taro": "3.6.24",
|
||||||
"eslint-plugin-import": "^2.12.0",
|
"eslint-plugin-import": "^2.12.0",
|
||||||
"eslint-plugin-prettier": "^5.1.3",
|
"eslint-plugin-prettier": "^5.1.3",
|
||||||
"eslint-plugin-react": "^7.8.2",
|
"eslint-plugin-react": "^7.8.2",
|
||||||
"eslint-plugin-react-hooks": "^4.2.0",
|
"eslint-plugin-react-hooks": "^4.2.0",
|
||||||
"husky": "^9.0.11",
|
"husky": "^9.0.11",
|
||||||
"jest": "^29.3.1",
|
"jest": "^29.3.1",
|
||||||
"jest-environment-jsdom": "^29.5.0",
|
"jest-environment-jsdom": "^29.5.0",
|
||||||
"lint-staged": "^15.2.2",
|
"lint-staged": "^15.2.2",
|
||||||
"mockjs": "^1.1.0",
|
"mockjs": "^1.1.0",
|
||||||
"postcss": "^8.4.18",
|
"postcss": "^8.4.18",
|
||||||
"react-refresh": "^0.11.0",
|
"react-refresh": "^0.11.0",
|
||||||
"stylelint": "^14.4.0",
|
"stylelint": "^14.4.0",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.1",
|
||||||
"tsconfig-paths-webpack-plugin": "^4.1.0",
|
"tsconfig-paths-webpack-plugin": "^4.1.0",
|
||||||
"typescript": "^5.1.0",
|
"typescript": "^5.1.0",
|
||||||
"webpack": "5.78.0"
|
"webpack": "5.78.0"
|
||||||
},
|
},
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
"*.ts": "prettier --write",
|
"*.ts": "prettier --write",
|
||||||
"*.tsx": "prettier --write"
|
"*.tsx": "prettier --write"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ export default defineAppConfig({
|
||||||
'pages/user/inform/inform',
|
'pages/user/inform/inform',
|
||||||
'pages/user/about/about',
|
'pages/user/about/about',
|
||||||
'pages/user/report/report',
|
'pages/user/report/report',
|
||||||
|
'pages/user/member/member',
|
||||||
],
|
],
|
||||||
window: {
|
window: {
|
||||||
backgroundTextStyle: 'light',
|
backgroundTextStyle: 'light',
|
||||||
|
|
|
||||||
14
src/app.ts
14
src/app.ts
|
|
@ -1,11 +1,23 @@
|
||||||
import { PropsWithChildren } from 'react';
|
import { PropsWithChildren } from 'react';
|
||||||
import { useLaunch } from '@tarojs/taro';
|
import Taro, { useLaunch } from '@tarojs/taro';
|
||||||
|
import { getUrl } from '@/service';
|
||||||
|
import pt from '@/plain-text';
|
||||||
import 'taro-ui/dist/style/index.scss';
|
import 'taro-ui/dist/style/index.scss';
|
||||||
import './app.scss';
|
import './app.scss';
|
||||||
|
|
||||||
function App({ children }: PropsWithChildren<any>) {
|
function App({ children }: PropsWithChildren<any>) {
|
||||||
useLaunch(() => {
|
useLaunch(() => {
|
||||||
console.log('App launched.');
|
console.log('App launched.');
|
||||||
|
Taro.request({
|
||||||
|
url: getUrl('/user/locale/get'),
|
||||||
|
method: 'GET',
|
||||||
|
data: {
|
||||||
|
token: 'token_test',
|
||||||
|
},
|
||||||
|
}).then(res => {
|
||||||
|
console.log(res.data);
|
||||||
|
pt.setLang(res.data.data.lang);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// children 是将要会渲染的页面
|
// children 是将要会渲染的页面
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
import { Component, ReactNode } from 'react';
|
import { Component, ReactNode } from 'react';
|
||||||
import { AtForm, AtInput, AtButton, AtMessage } from 'taro-ui';
|
import { AtForm, AtInput, AtButton, AtMessage } from 'taro-ui';
|
||||||
|
import { getUrl } from '@/service';
|
||||||
import Taro from '@tarojs/taro';
|
import Taro from '@tarojs/taro';
|
||||||
import pt from '@/plain-text';
|
import pt from '@/plain-text';
|
||||||
import './inform.scss';
|
import './inform.scss';
|
||||||
|
|
||||||
|
const submitInterval = 5000;
|
||||||
|
|
||||||
export default class InformPage extends Component {
|
export default class InformPage extends Component {
|
||||||
state = {
|
state = {
|
||||||
phone: '',
|
phone: '',
|
||||||
|
|
@ -29,43 +32,56 @@ export default class InformPage extends Component {
|
||||||
isDisable: true,
|
isDisable: true,
|
||||||
});
|
});
|
||||||
console.log(this.state.name, this.state.phone);
|
console.log(this.state.name, this.state.phone);
|
||||||
|
Taro.request({
|
||||||
|
url: getUrl('/user/update'),
|
||||||
|
method: 'POST',
|
||||||
|
data: {
|
||||||
|
token: 'token_test',
|
||||||
|
name: this.state.name,
|
||||||
|
phone: this.state.phone,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
console.log(res.data);
|
||||||
|
Taro.atMessage({
|
||||||
|
message: pt.get().button.submitText.success,
|
||||||
|
type: 'success',
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
console.log(err);
|
||||||
|
Taro.atMessage({
|
||||||
|
message: pt.get().button.submitText.error + err.toString(),
|
||||||
|
type: 'error',
|
||||||
|
});
|
||||||
|
});
|
||||||
this.setState({
|
this.setState({
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
});
|
});
|
||||||
Taro.atMessage({
|
|
||||||
message: pt.get().informPage.submitText.success,
|
|
||||||
type: 'success',
|
|
||||||
});
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.setState({
|
this.setState({
|
||||||
isDisable: false,
|
isDisable: false,
|
||||||
});
|
});
|
||||||
}, 5000);
|
}, submitInterval);
|
||||||
}
|
|
||||||
onReset() {
|
|
||||||
this.setState({
|
|
||||||
phone: '',
|
|
||||||
name: '',
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
render(): ReactNode {
|
render(): ReactNode {
|
||||||
return (
|
return (
|
||||||
<AtForm
|
<AtForm onSubmit={this.onSubmit.bind(this)}>
|
||||||
onSubmit={this.onSubmit.bind(this)}
|
|
||||||
onReset={this.onReset.bind(this)}
|
|
||||||
>
|
|
||||||
<AtMessage />
|
<AtMessage />
|
||||||
<AtInput
|
<AtInput
|
||||||
|
clear
|
||||||
|
required
|
||||||
name='phone'
|
name='phone'
|
||||||
title={pt.get().informPage.phoneText.title}
|
title={pt.get().informPage.phoneText.title}
|
||||||
type='text'
|
type='number'
|
||||||
placeholder={pt.get().informPage.phoneText.placeholder}
|
placeholder={pt.get().informPage.phoneText.placeholder}
|
||||||
value={this.state.phone}
|
value={this.state.phone}
|
||||||
onChange={this.handleChangePhone.bind(this)}
|
onChange={this.handleChangePhone.bind(this)}
|
||||||
/>
|
/>
|
||||||
<AtInput
|
<AtInput
|
||||||
required
|
required
|
||||||
|
clear
|
||||||
name='name'
|
name='name'
|
||||||
title={pt.get().informPage.nameText.title}
|
title={pt.get().informPage.nameText.title}
|
||||||
type='text'
|
type='text'
|
||||||
|
|
@ -79,10 +95,7 @@ export default class InformPage extends Component {
|
||||||
type='primary'
|
type='primary'
|
||||||
disabled={this.state.isDisable}
|
disabled={this.state.isDisable}
|
||||||
>
|
>
|
||||||
{pt.get().informPage.buttonText.submit}
|
{pt.get().button.buttonText.submit}
|
||||||
</AtButton>
|
|
||||||
<AtButton formType='reset' type='secondary'>
|
|
||||||
{pt.get().informPage.buttonText.reset}
|
|
||||||
</AtButton>
|
</AtButton>
|
||||||
</AtForm>
|
</AtForm>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
export default definePageConfig({
|
||||||
|
usingComponents: {},
|
||||||
|
});
|
||||||
|
|
@ -0,0 +1,103 @@
|
||||||
|
import { Component, ReactNode } from 'react';
|
||||||
|
import { AtForm, AtInput, AtButton, AtMessage } from 'taro-ui';
|
||||||
|
import { getUrl } from '@/service';
|
||||||
|
import Taro from '@tarojs/taro';
|
||||||
|
import pt from '@/plain-text';
|
||||||
|
import './member.scss';
|
||||||
|
|
||||||
|
const loginInterval = 5000;
|
||||||
|
|
||||||
|
export default class MemberPage extends Component {
|
||||||
|
state = {
|
||||||
|
stuid: '',
|
||||||
|
passwd: '',
|
||||||
|
isLoading: false,
|
||||||
|
isDisable: false,
|
||||||
|
};
|
||||||
|
handleChangeStuid(stuid: string) {
|
||||||
|
this.setState({
|
||||||
|
stuid: stuid,
|
||||||
|
});
|
||||||
|
return stuid;
|
||||||
|
}
|
||||||
|
handleChangePasswd(passwd: string) {
|
||||||
|
this.setState({
|
||||||
|
passwd: passwd,
|
||||||
|
});
|
||||||
|
return passwd;
|
||||||
|
}
|
||||||
|
onSubmit() {
|
||||||
|
this.setState({
|
||||||
|
isLoading: true,
|
||||||
|
isDisable: true,
|
||||||
|
});
|
||||||
|
console.log([this.state.stuid, this.state.passwd]);
|
||||||
|
Taro.request({
|
||||||
|
url: getUrl('/member/login'),
|
||||||
|
method: 'POST',
|
||||||
|
data: {
|
||||||
|
token: 'token_test',
|
||||||
|
name: this.state.stuid,
|
||||||
|
passwd: this.state.passwd,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
console.log(res.data);
|
||||||
|
Taro.atMessage({
|
||||||
|
message: pt.get().button.loginText.success,
|
||||||
|
type: 'success',
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
console.log(err);
|
||||||
|
Taro.atMessage({
|
||||||
|
message: pt.get().button.loginText.error + err.toString(),
|
||||||
|
type: 'error',
|
||||||
|
});
|
||||||
|
});
|
||||||
|
this.setState({
|
||||||
|
isLoading: false,
|
||||||
|
});
|
||||||
|
setTimeout(() => {
|
||||||
|
this.setState({
|
||||||
|
isDisable: false,
|
||||||
|
});
|
||||||
|
}, loginInterval);
|
||||||
|
}
|
||||||
|
|
||||||
|
render(): ReactNode {
|
||||||
|
return (
|
||||||
|
<AtForm onSubmit={this.onSubmit.bind(this)}>
|
||||||
|
<AtMessage />
|
||||||
|
<AtInput
|
||||||
|
required
|
||||||
|
name='stuid'
|
||||||
|
title={pt.get().memberPage.stuidText.title}
|
||||||
|
type='number'
|
||||||
|
clear
|
||||||
|
placeholder={pt.get().memberPage.stuidText.placeholder}
|
||||||
|
value={this.state.stuid}
|
||||||
|
onChange={this.handleChangeStuid.bind(this)}
|
||||||
|
/>
|
||||||
|
<AtInput
|
||||||
|
clear
|
||||||
|
required
|
||||||
|
name='name'
|
||||||
|
title={pt.get().memberPage.passwdText.title}
|
||||||
|
type='password'
|
||||||
|
placeholder={pt.get().memberPage.passwdText.placeholder}
|
||||||
|
value={this.state.passwd}
|
||||||
|
onChange={this.handleChangePasswd.bind(this)}
|
||||||
|
/>
|
||||||
|
<AtButton
|
||||||
|
loading={this.state.isLoading}
|
||||||
|
formType='submit'
|
||||||
|
type='primary'
|
||||||
|
disabled={this.state.isDisable}
|
||||||
|
>
|
||||||
|
{pt.get().button.buttonText.login}
|
||||||
|
</AtButton>
|
||||||
|
</AtForm>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
import { AtTextarea, AtButton, AtForm, AtMessage } from 'taro-ui';
|
import { AtTextarea, AtButton, AtForm, AtMessage } from 'taro-ui';
|
||||||
import { Component, ReactNode } from 'react';
|
import { Component, ReactNode } from 'react';
|
||||||
|
import { getUrl } from '@/service';
|
||||||
import Taro from '@tarojs/taro';
|
import Taro from '@tarojs/taro';
|
||||||
import pt from '@/plain-text';
|
import pt from '@/plain-text';
|
||||||
import './report.scss';
|
import './report.scss';
|
||||||
|
|
||||||
|
const submitInterval = 5000;
|
||||||
|
|
||||||
export default class SettingsPage extends Component {
|
export default class SettingsPage extends Component {
|
||||||
state = {
|
state = {
|
||||||
report: '',
|
report: '',
|
||||||
|
|
@ -21,18 +24,36 @@ export default class SettingsPage extends Component {
|
||||||
isDisable: true,
|
isDisable: true,
|
||||||
});
|
});
|
||||||
console.log(this.state.report);
|
console.log(this.state.report);
|
||||||
|
Taro.request({
|
||||||
|
url: getUrl('/report'),
|
||||||
|
method: 'POST',
|
||||||
|
data: {
|
||||||
|
token: 'token_test',
|
||||||
|
report: this.state.report,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
console.log(res.data);
|
||||||
|
Taro.atMessage({
|
||||||
|
message: pt.get().button.submitText.success,
|
||||||
|
type: 'success',
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
console.log(err);
|
||||||
|
Taro.atMessage({
|
||||||
|
message: pt.get().button.submitText.error + err.toString(),
|
||||||
|
type: 'error',
|
||||||
|
});
|
||||||
|
});
|
||||||
this.setState({
|
this.setState({
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
});
|
});
|
||||||
Taro.atMessage({
|
|
||||||
message: '提交成功',
|
|
||||||
type: 'success',
|
|
||||||
});
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.setState({
|
this.setState({
|
||||||
isDisable: false,
|
isDisable: false,
|
||||||
});
|
});
|
||||||
}, 5000);
|
}, submitInterval);
|
||||||
}
|
}
|
||||||
onReset() {
|
onReset() {
|
||||||
this.setState({
|
this.setState({
|
||||||
|
|
@ -58,10 +79,10 @@ export default class SettingsPage extends Component {
|
||||||
type='primary'
|
type='primary'
|
||||||
disabled={this.state.isDisable}
|
disabled={this.state.isDisable}
|
||||||
>
|
>
|
||||||
{pt.get().reportPage.buttonText.submit}
|
{pt.get().button.buttonText.submit}
|
||||||
</AtButton>
|
</AtButton>
|
||||||
<AtButton formType='reset' type='secondary'>
|
<AtButton formType='reset' type='secondary'>
|
||||||
{pt.get().reportPage.buttonText.reset}
|
{pt.get().button.buttonText.reset}
|
||||||
</AtButton>
|
</AtButton>
|
||||||
</AtForm>
|
</AtForm>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import { AtList, AtListItem } from 'taro-ui';
|
import { AtList, AtListItem, AtToast } from 'taro-ui';
|
||||||
import { Component, ReactNode } from 'react';
|
import { Component, ReactNode } from 'react';
|
||||||
import { View, Picker, Image, Text } from '@tarojs/components';
|
import { View, Picker, Image, Text } from '@tarojs/components';
|
||||||
|
import { getUrl } from '@/service';
|
||||||
import Taro from '@tarojs/taro';
|
import Taro from '@tarojs/taro';
|
||||||
import type CustomTabBar from '@/custom-tab-bar';
|
import type CustomTabBar from '@/custom-tab-bar';
|
||||||
import PageFooter from '@/components/PageFooter/PageFooter';
|
import PageFooter from '@/components/PageFooter/PageFooter';
|
||||||
|
|
@ -9,6 +10,9 @@ import pt, { Lang } from '@/plain-text';
|
||||||
import logo from '@/assets/images/UserPage/logo.png';
|
import logo from '@/assets/images/UserPage/logo.png';
|
||||||
import './user.scss';
|
import './user.scss';
|
||||||
|
|
||||||
|
const listLangInterval = 20;
|
||||||
|
const memberClickTimes = 7;
|
||||||
|
|
||||||
export default class UserPage extends Component {
|
export default class UserPage extends Component {
|
||||||
state = {
|
state = {
|
||||||
selector: ['简体中文', 'English'],
|
selector: ['简体中文', 'English'],
|
||||||
|
|
@ -16,6 +20,9 @@ export default class UserPage extends Component {
|
||||||
zh_CN: '简体中文',
|
zh_CN: '简体中文',
|
||||||
en_US: 'English',
|
en_US: 'English',
|
||||||
}[pt.getCurLang()],
|
}[pt.getCurLang()],
|
||||||
|
clicks: memberClickTimes,
|
||||||
|
isToastOpen: false,
|
||||||
|
toastText: '',
|
||||||
};
|
};
|
||||||
|
|
||||||
// 以下是TabBar相关
|
// 以下是TabBar相关
|
||||||
|
|
@ -26,6 +33,30 @@ export default class UserPage extends Component {
|
||||||
}
|
}
|
||||||
// 以上是TabBar相关
|
// 以上是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<string, Lang> = {
|
showLangDict: Record<string, Lang> = {
|
||||||
简体中文: 'zh_CN',
|
简体中文: 'zh_CN',
|
||||||
English: 'en_US',
|
English: 'en_US',
|
||||||
|
|
@ -35,7 +66,18 @@ export default class UserPage extends Component {
|
||||||
this.setState({
|
this.setState({
|
||||||
selectorChecked: this.state.selector[e.detail.value],
|
selectorChecked: this.state.selector[e.detail.value],
|
||||||
});
|
});
|
||||||
pt.setLang(this.showLangDict[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({
|
Taro.reLaunch({
|
||||||
url: '/pages/user/user',
|
url: '/pages/user/user',
|
||||||
});
|
});
|
||||||
|
|
@ -72,13 +114,21 @@ export default class UserPage extends Component {
|
||||||
className='at-row at-row__justify--center at-row__align--end'
|
className='at-row at-row__justify--center at-row__align--end'
|
||||||
style='height:110px;'
|
style='height:110px;'
|
||||||
>
|
>
|
||||||
<Image style='width: 100px;height: 100px;' src={logo} />
|
<Image
|
||||||
|
onTap={this.onTapImage}
|
||||||
|
style='width: 100px;height: 100px;'
|
||||||
|
src={logo}
|
||||||
|
/>
|
||||||
</View>
|
</View>
|
||||||
|
<AtToast
|
||||||
|
isOpened={this.state.isToastOpen}
|
||||||
|
text={this.state.toastText}
|
||||||
|
></AtToast>
|
||||||
<View
|
<View
|
||||||
className='at-row at-row__justify--center at-row__align--center'
|
className='at-row at-row__justify--center at-row__align--center'
|
||||||
style='height:60px;color:#696969;'
|
style='height:60px;color:#696969;'
|
||||||
>
|
>
|
||||||
<Text> EVA Notify v0.0.1</Text>
|
<Text> EVA Notify v1.0.0</Text>
|
||||||
</View>
|
</View>
|
||||||
<AtList>
|
<AtList>
|
||||||
<AtListItem
|
<AtListItem
|
||||||
|
|
@ -111,7 +161,7 @@ export default class UserPage extends Component {
|
||||||
thumb={aboutIcon}
|
thumb={aboutIcon}
|
||||||
onClick={this.aboutPage}
|
onClick={this.aboutPage}
|
||||||
/>
|
/>
|
||||||
<View style={{ height: 20 }}></View>
|
<View style={{ height: listLangInterval }}></View>
|
||||||
<Picker
|
<Picker
|
||||||
mode='selector'
|
mode='selector'
|
||||||
range={this.state.selector}
|
range={this.state.selector}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
export interface ButtonText {
|
||||||
|
buttonText: {
|
||||||
|
submit: string;
|
||||||
|
reset: string;
|
||||||
|
login: string;
|
||||||
|
};
|
||||||
|
submitText: {
|
||||||
|
success: string;
|
||||||
|
error: string;
|
||||||
|
};
|
||||||
|
loginText: {
|
||||||
|
success: string;
|
||||||
|
error: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export const buttonZhCn: ButtonText = {
|
||||||
|
buttonText: {
|
||||||
|
submit: '提交',
|
||||||
|
reset: '清空',
|
||||||
|
login: '登录',
|
||||||
|
},
|
||||||
|
submitText: {
|
||||||
|
success: '提交成功',
|
||||||
|
error: '提交失败:',
|
||||||
|
},
|
||||||
|
loginText: {
|
||||||
|
success: '登录成功',
|
||||||
|
error: '登录失败',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const buttonEnUs: ButtonText = {
|
||||||
|
buttonText: {
|
||||||
|
submit: 'Submit',
|
||||||
|
reset: 'Reset',
|
||||||
|
login: 'Login',
|
||||||
|
},
|
||||||
|
submitText: {
|
||||||
|
success: 'Success',
|
||||||
|
error: 'Error: ',
|
||||||
|
},
|
||||||
|
loginText: {
|
||||||
|
success: '登录成功',
|
||||||
|
error: '登录失败',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
@ -1,7 +1,4 @@
|
||||||
export interface InformPageText {
|
export interface InformPageText {
|
||||||
submitText: {
|
|
||||||
success: string;
|
|
||||||
};
|
|
||||||
phoneText: {
|
phoneText: {
|
||||||
title: string;
|
title: string;
|
||||||
placeholder: string;
|
placeholder: string;
|
||||||
|
|
@ -10,16 +7,9 @@ export interface InformPageText {
|
||||||
title: string;
|
title: string;
|
||||||
placeholder: string;
|
placeholder: string;
|
||||||
};
|
};
|
||||||
buttonText: {
|
|
||||||
submit: string;
|
|
||||||
reset: string;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const informPageZhCn: InformPageText = {
|
export const informPageZhCn: InformPageText = {
|
||||||
submitText: {
|
|
||||||
success: '提交成功',
|
|
||||||
},
|
|
||||||
phoneText: {
|
phoneText: {
|
||||||
title: '手机号码',
|
title: '手机号码',
|
||||||
placeholder: '便于查询工单',
|
placeholder: '便于查询工单',
|
||||||
|
|
@ -28,16 +18,9 @@ export const informPageZhCn: InformPageText = {
|
||||||
title: '真实姓名',
|
title: '真实姓名',
|
||||||
placeholder: '必填,与工单绑定',
|
placeholder: '必填,与工单绑定',
|
||||||
},
|
},
|
||||||
buttonText: {
|
|
||||||
submit: '提交',
|
|
||||||
reset: '清空',
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const informtPageEnUs: InformPageText = {
|
export const informPageEnUs: InformPageText = {
|
||||||
submitText: {
|
|
||||||
success: 'Success',
|
|
||||||
},
|
|
||||||
phoneText: {
|
phoneText: {
|
||||||
title: 'Phone',
|
title: 'Phone',
|
||||||
placeholder: '便于查询工单',
|
placeholder: '便于查询工单',
|
||||||
|
|
@ -46,8 +29,4 @@ export const informtPageEnUs: InformPageText = {
|
||||||
title: 'Real Name',
|
title: 'Real Name',
|
||||||
placeholder: '必填,与工单绑定',
|
placeholder: '必填,与工单绑定',
|
||||||
},
|
},
|
||||||
buttonText: {
|
|
||||||
submit: 'Submit',
|
|
||||||
reset: 'Reset',
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
export interface MemberPageText {
|
||||||
|
stuidText: {
|
||||||
|
title: string;
|
||||||
|
placeholder: string;
|
||||||
|
};
|
||||||
|
passwdText: {
|
||||||
|
title: string;
|
||||||
|
placeholder: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export const memberPageZhCn: MemberPageText = {
|
||||||
|
stuidText: {
|
||||||
|
title: '学号',
|
||||||
|
placeholder: '与统一身份认证学号一致',
|
||||||
|
},
|
||||||
|
passwdText: {
|
||||||
|
title: '密码',
|
||||||
|
placeholder: '与 EVA 统一身份认证一致',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const memberPageEnUs: MemberPageText = {
|
||||||
|
stuidText: {
|
||||||
|
title: 'Student ID',
|
||||||
|
placeholder: '与统一身份认证学号一致',
|
||||||
|
},
|
||||||
|
passwdText: {
|
||||||
|
title: 'Password',
|
||||||
|
placeholder: '与 EVA 统一身份认证一致',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
@ -1,25 +1,13 @@
|
||||||
export interface ReportPageText {
|
export interface ReportPageText {
|
||||||
placeHolderText: string;
|
placeHolderText: string;
|
||||||
buttonText: {
|
|
||||||
submit: string;
|
|
||||||
reset: string;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const reportPageZhCn: ReportPageText = {
|
export const reportPageZhCn: ReportPageText = {
|
||||||
placeHolderText:
|
placeHolderText:
|
||||||
'无论是有关于小程序的建议,还是关于E志者协会的建议,都可以提出来哦!',
|
'无论是有关于小程序的建议,还是关于E志者协会的建议,都可以提出来哦!',
|
||||||
buttonText: {
|
|
||||||
submit: '提交',
|
|
||||||
reset: '清空',
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const reportPageEnUs: ReportPageText = {
|
export const reportPageEnUs: ReportPageText = {
|
||||||
placeHolderText:
|
placeHolderText:
|
||||||
'无论是有关于小程序的建议,还是关于E志者协会的建议,都可以提出来哦!',
|
'无论是有关于小程序的建议,还是关于E志者协会的建议,都可以提出来哦!',
|
||||||
buttonText: {
|
|
||||||
submit: 'Submit',
|
|
||||||
reset: 'Reset',
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
export interface UserPageText {
|
export interface UserPageText {
|
||||||
mainTitleLine: string;
|
memberEntry: {
|
||||||
subTitleLine: string;
|
front: string;
|
||||||
|
behind: string;
|
||||||
|
};
|
||||||
ticketColumn: {
|
ticketColumn: {
|
||||||
title: string;
|
title: string;
|
||||||
note: string;
|
note: string;
|
||||||
|
|
@ -24,8 +26,10 @@ export interface UserPageText {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const userPageZhCn: UserPageText = {
|
export const userPageZhCn: UserPageText = {
|
||||||
mainTitleLine: '您好,这里是E志者协会',
|
memberEntry: {
|
||||||
subTitleLine: '维修请至【东三-204】实验室',
|
front: '再点击 ',
|
||||||
|
behind: ' 次以进入协会成员登录页面',
|
||||||
|
},
|
||||||
ticketColumn: {
|
ticketColumn: {
|
||||||
title: '我的工单',
|
title: '我的工单',
|
||||||
note: '在这里查看历史工单!',
|
note: '在这里查看历史工单!',
|
||||||
|
|
@ -49,8 +53,10 @@ export const userPageZhCn: UserPageText = {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const userPageEnUs: UserPageText = {
|
export const userPageEnUs: UserPageText = {
|
||||||
mainTitleLine: '您好,这里是E志者协会',
|
memberEntry: {
|
||||||
subTitleLine: '维修请至【东三-204】实验室',
|
front: '再点击 ',
|
||||||
|
behind: ' 次以进入协会成员登录页面',
|
||||||
|
},
|
||||||
ticketColumn: {
|
ticketColumn: {
|
||||||
title: '我的工单',
|
title: '我的工单',
|
||||||
note: '在这里查看历史工单!',
|
note: '在这里查看历史工单!',
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,10 @@ import { MainPageText, mainPageZhCn, mainPageEnUs } from './MainPage';
|
||||||
import { UserPageText, userPageZhCn, userPageEnUs } from './UserPage';
|
import { UserPageText, userPageZhCn, userPageEnUs } from './UserPage';
|
||||||
import { TabBarText, tabBarEnUs, tabBarZhCn } from './TabBar';
|
import { TabBarText, tabBarEnUs, tabBarZhCn } from './TabBar';
|
||||||
import { ReportPageText, reportPageEnUs, reportPageZhCn } from './ReportPage';
|
import { ReportPageText, reportPageEnUs, reportPageZhCn } from './ReportPage';
|
||||||
import { InformPageText, informPageZhCn, informtPageEnUs } from './InformPage';
|
import { InformPageText, informPageZhCn, informPageEnUs } from './InformPage';
|
||||||
import { AboutPageText, aboutPageEnUs, aboutPageZhCn } from './AboutPage';
|
import { AboutPageText, aboutPageEnUs, aboutPageZhCn } from './AboutPage';
|
||||||
|
import { ButtonText, buttonEnUs, buttonZhCn } from './Button';
|
||||||
|
import { MemberPageText, memberPageEnUs, memberPageZhCn } from './MemberPage';
|
||||||
import { TicketListText, ticketListEnUs, ticketListZhCn } from './TicketList';
|
import { TicketListText, ticketListEnUs, ticketListZhCn } from './TicketList';
|
||||||
|
|
||||||
interface TextRecord {
|
interface TextRecord {
|
||||||
|
|
@ -15,6 +17,8 @@ interface TextRecord {
|
||||||
reportPage: ReportPageText;
|
reportPage: ReportPageText;
|
||||||
informPage: InformPageText;
|
informPage: InformPageText;
|
||||||
aboutPage: AboutPageText;
|
aboutPage: AboutPageText;
|
||||||
|
button: ButtonText;
|
||||||
|
memberPage: MemberPageText;
|
||||||
ticketList: TicketListText;
|
ticketList: TicketListText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -26,6 +30,8 @@ const textZhCn: TextRecord = {
|
||||||
reportPage: reportPageZhCn,
|
reportPage: reportPageZhCn,
|
||||||
informPage: informPageZhCn,
|
informPage: informPageZhCn,
|
||||||
aboutPage: aboutPageZhCn,
|
aboutPage: aboutPageZhCn,
|
||||||
|
button: buttonZhCn,
|
||||||
|
memberPage: memberPageZhCn,
|
||||||
ticketList: ticketListZhCn,
|
ticketList: ticketListZhCn,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -35,8 +41,10 @@ const textEnUs: TextRecord = {
|
||||||
userPage: userPageEnUs,
|
userPage: userPageEnUs,
|
||||||
tabBar: tabBarEnUs,
|
tabBar: tabBarEnUs,
|
||||||
reportPage: reportPageEnUs,
|
reportPage: reportPageEnUs,
|
||||||
informPage: informtPageEnUs,
|
informPage: informPageEnUs,
|
||||||
aboutPage: aboutPageEnUs,
|
aboutPage: aboutPageEnUs,
|
||||||
|
button: buttonEnUs,
|
||||||
|
memberPage: memberPageEnUs,
|
||||||
ticketList: ticketListEnUs,
|
ticketList: ticketListEnUs,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue