package search import ( "SciencesServer/app/basic/controller" "errors" ) type Instance struct{} type InstanceHandle func() *Instance var instanceHandle = map[int]func(int, int, string, string, map[string]interface{}) (*controller.ReturnPages, error){ 1: searchCompany, 2: achievementSearch, 3: searchLaboratory, 4: searchPatent, 5: searchExpert, 6: searchDemand, } // Launch 发起搜索 func (c *Instance) Launch(mode int, keyword, industry string, params map[string]interface{}, page, pageSize int) (interface{}, error) { handle, has := instanceHandle[mode] if !has { return nil, errors.New("操作错误,未知的搜索模式") } return handle(page, pageSize, keyword, industry, params) } func NewInstance() InstanceHandle { return func() *Instance { return &Instance{} } }