tencentcloud-sdk-ame 1.0.250 → 1.0.251

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1f3ddbc45bd36da0fe7e5d2756aaaca008ee3f2b
4
- data.tar.gz: 786da269ae138d384c8d4076ca6600e76cc7f25b
3
+ metadata.gz: fb30a6347a156fda5661b4ec9f918e12261ef773
4
+ data.tar.gz: b0fa5e235e4635cd83d663a1b60801383ba5fb31
5
5
  SHA512:
6
- metadata.gz: 70142378a626f411a59f7bda37d93988f2a5fc581e0ee780ee35e11f41ce1593a730b726e94c1a909cadf65056ad7c9087849450395189cd5eef9782b5e5f88c
7
- data.tar.gz: d62d87bd0a18094ca11d2cdd8648f5404d1c0910c4f7c538dc9e29ca22b33b2e581b08703149006b80ac59a6a628917d5d10dc7fbf3e874fc436ef2891a876a6
6
+ metadata.gz: eba27460d644ef9de7a4187294a1fa53ca2c03997bbab7ccf67976e0ae67988d83dec41abab38790eb4f1328f0af245b357d72f07821649057536a1291febdb6
7
+ data.tar.gz: 22b91bfec973216b7017604f40253e58e53cf3c4929e62c5915cdaabf79c355d92bdf309d17deed5acd25d156fbb8ec59f5fccf338561721efe8740ce3887717
data/lib/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.250
1
+ 1.0.251
@@ -269,6 +269,80 @@ module TencentCloud
269
269
  raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
270
270
  end
271
271
 
272
+ # 获取直播互动曲库歌手分类信息
273
+
274
+ # @param request: Request instance for DescribeKTVSingerCategories.
275
+ # @type request: :class:`Tencentcloud::ame::V20190916::DescribeKTVSingerCategoriesRequest`
276
+ # @rtype: :class:`Tencentcloud::ame::V20190916::DescribeKTVSingerCategoriesResponse`
277
+ def DescribeKTVSingerCategories(request)
278
+ body = send_request('DescribeKTVSingerCategories', request.serialize)
279
+ response = JSON.parse(body)
280
+ if response['Response'].key?('Error') == false
281
+ model = DescribeKTVSingerCategoriesResponse.new
282
+ model.deserialize(response['Response'])
283
+ model
284
+ else
285
+ code = response['Response']['Error']['Code']
286
+ message = response['Response']['Error']['Message']
287
+ reqid = response['Response']['RequestId']
288
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
289
+ end
290
+ rescue TencentCloud::Common::TencentCloudSDKException => e
291
+ raise e
292
+ rescue StandardError => e
293
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
294
+ end
295
+
296
+ # 根据歌手id,返回该歌手下歌曲列表。
297
+
298
+
299
+
300
+ # @param request: Request instance for DescribeKTVSingerMusics.
301
+ # @type request: :class:`Tencentcloud::ame::V20190916::DescribeKTVSingerMusicsRequest`
302
+ # @rtype: :class:`Tencentcloud::ame::V20190916::DescribeKTVSingerMusicsResponse`
303
+ def DescribeKTVSingerMusics(request)
304
+ body = send_request('DescribeKTVSingerMusics', request.serialize)
305
+ response = JSON.parse(body)
306
+ if response['Response'].key?('Error') == false
307
+ model = DescribeKTVSingerMusicsResponse.new
308
+ model.deserialize(response['Response'])
309
+ model
310
+ else
311
+ code = response['Response']['Error']['Code']
312
+ message = response['Response']['Error']['Message']
313
+ reqid = response['Response']['RequestId']
314
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
315
+ end
316
+ rescue TencentCloud::Common::TencentCloudSDKException => e
317
+ raise e
318
+ rescue StandardError => e
319
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
320
+ end
321
+
322
+ # 根据过滤条件,返回匹配的歌手列表。
323
+
324
+ # @param request: Request instance for DescribeKTVSingers.
325
+ # @type request: :class:`Tencentcloud::ame::V20190916::DescribeKTVSingersRequest`
326
+ # @rtype: :class:`Tencentcloud::ame::V20190916::DescribeKTVSingersResponse`
327
+ def DescribeKTVSingers(request)
328
+ body = send_request('DescribeKTVSingers', request.serialize)
329
+ response = JSON.parse(body)
330
+ if response['Response'].key?('Error') == false
331
+ model = DescribeKTVSingersResponse.new
332
+ model.deserialize(response['Response'])
333
+ model
334
+ else
335
+ code = response['Response']['Error']['Code']
336
+ message = response['Response']['Error']['Message']
337
+ reqid = response['Response']['RequestId']
338
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
339
+ end
340
+ rescue TencentCloud::Common::TencentCloudSDKException => e
341
+ raise e
342
+ rescue StandardError => e
343
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
344
+ end
345
+
272
346
  # 根据接口的模式及歌曲ID来取得歌词信息或者波形图信息。
