syntax = "proto3"; package proto; //新增一个可选的package声明符,用来防止不同的消息类型有命名冲突 option go_package = "./pkg/proto;proto"; //这个选项表明生成go结构体所在的包 //import "google/protobuf/any.proto"; message MusicSpotRequest { message AppInfo { string requestId = 1; } message DevInfo { string mac = 1; string subMac = 2; // 子设备mac,中控变成了子设备 string mid = 3; // mid string vender = 4; // 细分码,用于设备没授权的情况下给默认boot string hid = 5;// 模组id,优先级高于细分码 - 若能匹配,优先使用 string homeId = 6; // 设备所属家庭id string userId = 7; // 用户id } AppInfo appInfo = 1; DevInfo devInfo = 2; message Data { string query = 1; int64 limit = 2; // 目前不生效 } Data data = 3; } message MusicSpotResponse { message Status { int32 code = 1; string msg = 2; } message SourceItem { string mediaId = 1; string singer = 2; string song = 3; } message Data{ repeated SourceItem listItems = 1; } Status status = 1; Data data = 2; } service MusicSpot { rpc GetMusicList(MusicSpotRequest) returns (MusicSpotResponse); // 获取音乐列表 }