1:添加签到功能,在首页展示,跟在青少年模式下,

2:在任务页面展示签到功能
This commit is contained in:
2025-12-12 15:28:15 +08:00
parent 6825009aba
commit f646493800
17 changed files with 840 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
package com.xscm.moduleutil.bean
import com.chad.library.adapter.base.entity.MultiItemEntity
/**
* 项目名称:羽声语音
* 时间2025/12/12 10:35
* 用途:签到实体类
*/
class SignInData : MultiItemEntity{
val TYPE_NORMAL: Int = 0 // 普通类型使用day_sgin布局
val TYPE_DOUBLE: Int = 1 // 双倍宽度类型使用day_sgin2布局
var viewType: Int = TYPE_NORMAL // 默认为普通类型
var day: Int = 0 //第几天
var sign_in_date: String = "" //日期
var sign_in_status: Int = 0 // 签到状态1已签到 0未签到
var sign_in_status_str: String = "" //已签到
var is_today: Int = 0 //是否是当天 0否 1是
var gift_name: String = "" //礼物名称
var num: String = "" //数量
var gift_price: Int = 0 //价格
var type: Int = 0 //类型: 1金币 2礼物 3装扮 4钻石
var base_image: String = "" //礼物图片
override fun getItemType(): Int {
return viewType
}
/* "gift_bag": [
{
"day": 1, //第几天
"sign_in_date": "2025-12-09", //日期
"sign_in_status": 1, //签到状态1已签到 0未签到
"sign_in_status_str": "已签到",
"is_today": 0, //是否是当天 0否 1是
"gift_name": "金币", //礼物名称
"num": 1, //数量
"gift_price": 1, //价格
"type": 1, //类型: 1金币 2礼物 3装扮 4钻石
"base_image": "https://test.vespa.qxyushen.top/static/image/icon/gold.png" //礼物图片
},
{
"day": 2,
"sign_in_date": "2025-12-10",
"sign_in_status": 1,
"sign_in_status_str": "已签到",
"is_today": 0,
"gift_name": "打工狗",
"num": "1 个",
"gift_price": "9",
"type": 2,
"base_image": "https://cos.xscmmidi.site/admin/3143tianxuanbanzhuangou_17615346376493.png"
},
{
"day": 3,
"sign_in_date": "2025-12-11",
"sign_in_status": 1,
"sign_in_status_str": "已签到",
"is_today": 0,
"gift_name": "神皇",
"num": "3 天",
"gift_price": 30,
"type": 3,
"base_image": "https://midi01.oss-cn-beijing.aliyuncs.com/5544shenhuang_17579016149523.png"
},
{
"day": 4,
"sign_in_date": "2025-12-12",
"sign_in_status": 1,
"sign_in_status_str": "已签到",
"is_today": 1,
"gift_name": "心动喷发",
"num": "2 个",
"gift_price": "100",
"type": 2,
"base_image": "https://cos.xscmmidi.site/admin/3300xindongpenfa_17615347008740.png"
},
{
"day": 5,
"sign_in_date": "2025-12-13",
"sign_in_status": 0,
"sign_in_status_str": "未签到",
"is_today": 0,
"gift_name": "钻石",
"num": 20,
"gift_price": 1,
"type": 4,
"base_image": "https://test.vespa.qxyushen.top/static/image/icon/gold.png"
},
{
"day": 6,
"sign_in_date": "2025-12-14",
"sign_in_status": 0,
"sign_in_status_str": "未签到",
"is_today": 0,
"gift_name": "王者之戒",
"num": "1 个",
"gift_price": "19",
"type": 2,
"base_image": "https://cos.xscmmidi.site/admin/5390wangzhezhijie_17615353361010.png"
},
{
"day": 7,
"sign_in_date": "2025-12-15",
"sign_in_status": 0,
"sign_in_status_str": "未签到",
"is_today": 0,
"gift_name": "财源滚滚",
"num": "30 天",
"gift_price": 288,
"type": 3,
"base_image": "https://midi01.oss-cn-beijing.aliyuncs.com/2160caiyuangunguntouxiangkuang_17579008394073.png"
}
]*/
}

View File

@@ -0,0 +1,11 @@
package com.xscm.moduleutil.bean
/**
* 项目名称:羽声语音
* 时间2025/12/12 14:54
* 用途:签到状态
*/
class TasksSignStatus {
var status : Int=0
var status_str: String=""
}

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:centerColor="#CFFFDC"
android:endColor="#CFFFDC"
android:startColor="#DEFF85"
android:type="linear"
android:useLevel="true" />
<corners
android:radius="@dimen/dp_16"
/>
</shape>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="180"
android:centerColor="#90FF86"
android:endColor="#E7FE67"
android:startColor="#5CFBBD"
android:type="linear"
android:useLevel="true" />
<corners
android:radius="@dimen/dp_99"
/>
</shape>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:centerColor="#CFFFDC"
android:endColor="#CFFFDC"
android:startColor="#DEFF85"
android:type="linear"
android:useLevel="true" />
<corners
android:bottomLeftRadius="4dp"
android:bottomRightRadius="4dp"
android:topLeftRadius="4dp"
android:topRightRadius="4dp" />
</shape>