273
347
 
274
348
  # @param request: Request instance for DescribeLyric.
@@ -107,6 +107,26 @@ module TencentCloud
107
107
  end
108
108
  end
109
109
 
110
+ # 副歌片段信息
111
+ class ChorusClip < TencentCloud::Common::AbstractModel
112
+ # @param StartTime: 副歌时间,单位:毫秒
113
+ # @type StartTime: Integer
114
+ # @param EndTime: 副歌结束时间,单位:毫秒
115
+ # @type EndTime: Integer
116
+
117
+ attr_accessor :StartTime, :EndTime
118
+
119
+ def initialize(starttime=nil, endtime=nil)
120
+ @StartTime = starttime
121
+ @EndTime = endtime
122
+ end
123
+
124
+ def deserialize(params)
125
+ @StartTime = params['StartTime']
126
+ @EndTime = params['EndTime']
127
+ end
128
+ end
129
+
110
130
  # CreateKTVRobot请求参数结构体
111
131
  class CreateKTVRobotRequest < TencentCloud::Common::AbstractModel
112
132
  # @param RTCSystem: RTC厂商类型,取值有:
@@ -496,16 +516,22 @@ module TencentCloud
496
516
  # @type LyricsUrl: String
497
517
  # @param DefinitionInfoSet: 歌曲规格信息列表
498
518
  # @type DefinitionInfoSet: Array
519
+ # @param MidiJsonUrl: 音高数据文件下载地址
520
+ # @type MidiJsonUrl: String
521
+ # @param ChorusClipSet: 副歌片段数据列表
522
+ # @type ChorusClipSet: Array
499
523
  # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
500
524
  # @type RequestId: String
501
525
 
502
- attr_accessor :KTVMusicBaseInfo, :PlayToken, :LyricsUrl, :DefinitionInfoSet, :RequestId
526
+ attr_accessor :KTVMusicBaseInfo, :PlayToken, :LyricsUrl, :DefinitionInfoSet, :MidiJsonUrl, :ChorusClipSet, :RequestId
503
527
 
504
- def initialize(ktvmusicbaseinfo=nil, playtoken=nil, lyricsurl=nil, definitioninfoset=nil, requestid=nil)
528
+ def initialize(ktvmusicbaseinfo=nil, playtoken=nil, lyricsurl=nil, definitioninfoset=nil, midijsonurl=nil, chorusclipset=nil, requestid=nil)
505
529
  @KTVMusicBaseInfo = ktvmusicbaseinfo
506
530
  @PlayToken = playtoken
507
531
  @LyricsUrl = lyricsurl
508
532
  @DefinitionInfoSet = definitioninfoset
533
+ @MidiJsonUrl = midijsonurl
534
+ @ChorusClipSet = chorusclipset
509
535
  @RequestId = requestid
510
536
  end
511
537
 
@@ -524,6 +550,15 @@ module TencentCloud
524
550
  @DefinitionInfoSet << ktvmusicdefinitioninfo_tmp
525
551
  end
526
552
  end
