实现HTTP部分功能

This commit is contained in:
GoEdgeLab
2020-09-26 08:06:40 +08:00
parent 7581cf9f75
commit 16bbe7d380
45 changed files with 1117 additions and 456 deletions

View File

@@ -0,0 +1,27 @@
package models
import (
"encoding/json"
"errors"
"reflect"
)
// 解码事件
func (this *SysEvent) DecodeEvent() (EventInterface, error) {
// 解析数据类型
t, isOk := eventTypeMapping[this.Type]
if !isOk {
return nil, errors.New("can not found event type '" + this.Type + "'")
}
ptr := reflect.New(t).Interface().(EventInterface)
// 解析参数
if IsNotNull(this.Params) {
err := json.Unmarshal([]byte(this.Params), ptr)
if err != nil {
return nil, err
}
}
return ptr, nil
}