diff --git a/src/interface.ts b/src/interface.ts index 5d239ca..40f0674 100644 --- a/src/interface.ts +++ b/src/interface.ts @@ -2,9 +2,10 @@ const server="http://localhost:8080" -const prefix={ +export const prefix={ user:"/api/user", - activity:"/api/activity" + activity:"/api/activity", + image:"/image/" } //服务器接口地址 export const API={ diff --git a/src/result.ts b/src/result.ts index 86fcbb2..ddd8b40 100644 --- a/src/result.ts +++ b/src/result.ts @@ -179,4 +179,24 @@ export class FindUserTransform extends TransformData{ + activity?:ActivityDetail +} + +export class ActivityDetailTransform extends TransformData{ + protected newObject(): ActivityDetailRes { + return new ActivityDetailRes(); + } + + + protected transformBody(data: any) { + this.target.activity=data.body + } +} + diff --git a/src/sub/IndexMenu.tsx b/src/sub/IndexMenu.tsx index 923e986..d938831 100644 --- a/src/sub/IndexMenu.tsx +++ b/src/sub/IndexMenu.tsx @@ -1,14 +1,20 @@ import React from "react"; -import {Button, Card, Col, Container, ListGroup, Row} from "react-bootstrap"; +import {Button, Card, Col, Container, Image, ListGroup, Row} from "react-bootstrap"; import {Page} from "../ui/Page"; import {ActivityDetail, PageProps} from "../entity"; import {MyDialog} from "../ui/MyDialog"; import {Activity} from "../ui/Activity"; import {Input} from "../ui/InputGroup"; -import {activityObj} from "../ui/TestData"; -import {API, Method, request} from "../interface"; -import {FindActivityMessage, FindActivityRes, FindActivityTransform} from "../result"; +import {API, Method, prefix, request} from "../interface"; +import { + ActivityDetailMessage, + ActivityDetailRes, + ActivityDetailTransform, + FindActivityMessage, + FindActivityRes, + FindActivityTransform +} from "../result"; /** * 首页 @@ -55,9 +61,23 @@ export class IndexMenu extends React.Component<{ user:string }, * 查找活动 * @param activityId */ - loadActivityWithId(activityId:number):ActivityDetail{ + loadActivityWithId(activityId:number){ console.debug("activityId="+activityId) - return activityObj + + let that=this + request(API.main.activity.find+"/"+activityId,Method.GET,{},new ActivityDetailTransform(),function(res:ActivityDetailRes){ + switch (res.customResult) { + case ActivityDetailMessage.fail: + that.setState({ + result:

活动详情加载失败,请联系管理员

+ });break; + case ActivityDetailMessage.ok: + that.setState({ + openActivity:true, + activity:res.activity + });break; + } + }) } /** @@ -96,7 +116,7 @@ export class IndexMenu extends React.Component<{ user:string }, - 活动图片 + @@ -109,10 +129,7 @@ export class IndexMenu extends React.Component<{ user:string }, - + @@ -139,8 +156,7 @@ export class IndexMenu extends React.Component<{ user:string }, open={this.state.openActivity} titleId="view-active" menuName="活动详情" onClose={()=>this.setState({activity:undefined,openActivity:false})}/>:null} - this.setState({result:null})}/> - + this.setState({result:null})}/> ) } diff --git a/src/ui/Activity.tsx b/src/ui/Activity.tsx index 82c8c78..3094ea8 100644 --- a/src/ui/Activity.tsx +++ b/src/ui/Activity.tsx @@ -2,6 +2,7 @@ import React from "react"; import {Button, Image} from "react-bootstrap"; import {ActivityDetail} from "../entity"; import moment from "moment"; +import {prefix} from "../interface"; /** * 活动信息 @@ -22,7 +23,9 @@ export class Activity extends React.Component< render() { return (
- +
+ +

{this.props.activity.title}

{this.props.activity.content}

{"活动开始时间:"+moment(this.props.activity.activityStartTime).format("YYYY-MM-DD HH:mm:ss")}