553
+ @MidiJsonUrl = params['MidiJsonUrl']
554
+ unless params['ChorusClipSet'].nil?
555
+ @ChorusClipSet = []
556
+ params['ChorusClipSet'].each do |i|
557
+ chorusclip_tmp = ChorusClip.new
558
+ chorusclip_tmp.deserialize(i)
559
+ @ChorusClipSet << chorusclip_tmp
560
+ end
561
+ end
527
562
  @RequestId = params['RequestId']
528
563
  end
529
564
  end
@@ -707,6 +742,186 @@ module TencentCloud
707
742
  end
708
743
  end
709
744
 
745
+ # DescribeKTVSingerCategories请求参数结构体
746
+ class DescribeKTVSingerCategoriesRequest < TencentCloud::Common::AbstractModel
747
+
748
+
749
+ def initialize()
750
+ end
751
+
752
+ def deserialize(params)
753
+ end
754
+ end
755
+
756
+ # DescribeKTVSingerCategories返回参数结构体
757
+ class DescribeKTVSingerCategoriesResponse < TencentCloud::Common::AbstractModel
758
+ # @param GenderSet: 歌手性别分类列表
759
+ # @type GenderSet: Array
760
+ # @param AreaSet: 歌手区域分类列表
761
+ # @type AreaSet: Array
762
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
763
+ # @type RequestId: String
764
+
765
+ attr_accessor :GenderSet, :AreaSet, :RequestId
766
+
767
+ def initialize(genderset=nil, areaset=nil, requestid=nil)
768
+ @GenderSet = genderset
769
+ @AreaSet = areaset
770
+ @RequestId = requestid
771
+ end
772
+
773
+ def deserialize(params)
774
+ unless params['GenderSet'].nil?
775
+ @GenderSet = []
776
+ params['GenderSet'].each do |i|
777
+ ktvsingercategoryinfo_tmp = KTVSingerCategoryInfo.new
778
+ ktvsingercategoryinfo_tmp.deserialize(i)
779
+ @GenderSet << ktvsingercategoryinfo_tmp
780
+ end
781
+ end
782
+ unless params['AreaSet'].nil?
783
+ @AreaSet = []
784
+ params['AreaSet'].each do |i|
785
+ ktvsingercategoryinfo_tmp = KTVSingerCategoryInfo.new
786
+ ktvsingercategoryinfo_tmp.deserialize(i)
787
+ @AreaSet << ktvsingercategoryinfo_tmp
788
+ end
789
+ end
790
+ @RequestId = params['RequestId']
791
+ end
792
+ end
793
+
794
+ # DescribeKTVSingerMusics请求参数结构体
795
+ class DescribeKTVSingerMusicsRequest < TencentCloud::Common::AbstractModel
796
+ # @param SingerId: 歌手id
797
+ # @type SingerId: String
798
+ # @param Offset: 分页偏移量,默认值:0。
799
+ # @type Offset: Integer
800
+ # @param Limit: 分页返回的记录条数,默认值:50。将返回第 Offset 到第 Offset+Limit-1 条。
801
+ # @type Limit: Integer
802
+
803
+ attr_accessor :SingerId, :Offset, :Limit
804
+
805
+ def initialize(singerid=nil, offset=nil, limit=nil)
806
+ @SingerId = singerid
807
+ @Offset = offset
808
+ @Limit = limit
809
+ end
810
+
811
+ def deserialize(params)
812
+ @SingerId = params['SingerId']
813
+ @Offset = params['Offset']
814
+ @Limit = params['Limit']
815
+ end
816
+ end
817
+
818
+ # DescribeKTVSingerMusics返回参数结构体
819
+ class DescribeKTVSingerMusicsResponse < TencentCloud::Common::AbstractModel
820
+ # @param TotalCount: 总曲目数
821
+ # @type TotalCount: Integer
822
+ # @param KTVMusicInfoSet: KTV 曲目列表
823
+ # @type KTVMusicInfoSet: Array
824
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
825
+ # @type RequestId: String
826
+
827
+ attr_accessor :TotalCount, :KTVMusicInfoSet, :RequestId
828
+
829
+ def initialize(totalcount=nil, ktvmusicinfoset=nil, requestid=nil)
830
+ @TotalCount = totalcount
831
+ @KTVMusicInfoSet = ktvmusicinfoset
832
+ @RequestId = requestid
833
+ end
834
+
835
+ def deserialize(params)
836
+ @TotalCount = params['TotalCount']
837
+ unless params['KTVMusicInfoSet'].nil?
838
+ @KTVMusicInfoSet = []
839
+ params['KTVMusicInfoSet'].each do |i|
840
+ ktvmusicbaseinfo_tmp = KTVMusicBaseInfo.new
841
+ ktvmusicbaseinfo_tmp.deserialize(i)
842
+ @KTVMusicInfoSet << ktvmusicbaseinfo_tmp
843
+ end
844
+ end
845
+ @RequestId = params['RequestId']
846
+ end
847
+ end
848
+
849
+ # DescribeKTVSingers请求参数结构体
850
+ class DescribeKTVSingersRequest < TencentCloud::Common::AbstractModel
851
+ # @param SingerIds: 歌手id集合,精确匹配歌手id
852
+ # <li> 数组长度限制10</li>
853
+ # @type SingerIds: Array
854
+ # @param Genders: 歌手性别集合,不传为全部,精确匹配歌手性别类型,
855
+ # <li>数组长度限制1</li>
856
+ # <li>取值范围:直播互动曲库歌手分类信息接口,返回性别分类信息列表中,分类英文名</li>
857
+ # @type Genders: Array
858
+ # @param Areas: 歌手区域集合,不传为全部,精确匹配歌手区域
859
+ # <li>数组长度限制10</li>
860
+ # <li>取值范围:直播互动曲库歌手分类信息接口,返回的区域分类信息列表中,分类英文名</li>
861
+ # @type Areas: Array
862
+ # @param Sort: 排序方式。默认按照播放数倒序
863
+ # <li> Sort.Field 可选 PlayCount。</li>
864
+ # @type Sort: :class:`Tencentcloud::Ame.v20190916.models.SortBy`
865
+ # @param Offset: 分页偏移量,默认值:0。
866
+ # @type Offset: Integer
867
+ # @param Limit: 分页返回的记录条数,默认值:50。将返回第 Offset 到第 Offset+Limit-1 条。
868
+ # @type Limit: Integer
869
+
870
+ attr_accessor :SingerIds, :Genders, :Areas, :Sort, :Offset, :Limit
871
+
872
+ def initialize(singerids=nil, genders=nil, areas=nil, sort=nil, offset=nil, limit=nil)
873
+ @SingerIds = singerids
874
+ @Genders = genders
875
+ @Areas = areas
876
+ @Sort = sort
877
+ @Offset = offset
878
+ @Limit = limit
879
+ end
880
+
881
+ def deserialize(params)
882
+ @SingerIds = params['SingerIds']
883
+ @Genders = params['Genders']
884
+ @Areas = params['Areas']
885
+ unless params['Sort'].nil?
886
+ @Sort = SortBy.new
887
+ @Sort.deserialize(params['Sort'])
888
+ end
889
+ @Offset = params['Offset']
890
+ @Limit = params['Limit']
891
+ end
892
+ end
893
+
894
+ # DescribeKTVSingers返回参数结构体
895
+ class DescribeKTVSingersResponse < TencentCloud::Common::AbstractModel
896
+ # @param TotalCount: 总歌手数
897
+ # @type TotalCount: Integer
898
+ # @param KTVSingerInfoSet: KTV歌手列表
899
+ # @type KTVSingerInfoSet: Array
900
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
901
+ # @type RequestId: String
902
+
903
+ attr_accessor :TotalCount, :KTVSingerInfoSet, :RequestId
904
+
905
+ def initialize(totalcount=nil, ktvsingerinfoset=nil, requestid=nil)
906
+ @TotalCount = totalcount
907
+ @KTVSingerInfoSet = ktvsingerinfoset
908
+ @RequestId = requestid
909
+ end
910
+
911
+ def deserialize(params)
912
+ @TotalCount = params['TotalCount']
913
+ unless params['KTVSingerInfoSet'].nil?
914
+ @KTVSingerInfoSet = []
915
+ params['KTVSingerInfoSet'].each do |i|
916
+ ktvsingerinfo_tmp = KTVSingerInfo.new
917
+ ktvsingerinfo_tmp.deserialize(i)
918
+ @KTVSingerInfoSet << ktvsingerinfo_tmp
919
+ end
920
+ end
921
+ @RequestId = params['RequestId']
922
+ end
923
+ end
924
+
710
925
  # DescribeLyric请求参数结构体
