| } | } | ||||
| } | } | ||||
| } | } | ||||
| //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 | |||||
| } |