diff --git a/src/App.tsx b/src/App.tsx index 72a855d..bffcfd5 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -5,8 +5,8 @@ import {Login} from './account/Login'; import {Cookies, withCookies} from 'react-cookie'; import {Main} from "./Main"; import {Register} from "./account/Register"; -import {user_cookie, user_type_cookie, welcome_cookie} from "./account/PropCookie"; -import {UserType} from "./entity"; +import {time_score, user_cookie, user_type_cookie, welcome_cookie} from "./account/PropCookie"; +import {LoginRes} from "./result"; class App extends React.Component< { @@ -61,10 +61,11 @@ class App extends React.Component< */ toLogin(){ this.setState({ - page:this.toRegister()} onLoginSuccess={(userId:string,userType:UserType)=> { - this.props.cookies.set(user_cookie,userId) - this.props.cookies.set(user_type_cookie,userType) - this.props.cookies.set(welcome_cookie,userId) + page:this.toRegister()} onLoginSuccess={(res:LoginRes)=> { + this.props.cookies.set(user_cookie,res.userId) + this.props.cookies.set(user_type_cookie,res.userType) + this.props.cookies.set(welcome_cookie,res.userId) + this.props.cookies.set(time_score,res.timeScore) this.setState({ page:
this.logout()} cookies={this.props.cookies}/> }) diff --git a/src/Main.tsx b/src/Main.tsx index e9f41d6..272b591 100644 --- a/src/Main.tsx +++ b/src/Main.tsx @@ -9,7 +9,7 @@ import {MyLeaveWord} from "./my/MyLeaveWord"; import {MyMessage} from "./my/MyMessage"; import {User, UserEdit, UserType} from "./entity"; import {Cookies} from "react-cookie"; -import {user_cookie, user_type_cookie, welcome_cookie} from "./account/PropCookie"; +import {time_score, user_cookie, user_type_cookie, welcome_cookie} from "./account/PropCookie"; /** * 菜单标记 @@ -65,12 +65,13 @@ export class Main extends React.Component< //一级菜单 menu:Menu.index, //二级菜单 - subMenu:, + subMenu:, //我的好友信息 friendList:[], //我的菜单 my:{menuName: "",content:null,open:false}, - result:Boolean(this.props.cookies.get(welcome_cookie)) + result:Boolean(this.props.cookies.get(welcome_cookie)), + userType:this.props.cookies.get(user_type_cookie) } } @@ -101,7 +102,7 @@ export class Main extends React.Component< switch (menu) { case Menu.index: this.setState({ - subMenu: + subMenu: });break; case Menu.volunteer: this.setState({ @@ -146,7 +147,10 @@ export class Main extends React.Component< break; case DialogType.message: this.setState({ - my:{menuName:dialogType,content:this.setState({userType:user.userType})} + my:{menuName:dialogType,content:{ + this.setState({userType:user.userType}) + this.props.cookies.set(user_type_cookie,user.userType) + }} user={this.props.cookies.get(user_cookie)}/>,open:true} }) break; @@ -176,7 +180,7 @@ export class Main extends React.Component< - 时间币 + 时间币:{this.props.cookies.get(time_score)} {[DialogType.friend,DialogType.leaveWord,DialogType.message].map((type:DialogType,index:number)=>this.openDialog(type)}>{type})} this.props.logout()}>注销登录 @@ -184,7 +188,7 @@ export class Main extends React.Component< - {(this.state.userType||this.props.cookies.get(user_type_cookie))?{(this.state.userType||this.props.cookies.get(user_type_cookie))===UserType.help.toString()?"等待接受帮助":"等待前往帮助"}:null} + {this.state.userType?{this.state.userType===UserType.help.toString()?"等待前往帮助":"等待接受帮助"}:null} this.closeDialog()}/> diff --git a/src/account/Login.tsx b/src/account/Login.tsx index eee235f..cd32e77 100644 --- a/src/account/Login.tsx +++ b/src/account/Login.tsx @@ -33,7 +33,7 @@ export class Login extends React.Component{ let message switch (res.customResult) { case LoginResMessage.ok: - that.props.onLoginSuccess(res.userId,res.userType);break + that.props.onLoginSuccess(res);break case LoginResMessage.form_error:message="表单不合法,请联系管理员" // eslint-disable-next-line no-fallthrough case LoginResMessage.valid_error:message="账号或密码错误" diff --git a/src/account/PropCookie.ts b/src/account/PropCookie.ts index 59dc36c..2b557c3 100644 --- a/src/account/PropCookie.ts +++ b/src/account/PropCookie.ts @@ -5,3 +5,4 @@ export const user_cookie="user_cookie" export const user_type_cookie="user_type_cookie" export const welcome_cookie="welcome_cookie" +export const time_score="time_score" diff --git a/src/result.ts b/src/result.ts index 7ca4a34..99f6559 100644 --- a/src/result.ts +++ b/src/result.ts @@ -67,6 +67,7 @@ export enum LoginResMessage { export class LoginRes implements JSONResponse{ userId?:string userType?:UserType + timeScore?:number customResult?: LoginResMessage; result?: Result; } @@ -83,6 +84,7 @@ export class LoginTransform extends TransformData{ if(data.body!==null) { this.target.userId = data.body.userId this.target.userType = data.body.userType + this.target.timeScore = data.body.timeScore } } } diff --git a/src/sub/IndexMenu.tsx b/src/sub/IndexMenu.tsx index a77c95f..704c329 100644 --- a/src/sub/IndexMenu.tsx +++ b/src/sub/IndexMenu.tsx @@ -2,7 +2,7 @@ import React from "react"; import {Button, Card, Col, Container, Image, ListGroup, Row} from "react-bootstrap"; import {Page} from "../ui/Page"; -import {ActivityDetail, PageProps, VolunteerStatus} from "../entity"; +import {ActivityDetail, PageProps, UserType, VolunteerStatus} from "../entity"; import {MyDialog} from "../ui/MyDialog"; import {Activity} from "../ui/Activity"; import {Input} from "../ui/InputGroup"; @@ -16,11 +16,13 @@ import { PageDataMessage, SimpleMessage } from "../result"; +import {Cookies} from "react-cookie"; +import {user_type_cookie} from "../account/PropCookie"; /** * 首页 */ -export class IndexMenu extends React.Component<{ user:string }, +export class IndexMenu extends React.Component<{ cookies:Cookies }, { //活动数据 activityList?:Array>; @@ -50,14 +52,6 @@ export class IndexMenu extends React.Component<{ user:string }, this.loadActivity(1) } - /** - * 报名活动 - * @param activityId - */ - applyActivity(activityId:number){ - console.debug("报名活动"+activityId) - } - /** * 报名活动 * @param activityId 活动id @@ -73,6 +67,7 @@ export class IndexMenu extends React.Component<{ user:string }, },new EmptyBodyTransform(),function (res:JSONResponse) { switch (res.customResult) { case SimpleMessage.ok: + that.loadActivity(1) that.setState({ result:

报名成功

});break @@ -129,6 +124,7 @@ export class IndexMenu extends React.Component<{ user:string }, });break case PageDataMessage.empty: that.setState({ + activityList:[], page:res.page, result:

当前没有活动记录!!!

});break; @@ -157,7 +153,7 @@ export class IndexMenu extends React.Component<{ user:string }, - + {this.props.cookies.get(user_type_cookie)===UserType.help?:null} )} @@ -179,7 +175,10 @@ export class IndexMenu extends React.Component<{ user:string }, {this.state.page?this.loadActivity(page)} currentPage={this.state.page.currentPage} totalPage={this.state.page.totalPage} pageSize={this.state.page.pageSize}/>:null} - {this.state.activity?this.applyActivity(activeId)} />} + {this.state.activity?{ + this.apply(activeId) + this.setState({activity:undefined,openActivity:false}) + }} />} open={this.state.openActivity} titleId="view-active" menuName="活动详情" onClose={()=>this.setState({activity:undefined,openActivity:false})}/>:null}