711
926
  class DescribeLyricRequest < TencentCloud::Common::AbstractModel
712
927
  # @param ItemId: 歌曲ID
@@ -1201,7 +1416,9 @@ module TencentCloud
1201
1416
  # @type MusicId: String
1202
1417
  # @param Name: 歌曲名称
1203
1418
  # @type Name: String
1204
- # @param SingerSet: 演唱者列表
1419
+ # @param SingerInfoSet: 演唱者基础信息列表
1420
+ # @type SingerInfoSet: Array
1421
+ # @param SingerSet: 已弃用,请使用SingerInfoSet
1205
1422
  # @type SingerSet: Array
1206
1423
  # @param LyricistSet: 作词者列表
1207
1424
  # @type LyricistSet: Array
@@ -1212,11 +1429,12 @@ module TencentCloud
1212
1429
  # @param Duration: 歌曲时长
1213
1430
  # @type Duration: Integer
1214
1431
 
1215
- attr_accessor :MusicId, :Name, :SingerSet, :LyricistSet, :ComposerSet, :TagSet, :Duration
1432
+ attr_accessor :MusicId, :Name, :SingerInfoSet, :SingerSet, :LyricistSet, :ComposerSet, :TagSet, :Duration
1216
1433
 
1217
- def initialize(musicid=nil, name=nil, singerset=nil, lyricistset=nil, composerset=nil, tagset=nil, duration=nil)
1434
+ def initialize(musicid=nil, name=nil, singerinfoset=nil, singerset=nil, lyricistset=nil, composerset=nil, tagset=nil, duration=nil)
1218
1435
  @MusicId = musicid
