AudioApiRequestUtil.kt 3.09 KB
Newer Older
洪国微 committed
1 2 3 4 5
package com.ydl.audioim.http

import com.google.gson.Gson
import com.ydl.audioim.bean.AgoraTokenResponse
import com.ydl.audioim.bean.ConnectBean
6
import com.ydl.audioim.http.command.*
洪国微 committed
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
import com.ydl.ydlcommon.data.http.BaseAPIResponse
import com.ydl.ydlcommon.data.http.BaseResponse
import com.ydl.ydlcommon.data.http.RxUtils
import com.ydl.ydlnet.YDLHttpUtils
import io.reactivex.Observable
import okhttp3.MediaType
import okhttp3.RequestBody

/**
 * @author jiucheng
 * @描述:声网业务接口请求
 * @Copyright Copyright (c) 2018
 * @Company 壹点灵
 * @date 2018/11/9
 */
class AudioApiRequestUtil {
    companion object {
        /**
         * 倾诉
         */
        fun connectListen(cmd: ConnectCommand): Observable<BaseAPIResponse<ConnectBean>> {
            return RxUtils.mapObservable(cmd)
                    .flatMap {
                        it->
                        YDLHttpUtils.obtainApi(AudioNetAPi::class.java).connectListen(it)
                    }
        }

        /**
         * 通话开始回调
         *
         * @param param
         * @return
         */
41 42 43 44 45 46
//        fun connectStart(param: ConnectStartCommand): Observable<BaseAPIResponse<Any>> {
////            val list = YdlRetrofitUtils.getPostList(param)
//            var str = Gson().toJson(param)
//            val body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), str) as RequestBody
//            return YDLHttpUtils.obtainApi(AudioNetAPi::class.java).connectStart(body)
//        }
洪国微 committed
47 48 49 50 51 52 53

        /**
         * 通话结束回调
         *
         * @param param
         * @return
         */
54 55 56 57 58 59
//        fun connectFinish(param: ConnectFinishCommand): Observable<BaseAPIResponse<Any>> {
////            val list = YdlRetrofitUtils.getPostList(param)
//            var str = Gson().toJson(param)
//            val body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), str) as RequestBody
//            return YDLHttpUtils.obtainApi(AudioNetAPi::class.java).connectFinish(body)
//        }
洪国微 committed
60

61 62 63 64 65 66 67 68 69 70 71 72
        /**
         * 通话警告与异常回调
         *
         * @param param
         * @return
         */
        fun connectException(param: ConnectExceptionCommand): Observable<BaseAPIResponse<Any>> {
            var str = Gson().toJson(param)
            val body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), str) as RequestBody
            return YDLHttpUtils.obtainApi(AudioNetAPi::class.java).connectException(body)
        }

洪国微 committed
73 74 75 76 77 78 79 80 81 82 83 84
        /**
         * 通知服务端发送推送
         */
        fun noticeServerPush(param: NoticePushCommand): Observable<BaseResponse<Any>> {
            var str = Gson().toJson(param)
            val body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), str) as RequestBody
            return YDLHttpUtils.obtainApi(AudioNetAPi::class.java).noticeServerPush(body)
        }

        /**
         * 获取声网登录token
         */
洪国微 committed
85 86
        fun getAgoraToken(): Observable<BaseAPIResponse<AgoraTokenResponse>>{
            return YDLHttpUtils.obtainApi(AudioNetAPi::class.java).getAgoraToken()
洪国微 committed
87 88 89
        }
    }
}