refactor plain-text

dev
Dawn1Ocean 2024-04-03 20:41:20 +08:00
parent a07545b841
commit 5bd07e0ca7
12 changed files with 141 additions and 122 deletions

View File

@ -109,7 +109,7 @@ export default class DetailFramework extends Component<
marginLeft: '3%', marginLeft: '3%',
}} }}
> >
<AtCard isFull title={pt.get().ticketDetail.descTitle}> <AtCard isFull title={pt.get().ticketDetail.desc.title}>
<View className='at-article__h3'> <View className='at-article__h3'>
{this.state.ticketInfo.description} {this.state.ticketInfo.description}
</View> </View>

View File

@ -18,9 +18,9 @@ export default class NoteCard extends Component<NoteCardProps, {}> {
var message = ''; var message = '';
const note = this.props.note; const note = this.props.note;
const td = pt.get().ticketDetail; const td = pt.get().ticketDetail;
const createMessage = td.createTicketMessage; const createMessage = td.comment.createTicketMessage;
const modifyMessage = td.statusModifyMessage; const modifyMessage = td.statusModifyMessage;
const prefix = td.statusModifyPrefix; const prefix = td.comment.statusModifyPrefix;
switch (note.type) { switch (note.type) {
case 0: case 0:

View File

@ -19,14 +19,14 @@ export default class NotFoundPage extends Component {
style={{ marginTop: '150rpx', marginBottom: '240rpx' }} style={{ marginTop: '150rpx', marginBottom: '240rpx' }}
> >
<View className='at-article__h1' style={{ fontWeight: 'bold' }}> <View className='at-article__h1' style={{ fontWeight: 'bold' }}>
{pt.get().notFound.titleZhCn} {pt.get().notFound.title.ZhCn}
</View> </View>
<View className='at-article__h2'>{pt.get().notFound.descZhCn}</View> <View className='at-article__h2'>{pt.get().notFound.desc.ZhCn}</View>
<View style={{ height: '150rpx' }}></View> <View style={{ height: '150rpx' }}></View>
<View className='at-article__h1' style={{ fontWeight: 'bold' }}> <View className='at-article__h1' style={{ fontWeight: 'bold' }}>
{pt.get().notFound.titleEnUs} {pt.get().notFound.title.EnUs}
</View> </View>
<View className='at-article__h2'>{pt.get().notFound.descEnUs}</View> <View className='at-article__h2'>{pt.get().notFound.desc.EnUs}</View>
</View> </View>
<PageFooter /> <PageFooter />
</View> </View>

View File

@ -253,7 +253,7 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
type='secondary' type='secondary'
onClick={this.onPick.bind(this)} onClick={this.onPick.bind(this)}
> >
{pt.get().ticketDetail.pick} {pt.get().ticketDetail.button.pick}
</AtButton> </AtButton>
</View> </View>
<View <View
@ -268,7 +268,7 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
type='primary' type='primary'
onClick={this.onAddToOreo.bind(this)} onClick={this.onAddToOreo.bind(this)}
> >
{pt.get().ticketDetail.addToOreo} {pt.get().ticketDetail.button.addToOreo}
</AtButton> </AtButton>
</View> </View>
</View> </View>
@ -286,7 +286,7 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
type='primary' type='primary'
onClick={this.onChangeStatus.bind(this)} onClick={this.onChangeStatus.bind(this)}
> >
{pt.get().ticketDetail.status.button} {pt.get().ticketDetail.button.status}
</AtButton> </AtButton>
</View> </View>
<View <View
@ -301,7 +301,7 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
type='secondary' type='secondary'
onClick={this.onAddComment.bind(this)} onClick={this.onAddComment.bind(this)}
> >
{pt.get().ticketDetail.addNote} {pt.get().ticketDetail.button.addNote}
</AtButton> </AtButton>
</View> </View>
</View> </View>
@ -323,7 +323,7 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
type='primary' type='primary'
onClick={this.onRetrieved.bind(this)} onClick={this.onRetrieved.bind(this)}
> >
{pt.get().ticketDetail.tookAway} {pt.get().ticketDetail.button.tookAway}
</AtButton> </AtButton>
</View> </View>
<View <View
@ -338,7 +338,7 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
type='secondary' type='secondary'
onClick={this.onAddComment.bind(this)} onClick={this.onAddComment.bind(this)}
> >
{pt.get().ticketDetail.addNote} {pt.get().ticketDetail.button.addNote}
</AtButton> </AtButton>
</View> </View>
</View> </View>
@ -410,28 +410,28 @@ export default class TicketDetail extends Component<{}, TicketDetailState> {
onClose={this.handleStatusCancel.bind(this)} onClose={this.handleStatusCancel.bind(this)}
> >
<AtActionSheetItem onClick={this.handleStatusChange.bind(this, 0)}> <AtActionSheetItem onClick={this.handleStatusChange.bind(this, 0)}>
{pt.get().ticketDetail.status.status0} {pt.get().ticketDetail.statusModifyMessage['0']}
</AtActionSheetItem> </AtActionSheetItem>
<AtActionSheetItem onClick={this.handleStatusChange.bind(this, 1)}> <AtActionSheetItem onClick={this.handleStatusChange.bind(this, 1)}>
{pt.get().ticketDetail.status.status1} {pt.get().ticketDetail.statusModifyMessage['1']}
</AtActionSheetItem> </AtActionSheetItem>
<AtActionSheetItem onClick={this.handleStatusChange.bind(this, 2)}> <AtActionSheetItem onClick={this.handleStatusChange.bind(this, 2)}>
{pt.get().ticketDetail.status.status2} {pt.get().ticketDetail.statusModifyMessage['2']}
</AtActionSheetItem> </AtActionSheetItem>
<AtActionSheetItem onClick={this.handleStatusChange.bind(this, 3)}> <AtActionSheetItem onClick={this.handleStatusChange.bind(this, 3)}>
{pt.get().ticketDetail.status.status3} {pt.get().ticketDetail.statusModifyMessage['3']}
</AtActionSheetItem> </AtActionSheetItem>
<AtActionSheetItem onClick={this.handleStatusChange.bind(this, 4)}> <AtActionSheetItem onClick={this.handleStatusChange.bind(this, 4)}>
{pt.get().ticketDetail.status.status4} {pt.get().ticketDetail.statusModifyMessage['4']}
</AtActionSheetItem> </AtActionSheetItem>
<AtActionSheetItem onClick={this.handleStatusChange.bind(this, 5)}> <AtActionSheetItem onClick={this.handleStatusChange.bind(this, 5)}>
{pt.get().ticketDetail.status.status5} {pt.get().ticketDetail.statusModifyMessage['5']}
</AtActionSheetItem> </AtActionSheetItem>
<AtActionSheetItem onClick={this.handleStatusChange.bind(this, 6)}> <AtActionSheetItem onClick={this.handleStatusChange.bind(this, 6)}>
{pt.get().ticketDetail.status.status6} {pt.get().ticketDetail.statusModifyMessage['6']}
</AtActionSheetItem> </AtActionSheetItem>
<AtActionSheetItem onClick={this.handleStatusChange.bind(this, 7)}> <AtActionSheetItem onClick={this.handleStatusChange.bind(this, 7)}>
{pt.get().ticketDetail.status.status7} {pt.get().ticketDetail.statusModifyMessage['7']}
</AtActionSheetItem> </AtActionSheetItem>
</AtActionSheet> </AtActionSheet>
<DetailFramework <DetailFramework

View File

@ -21,13 +21,13 @@ export default class TitleCard extends React.Component {
<View className='page-title'> <View className='page-title'>
<View className='at-article__h1' style={{ fontWeight: 'bold' }}> <View className='at-article__h1' style={{ fontWeight: 'bold' }}>
{wechatUser.getAccess() {wechatUser.getAccess()
? memberPage.mainTitleLine + wechatUser.getInfo().name ? memberPage.titleLine.main.index + wechatUser.getInfo().name
: mainPage.mainTitleLine} : mainPage.titleLine.main}
</View> </View>
<View className='at-article__h2'> <View className='at-article__h2'>
{wechatUser.getAccess() {wechatUser.getAccess()
? memberPage.subTitleLine ? memberPage.titleLine.sub.index
: mainPage.subTitleLine} : mainPage.titleLine.sub}
</View> </View>
</View> </View>
</View> </View>

View File

@ -50,10 +50,10 @@ export default class UserMemberPage extends Component {
<AtMessage /> <AtMessage />
<View className='page-title' style={{ marginBottom: '40rpx' }}> <View className='page-title' style={{ marginBottom: '40rpx' }}>
<View className='at-article__h1' style={{ fontWeight: 'bold' }}> <View className='at-article__h1' style={{ fontWeight: 'bold' }}>
{pt.get().memberPage.loginMainTitleLine} {pt.get().memberPage.titleLine.main.login}
</View> </View>
<View className='at-article__h2'> <View className='at-article__h2'>
{pt.get().memberPage.loginSubTitleLine} {pt.get().memberPage.titleLine.sub.login}
</View> </View>
</View> </View>
<AtButton <AtButton
@ -70,10 +70,10 @@ export default class UserMemberPage extends Component {
<AtMessage /> <AtMessage />
<View className='page-title' style={{ marginBottom: '40rpx' }}> <View className='page-title' style={{ marginBottom: '40rpx' }}>
<View className='at-article__h1' style={{ fontWeight: 'bold' }}> <View className='at-article__h1' style={{ fontWeight: 'bold' }}>
{pt.get().memberPage.logoutMainTitleLine} {pt.get().memberPage.titleLine.main.logout}
</View> </View>
<View className='at-article__h2'> <View className='at-article__h2'>
{pt.get().memberPage.logoutSubTitleLine} {pt.get().memberPage.titleLine.sub.logout}
</View> </View>
</View> </View>
<AtButton type='primary' onClick={this.onLogout.bind(this)}> <AtButton type='primary' onClick={this.onLogout.bind(this)}>

View File

@ -43,9 +43,9 @@ export default class UserPage extends Component {
if (this.state.clicks < 3) { if (this.state.clicks < 3) {
this.setState({ this.setState({
toastText: toastText:
pt.get().userPage.memberEntry.front + pt.get().userPage.memberEntry.prefix +
(this.state.clicks + 1).toString() + // React State's feature (this.state.clicks + 1).toString() + // React State's feature
pt.get().userPage.memberEntry.behind, pt.get().userPage.memberEntry.affix,
isToastOpen: true, isToastOpen: true,
}); });
if (this.state.clicks == 0) { if (this.state.clicks == 0) {

View File

@ -1,14 +1,21 @@
export interface NotFoundText { export interface NotFoundText {
titleZhCn: string; title: {
titleEnUs: string; ZhCn: string;
descZhCn: string; EnUs: string;
descEnUs: string; };
desc: {
ZhCn: string;
EnUs: string;
};
} }
export const notFound: NotFoundText = { export const notFound: NotFoundText = {
titleZhCn: '啊哦...请求出错了...', title: {
descZhCn: '请确保处于校网环境后,点击右上角 "...-重新进入小程序"', ZhCn: '啊哦...请求出错了...',
titleEnUs: 'Oops...Network Error...', EnUs: 'Oops...Network Error...',
descEnUs: },
'Please make sure you\'re in ZJU\'s school network environment and then click on the top right corner "... - re-enter the applet"!', desc: {
ZhCn: '请确保处于校网环境后,点击右上角 "...-重新进入小程序"',
EnUs: 'Please make sure you\'re in ZJU\'s school network environment and then click on the top right corner "... - re-enter the applet"!',
},
}; };

View File

@ -1,6 +1,8 @@
export interface MainPageText { export interface MainPageText {
mainTitleLine: string; titleLine: {
subTitleLine: string; main: string;
sub: string;
};
cardTitle: { cardTitle: {
dutyInfo: string; dutyInfo: string;
stepInfo: string; stepInfo: string;
@ -43,8 +45,10 @@ export interface MainPageText {
} }
export const mainPageZhCn: MainPageText = { export const mainPageZhCn: MainPageText = {
mainTitleLine: '您好这里是E志者协会', titleLine: {
subTitleLine: '维修请至【东三-204】实验室', main: '您好这里是E志者协会',
sub: '维修请至【东三-204】实验室',
},
cardTitle: { cardTitle: {
dutyInfo: '值班情况', dutyInfo: '值班情况',
stepInfo: '维修步骤', stepInfo: '维修步骤',
@ -108,8 +112,10 @@ export const mainPageZhCn: MainPageText = {
}; };
export const mainPageEnUs: MainPageText = { export const mainPageEnUs: MainPageText = {
mainTitleLine: 'Hi! This is EVA.', titleLine: {
subTitleLine: 'For maintenance, please go to [204 Lab, E3 building]', main: 'Hi! This is EVA.',
sub: 'For maintenance, please go to [204 Lab, E3 building]',
},
cardTitle: { cardTitle: {
dutyInfo: 'Duty Situation', dutyInfo: 'Duty Situation',
stepInfo: 'Maintenance Steps', stepInfo: 'Maintenance Steps',

View File

@ -1,10 +1,16 @@
export interface MemberPageText { export interface MemberPageText {
mainTitleLine: string; titleLine: {
subTitleLine: string; main: {
loginMainTitleLine: string; index: string;
loginSubTitleLine: string; login: string;
logoutMainTitleLine: string; logout: string;
logoutSubTitleLine: string; };
sub: {
index: string;
login: string;
logout: string;
};
};
cardTitle: { cardTitle: {
dutyInfo: string; dutyInfo: string;
stepInfo: string; stepInfo: string;
@ -57,12 +63,18 @@ export interface MemberPageText {
} }
export const memberPageZhCn: MemberPageText = { export const memberPageZhCn: MemberPageText = {
mainTitleLine: '您好,', titleLine: {
subTitleLine: '祝你满绩每一天', main: {
loginMainTitleLine: '协会成员登录入口', index: '您好,',
loginSubTitleLine: '请使用 EVA 统一身份认证,登录后点击下方按钮以扫描二维码', login: '协会成员登录入口',
logoutMainTitleLine: '协会成员登出', logout: '协会成员登出',
logoutSubTitleLine: '登出后须扫码重新登录!', },
sub: {
index: '祝你满绩每一天',
login: '请使用 EVA 统一身份认证,登录后点击下方按钮以扫描二维码',
logout: '登出后须扫码重新登录!',
},
},
cardTitle: { cardTitle: {
dutyInfo: '值班情况', dutyInfo: '值班情况',
stepInfo: '维修步骤', stepInfo: '维修步骤',
@ -138,13 +150,19 @@ export const memberPageZhCn: MemberPageText = {
}; };
export const memberPageEnUs: MemberPageText = { export const memberPageEnUs: MemberPageText = {
mainTitleLine: 'Hi! ', titleLine: {
subTitleLine: 'Have a great day!', main: {
loginMainTitleLine: 'EVA Member Entry', index: 'Hi! ',
loginSubTitleLine: login: 'EVA Member Entry',
'Please use EVA Auth, log in and click the button below to scan the QR code', logout: 'EVA Member Logout',
logoutMainTitleLine: 'EVA Member Logout', },
logoutSubTitleLine: 'After logging out, scan the code again to log back in!', sub: {
index: 'Have a great day!',
login:
'Please use EVA Auth, log in and click the button below to scan the QR code',
logout: 'After logging out, scan the code again to log back in!',
},
},
cardTitle: { cardTitle: {
dutyInfo: 'Duty Situation', dutyInfo: 'Duty Situation',
stepInfo: 'Maintenance Steps', stepInfo: 'Maintenance Steps',

View File

@ -6,35 +6,31 @@ type StatusStr = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7';
export interface TicketDetailText { export interface TicketDetailText {
stepItems: Array<StepItem>; stepItems: Array<StepItem>;
createTicketMessage: string;
statusModifyPrefix: string;
statusModifyMessage: Map<StatusStr, string>; statusModifyMessage: Map<StatusStr, string>;
descTitle: string; desc: {
title: string;
};
divider: string; divider: string;
info: { info: {
title: string; title: string;
extra: string; extra: string;
}; };
tookAway: string; button: {
addToOreo: string; tookAway: string;
addNote: string; addToOreo: string;
pick: string; addNote: string;
pick: string;
status: string;
};
comment: { comment: {
title: string; title: string;
placeholder: string; placeholder: string;
createTicketMessage: string;
statusModifyPrefix: string;
}; };
status: { status: {
button: string;
title: string; title: string;
cancel: string; cancel: string;
status0: string;
status1: string;
status2: string;
status3: string;
status4: string;
status5: string;
status6: string;
status7: string;
}; };
} }
@ -45,8 +41,6 @@ export const ticketDetailZhCn: TicketDetailText = {
{ title: '待取回' }, { title: '待取回' },
{ title: '工单完成' }, { title: '工单完成' },
], ],
createTicketMessage: '创建了维修',
statusModifyPrefix: '将维修状态改为:',
statusModifyMessage: new Map<StatusStr, string>([ statusModifyMessage: new Map<StatusStr, string>([
['0', '已创建/交接中'], ['0', '已创建/交接中'],
['1', '维修中'], ['1', '维修中'],
@ -57,32 +51,30 @@ export const ticketDetailZhCn: TicketDetailText = {
['6', '维修翻车待取回'], ['6', '维修翻车待取回'],
['7', '维修翻车已取回'], ['7', '维修翻车已取回'],
]), ]),
descTitle: '问题描述', desc: {
divider: '评论 / 状态', title: '问题描述',
},
info: { info: {
title: '机主姓名', title: '机主姓名',
extra: '联系方式', extra: '联系方式',
}, },
tookAway: '我已取回', divider: '评论 / 状态',
addToOreo: '加入 Oreo', button: {
addNote: '添加评论', tookAway: '我已取回',
pick: '认领', addToOreo: '加入 Oreo',
addNote: '添加评论',
pick: '认领',
status: '改变状态',
},
comment: { comment: {
title: '添加评论', title: '添加评论',
placeholder: '可以在这里交流机器情况、维修进度、提出问题~', placeholder: '可以在这里交流机器情况、维修进度、提出问题~',
createTicketMessage: '创建了维修',
statusModifyPrefix: '将维修状态改为:',
}, },
status: { status: {
button: '改变工单状态',
title: '请选择要改变成为的状态', title: '请选择要改变成为的状态',
cancel: '取消', cancel: '取消',
status0: '已创建/交接中',
status1: '维修中',
status2: '劝退待取回',
status3: '劝退已取回',
status4: '维修成功待取回',
status5: '维修成功已取回',
status6: '维修翻车待取回',
status7: '维修翻车已取回',
}, },
}; };
@ -93,8 +85,6 @@ export const ticketDetailEnUs: TicketDetailText = {
{ title: 'Finished' }, { title: 'Finished' },
{ title: 'Retrieved' }, { title: 'Retrieved' },
], ],
createTicketMessage: 'Created ticket',
statusModifyPrefix: 'Modified repair status to: ',
statusModifyMessage: new Map<StatusStr, string>([ statusModifyMessage: new Map<StatusStr, string>([
['0', 'Created / Handovering'], ['0', 'Created / Handovering'],
['1', 'Repairing'], ['1', 'Repairing'],
@ -105,32 +95,30 @@ export const ticketDetailEnUs: TicketDetailText = {
['6', 'Pending Retrieval (Failed)'], ['6', 'Pending Retrieval (Failed)'],
['7', 'Retrieved (Failed)'], ['7', 'Retrieved (Failed)'],
]), ]),
descTitle: 'Description', desc: {
divider: 'Comment / Status', title: 'Description',
},
info: { info: {
title: 'Name', title: 'Name',
extra: 'Contact', extra: 'Contact',
}, },
tookAway: 'Already retrieved', divider: 'Comment / Status',
addToOreo: 'Add to Oreo', button: {
addNote: 'Comment', tookAway: 'Already retrieved',
pick: 'Pick', addToOreo: 'Add to Oreo',
addNote: 'Comment',
pick: 'Pick',
status: 'Change status',
},
comment: { comment: {
title: 'Add Comment', title: 'Add comment',
placeholder: placeholder:
'You can exchange information the device, the progress of repairs, and ask questions here.', 'You can exchange information the device, the progress of repairs, and ask questions here.',
createTicketMessage: 'Created ticket',
statusModifyPrefix: 'Modified repair status to: ',
}, },
status: { status: {
button: 'Modify Status',
title: 'Please select the status you want to modify to', title: 'Please select the status you want to modify to',
cancel: 'Cancel', cancel: 'Cancel',
status0: 'Created / Handovering',
status1: 'Repairing',
status2: 'Pending Retrieval (Refused)',
status3: 'Retrieved (Refused)',
status4: 'Pending Retrieval (Finished)',
status5: 'Retrieved (Finished)',
status6: 'Pending Retrieval (Failed)',
status7: 'Retrieved (Failed)',
}, },
}; };

View File

@ -1,7 +1,7 @@
export interface UserPageText { export interface UserPageText {
memberEntry: { memberEntry: {
front: string; prefix: string;
behind: string; affix: string;
}; };
ticketColumn: { ticketColumn: {
title: string; title: string;
@ -27,8 +27,8 @@ export interface UserPageText {
export const userPageZhCn: UserPageText = { export const userPageZhCn: UserPageText = {
memberEntry: { memberEntry: {
front: '再点击 ', prefix: '再点击 ',
behind: ' 次以进入协会成员登录页面', affix: ' 次以进入协会成员登录页面',
}, },
ticketColumn: { ticketColumn: {
title: '我的工单', title: '我的工单',
@ -54,8 +54,8 @@ export const userPageZhCn: UserPageText = {
export const userPageEnUs: UserPageText = { export const userPageEnUs: UserPageText = {
memberEntry: { memberEntry: {
front: 'Click ', prefix: 'Click ',
behind: ' more times to enter member login page', affix: ' more times to enter member login page',
}, },
ticketColumn: { ticketColumn: {
title: 'My Tickets', title: 'My Tickets',