From 567cbc93cb9edb55f88dfc8dd37a85f58694c09d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=96=87=E9=9D=99?= <1319697849@qq.com> Date: Tue, 2 Sep 2025 14:41:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=8F=E8=94=BD=E9=97=B9=E9=92=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 + c2c.http | 15 +- service/service.go | 284 ---------------------------------- service/speechNlu/register.go | 2 +- 4 files changed, 13 insertions(+), 292 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b7f51d2..f4629a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,8 @@ # 更新日志 +## [3.4.4-beta.2] - 2025.9.2 +### Changed +- 屏蔽闹钟 + ## [3.4.4-beta] - 2025.8.5 ### Changed - 修改音量调节,增加判断仅只有符号的情况 diff --git a/c2c.http b/c2c.http index 63520ea..3c74904 100644 --- a/c2c.http +++ b/c2c.http @@ -1,6 +1,7 @@ POST https://testnlu.gree.com/semantic/unisoundc2c/child/querys #POST http://localhost:19992/semantic/unisoundc2c/child/querys/v2 Content-Type: application/json +User-Agent: a { @@ -11,7 +12,7 @@ Content-Type: application/json }, "nluRet": { "asr_recongize": "", - "text": "盐的营养成分" + "text": "播放古诗" } }, "version": "v0" @@ -26,7 +27,7 @@ X-AppKey: 391b50b5ed634fc49a3db7cfd6bc40db "ip": "14.215.222.17", "mac": "ece154a865eb", "mid": "11011", - "query":"声音调得小一点" , + "query":"播放宝宝睡觉的歌" , "requestId": "123456111" } ### @@ -40,13 +41,13 @@ X-AppKey: 391b50b5ed634fc49a3db7cfd6bc40db "ip": "14.215.222.17", "mac": "ece154a865eb", "mid": "10f05", - "query":"声音升高10", + "query":"声音调得小一点", "requestId": "123456111" } ### -POST https://nlu.gree.com/semantic/unisoundc2c/querys -#POST https://testnlu.gree.com/semantic/unisoundc2c/querys +#POST https://nlu.gree.com/semantic/unisoundc2c/querys +POST https://testnlu.gree.com/semantic/unisoundc2c/querys #POST http://172.28.124.216:9999/semantic/unisoundc2c/querys #POST http://172.28.5.39:9999/semantic/unisoundc2c/querys Content-Type: application/json @@ -57,11 +58,11 @@ Content-Type: application/json "appKey": "ilcsnav5otwalqnkzliyfh5tbrbjkjomtjgiojih", "imei": "hb-0242DFEC61F4", "remoteIP": "47.103.18.223", - "requestId": "123456111", + "requestId": "qqqqq121111234", "trafficParameter": "mode=childxxx;macWifi=28b77c218ed1;mid=10f05;vender=7e000025;macVoice=testyuntiancloud;ver=3.0;scenario=smarthome;filterName=nlu;req_nlu_length=1;returnType=json;fullDuplex=true;appendLength=1;additionalService=geli_nlu2;version=0.5;filterUrl=https://testnlu.gree.com:443/semantic/unisoundc2c/querys;" }, "nluRet": { - "text": "珠海天气" + "text": "白雪公主" }, "postProc": {} } diff --git a/service/service.go b/service/service.go index 055d986..6a8c4d6 100644 --- a/service/service.go +++ b/service/service.go @@ -22,290 +22,6 @@ import ( type TencentNlu struct{} -//func (this TencentNlu) TencentNluParse(ctx context.Context, r *proto.SemanticRequest) (*proto.SemanticResponse, error) { -// requestBody, _ := json.Marshal(r) -// global.Logger.WithFields(logger.Fields{"data": map[string]interface{}{"requestBody": string(requestBody), "query": r.GetQuery()}, "mac": r.GetMacWifi(), "mid": r.GetMid(), "vender": r.GetVender(), "requestId": r.RequestId}).Info("tencent-nlu-parse-grpc request") -// semanticReq := TencentNluParseSemanticRequest2ModelSemanticReq(r) -// -// jsonStr, code := tencentNlu.TencentNlu(semanticReq) -// responseText := gjson.Get(jsonStr, "response_text").String() -// response := &proto.SemanticResponse{Status: &proto.Status{Code: code.Code(), Msg: code.Msg()}, Data: &proto.SemanticData{SemanticRespJsonData: jsonStr}} -// responseBody, _ := json.Marshal(response) -// defer global.Logger.WithFields(logger.Fields{"data": map[string]interface{}{"responseBody": string(responseBody), "query": r.GetQuery(), "responseText": responseText}, "mac": r.GetMacWifi(), "mid": r.GetMid(), "vender": r.GetVender(), "requestId": r.RequestId}).Info("tencent-nlu-parse-grpc response") -// return response, nil -//} -// -//func (TencentNlu) TencentNluParseStream(stream proto.TencentNlu_TencentNluParseStreamServer) error { -// ctx := stream.Context() -// md, ok := metadata.FromIncomingContext(stream.Context()) -// if !ok { -// global.Logger.Errorf("获取metadata失败:%v", md) -// return nil -// } -// tMetaData, err := GetSemanticReq(md) -// if err != nil { -// global.Logger.Errorf("获取metadata失败:%v", md) -// return err -// } -// if tMetaData == nil { -// global.Logger.Errorf("获取metadata失败:%v", md) -// return nil -// } -// sessionId := tMetaData.SessionId -// vender := tMetaData.Vender -// var appKey, accessToken, auth, dsn, qua, requestId, mid, mac, midType, homeId string -// qua = "QV=3&PL=ADR&PR=chvoice&VE=7.6&VN=3350&PP=com.geli.mtt&DE=SPEAKER&SP=3" -// requestId = tMetaData.RequestId -// mid = tMetaData.Mid -// mac = tMetaData.MacWifi -// midType = tMetaData.Vender -// homeId = tMetaData.HomeId -// // 查询key和secret -// dingDangBot, ok := global.DingDangBot.Get(tMetaData.Mid, tMetaData.Vender) -// if ok { -// appKey = dingDangBot.Key -// accessToken = dingDangBot.Secret -// } -// -// if tMetaData.Exist { -// appKey = tMetaData.Appkey -// accessToken = tMetaData.AccessToken -// auth = tMetaData.Auth -// dsn = tMetaData.Dsn -// qua = tMetaData.Qua -// } else { -// // 没有携带鉴权信息, 查dmsdk -// var tokenSearchResponse *model.TokenSearchResponse -// tokenSearchResponse, err = tencentNlu.GetAuthorizationByGRPC(tMetaData.MacWifi, tMetaData.RequestId, mid, tMetaData.Vender) -// if err != nil { -// global.Logger.WithFields(logger.Fields{ -// "data": map[string]interface{}{"data.MacWifi": tMetaData.MacWifi}, -// "requestId": tMetaData.RequestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Error("GetTencentNLUData: GetAuthorizationByGRPC error." + err.Error()) -// } else { -// if tokenSearchResponse.Status.Code == 200 { -// // 200: 成功; 405: 设备未激活 -// if tokenSearchResponse.Data.Status != 0 { // 未分配 的情况下无AppKey AccessToken -// if tokenSearchResponse.Data.AppKey != "" && tokenSearchResponse.Data.AccessToken != "" { -// appKey = tokenSearchResponse.Data.AppKey -// accessToken = tokenSearchResponse.Data.AccessToken -// } -// } -// if tokenSearchResponse.Data.Status == 2 { // 已授权,使用中 -// auth = tokenSearchResponse.Data.Authorization -// dsn = tokenSearchResponse.Data.Dsn -// } -// if tokenSearchResponse.Data.HomeId != "" { -// homeId = tokenSearchResponse.Data.HomeId -// } -// } else if tokenSearchResponse.Status.Code == 405 { // 未分配 -// // -// } else { // 错误码 -// global.Logger.WithFields(logger.Fields{ -// "data": map[string]interface{}{"tokenSearchResponse": tokenSearchResponse}, -// "requestId": tMetaData.RequestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Error("GetTencentNLUData: GetAuthorizationByGRPC error." + tokenSearchResponse.Status.Msg) -// } -// } -// } -// -// // 特殊处理, tencentllmtest001 将使用特殊的bot, 重新配网后会失效 -// // if mac == "tencentllmtest001" { -// // auth = "BACKEND-ENCRYPT:1000,MTAsMTAxNjk4MjcxNTIwNTAyOTg4OCw0MUNFM0QyMjRGNTcyMjg3NTA0NjcxRkEyMEI3ODc5NFlYV1YwLGFfYzg2ODI3M2ZlNjgwMGJhNTcwMzFlMGZjZDE4MjEzZjA4Mjg0ZTM0MixhNTllOTRiMDUyYWMxMWVlYWZmYWUzMTUwYzg5NDViMjphNTQ0ZDliOTY1OGE0NTkxODM0Y2Y5YzExMmRkYWY2MSx0ZXN0N2QzNTMyNmY4N2JjNDE2MTg1MmQ2Mzk2ZjFhMGVhMDQsNDFDRTNEMjI0RjU3MjI4NzUwNDY3MUZBMjBCNzg3OTRZWFdWMA==" -// // dsn = "test7d35326f87bc4161852d6396f1a0ea04" -// // appKey = "a544d9b9658a4591834cf9c112ddaf61" -// // accessToken = "a59e94b052ac11eeaffae3150c8945b2" -// // } -// -// tencentNluWs := tencentNlu.TencentNlpWs{ -// AppKey: appKey, -// AccessToken: accessToken, -// Auth: auth, -// Dsn: dsn, -// Qua: qua, -// HomeId: homeId, -// } -// var nlpWsConn *websocket.Conn -// nlpWsConn, err = tencentNluWs.GetTencentDialogHandler(appKey, accessToken, tMetaData.TRequestId, tMetaData.Ip, auth, dsn) -// if err != nil { -// global.Logger.Errorf("TencentNluParseStream GetTencentDialogHandler error. %v", err) -// return err -// } -// tencentNluWs.NlpWsConn = nlpWsConn -// defer nlpWsConn.Close() -// -// cancelCtx, cancel := context.WithCancel(context.Background()) -// -// // 监听腾讯 -// go func() { -// defer func() { -// if err := recover(); err != nil { -// global.Logger.WithFields(logger.Fields{ -// "requestId": requestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Errorf("err:%v", err) -// nlpWsConn.Close() -// cancel() -// return -// } -// }() -// for { -// select { -// case <-cancelCtx.Done(): -// nlpWsConn.Close() -// return -// default: -// data, err := tencentNluWs.Recv() -// if err != nil { -// if websocket.IsCloseError(err, websocket.CloseAbnormalClosure) || errors.Is(err, net.ErrClosed) { -// // 服务端关闭及客户端关闭的错误捕获 -// global.Logger.WithFields(logger.Fields{ -// "requestId": requestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Info("TencentNluParseStream websocket closed.") -// } else { -// global.Logger.WithFields(logger.Fields{ -// "requestId": requestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Errorf("TencentNluParseStream tencentNluWs.Recv error. %v", err) -// } -// nlpWsConn.Close() -// cancel() -// return -// } -// global.Logger.WithFields(logger.Fields{ -// "data": map[string]interface{}{"tencentNluParseStreamBody": string(data)}, -// "requestId": requestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Info("TencentNluParseStream tencentNluWs.Recv.") -// // 解析 -// // tencentNluWs := tencentNlu.TencentNlpWs{} -// res := tencentNluWs.ParseTNluData(data, mid, midType, requestId, sessionId, mac) -// if len(res) == 0 { -// // res 为空, 表示不需要返回 -// continue -// } -// -// code := errCode.Success -// resp := &proto.SemanticResponse{Status: &proto.Status{Code: code.Code(), Msg: code.Msg()}, Data: &proto.SemanticData{SemanticRespJsonData: string(res)}} -// stream.Send(resp) -// responseText := gjson.GetBytes(res, "response_text").String() -// responseBody, _ := json.Marshal(resp) -// global.Logger.WithFields(logger.Fields{ -// "data": map[string]interface{}{ -// "tencentNluParseStreamBody": string(responseBody), -// "responseText": responseText, -// }, -// "requestId": requestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Info("TencentNluParseStream stream.Send.") -// responseType := gjson.GetBytes(res, "header.semantic.ResponseType").String() -// if responseType == "semantic.close" { -// nlpWsConn.Close() -// cancel() -// return -// } -// } -// } -// }() -// -// // 不主动关闭连接 -// for { -// data, err := stream.Recv() -// if err != nil { -// if errors.Is(ctx.Err(), context.Canceled) { -// // 客户端取消 -// global.Logger.WithFields(logger.Fields{ -// "requestId": requestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Info("TencentNluParseStream stream is canceled.") -// cancel() -// return nil -// } -// -// if err == io.EOF { -// global.Logger.WithFields(logger.Fields{ -// "requestId": requestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Info("TencentNluParseStream stream closed.") -// // 客户端关闭 -// } else { -// global.Logger.WithFields(logger.Fields{ -// "requestId": requestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Errorf("TencentNluParseStream stream.Recv error. %v", err) -// } -// cancel() -// return nil -// } -// requestBody, _ := json.Marshal(data) -// global.Logger.WithFields(logger.Fields{ -// "data": map[string]interface{}{ -// "tencentNluParseStreamBody": string(requestBody), -// "query": data.Query, -// }, -// "requestId": requestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Info("TencentNluParseStream stream.Recv.") -// select { -// case <-cancelCtx.Done(): -// // 腾讯 ws 关闭了 -// return nil -// default: -// selfSemanticReq := TencentNluParseSemanticRequest2ModelSemanticReq(data) -// req := tencentNlu.TansTencentNlpWsReq(appKey, dsn, qua, auth, selfSemanticReq) -// tencentNluWs.Send(req) -// tRequestBody, _ := json.Marshal(data) -// global.Logger.WithFields(logger.Fields{ -// "data": map[string]interface{}{ -// "tencentNluParseStreamBody": string(tRequestBody), -// "query": data.Query, -// }, -// "requestId": requestId, -// "mac": mac, -// "mid": mid, -// "vender": vender, -// "sessionId": sessionId, -// }).Info("TencentNluParseStream tencentNluWs.Send.") -// } -// } -//} - func TencentNluParseSemanticRequest2ModelSemanticReq(tencentNluParseSemanticRequest *proto.SemanticRequest) *model.SemanticReq { if tencentNluParseSemanticRequest == nil { return nil diff --git a/service/speechNlu/register.go b/service/speechNlu/register.go index 4987435..9ea8b25 100644 --- a/service/speechNlu/register.go +++ b/service/speechNlu/register.go @@ -34,7 +34,7 @@ func register() { //DomainRegister(STOCK, stockDomain) DomainRegister(TRANSLATE, translateDomain) - DomainRegister(ALARM, alarmDomain) + //DomainRegister(ALARM, alarmDomain) DomainRegister(SCIENCE, scienceDomain) DomainRegister(CHENGYU, chengyuDomain) DomainRegister(BAIKE, baikeDomain) -- GitLab