kotlin请求rxhttp

kotlin请求rxhttp

1、代码返回data为空或者有数据都可以用

RxHttp.postBody("")
            .addHeader("db-app-version", getNativeData.getVersion(activity))//版本号
            .addHeader("db-os", Settings.System.ANDROID_ID)//手机操作系统
            .addHeader("db-brand", Build.BRAND)//手机品牌
            .addHeader("db-deviceId", getNativeData.getDeviceId(activity))//设备id
            .addHeader("db-channel", "GOOGLE_PAY")//渠道
            .setBody(userEntity)
            .toObservable<BaseInfoEntity>()
            .`as`(RxLife.asOnMain(this))
            .subscribe({ t: BaseInfoEntity? ->
                t.let {
                    Log.e("TAG", "dsadsadasdsa: " + t!!.data.toString())
                    if (t!!.code == 200) {
                        //登录成功替换数据保持数据唯一
                        AccelerateApp.mDaoSession.userMessageDao.deleteAll()
                        var userMessage =
                            UserMessage(it?.data?.accountEmail,
                                it?.data?.bandwidth,
                                it?.data?.name,
                                it?.data?.photoUrl,
                                it?.data?.token,
                                it?.data?.uid,
                                it?.data?.vipExpireTime,
                                it?.data?.vipLevel,
                                it?.data!!.whetherRegisterUser,
                                it?.data!!.whetherVip)
                        AccelerateApp.mDaoSession.userMessageDao.insertOrReplace(userMessage)

                        var sp = getSharedPreferences("login", Context.MODE_PRIVATE)
                        sp.edit().putBoolean("userLogin", true).apply()
                        tipDialog.dismiss()
                        var intent = Intent()
                        intent.setClass(this, MainActivity().javaClass)
                        intent.flags =
                            Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
                        startActivity(intent)
                    } else {
                        tipDialog.dismiss()
                        Toast.makeText(this, t?.msg, Toast.LENGTH_LONG).show()
                    }
                }
            }, { t: Throwable? ->
                t?.printStackTrace()
            })

实体类

class BaseInfoEntity {

    var code = 0

    var data: Data? = null

    var msg = ""

    class Data {
        var accountEmail = ""
        var bandwidth: Long = 0
        var name = ""
        var photoUrl = ""
        var token = ""
        var uid = ""
        var vipExpireTime = ""
        var vipLevel: Long = 0
        var whetherRegisterUser = true
        var whetherVip = true
        var userType = ""
    }

}

猜你喜欢

转载自blog.csdn.net/jiayuanwai/article/details/131211180