From 6a2e299374427d21d53ff81f04e4c750c418960b Mon Sep 17 00:00:00 2001 From: pan <1029559041@qq.com> Date: Mon, 1 Jun 2020 07:29:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Get=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=8B=BC=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/interface.ts | 43 ++++++++++++++++++++++++++---------------- src/my/MyFriend.tsx | 16 +++++++++++----- src/my/MyHelp.tsx | 2 +- src/my/MyLeaveWord.tsx | 2 +- src/my/SeekHelp.tsx | 5 ++++- src/public.tsx | 7 +++++-- src/sub/IndexMenu.tsx | 5 ++++- src/sub/SendHelp.tsx | 2 +- src/sub/Volunteer.tsx | 10 +++++++--- 9 files changed, 61 insertions(+), 31 deletions(-) diff --git a/src/interface.ts b/src/interface.ts index ba4f8e6..37e5445 100644 --- a/src/interface.ts +++ b/src/interface.ts @@ -58,8 +58,19 @@ export abstract class TransformData> { //发送请求 export function request,T extends TransformData>(api:string,method:Method,formParams: {[propName:string]: string | Blob|Array},transform:T,callback:Function) { let formData + let queryParams='' if(method===Method.GET) { - formData=null + for(let formParam in formParams){ + let params=formParams[formParam] + if(params instanceof Array) { + for(let value in params){ + queryParams+='&'+formParam+'='+params[value] + } + }else{ + queryParams += '&' + formParam + '=' + params + } + } + queryParams='?'+queryParams.substr(1) }else{ formData=new FormData() for (let formParam in formParams) { @@ -77,23 +88,23 @@ export function request,T extends TransformData } } - fetch(server+api,{ + fetch(server+api+queryParams,{ method:method, body:formData, credentials: 'include', }) - .then( - response=>{if(response.status===200){ - return response.json() - }else{ - throw new Error("遇到无法处理的错误,请联系管理员") - - }} - ) - .catch( - error =>console.error('Error:', error) - ) - .then((response:JSONResponse)=>{ - callback(transform.transform(response)) - }) + .then( + response=>{if(response.status===200){ + return response.json() + }else{ + throw new Error("遇到无法处理的错误,请联系管理员") + + }} + ) + .catch( + error =>console.error('Error:', error) + ) + .then((response:JSONResponse)=>{ + callback(transform.transform(response)) + }) } diff --git a/src/my/MyFriend.tsx b/src/my/MyFriend.tsx index 10a6c4e..a7f9755 100644 --- a/src/my/MyFriend.tsx +++ b/src/my/MyFriend.tsx @@ -1,6 +1,6 @@ import React from "react"; import {Button, Col, Container, FormControl, Image, ListGroup, Row,} from "react-bootstrap"; -import {Chat, User} from "../entity"; +import {Chat, PageProps, User} from "../entity"; import {Tooltip} from "@material-ui/core"; import moment from "moment"; import {MyInfo} from "./MyInfo"; @@ -38,6 +38,7 @@ export class MyFriend extends React.Component< //操作反馈 result:JSX.Element|null; // + page?:PageProps; } >{ @@ -63,7 +64,7 @@ export class MyFriend extends React.Component< } componentDidMount() { - loadMyFriend('',this) + loadMyFriend('',this,1) this.joinChat() } @@ -114,7 +115,7 @@ export class MyFriend extends React.Component< }else { let that = this - request(Api.account.findUser + "?name=" + name, Method.GET, {}, new UserTransform(), function (res: UserRes) { + request(Api.account.findUser, Method.GET, {name:name}, new UserTransform(), function (res: UserRes) { switch (res.customResult) { case PageDataMessage.ok: that.setState({ @@ -141,14 +142,19 @@ export class MyFriend extends React.Component<
- + { + if (e.target.scrollHeight - e.target.scrollTop === e.target.clientHeight) { + console.log('到达底部') + } + } + }> 我的好友 { this.setState({ queryFriend:e.target.value }) - loadMyFriend(e.target.value,this) + loadMyFriend(e.target.value,this,1) }}/> {this.state.friendList?this.state.friendList.map((friend:User,index:number)=> diff --git a/src/my/MyHelp.tsx b/src/my/MyHelp.tsx index 525b1e9..831b43e 100644 --- a/src/my/MyHelp.tsx +++ b/src/my/MyHelp.tsx @@ -129,7 +129,7 @@ export class MyHelp extends React.Component<{ loadMyHelp(page:number){ let that=this - request(Api.main.activity.myHelp+"?currentPage="+page,Method.GET,{},new HelpTransform(),function (res:HelpRes) { + request(Api.main.activity.myHelp,Method.GET,{currentPage:String(page)},new HelpTransform(),function (res:HelpRes) { switch (res.customResult) { case PageDataMessage.ok: that.setState({ diff --git a/src/my/MyLeaveWord.tsx b/src/my/MyLeaveWord.tsx index 5fe9d33..fd0682b 100644 --- a/src/my/MyLeaveWord.tsx +++ b/src/my/MyLeaveWord.tsx @@ -55,7 +55,7 @@ export class MyLeaveWord extends React.Component< let that=this - request(Api.account.leaveWord+"?currentPage="+page,Method.GET,{},new LeaveWordTransform(),function (res:LeaveWordRes) { + request(Api.account.leaveWord,Method.GET,{currentPage:String(page)},new LeaveWordTransform(),function (res:LeaveWordRes) { switch (res.customResult) { case PageDataMessage.ok: that.setState({ diff --git a/src/my/SeekHelp.tsx b/src/my/SeekHelp.tsx index e2253e6..2fd4d44 100644 --- a/src/my/SeekHelp.tsx +++ b/src/my/SeekHelp.tsx @@ -77,7 +77,10 @@ export class SeekHelp extends React.Component<{ user:string }, //打开志愿者列表 openVolunteerList(activityId:number,status:ActivityStatus){ let that=this - request(Api.main.activity.seekHelpUser+"?activityId="+activityId+"&activityStatus="+status,Method.GET,{}, + request(Api.main.activity.seekHelpUser,Method.GET,{ + activityId:String(activityId), + activityStatus:status + }, new SeekHelpUserTransform(),function (res:SeekHelpUser) { switch (res.customResult) { case SimpleMessage.fail: diff --git a/src/public.tsx b/src/public.tsx index 4f011cb..88435d5 100644 --- a/src/public.tsx +++ b/src/public.tsx @@ -54,8 +54,11 @@ export function getStatus(status:ActivityStatus){ //查找我的好友 -export function loadMyFriend(name:string,that:React.Component){ - request(Api.account.myFriend+"?currentPage=1&name="+name,Method.GET, {},new UserTransform(),function (res:UserRes) { +export function loadMyFriend(name:string,that:React.Component,page:number){ + request(Api.account.myFriend,Method.GET, { + currentPage:String(page), + name:name + },new UserTransform(),function (res:UserRes) { switch (res.customResult) { case PageDataMessage.ok: that.setState({ diff --git a/src/sub/IndexMenu.tsx b/src/sub/IndexMenu.tsx index df2f93e..cc30496 100644 --- a/src/sub/IndexMenu.tsx +++ b/src/sub/IndexMenu.tsx @@ -55,7 +55,10 @@ export class IndexMenu extends React.Component<{ cookies:Cookies }, loadActivity(page:number){ console.debug("检索活动关键字:"+this.state.title) let that=this - request(Api.main.activity.find+'?title='+this.state.title+"¤tPage="+page,Method.GET, {},new FindActivityTransform(),function (res:FindActivityRes) { + request(Api.main.activity.find,Method.GET, { + title:this.state.title, + currentPage:String(page) + },new FindActivityTransform(),function (res:FindActivityRes) { switch(res.customResult){ diff --git a/src/sub/SendHelp.tsx b/src/sub/SendHelp.tsx index 01c5823..f31f26c 100644 --- a/src/sub/SendHelp.tsx +++ b/src/sub/SendHelp.tsx @@ -167,7 +167,7 @@ export class SendHelp extends React.Component<{ onSendActivityOK:Function }, Sen 推荐好友 - loadMyFriend(e.target.value,this)}/> + loadMyFriend(e.target.value,this,1)}/> {this.state.friendList.map((friend:User,index:number)=>)} diff --git a/src/sub/Volunteer.tsx b/src/sub/Volunteer.tsx index c9b6055..4a7e7a4 100644 --- a/src/sub/Volunteer.tsx +++ b/src/sub/Volunteer.tsx @@ -1,7 +1,7 @@ import React from "react"; import {Button, Table} from "react-bootstrap"; import {Input} from "../ui/InputGroup"; -import {PageProps, User} from "../entity"; +import {PageProps, User, UserType} from "../entity"; import {Page} from "../ui/Page"; import {Address} from "../ui/Address"; import {Method, request} from "../interface" @@ -46,8 +46,12 @@ export class Volunteer extends React.Component<{ undefined?:undefined }, loadVolunteerList(page:number){ let that=this - request(Api.account.find+'?info='+this.state.form.keyword+'&serviceAddress='+this.state.form.serviceAddress - +'¤tPage='+page+'&userTypes=help',Method.GET,{},new FindUserTransform(),function(res:FindUserRes){ + request(Api.account.find,Method.GET,{ + currentPage:String(page), + userTypes:[UserType.help], + info:this.state.form.keyword, + serviceAddress:this.state.form.serviceAddress?this.state.form.serviceAddress:"" + },new FindUserTransform(),function(res:FindUserRes){ switch (res.customResult) { case PageDataMessage.ok: that.setState({