feat : 代理 接口调整

This commit is contained in:
eggmanQQQ
2025-02-26 10:41:58 +08:00
parent d3f866dc88
commit 769232137d
8 changed files with 228 additions and 173 deletions

View File

@@ -257,41 +257,46 @@ class RoomGameListDialog :
if (dialogManager == null) {
dialogManager = DialogManager(context)
}
dialogManager?.showOkCancelDialog(
getString(R.string.room_switch_game_tips)
) {
//todo do 游戏弹窗列表 点击事件 ,code 优先判断
if (gameInfo.isFindLove()) {
jumpFindLove()
}else if(gameInfo.isLuckyBag()){
listener?.onShowLuckyBag()
}else if (gameInfo.isLeadercc()) {
jumpLeaderccGame(gameInfo)
} else if (gameInfo.mgId?.isNotEmpty() == true) {
if (gameInfo.isStandardRoom()) {
OpenRoomHelper.updateRoomInfo(
activity as BaseActivity,
AvRoomDataManager.get().mCurrentRoomInfo,
RoomInfo.ROOMTYPE_HOME_PARTY,
0,
false
)
} else {
OpenRoomHelper.updateRoomInfo(
activity as BaseActivity,
AvRoomDataManager.get().mCurrentRoomInfo,
RoomInfo.ROOMTYPE_GAME,
JavaUtil.str2long(gameInfo.mgId),
false
)
if (gameInfo.isLuckyBag()) {
listener?.onShowLuckyBag()
} else {
dialogManager?.showOkCancelDialog(
getString(R.string.room_switch_game_tips)
) {
//todo do 游戏弹窗列表 点击事件 ,code 优先判断
if (gameInfo.isFindLove()) {
jumpFindLove()
}else if (gameInfo.isLeadercc()) {
jumpLeaderccGame(gameInfo)
} else if (gameInfo.mgId?.isNotEmpty() == true) {
if (gameInfo.isStandardRoom()) {
OpenRoomHelper.updateRoomInfo(
activity as BaseActivity,
AvRoomDataManager.get().mCurrentRoomInfo,
RoomInfo.ROOMTYPE_HOME_PARTY,
0,
false
)
} else {
OpenRoomHelper.updateRoomInfo(
activity as BaseActivity,
AvRoomDataManager.get().mCurrentRoomInfo,
RoomInfo.ROOMTYPE_GAME,
JavaUtil.str2long(gameInfo.mgId),
false
)
}
}else {
jumpBaiShunGame(gameInfo)
}
}else {
jumpBaiShunGame(gameInfo)
}
dismissAllowingStateLoss()
dismissAllowingStateLoss()
}
}
}
private fun jumpLeaderccGame(data: GameInfo) {

View File

@@ -25,6 +25,7 @@ import com.chwl.library.net.rxnet.RxNet
import com.example.lib_utils.ktx.getColor
import com.example.lib_utils.ktx.getDrawable
import com.example.lib_utils.ktx.getString
import com.example.lib_utils.spannable.SpannableTextBuilder
import com.netease.nim.uikit.StatusBarUtil
import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadmoreListener
@@ -46,15 +47,15 @@ class GiveGoldBiliActivity : BaseViewBindingActivity<ActivityGiveGoldBiliBinding
private var mCycle = -1;
private var mTabType = -1;
private var mDataThisCycleEn = mutableListOf<GiveGoldBiliBean>()
private var mDataThisCycleAR = mutableListOf<GiveGoldBiliBean>()
private var mDataLastCycleEn = mutableListOf<GiveGoldBiliBean>()
private var mDataLastCycleAR = mutableListOf<GiveGoldBiliBean>()
private var mDataThisCycleGold = mutableListOf<GiveGoldBiliBean>()
private var mDataThisCycleGoldUs = mutableListOf<GiveGoldBiliBean>()
private var mDataLastCycleGold = mutableListOf<GiveGoldBiliBean>()
private var mDataLastCycleGoldUs = mutableListOf<GiveGoldBiliBean>()
private var mPageNumThisCycleEn = 1
private var mPageNumThisCycleAR = 1
private var mPageNumLastCycleEn = 1
private var mPageNumLastCycleAR = 1
private var mPageNumThisCycleGold = 1
private var mPageNumThisCycleGoldUs = 1
private var mPageNumLastCycleGold = 1
private var mPageNumLastCycleGoldUs = 1
override fun init() {
@@ -67,10 +68,10 @@ class GiveGoldBiliActivity : BaseViewBindingActivity<ActivityGiveGoldBiliBinding
switchCycle(GiveGoldBiliEntity.Cycle.lastCycle)
}
binding.btnGoldUs.click {
switchTab(GiveGoldBiliEntity.TabType.gold)
switchTab(GiveGoldBiliEntity.TabType.goldUs)
}
binding.btnGold.click {
switchTab(GiveGoldBiliEntity.TabType.goldUs)
switchTab(GiveGoldBiliEntity.TabType.gold)
}
binding.srlLayout.setOnRefreshLoadmoreListener(object : OnRefreshLoadmoreListener {
@@ -85,7 +86,8 @@ class GiveGoldBiliActivity : BaseViewBindingActivity<ActivityGiveGoldBiliBinding
mAdapter = GiveGoldBiliAdapter()
binding.rvList.layoutManager = LinearLayoutManager(context, RecyclerView.VERTICAL, false)
binding.rvList.adapter = mAdapter
mAdapter.emptyView = EmptyViewHelper.createEmptyTextView(context,R.string.empty_data.getString())
mAdapter.emptyView =
EmptyViewHelper.createEmptyTextView(context, R.string.empty_data.getString())
binding.tabLayout.setVis(UserModel.get().isArUser)
@@ -102,8 +104,18 @@ class GiveGoldBiliActivity : BaseViewBindingActivity<ActivityGiveGoldBiliBinding
private fun switchCycle(type: Int) {
if (mCycle == type) return
binding.thisCycle.setDrawableEmpty(null,null,null,if (type == GiveGoldBiliEntity.Cycle.thisCycle) R.drawable.e29030_fcc974_draw.getDrawable() else R.drawable.transparent_draw.getDrawable())
binding.lastCycle.setDrawableEmpty(null,null,null,if (type == GiveGoldBiliEntity.Cycle.lastCycle) R.drawable.e29030_fcc974_draw.getDrawable() else R.drawable.transparent_draw.getDrawable())
binding.thisCycle.setDrawableEmpty(
null,
null,
null,
if (type == GiveGoldBiliEntity.Cycle.thisCycle) R.drawable.e29030_fcc974_draw.getDrawable() else R.drawable.transparent_draw.getDrawable()
)
binding.lastCycle.setDrawableEmpty(
null,
null,
null,
if (type == GiveGoldBiliEntity.Cycle.lastCycle) R.drawable.e29030_fcc974_draw.getDrawable() else R.drawable.transparent_draw.getDrawable()
)
binding.thisCycle.setTextColor(if (type == GiveGoldBiliEntity.Cycle.thisCycle) R.color.color_313131.getColor() else R.color.color_AFB1B3.getColor())
binding.lastCycle.setTextColor(if (type == GiveGoldBiliEntity.Cycle.lastCycle) R.color.color_313131.getColor() else R.color.color_AFB1B3.getColor())
@@ -115,11 +127,11 @@ class GiveGoldBiliActivity : BaseViewBindingActivity<ActivityGiveGoldBiliBinding
private fun switchTab(type: Int) {
if (mTabType == type) return
binding.btnGoldUs.changeSoildColor(if (type == GiveGoldBiliEntity.TabType.gold) R.color.color_ff8c03.getColor() else R.color.transparent.getColor())
binding.btnGold.changeSoildColor(if (type == GiveGoldBiliEntity.TabType.goldUs) R.color.color_ff8c03.getColor() else R.color.transparent.getColor())
binding.btnGoldUs.changeSoildColor(if (type == GiveGoldBiliEntity.TabType.goldUs) R.color.color_ff8c03.getColor() else R.color.transparent.getColor())
binding.btnGold.changeSoildColor(if (type == GiveGoldBiliEntity.TabType.gold) R.color.color_ff8c03.getColor() else R.color.transparent.getColor())
binding.btnGoldUs.setTextColor(if (type == GiveGoldBiliEntity.TabType.gold) R.color.white.getColor() else R.color.color_AFB1B3.getColor())
binding.btnGold.setTextColor(if (type == GiveGoldBiliEntity.TabType.goldUs) R.color.white.getColor() else R.color.color_AFB1B3.getColor())
binding.btnGoldUs.setTextColor(if (type == GiveGoldBiliEntity.TabType.goldUs) R.color.white.getColor() else R.color.color_AFB1B3.getColor())
binding.btnGold.setTextColor(if (type == GiveGoldBiliEntity.TabType.gold) R.color.white.getColor() else R.color.color_AFB1B3.getColor())
mTabType = type
mAdapter.mTabType = type
@@ -138,51 +150,51 @@ class GiveGoldBiliActivity : BaseViewBindingActivity<ActivityGiveGoldBiliBinding
}
private fun loadData() {
if (mCycle == -1 && mTabType == -1) return
if (mCycle == -1 || mTabType == -1) return
val data = getData(arrayListOf())
if (data.isVerify()) {
mAdapter.setNewData(data)
} else {
getHistory(getPageNum(),20, mTabType, mCycle)
getHistory(getPageNum(), 20, mCycle, mTabType)
.compose(bindToLifecycle())
.doOnSuccess {
binding.time.text = it.cycleDateStr?:""
binding.totalCoin.text = if (mTabType == GiveGoldBiliEntity.TabType.gold) it.totalGiveGold.toString() else it.totalGiveGoldUsd.toString()
binding.time.text = it.cycleDateStr ?: ""
binding.totalCoin.text =
if (mTabType == GiveGoldBiliEntity.TabType.gold) it.totalGiveGold.toString() else it.totalGiveGoldUsd.toString()
if (it.diamondGiveHistoryVoList.isVerify()) {
if (getPageNum() == 1) {
mAdapter.setNewData(getData(it.diamondGiveHistoryVoList))
} else {
val tranData = tranData(it.diamondGiveHistoryVoList)
tranData.isVerify(0){ first->
if (mAdapter.data.isVerify()) {
val last = mAdapter.data.last()
if (last.timeStr == first.timeStr) {
first.isHead = false
}
}
}
mAdapter.addData(tranData)
}
if (it.diamondGiveHistoryVoList.size == 20) {
if (mCycle == binding.thisCycle.id) {
if (mTabType == binding.btnGoldUs.id) {
mPageNumThisCycleEn++
} else {
mPageNumThisCycleAR++
}
} else {
if (mTabType == binding.btnGoldUs.id) {
mPageNumLastCycleEn++
} else {
mPageNumLastCycleAR++
if (getPageNum() == 1) {
mAdapter.setNewData(getData(it.diamondGiveHistoryVoList))
} else {
val tranData = tranData(it.diamondGiveHistoryVoList)
tranData.isVerify(0) { first ->
if (mAdapter.data.isVerify()) {
val last = mAdapter.data.last()
if (last.timeStr == first.timeStr) {
first.isHead = false
}
}
}
binding.srlLayout.isEnableLoadmore = it.diamondGiveHistoryVoList.size == 20
mAdapter.addData(tranData)
}
if (it.diamondGiveHistoryVoList.size == 20) {
if (mCycle == GiveGoldBiliEntity.Cycle.thisCycle) {
if (mTabType == GiveGoldBiliEntity.TabType.gold) {
mPageNumThisCycleGold++
} else {
mPageNumThisCycleGoldUs++
}
} else {
if (mTabType == GiveGoldBiliEntity.TabType.gold) {
mPageNumLastCycleGold++
} else {
mPageNumLastCycleGoldUs++
}
}
}
binding.srlLayout.isEnableLoadmore = it.diamondGiveHistoryVoList.size == 20
binding.srlLayout.finishLoadmore()
}
.doOnError {
@@ -192,96 +204,98 @@ class GiveGoldBiliActivity : BaseViewBindingActivity<ActivityGiveGoldBiliBinding
}
}
private fun getData(list : List<GiveGoldBiliBean>): List<GiveGoldBiliBean> {
private fun getData(list: List<GiveGoldBiliBean>): List<GiveGoldBiliBean> {
val data = tranData(list)
if (mCycle == binding.thisCycle.id) {
if (mTabType == binding.btnGoldUs.id) {
if (mCycle == GiveGoldBiliEntity.Cycle.thisCycle) {
if (mTabType == GiveGoldBiliEntity.TabType.gold) {
if (data.isVerify()) {
if (mDataThisCycleEn.isVerify()) {
mDataThisCycleEn.addAll(data)
if (mDataThisCycleGold.isVerify()) {
mDataThisCycleGold.addAll(data)
} else {
mDataThisCycleEn = data.toMutableList()
mDataThisCycleGold = data.toMutableList()
}
}
return mDataThisCycleEn
return mDataThisCycleGold
} else {
if (data.isVerify()) {
if (mDataThisCycleAR.isVerify()) {
mDataThisCycleAR.addAll(data)
if (mDataThisCycleGoldUs.isVerify()) {
mDataThisCycleGoldUs.addAll(data)
} else {
mDataThisCycleAR = data.toMutableList()
mDataThisCycleGoldUs = data.toMutableList()
}
}
return mDataThisCycleAR
return mDataThisCycleGoldUs
}
} else {
if (mTabType == binding.btnGoldUs.id) {
if (mTabType == GiveGoldBiliEntity.TabType.gold) {
if (data.isVerify()) {
if (mDataLastCycleEn.isVerify()) {
mDataLastCycleEn.addAll(data)
if (mDataLastCycleGold.isVerify()) {
mDataLastCycleGold.addAll(data)
} else {
mDataLastCycleEn = data.toMutableList()
mDataLastCycleGold = data.toMutableList()
}
}
return mDataLastCycleEn
return mDataLastCycleGold
} else {
if (data.isVerify()) {
if (mDataLastCycleAR.isVerify()) {
mDataLastCycleAR.addAll(data)
if (mDataLastCycleGoldUs.isVerify()) {
mDataLastCycleGoldUs.addAll(data)
} else {
mDataLastCycleAR = data.toMutableList()
mDataLastCycleGoldUs = data.toMutableList()
}
}
return mDataLastCycleAR
return mDataLastCycleGoldUs
}
}
}
private fun getPageNum(): Int {
if (mCycle == binding.thisCycle.id) {
if (mTabType == binding.btnGoldUs.id) {
return mPageNumThisCycleEn
if (mCycle == GiveGoldBiliEntity.Cycle.thisCycle) {
if (mTabType == GiveGoldBiliEntity.TabType.gold) {
return mPageNumThisCycleGold
} else {
return mPageNumThisCycleAR
return mPageNumThisCycleGoldUs
}
} else {
if (mTabType == binding.btnGoldUs.id) {
return mPageNumLastCycleEn
if (mTabType == GiveGoldBiliEntity.TabType.gold) {
return mPageNumLastCycleGold
} else {
return mPageNumLastCycleAR
return mPageNumLastCycleGoldUs
}
}
}
private fun tranData(list: List<GiveGoldBiliBean>) : MutableList<GiveGoldBiliBean>{
private fun tranData(list: List<GiveGoldBiliBean>): MutableList<GiveGoldBiliBean> {
val data = mutableListOf<GiveGoldBiliBean>()
val group = list.groupBy { it.timeStr }
if (list.isVerify()) {
val group = list.groupBy { it.timeStr }
group.forEach { (t, u) ->
u.filterIndexed { index, bean ->
if (index == 0){
bean.isHead = true
group.forEach { (t, u) ->
u.filterIndexed { index, bean ->
if (index == 0) {
bean.isHead = true
}
data.add(bean)
}
data.add(bean)
}
}
return data
}
public class GiveGoldBiliAdapter : BaseBindingAdapter<ItemGiveGoldBiliBinding, GiveGoldBiliBean>() {
public class GiveGoldBiliAdapter :
BaseBindingAdapter<ItemGiveGoldBiliBinding, GiveGoldBiliBean>() {
var mCycle = -1;
var mTabType = -1;
@@ -293,12 +307,31 @@ class GiveGoldBiliActivity : BaseViewBindingActivity<ActivityGiveGoldBiliBinding
pos: Int
) {
viewBinding.day.setVis(data.isHead)
viewBinding.day.text = MyTimeUtils.millis2String(data.createTime,"yyyy-MM-dd")
viewBinding.day.text = MyTimeUtils.millis2String(data.createTime, "yyyy-MM-dd")
viewBinding.avatar.loadAvatar(data.targetAvatar)
viewBinding.nick.text = data.targetNick?:""
viewBinding.nick.text = data.targetNick ?: ""
viewBinding.erBanNo.text = data.targetErbanNo.toString()
viewBinding.coin.text = if (mTabType == GiveGoldBiliEntity.TabType.gold) data.diamondNum.toString() else data.guildUsdNum.toString()
viewBinding.time.text = MyTimeUtils.millis2String(data.createTime)
viewBinding.gold.text = data.diamondNum.toString()
viewBinding.gold.setVis(mTabType == GiveGoldBiliEntity.TabType.gold)
val goldUsStr = "${R.string._ver_23_Settlement_s.getString(data.guildUsdNum)} ${data.diamondNum}"
SpannableTextBuilder(viewBinding.goldUs).appendText(goldUsStr)
.addTextStyleList(arrayListOf(
SpannableTextBuilder.TextStyleBean().apply {
text = R.string._ver_23_Settlement_s.getString(data.guildUsdNum)
textColor = R.color.color_313131.getColor()
},
SpannableTextBuilder.TextStyleBean().apply {
text = data.diamondNum.toString()
textColor = R.color.color_AFB1B3.getColor()
textSize = 12
}
))
.apply()
viewBinding.goldUs.setVis(mTabType == GiveGoldBiliEntity.TabType.goldUs)
}
}
@@ -314,13 +347,16 @@ class GiveGoldBiliActivity : BaseViewBindingActivity<ActivityGiveGoldBiliBinding
}
private val api: Api = RxNet.create(Api::class.java);
interface Api {
@GET("/user/diamond/history")
fun getHistory(@Query("pageNo") pageNo: Int,
@Query("pageSize") pageSize: Int,
@Query("periodType") periodType: Int,
@Query("type") type: Int): Single<ServiceResult<GiveGoldBiliEntity>>
fun getHistory(
@Query("pageNo") pageNo: Int,
@Query("pageSize") pageSize: Int,
@Query("periodType") periodType: Int,
@Query("type") type: Int
): Single<ServiceResult<GiveGoldBiliEntity>>
}

View File

@@ -6,8 +6,8 @@ import lombok.Data;
@Data
public class GiveGoldBiliEntity {
public List<GiveGoldBiliBean> diamondGiveHistoryVoList;
public String cycleDateStr;
public List<GiveGoldBiliBean> diamondGiveHistoryVoList;
public double totalGiveGoldUsd;
public long totalGiveGold;

View File

@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:paddingHorizontal="9dp"
android:layout_marginHorizontal="15dp"
android:background="@drawable/shape_f4f4f4_radius_8dp"
android:layout_height="80dp">

View File

@@ -3,8 +3,8 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_marginBottom="14dp"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:layout_marginBottom="14dp">
<TextView
android:id="@+id/day"
@@ -21,9 +21,9 @@
android:id="@+id/avatar"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/default_avatar"
android:layout_marginTop="12dp"
android:layout_marginStart="15dp"
android:layout_marginTop="12dp"
android:src="@drawable/default_avatar"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/day" />
@@ -51,7 +51,7 @@
<com.chwl.library.widget.text.DrawableTextView
android:id="@+id/coin"
android:id="@+id/gold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
@@ -61,23 +61,46 @@
android:textColor="@color/color_ff8c03"
android:textSize="16sp"
android:textStyle="bold"
android:visibility="invisible"
app:dt_drawableRightHeight="22dp"
app:dt_drawableRightSrc="@drawable/ic_coin_84"
app:dt_drawableRightWidth="22dp"
app:dt_drawableType="shape"
app:layout_constraintBottom_toBottomOf="@id/nick"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/nick" />
app:layout_constraintTop_toTopOf="@id/nick"
tools:visibility="visible" />
<com.chwl.library.widget.text.DrawableTextView
android:id="@+id/goldUs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginEnd="15dp"
android:drawablePadding="4dp"
android:text="0"
android:textColor="@color/color_313131"
android:textSize="13sp"
android:textStyle="bold"
android:visibility="invisible"
app:dt_drawableRightHeight="13dp"
app:dt_drawableRightSrc="@drawable/ic_coin_84"
app:dt_drawableRightWidth="13dp"
app:dt_drawableType="shape"
app:layout_constraintBottom_toBottomOf="@id/nick"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/nick"
tools:visibility="visible" />
<TextView
android:id="@+id/time"
app:layout_constraintTop_toBottomOf="@id/coin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="@id/coin"
android:textColor="@color/color_7b7b7d"
android:textSize="13sp" />
android:textSize="13sp"
app:layout_constraintEnd_toEndOf="@id/gold"
app:layout_constraintTop_toBottomOf="@id/gold" />
<View

View File

@@ -5468,6 +5468,7 @@ You cannot join again within 24 hours after leaving</string>
<string name="_ver_23_Transfer_Past_30_days">Transfer Past 30 days</string>
<string name="_ver_23_Transfer_History">Transfer History</string>
<string name="_ver_23_Settlement_s">Settlement:%s Us </string>

View File

@@ -1,5 +1,7 @@
package com.chwl.core.utils.myutil;
import static android.graphics.BlurMaskFilter.Blur;
import android.annotation.SuppressLint;
import android.content.res.Resources;
import android.graphics.Bitmap;
@@ -54,8 +56,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import static android.graphics.BlurMaskFilter.Blur;
import com.example.lib_utils.AppUtils;
import java.io.InputStream;
@@ -1456,4 +1456,6 @@ public class MySpanUtils {
private static final long serialVersionUID = 4909567650765875771L;
}
}

View File

@@ -1,45 +1,32 @@
{
"code": 200,
"message": "success",
"data": {
"contents": [
"cycleDateStr": "2025-02-16 00:00:00~2025-02-25 13:37:30",
"totalGiveGoldUsd": -6.0,
"totalGiveGold": 360,
"diamondGiveHistoryVoList": [
{
"image": "https://image.pekolive.com/image/b92b1deee5a24ee754618d230aed3946.jpeg",
"key": "avatar",
"type": "IMAGE"
"targetUid": 3207,
"targetErbanNo": 993,
"targetNick": "总舵主",
"targetAvatar": "https://image.pekolive.com/image/dfcc5d56a064e0eae829d61c1a24fbf2.jpeg",
"diamondNum": 35000,
"createTime": 1740479827000,
"createTimeStr": "2025-02-25 13:37:07",
"guildUsdNum": -5.00
},
{
"fontSize": 12,
"key": "nick",
"text": {
"ar": "曜燦殿下45",
"en": "曜燦殿下45",
"zh": "曜燦殿下45"
},
"textColor": "#FEF23E",
"type": "TEXT"
},
{
"fontSize": 12,
"key": "diamondNum",
"text": {
"ar": "7000",
"en": "7000",
"zh": "7000"
},
"textColor": "#00EAFF",
"type": "TEXT"
"targetUid": 3207,
"targetErbanNo": 993,
"targetNick": "总舵主",
"targetAvatar": "https://image.pekolive.com/image/dfcc5d56a064e0eae829d61c1a24fbf2.jpeg",
"diamondNum": 7000,
"createTime": 1740479819000,
"createTimeStr": "2025-02-25 13:36:59",
"guildUsdNum": -1.00
}
],
"fontSize": 12,
"partitionId": 2,
"resourceContent": "https://image.molistar.xyz/charge_floating.png",
"resourceHeight": 121,
"resourceTop": -10,
"resourceType": "IMAGE",
"resourceWidth": 750,
"svgaTextKey": "noble_text_tx",
"template": {},
"textColor": "#FFFFFF"
]
},
"first": 107,
"second": 1071
"timestamp": 1740479850715
}