add /member/login service; beautify member page with name&avatar
parent
4f914a7563
commit
5c78139d5a
|
|
@ -65,7 +65,10 @@ export default {
|
||||||
'POST /member/login': {
|
'POST /member/login': {
|
||||||
success: true,
|
success: true,
|
||||||
data: {
|
data: {
|
||||||
isMember: true,
|
avatar:
|
||||||
|
'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png',
|
||||||
|
name: '宇航员',
|
||||||
|
phone: '13311451419',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'GET /tickets/uncompleted': {
|
'GET /tickets/uncompleted': {
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,23 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { View, Image } from '@tarojs/components';
|
import { View, Image } from '@tarojs/components';
|
||||||
import pt from '@/plain-text';
|
import pt from '@/plain-text';
|
||||||
import logo from '@/assets/images/UserPage/logo.png';
|
import wechatUser from '@/wechat';
|
||||||
|
|
||||||
export default class MemberTitleCard extends React.Component {
|
export default class MemberTitleCard extends React.Component {
|
||||||
render(): React.ReactNode {
|
render(): React.ReactNode {
|
||||||
const memberPage = pt.get().memberPage;
|
const memberPage = pt.get().memberPage;
|
||||||
return (
|
return (
|
||||||
<View className='at-row at-row__align--center'>
|
<View className='at-row at-row__align--end'>
|
||||||
<View className='at-col at-col-1 at-col--auto'>
|
<View className='at-col at-col-1 at-col--auto'>
|
||||||
<Image
|
<Image
|
||||||
style='width: 100rpx; height: 100rpx; margin-left: 30rpx;'
|
style='width: 150rpx; height: 150rpx; margin-left: 60rpx;'
|
||||||
src={logo}
|
src={wechatUser.getInfo().avatar}
|
||||||
mode='aspectFit'
|
mode='aspectFit'
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
<View className='page-title'>
|
<View className='page-title' style={{ marginLeft: '30rpx' }}>
|
||||||
<View className='at-article__h1' style={{ fontWeight: 'bold' }}>
|
<View className='at-article__h1' style={{ fontWeight: 'bold' }}>
|
||||||
{memberPage.mainTitleLine}
|
{memberPage.mainTitleLine + wechatUser.getInfo().name}
|
||||||
</View>
|
</View>
|
||||||
<View className='at-article__h2'>{memberPage.subTitleLine}</View>
|
<View className='at-article__h2'>{memberPage.subTitleLine}</View>
|
||||||
</View>
|
</View>
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ export interface ButtonText {
|
||||||
loginText: {
|
loginText: {
|
||||||
success: string;
|
success: string;
|
||||||
error: string;
|
error: string;
|
||||||
|
fail: string;
|
||||||
};
|
};
|
||||||
logoutText: {
|
logoutText: {
|
||||||
success: string;
|
success: string;
|
||||||
|
|
@ -35,6 +36,7 @@ export const buttonZhCn: ButtonText = {
|
||||||
loginText: {
|
loginText: {
|
||||||
success: '登录成功',
|
success: '登录成功',
|
||||||
error: '登录失败',
|
error: '登录失败',
|
||||||
|
fail: '请检查用户名或密码!',
|
||||||
},
|
},
|
||||||
logoutText: {
|
logoutText: {
|
||||||
success: '登出成功',
|
success: '登出成功',
|
||||||
|
|
@ -57,6 +59,7 @@ export const buttonEnUs: ButtonText = {
|
||||||
loginText: {
|
loginText: {
|
||||||
success: 'Login Success',
|
success: 'Login Success',
|
||||||
error: 'Login Failed',
|
error: 'Login Failed',
|
||||||
|
fail: 'Please check username or password!',
|
||||||
},
|
},
|
||||||
logoutText: {
|
logoutText: {
|
||||||
success: 'Logout Success',
|
success: 'Logout Success',
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ export interface MemberPageText {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const memberPageZhCn: MemberPageText = {
|
export const memberPageZhCn: MemberPageText = {
|
||||||
mainTitleLine: '您好,这里是E志者协会',
|
mainTitleLine: '您好,',
|
||||||
subTitleLine: '祝你满绩每一天',
|
subTitleLine: '祝你满绩每一天',
|
||||||
dutyCount: {
|
dutyCount: {
|
||||||
button: '更新值班人数',
|
button: '更新值班人数',
|
||||||
|
|
@ -100,7 +100,7 @@ export const memberPageZhCn: MemberPageText = {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const memberPageEnUs: MemberPageText = {
|
export const memberPageEnUs: MemberPageText = {
|
||||||
mainTitleLine: 'Hi! This is EVA.',
|
mainTitleLine: 'Hi! ',
|
||||||
subTitleLine: 'Have a great day!',
|
subTitleLine: 'Have a great day!',
|
||||||
dutyCount: {
|
dutyCount: {
|
||||||
button: 'Update Duty Count',
|
button: 'Update Duty Count',
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import UserMemberPage from '@/pages/user/member/member';
|
import UserMemberPage from '@/pages/user/member/member';
|
||||||
import Taro from '@tarojs/taro';
|
import Taro from '@tarojs/taro';
|
||||||
import pt from '@/plain-text';
|
import pt from '@/plain-text';
|
||||||
import wechatUser from '@/wechat';
|
import wechatUser, { UserInfo } from '@/wechat';
|
||||||
import { getUrl } from '.';
|
import { getUrl } from '.';
|
||||||
|
|
||||||
export function memberLogin(that: UserMemberPage) {
|
export function memberLogin(that: UserMemberPage) {
|
||||||
|
|
@ -22,14 +22,22 @@ export function memberLogin(that: UserMemberPage) {
|
||||||
that.setState({
|
that.setState({
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
});
|
});
|
||||||
Taro.atMessage({
|
if (res.data.success) {
|
||||||
message: pt.get().button.loginText.success,
|
Taro.atMessage({
|
||||||
type: 'success',
|
message: pt.get().button.loginText.success,
|
||||||
});
|
type: 'success',
|
||||||
wechatUser.setAccess(true);
|
});
|
||||||
Taro.reLaunch({
|
wechatUser.setInfo(res.data.data as UserInfo);
|
||||||
url: '/pages/member/member',
|
wechatUser.setAccess(true);
|
||||||
});
|
Taro.reLaunch({
|
||||||
|
url: '/pages/member/member',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
Taro.atMessage({
|
||||||
|
message: pt.get().button.loginText.fail,
|
||||||
|
type: 'error',
|
||||||
|
});
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,20 @@
|
||||||
|
export interface UserInfo {
|
||||||
|
name: string;
|
||||||
|
phone: string;
|
||||||
|
avatar: string;
|
||||||
|
}
|
||||||
|
|
||||||
class WechatUser {
|
class WechatUser {
|
||||||
private userInfo: any;
|
private userInfo: UserInfo;
|
||||||
private isMember: boolean;
|
private isMember: boolean;
|
||||||
hasUserInfo: boolean;
|
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.userInfo = '';
|
this.userInfo = {
|
||||||
this.hasUserInfo = false;
|
name: '亦可',
|
||||||
|
phone: '12345678901',
|
||||||
|
avatar:
|
||||||
|
'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png',
|
||||||
|
};
|
||||||
this.isMember = false;
|
this.isMember = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -17,9 +26,8 @@ class WechatUser {
|
||||||
return this.userInfo;
|
return this.userInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
setInfo(userInfo: any) {
|
setInfo(userInfo: UserInfo) {
|
||||||
this.userInfo = userInfo;
|
this.userInfo = userInfo;
|
||||||
this.hasUserInfo = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setAccess(isMember: boolean) {
|
setAccess(isMember: boolean) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue