jyq il y a 4 ans
Parent
commit
894028bc4a
2 fichiers modifiés avec 1277 ajouts et 94 suppressions
  1. 233 62
      api/grpc/base/base.pb.go
  2. 1044 32
      api/grpc/base/base_grpc.pb.go

+ 233 - 62
api/grpc/base/base.pb.go

@@ -1252,7 +1252,7 @@ var file_base_proto_rawDesc = []byte{
 	0x09, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x61,
 	0x6e, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x6e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44,
 	0x65, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x6c, 0x6c, 0x10, 0x63,
-	0x32, 0xa5, 0x1e, 0x0a, 0x03, 0x41, 0x70, 0x69, 0x12, 0x33, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e,
+	0x32, 0xd5, 0x2c, 0x0a, 0x03, 0x41, 0x70, 0x69, 0x12, 0x33, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e,
 	0x55, 0x70, 0x12, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x55, 0x70,
 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x44,
 	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x32, 0x0a,
@@ -1494,7 +1494,122 @@ var file_base_proto_rawDesc = []byte{
 	0x69, 0x4e, 0x69, 0x75, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x2e, 0x62, 0x61, 0x73, 0x65,
 	0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 	0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x51, 0x69, 0x4e, 0x69, 0x75, 0x54, 0x6f, 0x6b, 0x65,
-	0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x62, 0x61,
+	0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0a, 0x43, 0x6c, 0x61, 0x73,
+	0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74,
+	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e,
+	0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x22, 0x00, 0x12, 0x38, 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x64,
+	0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53,
+	0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x39,
+	0x0a, 0x09, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x45, 0x64, 0x69, 0x74, 0x12, 0x15, 0x2e, 0x62, 0x61,
+	0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
+	0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0f, 0x43, 0x6c, 0x61,
+	0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x64, 0x69, 0x74, 0x12, 0x15, 0x2e, 0x62,
+	0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64,
+	0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x0e, 0x43, 0x6c,
+	0x61, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x45, 0x64, 0x69, 0x74, 0x12, 0x15, 0x2e, 0x62,
+	0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64,
+	0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x12, 0x43, 0x6c,
+	0x61, 0x73, 0x73, 0x57, 0x78, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x45, 0x64, 0x69, 0x74,
+	0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53,
+	0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3c,
+	0x0a, 0x0c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x56, 0x69, 0x70, 0x45, 0x64, 0x69, 0x74, 0x12, 0x15,
+	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65,
+	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61,
+	0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x11,
+	0x53, 0x74, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x51, 0x75, 0x65, 0x72,
+	0x79, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
+	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
+	0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12,
+	0x3f, 0x0a, 0x0f, 0x53, 0x74, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41,
+	0x64, 0x64, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
+	0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65,
+	0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00,
+	0x12, 0x40, 0x0a, 0x10, 0x53, 0x74, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x61, 0x73, 0x69, 0x63,
+	0x45, 0x64, 0x69, 0x74, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e,
+	0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61,
+	0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x22, 0x00, 0x12, 0x44, 0x0a, 0x14, 0x53, 0x74, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x61, 0x73,
+	0x69, 0x63, 0x53, 0x68, 0x6f, 0x70, 0x45, 0x64, 0x69, 0x74, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73,
+	0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
+	0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x16, 0x53, 0x74, 0x74, 0x50,
+	0x6c, 0x61, 0x6e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x64,
+	0x69, 0x74, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
+	0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65,
+	0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00,
+	0x12, 0x43, 0x0a, 0x13, 0x53, 0x74, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x61, 0x73, 0x69, 0x63,
+	0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53,
+	0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13,
+	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65,
+	0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x0e, 0x53, 0x74, 0x74, 0x50, 0x6c, 0x61, 0x6e,
+	0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53,
+	0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13,
+	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65,
+	0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x0b, 0x53, 0x74, 0x74, 0x50, 0x6c, 0x61, 0x6e,
+	0x43, 0x6f, 0x70, 0x79, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e,
+	0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61,
+	0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x22, 0x00, 0x12, 0x42, 0x0a, 0x12, 0x53, 0x74, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x44, 0x65, 0x74,
+	0x61, 0x69, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
+	0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+	0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52,
+	0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x16, 0x53, 0x74, 0x74, 0x50, 0x6c, 0x61,
+	0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, 0x76, 0x65,
+	0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53,
+	0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3d,
+	0x0a, 0x0d, 0x53, 0x54, 0x54, 0x42, 0x61, 0x73, 0x69, 0x63, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12,
+	0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74,
+	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3b, 0x0a,
+	0x0b, 0x53, 0x54, 0x54, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x64, 0x64, 0x12, 0x15, 0x2e, 0x62,
+	0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64,
+	0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0c, 0x53, 0x54,
+	0x54, 0x42, 0x61, 0x73, 0x69, 0x63, 0x45, 0x64, 0x69, 0x74, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73,
+	0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
+	0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x12, 0x53, 0x54, 0x54, 0x42,
+	0x61, 0x73, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x64, 0x69, 0x74, 0x12, 0x15,
+	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65,
+	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61,
+	0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0f,
+	0x53, 0x54, 0x54, 0x42, 0x61, 0x73, 0x69, 0x63, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12,
+	0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74,
+	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3c, 0x0a,
+	0x0c, 0x53, 0x54, 0x54, 0x42, 0x61, 0x73, 0x69, 0x63, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x15, 0x2e,
+	0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e,
+	0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x13, 0x53,
+	0x54, 0x54, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x64,
+	0x69, 0x74, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
+	0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65,
+	0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00,
+	0x12, 0x42, 0x0a, 0x12, 0x53, 0x54, 0x54, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73,
+	0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74,
+	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e,
+	0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x17, 0x53, 0x54, 0x54, 0x42, 0x61, 0x73, 0x69, 0x63,
+	0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, 0x76, 0x65, 0x12,
+	0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74,
+	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x46, 0x0a,
+	0x16, 0x53, 0x54, 0x54, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x44,
+	0x65, 0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53,
+	0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13,
+	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65,
+	0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x44,
+	0x65, 0x74, 0x61, 0x69, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73,
+	0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
+	0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x62, 0x61,
 	0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
@@ -1597,66 +1712,122 @@ var file_base_proto_depIdxs = []int32{
 	4,  // 60: base.Api.VipHourChgQuery:input_type -> base.StandardRequest
 	17, // 61: base.Api.GetOverlayImgQiNiuToken:input_type -> base.GetOverlayImgRequest
 	2,  // 62: base.Api.GetSimpleQiNiuToken:input_type -> base.DefaultRequest
-	3,  // 63: base.Api.SignUp:output_type -> base.DefaultReply
-	7,  // 64: base.Api.SignIn:output_type -> base.SignInReply
-	3,  // 65: base.Api.SignOut:output_type -> base.DefaultReply
-	10, // 66: base.Api.GenVerifyImage:output_type -> base.GenVerifyImageReply
-	5,  // 67: base.Api.SelectHrSensors:output_type -> base.StandardReply
-	5,  // 68: base.Api.AcrossUserSimpleQuery:output_type -> base.StandardReply
-	5,  // 69: base.Api.VipUserSimpleQuery:output_type -> base.StandardReply
-	5,  // 70: base.Api.TempVipUserSimpleQuery:output_type -> base.StandardReply
-	5,  // 71: base.Api.ShopSimpleQuery:output_type -> base.StandardReply
-	5,  // 72: base.Api.ManageableSimpleQuery:output_type -> base.StandardReply
-	5,  // 73: base.Api.ClassSimpleQuery:output_type -> base.StandardReply
-	5,  // 74: base.Api.ScreenSimpleQuery:output_type -> base.StandardReply
-	13, // 75: base.Api.ManageableShopList:output_type -> base.ShopListReply
-	16, // 76: base.Api.GetShopNavi:output_type -> base.GetShopNaviReply
-	5,  // 77: base.Api.ShopGroupQuery:output_type -> base.StandardReply
-	5,  // 78: base.Api.ShopGroupAdd:output_type -> base.StandardReply
-	5,  // 79: base.Api.ShopGroupEdit:output_type -> base.StandardReply
-	5,  // 80: base.Api.ShopGroupStatusEdit:output_type -> base.StandardReply
-	5,  // 81: base.Api.ShopGroupDetailsQuery:output_type -> base.StandardReply
-	5,  // 82: base.Api.ShopGroupDetailsAdd:output_type -> base.StandardReply
-	5,  // 83: base.Api.ShopVenueQuery:output_type -> base.StandardReply
-	5,  // 84: base.Api.ShopVenueAdd:output_type -> base.StandardReply
-	5,  // 85: base.Api.ShopVenueEdit:output_type -> base.StandardReply
-	5,  // 86: base.Api.ShopVenueStatusEdit:output_type -> base.StandardReply
-	5,  // 87: base.Api.ShopVenueEquipQuery:output_type -> base.StandardReply
-	5,  // 88: base.Api.ShopVenueEquipAdd:output_type -> base.StandardReply
-	5,  // 89: base.Api.ShopVenueEquipEdit:output_type -> base.StandardReply
-	5,  // 90: base.Api.ShopVenueEquipStatusEdit:output_type -> base.StandardReply
-	5,  // 91: base.Api.ShopVenueEquipStatusDel:output_type -> base.StandardReply
-	5,  // 92: base.Api.ShopManagerQuery:output_type -> base.StandardReply
-	5,  // 93: base.Api.ShopManagerAdd:output_type -> base.StandardReply
-	5,  // 94: base.Api.ShopManagerEdit:output_type -> base.StandardReply
-	5,  // 95: base.Api.ShopManagerStatusEdit:output_type -> base.StandardReply
-	5,  // 96: base.Api.ShopConfigQuery:output_type -> base.StandardReply
-	5,  // 97: base.Api.ShopConfigEdit:output_type -> base.StandardReply
-	5,  // 98: base.Api.ShopVipUserQuery:output_type -> base.StandardReply
-	5,  // 99: base.Api.ShopVipUserAdd:output_type -> base.StandardReply
-	5,  // 100: base.Api.ShopVipUserEdit:output_type -> base.StandardReply
-	5,  // 101: base.Api.ShopVipUserStatusEdit:output_type -> base.StandardReply
-	5,  // 102: base.Api.AcrossVipUserQuery:output_type -> base.StandardReply
-	5,  // 103: base.Api.AcrossVipUserAdd:output_type -> base.StandardReply
-	5,  // 104: base.Api.AcrossVipUserDel:output_type -> base.StandardReply
-	5,  // 105: base.Api.VipPhoneQuery:output_type -> base.StandardReply
-	5,  // 106: base.Api.VipMainPhoneCheck:output_type -> base.StandardReply
-	5,  // 107: base.Api.VipOtherPhoneAdd:output_type -> base.StandardReply
-	5,  // 108: base.Api.VipOtherPhoneEdit:output_type -> base.StandardReply
-	5,  // 109: base.Api.VipOtherPhoneStatusEdit:output_type -> base.StandardReply
-	5,  // 110: base.Api.TempVipUserQuery:output_type -> base.StandardReply
-	5,  // 111: base.Api.TempVipUserAdd:output_type -> base.StandardReply
-	5,  // 112: base.Api.TempVipUserEdit:output_type -> base.StandardReply
-	5,  // 113: base.Api.TempVipUserStatusEdit:output_type -> base.StandardReply
-	5,  // 114: base.Api.VipHourEdit:output_type -> base.StandardReply
-	5,  // 115: base.Api.VipConsumeListQuery:output_type -> base.StandardReply
-	5,  // 116: base.Api.VipConsumeDetailQuery:output_type -> base.StandardReply
-	5,  // 117: base.Api.VipClassRelationEdit:output_type -> base.StandardReply
-	5,  // 118: base.Api.VipHourChgQuery:output_type -> base.StandardReply
-	18, // 119: base.Api.GetOverlayImgQiNiuToken:output_type -> base.QiNiuTokenReply
-	18, // 120: base.Api.GetSimpleQiNiuToken:output_type -> base.QiNiuTokenReply
-	63, // [63:121] is the sub-list for method output_type
-	5,  // [5:63] is the sub-list for method input_type
+	4,  // 63: base.Api.ClassQuery:input_type -> base.StandardRequest
+	4,  // 64: base.Api.ClassAdd:input_type -> base.StandardRequest
+	4,  // 65: base.Api.ClassEdit:input_type -> base.StandardRequest
+	4,  // 66: base.Api.ClassStatusEdit:input_type -> base.StandardRequest
+	4,  // 67: base.Api.ClassColorEdit:input_type -> base.StandardRequest
+	4,  // 68: base.Api.ClassWxVisibleEdit:input_type -> base.StandardRequest
+	4,  // 69: base.Api.ClassVipEdit:input_type -> base.StandardRequest
+	4,  // 70: base.Api.SttPlanBasicQuery:input_type -> base.StandardRequest
+	4,  // 71: base.Api.SttPlanBasicAdd:input_type -> base.StandardRequest
+	4,  // 72: base.Api.SttPlanBasicEdit:input_type -> base.StandardRequest
+	4,  // 73: base.Api.SttPlanBasicShopEdit:input_type -> base.StandardRequest
+	4,  // 74: base.Api.SttPlanBasicStatusEdit:input_type -> base.StandardRequest
+	4,  // 75: base.Api.SttPlanBasicPublish:input_type -> base.StandardRequest
+	4,  // 76: base.Api.SttPlanPreview:input_type -> base.StandardRequest
+	4,  // 77: base.Api.SttPlanCopy:input_type -> base.StandardRequest
+	4,  // 78: base.Api.SttPlanDetailQuery:input_type -> base.StandardRequest
+	4,  // 79: base.Api.SttPlanDetailBatchSave:input_type -> base.StandardRequest
+	4,  // 80: base.Api.STTBasicQuery:input_type -> base.StandardRequest
+	4,  // 81: base.Api.STTBasicAdd:input_type -> base.StandardRequest
+	4,  // 82: base.Api.STTBasicEdit:input_type -> base.StandardRequest
+	4,  // 83: base.Api.STTBasicStatusEdit:input_type -> base.StandardRequest
+	4,  // 84: base.Api.STTBasicPreview:input_type -> base.StandardRequest
+	4,  // 85: base.Api.STTBasicCopy:input_type -> base.StandardRequest
+	4,  // 86: base.Api.STTBasicOfflineEdit:input_type -> base.StandardRequest
+	4,  // 87: base.Api.STTDetailListQuery:input_type -> base.StandardRequest
+	4,  // 88: base.Api.STTBasicDetailBatchSave:input_type -> base.StandardRequest
+	4,  // 89: base.Api.STTDetailAllowDelCheck:input_type -> base.StandardRequest
+	4,  // 90: base.Api.CourseDetailQuery:input_type -> base.StandardRequest
+	3,  // 91: base.Api.SignUp:output_type -> base.DefaultReply
+	7,  // 92: base.Api.SignIn:output_type -> base.SignInReply
+	3,  // 93: base.Api.SignOut:output_type -> base.DefaultReply
+	10, // 94: base.Api.GenVerifyImage:output_type -> base.GenVerifyImageReply
+	5,  // 95: base.Api.SelectHrSensors:output_type -> base.StandardReply
+	5,  // 96: base.Api.AcrossUserSimpleQuery:output_type -> base.StandardReply
+	5,  // 97: base.Api.VipUserSimpleQuery:output_type -> base.StandardReply
+	5,  // 98: base.Api.TempVipUserSimpleQuery:output_type -> base.StandardReply
+	5,  // 99: base.Api.ShopSimpleQuery:output_type -> base.StandardReply
+	5,  // 100: base.Api.ManageableSimpleQuery:output_type -> base.StandardReply
+	5,  // 101: base.Api.ClassSimpleQuery:output_type -> base.StandardReply
+	5,  // 102: base.Api.ScreenSimpleQuery:output_type -> base.StandardReply
+	13, // 103: base.Api.ManageableShopList:output_type -> base.ShopListReply
+	16, // 104: base.Api.GetShopNavi:output_type -> base.GetShopNaviReply
+	5,  // 105: base.Api.ShopGroupQuery:output_type -> base.StandardReply
+	5,  // 106: base.Api.ShopGroupAdd:output_type -> base.StandardReply
+	5,  // 107: base.Api.ShopGroupEdit:output_type -> base.StandardReply
+	5,  // 108: base.Api.ShopGroupStatusEdit:output_type -> base.StandardReply
+	5,  // 109: base.Api.ShopGroupDetailsQuery:output_type -> base.StandardReply
+	5,  // 110: base.Api.ShopGroupDetailsAdd:output_type -> base.StandardReply
+	5,  // 111: base.Api.ShopVenueQuery:output_type -> base.StandardReply
+	5,  // 112: base.Api.ShopVenueAdd:output_type -> base.StandardReply
+	5,  // 113: base.Api.ShopVenueEdit:output_type -> base.StandardReply
+	5,  // 114: base.Api.ShopVenueStatusEdit:output_type -> base.StandardReply
+	5,  // 115: base.Api.ShopVenueEquipQuery:output_type -> base.StandardReply
+	5,  // 116: base.Api.ShopVenueEquipAdd:output_type -> base.StandardReply
+	5,  // 117: base.Api.ShopVenueEquipEdit:output_type -> base.StandardReply
+	5,  // 118: base.Api.ShopVenueEquipStatusEdit:output_type -> base.StandardReply
+	5,  // 119: base.Api.ShopVenueEquipStatusDel:output_type -> base.StandardReply
+	5,  // 120: base.Api.ShopManagerQuery:output_type -> base.StandardReply
+	5,  // 121: base.Api.ShopManagerAdd:output_type -> base.StandardReply
+	5,  // 122: base.Api.ShopManagerEdit:output_type -> base.StandardReply
+	5,  // 123: base.Api.ShopManagerStatusEdit:output_type -> base.StandardReply
+	5,  // 124: base.Api.ShopConfigQuery:output_type -> base.StandardReply
+	5,  // 125: base.Api.ShopConfigEdit:output_type -> base.StandardReply
+	5,  // 126: base.Api.ShopVipUserQuery:output_type -> base.StandardReply
+	5,  // 127: base.Api.ShopVipUserAdd:output_type -> base.StandardReply
+	5,  // 128: base.Api.ShopVipUserEdit:output_type -> base.StandardReply
+	5,  // 129: base.Api.ShopVipUserStatusEdit:output_type -> base.StandardReply
+	5,  // 130: base.Api.AcrossVipUserQuery:output_type -> base.StandardReply
+	5,  // 131: base.Api.AcrossVipUserAdd:output_type -> base.StandardReply
+	5,  // 132: base.Api.AcrossVipUserDel:output_type -> base.StandardReply
+	5,  // 133: base.Api.VipPhoneQuery:output_type -> base.StandardReply
+	5,  // 134: base.Api.VipMainPhoneCheck:output_type -> base.StandardReply
+	5,  // 135: base.Api.VipOtherPhoneAdd:output_type -> base.StandardReply
+	5,  // 136: base.Api.VipOtherPhoneEdit:output_type -> base.StandardReply
+	5,  // 137: base.Api.VipOtherPhoneStatusEdit:output_type -> base.StandardReply
+	5,  // 138: base.Api.TempVipUserQuery:output_type -> base.StandardReply
+	5,  // 139: base.Api.TempVipUserAdd:output_type -> base.StandardReply
+	5,  // 140: base.Api.TempVipUserEdit:output_type -> base.StandardReply
+	5,  // 141: base.Api.TempVipUserStatusEdit:output_type -> base.StandardReply
+	5,  // 142: base.Api.VipHourEdit:output_type -> base.StandardReply
+	5,  // 143: base.Api.VipConsumeListQuery:output_type -> base.StandardReply
+	5,  // 144: base.Api.VipConsumeDetailQuery:output_type -> base.StandardReply
+	5,  // 145: base.Api.VipClassRelationEdit:output_type -> base.StandardReply
+	5,  // 146: base.Api.VipHourChgQuery:output_type -> base.StandardReply
+	18, // 147: base.Api.GetOverlayImgQiNiuToken:output_type -> base.QiNiuTokenReply
+	18, // 148: base.Api.GetSimpleQiNiuToken:output_type -> base.QiNiuTokenReply
+	5,  // 149: base.Api.ClassQuery:output_type -> base.StandardReply
+	5,  // 150: base.Api.ClassAdd:output_type -> base.StandardReply
+	5,  // 151: base.Api.ClassEdit:output_type -> base.StandardReply
+	5,  // 152: base.Api.ClassStatusEdit:output_type -> base.StandardReply
+	5,  // 153: base.Api.ClassColorEdit:output_type -> base.StandardReply
+	5,  // 154: base.Api.ClassWxVisibleEdit:output_type -> base.StandardReply
+	5,  // 155: base.Api.ClassVipEdit:output_type -> base.StandardReply
+	5,  // 156: base.Api.SttPlanBasicQuery:output_type -> base.StandardReply
+	5,  // 157: base.Api.SttPlanBasicAdd:output_type -> base.StandardReply
+	5,  // 158: base.Api.SttPlanBasicEdit:output_type -> base.StandardReply
+	5,  // 159: base.Api.SttPlanBasicShopEdit:output_type -> base.StandardReply
+	5,  // 160: base.Api.SttPlanBasicStatusEdit:output_type -> base.StandardReply
+	5,  // 161: base.Api.SttPlanBasicPublish:output_type -> base.StandardReply
+	5,  // 162: base.Api.SttPlanPreview:output_type -> base.StandardReply
+	5,  // 163: base.Api.SttPlanCopy:output_type -> base.StandardReply
+	5,  // 164: base.Api.SttPlanDetailQuery:output_type -> base.StandardReply
+	5,  // 165: base.Api.SttPlanDetailBatchSave:output_type -> base.StandardReply
+	5,  // 166: base.Api.STTBasicQuery:output_type -> base.StandardReply
+	5,  // 167: base.Api.STTBasicAdd:output_type -> base.StandardReply
+	5,  // 168: base.Api.STTBasicEdit:output_type -> base.StandardReply
+	5,  // 169: base.Api.STTBasicStatusEdit:output_type -> base.StandardReply
+	5,  // 170: base.Api.STTBasicPreview:output_type -> base.StandardReply
+	5,  // 171: base.Api.STTBasicCopy:output_type -> base.StandardReply
+	5,  // 172: base.Api.STTBasicOfflineEdit:output_type -> base.StandardReply
+	5,  // 173: base.Api.STTDetailListQuery:output_type -> base.StandardReply
+	5,  // 174: base.Api.STTBasicDetailBatchSave:output_type -> base.StandardReply
+	5,  // 175: base.Api.STTDetailAllowDelCheck:output_type -> base.StandardReply
+	5,  // 176: base.Api.CourseDetailQuery:output_type -> base.StandardReply
+	91, // [91:177] is the sub-list for method output_type
+	5,  // [5:91] is the sub-list for method input_type
 	5,  // [5:5] is the sub-list for extension type_name
 	5,  // [5:5] is the sub-list for extension extendee
 	0,  // [0:5] is the sub-list for field type_name

+ 1044 - 32
api/grpc/base/base_grpc.pb.go

@@ -80,6 +80,36 @@ type ApiClient interface {
 	VipHourChgQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
 	GetOverlayImgQiNiuToken(ctx context.Context, in *GetOverlayImgRequest, opts ...grpc.CallOption) (*QiNiuTokenReply, error)
 	GetSimpleQiNiuToken(ctx context.Context, in *DefaultRequest, opts ...grpc.CallOption) (*QiNiuTokenReply, error)
+	// 商家课程管理
+	ClassQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	ClassAdd(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	ClassEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	ClassStatusEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	ClassColorEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	ClassWxVisibleEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	ClassVipEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	SttPlanBasicQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	SttPlanBasicAdd(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	SttPlanBasicEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	SttPlanBasicShopEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	SttPlanBasicStatusEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	SttPlanBasicPublish(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	SttPlanPreview(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	SttPlanCopy(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	SttPlanDetailQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	SttPlanDetailBatchSave(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	STTBasicQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	STTBasicAdd(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	STTBasicEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	STTBasicStatusEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	STTBasicPreview(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	STTBasicCopy(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	STTBasicOfflineEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	STTDetailListQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	STTBasicDetailBatchSave(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	STTDetailAllowDelCheck(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	// 商家上下课管理
+	CourseDetailQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
 }
 
 type apiClient struct {
@@ -612,6 +642,258 @@ func (c *apiClient) GetSimpleQiNiuToken(ctx context.Context, in *DefaultRequest,
 	return out, nil
 }
 
+func (c *apiClient) ClassQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/ClassQuery", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) ClassAdd(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/ClassAdd", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) ClassEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/ClassEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) ClassStatusEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/ClassStatusEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) ClassColorEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/ClassColorEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) ClassWxVisibleEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/ClassWxVisibleEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) ClassVipEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/ClassVipEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) SttPlanBasicQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/SttPlanBasicQuery", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) SttPlanBasicAdd(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/SttPlanBasicAdd", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) SttPlanBasicEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/SttPlanBasicEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) SttPlanBasicShopEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/SttPlanBasicShopEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) SttPlanBasicStatusEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/SttPlanBasicStatusEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) SttPlanBasicPublish(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/SttPlanBasicPublish", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) SttPlanPreview(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/SttPlanPreview", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) SttPlanCopy(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/SttPlanCopy", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) SttPlanDetailQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/SttPlanDetailQuery", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) SttPlanDetailBatchSave(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/SttPlanDetailBatchSave", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) STTBasicQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/STTBasicQuery", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) STTBasicAdd(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/STTBasicAdd", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) STTBasicEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/STTBasicEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) STTBasicStatusEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/STTBasicStatusEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) STTBasicPreview(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/STTBasicPreview", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) STTBasicCopy(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/STTBasicCopy", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) STTBasicOfflineEdit(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/STTBasicOfflineEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) STTDetailListQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/STTDetailListQuery", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) STTBasicDetailBatchSave(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/STTBasicDetailBatchSave", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) STTDetailAllowDelCheck(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/STTDetailAllowDelCheck", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) CourseDetailQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/CourseDetailQuery", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // ApiServer is the server API for Api service.
 // All implementations must embed UnimplementedApiServer
 // for forward compatibility
@@ -678,6 +960,36 @@ type ApiServer interface {
 	VipHourChgQuery(context.Context, *StandardRequest) (*StandardReply, error)
 	GetOverlayImgQiNiuToken(context.Context, *GetOverlayImgRequest) (*QiNiuTokenReply, error)
 	GetSimpleQiNiuToken(context.Context, *DefaultRequest) (*QiNiuTokenReply, error)
+	// 商家课程管理
+	ClassQuery(context.Context, *StandardRequest) (*StandardReply, error)
+	ClassAdd(context.Context, *StandardRequest) (*StandardReply, error)
+	ClassEdit(context.Context, *StandardRequest) (*StandardReply, error)
+	ClassStatusEdit(context.Context, *StandardRequest) (*StandardReply, error)
+	ClassColorEdit(context.Context, *StandardRequest) (*StandardReply, error)
+	ClassWxVisibleEdit(context.Context, *StandardRequest) (*StandardReply, error)
+	ClassVipEdit(context.Context, *StandardRequest) (*StandardReply, error)
+	SttPlanBasicQuery(context.Context, *StandardRequest) (*StandardReply, error)
+	SttPlanBasicAdd(context.Context, *StandardRequest) (*StandardReply, error)
+	SttPlanBasicEdit(context.Context, *StandardRequest) (*StandardReply, error)
+	SttPlanBasicShopEdit(context.Context, *StandardRequest) (*StandardReply, error)
+	SttPlanBasicStatusEdit(context.Context, *StandardRequest) (*StandardReply, error)
+	SttPlanBasicPublish(context.Context, *StandardRequest) (*StandardReply, error)
+	SttPlanPreview(context.Context, *StandardRequest) (*StandardReply, error)
+	SttPlanCopy(context.Context, *StandardRequest) (*StandardReply, error)
+	SttPlanDetailQuery(context.Context, *StandardRequest) (*StandardReply, error)
+	SttPlanDetailBatchSave(context.Context, *StandardRequest) (*StandardReply, error)
+	STTBasicQuery(context.Context, *StandardRequest) (*StandardReply, error)
+	STTBasicAdd(context.Context, *StandardRequest) (*StandardReply, error)
+	STTBasicEdit(context.Context, *StandardRequest) (*StandardReply, error)
+	STTBasicStatusEdit(context.Context, *StandardRequest) (*StandardReply, error)
+	STTBasicPreview(context.Context, *StandardRequest) (*StandardReply, error)
+	STTBasicCopy(context.Context, *StandardRequest) (*StandardReply, error)
+	STTBasicOfflineEdit(context.Context, *StandardRequest) (*StandardReply, error)
+	STTDetailListQuery(context.Context, *StandardRequest) (*StandardReply, error)
+	STTBasicDetailBatchSave(context.Context, *StandardRequest) (*StandardReply, error)
+	STTDetailAllowDelCheck(context.Context, *StandardRequest) (*StandardReply, error)
+	// 商家上下课管理
+	CourseDetailQuery(context.Context, *StandardRequest) (*StandardReply, error)
 	mustEmbedUnimplementedApiServer()
 }
 
@@ -859,6 +1171,90 @@ func (UnimplementedApiServer) GetOverlayImgQiNiuToken(context.Context, *GetOverl
 func (UnimplementedApiServer) GetSimpleQiNiuToken(context.Context, *DefaultRequest) (*QiNiuTokenReply, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method GetSimpleQiNiuToken not implemented")
 }
+func (UnimplementedApiServer) ClassQuery(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClassQuery not implemented")
+}
+func (UnimplementedApiServer) ClassAdd(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClassAdd not implemented")
+}
+func (UnimplementedApiServer) ClassEdit(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClassEdit not implemented")
+}
+func (UnimplementedApiServer) ClassStatusEdit(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClassStatusEdit not implemented")
+}
+func (UnimplementedApiServer) ClassColorEdit(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClassColorEdit not implemented")
+}
+func (UnimplementedApiServer) ClassWxVisibleEdit(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClassWxVisibleEdit not implemented")
+}
+func (UnimplementedApiServer) ClassVipEdit(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClassVipEdit not implemented")
+}
+func (UnimplementedApiServer) SttPlanBasicQuery(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SttPlanBasicQuery not implemented")
+}
+func (UnimplementedApiServer) SttPlanBasicAdd(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SttPlanBasicAdd not implemented")
+}
+func (UnimplementedApiServer) SttPlanBasicEdit(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SttPlanBasicEdit not implemented")
+}
+func (UnimplementedApiServer) SttPlanBasicShopEdit(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SttPlanBasicShopEdit not implemented")
+}
+func (UnimplementedApiServer) SttPlanBasicStatusEdit(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SttPlanBasicStatusEdit not implemented")
+}
+func (UnimplementedApiServer) SttPlanBasicPublish(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SttPlanBasicPublish not implemented")
+}
+func (UnimplementedApiServer) SttPlanPreview(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SttPlanPreview not implemented")
+}
+func (UnimplementedApiServer) SttPlanCopy(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SttPlanCopy not implemented")
+}
+func (UnimplementedApiServer) SttPlanDetailQuery(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SttPlanDetailQuery not implemented")
+}
+func (UnimplementedApiServer) SttPlanDetailBatchSave(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SttPlanDetailBatchSave not implemented")
+}
+func (UnimplementedApiServer) STTBasicQuery(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method STTBasicQuery not implemented")
+}
+func (UnimplementedApiServer) STTBasicAdd(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method STTBasicAdd not implemented")
+}
+func (UnimplementedApiServer) STTBasicEdit(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method STTBasicEdit not implemented")
+}
+func (UnimplementedApiServer) STTBasicStatusEdit(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method STTBasicStatusEdit not implemented")
+}
+func (UnimplementedApiServer) STTBasicPreview(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method STTBasicPreview not implemented")
+}
+func (UnimplementedApiServer) STTBasicCopy(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method STTBasicCopy not implemented")
+}
+func (UnimplementedApiServer) STTBasicOfflineEdit(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method STTBasicOfflineEdit not implemented")
+}
+func (UnimplementedApiServer) STTDetailListQuery(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method STTDetailListQuery not implemented")
+}
+func (UnimplementedApiServer) STTBasicDetailBatchSave(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method STTBasicDetailBatchSave not implemented")
+}
+func (UnimplementedApiServer) STTDetailAllowDelCheck(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method STTDetailAllowDelCheck not implemented")
+}
+func (UnimplementedApiServer) CourseDetailQuery(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CourseDetailQuery not implemented")
+}
 func (UnimplementedApiServer) mustEmbedUnimplementedApiServer() {}
 
 // UnsafeApiServer may be embedded to opt out of forward compatibility for this service.
@@ -1916,38 +2312,542 @@ func _Api_GetSimpleQiNiuToken_Handler(srv interface{}, ctx context.Context, dec
 	return interceptor(ctx, in, info, handler)
 }
 
-// Api_ServiceDesc is the grpc.ServiceDesc for Api service.
-// It's only intended for direct use with grpc.RegisterService,
-// and not to be introspected or modified (even as a copy)
-var Api_ServiceDesc = grpc.ServiceDesc{
-	ServiceName: "base.Api",
-	HandlerType: (*ApiServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "SignUp",
-			Handler:    _Api_SignUp_Handler,
-		},
-		{
-			MethodName: "SignIn",
-			Handler:    _Api_SignIn_Handler,
-		},
-		{
-			MethodName: "SignOut",
-			Handler:    _Api_SignOut_Handler,
-		},
-		{
-			MethodName: "GenVerifyImage",
-			Handler:    _Api_GenVerifyImage_Handler,
-		},
-		{
-			MethodName: "SelectHrSensors",
-			Handler:    _Api_SelectHrSensors_Handler,
-		},
-		{
-			MethodName: "AcrossUserSimpleQuery",
-			Handler:    _Api_AcrossUserSimpleQuery_Handler,
-		},
-		{
+func _Api_ClassQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).ClassQuery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/ClassQuery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).ClassQuery(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_ClassAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).ClassAdd(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/ClassAdd",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).ClassAdd(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_ClassEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).ClassEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/ClassEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).ClassEdit(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_ClassStatusEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).ClassStatusEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/ClassStatusEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).ClassStatusEdit(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_ClassColorEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).ClassColorEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/ClassColorEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).ClassColorEdit(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_ClassWxVisibleEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).ClassWxVisibleEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/ClassWxVisibleEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).ClassWxVisibleEdit(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_ClassVipEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).ClassVipEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/ClassVipEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).ClassVipEdit(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_SttPlanBasicQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).SttPlanBasicQuery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/SttPlanBasicQuery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).SttPlanBasicQuery(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_SttPlanBasicAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).SttPlanBasicAdd(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/SttPlanBasicAdd",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).SttPlanBasicAdd(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_SttPlanBasicEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).SttPlanBasicEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/SttPlanBasicEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).SttPlanBasicEdit(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_SttPlanBasicShopEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).SttPlanBasicShopEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/SttPlanBasicShopEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).SttPlanBasicShopEdit(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_SttPlanBasicStatusEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).SttPlanBasicStatusEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/SttPlanBasicStatusEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).SttPlanBasicStatusEdit(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_SttPlanBasicPublish_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).SttPlanBasicPublish(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/SttPlanBasicPublish",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).SttPlanBasicPublish(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_SttPlanPreview_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).SttPlanPreview(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/SttPlanPreview",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).SttPlanPreview(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_SttPlanCopy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).SttPlanCopy(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/SttPlanCopy",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).SttPlanCopy(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_SttPlanDetailQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).SttPlanDetailQuery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/SttPlanDetailQuery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).SttPlanDetailQuery(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_SttPlanDetailBatchSave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).SttPlanDetailBatchSave(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/SttPlanDetailBatchSave",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).SttPlanDetailBatchSave(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_STTBasicQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).STTBasicQuery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/STTBasicQuery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).STTBasicQuery(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_STTBasicAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).STTBasicAdd(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/STTBasicAdd",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).STTBasicAdd(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_STTBasicEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).STTBasicEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/STTBasicEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).STTBasicEdit(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_STTBasicStatusEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).STTBasicStatusEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/STTBasicStatusEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).STTBasicStatusEdit(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_STTBasicPreview_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).STTBasicPreview(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/STTBasicPreview",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).STTBasicPreview(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_STTBasicCopy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).STTBasicCopy(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/STTBasicCopy",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).STTBasicCopy(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_STTBasicOfflineEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).STTBasicOfflineEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/STTBasicOfflineEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).STTBasicOfflineEdit(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_STTDetailListQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).STTDetailListQuery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/STTDetailListQuery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).STTDetailListQuery(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_STTBasicDetailBatchSave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).STTBasicDetailBatchSave(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/STTBasicDetailBatchSave",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).STTBasicDetailBatchSave(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_STTDetailAllowDelCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).STTDetailAllowDelCheck(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/STTDetailAllowDelCheck",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).STTDetailAllowDelCheck(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_CourseDetailQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).CourseDetailQuery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/CourseDetailQuery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).CourseDetailQuery(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+// Api_ServiceDesc is the grpc.ServiceDesc for Api service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var Api_ServiceDesc = grpc.ServiceDesc{
+	ServiceName: "base.Api",
+	HandlerType: (*ApiServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "SignUp",
+			Handler:    _Api_SignUp_Handler,
+		},
+		{
+			MethodName: "SignIn",
+			Handler:    _Api_SignIn_Handler,
+		},
+		{
+			MethodName: "SignOut",
+			Handler:    _Api_SignOut_Handler,
+		},
+		{
+			MethodName: "GenVerifyImage",
+			Handler:    _Api_GenVerifyImage_Handler,
+		},
+		{
+			MethodName: "SelectHrSensors",
+			Handler:    _Api_SelectHrSensors_Handler,
+		},
+		{
+			MethodName: "AcrossUserSimpleQuery",
+			Handler:    _Api_AcrossUserSimpleQuery_Handler,
+		},
+		{
 			MethodName: "VipUserSimpleQuery",
 			Handler:    _Api_VipUserSimpleQuery_Handler,
 		},
@@ -2155,6 +3055,118 @@ var Api_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "GetSimpleQiNiuToken",
 			Handler:    _Api_GetSimpleQiNiuToken_Handler,
 		},
+		{
+			MethodName: "ClassQuery",
+			Handler:    _Api_ClassQuery_Handler,
+		},
+		{
+			MethodName: "ClassAdd",
+			Handler:    _Api_ClassAdd_Handler,
+		},
+		{
+			MethodName: "ClassEdit",
+			Handler:    _Api_ClassEdit_Handler,
+		},
+		{
+			MethodName: "ClassStatusEdit",
+			Handler:    _Api_ClassStatusEdit_Handler,
+		},
+		{
+			MethodName: "ClassColorEdit",
+			Handler:    _Api_ClassColorEdit_Handler,
+		},
+		{
+			MethodName: "ClassWxVisibleEdit",
+			Handler:    _Api_ClassWxVisibleEdit_Handler,
+		},
+		{
+			MethodName: "ClassVipEdit",
+			Handler:    _Api_ClassVipEdit_Handler,
+		},
+		{
+			MethodName: "SttPlanBasicQuery",
+			Handler:    _Api_SttPlanBasicQuery_Handler,
+		},
+		{
+			MethodName: "SttPlanBasicAdd",
+			Handler:    _Api_SttPlanBasicAdd_Handler,
+		},
+		{
+			MethodName: "SttPlanBasicEdit",
+			Handler:    _Api_SttPlanBasicEdit_Handler,
+		},
+		{
+			MethodName: "SttPlanBasicShopEdit",
+			Handler:    _Api_SttPlanBasicShopEdit_Handler,
+		},
+		{
+			MethodName: "SttPlanBasicStatusEdit",
+			Handler:    _Api_SttPlanBasicStatusEdit_Handler,
+		},
+		{
+			MethodName: "SttPlanBasicPublish",
+			Handler:    _Api_SttPlanBasicPublish_Handler,
+		},
+		{
+			MethodName: "SttPlanPreview",
+			Handler:    _Api_SttPlanPreview_Handler,
+		},
+		{
+			MethodName: "SttPlanCopy",
+			Handler:    _Api_SttPlanCopy_Handler,
+		},
+		{
+			MethodName: "SttPlanDetailQuery",
+			Handler:    _Api_SttPlanDetailQuery_Handler,
+		},
+		{
+			MethodName: "SttPlanDetailBatchSave",
+			Handler:    _Api_SttPlanDetailBatchSave_Handler,
+		},
+		{
+			MethodName: "STTBasicQuery",
+			Handler:    _Api_STTBasicQuery_Handler,
+		},
+		{
+			MethodName: "STTBasicAdd",
+			Handler:    _Api_STTBasicAdd_Handler,
+		},
+		{
+			MethodName: "STTBasicEdit",
+			Handler:    _Api_STTBasicEdit_Handler,
+		},
+		{
+			MethodName: "STTBasicStatusEdit",
+			Handler:    _Api_STTBasicStatusEdit_Handler,
+		},
+		{
+			MethodName: "STTBasicPreview",
+			Handler:    _Api_STTBasicPreview_Handler,
+		},
+		{
+			MethodName: "STTBasicCopy",
+			Handler:    _Api_STTBasicCopy_Handler,
+		},
+		{
+			MethodName: "STTBasicOfflineEdit",
+			Handler:    _Api_STTBasicOfflineEdit_Handler,
+		},
+		{
+			MethodName: "STTDetailListQuery",
+			Handler:    _Api_STTDetailListQuery_Handler,
+		},
+		{
+			MethodName: "STTBasicDetailBatchSave",
+			Handler:    _Api_STTBasicDetailBatchSave_Handler,
+		},
+		{
+			MethodName: "STTDetailAllowDelCheck",
+			Handler:    _Api_STTDetailAllowDelCheck_Handler,
+		},
+		{
+			MethodName: "CourseDetailQuery",
+			Handler:    _Api_CourseDetailQuery_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "base.proto",