fix: 启动app传递数据
This commit is contained in:
parent
0aea22d2bf
commit
43d5302c71
@ -4,13 +4,13 @@
|
||||
{
|
||||
"name": "default",
|
||||
"material": {
|
||||
"certpath": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.cer",
|
||||
"storePassword": "0000001A2150F207688978DC41AB971AFAACA19A2656EF603DF6DD262F11C00738919C0D1E8DC208ED16",
|
||||
"certpath": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.cer",
|
||||
"storePassword": "0000001B8D8B187B8B5E03868F4F858A00D5D8275FCDA4584925A7E271A58D44A2D8295E1A3911E47104ED",
|
||||
"keyAlias": "debugKey",
|
||||
"keyPassword": "0000001AACF53E0E5E7326C00626448D07D00D283DB5B32263113CE3A96D18EB3EFC6EAD63AB73618A2F",
|
||||
"profile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p7b",
|
||||
"keyPassword": "0000001BCBA3C73D3DC9D012F14BD3CB41DAB2328BB987DEFD7CC6A4A7E0F9E0097F22B2DD06F0F35C2E9B",
|
||||
"profile": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.p7b",
|
||||
"signAlg": "SHA256withECDSA",
|
||||
"storeFile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p12"
|
||||
"storeFile": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.p12"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -1,13 +1,15 @@
|
||||
{
|
||||
"lockfileVersion": 1,
|
||||
"lockfileVersion": 2,
|
||||
"ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.",
|
||||
"specifiers": {
|
||||
"@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6"
|
||||
},
|
||||
"packages": {
|
||||
"@ohos/hypium@1.0.6": {
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ=="
|
||||
"resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==",
|
||||
"registryType": "ohpm",
|
||||
"shasum": "3f5fed65372633233264b3447705b0831dfe7ea1"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,10 +0,0 @@
|
||||
|
||||
|
||||
|
||||
export default interface IIdlServiceExt {
|
||||
processData(data: string, callback: processDataCallback): void;
|
||||
insertDataToMap(key: string, val: number, callback: insertDataToMapCallback): void;
|
||||
}
|
||||
export type processDataCallback = (errCode: number, returnValue: string) => void;
|
||||
export type insertDataToMapCallback = (errCode: number) => void;
|
||||
|
||||
@ -1,51 +0,0 @@
|
||||
import IdlServiceExtStub from './idl_service_ext_stub';
|
||||
import hilog from '@ohos.hilog';
|
||||
import type { insertDataToMapCallback } from './i_idl_service_ext';
|
||||
import type { processDataCallback } from './i_idl_service_ext';
|
||||
import request, { tcpRequest } from '../common/utils/request';
|
||||
import pasteboard from '@ohos.pasteboard';
|
||||
|
||||
const ERR_OK = 0;
|
||||
const TAG: string = "[IdlServiceExtImpl]";
|
||||
const DOMAIN_NUMBER: number = 0xFF00;
|
||||
|
||||
// 开发者需要在这个类型里对接口进行实现
|
||||
export default class ServiceExtImpl extends IdlServiceExtStub {
|
||||
processData(data: string, callback: processDataCallback): void {
|
||||
// 开发者自行实现业务逻辑
|
||||
hilog.info(DOMAIN_NUMBER, TAG, `js-test ServiceExtensionAbility--processData: ${data}`);
|
||||
console.log("lixiao receive", data)
|
||||
pasteboard.getSystemPasteboard().getData().then((res) => {
|
||||
let pasteData = res.getPrimaryText()
|
||||
console.log("lixiao receive paste", pasteData)
|
||||
request(JSON.parse(pasteData)).then(response => {
|
||||
console.log("lixiao success", JSON.stringify(response))
|
||||
callback(0, JSON.stringify({
|
||||
code: 0,
|
||||
data: response
|
||||
}));
|
||||
// callback(0, JSON.stringify(response));
|
||||
}).catch(async (err) => {
|
||||
callback(0, JSON.stringify({
|
||||
code: 1,
|
||||
data: err
|
||||
}));
|
||||
console.log("lixiao error", JSON.stringify(err))
|
||||
})
|
||||
}).catch(err => {
|
||||
callback(0, JSON.stringify({
|
||||
code: 1,
|
||||
data: {
|
||||
code: 2300007
|
||||
}
|
||||
}));
|
||||
console.log("lixiao paste error", JSON.stringify(err))
|
||||
})
|
||||
}
|
||||
|
||||
insertDataToMap(key: string, val: number, callback: insertDataToMapCallback): void {
|
||||
// 开发者自行实现业务逻辑
|
||||
hilog.info(DOMAIN_NUMBER, TAG, `js-test ServiceExtensionAbility--insertDataToMap, key: ${key} val: ${val}`);
|
||||
callback(ERR_OK);
|
||||
}
|
||||
}
|
||||
@ -1,57 +0,0 @@
|
||||
|
||||
|
||||
import {processDataCallback} from "./i_idl_service_ext";
|
||||
import {insertDataToMapCallback} from "./i_idl_service_ext";
|
||||
import IIdlServiceExt from "./i_idl_service_ext";
|
||||
import rpc from "@ohos.rpc";
|
||||
|
||||
export default class IdlServiceExtProxy implements IIdlServiceExt {
|
||||
constructor(proxy) {
|
||||
this.proxy = proxy;
|
||||
}
|
||||
|
||||
processData(data: string, callback: processDataCallback): void
|
||||
{
|
||||
let _option = new rpc.MessageOption();
|
||||
let _data = new rpc.MessageParcel();
|
||||
let _reply = new rpc.MessageParcel();
|
||||
// _data.writeString(data);
|
||||
_data.writeString(data)
|
||||
this.proxy.sendRequest(IdlServiceExtProxy.COMMAND_PROCESS_DATA, _data, _reply, _option).then(function(result) {
|
||||
if (result.errCode === 0) {
|
||||
let _errCode = result.reply.readInt();
|
||||
if (_errCode != 0) {
|
||||
let _returnValue = undefined;
|
||||
callback(_errCode, _returnValue);
|
||||
return;
|
||||
}
|
||||
let _returnValue = result.reply.readString();
|
||||
callback(_errCode, _returnValue);
|
||||
} else {
|
||||
console.log("sendRequest failed, errCode: " + result.errCode);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
insertDataToMap(key: string, val: number, callback: insertDataToMapCallback): void
|
||||
{
|
||||
let _option = new rpc.MessageOption();
|
||||
let _data = new rpc.MessageParcel();
|
||||
let _reply = new rpc.MessageParcel();
|
||||
_data.writeString(key);
|
||||
_data.writeInt(val);
|
||||
this.proxy.sendRequest(IdlServiceExtProxy.COMMAND_INSERT_DATA_TO_MAP, _data, _reply, _option).then(function(result) {
|
||||
if (result.errCode === 0) {
|
||||
let _errCode = result.reply.readInt();
|
||||
callback(_errCode);
|
||||
} else {
|
||||
console.log("sendRequest failed, errCode: " + result.errCode);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
static readonly COMMAND_PROCESS_DATA = 1;
|
||||
static readonly COMMAND_INSERT_DATA_TO_MAP = 2;
|
||||
private proxy
|
||||
}
|
||||
|
||||
@ -1,86 +0,0 @@
|
||||
import { processDataCallback } from "./i_idl_service_ext";
|
||||
import { insertDataToMapCallback } from "./i_idl_service_ext";
|
||||
import IIdlServiceExt from "./i_idl_service_ext";
|
||||
import rpc from "@ohos.rpc";
|
||||
import common from '@ohos.app.ability.common';
|
||||
|
||||
export default class IdlServiceExtStub extends rpc.RemoteObject implements IIdlServiceExt {
|
||||
protected context: common.ServiceExtensionContext
|
||||
|
||||
constructor(des: string, context: common.ServiceExtensionContext) {
|
||||
super(des);
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
onRemoteMessageRequest(code: number, data: rpc.MessageSequence, reply: rpc.MessageSequence, option): Promise<boolean> {
|
||||
console.log("lixiao onRemoteRequest called, code = " + code);
|
||||
return new Promise<boolean>((resolve, reject) => {
|
||||
switch (code) {
|
||||
case IdlServiceExtStub.COMMAND_PROCESS_DATA: {
|
||||
// let _data = data.readString();
|
||||
let _data = data.readString()
|
||||
this.processData(_data, (errCode, returnValue) => {
|
||||
console.log("lixiao callback", returnValue);
|
||||
console.log("lixiao errCode", errCode);
|
||||
reply.writeInt(errCode);
|
||||
reply.writeString(returnValue);
|
||||
resolve(true)
|
||||
});
|
||||
break
|
||||
}
|
||||
case IdlServiceExtStub.COMMAND_INSERT_DATA_TO_MAP: {
|
||||
let _key = data.readString();
|
||||
let _val = data.readInt();
|
||||
this.insertDataToMap(_key, _val, (errCode) => {
|
||||
reply.writeInt(errCode);
|
||||
resolve(true)
|
||||
});
|
||||
break
|
||||
}
|
||||
default: {
|
||||
console.log("invalid request code" + code);
|
||||
reject(true)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// onRemoteRequest(code: number, data, reply, option): boolean {
|
||||
// console.log("lixiao onRemoteRequest called, code = " + code);
|
||||
// switch (code) {
|
||||
// case IdlServiceExtStub.COMMAND_PROCESS_DATA: {
|
||||
// let _data = data.readString();
|
||||
// this.processData(_data, (errCode, returnValue) => {
|
||||
// reply.writeInt(errCode);
|
||||
// if (errCode == 0) {
|
||||
// reply.writeString(returnValue);
|
||||
// }
|
||||
// });
|
||||
// return true;
|
||||
// }
|
||||
// case IdlServiceExtStub.COMMAND_INSERT_DATA_TO_MAP: {
|
||||
// let _key = data.readString();
|
||||
// let _val = data.readInt();
|
||||
// this.insertDataToMap(_key, _val, (errCode) => {
|
||||
// reply.writeInt(errCode);
|
||||
// });
|
||||
// return true;
|
||||
// }
|
||||
// default: {
|
||||
// console.log("invalid request code" + code);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// return false;
|
||||
// }
|
||||
|
||||
processData(data: string, callback: processDataCallback): void {
|
||||
}
|
||||
|
||||
insertDataToMap(key: string, val: number, callback: insertDataToMapCallback): void {
|
||||
}
|
||||
|
||||
static readonly COMMAND_PROCESS_DATA = 1;
|
||||
static readonly COMMAND_INSERT_DATA_TO_MAP = 2;
|
||||
}
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
import ServiceExtension from '@ohos.app.ability.ServiceExtensionAbility'
|
||||
|
||||
// import { ServiceExtensionAbility, Want } from '@kit.AbilityKit';
|
||||
// import { rpc } from '@kit.IPCKit';
|
||||
import hilog from '@ohos.hilog';
|
||||
import { tcpUtil } from '../common/utils/TcpRequest';
|
||||
import ServiceExtImpl from '../IdlServiceExt/idl_service_ext_impl';
|
||||
|
||||
const TAG: string = '[ServiceExtAbility]';
|
||||
const DOMAIN_NUMBER: number = 0xFF00;
|
||||
|
||||
export default class ServiceExtAbility extends ServiceExtension {
|
||||
serviceExtImpl: ServiceExtImpl = new ServiceExtImpl('ExtImpl', this.context);
|
||||
|
||||
async onCreate(want): Promise<void> {
|
||||
hilog.info(DOMAIN_NUMBER, TAG, `js-test ServiceExtensionAbility-- onCreate, want: ${want.abilityName}`);
|
||||
};
|
||||
|
||||
onRequest(want, startId: number): void {
|
||||
hilog.info(DOMAIN_NUMBER, TAG, `js-test ServiceExtensionAbility--onRequest, want: ${want.abilityName}`);
|
||||
};
|
||||
|
||||
onConnect(want) {
|
||||
hilog.info(DOMAIN_NUMBER, TAG, `js-test ServiceExtensionAbility--onConnect, want: ${want.abilityName}`);
|
||||
// 返回ServiceExtImpl对象,客户端获取后便可以与ServiceExtensionAbility进行通信
|
||||
return this.serviceExtImpl;
|
||||
};
|
||||
|
||||
onDisconnect(want): void {
|
||||
hilog.info(DOMAIN_NUMBER, TAG, `js-test ServiceExtensionAbility--onDisconnect, want: ${want.abilityName}`);
|
||||
};
|
||||
|
||||
onDestroy(): void {
|
||||
hilog.info(DOMAIN_NUMBER, TAG, 'js-test ServiceExtensionAbility--onDestroy');
|
||||
};
|
||||
};
|
||||
@ -1,26 +0,0 @@
|
||||
import common from '@ohos.app.ability.common';
|
||||
import hilog from '@ohos.hilog';
|
||||
import Want from '@ohos.app.ability.Want';
|
||||
|
||||
const DOMAIN_NUMBER: number = 0xFF00;
|
||||
// import { BusinessError } from '@ohos.base';
|
||||
import promptAction from '@ohos.promptAction';
|
||||
|
||||
const TAG: string = '[ServiceInteractive]';
|
||||
let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; // UIAbilityContext
|
||||
let want: Want = {
|
||||
deviceId: '',
|
||||
bundleName: 'com.oh.dts',
|
||||
abilityName: 'ServiceExtAbility'
|
||||
};
|
||||
context.startServiceExtensionAbility(want).then(() => {
|
||||
|
||||
|
||||
hilog.info(DOMAIN_NUMBER, TAG, `js-test ServiceInteractive-- Succeeded in starting ServiceExtensionAbility, want: ${want.abilityName}`);
|
||||
// // 成功启动后台服务
|
||||
// promptAction.showToast({
|
||||
// message: $r('app.string.SuccessfullyStartBackendService')
|
||||
// });
|
||||
}).catch((err) => {
|
||||
hilog.error(DOMAIN_NUMBER, TAG, `Failed to start ServiceExtensionAbility. Code is ${err.code}, message is ${err.message}`);
|
||||
});
|
||||
@ -25,7 +25,7 @@ interface WR {
|
||||
}
|
||||
|
||||
// 通用监管接口
|
||||
export async function writeObjectOut(params, filePath?: string): Promise<WR> {
|
||||
export async function writeObjectOut(params,externalTransmission:boolean, filePath?: string): Promise<WR> {
|
||||
const singlePlay = globalThis.singlePlay
|
||||
if (singlePlay) {
|
||||
return { code: 1 }
|
||||
@ -54,8 +54,7 @@ export async function writeObjectOut(params, filePath?: string): Promise<WR> {
|
||||
|
||||
//新监管调用
|
||||
if (globalThis.isJGNew) {
|
||||
|
||||
return await writeObjectOutNew(params, filePath)
|
||||
return await writeObjectOutNew(params, filePath,externalTransmission)
|
||||
}
|
||||
drvexam.zp = drvexam.zp === undefined ? undefined : encodeURIComponent(drvexam.zp)
|
||||
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
import { getSyncData } from '../common/service/initable';
|
||||
import request from "../common/utils/request"
|
||||
|
||||
let baseHost = globalThis.host;
|
||||
import FileUtil from '../common/utils/File';
|
||||
import FileLog from '../pages/judgeSDK/utils/fileLog';
|
||||
import pasteboard from '@ohos.pasteboard';
|
||||
import emitter from '@ohos.events.emitter';
|
||||
import Want from '@ohos.app.ability.Want';
|
||||
|
||||
//监管接口序列号映射
|
||||
const gjxlhObj = {
|
||||
@ -19,12 +22,12 @@ interface WR {
|
||||
code: number
|
||||
}
|
||||
|
||||
export default async function writeObjectOutNew(data, filePath): Promise<WR> {
|
||||
export default async function writeObjectOutNew(data, filePath, externalTransmission): Promise<WR> {
|
||||
const fileUtil = new FileUtil(globalThis.context);
|
||||
const { jkid, drvexam } = data;
|
||||
const {jkid , drvexam} = data;
|
||||
const basic = await getBasicConfig(jkid);
|
||||
const params = await getParams(jkid, drvexam);
|
||||
const { wglb, jkxlh, glbm, jgbh, sjbs } = basic;
|
||||
const {wglb,jkxlh,glbm,jgbh,sjbs} = basic;
|
||||
|
||||
if (filePath) {
|
||||
await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify({
|
||||
@ -41,17 +44,16 @@ export default async function writeObjectOutNew(data, filePath): Promise<WR> {
|
||||
}
|
||||
|
||||
// let connectTimeout = sjbs === '02-21-000014' ?60000:1
|
||||
console.info('surenjun', '调用新监管,项目代码:', params.data.param.ksxm)
|
||||
console.info('surenjun', '调用新监管')
|
||||
let temp
|
||||
try {
|
||||
let data = JSON.stringify({
|
||||
host: globalThis.JGHOST,
|
||||
method: 'post',
|
||||
//是否是新中心
|
||||
isNewCenter: true,
|
||||
xml: true,
|
||||
url: '/dems_ws/services/TmriOutAccess?wsdl',
|
||||
data: `<?xml version="1.0"?>
|
||||
let requestData = {
|
||||
host: globalThis.JGHOST,
|
||||
method: 'post',
|
||||
//是否是新中心
|
||||
isNewCenter: true,
|
||||
xml: true,
|
||||
url: '/dems_ws/services/TmriOutAccess?wsdl',
|
||||
data: `<?xml version="1.0"?>
|
||||
<SOAP-ENV:Envelope
|
||||
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
@ -69,46 +71,20 @@ export default async function writeObjectOutNew(data, filePath): Promise<WR> {
|
||||
</writeObjectOut>
|
||||
</SOAP-ENV:Body>
|
||||
</SOAP-ENV:Envelope>`,
|
||||
})
|
||||
try {
|
||||
}
|
||||
try {
|
||||
if (!externalTransmission) {
|
||||
temp = await request(requestData)
|
||||
} else {
|
||||
let systemPasteboard = pasteboard.getSystemPasteboard()
|
||||
let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, data)
|
||||
let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, JSON.stringify(requestData))
|
||||
await systemPasteboard.clear()
|
||||
await systemPasteboard.setData(pasteData)
|
||||
} catch (e) {
|
||||
console.log("wzj pasteboard error", e, "项目代码:", params.data.param.ksxm)
|
||||
|
||||
temp = {
|
||||
code: 1
|
||||
}
|
||||
}
|
||||
let fn = () => {
|
||||
return new Promise((resolve, reject) => {
|
||||
let tick = setTimeout(() => {
|
||||
emitter.emit({
|
||||
eventId: 1
|
||||
})
|
||||
tick = null
|
||||
reject({
|
||||
code: 2300028,
|
||||
message: "children process not response"
|
||||
})
|
||||
}, 20 * 1000)
|
||||
console.log("wzj process start,项目代码:", params.data.param.ksxm)
|
||||
globalThis.serviceExtProxy.processData("1", (errorCode: number, retVal: string) => {
|
||||
console.log("lixiao process accept,项目代码:", params.data.param.ksxm, " 错误码:", errorCode, JSON.stringify(retVal))
|
||||
if (tick != null) {
|
||||
clearTimeout(tick)
|
||||
let result = JSON.parse(retVal)
|
||||
if (result.code === 0) {
|
||||
resolve(result.data)
|
||||
} else {
|
||||
emitter.emit({
|
||||
eventId: 1
|
||||
})
|
||||
reject(result.data)
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
temp = await fn()
|
||||
} catch (e) {
|
||||
console.log("新监管错误")
|
||||
temp = e
|
||||
@ -118,7 +94,6 @@ export default async function writeObjectOutNew(data, filePath): Promise<WR> {
|
||||
await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify(temp) + `\n`);
|
||||
}
|
||||
return temp
|
||||
|
||||
}
|
||||
|
||||
export async function getParams(jkid, drvexam) {
|
||||
@ -234,10 +209,7 @@ export async function getParams(jkid, drvexam) {
|
||||
sfzmhm: drvexam.sfzmhm
|
||||
},
|
||||
},
|
||||
file: {
|
||||
sjbs: gjxlhObj[jkid],
|
||||
param: [{ field: '', data: drvexam.zp }]
|
||||
}
|
||||
file: { sjbs: gjxlhObj[jkid], param: [{ field: '', data: drvexam.zp }] }
|
||||
}
|
||||
|
||||
default:
|
||||
|
||||
@ -54,10 +54,11 @@ export async function startRecordVideo(param, td, context, dir, path?, index?) {
|
||||
}
|
||||
|
||||
// @ts-ignore
|
||||
var recordResult = rtsp_server.startRecordVideo(context, video_uri, fileName, date, dir);
|
||||
var recordResult = rtsp_server.startRecordVideo(context, video_uri, fileName, date,dir);
|
||||
const handleId = recordResult.dataInt;
|
||||
reslove(handleId)
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
console.log(`Rtsprecord startRecordVideo rtsp_server isnull`);
|
||||
reslove(0)
|
||||
}
|
||||
@ -73,10 +74,10 @@ export async function endRecordVideo(record_handleObj) {
|
||||
console.log(`Rtsprecord endRecordVideo begin`);
|
||||
// @ts-ignore
|
||||
var recordResult = rtsp_server.endRecordVideo(record_handleObj[key]);
|
||||
console.log(`Rtsprecord endRecordVideo record_handle` + record_handleObj[key].dataInt + ` filename:` +
|
||||
record_handleObj[key].fileName);
|
||||
console.log(`Rtsprecord endRecordVideo record_handle` + record_handleObj[key].dataInt + ` filename:` + record_handleObj[key].fileName);
|
||||
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
console.log(`Rtsprecord endRecordVideo handleId isnull`);
|
||||
}
|
||||
}
|
||||
@ -122,8 +123,7 @@ async function getfilehandleCode(td, param, dir, path, index) {
|
||||
}
|
||||
|
||||
|
||||
export async function getUserAlbumItemByDisplayName(displayName: string, day?,
|
||||
type?): Promise<photoAccessHelper.Album> {
|
||||
export async function getUserAlbumItemByDisplayName(displayName: string, day?, type?): Promise<photoAccessHelper.Album> {
|
||||
let fetchResult = null
|
||||
let album: photoAccessHelper.Album = null
|
||||
try {
|
||||
@ -136,9 +136,7 @@ export async function getUserAlbumItemByDisplayName(displayName: string, day?,
|
||||
};
|
||||
const userFileMgr = photoAccessHelper.getPhotoAccessHelper(globalThis.context);
|
||||
|
||||
fetchResult =
|
||||
await userFileMgr.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC,
|
||||
fetchOptions);
|
||||
fetchResult = await userFileMgr.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, fetchOptions);
|
||||
console.log('get getUserAlbumItemByDisplayName, count: ' + JSON.stringify(fetchResult));
|
||||
if (fetchResult.getCount() > 0) {
|
||||
const albums = await fetchResult.getLastObject();
|
||||
@ -169,8 +167,7 @@ interface takePhotoParam {
|
||||
name?: string,
|
||||
base64?: string,
|
||||
fileSize?: number,
|
||||
errorCode?: number,
|
||||
path?: string
|
||||
errorCode?: number
|
||||
}
|
||||
|
||||
/**
|
||||
@ -184,7 +181,7 @@ interface takePhotoParam {
|
||||
*/
|
||||
const fileHelper = new FileHelper();
|
||||
|
||||
export async function delPic(day, type) {
|
||||
export async function delPic(day,type) {
|
||||
let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(globalThis.context);
|
||||
console.info('albumGetAssetsDemoCallback');
|
||||
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
|
||||
@ -196,15 +193,13 @@ export async function delPic(day, type) {
|
||||
fetchColumns: [],
|
||||
predicates: predicates
|
||||
};
|
||||
let albumList: photoAccessHelper.FetchResult<photoAccessHelper.Album> =
|
||||
await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC,
|
||||
albumFetchOptions);
|
||||
let albumList: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, albumFetchOptions);
|
||||
let albums = await albumList.getAllObjects();
|
||||
for (let i = 0; i <= albums.length; i++) {
|
||||
let albumName = albums[i].albumName
|
||||
for(let i=0;i<=albums.length;i++){
|
||||
let albumName=albums[i].albumName
|
||||
// isSevenDaysAgo(albumName, day)
|
||||
console.log('albumNamealbumName', albumName)
|
||||
if (isSevenDaysAgo(albumName, day) && albumName != 'jt' && albumName != 'pz') {
|
||||
console.log('albumNamealbumName',albumName)
|
||||
if (isSevenDaysAgo(albumName, day)&&albumName!='jt'&&albumName!='pz') {
|
||||
deleteAllFileByPiC(albumName, type)
|
||||
|
||||
}
|
||||
@ -223,68 +218,40 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) {
|
||||
// @ts-ignore
|
||||
// var snapResult = rtsp_server.getVideoSnapshot(context, video_uri, '', dir);
|
||||
if (flag == 0) {
|
||||
// return new
|
||||
rtsp_server.detectVideoSnapshotSize(video_uri, fileName, (err, snapResult) => {
|
||||
console.log("baohaowen_detectLoop round end size1:" + snapResult.fileSize);
|
||||
callback({ fileSize: snapResult.fileSize, errorCode: snapResult.errorCode })
|
||||
});
|
||||
}
|
||||
else {
|
||||
return new Promise<takePhotoParam>(async (resolve, reject) => {
|
||||
rtsp_server.detectVideoSnapshotSize(video_uri, fileName, false, (err, snapResult) => {
|
||||
console.log("baohaowen_detectLoop round end size1:" + snapResult.fileSize, snapResult.dataString);
|
||||
callback && callback({
|
||||
fileSize: snapResult.fileSize,
|
||||
errorCode: snapResult.errorCode,
|
||||
base64: snapResult.dataString
|
||||
})
|
||||
resolve({ fileSize: snapResult.fileSize, errorCode: snapResult.errorCode, base64: snapResult.dataString })
|
||||
});
|
||||
})
|
||||
|
||||
} else {
|
||||
return new Promise<takePhotoParam>(async (resolve, reject) => {
|
||||
// const time = await getCurrentTime()
|
||||
// const date = time.split(' ')[0]
|
||||
// let dirName = dir ? dir : date
|
||||
rtsp_server.detectVideoSnapshotSize(video_uri, fileName, true, (err, snapResult) => {
|
||||
if (snapResult.result && snapResult.errorCode == 0) {
|
||||
console.log("baohaowen_detectLoop round end size1:" + snapResult.fileSize, snapResult.dataString);
|
||||
callback && callback({
|
||||
const time = await getCurrentTime()
|
||||
const date = time.split(' ')[0]
|
||||
let dirName=dir?dir:date
|
||||
rtsp_server.getVideoSnapshot(context, video_uri, fileName,dirName, true,async (err, snapResult) => {
|
||||
if(snapResult.result&&snapResult.errorCode==0){
|
||||
resolve({
|
||||
base64: snapResult.dataString,
|
||||
name: snapResult.fileName,
|
||||
fileSize: snapResult.fileSize,
|
||||
errorCode: snapResult.errorCode,
|
||||
base64: snapResult.dataString
|
||||
errorCode: snapResult.errorCode
|
||||
})
|
||||
resolve({ fileSize: snapResult.fileSize, errorCode: snapResult.errorCode, base64: snapResult.dataString })
|
||||
} else {
|
||||
}else{
|
||||
promptAction.showToast({
|
||||
message: `拍照失败`,
|
||||
duration: 3000
|
||||
});
|
||||
reject(false)
|
||||
// reject()
|
||||
}
|
||||
|
||||
});
|
||||
// rtsp_server.getVideoSnapshot(context, video_uri, fileName, dirName, true, async (err, snapResult) => {
|
||||
// if (snapResult.result && snapResult.errorCode == 0) {
|
||||
// resolve({
|
||||
// base64: snapResult.dataString,
|
||||
// name: snapResult.fileName,
|
||||
// fileSize: snapResult.fileSize,
|
||||
// errorCode: snapResult.errorCode,
|
||||
// path: snapResult.filePath
|
||||
// })
|
||||
// } else {
|
||||
// promptAction.showToast({
|
||||
// message: `拍照失败`,
|
||||
// duration: 3000
|
||||
// });
|
||||
// reject(false)
|
||||
// // reject()
|
||||
// }
|
||||
//
|
||||
// });
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export async function deleteAllPicturesFn() {
|
||||
export async function deleteAllPicturesFn(){
|
||||
fileHelper.deleteAllPictures();
|
||||
deleteAllVideos(globalThis.context, photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.VIDEO)
|
||||
deleteAllVideos(globalThis.context,photoAccessHelper.AlbumType.USER,photoAccessHelper.AlbumSubtype.VIDEO)
|
||||
|
||||
}
|
||||
|
||||
@ -294,8 +261,7 @@ export async function deleteAllFileByPiC(dirName, type = 1) {
|
||||
fileHelper.deleteFileOfAlbum(dirName, type);
|
||||
}
|
||||
|
||||
export async function deleteAllVideos(context, type: photoAccessHelper.AlbumType,
|
||||
subType: photoAccessHelper.AlbumSubtype): Promise<void> {
|
||||
export async function deleteAllVideos(context, type: photoAccessHelper.AlbumType, subType: photoAccessHelper.AlbumSubtype): Promise<void> {
|
||||
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = null;
|
||||
try {
|
||||
const userFileMgr = photoAccessHelper.getPhotoAccessHelper(context);
|
||||
|
||||
@ -29,12 +29,7 @@ export default class EntryAbility extends UIAbility {
|
||||
const arrClose = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00]
|
||||
const arrCloseBuffer = Array2Byte(arrClose).buffer
|
||||
globalThis?.lightLineUdp?.send(arrCloseBuffer);
|
||||
let want: Want = {
|
||||
deviceId: '',
|
||||
bundleName: 'com.oh.dts',
|
||||
abilityName: 'ServiceExtAbility'
|
||||
};
|
||||
await this.context.stopServiceExtensionAbility(want)
|
||||
|
||||
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy');
|
||||
}
|
||||
|
||||
|
||||
@ -19,7 +19,6 @@ import UdpEvent from '../common/utils/UdpEvent';
|
||||
import { delPic } from '../common/service/videoService';
|
||||
import imageBtn from './compontents/imageBtn';
|
||||
import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements';
|
||||
import IdlServiceExtProxy from '../IdlServiceExt/idl_service_ext_proxy';
|
||||
import Want from '@ohos.app.ability.Want';
|
||||
import emitter from '@ohos.events.emitter';
|
||||
import { examJudgeVersion } from './judgeSDK/api';
|
||||
@ -60,7 +59,6 @@ struct Index {
|
||||
private interval = null;
|
||||
private avPlayer
|
||||
private context = getContext(this) as common.UIAbilityContext;
|
||||
private serviceExtProxy: IdlServiceExtProxy
|
||||
|
||||
@Styles
|
||||
commStyle(){
|
||||
@ -353,76 +351,9 @@ struct Index {
|
||||
.backgroundImageSize({ width: '100%', height: '100%' })
|
||||
}
|
||||
|
||||
async startServiceAbility() {
|
||||
let want: Want = {
|
||||
deviceId: '',
|
||||
bundleName: 'com.oh.dts',
|
||||
abilityName: 'ServiceExtAbility'
|
||||
};
|
||||
|
||||
await this.context.startServiceExtensionAbility(want).then(() => {
|
||||
// 成功启动后台服务
|
||||
console.log('js-test index.ets Succeeded in starting ServiceExtensionAbility.');
|
||||
let self = this;
|
||||
let options: common.ConnectOptions = {
|
||||
onConnect(elementName, remote): void {
|
||||
console.log('js-test index.ets onConnect callback');
|
||||
if (remote === null) {
|
||||
console.log(`js-test index.ets onConnect remote is null`);
|
||||
return;
|
||||
}
|
||||
self.serviceExtProxy = new IdlServiceExtProxy(remote);
|
||||
globalThis.serviceExtProxy = self.serviceExtProxy
|
||||
console.log(`js-test index.ets processData, this.serviceExtProxy == `, self.serviceExtProxy);
|
||||
// 通过接口调用的方式进行通信,屏蔽了RPC通信的细节,简洁明了
|
||||
// self.serviceExtProxy.processData(1, (errorCode: number, retVal: object) => {
|
||||
// console.log(`js-test index.ets processData, errorCode: ${errorCode}, retVal: ${retVal}`);
|
||||
// });
|
||||
},
|
||||
onDisconnect(elementName): void {
|
||||
console.log('js-test index.ets onDisconnect callback');
|
||||
},
|
||||
onFailed(code): void {
|
||||
console.log('js-test index.ets onFailed callback', JSON.stringify(code));
|
||||
}
|
||||
}
|
||||
|
||||
// 建立连接后返回的Id需要保存下来,在解绑服务时需要作为参数传入
|
||||
// let connectionId = context.connectServiceExtensionAbility(want, options);
|
||||
try {
|
||||
this.context.connectServiceExtensionAbility(want, options);
|
||||
} catch (e) {
|
||||
console.log('js-test index.ets connectServiceExtensionAbility err == ', JSON.stringify(e));
|
||||
}
|
||||
// 成功连接后台服务
|
||||
console.log('js-test index.ets connectServiceExtensionAbility success');
|
||||
|
||||
}).catch((err) => {
|
||||
console.log(`js-test index.ets Failed to start ServiceExtensionAbility. Code is ${err.code}, message is ${err.message}`);
|
||||
});
|
||||
}
|
||||
|
||||
async aboutToAppear() {
|
||||
emitter.on({
|
||||
eventId: 1
|
||||
}, async () => {
|
||||
let want: Want = {
|
||||
deviceId: '',
|
||||
bundleName: 'com.oh.dts',
|
||||
abilityName: 'ServiceExtAbility'
|
||||
};
|
||||
try {
|
||||
console.log("lixiao, 开始重启服务")
|
||||
await this.context.stopServiceExtensionAbility(want)
|
||||
await this.startServiceAbility()
|
||||
console.log("lixiao, 重启服务成功")
|
||||
} catch (e) {
|
||||
console.log("lixiao, 重启服务失败", JSON.stringify(e))
|
||||
}
|
||||
|
||||
})
|
||||
await this.startServiceAbility()
|
||||
|
||||
this.avPlayer = new VoiceAnnounce();
|
||||
this.initParamFlag = false
|
||||
this.delLoading = false
|
||||
@ -433,7 +364,6 @@ struct Index {
|
||||
globalThis.errorDialog = this.errorDialog
|
||||
globalThis.udpEvent = new UdpEvent();
|
||||
getSyncData('MA_SYSSET').then(async data => {
|
||||
|
||||
console.log('datadata', JSON.stringify(data))
|
||||
// @ts-ignore
|
||||
|
||||
@ -448,7 +378,6 @@ struct Index {
|
||||
delPic(Number(sys.v_value), 2)
|
||||
delLog(Number(sys.v_value))
|
||||
// this.delLoading=false
|
||||
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
@ -55,6 +55,7 @@ import {
|
||||
} from './api/index';
|
||||
import { getSyncData, upDateTableByArray } from '../../common/service/initable';
|
||||
import promptAction from '@ohos.promptAction';
|
||||
import Want from '@ohos.app.ability.Want';
|
||||
|
||||
const judgeTag = 'SURENJUN_JUDGE'
|
||||
|
||||
@ -116,7 +117,7 @@ export default class Judge {
|
||||
const examDataArr = examDataStr.split('\n');
|
||||
for (let examDataStr of examDataArr) {
|
||||
const examData = JSON.parse(examDataStr)
|
||||
const code = await writeObjectOut(examData);
|
||||
const code = await writeObjectOut(examData, false);
|
||||
}
|
||||
}
|
||||
//上传无锡所过程数据
|
||||
@ -692,9 +693,12 @@ export default class Judge {
|
||||
this.isExamEnd = false;
|
||||
}
|
||||
|
||||
private externalTransmission: boolean = false
|
||||
// 计算是否启动
|
||||
private whetherToStart: boolean
|
||||
//调用监管接口
|
||||
sendWriteObjectOut = async (data, filePath) => {
|
||||
const temp = await writeObjectOut(data, filePath);
|
||||
const temp = await writeObjectOut(data, this.externalTransmission, filePath);
|
||||
console.log("wzj", JSON.stringify(temp))
|
||||
if (this.disConnectNum == 0) {
|
||||
console.log("wzj", "第一次发送", JSON.stringify(data))
|
||||
@ -711,12 +715,34 @@ export default class Judge {
|
||||
}
|
||||
return await this.sendWriteObjectOut(data, filePath)
|
||||
}
|
||||
if (this.disConnectNum >= 5) {
|
||||
this.externalTransmission = true
|
||||
let want: Want = {
|
||||
bundleName: 'com.oh.upload', // 替换为你的应用包名
|
||||
abilityName: 'EntryAbility', // 你的 Service Ability 名称
|
||||
moduleName: 'entry', // 你的模块名称,通常是 'entry',
|
||||
parameters: {}
|
||||
};
|
||||
try {
|
||||
let context = this.judgeUI.context;
|
||||
context.startAbility(want)
|
||||
.then(() => {
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error(`拉起应用失败: ${error.code} - ${error.message}`);
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(`启动Ability异常: ${error.message}`);
|
||||
}
|
||||
return await this.sendWriteObjectOut(data, filePath)
|
||||
}
|
||||
}
|
||||
|
||||
if (this.disConnectNum >= 5) {
|
||||
console.info('surenjun', '123')
|
||||
this.judgeUI.errorMsg = '当前的考试过程信息网络传输异常,程序点击确认将重启!';
|
||||
this.judgeUI.disConnectErrorOpen = true
|
||||
|
||||
}
|
||||
|
||||
this.disConnectNum = 0
|
||||
|
||||
@ -13,16 +13,6 @@
|
||||
"deliveryWithInstall": true,
|
||||
"installationFree": false,
|
||||
"pages": "$profile:main_pages",
|
||||
"extensionAbilities": [
|
||||
{
|
||||
"name": "ServiceExtAbility",
|
||||
"icon": "$media:icon",
|
||||
"description": "service",
|
||||
"type": "service",
|
||||
"exported": true,
|
||||
"srcEntry": "./ets/ServiceExtAbility/ServiceExtAbility.ets"
|
||||
}
|
||||
],
|
||||
"abilities": [
|
||||
{
|
||||
"name": "EntryAbility",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"hvigorVersion": "3.0.9",
|
||||
"hvigorVersion": "3.2.4",
|
||||
"dependencies": {
|
||||
"@ohos/hvigor-ohos-plugin": "3.0.9"
|
||||
"@ohos/hvigor-ohos-plugin": "3.2.4"
|
||||
}
|
||||
}
|
||||
@ -1,13 +1,15 @@
|
||||
{
|
||||
"lockfileVersion": 1,
|
||||
"lockfileVersion": 2,
|
||||
"ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.",
|
||||
"specifiers": {
|
||||
"@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6"
|
||||
},
|
||||
"packages": {
|
||||
"@ohos/hypium@1.0.6": {
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ=="
|
||||
"resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==",
|
||||
"registryType": "ohpm",
|
||||
"shasum": "3f5fed65372633233264b3447705b0831dfe7ea1"
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user