| @@ -124,3 +124,26 @@ func deleteSession(openID string) { | |||
| } | |||
| } | |||
| } | |||
| //OneMessage a description of what to send /receive | |||
| type OneMessage struct { | |||
| Type string `json:"Type"` //MessageType | |||
| Text string `json:"Text"` //for text messages | |||
| Pic MediaID `json:"Pic"` | |||
| Voice MediaID `json:"Voice"` | |||
| ShortVideo MediaID `json:"ShortVideo"` | |||
| Video MediaID `json:"Video"` | |||
| } | |||
| type initProcFunc func(openid string) (newstate chatState) | |||
| type sendProcMsgFunc func(openid string) (newstate chatState) | |||
| type recvProcMsgFunc func(openid string, msg OneMessage) (newstate chatState) | |||
| type cleanProcFunc func(openid string) (newstate chatState) | |||
| //Procedure a description about all procedure | |||
| type Procedure struct { | |||
| init initProcFunc //init function | |||
| send sendProcMsgFunc //function for sending customized message | |||
| recv recvProcMsgFunc //function for receiving message, possibly transfer to new state | |||
| clean cleanProcFunc //function for cleanning up | |||
| } | |||