parent
7cdbf8f613
commit
89e79bdaff
|
|
@ -69,7 +69,6 @@ import com.img.rabbit.pages.dialog.TipsUniMpToPageDialog
|
|||
import com.img.rabbit.pages.dialog.UpdateDialog
|
||||
import com.img.rabbit.provider.storage.GlobalStateManager
|
||||
import com.img.rabbit.provider.storage.PreferenceUtil
|
||||
import com.img.rabbit.provider.storage.PreferenceUtil.saveBDVID
|
||||
import com.img.rabbit.utils.AppEventBus
|
||||
import com.img.rabbit.utils.AppUpdate
|
||||
import com.img.rabbit.utils.ChannelUtils
|
||||
|
|
@ -124,7 +123,6 @@ class MainActivity : ComponentActivity(), LoadingCallback {
|
|||
|
||||
LaunchedEffect(generalViewModel.agreementStatus.value) {
|
||||
if (generalViewModel.agreementStatus.value == true){
|
||||
saveBDVID()
|
||||
//获取服务器时间
|
||||
generalViewModel.getServerTime()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ import androidx.navigation.compose.NavHost
|
|||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import com.img.rabbit.pages.screen.mine.FeedbackScreen
|
||||
import com.img.rabbit.pages.screen.mine.OnlineServiceScreen
|
||||
import com.img.rabbit.pages.screen.mine.SettingScreen
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.NavigationBar
|
||||
|
|
@ -215,9 +214,6 @@ fun MainScreen(generalViewModel: GeneralViewModel, loginViewModel: LoginViewMode
|
|||
composable(ScreenRoute.Feedback.route) {
|
||||
FeedbackScreen(navController = navController)
|
||||
}
|
||||
composable(ScreenRoute.OnlineService.route) {
|
||||
OnlineServiceScreen(navController = navController)
|
||||
}
|
||||
composable(ScreenRoute.Setting.route) {
|
||||
SettingScreen(navController = navController, loginViewModel = loginViewModel)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.img.rabbit.pages.screen
|
|||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.img.rabbit.pages.screen
|
|||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.img.rabbit.pages.screen.make
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import android.widget.Toast
|
||||
import androidx.activity.compose.rememberLauncherForActivityResult
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
|
|
@ -54,8 +53,6 @@ import github.leavesczy.matisse.MediaType
|
|||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
|
||||
import androidx.compose.ui.graphics.asAndroidBitmap
|
||||
import com.img.rabbit.components.CenterToast
|
||||
import io.moyuru.cropify.Cropify
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import android.graphics.Bitmap
|
|||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.activity.compose.rememberLauncherForActivityResult
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.compose.foundation.Canvas
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package com.img.rabbit.pages.screen.mine
|
||||
|
||||
import android.text.TextUtils
|
||||
import android.widget.Toast
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
import androidx.compose.foundation.clickable
|
||||
|
|
|
|||
|
|
@ -1,79 +0,0 @@
|
|||
package com.img.rabbit.pages.screen.mine
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.navigationBarsPadding
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.navigation.NavHostController
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import com.img.rabbit.R
|
||||
|
||||
@Composable
|
||||
fun OnlineServiceScreen(navController: NavHostController) {
|
||||
Scaffold{
|
||||
Column(
|
||||
modifier = Modifier.fillMaxSize().padding(it).navigationBarsPadding()
|
||||
) {
|
||||
// 顶部栏
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(16.dp),
|
||||
verticalAlignment = Alignment.CenterVertically
|
||||
) {
|
||||
// 返回按钮
|
||||
Icon(
|
||||
painter = painterResource(id = R.mipmap.ic_back),
|
||||
contentDescription = "返回",
|
||||
modifier = Modifier
|
||||
.clickable(
|
||||
indication = null,
|
||||
interactionSource = remember { MutableInteractionSource() }
|
||||
) { navController.popBackStack() }
|
||||
.padding(end = 16.dp)
|
||||
)
|
||||
Column(
|
||||
modifier = Modifier.fillMaxWidth().padding(end = 26.dp)
|
||||
) {
|
||||
|
||||
Text(
|
||||
text = "",
|
||||
color = Color(0xFF1A1A1A),
|
||||
fontSize = 16.sp,
|
||||
fontWeight = FontWeight.Bold,
|
||||
modifier = Modifier.align(Alignment.CenterHorizontally)
|
||||
)
|
||||
}
|
||||
}
|
||||
Box(
|
||||
modifier = Modifier.fillMaxWidth().padding(end = 26.dp)
|
||||
){
|
||||
//TODO 在线客服内容
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun PreviewOnlineServiceScreen(){
|
||||
OnlineServiceScreen(navController = rememberNavController())
|
||||
}
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
package com.img.rabbit.pages.screen.mine
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.util.Log
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
|
|
@ -23,7 +22,6 @@ import androidx.compose.material3.Scaffold
|
|||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
|
|
@ -44,14 +42,10 @@ import androidx.lifecycle.viewmodel.compose.viewModel
|
|||
import androidx.navigation.NavHostController
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import com.img.rabbit.R
|
||||
import com.img.rabbit.bean.response.UserInfoEntity
|
||||
import com.img.rabbit.pages.dialog.TipsDialog
|
||||
import com.img.rabbit.pages.toolbar.TitleBar
|
||||
import com.img.rabbit.provider.storage.GlobalStateManager
|
||||
import com.img.rabbit.provider.storage.PreferenceUtil
|
||||
import com.img.rabbit.utils.AppDataStoreUtils
|
||||
import com.img.rabbit.utils.AppEventBus
|
||||
import com.img.rabbit.utils.LoginBindEvent
|
||||
import com.img.rabbit.viewmodel.LoginViewModel
|
||||
|
||||
@SuppressLint("UnrememberedMutableState")
|
||||
|
|
|
|||
|
|
@ -1,16 +0,0 @@
|
|||
package com.img.rabbit.pages.screen.mine
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.navigation.NavHostController
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
|
||||
@Composable
|
||||
fun VersionUpdateScreen(navController: NavHostController) {
|
||||
}
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun PreviewVersionUpdateScreen(){
|
||||
VersionUpdateScreen(navController = rememberNavController())
|
||||
}
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
package com.img.rabbit.pages.screen.mine.setting
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.widget.Toast
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.img.rabbit.pages.screen.mine.setting
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.widget.Toast
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import android.util.Log
|
|||
import android.view.LayoutInflater
|
||||
import android.widget.CheckBox
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
|
|
|
|||
|
|
@ -3,8 +3,6 @@ package com.img.rabbit.provider.storage
|
|||
import android.text.TextUtils
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.GsonBuilder
|
||||
import com.google.gson.JsonArray
|
||||
import com.google.gson.JsonObject
|
||||
import com.img.rabbit.bean.local.UniMpVersionBean
|
||||
import com.img.rabbit.bean.response.UserConfigEntity
|
||||
import com.img.rabbit.bean.response.LoginInfoEntity
|
||||
|
|
@ -198,33 +196,6 @@ object PreferenceUtil {
|
|||
this.timeDiff = timeDiff
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存百度归因bd_vid
|
||||
*/
|
||||
fun saveBDVID() {
|
||||
try {
|
||||
val str = applicationContext?.let { ChannelReader.get(it) }
|
||||
if (!TextUtils.isEmpty(str)) {
|
||||
@Suppress("NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS")
|
||||
val jsonObj = JSONObject(str)
|
||||
jsonObj.getString("bd_vid").let {
|
||||
MMKVUtils.put("bd_vid", it)
|
||||
}
|
||||
} else {
|
||||
MMKVUtils.put("bd_vid", "")
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取百度归因bd_vid
|
||||
*/
|
||||
fun getBDVID(): String {
|
||||
return MMKVUtils.getString(KEY_DB_VID) ?: ""
|
||||
}
|
||||
|
||||
/**
|
||||
* 退出登录时,清除用户信息
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import com.img.rabbit.provider.storage.PreferenceUtil
|
|||
import com.img.rabbit.BuildConfig
|
||||
import com.img.rabbit.config.Constants
|
||||
import com.img.rabbit.config.Constants.LOG_REQUEST
|
||||
import com.img.rabbit.provider.storage.PreferenceUtil.getBDVID
|
||||
import com.img.rabbit.provider.utils.HeadParamUtils.applicationContext
|
||||
import com.img.rabbit.provider.utils.HeadParamUtils.getAppVersionName
|
||||
import com.img.rabbit.utils.ChannelUtils
|
||||
|
|
@ -31,7 +30,7 @@ class HeaderInterceptor : Interceptor {
|
|||
mBuilder.header("x-package", BuildConfig.APPLICATION_ID)
|
||||
mBuilder.header("x-base-version", getAppVersionName()?:"")
|
||||
mBuilder.header("x-channel", "rabbit_${ChannelUtils.getChannel(applicationContext)}")
|
||||
mBuilder.header("x-click-id", getBDVID())
|
||||
mBuilder.header("x-click-id", "${ChannelUtils.getBdVid(applicationContext)}")
|
||||
mBuilder.header("x-app-id", Constants.AppId)
|
||||
|
||||
val stringBuilder = StringBuilder()
|
||||
|
|
@ -43,7 +42,7 @@ class HeaderInterceptor : Interceptor {
|
|||
stringBuilder.append("│ x-mobile-model = ${android.os.Build.MODEL}\n")
|
||||
stringBuilder.append("│ x-base-version = ${getAppVersionName()}\n")
|
||||
stringBuilder.append("│ x-channel = rabbit_${ChannelUtils.getChannel(applicationContext)}\n")
|
||||
stringBuilder.append("│ x-click-id = ${getBDVID()}\n")
|
||||
stringBuilder.append("│ x-click-id = ${ChannelUtils.getBdVid(applicationContext)}\n")
|
||||
stringBuilder.append("│ x-package = ${BuildConfig.APPLICATION_ID}\n")
|
||||
stringBuilder.append("-------------> header end <-------------")
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.img.rabbit.provider.utils
|
||||
|
||||
import android.content.Intent
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
import com.img.rabbit.BuildConfig
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ sealed class ScreenRoute(val route: String) {
|
|||
|
||||
//我的页面(Mine)
|
||||
object Feedback : ScreenRoute("feedback")
|
||||
object OnlineService : ScreenRoute("onlineService")
|
||||
object Login : ScreenRoute("login")
|
||||
object Setting : ScreenRoute("setting")
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package com.img.rabbit.utils
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.Color
|
||||
import android.graphics.Typeface
|
||||
import android.text.Spannable
|
||||
|
|
@ -12,7 +10,6 @@ import android.text.style.ClickableSpan
|
|||
import android.view.View
|
||||
import android.widget.TextView
|
||||
import androidx.core.graphics.toColorInt
|
||||
import androidx.core.net.toUri
|
||||
|
||||
object AgreementTextHelper {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.img.rabbit.utils
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.ActivityManager
|
||||
import android.app.usage.StorageStatsManager
|
||||
import android.content.Context
|
||||
|
|
|
|||
|
|
@ -3,8 +3,10 @@ package com.img.rabbit.utils
|
|||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
||||
import android.text.TextUtils
|
||||
import com.alibaba.fastjson.JSON
|
||||
import com.bytedance.hume.readapk.HumeSDK
|
||||
import com.img.rabbit.BuildConfig
|
||||
import com.img.rabbit.utils.appwalle.ChannelReader
|
||||
import com.kwai.monitor.payload.TurboHelper
|
||||
import com.tencent.vasdolly.helper.ChannelReaderUtil
|
||||
|
||||
|
|
@ -52,5 +54,13 @@ object ChannelUtils {
|
|||
return ""
|
||||
}
|
||||
|
||||
fun getBdVid(context: Context?): String? {
|
||||
val content: String? = context?.let { ChannelReader.get(it) }
|
||||
if (!TextUtils.isEmpty(content)) {
|
||||
return JSON.parseObject(content).getString("bd_vid")
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.img.rabbit.utils
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import android.net.ConnectivityManager
|
||||
import android.net.NetworkCapabilities
|
||||
|
|
|
|||
|
|
@ -6,12 +6,7 @@ import com.google.mlkit.vision.segmentation.Segmentation
|
|||
import com.google.mlkit.vision.segmentation.selfie.SelfieSegmenterOptions
|
||||
import androidx.core.graphics.createBitmap
|
||||
|
||||
import android.graphics.*
|
||||
import androidx.compose.ui.geometry.Offset
|
||||
import com.google.mlkit.vision.face.FaceContour
|
||||
import com.google.mlkit.vision.face.FaceDetection
|
||||
import com.google.mlkit.vision.face.FaceDetectorOptions
|
||||
import androidx.core.graphics.get
|
||||
|
||||
// 变换状态模型
|
||||
data class TransformState(
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import com.img.rabbit.bean.response.UniVersionEntity
|
|||
import com.img.rabbit.components.CenterToast
|
||||
import com.img.rabbit.config.Constants
|
||||
import com.img.rabbit.provider.storage.PreferenceUtil
|
||||
import com.img.rabbit.provider.storage.PreferenceUtil.getBDVID
|
||||
import com.img.rabbit.provider.utils.HeadParamUtils.applicationContext
|
||||
import com.img.rabbit.provider.utils.HeadParamUtils.getAppVersionName
|
||||
import com.img.rabbit.uni.UniMPAlipaySplashView
|
||||
|
|
@ -33,9 +32,6 @@ import kotlinx.coroutines.withContext
|
|||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import java.io.File
|
||||
import java.net.HttpURLConnection
|
||||
import java.net.URL
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.jvm.java
|
||||
|
||||
|
||||
|
|
@ -369,7 +365,7 @@ object UniAppUtils {
|
|||
stringBuilder.append("│ x-mobile-model = ${android.os.Build.MODEL}\n")
|
||||
stringBuilder.append("│ x-channel = ${ChannelUtils.getChannel(applicationContext)}\n")
|
||||
stringBuilder.append("│ x-package = ${BuildConfig.APPLICATION_ID}\n")
|
||||
stringBuilder.append("│ x-click-id = ${getBDVID()}\n")
|
||||
stringBuilder.append("│ x-click-id = ${ChannelUtils.getBdVid(applicationContext)}\n")
|
||||
stringBuilder.append("│ host = ${Constants.RELEASE_BASE_URL}\n")
|
||||
stringBuilder.append("│ decrypt = ${Constants.AESDecrypt}\n")
|
||||
stringBuilder.append("│ decrypt = ${Constants.Signature}\n")
|
||||
|
|
@ -385,7 +381,7 @@ object UniAppUtils {
|
|||
extraData.put("x-mobile-model", android.os.Build.MODEL)
|
||||
extraData.put("x-channel", ChannelUtils.getChannel(applicationContext))
|
||||
extraData.put("x-package", BuildConfig.APPLICATION_ID)
|
||||
extraData.put("x-click-id",getBDVID())
|
||||
extraData.put("x-click-id",ChannelUtils.getBdVid(applicationContext))
|
||||
extraData.put("host", "${Constants.RELEASE_BASE_URL}/")
|
||||
extraData.put("decrypt", Constants.AESDecrypt)
|
||||
extraData.put("encrypt", Constants.Signature)
|
||||
|
|
|
|||
|
|
@ -19,8 +19,6 @@ public final class ChannelReader {
|
|||
|
||||
/**
|
||||
* 读取注入的内容
|
||||
* @param context
|
||||
* @return
|
||||
*/
|
||||
public static String get(@NonNull Context context) {
|
||||
String apkPath = getApkPath(context);
|
||||
|
|
|
|||
|
|
@ -19,10 +19,6 @@ public final class PayloadReader {
|
|||
|
||||
/**
|
||||
* 读取指定ID的数据
|
||||
*
|
||||
* @param apkFile
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public static String getString(File apkFile, int id) {
|
||||
byte[] bytes = get(apkFile, id);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.img.rabbit.viewmodel
|
|||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.compose.runtime.State
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import com.g.gysdk.GYManager
|
||||
|
|
|
|||
|
|
@ -34,10 +34,8 @@ import com.img.rabbit.utils.MMKVUtils
|
|||
import com.img.rabbit.utils.StringUtils
|
||||
import com.tencent.mm.opensdk.modelmsg.SendAuth
|
||||
import com.tencent.mm.opensdk.openapi.IWXAPI
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import kotlinx.serialization.json.Json
|
||||
|
|
|
|||
|
|
@ -9,8 +9,6 @@ import com.tencent.mm.opensdk.constants.ConstantsAPI
|
|||
import com.tencent.mm.opensdk.modelbase.BaseReq
|
||||
import com.tencent.mm.opensdk.modelbase.BaseResp
|
||||
import io.dcloud.feature.payment.weixin.AbsWXPayCallbackActivity
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
||||
class WXPayEntryActivity : AbsWXPayCallbackActivity() {
|
||||
//val scope = CoroutineScope(Dispatchers.Main)
|
||||
|
|
|
|||
Loading…
Reference in New Issue