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.
 
 
 
 
help_user/src/entity.ts

346 lines
5.6 KiB

/**
* 首页活动列表信息
*/
import * as React from "react";
/**
* 地点信息
*/
export interface AddressProps {
address:string;
}
export interface OnChangeAddress {
onChange:Function;
col?:number;
value?:string;
}
/**
*志愿者信息
*/
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 {
//活动标题
title:string;
//活动内容
content:string;
//活动背景图
activityImg?:string;
}
export interface ActivityId {
//活动ID
activityId:number;
}
//活动详情
export interface ActivityDetail extends BaseHelp,ActivityId{
//用户id
userId:string;
//活动开始时间
activityStartTime:number;
//活动结束时间
activityEndTime:number;
}
//我的帮助信息
export interface MyHelpState extends ActivityDetail{
//求助时间
seekHelpTime:number;
//报名时间
applyTime:number;
//参与时间
joinTime:number|null;
//完成时间
completeTime:number|null;
//活动评价分
score: number|null;
}
//我的求助信息
export interface SeekHelpState extends BaseHelp,ActivityId{
//求助时间
time:number;
//活动报名志愿者
applyVolunteerList:Array<User>;
//活动参加志愿者
joinVolunteerList:Array<User>;
//活动完成志愿者
completeVolunteerList:Array<User>;
}
/**
* 发布求助信息
*/
export interface SendHelpState extends BaseHelp{
//活动开始时间
activityStartTime:string;
//活动结束时间
activityEndTime:string;
//服务地点
serviceAddress:string;
//推荐方式
recommendType:RecommendType;
//好友列表
friendList:Array<User>;
//已选中好友列表
chooseFriendList: {
[propName:string]:User
};
activityImgFile?:any;
result:JSX.Element|null;
}
/**
* 分页信息
*/
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="seekHelp",
help="help"
}
/**
* 用户信息
*/
export interface User{
//用户ID
userId:string;
//用户姓名
name:string;
//用户年龄
age:number;
//用户电话
mobile:string;
//用户邮箱
email:string;
//住址
address:string;
//服务地点
serviceAddress:string;
//个人简介
info:string;
//头像
headImg?:string;
//性别
sex:string;
//身份
userType:string;
//用户状态
status?:boolean;
}
/**
* 个人信息编辑修改密码
*/
export interface UserEdit{
//用户id
userId?:string;
//用户姓名
name?:string;
//用户年龄
age?:number;
//用户性别
sex?:string;
//用户电话
mobile?:number;
//用户邮箱
email?:string;
//住址
address?:string;
//服务地点
serviceAddress?:string;
//个人简介
info?:string;
//头像
headImg?:string;
//身份
userType?:string;
//编辑模式
contentEditable:boolean;
//修改时间
modifyPassword:boolean;
//原密码
oldPassword:string;
//新密码
newPassword:string;
//确认新密码
confirmNewPwd:string;
result:JSX.Element|null
}
/**
* 聊天信息
*/
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;
//用户头像
imgFile?:any;
//注册结果
result:JSX.Element|null;
}
/**
* 注册表单
*/
export interface RegisterProps {
//跳转登录
toLogin: Function;
}
/**
* 登陆表单
*/
export interface LoginProps {
//跳转注册
toRegister: Function;
//登录
onLoginSuccess: Function;
}
/**
* 登陆状态
*/
export interface LoginState{
//管理员名
userId: string;
//密码
password: string;
//
result:JSX.Element|null
}
/**
* 志愿者状态
*/
export enum VolunteerStatus {
apply = "apply",
join = "join",
complete = "complete"
}