parent
b8365373fd
commit
7b00bda629
|
|
@ -4,10 +4,10 @@
|
||||||
<selectionStates>
|
<selectionStates>
|
||||||
<SelectionState runConfigName="app">
|
<SelectionState runConfigName="app">
|
||||||
<option name="selectionMode" value="DROPDOWN" />
|
<option name="selectionMode" value="DROPDOWN" />
|
||||||
<DropdownSelection timestamp="2026-02-28T10:08:53.722874Z">
|
<DropdownSelection timestamp="2026-03-02T03:06:17.024211200Z">
|
||||||
<Target type="DEFAULT_BOOT">
|
<Target type="DEFAULT_BOOT">
|
||||||
<handle>
|
<handle>
|
||||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=JRBI89BIE6AI5TG6" />
|
<DeviceId pluginId="PhysicalDevice" identifier="serial=VSJNQ4NFBYJB5PZD" />
|
||||||
</handle>
|
</handle>
|
||||||
</Target>
|
</Target>
|
||||||
</DropdownSelection>
|
</DropdownSelection>
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,7 @@ dependencies {
|
||||||
implementation(libs.androidx.datastore.core)
|
implementation(libs.androidx.datastore.core)
|
||||||
implementation(libs.androidx.datastore.preferences)
|
implementation(libs.androidx.datastore.preferences)
|
||||||
implementation(libs.androidx.foundation)
|
implementation(libs.androidx.foundation)
|
||||||
|
implementation(libs.foundation)
|
||||||
|
|
||||||
// 测试依赖
|
// 测试依赖
|
||||||
testImplementation(libs.junit)
|
testImplementation(libs.junit)
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,10 @@ class ConfigEntity {
|
||||||
@SerializedName("client.uni.version.upgrade") //小程序模拟器
|
@SerializedName("client.uni.version.upgrade") //小程序模拟器
|
||||||
var uniVersionEntity: List<UniVersionEntity>? = emptyList()
|
var uniVersionEntity: List<UniVersionEntity>? = emptyList()
|
||||||
|
|
||||||
|
@SerializedName("client.icon.uni.home") //uni首页icon
|
||||||
|
var homeIconEntity: List<UniIconEntity>? = emptyList()
|
||||||
|
|
||||||
|
|
||||||
@SerializedName("client.popup.display") //显示开关控制
|
@SerializedName("client.popup.display") //显示开关控制
|
||||||
var popupConfig: PopupConfigEntity? = null
|
var popupConfig: PopupConfigEntity? = null
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.img.rabbit.bean.response
|
||||||
|
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {
|
||||||
|
* "icon": "https://cdn.batiao8.com/flaunt/uni_mp/icon/other/ticket.png",
|
||||||
|
* "text": "机票",
|
||||||
|
* "url": "pages/other/tickets-app/index",
|
||||||
|
* "type": "alipay",
|
||||||
|
* "enable": true
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
class UniIconEntity(
|
||||||
|
var icon: String = "",
|
||||||
|
var text: String = "",
|
||||||
|
var url: String = "",
|
||||||
|
var type: String = "",
|
||||||
|
var enable: Boolean = false
|
||||||
|
)
|
||||||
|
|
@ -10,20 +10,19 @@ import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.aspectRatio
|
import androidx.compose.foundation.layout.aspectRatio
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.offset
|
import androidx.compose.foundation.layout.offset
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.foundation.layout.wrapContentHeight
|
|
||||||
import androidx.compose.foundation.layout.wrapContentSize
|
import androidx.compose.foundation.layout.wrapContentSize
|
||||||
import androidx.compose.foundation.layout.wrapContentWidth
|
import androidx.compose.foundation.layout.wrapContentWidth
|
||||||
import androidx.compose.foundation.rememberScrollState
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
|
import androidx.compose.foundation.lazy.items
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.foundation.verticalScroll
|
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
|
|
@ -33,7 +32,6 @@ import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
|
|
@ -55,7 +53,6 @@ import com.img.rabbit.viewmodel.GeneralViewModel
|
||||||
@Composable
|
@Composable
|
||||||
fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewModel) {
|
fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewModel) {
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
val scrollState = rememberScrollState()
|
|
||||||
|
|
||||||
// 获取当前路由状态
|
// 获取当前路由状态
|
||||||
val navBackStackEntry by navController.currentBackStackEntryAsState()
|
val navBackStackEntry by navController.currentBackStackEntryAsState()
|
||||||
|
|
@ -92,18 +89,24 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
contentScale = ContentScale.FillWidth,
|
contentScale = ContentScale.FillWidth,
|
||||||
modifier = Modifier.fillMaxWidth()
|
modifier = Modifier.fillMaxWidth()
|
||||||
)
|
)
|
||||||
Column (
|
LazyColumn (
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.wrapContentHeight()
|
.weight(1f)
|
||||||
.offset(y = (-17).dp)
|
.offset(y = (-17).dp)
|
||||||
.padding(bottom = 56.dp)
|
.padding(bottom = 56.dp)
|
||||||
.background(
|
.background(
|
||||||
color = Color.White,
|
color = Color.White,
|
||||||
shape = RoundedCornerShape(topStart = 18.dp, topEnd = 18.dp)
|
shape = RoundedCornerShape(topStart = 18.dp, topEnd = 18.dp)
|
||||||
)
|
)
|
||||||
.verticalScroll(scrollState)
|
|
||||||
){
|
){
|
||||||
|
val homeIconConfig = PreferenceUtil.getUserConfig()?.config?.homeIconEntity
|
||||||
|
//大于9时,每排展示3个,否则每排展示4个
|
||||||
|
val columnsCount = if((homeIconConfig?.size?:0) >= 9){ 3 }else{ 4 }
|
||||||
|
val rows = homeIconConfig?.chunked(columnsCount)?:emptyList()
|
||||||
|
|
||||||
|
item {
|
||||||
|
//通过配置展示-AD1(模拟器)
|
||||||
val uniVersionConfig = PreferenceUtil.getUserConfig()?.config?.uniVersionEntity
|
val uniVersionConfig = PreferenceUtil.getUserConfig()?.config?.uniVersionEntity
|
||||||
if(uniVersionConfig?.isNotEmpty() == true){
|
if(uniVersionConfig?.isNotEmpty() == true){
|
||||||
val uniVersionSize = uniVersionConfig.size
|
val uniVersionSize = uniVersionConfig.size
|
||||||
|
|
@ -169,7 +172,39 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
items(rows) {rowItems ->
|
||||||
|
//通过配置展示-AD2
|
||||||
|
Row(Modifier.fillMaxWidth()) {
|
||||||
|
for (item in rowItems) {
|
||||||
|
Box(Modifier.weight(1f)) {
|
||||||
|
Column {
|
||||||
|
Box(modifier = Modifier.fillMaxWidth().height(8.dp))
|
||||||
|
AsyncImage(
|
||||||
|
model = item.icon,
|
||||||
|
contentDescription = item.text,
|
||||||
|
contentScale = ContentScale.FillWidth,
|
||||||
|
modifier = Modifier.width(48.dp).aspectRatio(48/48f).align(Alignment.CenterHorizontally),
|
||||||
|
fallback = painterResource(id = R.mipmap.ic_alipay_mock),
|
||||||
|
error = painterResource(id = R.mipmap.ic_alipay_mock)
|
||||||
|
)
|
||||||
|
Text(
|
||||||
|
text = item.text,
|
||||||
|
fontSize = 12.sp,
|
||||||
|
fontWeight = FontWeight.Normal,
|
||||||
|
color = Color(0xFF1A1A1A),
|
||||||
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 如果最后一行不满,填充空白占位
|
||||||
|
if (rowItems.size < columnsCount) {
|
||||||
|
Spacer(Modifier.weight((columnsCount - rowItems.size).toFloat()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
item {
|
||||||
//选尺寸制作
|
//选尺寸制作
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_title_1_size),
|
painter = painterResource(id = R.mipmap.ic_home_title_1_size),
|
||||||
|
|
@ -208,11 +243,17 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Row(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
|
) {
|
||||||
|
Box(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth().weight(0.25f)
|
||||||
|
)
|
||||||
|
Column(
|
||||||
|
modifier = Modifier.wrapContentSize().weight(0.75f)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "标准一寸",
|
text = "标准一寸",
|
||||||
|
|
@ -230,6 +271,7 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.width(10.dp)
|
.width(10.dp)
|
||||||
|
|
@ -258,11 +300,17 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Row(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
|
) {
|
||||||
|
Box(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth().weight(0.25f)
|
||||||
|
)
|
||||||
|
Column(
|
||||||
|
modifier = Modifier.wrapContentSize().weight(0.75f)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "小一寸",
|
text = "小一寸",
|
||||||
|
|
@ -281,6 +329,7 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
|
|
@ -310,11 +359,17 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Row(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
|
) {
|
||||||
|
Box(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth().weight(0.25f)
|
||||||
|
)
|
||||||
|
Column(
|
||||||
|
modifier = Modifier.wrapContentSize().weight(0.75f)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "标准二寸",
|
text = "标准二寸",
|
||||||
|
|
@ -331,6 +386,8 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
|
|
@ -360,11 +417,17 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Row(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
|
) {
|
||||||
|
Box(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth().weight(0.25f)
|
||||||
|
)
|
||||||
|
Column(
|
||||||
|
modifier = Modifier.wrapContentSize().weight(0.75f)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "小二寸",
|
text = "小二寸",
|
||||||
|
|
@ -381,11 +444,13 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
//证据制作
|
item {
|
||||||
|
//选证件制作
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_title_2_certificate),
|
painter = painterResource(id = R.mipmap.ic_home_title_2_certificate),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
|
|
@ -419,13 +484,13 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
||||||
|
modifier = Modifier.fillMaxWidth().aspectRatio(80f/50f),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
|
|
@ -433,14 +498,16 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize()
|
lineHeight = 12.sp,
|
||||||
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
text = "26x32mm",
|
text = "26x32mm",
|
||||||
fontSize = 10.sp,
|
fontSize = 10.sp,
|
||||||
fontWeight = FontWeight.Normal,
|
fontWeight = FontWeight.Normal,
|
||||||
|
lineHeight = 10.sp,
|
||||||
color = Color(0xFFAAAAAA),
|
color = Color(0xFFAAAAAA),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -468,28 +535,30 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
||||||
|
modifier = Modifier.fillMaxWidth().aspectRatio(80f/50f),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "护照",
|
text = "护照",
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
|
lineHeight = 12.sp,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
text = "33x48mm",
|
text = "33x48mm",
|
||||||
fontSize = 10.sp,
|
fontSize = 10.sp,
|
||||||
fontWeight = FontWeight.Normal,
|
fontWeight = FontWeight.Normal,
|
||||||
|
lineHeight = 10.sp,
|
||||||
color = Color(0xFFAAAAAA),
|
color = Color(0xFFAAAAAA),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -517,28 +586,30 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
||||||
|
modifier = Modifier.fillMaxWidth().aspectRatio(80f/50f),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "驾驶证",
|
text = "驾驶证",
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
|
lineHeight = 12.sp,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
text = "22x32mm",
|
text = "22x32mm",
|
||||||
fontSize = 10.sp,
|
fontSize = 10.sp,
|
||||||
fontWeight = FontWeight.Normal,
|
fontWeight = FontWeight.Normal,
|
||||||
|
lineHeight = 10.sp,
|
||||||
color = Color(0xFFAAAAAA),
|
color = Color(0xFFAAAAAA),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -566,28 +637,30 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
||||||
|
modifier = Modifier.fillMaxWidth().aspectRatio(80f/50f),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "社保卡",
|
text = "社保卡",
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
|
lineHeight = 12.sp,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
text = "26x32mm",
|
text = "26x32mm",
|
||||||
fontSize = 10.sp,
|
fontSize = 10.sp,
|
||||||
fontWeight = FontWeight.Normal,
|
fontWeight = FontWeight.Normal,
|
||||||
|
lineHeight = 10.sp,
|
||||||
color = Color(0xFFAAAAAA),
|
color = Color(0xFFAAAAAA),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -618,28 +691,30 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
||||||
|
modifier = Modifier.fillMaxWidth().aspectRatio(80f/50f),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "四六级",
|
text = "四六级",
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
|
lineHeight = 12.sp,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
text = "26x32mm",
|
text = "26x32mm",
|
||||||
fontSize = 10.sp,
|
fontSize = 10.sp,
|
||||||
fontWeight = FontWeight.Normal,
|
fontWeight = FontWeight.Normal,
|
||||||
|
lineHeight = 10.sp,
|
||||||
color = Color(0xFFAAAAAA),
|
color = Color(0xFFAAAAAA),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -667,28 +742,30 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
||||||
|
modifier = Modifier.fillMaxWidth().aspectRatio(80f/50f),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "司法考试",
|
text = "司法考试",
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
|
lineHeight = 12.sp,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
text = "33x48mm",
|
text = "33x48mm",
|
||||||
fontSize = 10.sp,
|
fontSize = 10.sp,
|
||||||
fontWeight = FontWeight.Normal,
|
fontWeight = FontWeight.Normal,
|
||||||
|
lineHeight = 10.sp,
|
||||||
color = Color(0xFFAAAAAA),
|
color = Color(0xFFAAAAAA),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -716,28 +793,30 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
||||||
|
modifier = Modifier.fillMaxWidth().aspectRatio(80f/50f),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "结婚证",
|
text = "结婚证",
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
|
lineHeight = 12.sp,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
text = "40x60mm",
|
text = "40x60mm",
|
||||||
fontSize = 10.sp,
|
fontSize = 10.sp,
|
||||||
fontWeight = FontWeight.Normal,
|
fontWeight = FontWeight.Normal,
|
||||||
|
lineHeight = 10.sp,
|
||||||
color = Color(0xFFAAAAAA),
|
color = Color(0xFFAAAAAA),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -765,34 +844,36 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
painter = painterResource(id = R.mipmap.ic_home_certificate_bg),
|
||||||
|
modifier = Modifier.fillMaxWidth().aspectRatio(80f/50f),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.wrapContentSize()
|
.fillMaxWidth()
|
||||||
.padding(start = 8.dp)
|
|
||||||
.align(Alignment.Center)
|
.align(Alignment.Center)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "中国签证",
|
text = "中国签证",
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
|
lineHeight = 12.sp,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
text = "35x45mm",
|
text = "35x45mm",
|
||||||
fontSize = 10.sp,
|
fontSize = 10.sp,
|
||||||
fontWeight = FontWeight.Normal,
|
fontWeight = FontWeight.Normal,
|
||||||
|
lineHeight = 10.sp,
|
||||||
color = Color(0xFFAAAAAA),
|
color = Color(0xFFAAAAAA),
|
||||||
modifier = Modifier.wrapContentSize()
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
item {
|
||||||
//其他
|
//其他
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_title_3_other),
|
painter = painterResource(id = R.mipmap.ic_home_title_3_other),
|
||||||
|
|
@ -831,6 +912,7 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_other_1_puzzle),
|
painter = painterResource(id = R.mipmap.ic_home_other_1_puzzle),
|
||||||
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -839,7 +921,7 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize().padding(top = 12.dp)
|
modifier = Modifier.wrapContentSize().padding(top = 12.dp).align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -869,6 +951,7 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_other_2_format),
|
painter = painterResource(id = R.mipmap.ic_home_other_2_format),
|
||||||
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -877,7 +960,7 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize().padding(top = 12.dp)
|
modifier = Modifier.wrapContentSize().padding(top = 12.dp).align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -911,6 +994,7 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_other_3_size),
|
painter = painterResource(id = R.mipmap.ic_home_other_3_size),
|
||||||
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -919,7 +1003,7 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize().padding(top = 12.dp)
|
modifier = Modifier.wrapContentSize().padding(top = 12.dp).align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -949,6 +1033,7 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.mipmap.ic_home_other_4_camera),
|
painter = painterResource(id = R.mipmap.ic_home_other_4_camera),
|
||||||
|
modifier = Modifier.wrapContentSize().align(Alignment.CenterHorizontally),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -957,7 +1042,7 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
fontSize = 12.sp,
|
fontSize = 12.sp,
|
||||||
fontWeight = FontWeight.Bold,
|
fontWeight = FontWeight.Bold,
|
||||||
color = Color(0xFF1A1A1A),
|
color = Color(0xFF1A1A1A),
|
||||||
modifier = Modifier.wrapContentSize().padding(top = 12.dp)
|
modifier = Modifier.wrapContentSize().padding(top = 12.dp).align(Alignment.CenterHorizontally)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -967,8 +1052,7 @@ fun HomeScreen(navController: NavHostController,generalViewModel: GeneralViewMod
|
||||||
modifier = Modifier.fillMaxWidth().height(56.dp)
|
modifier = Modifier.fillMaxWidth().height(56.dp)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,8 @@ kotlin.code.style=official
|
||||||
# thereby reducing the size of the R class for that library
|
# thereby reducing the size of the R class for that library
|
||||||
android.nonTransitiveRClass=true
|
android.nonTransitiveRClass=true
|
||||||
|
|
||||||
|
android.injected.testOnly=false
|
||||||
|
|
||||||
# ????
|
# ????
|
||||||
GETUI_APPID=40qbPjPkYs7TnVAYCX0Ig6
|
GETUI_APPID=40qbPjPkYs7TnVAYCX0Ig6
|
||||||
GT_INSTALL_CHANNEL=general
|
GT_INSTALL_CHANNEL=general
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ tencentHelper = "3.0.6"
|
||||||
#oaid
|
#oaid
|
||||||
android_cn_oaid = "4.2.12"
|
android_cn_oaid = "4.2.12"
|
||||||
fastaes = "1.1.5"
|
fastaes = "1.1.5"
|
||||||
|
foundationVersion = "1.10.3"
|
||||||
|
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
|
|
@ -123,6 +124,7 @@ tencent-helper = { module = "com.tencent.vasdolly:helper", version.ref = "tencen
|
||||||
android_cn_oaid = { module = "com.github.gzu-liyujiang:Android_CN_OAID", version.ref = "android_cn_oaid" }
|
android_cn_oaid = { module = "com.github.gzu-liyujiang:Android_CN_OAID", version.ref = "android_cn_oaid" }
|
||||||
#Decrypt
|
#Decrypt
|
||||||
fastaes = { module = "io.github.billywei01:fastaes", version.ref = "fastaes" }
|
fastaes = { module = "io.github.billywei01:fastaes", version.ref = "fastaes" }
|
||||||
|
foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "foundationVersion" }
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue