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

425 lines
6.9 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="no",
//手动推荐
choose="choose",
//系统推荐
auto="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;
//是否已报名
hasApply:boolean;
//是否已开始
hasStart:boolean;
}
//我的求助信息
export interface SeekHelpState extends BaseHelp,ActivityId{
//求助时间
seekHelpTime:number;
//报名人数
apply:number;
//参加人数
join:number;
//完成人数
complete:number;
}
/**
* 发布求助信息
*/
export interface SendHelpState extends BaseHelp{
//活动开始时间
activityStartTime:string;
//活动结束时间
activityEndTime:string;
//服务地点
serviceAddress:string;
//推荐方式
recommendType:string;
//好友列表
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;
//窗口宽度
maxWidth?:number;
}
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;
//用户状态
chatStatus?:boolean;
//是否我的好友
isMyFriend?:boolean;
//时间币
timeScore?: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;
}
/**
* 聊天信息
*/
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"
| "number"
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 ActivityStatus {
apply = "apply",
join = "join",
complete = "complete"
}
/**
* 留言信息
*/
export interface LeaveWord {
// 留言用户id
userId:string;
//留言id
leaveWordId:number;
// 留言用户姓名
name:string;
// 留言用户头像
headImg:string;
// 留言类型
type:LeaveWordType;
// 活动id
activityId:number|null;
// 留言用户简介
info:string;
//活动标题
title:string;
//活动内容
content:string;
}
/**
* 留言类型
*/
export enum LeaveWordType {
//推荐
recommend = "recommend",
//报名
apply = "apply",
//参与
join = "join",
//完成
complete = "complete",
//好友验证
friend = "friend"
}
/**
*帮助信息实体
*/
export interface HelpEntity {
// 活动id
activityId:number;
//历史id
historyId:number;
// 活动背景图
activityImg:string;
// 活动标题
title:string;
// 活动内容
content:string;
// 求助时间
seekHelpTime:number;
// 活动开始时间
activityStartTime:number;
// 活动结束时间
activityEndTime:number;
// 状态
status:string;
// 报名时间
applyTime:number;
// 参与时间
joinTime:number;
// 完成时间
completeTime:number;
// 评分
activityScore:number;
//活动开始状态
hasStart:boolean;
//活动结束状态
hasEnd:boolean;
}
export enum Sex {
man='man',
women='women'
}