dev #63

Merged
wangzhongjie merged 206 commits from dev into main 2024-12-16 10:31:20 +08:00
13 changed files with 1682 additions and 0 deletions
Showing only changes of commit 7bed5cae6d - Show all commits

View File

@ -0,0 +1,82 @@
// @ts-ignore
/* eslint-disable */
import request from '../common/utils/http';
/** 1.获取考车考点信息 获取考车gpsIP、udpIP、音视频端口等考车和考点参数配置 POST /para/initCarInfoCache.ws */
export async function initCarInfoCacheUsingPost(
body: API.GpsIPUdpIP2,
options?: { [key: string]: any },
) {
return request<API.ROfGpsIPUdpIP_>('/para/initCarInfoCache.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 3.初始化考车视频参数 初始化考车视频参数 POST /para/initCarParameter.ws */
export async function initCarVideoParameterUsingPost(
body: API.Pinyin_7,
options?: { [key: string]: any },
) {
return request<API.ROf2>('/para/initCarParameter.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 4.从参数平台获取参数 单个读表,读取其他 ma_ 开头的评判参数表 POST /para/initCenterCache.ws */
export async function initCenterCacheFromParamUsingPost(
body: API.Pinyin_5,
options?: { [key: string]: any },
) {
return request<API.ROfListOfobject>('/para/initCenterCache.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 2.初始化模型 初始化模型 POST /para/initEsModel.ws */
export async function initModelUsingPost(body: API.Pinyin_32, options?: { [key: string]: any }) {
return request<API.ROf10>('/para/initEsModel.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 5.参数平台基础数据同步 被请求的 GET /param/baseDataSync */
export async function paramBaseDataSyncUsingGet(options?: { [key: string]: any }) {
return request<API.ROf3>('/param/baseDataSync', {
method: 'GET',
...(options || {}),
});
}
/** 6.参数平台参数数据同步 被请求的 GET /param/configDataSync/${param0} */
export async function paramConfigDataSyncUsingGet(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.paramConfigDataSyncUsingGETParams,
options?: { [key: string]: any },
) {
const { tableName: param0, ...queryParams } = params;
return request<API.ROfobject>(`/param/configDataSync/${param0}`, {
method: 'GET',
params: { ...queryParams },
...(options || {}),
});
}

View File

@ -0,0 +1,116 @@
// @ts-ignore
/* eslint-disable */
import request from '../common/utils/http';
/** 4.考车自检项目信息读取 考车自检项目信息读取 POST /exam/carConfigurationInfo.ws */
export async function carConfigurationInfoUsingPost(
body: API.Pinyin_34,
options?: { [key: string]: any },
) {
return request<API.ROf11>('/exam/carConfigurationInfo.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 6.随车考试员登录 随车考试员登录 POST /exam/examinerLogin.ws */
export async function examinerLoginUsingPost(
body: API.Pinyin_39,
options?: { [key: string]: any },
) {
return request<API.ROf12>('/exam/examinerLogin.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 3.获取考点系统参数 考车从考试中心获取考点系统参数即考试平台的exam_point_config表 POST /exam/initSysset300.ws */
export async function initExamPointConfigUsingPost(
body: API.Pinyin_33,
options?: { [key: string]: any },
) {
return request<API.ROfListOfobject>('/exam/initSysset300.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 8.考车考点信息查询 考车考点信息查询 POST /exam/queryVehiclePoint.ws */
export async function queryVehiclePointUsingPost(
body: API.Pinyin_28,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/exam/queryVehiclePoint.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 1.终端设备注册 包括但不限于考车、闸机 POST /exam/registrationDeviceNo.ws */
export async function registrationDeviceNoUsingPost(
body: API.Pinyin_23,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/exam/registrationDeviceNo.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 2.终端初始化时间同步 终端初始化时间同步 POST /exam/timeSynchronization.ws */
export async function timeSynchronizationUsingPost(options?: { [key: string]: any }) {
return request<API.ROf9>('/exam/timeSynchronization.ws', {
method: 'POST',
...(options || {}),
});
}
/** 5.考车自检结果写入 考车自检结果写入 POST /exam/uploadExamCarCheckResult.ws */
export async function uploadExamCarCheckResultUsingPost(
body: API.Pinyin_29,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/exam/uploadExamCarCheckResult.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 7.考车日志信息上传 考车日志信息上传 POST /exam/uploadVehicleLog.ws */
export async function uploadVehicleLogUsingPost(
body: API.Pinyin_27,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/exam/uploadVehicleLog.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}

View File

@ -0,0 +1,78 @@
// @ts-ignore
/* eslint-disable */
import request from '../common/utils/http';
/** 3.考车对考生缺考操作 考车对考生缺考操作 POST /exam/examinationStuAbsent.ws */
export async function examinationStuAbsentUsingPost(
body: API.Pinyin_26,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/exam/examinationStuAbsent.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 2.断点续考 断点续考获取考试项目 POST /exam/getExaminationItem.ws */
export async function getExaminationItemUsingPost(
body: API.Pinyin_18,
options?: { [key: string]: any },
) {
return request<API.ROf8>('/exam/getExaminationItem.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 1.下载考生信息 考车端通过此接口下载监管(或本地随机)分配的考生信息 POST /exam/getExaminationStudentInfo.ws */
export async function getExaminationStudentInfoUsingPost(
body: API.Pinyin_3,
options?: { [key: string]: any },
) {
return request<API.ROf_>('/exam/getExaminationStudentInfo.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 4.上传考试过程数据文件 上传考试过程数据文件 POST /exam/uploadExamDataFile.ws */
export async function uploadExamDataFileUsingPost(
body: API.Pinyin_2,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/exam/uploadExamDataFile.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 5.上传考生考试里程 上传考生考试里程 POST /exam/uploadExamMileage.ws */
export async function uploadExamMileageUsingPost(
body: API.Pinyin__,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/exam/uploadExamMileage.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}

View File

@ -0,0 +1,45 @@
// @ts-ignore
/* eslint-disable */
import request from '../common/utils/http';
/** 2.无锡所接口请求 无锡所通用接口请求 POST /common/callWxsRest.do */
export async function callWxsRestUsingPost(body: API.Pinyin_20, options?: { [key: string]: any }) {
return request<API.ROfobject>('/common/callWxsRest.do', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 3.无锡所接口请求测试 无锡所接口请求测试,返回测试数据 POST /common/callWxsRestTest.do */
export async function callWxsRestTestUsingPost(
body: API.Pinyin_20,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/common/callWxsRestTest.do', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 1.大屏显示数据查询与控制 大屏显示数据查询与控制 POST /data/examInfoStandardDisplay.ws */
export async function examInfoStandardDisplayUsingPost(
body: API.Pinyin_13,
options?: { [key: string]: any },
) {
return request<API.ROf5>('/data/examInfoStandardDisplay.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}

View File

@ -0,0 +1,75 @@
// @ts-ignore
/* eslint-disable */
import request from '../common/utils/http';
/** 4.数据更新 数据更新:照片,指纹,随机序号,监管签到,状态等操作 POST /data/getAccessControlInfo.ws */
export async function getAccessControlInfoUsingPost(
body: API.Pinyin_30,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/data/getAccessControlInfo.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 2.身份合法性判断 身份合法性判断:约考信息下载,收费查询,场次控制等 POST /data/getAccessStuInfo.ws */
export async function getAccessStuInfoUsingPost(
body: API.Pinyin_36,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/data/getAccessStuInfo.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 1.门禁版本控制 门禁版本控制 POST /exam/gateLoginInit.ws */
export async function getLoginInitUsingPost(body: API.Pinyin_38, options?: { [key: string]: any }) {
return request<API.ROfobject>('/exam/gateLoginInit.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 3.门禁/考车终端人脸识别 门禁/考车终端人脸识别 POST /imageCompare/base64ImageStrCompare.ws */
export async function base64ImageStrCompareUsingPost(
body: API.Pinyin_37,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/imageCompare/base64ImageStrCompare.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 5.考官/随车考试员闸机人脸识别 考官/随车考试员闸机人脸识别,此处安全员是代替没有身份证学员人脸识别 POST /pmUserCheckCardNoFace.ws */
export async function examManFaceRecognitionUsingPost(
body: API.Pinyin_25,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/pmUserCheckCardNoFace.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}

View File

@ -0,0 +1,63 @@
// @ts-ignore
/* eslint-disable */
import request from '../common/utils/http';
/** 3.合成视频监测 合成视频监测 POST /data/compositedVideosMonitor.ws */
export async function compositedVideosMonitorUsingPost(
body: API.Pinyin_11,
options?: { [key: string]: any },
) {
return request<API.ROfobject>('/data/compositedVideosMonitor.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 1.场地摄像头设备信息 场地摄像头设备信息--科目二三都调用此接口科三只有贵州在用2022-10-13 POST /data/getKm2FieldGunCameraInfo.ws */
export async function getKm2FieldGunCameraInfoUsingPost(
body: API.Pinyin_11,
options?: { [key: string]: any },
) {
return request<API.ROf4>('/data/getKm2FieldGunCameraInfo.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 4.获取考生考试信息 获取考生考试信息 POST /data/getStudExamInfo.ws */
export async function getStudExamInfoUsingPost(
body: API.Pinyin_17,
options?: { [key: string]: any },
) {
return request<API.ROf7>('/data/getStudExamInfo.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}
/** 2.小红求获取扣分信息(参数平台接口) 小红求获取扣分信息-(视频合成用-小红球程序-放在参数平台) POST /data/obtainMarkRuleSetInfo.ws */
export async function obtainMarkRuleSetInfoUsingPost(
body: API.Pinyin_15,
options?: { [key: string]: any },
) {
return request<API.ROf6>('/data/obtainMarkRuleSetInfo.ws', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}

View File

@ -0,0 +1,31 @@
// @ts-ignore
/* eslint-disable */
import request from '../common/utils/http';
/** 2.考试中心执行参数同步 由外部(考试平台)调用,主动请求参数平台同步基础数据 GET /system/doParamBaseDataSync */
export async function doParamBaseDataSyncUsingGet(options?: { [key: string]: any }) {
return request<API.ROfobject>('/system/doParamBaseDataSync', {
method: 'GET',
...(options || {}),
});
}
/** 3.考试中心执行参数数据同步 由外部(考试平台)调用,主动请求参数平台同步参数数据 GET /system/doParamConfigDataSync */
export async function doParamConfigDataSyncUsingGet(options?: { [key: string]: any }) {
return request<API.ROfobject>('/system/doParamConfigDataSync', {
method: 'GET',
...(options || {}),
});
}
/** 1.用户登录 用户登录接口获取用户相关信息和登录Token登录后调用后台接口时将Token放到请求头中 POST /system/userLogin.do */
export async function userLoginUsingPost(body: API.Pinyin_21, options?: { [key: string]: any }) {
return request<API.ROfobject>('/system/userLogin.do', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body,
...(options || {}),
});
}

964
entry/src/main/ets/api/typings.d.ts vendored Normal file
View File

@ -0,0 +1,964 @@
declare namespace API {
type CarBrand_ = {
/** 品牌名 {type_name} */
brandName?: string;
/** 创建者 */
createBy?: string;
/** 创建时间 */
createTime?: string;
/** 百米脉冲 */
hundredMeterPulse?: string;
/** 主键 */
id?: number;
/** 签到序号起始点 */
signNumber?: number;
/** SIMPLE_NAME */
simpleName?: string;
/** 更新者 */
updateBy?: string;
/** 更新时间 */
updateTime?: string;
};
type CarInfo_ = {
/** 监管分车时间 */
assignTime?: string;
/** 车辆品牌id [car_brand.id] {cartypeid} */
carBrandId?: number;
/** 考车自检状态0不用检查1待检查2检查通过3检查不通过 */
carCheckStatus?: string;
/** 考车实际IP {carip} */
carIp?: string;
/** 考车对应mac地址 */
carMac?: string;
/** 考车编号 {carno} */
carNo?: string;
/** 考车身份证号 */
cardNoArray?: string;
/** 创建者 */
createBy?: string;
/** 创建时间 */
createTime?: string;
/** 删除标记0存在2已经删除status */
delFlag?: string;
/** 考点id [sys_dept.dept_id] {exampointid} */
deptId?: number;
/** 设备号 */
deviceNo?: string;
/** 考车状态1正常2停用3异常 */
deviceStatus?: string;
/** 准驾车型 {cartype} */
drivingLicenseType?: string;
/** 终点库位号 {zdkwh} */
endPointNo?: string;
/** 考车路线 */
examLineArray?: string;
/** 所属考官对应的用户id [sys_user.user_id] */
examManId?: number;
/** 考试场次 {kscc} */
examRound?: number;
/** 当前登录随车考试员id [examiner_info.id] */
examinerId?: number;
/** 考场区域代号 */
fieldId?: string;
/** 百米脉冲 */
hundredMeterPulse?: string;
/** 主键 */
id?: number;
/** 监控审核人脸识别方式0无人脸识别1视频截图方式2考车上传方式 {isface} */
isFace?: string;
/** 是否更新map_collect 01 {is_mapcollect} */
isMapCollect?: string;
/** 是否需要审核01 */
isReview?: string;
/** 上一次登录随车考试员 [examiner_info.id] */
lastExaminerId?: number;
/** 考车号牌 {carcode} */
licensePlate?: string;
/** 模型id [model_info.id] {modelid} */
modelId?: number;
/** 导航线路 {dhxl} */
navigationLine?: string;
/** 考车对应软件版本 */
softwareVersion?: string;
/** 更新者 */
updateBy?: string;
/** 更新时间 */
updateTime?: string;
/** 车辆型号 */
vehicleModel?: string;
/** 考车对应车辆识别代号 */
vin?: string;
/** 考试路线 */
wayNo?: number;
};
type ExamInfoVo = {
bk1?: string;
bz1?: string;
cartype?: string;
czlx?: string;
fieldid?: string;
flag?: string;
fz?: string;
jdxx?: string;
jxmc?: string;
kchp?: string;
kfxm?: string;
kscc?: string;
kscx?: string;
ksdd?: string;
kskm?: string;
kslx?: string;
ksmjzp?: string;
kssycs?: string;
ksxl?: string;
ksy1?: string;
ksy1sfzmhm?: string;
ksy2?: string;
ksy2sfzmhm?: string;
kszp?: string;
kszt?: string;
ktbh?: string;
lsh?: string;
motorType?: string;
roadway?: string;
securityGuard?: string;
sfcode?: string;
sfzmhm?: string;
updatetime?: string;
xb?: string;
xh?: string;
xldm?: string;
xm?: string;
ykrq?: string;
yycs?: string;
zkzmbh?: string;
zwxx1?: string;
zwxx2?: string;
zwxx3?: string;
zwxx4?: string;
};
type ExamPointInfo_ = {
/** 考场地址 {address} */
address?: string;
/** 考场车辆类型1小车2大车3摩托{is_motor} */
carType?: string;
/** 创建者 */
createBy?: string;
/** 创建时间 */
createTime?: string;
/** 所属部门id [sys_dept.dept_id] {organize_id} */
deptId?: number;
/** 考点名称 {name} */
deptName?: string;
/** 准驾车型(列表,逗号隔开) {car_type} */
drivingLicenseType?: string;
/** 考点代码 {code} */
examPointCode?: string;
/** 考点全称 {fullname} */
fullName?: string;
/** 主键 */
id?: number;
/** 联系人 {contact} */
master?: string;
/** 联系电话 {phone} */
phone?: string;
/** 电子地图映射信息json */
photoInfo?: string;
/** 电子地图图片路径 {path} */
photoPath?: string;
/** 备注 */
remark?: string;
/** 考试科目 {type} */
subjectType?: string;
/** 更新者 */
updateBy?: string;
/** 更新时间 */
updateTime?: string;
};
type GpsIPUdpIP_ = {
/** 车辆品牌名称 */
carBrandName?: string;
/** 准驾车型C1、C2... */
drivingLicenseType?: string;
/** GPS差分服务器地址 */
gpsAddress?: string;
/** 是否需要自检0不需要自检1需要自检 */
isNeedCheck?: string;
/** 百米脉冲 */
pulse?: string;
/** 考试科目 */
subjectType?: string;
/** UDP服务器数据端口号 */
udpDataPort?: string;
/** UDP服务器ip */
udpIp?: string;
/** UDP服务器消息端口号 */
udpMessagePort?: string;
/** 语音对讲服务ip */
voiceIp?: string;
/** 语音对讲服务端口号 */
voicePort?: string;
};
type GpsIPUdpIP2 = {
/** 车牌号 */
licensePlate: string;
/** 评判版本号 */
softwareVersion: string;
};
type MarkRuleSet = {
itemName?: string;
itemno?: string;
kfxh?: string;
markcatalog?: string;
markdepend?: string;
markreal?: string;
markserial?: string;
markshow?: string;
markstandard?: string;
};
type paramConfigDataSyncUsingGETParams = {
/** tableName */
tableName: string;
};
type Pinyin__ = {
/** 车牌号 */
licensePlate: string;
/** 考试里程{kslc} */
mileage: number;
/** 流水号 */
serialNo: string;
/** 特殊扣分内容 */
specialSub?: string;
};
type Pinyin_10 = {
/** 考车id */
gunCameraInfos?: Pinyin_9[];
};
type Pinyin_11 = {
/** 小红球程序编号 */
deviceNo: string;
/** 小红球消息 */
message: string;
};
type Pinyin_12 = {
kaoShengXinXi?: ExamInfoVo[];
};
type Pinyin_13 = {
b2no?: string;
c1no?: string;
c2no?: string;
c5no?: string;
deviceNo?: string;
fieldId?: string;
kscc?: string;
};
type Pinyin_14 = {
judgeVersion?: string;
kdid?: string;
kskm?: string;
markRuleSet?: MarkRuleSet[];
shellVersion?: string;
speendParam?: string;
vehicleSpeend?: VehicleSpeend[];
};
type Pinyin_15 = {
/** 小红球程序编号 */
deviceNo: string;
};
type Pinyin_16 = {
aqyphoto?: string;
aqysfzmhm?: string;
aqyxm?: string;
bkhgkssj?: string;
jxmc?: string;
kch?: string;
kchp?: string;
kclx?: string;
kcmc?: string;
kscs?: string;
kscx?: string;
ksxl?: string;
ksyphoto?: string;
ksysfzmhm?: string;
ksyxm?: string;
lsh?: string;
sfzmhm?: string;
xm?: string;
yycs?: string;
zp1?: string;
zp2?: string;
zwh?: string;
};
type Pinyin_17 = {
/** 考车编号 */
carNo: string;
/** 小红球程序编号 */
deviceNo: string;
/** 流水号 */
serialNo: string;
};
type Pinyin_18 = {
/** 随车考试员编号 */
examinerCode?: string;
/** 车牌号 */
licensePlate: string;
/** 流水号 */
serialNo: string;
};
type Pinyin_19 = {
/** 安徽已考项目 */
ahykxx?: string;
/** 大车初考项目 */
firstABykxx?: string;
/** 考试剩余次数 */
kssycs?: string;
/** 考试预约流水号 */
lsh?: string;
/** 摩托车考试模式 */
motorType?: string;
/** 大车补考项目 */
secondABykxx?: string;
/** 约考信息,内容如:开始时间;里程;考试项目;扣分项目;特殊地方扣分明细 */
ykxx?: string;
};
type Pinyin_2 = {
/** 文件base64 */
examData: string;
/** 考试结束时间 */
examEndTime: string;
/** 考试开始时间 */
examStartTime: string;
/** 文件名称type=2/3时需要传 */
fileName?: string;
/** 车牌号 */
licensePlate: string;
/** 流水号 */
serialNo: string;
/** 文件类型鸿蒙考车固定传10本地轨迹1监管轨迹2轨迹回放3注意力识别 */
type: string;
};
type Pinyin_20 = {
/** 考车请求时间跟下面请求数据data中的业务发生时间相同这里用作设备时差校验 */
carSendTime: string;
/** 请求数据详见无锡所接口文档。JSON对象 */
data: Record<string, any>;
/** 文件列表 */
files?: WxsBaseFileBean[];
/** 车牌号 */
licensePlate: string;
/** 接口编号例如02-21-000009考试开始 */
restCode: string;
};
type Pinyin_21 = {
/** 设备imei号 */
imei: string;
/** 用户登录时间戳 */
loginTime: number;
/** md5加密串(根据imei号+时间戳+盐混淆) */
signKey: string;
};
type Pinyin_22 = {
/** 中心服务器当前时间 */
time?: string;
};
type Pinyin_23 = {
/** 设备名称 */
deviceName: string;
/** 设备编号 */
deviceNo: string;
/** 设备类型1考车2闸机3大屏4指纹仪5拍照 */
type: string;
};
type Pinyin_24 = {
/** 考试项目 */
bk1?: string;
/** 备注1 0,0, */
bz1?: string;
/** 考试车型考生表的carType */
cartype?: string;
/** 操作类型 */
czlx?: string;
/** 考试区域 */
fieldid?: string;
/** 考试是否合格 */
flag?: string;
/** 考试分组 */
fz?: string;
/** 阶段信息 */
jdxx?: string;
/** 驾校名称 */
jxmc?: string;
/** 考车号牌 */
kchp?: string;
/** 扣分项目 */
kfxm?: string;
/** 考试场次 */
kscc?: string;
/** 考试车型 */
kscx?: string;
/** 考试地点,考场编号 */
ksdd?: string;
/** 考试科目 */
kskm?: string;
/** 考试类型 */
kslx?: string;
/** ksmjzp */
ksmjzp?: string;
/** 考试剩余次数 */
kssycs?: string;
/** 考试线路-实用 */
ksxl?: string;
/** 考试员姓名1 */
ksy1?: string;
/** 考试员1身份证号 */
ksy1sfzmhm?: string;
/** 考试员随车考试员2 */
ksy2?: string;
/** 考试员2身份证号 */
ksy2sfzmhm?: string;
/** 考生照片base64编码 */
kszp?: string;
/** 考试状态 */
kszt?: string;
/** 考台编号 */
ktbh?: string;
/** 考试预约流水号 */
lsh?: string;
/** 摩托车考试模式 1.先考科目2再考科目3 2.科目2 3.科目3 4.先考科目3再考科目2 */
motorType?: string;
/** 车道 */
roadway?: string;
/** 安全员姓名 */
securityGuard?: string;
/** 6位身份编码 */
sfcode?: string;
/** 身份证号 */
sfzmhm?: string;
/** 上车更新时间 */
updatetime?: string;
/** 考生性别 */
xb?: string;
/** 序号 */
xh?: string;
/** 监管线路代码,上传用 */
xldm?: string;
/** 考生姓名 */
xm?: string;
/** 约考日期 */
ykrq?: string;
/** 预约次数 */
yycs?: string;
/** 准考证明编号admissionNo */
zkzmbh?: string;
/** 指纹1 */
zwxx1?: string;
/** 指纹2 */
zwxx2?: string;
/** 指纹3 */
zwxx3?: string;
/** 指纹4 */
zwxx4?: string;
};
type Pinyin_25 = {
/** 设备号 */
deviceNo: string;
/** 照片1 */
firstImage: string;
/** 照片2 */
secondImage: string;
/** 身份证号码 */
sfzh: string;
};
type Pinyin_26 = {
/** 车牌号 */
licensePlate: string;
/** 流水号 */
serialNo: string;
};
type Pinyin_27 = {
/** 类别1外壳2视屏3评判4接口 */
category: string;
/** 车牌号 */
licensePlate: string;
/** 日志内容 */
logData: string;
/** 考车日志类型1升级日2错误日志 */
logType: string;
/** 考车发生时间格式yyyy-MM-dd HH:mm:ss */
vehicleTime: string;
};
type Pinyin_28 = {
/** 设备编号 */
deviceNo: string;
};
type Pinyin_29 = {
/** 自检结果附带信息 */
condition: string;
/** 自检结果1合格0不合格 */
flag: string;
/** 车牌号 */
licensePlate: string;
};
type Pinyin_3 = {
/** 车牌号 */
licensePlate: string;
};
type Pinyin_30 = {
/** 考车编号 */
carNo?: string;
/** 车辆类型 */
carType?: string;
/** 身份证号 */
cardNo?: string;
/** 设备编号 */
deviceNo?: string;
faceVerifyRes?: string;
/** fieldId */
fieldId?: string;
fingerVerifyRes?: string;
/** 体温是否正常标志 */
health?: string;
/** 6位身份编码 */
idNoSix?: string;
/** 考官证件号码 */
kgCardNo?: string;
/** 人工过门禁原因 */
manualReason?: string;
/** mixModel */
mixModel?: string;
/** 人脸识别度 */
rlsbValue?: string;
/** 流水号 */
serialNo?: string;
sfzzp?: string;
/** 考试科目 */
subjectType?: string;
/** 体温值 */
temperature?: string;
/** 体温照片1 */
twzp1?: string;
/** 体温照片2 */
twzp2?: string;
/** 照片 */
zp?: string;
zw1?: string;
zw2?: string;
zw3?: string;
zw4?: string;
};
type Pinyin_31 = {
/** 模型内容base64 */
content: string;
/** 文件名 */
filename: string;
};
type Pinyin_32 = {
/** 车牌号 */
licensePlate: string;
};
type Pinyin_33 = {
/** 车牌号码 */
licensePlate: string;
};
type Pinyin_34 = {
/** 车牌号 */
licensePlate: string;
};
type Pinyin_35 = {
/** 是否需要自检0不需要自检1需要自检 */
isNeedCheck?: string;
/** 自检项目 */
items?: string;
/** 串口号 */
portNo?: string;
/** 重试次数 */
retryTime?: string;
/** 1取反0不取反例如安全带取反且离合器不取反即1^0 */
reverse?: string;
};
type Pinyin_36 = {
/** 住址 */
addr?: string;
/** 设备编号 */
deviceNo?: string;
/** fieldId */
fieldId?: string;
/** 考官证件号码 */
kgsfzmhm?: string;
/** 考试科目 */
kskm?: string;
/** 流水号 */
lsh?: string;
/** mixModel */
mixModel?: string;
/** 身份证号 */
sfzh: string;
/** 姓名 */
xm?: string;
};
type Pinyin_37 = {
/** 设备号 */
deviceNo?: string;
/** 照片1 */
firstImage?: string;
/** 考试科目 */
kskm?: string;
/** 认证次数 */
rzcs?: string;
/** 照片2 */
secondImage: string;
/** 身份证号码 */
sfzh: string;
/** 设备类型(1、门禁2、考车3、过程) */
type: string;
/** 审核类型(2、人工审核) */
verifyType?: string;
};
type Pinyin_38 = {
/** 设备硬件号 */
deviceNo: string;
/** 门禁程序版本号 */
gateVersion: string;
};
type Pinyin_39 = {
/** 随车考试员登录用户名(可以是身份证号、员工号、制卡号等等) */
examinerName: string;
/** 随车考试员密码 */
examinerPwd?: string;
/** 车牌号 */
licensePlate: string;
};
type Pinyin_4 = {
/** 考生信息列表 */
studentList?: Pinyin_24[];
};
type Pinyin_40 = {
/** 指纹信息1 */
finger1?: string;
/** 指纹信息2 */
finger2?: string;
/** 随车考试员姓名 */
name?: string;
};
type Pinyin_5 = {
/** 车牌号码 */
licensePlate: string;
/** 表名,大写 */
tableName: string;
};
type Pinyin_6 = {
/** car_mac */
car_mac: string;
/** 设备类型1海康2大华 */
equipment_type: string;
/** 第一路通道 */
first_channel: string;
/** 第一路ip */
first_ip: string;
/** 第一路密码 */
first_password: string;
/** 第一路端口 */
first_port: string;
/** 第一路用户名 */
first_username: string;
/** 第四路通道 */
fourth_channel: string;
/** 第四路ip */
fourth_ip: string;
/** 第四路密码 */
fourth_password: string;
/** 第四路端口 */
fourth_port: string;
/** 第四路用户名 */
fourth_username: string;
/** 连接类型0主码流TCP方式1子码流TCP方式2主码流UDP方式3子码流UDP方式 */
line_type: string;
/** 拍照通道 */
photo_channel: string;
/** 叠加内容11.考生姓名身份证号3.当前项目4.当前时间) */
photo_overlay_text_content1: string;
/** 叠加内容21.考生姓名身份证号3.当前项目4.当前时间0 */
photo_overlay_text_content2: string;
/** 叠加内容31.考生姓名身份证号3.当前项目4.当前时间0 */
photo_overlay_text_content3: string;
/** 照片叠加文字1启用0关闭 */
photo_overlay_text_enable: string;
/** 位置1左上角2右上角3左下角4.右下角) */
photo_overlay_text_position: string;
/** 文字大小 */
photo_overlay_text_size: string;
/** 分割符1/2*\3换行 */
photo_overlay_text_split: string;
/** 启用过程人脸比对 {process_face_comparion_enable} */
process_face_comparion_enable: string;
/** 过程人脸比对模式1启用0关闭 {process_face_comparion_mode} */
process_face_comparion_mode: string;
/** 第二路通道 */
second_channel: string;
/** 第二路ip */
second_ip: string;
/** 第二路密码 */
second_password: string;
/** 第二路端口 */
second_port: string;
/** 第二路用户名 */
second_username: string;
/** 第三路通道 */
third_channel: string;
/** 第三路ip */
third_ip: string;
/** 第三路密码 */
third_password: string;
/** 第三路端口 */
third_port: string;
/** 第三路用户名 */
third_username: string;
/** 视频路数 */
video_channel: string;
/** 录像方式0本地录像1本地不录象 */
video_mode: string;
/** 视频遮挡 */
video_occlusion: string;
/** 视频遮挡范围1一路2二路3三路4四路 */
video_occlusion_range: string;
/** 视频叠加位置X */
video_overlay_position_x: string;
/** 视频叠加位置Y */
video_overlay_position_y: string;
/** 视频叠加内容11考生姓名2身份证号3当前项目4当前时间 */
video_overlay_text_content1: string;
/** 视频叠加内容21考生姓名2身份证号3当前项目4当前时间0 */
video_overlay_text_content2: string;
/** 视频叠加内容31考生姓名2身份证号3当前项目4当前时间0 */
video_overlay_text_content3: string;
/** 视频叠加文字1启用0关闭 */
video_overlay_text_enable: string;
/** 视频叠加分割符1/2*\3换行 */
video_overlay_text_split: string;
/** 录像范围1一路2二路3三路4四路 */
video_range: string;
/** 本考车对应视频合成服务器IP填错将不能开始考试 */
video_synthesis_server_ip: string;
/** 本考车对应视频合成服务器端口(填错将不能开始考试) */
video_synthesis_server_port: string;
/** 本考车对应视频合成信息处理系统IP填错或不填将可能导致录像丢失 */
video_synthesis_system_ip: string;
/** 本考车对应视频合成信息处理系统本地响应端口(填错或不填将可能导致录像丢失) */
video_synthesis_system_port: string;
};
type Pinyin_7 = {
/** 车牌号 */
licensePlate: string;
};
type Pinyin_8 = {
/** 车辆品牌列表 */
carBrandList?: CarBrand_[];
/** 考车列表 */
carInfoList?: CarInfo_[];
/** 考点列表 */
examPointInfoList?: ExamPointInfo_[];
};
type Pinyin_9 = {
/** 摄像头通道号 */
channel?: string;
/** 硬盘录像机ip */
deviceIP?: string;
/** 监管场地编号 */
equipmentId?: string;
/** 非全景绑定的全景 */
fullId?: string;
/** 全景区域坐标 */
gpsArea?: string;
/** 摄像头id */
id?: string;
/** 是否全景摄像头 */
isFull?: string;
/** 硬盘录像机密码 */
password?: string;
/** 硬盘录像机端口 */
port?: string;
/** 硬盘录像机用户名 */
user?: string;
};
type ROf_ = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_4;
/** 返回消息 */
msg: string;
};
type ROf10 = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_31;
/** 返回消息 */
msg: string;
};
type ROf11 = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_35;
/** 返回消息 */
msg: string;
};
type ROf12 = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_40;
/** 返回消息 */
msg: string;
};
type ROf2 = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_6;
/** 返回消息 */
msg: string;
};
type ROf3 = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_8;
/** 返回消息 */
msg: string;
};
type ROf4 = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_10;
/** 返回消息 */
msg: string;
};
type ROf5 = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_12;
/** 返回消息 */
msg: string;
};
type ROf6 = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_14;
/** 返回消息 */
msg: string;
};
type ROf7 = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_16;
/** 返回消息 */
msg: string;
};
type ROf8 = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_19;
/** 返回消息 */
msg: string;
};
type ROf9 = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: Pinyin_22;
/** 返回消息 */
msg: string;
};
type ROfGpsIPUdpIP_ = {
/** 状态码 1成功 0通用失败 */
code: number;
data?: GpsIPUdpIP_;
/** 返回消息 */
msg: string;
};
type ROfListOfobject = {
/** 状态码 1成功 0通用失败 */
code: number;
/** 承载数据 */
data?: Record<string, any>[];
/** 返回消息 */
msg: string;
};
type ROfobject = {
/** 状态码 1成功 0通用失败 */
code: number;
/** 承载数据 */
data?: Record<string, any>;
/** 返回消息 */
msg: string;
};
type VehicleSpeend = {
carType?: string;
speend?: string;
};
type WxsBaseFileBean = {
/** 文件内容base64编码 */
data: string;
/** 文件类别或id */
fileid: string;
};
}

View File

@ -0,0 +1,96 @@
import Prompt from '@system.prompt';
import http from '@ohos.net.http';
enum RequestMethod {
OPTIONS = "OPTIONS",
GET = "GET",
HEAD = "HEAD",
POST = "POST",
PUT = "PUT",
DELETE = "DELETE",
TRACE = "TRACE",
CONNECT = "CONNECT"
}
const BaseUrl = ""
interface Response {
code: number,
data: any,
msg: string
}
export async function request<T>(
url: string,
config: {
method: string;
params?: any;
data?: any
[key: string]: any
}
): Promise<T> {
const httpRequest = http.createHttp();
return new Promise((resolve, reject) => {
console.info("start request url: ", url, "request params: ", JSON.stringify(config.params || config.data || {}))
httpRequest.request(BaseUrl + url,
{
method: config.method as RequestMethod,
header: {
...config.header,
},
extraData: {
...(config.params || {}),
...(config.data || {})
},
expectDataType: http.HttpDataType.OBJECT,
connectTimeout: 60000, //超时时间
}).then(async (data) => {
let result = data.result as Response
if (result.code === 1) {
console.info("success request url: ", url)
console.info(JSON.stringify(result))
resolve(data.result as T)
} else if (result.code === 401) {
// console.error("401 request", url)
// let user = await PreferenceUtils.getUserModel()
// if (user?.isLogin) {
// userLoginUsingPost({
// account: user.account,
// psd: user.password,
// }).then(res => {
// let newUser: UserModel = new UserModel(res.data)
// newUser.account = user.account
// newUser.password = user.password
// newUser.isLogin = true
// PreferenceUtils.writeUserData(newUser)
// request(url, config)
// }).catch(() => {
// PreferenceUtils.writeUserData(new UserModel())
// if (router.getState().name !== "Login") {
// router.pushUrl({ url: "pages/Login" })
// }
// })
// } else {
// PreferenceUtils.writeUserData(new UserModel())
// if (router.getState().name !== "Login") {
// router.pushUrl({ url: "pages/Login" })
// }
// }
} else {
console.error("error request url: ", url)
console.error(result.msg)
reject(result.msg)
Prompt.showToast({
message: result.msg,
duration: 2000,
})
}
}).catch((err) => {
console.error("error request url: ", BaseUrl + url)
console.error(err)
reject(err)
})
});
}

View File

@ -0,0 +1,87 @@
export const SignalData = [
{ key: '左方向灯', value: '0' },
{ key: '右方向灯', value: '0' },
{ key: '喇叭', value: '0' },
{ key: '点火1', value: '0' },
{ key: '点火2', value: '0' },
{ key: '近光灯', value: '0' },
{ key: '远光灯', value: '0' },
{ key: '示廓灯', value: '0' },
{ key: '雾灯', value: '0' },
{ key: '雨刮器', value: '0' },
{ key: '脚刹', value: '0' },
{ key: '手刹', value: '0' },
{ key: '主驾驶门', value: '0' },
{ key: '离合', value: '0' },
{ key: '副刹车', value: '0' },
{ key: '安全带', value: '0' },
{ key: '双跳灯', value: '0' },
{ key: '车速', value: '0' },
{ key: '档位', value: '0' },
{ key: '超声波1', value: '0' },
{ key: '超声波2', value: '0' },
{ key: 'NC', value: '0' },
{ key: 'SA15', value: '0' },
{ key: '其他门', value: '0' },
{ key: '转速过高', value: '0' },
{ key: '累计脉冲', value: '0' },
{ key: '熄火次数', value: '0' },
{ key: '发动机转速', value: '0' },
{ key: '方向盘角度', value: '0' },
{ key: '超声波3', value: '0' },
{ key: '超声波4', value: '0' },
{ key: '触摸1', value: '0' },
{ key: '触摸2', value: '0' },
{ key: '触摸3', value: '0' },
{ key: 'SCIO', value: '0' },
{ key: 'SC1A_C', value: '0' },
{ key: 'SC1B_C', value: '0' },
{ key: 'SC2A_C', value: '0' },
{ key: 'SC2B_C', value: '0' },
{ key: 'SC3A_C', value: '0' },
{ key: 'SC3B_C', value: '0' },
{ key: 'SC4A_C', value: '0' },
{ key: 'SC4B_C', value: '0' },
{ key: 'SC5A_C', value: '0' },
{ key: 'SC5B_C', value: '0' },
{ key: 'SC6A_C', value: '0' },
{ key: 'SC6B_C', value: '0' }
]
export const GPSData = [
{ key: '状态', value: '0' },
{ key: '收星数', value: '0' },
{ key: '海拔高', value: '0' },
{ key: '高度差', value: '0' },
{ key: '龄期', value: '0' },
{ key: '维度因子', value: '0' },
{ key: '经度因子', value: '0' },
{ key: '航向角', value: '0' },
{ key: '俯仰角', value: '0' },
{ key: '航向角状态-收星数', value: '0' },
{ key: '年月日', value: '0' },
{ key: '时分秒', value: '0' },
{ key: '经度', value: '0' },
{ key: '纬度', value: '0' },
{ key: '速度', value: '0' },
]
export const RoadData = [
{name:'路段组号',key:'MapRoad_Code_No'},
{name:'路段编码',key:'MapRoad_Name'},
{name:'车轮压线',key:['TouchLineType','TouchDir']},
{name:'车身碰线',key:['TouchLineTypeCS','TouchLineDirCS']},
{name:'基准车道',key:['BasePointInLaneNo','BaseLaneCount']},
{name:'前点车道',key:['FrontPointLaneNo','FrontPointLaneCount']},
{name:'后车点道',key:[]},
{name:'左前/后车身距离',key:['Body_LF_ToLeftEdge','Body_LB_ToLeftEdge']},
{name:'右前/后车身距离',key:['Body_RF_ToRightEdge','Body_RB_ToRightEdge']},
{name:'右前/后车身边线',key:[]},
{name:'右前/后轮距离',key:['Wheel_RF_ToRightEdge','Wheel_RB_ToRightEdge']},
{name:'右前/后轮边线',key:['Wheel_RF_ToBaseLine','Wheel_RF_ToBaseLine']},
{name:'左前/后轮距离',key:['Wheel_LF_ToRightEdge','Wheel_LB_ToRightEdge']},
{name:'左前/后轮边线',key:['Wheel_LF_ToBaseLine','Wheel_LB_ToBaseLine']},
{name:'车道属性',key:['BasePointInLaneDir','CrossLineAttr']},
{name:'形状',key:['InShapeAttr','ShapeNo','']},
{name:'路段点',key:['CrossPointNo']},
]

View File

@ -0,0 +1,35 @@
import { VideoConfig } from '../pages/interfaces'
// 视频配置默认数据
export const VideoConfigData: VideoConfig = {
videoNum: '1',
spls: '1',
wz: '0,0',
faceFlag: false,
shuiying: true,
pztd: '2',
ljlx: '',
ip: '192.168.36.94',
port: '554',
userName: 'admin',
pwd: '12345qwe',
td1: '1',
td2: '2',
td3: '3',
td4: '4',
videoRecord1: false,
videoRecord2: false,
videoRecord3: false,
videoRecord4: false,
text1: '',
text2: '',
text3: '',
dolt: '',
fontSize: '',
rlls: '1',
spzd4: false,
spzd3: false,
spzd2: false,
spzd1: false,
zdyz: '5',
}

View File

@ -0,0 +1,9 @@
export * from "./CandidateData"
export * from "./VideoData"
export * from "./Judge"
export * from "./SignDisplay"
export * from "./CarCheck"

View File

@ -0,0 +1 @@
{"code":1,"data":{"videoChapterList":[{"chapterId":"8","chapterName":"第一章:驾驶证的基本信息、申领和使用","code":"1001","name":"驾驶证申领与使用机动车登记","subjectType":"1","count":"4","chapterVideoList":[{"videoId":"95","name":"第一课:准驾车型","title":"准驾车型是指什么样的驾驶证能开什么样的车我国总计有16种驾照按照ABCD的顺序划分。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/1658822259WBGURTDW.png","videoUrl":"https://ddjdvideo.duolunxc.com/d8cca146136b4036a193ec1c72a1ad84/2e2c2ed873d24f239cd5ca1cb9756bd1-81fdf63dd56b4dfce8ee63e8807d291f-ld.m3u8?auth_key=1726196458-4dd8bdf313b945808f2a62032d00d846-0-14b7843e2ba491a1918177784e37d772","viewCount":50766,"questCount":0,"isView":"0"},{"videoId":"61","name":"第二课:驾驶证的申请条件","title":"驾驶证申请条件,分为年龄条件、身体条件和禁止条件。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/16588222718TK8QETW.png","videoUrl":"https://ddjdvideo.duolunxc.com/b95873736b3e4f1dbd94159c4f88d3c2/fb0562a3d19b40189f7dc2ce8d2b18f6-b8ca137e222c55292b19abeb9472f7b4-ld.m3u8?auth_key=1726196458-185f9fc53e614fd7bc117f2f16e87066-0-9b40a712d59de2385daf195af77df644","viewCount":55988,"questCount":0,"isView":"0"},{"videoId":"96","name":"第三课:初次申请及增加准驾车型","title":"准驾车型的16种车型中有三种是不可以初次申请的包括大型客车A1、牵引车A2、中型客车B1。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/1658822248BLOG5F77.png","videoUrl":"https://ddjdvideo.duolunxc.com/583e26489a714e0c9713de49e297cd52/f8a0eb3a29924468a2be4278b82e84d1-39adbbdba4e730b4615416e186981d91-ld.m3u8?auth_key=1726196459-f37ddff500984ad9913a457914d4b7d9-0-33fa677f8c8e2f2c384d5a133a5a7511","viewCount":19449,"questCount":0,"isView":"0"},{"videoId":"97","name":"第四课:驾驶考试","title":"驾驶考试的内容及标准。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/1658822237ECGG1PQV.png","videoUrl":"https://ddjdvideo.duolunxc.com/84b4a019330b41b48b93818596e1baa2/6a0b423ba95f41f5834ea3c6c4e7e6ab-184dc5731e236cb26fe1a6abf890ae4f-ld.m3u8?auth_key=1726196459-a1daf329320a49b0a19d36c16fbcd398-0-a99a54448590acfde0d26fa0de3dcdd3","viewCount":18434,"questCount":0,"isView":"0"}]},{"chapterId":"10","chapterName":"第一章:文明驾驶","code":"4001","name":"安全文明驾驶常识","subjectType":"4","count":"3","chapterVideoList":[{"videoId":"111","name":"第一课:安全驾驶基础知识","title":"驾驶机动车上道路行驶,驾驶人首先要确保自己处于良好的驾驶状态,避免不文明的驾驶状态和行为会为自己和他人的生命安全埋下隐患。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/1658822228B0QUTOS9.png","videoUrl":"https://ddjdvideo.duolunxc.com/a9c572ca6fb24c0b86c4bb822bc9559d/3b9c3452052d48c695d3bc7701b7e0d2-beb7fa718d09f342c0343f248501ec10-ld.m3u8?auth_key=1726196459-c79a4890ea2745ceb312469186afdfa0-0-47b4001a778636678c70c2feb4d42586","viewCount":22494,"questCount":0,"isView":"0"},{"videoId":"112","name":"第二课:常见的不文明驾驶行为","title":"不遵守交通法律法规的行为,既属于违法行为,也是不文明的驾驶行为,驾驶人应该增加文明驾驶意识,自觉遵守交通规则,安全第一。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/1658822219GA9GTG2J.png","videoUrl":"https://ddjdvideo.duolunxc.com/1bdea813f93a456e890defd3f6d24a42/178aa73b657444989b543dfcd386b4ab-2045d439a68331e4c7b8b1a511d698e1-ld.m3u8?auth_key=1726196459-6d161bab98394c8f981a5df4b07ff77f-0-9527085c0efc3ca3befcb4025b1db1a5","viewCount":10562,"questCount":0,"isView":"0"},{"videoId":"113","name":"第三课:文明礼让驾驶","title":"