拍照响应bug修改

This commit is contained in:
lvyuankang 2025-01-01 10:40:23 +08:00
parent 17ef3ce4be
commit 2aa2179dc8
3 changed files with 44 additions and 26 deletions

View File

@ -11,6 +11,7 @@ import record from '@ohos.rtsprecord';
import { FileHelper } from './FileHelper';
import FileUtil from '../utils/File';
import { GlobalConfig } from '../../config';
import promptAction from '@ohos.promptAction';
const rtsp_server = record.createServer();
//开始录屏
@ -203,7 +204,6 @@ export async function delPic(day,type) {
}
export async function takePhoto(param, context, dir, flag = 1, callback?) {
var video_uri = `rtsp://${param.userName}:${param.pwd}@${param.ip}:${param.port}/h264/ch${param.pztd}/main/av_stream`;
// var video_uri = `rtsp://admin:openharmony1@192.168.1.66:554/Streaming/Channels/3`;
@ -222,7 +222,6 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) {
});
}
else {
console.log('baoyihubaoyihu1', video_uri, flag)
return new Promise<takePhotoParam>(async (resolve, reject) => {
const time = await getCurrentTime()
const date = time.split(' ')[0]
@ -238,8 +237,11 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) {
errorCode: snapResult.errorCode
})
}else{
const data=await takePhoto(param, context, dir, flag, callback)
resolve(data)
promptAction.showToast({
message: `拍照失败`,
duration: 3000
});
reject(false)
// reject()
}

View File

@ -434,7 +434,7 @@ struct Index {
async onPageShow() {
console.log('ttttt', 1111)
this.userAuth();
await this.userAuth();
let resourceManager = this.context.resourceManager;
this.vocObj = new voiceService(async (status, val, next) => {
@ -471,27 +471,32 @@ struct Index {
}
userAuth() {
const permissions: Array<Permissions> = ["ohos.permission.SET_TIME", "ohos.permission.READ_IMAGEVIDEO", "ohos.permission.DISTRIBUTED_DATASYNC", 'ohos.permission.CONNECTIVITY_INTERNAL', 'ohos.permission.CAMERA', 'ohos.permission.READ_MEDIA', 'ohos.permission.WRITE_MEDIA', 'ohos.permission.FILE_ACCESS_MANAGER'];
let context = this.context;
let atManager = abilityAccessCtrl.createAtManager();
// requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗
return new Promise((reslove,reject)=>{
const permissions: Array<Permissions> = ["ohos.permission.SET_TIME", "ohos.permission.READ_IMAGEVIDEO", "ohos.permission.DISTRIBUTED_DATASYNC", 'ohos.permission.CONNECTIVITY_INTERNAL', 'ohos.permission.CAMERA', 'ohos.permission.READ_MEDIA', 'ohos.permission.WRITE_MEDIA', 'ohos.permission.FILE_ACCESS_MANAGER'];
let context = this.context;
let atManager = abilityAccessCtrl.createAtManager();
// requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗
atManager.requestPermissionsFromUser(context, permissions).then((data) => {
this.initParams()
let grantStatus: Array<number> = data.authResults;
let length: number = grantStatus.length;
for (let i = 0; i < length; i++) {
if (grantStatus[i] === 0) {
// 用户授权,可以继续访问目标操作
} else {
// 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限
return;
atManager.requestPermissionsFromUser(context, permissions).then((data) => {
this.initParams()
let grantStatus: Array<number> = data.authResults;
let length: number = grantStatus.length;
for (let i = 0; i < length; i++) {
if (grantStatus[i] === 0) {
// 用户授权,可以继续访问目标操作
reslove(true)
} else {
reject()
// 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限
return;
}
}
}
// 授权成功
}).catch((err) => {
console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`);
// 授权成功
}).catch((err) => {
console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`);
})
})
}
async initParams() {

View File

@ -79,7 +79,7 @@ struct UserInfo {
@State FaceOpenStatue: string = '0'; //是否开启人脸识别
@State faceCatchImg: string = ''
@State systemParam:systemParam={
'Param341':false,//是否按顺序考试
'Param341':true,//是否按顺序考试
'Param803Str':'0',//开始考试前必须解开安全带或关车门
'Param612Str':'0',//开始考试触发方式
'Param770Str':'0',//车上没有缺考功能
@ -87,9 +87,11 @@ struct UserInfo {
'Param352Str':'0',//车上考试过一次就不能缺考
'Param828Str':'0',//828考生待考界面安全员显示考试员
'Param830Str':'0',//同一学员连续第二次考试时不再验证身份
'Param364':'0',//考前上车准备
}
private title = ''
private type = '2'
@State startExam:boolean=false
// 过程照片拍照
getPhoto = async (empty?: boolean) => {
const singlePlay = globalThis.singlePlay
@ -130,6 +132,7 @@ struct UserInfo {
)
async onPageShow() {
this.startExam=false
this.updateTimeLimit = false
this.ksksLimit = false
this.currentUser=EmptyCandidateObject
@ -438,6 +441,7 @@ struct UserInfo {
syssetParams.forEach(sys => {
//364 绕车一周评判时机(1-开始考试后判 2-开始考试前判)
if (sys.v_no === '364' && decodeURIComponent(sys.v_value) == '2') {
this.systemParam.Param364=sys.v_value
that.isBoardPrePareSetPopupOpen = true;
}
@ -458,7 +462,8 @@ struct UserInfo {
if (sys.v_no === '341'&&decodeURIComponent(sys.v_value) == '1') {
that.systemParam.Param341= true
}else{
that.systemParam.Param341= false
//todo
that.systemParam.Param341= true
}
//开始考试触发方式
if (sys.v_no === '612') {
@ -596,6 +601,10 @@ struct UserInfo {
this.list = JSON.parse(JSON.stringify(dataList))
this.list.forEach((listData, index) => {
//考过一次不允许切换学员
if(listData.kssycs=='1'){
this.startExam=true
}
listData.id = index.toString()
for (let i in listData) {
listData[i] = decodeURI(listData[i])
@ -1024,7 +1033,8 @@ struct UserInfo {
.backgroundImage(item.sfzmhm != this.currentUser.sfzmhm ? $r('app.media.userbox2') : $r('app.media.userboxbg'))
.backgroundImageSize({ width: '100%', height: '100%' })
.onClick(() => {
if (this.isExamStart && !globalThis.singlePlay&&this.systemParam.Param341) {
console.log('this.startExam',this.startExam,this.systemParam.Param364)
if ((this.isExamStart && !globalThis.singlePlay&&this.systemParam.Param341)||(this.startExam&&this.systemParam.Param364=='2')) {
return
}
this.currentUser=EmptyCandidateObject
@ -1287,4 +1297,5 @@ type systemParam={
'Param828Str':string,//828考生待考界面安全员显示考试员
'Param770Str':string,//车上没有缺考功能
'Param830Str':string,//同一学员连续第二次考试时不再验证身份
'Param364':string,//考前上车准备
}