Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
p x
SuZhouAvp
Commits
10e356d7
"app/release/git@tydicdata.com:pengxiao/zhiwangavp.git" did not exist on "625086b02ff97b4536de13a1bedd656b299bac58"
Commit
10e356d7
authored
Aug 20, 2025
by
p x
Browse files
完善注释
parent
bfc5d905
Changes
4
Hide whitespace changes
Inline
Side-by-side
app/src/main/java/com/sd/cavphmi/repositorys/ParseSocketRepo.kt
View file @
10e356d7
...
@@ -26,29 +26,7 @@ class ParseSocketRepo @Inject constructor(private var clientRetrofitMethod: Clie
...
@@ -26,29 +26,7 @@ class ParseSocketRepo @Inject constructor(private var clientRetrofitMethod: Clie
}
}
}
}
/***获取车辆详情
* @param id 车辆id
* **/
suspend
fun
getVehDetail
(
id
:
String
):
MyResult
<
VehDetailBean
>
{
if
(
id
.
isNullOrEmpty
())
{
return
MyResult
.
Error
(
MyContants
.
HTTP_ERROR
,
"error"
)
}
// if (!orderCalled.getAndSet(true)) {
var
map
=
mapOf
(
"id"
to
id
)
var
body
=
RequestBodyUtil
.
toRequestBody
(
map
)
try
{
var
bean
=
clientRetrofitMethod
.
getVehDetail
(
body
)
return
MyResult
.
Success
(
bean
)
}
catch
(
e
:
HttpException
)
{
// println("e.message = ${e.message}")
return
MyResult
.
Error
(
e
.
code
(),
e
.
message
()
?:
"error"
)
}
catch
(
e
:
Exception
)
{
return
MyResult
.
Error
(
MyContants
.
HTTP_ERROR
,
e
.
message
?:
"error"
)
}
// } else {
// return MyResult.Error(MyContants.ALREADT_ONCE, "")
// }
}
//
//
// /**测试网络超时***/
// /**测试网络超时***/
// suspend fun getTimeOut(): MyResult<Int> {
// suspend fun getTimeOut(): MyResult<Int> {
...
...
app/src/main/java/com/sd/cavphmi/ui/MainActivity.kt
View file @
10e356d7
...
@@ -117,7 +117,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
...
@@ -117,7 +117,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
}
}
}
}
/* https://docs.qq.com/sheet/DVWdOYXZXdVVrQWts?tab=xxmysv socket文档
/* https://docs.qq.com/sheet/DVWdOYXZXdVVrQWts?tab=xxmysv
socket文档
https://s.apifox.cn/e355c9e1-cdd1-49ab-acb2-54cfc66b1598/320994000e0 大屏文档
https://s.apifox.cn/e355c9e1-cdd1-49ab-acb2-54cfc66b1598/320994000e0 大屏文档
获取AVP状态信息 /v1/avp/overview/listAvpStatus 这个曲华烨要做成socket 的推送形式,通过这个接口获取全局路径和局部路径,车辆业务状态。
获取AVP状态信息 /v1/avp/overview/listAvpStatus 这个曲华烨要做成socket 的推送形式,通过这个接口获取全局路径和局部路径,车辆业务状态。
通过里面的vehicleId,调车辆详情(/v1/avp/overview/getVehicleInfo)获取车内视频流,
通过里面的vehicleId,调车辆详情(/v1/avp/overview/getVehicleInfo)获取车内视频流,
...
...
app/src/main/java/com/sd/cavphmi/utils/MyContants.kt
View file @
10e356d7
...
@@ -12,7 +12,7 @@ object MyContants {
...
@@ -12,7 +12,7 @@ object MyContants {
private
val
WSTOKEN
=
private
val
WSTOKEN
=
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiI0MTc0NDY3NGNlOGM0MDZmOTVkZTVkYWYyMWVlOWQ0ZiIsImNyZWF0ZVRpbWUiOjE3NTUwNzYxMTgxMjQsInVzZXJUeXBlIjoxLCJzb3VyY2UiOjAsInB3ZEV4cGlyZWQiOmZhbHNlLCJ1c2VybmFtZSI6ImNoZW5ieTUxIn0.aPYHCxXgQHj4eYGGZnce5MPJCtmMoRcIIHcNXzMMOHE"
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiI0MTc0NDY3NGNlOGM0MDZmOTVkZTVkYWYyMWVlOWQ0ZiIsImNyZWF0ZVRpbWUiOjE3NTUwNzYxMTgxMjQsInVzZXJUeXBlIjoxLCJzb3VyY2UiOjAsInB3ZEV4cGlyZWQiOmZhbHNlLCJ1c2VybmFtZSI6ImNoZW5ieTUxIn0.aPYHCxXgQHj4eYGGZnce5MPJCtmMoRcIIHcNXzMMOHE"
//Token
//
登录后拿到
Token
var
HTTP_TOKEN
=
var
HTTP_TOKEN
=
"3W6UeYoWsr3Hged3iJDqw5RQrLyTDwDkkX481PIiuYGwPCamTVdGHhmAxaCgHtns4IaNTEynJ8JfY46bvkzoqqDA9YcGUmkMZ31sV7QAVrk91yOPTv9mCvPLUgOeBgRl"
"3W6UeYoWsr3Hged3iJDqw5RQrLyTDwDkkX481PIiuYGwPCamTVdGHhmAxaCgHtns4IaNTEynJ8JfY46bvkzoqqDA9YcGUmkMZ31sV7QAVrk91yOPTv9mCvPLUgOeBgRl"
// var HTTP_TOKEN =
// var HTTP_TOKEN =
...
...
app/src/main/java/com/sd/cavphmi/viewmodels/MockVM.kt
View file @
10e356d7
...
@@ -7,9 +7,7 @@ import androidx.lifecycle.ViewModel
...
@@ -7,9 +7,7 @@ import androidx.lifecycle.ViewModel
import
androidx.lifecycle.viewModelScope
import
androidx.lifecycle.viewModelScope
import
com.google.gson.Gson
import
com.google.gson.Gson
import
com.sd.cavphmi.bean.CarVehicle
import
com.sd.cavphmi.bean.CarVehicle
import
com.sd.cavphmi.bean.ParkLinePlan
import
com.sd.cavphmi.bean.PerTarget
import
com.sd.cavphmi.bean.PerTarget
import
com.sd.cavphmi.net.MyResult
import
com.sd.cavphmi.utils.FileIoUtils
import
com.sd.cavphmi.utils.FileIoUtils
import
dagger.hilt.android.lifecycle.HiltViewModel
import
dagger.hilt.android.lifecycle.HiltViewModel
import
dagger.hilt.android.qualifiers.ApplicationContext
import
dagger.hilt.android.qualifiers.ApplicationContext
...
@@ -26,35 +24,37 @@ class MockVM @Inject constructor(
...
@@ -26,35 +24,37 @@ class MockVM @Inject constructor(
private
var
gson
=
Gson
()
private
var
gson
=
Gson
()
//模拟车辆位姿
/**解析网络数据***/
suspend
fun
<
T
>
parseDataBean
(
str
:
String
,
clazz
:
Class
<
T
>):
T
{
return
withContext
(
Dispatchers
.
Default
)
{
gson
.
fromJson
(
str
,
clazz
)
}
}
/******
* 模拟车辆位姿
* @param binding 里的航向角
* @param binding 里的速度
* **/
fun
onVehicleMock
(
fun
onVehicleMock
(
carVehicle
:
MutableLiveData
<
CarVehicle
>,
carVehicle
:
MutableLiveData
<
CarVehicle
>,
heading
:
ObservableField
<
Int
>,
heading
:
ObservableField
<
Int
>,
speed
:
ObservableField
<
Float
>
speed
:
ObservableField
<
Float
>
)
{
)
{
viewModelScope
.
launch
{
viewModelScope
.
launch
{
/*
val dst = mutableListOf<String>()
val
dst
=
mutableListOf
<
String
>()
FileIoUtils
.
getAssetMock
(
context
,
"mock/CarVehicle.txt"
,
dst
)
FileIoUtils
.
getAssetMock
(
context
,
"mock/CarVehicle.txt"
,
dst
)
dst
.
forEach
{
str
->
dst
.
forEach
{
str
->
delay
(
1000
)
delay
(
1000
)
val bean =
val
bean
=
parseDataBean
(
str
,
CarVehicle
::
class
.
java
)
parseSocketRepo.parseDataBean(str, CarVehicle::class.java)
println
(
"------模拟车辆位姿数据 = ${bean}"
)
println
(
"------模拟车辆位姿数据 = ${bean}"
)
heading.set(bean.
vehicleData.ge
t(
0
).heading.toInt())
heading
.
set
(
bean
.
firs
t
().
heading
.
toInt
())
speed.set(bean.
vehicleData.ge
t(
0
).speed)
speed
.
set
(
bean
.
firs
t
().
speed
.
toFloat
()
)
carVehicle
.
value
=
bean
carVehicle
.
value
=
bean
}
*/
}
}
}
}
}
//模拟Http获取全局路径
suspend
fun
getLinePlaningMock
(
vehiclePlate
:
String
):
MyResult
<
ParkLinePlan
>
{
return
withContext
(
Dispatchers
.
IO
)
{
val
str
=
FileIoUtils
.
getAssetContent
(
context
,
"find_line.txt"
)
val
bean
=
gson
.
fromJson
(
str
,
ParkLinePlan
::
class
.
java
)
return
@withContext
MyResult
.
Success
(
bean
)
}
}
//感知目标物
//感知目标物
fun
onSubTargetMock
(
targetPre
:
MutableLiveData
<
PerTarget
>)
{
fun
onSubTargetMock
(
targetPre
:
MutableLiveData
<
PerTarget
>)
{
...
@@ -83,6 +83,15 @@ class MockVM @Inject constructor(
...
@@ -83,6 +83,15 @@ class MockVM @Inject constructor(
// }
// }
}
}
//模拟Http获取全局路径
/* suspend fun getLinePlaningMock(vehiclePlate: String): MyResult<ParkLinePlan> {
return withContext(Dispatchers.IO) {
val str = FileIoUtils.getAssetContent(context, "find_line.txt")
val bean =gson.fromJson(str,ParkLinePlan::class.java)
return@withContext MyResult.Success(bean)
}
}*/
//局部路径
//局部路径
fun
onSubPartLineMock
()
{
fun
onSubPartLineMock
()
{
// viewModelScope.launch {
// viewModelScope.launch {
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment