You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
302 lines
4.8 KiB
302 lines
4.8 KiB
/**
|
|
* 首页活动列表信息
|
|
*/
|
|
import * as React from "react";
|
|
|
|
|
|
/**
|
|
* 地点信息
|
|
*/
|
|
export interface AddressProps {
|
|
address:string;
|
|
}
|
|
|
|
export interface OnChangeAddress {
|
|
onChange:Function;
|
|
}
|
|
|
|
/**
|
|
*志愿者信息
|
|
*/
|
|
export interface VolunteerProps {
|
|
//个人描述
|
|
desc:string;
|
|
//姓名
|
|
name:string;
|
|
//性别
|
|
sex:string;
|
|
//年龄
|
|
age:number;
|
|
//联系电话
|
|
phone:number;
|
|
//邮箱
|
|
mail:string;
|
|
//服务地点
|
|
address:string;
|
|
}
|
|
|
|
/**
|
|
* 推荐方式
|
|
*/
|
|
export enum RecommendType {
|
|
no="不推荐",
|
|
choose="手动推荐",
|
|
auto="系统推荐"
|
|
}
|
|
|
|
/**
|
|
* 活动简介
|
|
*/
|
|
export interface BaseHelp {
|
|
//活动ID
|
|
activeId:number;
|
|
//活动标题
|
|
title:string;
|
|
//活动内容
|
|
content:string;
|
|
//活动背景图
|
|
activeImg:string;
|
|
}
|
|
|
|
|
|
//活动详情
|
|
export interface ActiveDetail extends BaseHelp{
|
|
//活动开始时间
|
|
activeStartTime:number;
|
|
//活动结束时间
|
|
activeEndTime:number;
|
|
}
|
|
|
|
//我的帮助信息
|
|
export interface MyHelpState extends BaseHelp{
|
|
//求助时间
|
|
seekHelpTime:number;
|
|
//活动开始时间
|
|
activeStartTime:number;
|
|
//活动结束时间
|
|
activeEndTime:number;
|
|
//报名时间
|
|
applyTime:number;
|
|
//参与时间
|
|
joinTime:number|null;
|
|
//完成时间
|
|
completeTime:number|null;
|
|
//活动评价分
|
|
score: number|null;
|
|
}
|
|
|
|
|
|
//我的求助信息
|
|
export interface SeekHelpState extends BaseHelp{
|
|
//求助时间
|
|
time:number;
|
|
//活动报名志愿者
|
|
applyVolunteerList:Array<User>;
|
|
//活动参加志愿者
|
|
joinVolunteerList:Array<User>;
|
|
//活动完成志愿者
|
|
completeVolunteerList:Array<User>;
|
|
}
|
|
|
|
/**
|
|
* 求助信息
|
|
*/
|
|
export interface SendHelpState extends BaseHelp{
|
|
//开始时间
|
|
startTime:string;
|
|
//结束时间
|
|
endTime:string;
|
|
//服务地点
|
|
address:string;
|
|
//推荐方式
|
|
recommendType:RecommendType;
|
|
//推荐目标
|
|
recommendTarget?:Array<number>;
|
|
//好友列表
|
|
friendList:Array<User>;
|
|
//已选中好友列表
|
|
chooseFriendList: {
|
|
[propName:string]:User
|
|
};
|
|
}
|
|
|
|
|
|
/**
|
|
* 分页信息
|
|
*/
|
|
export interface PageProps{
|
|
//当前页
|
|
currentPage:number;
|
|
//总页数
|
|
totalPage:number;
|
|
//分页大小
|
|
pageSize:number;
|
|
}
|
|
|
|
/**
|
|
* 分页点击
|
|
*/
|
|
export interface PageClickProps extends PageProps{
|
|
//分页点击事件
|
|
onClick:Function;
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface BaseDialogProps {
|
|
//弹窗名
|
|
menuName:string;
|
|
//关闭事件
|
|
onClose:Function;
|
|
}
|
|
|
|
export interface CloseDialogProps extends BaseDialogProps{
|
|
//
|
|
titleId:string;
|
|
}
|
|
|
|
/**
|
|
* 我的弹窗
|
|
*/
|
|
export interface MyDialogProps extends CloseDialogProps{
|
|
//弹窗内容
|
|
content:JSX.Element|null;
|
|
//弹窗状态
|
|
open:boolean;
|
|
}
|
|
|
|
export enum UserType {
|
|
seekHelp,
|
|
help
|
|
}
|
|
|
|
/**
|
|
* 用户信息
|
|
*/
|
|
export interface User{
|
|
//用户ID
|
|
userId:string;
|
|
//用户姓名
|
|
name:string;
|
|
//用户年龄
|
|
age:number;
|
|
//用户电话
|
|
mobile:number;
|
|
//用户邮箱
|
|
email:string;
|
|
//地点
|
|
address:string;
|
|
//个人简介
|
|
info:string;
|
|
//头像
|
|
headImg:string;
|
|
//性别
|
|
sex:string;
|
|
//身份
|
|
userType:string;
|
|
//用户状态
|
|
status?:boolean;
|
|
}
|
|
|
|
/**
|
|
* 个人信息编辑修改密码
|
|
*/
|
|
export interface UserEdit extends User{
|
|
//编辑模式
|
|
contentEditable:boolean;
|
|
//修改时间
|
|
modifyPassword:boolean;
|
|
//原密码
|
|
oldPassword:string;
|
|
//新密码
|
|
newPassword:string;
|
|
//确认新密码
|
|
confirmNewPwd:string;
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* 聊天信息
|
|
*/
|
|
export interface Chat extends User{
|
|
//发送内容
|
|
content:string;
|
|
//发送时间
|
|
time:number;
|
|
//是否我发送的信息
|
|
flag:boolean;
|
|
}
|
|
|
|
/**
|
|
* 文本输入框组件封装
|
|
*/
|
|
export interface FormInputProps {
|
|
//表单名
|
|
name: string
|
|
//描述信息
|
|
desc: string
|
|
//提示信息
|
|
placeholder?: string
|
|
//表单值
|
|
value?: string
|
|
//数据类型
|
|
type?:
|
|
| "text"
|
|
| "password"
|
|
as?: React.ElementType;
|
|
//值改变事件
|
|
onChange: Function
|
|
//验证信息
|
|
valid?: {
|
|
check?: Boolean;
|
|
valid?: String;
|
|
invalid?: String;
|
|
}
|
|
//bootstrap col
|
|
col?: number
|
|
//长度
|
|
maxLength?: number
|
|
//选项
|
|
options?:Array<JSX.Element>;
|
|
}
|
|
|
|
|
|
/**
|
|
* 表单状态
|
|
*/
|
|
export interface RegisterState extends User{
|
|
//密码
|
|
password: string;
|
|
//确认密码
|
|
confirmPwd:string;
|
|
}
|
|
|
|
/**
|
|
* 注册表单
|
|
*/
|
|
export interface RegisterProps {
|
|
//跳转登录
|
|
toLogin: Function;
|
|
}
|
|
|
|
/**
|
|
* 登陆表单
|
|
*/
|
|
export interface LoginProps {
|
|
//跳转注册
|
|
toRegister: Function;
|
|
//登录
|
|
login: Function;
|
|
}
|
|
|
|
/**
|
|
* 登陆状态
|
|
*/
|
|
export interface LoginState{
|
|
//管理员名
|
|
user: string;
|
|
//密码
|
|
password: string;
|
|
}
|
|
|