123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- //
- // VideoManager+http.m
- // SikeyComm
- //
- // Created by 刘振兴 on 2025/2/18.
- // Copyright © 2025 BaH Cy. All rights reserved.
- //
- #import "VideoManager+http.h"
- @implementation VideoManager (http)
- - (void)requestToken:(NSString*)uid ticket:(NSString*)ticket callback:(void(^)(BOOL isOK, NSString* token))callback {
- HDNormalLog(([NSString stringWithFormat:@"VideoManager: requestToken ticket:%@", ticket]));
- NSDictionary* serviceRtc = @{
- @"enable" : @(YES),
- @"role" : @(1),
- };
- NSDictionary *param = @{
- @"uid":@"0",
- @"channelName":self.roomId,
- @"tokenExpireTs": @(3600),
- @"privilegeExpireTs": @(3600),
- @"serviceRtc" : serviceRtc,
- };
- [ERequest httpRequest:param httpURL:URL_VIDEO_TOKEN httpMethod:@"POST" onSuccess:^(NSDictionary *result) {
- if ([ERequest isSuccessWithResult:result]) {
- callback(YES, result[@"data"][@"data"][@"token"]);
- } else {
- [EasyTextView showErrorText:result[@"message"]];
- callback(NO, @"");
- }
- } onFailure:^(NSError *error) {
- [EasyTextView showErrorText:NSLocalizedString(@"Network.Error", nil)];
- callback(NO, @"");
- }];
- }
- - (void)requestVideo:(NSString*)uid ticket:(NSString*)ticket dial:(NSInteger)dial callback:(void(^)(BOOL isOK, NSString* token))callback {
- HDNormalLog(([NSString stringWithFormat:@"VideoManager: requestVideo ticket:%@ dial:%ld", ticket, dial]));
- DeviceModel* model = [[DataManager shared] getDeviceWithTicket:ticket];
- if (dial > 0) {
- if (model.videoCallChannel == VIDEO_TYPE_AGORA) {
- [self requestToken:uid ticket:ticket callback:^(BOOL isOK, NSString *token) {
- if (isOK && token.length > 0) {
- [self requestVideoEx:uid ticket:ticket token:token dial:dial callback:^(BOOL isOK) {
- callback(isOK, token);
- }];
- }
- }];
- }
- } else {
- [self requestVideoEx:uid ticket:ticket token:@"" dial:dial callback:^(BOOL isOK) {
- callback(isOK, @"");
- }];
- }
- }
- - (void)requestVideoEx:(NSString*)uid ticket:(NSString*)ticket token:(NSString*)token dial:(NSInteger)dial callback:(void(^)(BOOL isOK))callback {
- HDNormalLog(([NSString stringWithFormat:@"VideoManager: requestVideoEx ticket:%@ dial:%ld token:%@", ticket, dial, token]));
- NSDictionary *param = @{
- @"sid":uid,
- @"roomId": self.roomId,
- @"videoCallToken":token,
- @"dial":@(dial), //是否是拨号 -1 挂断 1 拨号
- };
- NSString* url = dial == 1? URL_VIDEO_DIAL : URL_VIDEO_HANGUP;
- [ERequest httpRequest:param httpURL:url httpMethod:@"GET" onSuccess:^(NSDictionary *result) {
- if ([ERequest isSuccessWithResult:result]) {
- callback(YES);
- } else {
- [EasyTextView showErrorText:result[@"message"]];
- callback(NO);
- }
- } onFailure:^(NSError *error) {
- [EasyTextView showErrorText:NSLocalizedString(@"Network.Error", nil)];
- callback(NO);
- }];
- }
- @end
|