package tencentNlu import ( "speech-nlu-parse/model" "sync" ) type DomainFunc func(*model.DomainParams) []byte var ( handlers = make(map[string]DomainFunc) handlersRWMutex sync.RWMutex ) // 注册 func DomainRegister(key string, value DomainFunc) { handlersRWMutex.Lock() defer handlersRWMutex.Unlock() handlers[key] = value return } // 获取handler func getHandler(key string) (handler DomainFunc, ok bool) { handler, ok = handlers[key] return } // 注册所有domain func register() { // DomainRegister() DomainRegister(MUSIC, musicDomain) DomainRegister(NEWS, newsDomain) DomainRegister(WEATHER, weatherDomain) DomainRegister(ANCIENTPOEM, poemDomain) DomainRegister(FM, fmDomain) DomainRegister(SPORTS, sportsDomain) DomainRegister(JOKE, jokeDomain) DomainRegister(ASTRO, astroDomain) DomainRegister(HOLIDAY, holidayDomain) DomainRegister(STOCK, stockDomain) DomainRegister(TRANSLATE, translateDomain) DomainRegister(SOUND, soundDomain) DomainRegister(ALMANAC, almanacDomain) DomainRegister(FINANCE, financeDomain) DomainRegister(FOOD, cityinfoDomain) DomainRegister(GENERALQA, generalQADomain) DomainRegister(COMMONQA, commonQADomain) DomainRegister(BAIKE, baikeDomain) DomainRegister(CHENGYU, chengyuDomain) DomainRegister(SCIENCE, scienceDomain) DomainRegister(RECIPE, recipeDomain) DomainRegister(HISTORY, historyDomain) DomainRegister(CHAT, chatDomain) DomainRegister(GEOGRAPHY, geographyDomain) DomainRegister(ALARM, alarmDomain) DomainRegister(REMINDERV2, alarmDomain) DomainRegister(XIAOLIAO, customChatDomain) DomainRegister(CITYINFO, cityinfoDomain) DomainRegister(WORLDRECORDS, cityinfoDomain) DomainRegister(HTWHYS, cityinfoDomain) DomainRegister(DISEASE, cityinfoDomain) DomainRegister(GARBAGECLASS, cityinfoDomain) DomainRegister(YIQINGWENDA, cityinfoDomain) DomainRegister(GLOBALCTRL, globalctrlDomain) DomainRegister(INVENTIONQAPAIRS, inventionQaPairsDomain) DomainRegister(PLANTS_KBQA, plantsKbqaDomain) DomainRegister(HELP, helpDomain) DomainRegister(GLETKT_XLCJ_1245258905417052160, customChatDomain) DomainRegister(CESHI_1149914105856290816, customChatDomain) DomainRegister(GELIYOUPINGKONGTIAO_1289106967398617088, customChatDomain) DomainRegister(JHDPBXZSWD_1364089899207012352, customChatDomain) DomainRegister(LXTEST_1697504067777118921, customChatDomain) DomainRegister(LXTEST_1697504245166677379, customChatDomain) DomainRegister(LCHAT_1736631343458063755, customChatDomain) }