/** * 首页活动列表信息 */ 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; //已选中好友列表 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; } /** * 表单状态 */ 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' }