Merge remote-tracking branch 'origin/api10' into api10
This commit is contained in:
commit
49461428ab
@ -239,6 +239,7 @@ export function fillZero(str, len) {
|
|||||||
return zeroStr + str;
|
return zeroStr + str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 字符串转字节
|
||||||
export function string2Bytes(number, len) {
|
export function string2Bytes(number, len) {
|
||||||
let str = (Math.floor(+number)).toString(2);
|
let str = (Math.floor(+number)).toString(2);
|
||||||
if (str.length > len) {
|
if (str.length > len) {
|
||||||
|
|||||||
@ -0,0 +1,6 @@
|
|||||||
|
export interface UserLoginType {
|
||||||
|
carId: string;
|
||||||
|
examinationRoomId: string;
|
||||||
|
username: string;
|
||||||
|
password: string;
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
export interface NetworkConfigType {
|
||||||
|
udplocalIp: string;
|
||||||
|
udplocalIpPort: string;
|
||||||
|
udpOppositeIp: string;
|
||||||
|
udpOppositeIpPort: string;
|
||||||
|
tcplocalIp: string;
|
||||||
|
tcplocalIpPort: string;
|
||||||
|
tcpOppositeIp: string;
|
||||||
|
tcpOppositePort: string;
|
||||||
|
netMask: string;
|
||||||
|
gateway: string;
|
||||||
|
dnsServers: string;
|
||||||
|
centerIp: string;
|
||||||
|
centerPort: string;
|
||||||
|
}
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
export interface SckType {
|
||||||
|
xmdm: number,
|
||||||
|
kfdm: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SystemParamType {
|
||||||
|
Param341: boolean; // 是否按顺序考试
|
||||||
|
Param803Str: string; // 开始考试前必须解开安全带或关车门
|
||||||
|
Param612Str: string; // 开始考试触发方式
|
||||||
|
Param770Str: string; // 车上没有缺考功能
|
||||||
|
Param305Str: string; // 视频保存天数
|
||||||
|
Param352Str: string; // 车上考试过一次就不能缺考
|
||||||
|
Param828Str: string; // 828考生待考界面,安全员显示考试员
|
||||||
|
Param830Str: string; // 同一学员连续第二次考试时不再验证身份
|
||||||
|
Param364: string; // 考前上车准备
|
||||||
|
Param398: string; // 考前上车准备
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LabelBlockType {
|
||||||
|
label: string;
|
||||||
|
key: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface QKParamType {
|
||||||
|
id: number;
|
||||||
|
list: number[];
|
||||||
|
carNo: string;
|
||||||
|
placeId: string;
|
||||||
|
}
|
||||||
@ -9,3 +9,5 @@ export * from "./Judge"
|
|||||||
export * from "./Register"
|
export * from "./Register"
|
||||||
|
|
||||||
export * from "./VideoConfig"
|
export * from "./VideoConfig"
|
||||||
|
|
||||||
|
export * from "./UserInfo"
|
||||||
@ -6,6 +6,8 @@ import promptAction from '@ohos.promptAction';
|
|||||||
import errorMsgDialog from './compontents/errorMsgDialog';
|
import errorMsgDialog from './compontents/errorMsgDialog';
|
||||||
// import { voiceService } from '../common/service/voiceService';
|
// import { voiceService } from '../common/service/voiceService';
|
||||||
import imageBtn from './compontents/imageBtn';
|
import imageBtn from './compontents/imageBtn';
|
||||||
|
import { UserLoginType } from '../model/ExaminerLogin';
|
||||||
|
import { BusinessError } from '@ohos.base';
|
||||||
|
|
||||||
@Entry
|
@Entry
|
||||||
@Component
|
@Component
|
||||||
@ -44,7 +46,7 @@ struct Index {
|
|||||||
Column() {
|
Column() {
|
||||||
Text('请考官输入用户名密码').fontColor('#FFAD33').fontSize(36 * this.ratio)
|
Text('请考官输入用户名密码').fontColor('#FFAD33').fontSize(36 * this.ratio)
|
||||||
Row() {
|
Row() {
|
||||||
ForEach(this.inputPlaceholderArr, (item: any, index: number) => {
|
ForEach(this.inputPlaceholderArr, (item: string, index: number) => {
|
||||||
Row() {
|
Row() {
|
||||||
TextInput({ placeholder: `${item}`, text: this.inputTextArr[index] })
|
TextInput({ placeholder: `${item}`, text: this.inputTextArr[index] })
|
||||||
.fontSize(42 * this.ratio)
|
.fontSize(42 * this.ratio)
|
||||||
@ -91,9 +93,9 @@ struct Index {
|
|||||||
if (this.limit) {
|
if (this.limit) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const param = {
|
const param: UserLoginType = {
|
||||||
carId: globalThis.carInfo.carId,
|
carId: globalThis.carInfo.carId as string,
|
||||||
examinationRoomId: globalThis.carInfo.examinationRoomId,
|
examinationRoomId: globalThis.carInfo.examinationRoomId as string,
|
||||||
username: this.inputTextArr[0],
|
username: this.inputTextArr[0],
|
||||||
password: Md5.Instance.get_md5(this.inputTextArr[1])
|
password: Md5.Instance.get_md5(this.inputTextArr[1])
|
||||||
}
|
}
|
||||||
@ -102,7 +104,8 @@ struct Index {
|
|||||||
this.limit = true
|
this.limit = true
|
||||||
console.log('carInfo', JSON.stringify(globalThis.carInfo))
|
console.log('carInfo', JSON.stringify(globalThis.carInfo))
|
||||||
try {
|
try {
|
||||||
examinerLoginService(param).then(res => {
|
// TODO
|
||||||
|
examinerLoginService(param).then((res: ESObject) => {
|
||||||
console.log('res?.examinerLoginRsp?.head?.resultCode', res?.examinerLoginRsp?.head?.resultCode,
|
console.log('res?.examinerLoginRsp?.head?.resultCode', res?.examinerLoginRsp?.head?.resultCode,
|
||||||
JSON.stringify(res))
|
JSON.stringify(res))
|
||||||
this.errorDialog.close()
|
this.errorDialog.close()
|
||||||
@ -127,7 +130,7 @@ struct Index {
|
|||||||
globalThis.kgxm = res.examinerLoginRsp.body.name
|
globalThis.kgxm = res.examinerLoginRsp.body.name
|
||||||
|
|
||||||
globalThis.username = this.inputTextArr[0]
|
globalThis.username = this.inputTextArr[0]
|
||||||
}).catch(err => {
|
}).catch((err: BusinessError) => {
|
||||||
console.log('jiangsong12', JSON.stringify(err))
|
console.log('jiangsong12', JSON.stringify(err))
|
||||||
this.errorDialog.close()
|
this.errorDialog.close()
|
||||||
this.limit = false
|
this.limit = false
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import signDisplayCom from './compontents/signDisplayCom';
|
|||||||
@Entry
|
@Entry
|
||||||
@Component
|
@Component
|
||||||
struct Index {
|
struct Index {
|
||||||
@State signArr: Array<any> = []
|
|
||||||
@State sjxhColum: Array<SignalDataType> = SignalData;
|
@State sjxhColum: Array<SignalDataType> = SignalData;
|
||||||
@State GPSColum: Array<SignalDataType> = GPSData
|
@State GPSColum: Array<SignalDataType> = GPSData
|
||||||
@State ratio: number = 850 / 960
|
@State ratio: number = 850 / 960
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
import TopLogo from './compontents/TopLogo';
|
import TopLogo from './compontents/TopLogo';
|
||||||
import ethernet from '@ohos.net.ethernet';
|
import ethernet from '@ohos.net.ethernet';
|
||||||
import prompt from '@ohos.prompt';
|
|
||||||
|
|
||||||
import FileUtil from '../common/utils/File';
|
import FileUtil from '../common/utils/File';
|
||||||
import common from '@ohos.app.ability.common';
|
import common from '@ohos.app.ability.common';
|
||||||
import { GlobalConfig } from '../config';
|
import { GlobalConfig } from '../config';
|
||||||
|
import { NetworkConfigType } from '../model/TerminalInfos';
|
||||||
|
import Prompt from '@system.prompt';
|
||||||
|
|
||||||
|
|
||||||
@Entry
|
@Entry
|
||||||
@ -31,9 +32,7 @@ struct Index {
|
|||||||
@State @Watch('outClick') outFlag: boolean = false;
|
@State @Watch('outClick') outFlag: boolean = false;
|
||||||
scroller: Scroller = new Scroller()
|
scroller: Scroller = new Scroller()
|
||||||
// @State inputTextList2: string[] = ['192.168.36.139','20022']
|
// @State inputTextList2: string[] = ['192.168.36.139','20022']
|
||||||
private fileUtil: FileUtil
|
|
||||||
private context = getContext(this) as common.UIAbilityContext;
|
private context = getContext(this) as common.UIAbilityContext;
|
||||||
private vocObj = null;
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
Column() {
|
Column() {
|
||||||
@ -89,7 +88,7 @@ struct Index {
|
|||||||
Image($r('app.media.terminal_save')).width('20.5%').height('74%').onClick(async () => {
|
Image($r('app.media.terminal_save')).width('20.5%').height('74%').onClick(async () => {
|
||||||
const fileUtil = new FileUtil(this.context)
|
const fileUtil = new FileUtil(this.context)
|
||||||
const folderPath = await fileUtil.initFolder(`/config`);
|
const folderPath = await fileUtil.initFolder(`/config`);
|
||||||
const param = {
|
const param: NetworkConfigType = {
|
||||||
udplocalIp: this.inputTextList1[9],
|
udplocalIp: this.inputTextList1[9],
|
||||||
udplocalIpPort: this.inputTextList1[10],
|
udplocalIpPort: this.inputTextList1[10],
|
||||||
udpOppositeIp: this.inputTextList1[7],
|
udpOppositeIp: this.inputTextList1[7],
|
||||||
@ -113,16 +112,14 @@ struct Index {
|
|||||||
gateway: this.inputTextList1[5], //value.gateway网关
|
gateway: this.inputTextList1[5], //value.gateway网关
|
||||||
netMask: this.inputTextList1[4], //value.netMask网络掩码
|
netMask: this.inputTextList1[4], //value.netMask网络掩码
|
||||||
dnsServers: this.inputTextList1[6],
|
dnsServers: this.inputTextList1[6],
|
||||||
// @ts-ignore
|
|
||||||
domain: ""
|
|
||||||
}, (error) => {
|
}, (error) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
prompt.showToast({
|
Prompt.showToast({
|
||||||
message: '设置失败' + JSON.stringify(error),
|
message: '设置失败' + JSON.stringify(error),
|
||||||
duration: 3000
|
duration: 3000
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
prompt.showToast({
|
Prompt.showToast({
|
||||||
message: '设置成功',
|
message: '设置成功',
|
||||||
duration: 3000
|
duration: 3000
|
||||||
});
|
});
|
||||||
@ -157,8 +154,8 @@ struct Index {
|
|||||||
const data = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/ipConfig.txt');
|
const data = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/ipConfig.txt');
|
||||||
if (data === '' || data === undefined) {
|
if (data === '' || data === undefined) {
|
||||||
} else {
|
} else {
|
||||||
const result = JSON.parse(data)
|
// TODO
|
||||||
console.log('tagtag', JSON.stringify(result))
|
const result: ESObject = JSON.parse(data)
|
||||||
this.inputTextList1[9] = result.udplocalIp
|
this.inputTextList1[9] = result.udplocalIp
|
||||||
this.inputTextList1[10] = result.udplocalIpPort
|
this.inputTextList1[10] = result.udplocalIpPort
|
||||||
this.inputTextList1[7] = result.udpOppositeIp
|
this.inputTextList1[7] = result.udpOppositeIp
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { dateFormat, getCurrentHourTime, getCurrentTime, string2Bytes } from '..
|
|||||||
import FaceCompare from './compontents/FaceCompare';
|
import FaceCompare from './compontents/FaceCompare';
|
||||||
import { writeObjectOut } from '../api/judge';
|
import { writeObjectOut } from '../api/judge';
|
||||||
import testNapi from '@ohos.idcard';
|
import testNapi from '@ohos.idcard';
|
||||||
|
import IDCardSDK from '@ohos.idcard';
|
||||||
import common from '@ohos.app.ability.common';
|
import common from '@ohos.app.ability.common';
|
||||||
import promptAction from '@ohos.promptAction';
|
import promptAction from '@ohos.promptAction';
|
||||||
import FilePhoto from './judgeSDK/utils/filePhoto';
|
import FilePhoto from './judgeSDK/utils/filePhoto';
|
||||||
@ -20,7 +21,7 @@ import errorMsgDialog from './compontents/errorMsgDialog';
|
|||||||
import imageBtn from './compontents/imageBtn';
|
import imageBtn from './compontents/imageBtn';
|
||||||
import FileUtil from '../common/utils/File';
|
import FileUtil from '../common/utils/File';
|
||||||
import DB, { ColumnType } from '../common/database/DbSql';
|
import DB, { ColumnType } from '../common/database/DbSql';
|
||||||
import { User } from '../model';
|
import { LabelBlockType, QKParamType, SckType, SystemParamType, User } from '../model';
|
||||||
|
|
||||||
@Entry
|
@Entry
|
||||||
@Component
|
@Component
|
||||||
@ -46,10 +47,7 @@ struct UserInfo {
|
|||||||
@State isBoardPrePareSetPopupShow: boolean = false
|
@State isBoardPrePareSetPopupShow: boolean = false
|
||||||
@State isLoadingPopupVisible: boolean = false;
|
@State isLoadingPopupVisible: boolean = false;
|
||||||
@State loadingText: string = '正在认证监管信息,请稍后...'
|
@State loadingText: string = '正在认证监管信息,请稍后...'
|
||||||
@State sczbkf: {
|
@State sczbkf: SckType[] = []
|
||||||
xmdm: number,
|
|
||||||
kfdm: string
|
|
||||||
}[] = []
|
|
||||||
@State currentUser: User = EmptyCandidateObject
|
@State currentUser: User = EmptyCandidateObject
|
||||||
@State dataList: Array<User> = []
|
@State dataList: Array<User> = []
|
||||||
@State list: Array<User> = []
|
@State list: Array<User> = []
|
||||||
@ -64,7 +62,7 @@ struct UserInfo {
|
|||||||
//是否已经开始考试
|
//是否已经开始考试
|
||||||
@State isExamStart: boolean = false;
|
@State isExamStart: boolean = false;
|
||||||
@State effectDate: string = '';
|
@State effectDate: string = '';
|
||||||
@State interval: any = null;
|
@State interval: number = -1;
|
||||||
@State studentRefreshStatue: string = '0';
|
@State studentRefreshStatue: string = '0';
|
||||||
@State photo: string = 'data:image/bmp;base64,';
|
@State photo: string = 'data:image/bmp;base64,';
|
||||||
@State numCount: number = 0;
|
@State numCount: number = 0;
|
||||||
@ -75,31 +73,19 @@ struct UserInfo {
|
|||||||
@State faceFlag: string = '0';
|
@State faceFlag: string = '0';
|
||||||
@State FaceOpenStatue: string = '0'; //是否开启人脸识别
|
@State FaceOpenStatue: string = '0'; //是否开启人脸识别
|
||||||
@State faceCatchImg: string = ''
|
@State faceCatchImg: string = ''
|
||||||
@State systemParam: systemParam = {
|
@State systemParam: SystemParamType = {
|
||||||
'Param341': true, //是否按顺序考试
|
Param341: true,
|
||||||
'Param803Str': '0', //开始考试前必须解开安全带或关车门
|
Param803Str: '0',
|
||||||
'Param612Str': '0', //开始考试触发方式
|
Param612Str: '0',
|
||||||
'Param770Str': '0', //车上没有缺考功能
|
Param770Str: '0',
|
||||||
'Param305Str': '0', //视频保存天数
|
Param305Str: '0',
|
||||||
'Param352Str': '0', //车上考试过一次就不能缺考
|
Param352Str: '0',
|
||||||
'Param828Str': '0', //828考生待考界面,安全员显示考试员
|
Param828Str: '0',
|
||||||
'Param830Str': '0', //同一学员连续第二次考试时不再验证身份
|
Param830Str: '0',
|
||||||
'Param364': '0', //考前上车准备
|
Param364: '0',
|
||||||
'Param398': '0', //考前上车准备
|
Param398: '0'
|
||||||
}
|
}
|
||||||
@State startExam: boolean = false
|
@State startExam: boolean = false
|
||||||
// 过程照片拍照
|
|
||||||
getPhoto = async (empty?: boolean) => {
|
|
||||||
const singlePlay = globalThis.singlePlay
|
|
||||||
//单机模式返回空照片
|
|
||||||
if (singlePlay) {
|
|
||||||
return ''
|
|
||||||
} else {
|
|
||||||
const { filePhoto } = this;
|
|
||||||
const photoBase64 = await filePhoto.getPhoto();
|
|
||||||
return photoBase64
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//开始考试准备
|
//开始考试准备
|
||||||
prePareExam = async () => {
|
prePareExam = async () => {
|
||||||
if (this.ksksLimit) {
|
if (this.ksksLimit) {
|
||||||
@ -163,9 +149,20 @@ struct UserInfo {
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
private filePhoto: FilePhoto
|
private filePhoto: FilePhoto
|
||||||
|
// 过程照片拍照
|
||||||
|
getPhoto = async (empty?: boolean) => {
|
||||||
|
const singlePlay = globalThis.singlePlay
|
||||||
|
//单机模式返回空照片
|
||||||
|
if (singlePlay) {
|
||||||
|
return ''
|
||||||
|
} else {
|
||||||
|
const photoBase64 = await this.filePhoto.getPhoto();
|
||||||
|
return photoBase64
|
||||||
|
}
|
||||||
|
}
|
||||||
private avPlayer
|
private avPlayer
|
||||||
private context = getContext(this) as common.UIAbilityContext;
|
private context = getContext(this) as common.UIAbilityContext;
|
||||||
private labelBlocks = [
|
private labelBlocks: LabelBlockType[] = [
|
||||||
{ label: '考生姓名', key: 'xm' },
|
{ label: '考生姓名', key: 'xm' },
|
||||||
{ label: '身份证号', key: 'sfzmhm' },
|
{ label: '身份证号', key: 'sfzmhm' },
|
||||||
{ label: ' 流 水 号 ', key: 'lsh' },
|
{ label: ' 流 水 号 ', key: 'lsh' },
|
||||||
@ -173,7 +170,6 @@ struct UserInfo {
|
|||||||
{ label: '待考次数', key: 'kssycs' },
|
{ label: '待考次数', key: 'kssycs' },
|
||||||
{ label: '考试员名', key: 'ksy2' },
|
{ label: '考试员名', key: 'ksy2' },
|
||||||
]
|
]
|
||||||
private fileUtil: FileUtil
|
|
||||||
|
|
||||||
aboutToAppear() {
|
aboutToAppear() {
|
||||||
this.fileUtil = new FileUtil(this.context)
|
this.fileUtil = new FileUtil(this.context)
|
||||||
@ -345,7 +341,7 @@ struct UserInfo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onReadCard(ret) {
|
onReadCard(ret: IDCardSDK.IDCardInfo) {
|
||||||
console.info(`zzctest xx Read Card ret =${ret.status}`)
|
console.info(`zzctest xx Read Card ret =${ret.status}`)
|
||||||
let thisVar = globalThis.indexComponent;
|
let thisVar = globalThis.indexComponent;
|
||||||
|
|
||||||
@ -450,13 +446,13 @@ struct UserInfo {
|
|||||||
|
|
||||||
//考点端查询缺考指令内容消息请求
|
//考点端查询缺考指令内容消息请求
|
||||||
getqkFn() {
|
getqkFn() {
|
||||||
let tmpList = [];
|
let tmpList: Array<number> = [];
|
||||||
tmpList.push(string2Bytes(globalThis.signNum, 1 * 8)[0])
|
tmpList.push(string2Bytes(globalThis.signNum, 1 * 8)[0])
|
||||||
const param = {
|
const param: QKParamType = {
|
||||||
id: 41,
|
id: 41,
|
||||||
list: tmpList,
|
list: tmpList,
|
||||||
carNo: globalThis.carInfo.carNo,
|
carNo: globalThis.carInfo.carNo as string,
|
||||||
placeId: globalThis.carInfo.examinationRoomId
|
placeId: globalThis.carInfo.examinationRoomId as string
|
||||||
}
|
}
|
||||||
globalThis.udpClient2.sendMsgExt(param, this.context)
|
globalThis.udpClient2.sendMsgExt(param, this.context)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user