1219
1436
  @Name = name
1437
+ @SingerInfoSet = singerinfoset
1220
1438
  @SingerSet = singerset
1221
1439
  @LyricistSet = lyricistset
1222
1440
  @ComposerSet = composerset
@@ -1227,6 +1445,14 @@ module TencentCloud
1227
1445
  def deserialize(params)
1228
1446
  @MusicId = params['MusicId']
1229
1447
  @Name = params['Name']
1448
+ unless params['SingerInfoSet'].nil?
1449
+ @SingerInfoSet = []
1450
+ params['SingerInfoSet'].each do |i|
1451
+ ktvsingerbaseinfo_tmp = KTVSingerBaseInfo.new
1452
+ ktvsingerbaseinfo_tmp.deserialize(i)
1453
+ @SingerInfoSet << ktvsingerbaseinfo_tmp
1454
+ end
1455
+ end
1230
1456
  @SingerSet = params['SingerSet']
1231
1457
  @LyricistSet = params['LyricistSet']
1232
1458
  @ComposerSet = params['ComposerSet']
@@ -1355,6 +1581,82 @@ module TencentCloud
1355
1581
  end
1356
1582
  end
1357
1583
 
1584
+ # KTV 歌手基础信息
1585
+ class KTVSingerBaseInfo < TencentCloud::Common::AbstractModel
1586
+ # @param SingerId: 歌手id
1587
+ # @type SingerId: String
1588
+ # @param Name: 歌手名
1589
+ # @type Name: String
1590
+
1591
+ attr_accessor :SingerId, :Name
1592
+
1593
+ def initialize(singerid=nil, name=nil)
1594
+ @SingerId = singerid
1595
+ @Name = name
1596
+ end
1597
+
1598
+ def deserialize(params)
1599
+ @SingerId = params['SingerId']
1600
+ @Name = params['Name']
1601
+ end
1602
+ end
1603
+
1604
+ # KTV歌手分类信息
1605
+ class KTVSingerCategoryInfo < TencentCloud::Common::AbstractModel
1606
+ # @param ChineseName: 分类中文名
1607
+ # @type ChineseName: String
1608
+ # @param EnglishName: 分类英文名
1609
+ # @type EnglishName: String
1610
+
1611
+ attr_accessor :ChineseName, :EnglishName
1612
+
1613
+ def initialize(chinesename=nil, englishname=nil)
1614
+ @ChineseName = chinesename
1615
+ @EnglishName = englishname
1616
+ end
1617
+
1618
+ def deserialize(params)
1619
+ @ChineseName = params['ChineseName']
1620
+ @EnglishName = params['EnglishName']
1621
+ end
1622
+ end
1623
+
1624
+ # 直播互动歌曲的歌手信息。
1625
+ class KTVSingerInfo < TencentCloud::Common::AbstractModel
1626
+ # @param SingerId: 歌手id
1627
+ # @type SingerId: String
1628
+ # @param Name: 歌手名
1629
+ # @type Name: String
1630
+ # @param Gender: 歌手性别: 男,女,组合
1631
+ # @type Gender: String
1632
+ # @param Area: 地区: 大陆,港台,欧美,日本
1633
+ # @type Area: String
1634
+ # @param MusicCount: 歌曲数
1635
+ # @type MusicCount: Integer
1636
+ # @param PlayCount: 歌曲总播放次数
1637
+ # @type PlayCount: Integer
1638
+
1639
+ attr_accessor :SingerId, :Name, :Gender, :Area, :MusicCount, :PlayCount
1640
+
1641
+ def initialize(singerid=nil, name=nil, gender=nil, area=nil, musiccount=nil, playcount=nil)
1642
+ @SingerId = singerid
1643
+ @Name = name
1644
+ @Gender = gender
1645
+ @Area = area
1646
+ @MusicCount = musiccount
1647
+ @PlayCount = playcount
1648
+ end
1649
+
1650
+ def deserialize(params)
1651
+ @SingerId = params['SingerId']
1652
+ @Name = params['Name']
1653
+ @Gender = params['Gender']
1654
+ @Area = params['Area']
1655
+ @MusicCount = params['MusicCount']
1656
+ @PlayCount = params['PlayCount']
1657
+ end
1658
+ end
1659
+
1358
1660
  # 歌词信息
