feat(home): 新增银行积分 API 接口和配置

- 新增 HomeBankBean 数据模型,包含今日积分和总积分字段
- 在 HomeApi 中新增 postUserPointDetail() 接口,支持自定义请求头和签名
- 新增银行积分 Retrofit 配置:getBankRetrofit() 函数
- 新增银行积分 BASE_URL 配置和 SECRET_KEY 密钥
- 优化 UrlConfig,支持测试和生产环境的银行积分 API 地址切换
This commit is contained in:
zhanglei
2026-03-17 17:02:22 +08:00
parent 72f4c21b3a
commit e76474b74e
4 changed files with 47 additions and 7 deletions
@@ -52,3 +52,9 @@ data class HomeBannerBean(
data class EncryptInfoBean(
val encryptData: String?
)
data class HomeBankBean(
val todayPoints: String?,
val totalPoints: String?
)
@@ -1,6 +1,7 @@
package com.xjjk.healthyclients.data.api
import com.xjjk.healthyclients.bean.home.EncryptInfoBean
import com.xjjk.healthyclients.bean.home.HomeBankBean
import com.xjjk.healthyclients.bean.home.HomeBannerBean
import com.xjjk.healthyclients.bean.home.HomeNoticeBean
import com.xjjk.healthyclients.bean.home.HomeWatchAllDataBean
@@ -12,9 +13,12 @@ import com.xjjk.healthyclients.bean.user.PointRecord
import com.xjjk.healthyclients.bean.user.PointsTask
import com.xjjk.healthyclients.bean.user.UserPointBean
import com.xjjk.healthyclients.data.bean.ApiResponse
import com.xjjk.healthyclients.retrofit.UrlConfig
import okhttp3.RequestBody
import retrofit2.Call
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.HeaderMap
import retrofit2.http.POST
import retrofit2.http.QueryMap
@@ -102,6 +106,11 @@ interface HomeApi {
*/
@GET("/health-watch/watch/watchDevice/app/unbundleDevice")
suspend fun getUnbundleDevice(@QueryMap params: MutableMap<String, Any?>): ApiResponse<String>
/**
* 获取首页银行积分
*/
@POST("${UrlConfig.middle}api/v1/users/point-details")
fun postUserPointDetail(@HeaderMap headers :Map<String, String>, @Body requestBody: RequestBody): Call<ApiResponse<HomeBankBean>>
}
@@ -1,24 +1,21 @@
package com.xjjk.healthyclients.retrofit
import com.xjjk.healthyclients.retrofit.UrlConfig.getDefaultBaseUrl
import com.xjjk.healthyclients.retrofit.interceptor.LoggingInterceptor2
import com.xjjk.healthyclients.retrofit.UrlConfig.getDefaultBankBaseUrl
import com.xjjk.healthyclients.utils.ApiDns
import okhttp3.OkHttpClient
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import java.util.concurrent.TimeUnit
fun getHealthCheckRetrofit(): Retrofit {
fun getBankRetrofit(): Retrofit {
val builder = OkHttpClient.Builder()
builder.connectTimeout(30, TimeUnit.SECONDS)
builder.readTimeout(30, TimeUnit.SECONDS)
builder.addInterceptor(LoggingInterceptor2())
// builder.addInterceptor(LoggingInterceptor2())
builder.dns(ApiDns())
var baseUrl=""
baseUrl = getDefaultBaseUrl()
var baseUrl = getDefaultBankBaseUrl()
return Retrofit.Builder()
.baseUrl(baseUrl)
// .addConverterFactory(MoshiConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.client(builder.build())
.build()
@@ -31,9 +31,17 @@ object UrlConfig {
private const val TEST_HOME_BANK_H5 = "https://gstest.superwx.cn/healthbank/index.html"
private const val PRODUCT_HOME_BANK_H5 = "https://console-jkglpt.iosp.ydpt.tech/hb/healthweb/index.html"
//手机银行
const val SECRET_KEY = "XJp3EHpcnwReXc1A"
private const val TEST_HOME_BANK_IP = "https://gstest.superwx.cn/"
private const val PRODUCT_HOME_BANK_IP = "https://api-jkglpt.iosp.ydpt.tech/"
val baseUrlType: BaseUrlType = BaseUrlType.PRODUCT
// const val middle = "xj_health/" //test
const val middle = "hb/" //product
var isOpenIm: Boolean = true
enum class BaseUrlType(val type: Int) {
@@ -57,6 +65,19 @@ object UrlConfig {
}
}
}
private fun getBankBaseUrl(baseUrlType: BaseUrlType = BaseUrlType.PRODUCT): String {
return when (baseUrlType) {
BaseUrlType.DEBUG, BaseUrlType.TEST -> {
TEST_HOME_BANK_IP
}
BaseUrlType.PRODUCT -> {
PRODUCT_HOME_BANK_IP
}
}
}
fun getH5BaseUrl(baseUrlType: BaseUrlType = BaseUrlType.PRODUCT): String {
return when (baseUrlType) {
BaseUrlType.DEBUG -> {
@@ -90,6 +111,13 @@ object UrlConfig {
return getBaseUrl(baseUrlType)
}
/**
* 手机银行
*/
fun getDefaultBankBaseUrl(): String {
return getBankBaseUrl(baseUrlType)
}
/**
* 方便在APP运行之后切换环境所以用 get获取
*/