1359
1661
  class Lyric < TencentCloud::Common::AbstractModel
1360
1662
  # @param Url: 歌词cdn地址
@@ -2005,6 +2307,26 @@ module TencentCloud
2005
2307
  end
2006
2308
  end
2007
2309
 
2310
+ # 排序依据
2311
+ class SortBy < TencentCloud::Common::AbstractModel
2312
+ # @param Field: 排序字段
2313
+ # @type Field: String
2314
+ # @param Order: 排序方式,可选值:Asc(升序)、Desc(降序)
2315
+ # @type Order: String
2316
+
2317
+ attr_accessor :Field, :Order
2318
+
2319
+ def initialize(field=nil, order=nil)
2320
+ @Field = field
2321
+ @Order = order
2322
+ end
2323
+
2324
+ def deserialize(params)
2325
+ @Field = params['Field']
2326
+ @Order = params['Order']
2327
+ end
2328
+ end
2329
+
2008
2330
  # 分类内容
2009
2331
  class Station < TencentCloud::Common::AbstractModel
2010
2332
  # @param CategoryID: StationID
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tencentcloud-sdk-ame
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.250
4
+ version: 1.0.251
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tencent Cloud
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-26 00:00:00.000000000 Z
11
+ date: 2022-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tencentcloud-sdk-common