fix: 重启

This commit is contained in:
wangzhongjie 2025-10-28 16:27:30 +08:00
parent 08e430f02f
commit 8d6e6e3b6b
10 changed files with 177 additions and 53 deletions

View File

@ -4,13 +4,13 @@
{ {
"name": "default", "name": "default",
"material": { "material": {
"certpath": "C:\\Users\\13440\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two2_com.oh.dts.cer", "certpath": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.cer",
"storePassword": "0000001BE1869C350CC47385898E8BD73BD9A455D1886BA385CD349B7C5ADE3BCFB7A29422CB379DD38D60", "storePassword": "0000001BDD909DD8404E8B92703D5184A866B60293C42962B835ADAE4424AB5244CA8CC5F5B6B9F28F51B1",
"keyAlias": "debugKey", "keyAlias": "debugKey",
"keyPassword": "0000001B9F28F62DC3596874829120C11C241553B9134766FDA5315E81776F4AB7C392D24F996EDE2E3E5A", "keyPassword": "0000001B385A41E5971B34BE4AE810C6CB23838F88571ADB42DEAE3687C1AD6F3FCE35E98545F32AA4D057",
"profile": "C:\\Users\\13440\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two2_com.oh.dts.p7b", "profile": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.p7b",
"signAlg": "SHA256withECDSA", "signAlg": "SHA256withECDSA",
"storeFile": "C:\\Users\\13440\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two2_com.oh.dts.p12" "storeFile": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.p12"
} }
} }
], ],

View File

@ -1,13 +1,15 @@
{ {
"lockfileVersion": 1, "lockfileVersion": 2,
"ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.",
"specifiers": { "specifiers": {
"@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6" "@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6"
}, },
"packages": { "packages": {
"@ohos/hypium@1.0.6": { "@ohos/hypium@1.0.6": {
"resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==" "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==",
"registryType": "ohpm",
"shasum": "3f5fed65372633233264b3447705b0831dfe7ea1"
} }
} }
} }

View File

@ -0,0 +1,63 @@
import dataPreferences from '@ohos.data.preferences';
let context = getContext(this);
let preference: dataPreferences.Preferences;
const SYSTEM_DB: string = 'system.db' //其他信息
const USER_DB: string = 'user.db' //用户信息
class PreferenceUtils {
// 写入其他缓存数据
async writeOtherData(value: dataPreferences.ValueType, key: string) {
// if (value === null) {
// return;
// }
if (!preference) {
await this.getPreferencesFromStorage(SYSTEM_DB);
}
try {
await preference.put(key, value);
} catch (err) {
console.info(`Failed to put value, Cause: ${err}`);
}
await preference.flush();
}
// 获取其他缓存数据
async getOtherModel<T extends dataPreferences.ValueType>(key: string) {
let value: dataPreferences.ValueType = 1;
if (!preference) {
await this.getPreferencesFromStorage(SYSTEM_DB);
}
try {
value = (await preference.get(key, ''));
} catch (err) {
console.info(`Failed to get value, Cause: ${err}`);
}
if (value === '') {
return;
}
return value as T;
}
// 删除登录数据
async deletePreferences() {
try {
await dataPreferences.deletePreferences(context, USER_DB);
} catch (err) {
console.info(`Failed to delete preferences, Cause: ${err}`);
}
;
}
// 创建登录数据preference
async getPreferencesFromStorage(name: string) {
try {
preference = await dataPreferences.getPreferences(context, name);
} catch (err) {
console.info(`Failed to get preferences, Cause: ${err}`);
}
}
}
export default new PreferenceUtils();

View File

@ -10,9 +10,15 @@ import { GlobalConfig } from '../config/global'
import { tcpUtil } from '../common/utils/TcpRequest'; import { tcpUtil } from '../common/utils/TcpRequest';
import DB from '../common/database/DbSql'; import DB from '../common/database/DbSql';
import { initTable } from '../common/service/initable'; import { initTable } from '../common/service/initable';
import appRecovery from '@ohos.app.ability.appRecovery';
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
async onCreate(want, launchParam) { async onCreate(want, launchParam) {
appRecovery.enableAppRecovery(
appRecovery.RestartFlag.ALWAYS_RESTART,
appRecovery.SaveOccasionFlag.SAVE_WHEN_ERROR,
appRecovery.SaveModeFlag.SAVE_WITH_FILE
);
try { try {
console.log("sql first") console.log("sql first")
await DB.init(this.context) await DB.init(this.context)
@ -23,6 +29,7 @@ export default class EntryAbility extends UIAbility {
console.error('sql first error', e) console.error('sql first error', e)
} }
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
} }
@ -38,7 +45,7 @@ export default class EntryAbility extends UIAbility {
// Main window is created, set main page for this ability // Main window is created, set main page for this ability
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');
await tcpUtil.init() await tcpUtil.init()
globalThis.tcpStep=0 globalThis.tcpStep = 0
globalThis.carInfo = {} globalThis.carInfo = {}
globalThis.examinerInfo = {} globalThis.examinerInfo = {}

View File

@ -10,7 +10,7 @@ import { getUDP, getUDP2 } from '../common/utils/GlobalUdp';
import { initJudgeUdp } from '../common/utils/UdpJudge'; import { initJudgeUdp } from '../common/utils/UdpJudge';
import { judgeConfig } from './judgeSDK/utils/judgeConfig'; import { judgeConfig } from './judgeSDK/utils/judgeConfig';
import { getTCP } from '../common/utils/GlobalTcp'; import { getTCP } from '../common/utils/GlobalTcp';
import { getSingleCenterTable, setliushuiNum, takePhotoFn ,uploadLogFile} from '../common/service/indexService'; import { getSingleCenterTable, setliushuiNum, takePhotoFn, uploadLogFile } from '../common/service/indexService';
import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl';
import promptAction from '@ohos.promptAction'; import promptAction from '@ohos.promptAction';
import errorMsgDialog from './compontents/errorMsgDialog'; import errorMsgDialog from './compontents/errorMsgDialog';
@ -19,8 +19,11 @@ import UdpEvent from '../common/utils/UdpEvent';
import { delPic } from '../common/service/videoService'; import { delPic } from '../common/service/videoService';
import imageBtn from './compontents/imageBtn'; import imageBtn from './compontents/imageBtn';
import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements'; import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements';
import {updateModelAndCar} from '../common/autoUpdate/index' import { updateModelAndCar } from '../common/autoUpdate/index'
import { UsbUtils } from '../common/utils/UsbUtils' import { UsbUtils } from '../common/utils/UsbUtils'
import appRecovery from '@ohos.app.ability.appRecovery';
import PreferenceUtils from '../common/utils/PreferenceUtils';
import CozyMsgDialog from './compontents/CozyDialog';
@Entry @Entry
@Component @Component
@ -77,7 +80,7 @@ struct Index {
Column() { Column() {
Column() { Column() {
Row() { Row() {
Image($r('app.media.logo')).width('30%').height('5.5%').margin({ left: 24 }) .gesture( Image($r('app.media.logo')).width('30%').height('5.5%').margin({ left: 24 }).gesture(
GestureGroup(GestureMode.Exclusive, GestureGroup(GestureMode.Exclusive,
TapGesture({ count: 2 }) TapGesture({ count: 2 })
.onAction(async () => { .onAction(async () => {
@ -355,7 +358,7 @@ struct Index {
.width(80 * globalThis.ratio) .width(80 * globalThis.ratio)
.height(80 * globalThis.ratio) .height(80 * globalThis.ratio)
.position({ x: 288 * globalThis.ratio, y: 89 * globalThis.ratio }) .position({ x: 288 * globalThis.ratio, y: 89 * globalThis.ratio })
Text(this.loadingText ||'获取考车信息,请稍候……') Text(this.loadingText || '获取考车信息,请稍候……')
.fontSize(24 * globalThis.ratio) .fontSize(24 * globalThis.ratio)
.margin({ top: 20 * globalThis.ratio }) .margin({ top: 20 * globalThis.ratio })
.fontWeight(400) .fontWeight(400)
@ -377,6 +380,16 @@ struct Index {
} }
async aboutToAppear() { async aboutToAppear() {
const isRestart = await PreferenceUtils.getOtherModel("isRestart")
if (isRestart === "1") {
PreferenceUtils.writeOtherData("0","isRestart")
router.pushUrl({
url: 'pages/UserInfo',
params: {
type: 1
}
}, router.RouterMode.Single);
}
// setInterval(() => { // setInterval(() => {
// let date = new Date(); // let date = new Date();
// console.info('jiangsong1:timeSynchronization begin '); // console.info('jiangsong1:timeSynchronization begin ');
@ -451,9 +464,9 @@ struct Index {
this.loading = true this.loading = true
console.log("sql 1111") console.log("sql 1111")
getSingleCenterTable(param).then(async (ret:any) => { getSingleCenterTable(param).then(async (ret: any) => {
if(!this.isModelInit){ if (!this.isModelInit) {
this.loading = true this.loading = true
this.loadingText = '正在下载考车模型,请稍候……' this.loadingText = '正在下载考车模型,请稍候……'
await updateModelAndCar(false) await updateModelAndCar(false)
@ -462,7 +475,7 @@ struct Index {
this.isModelInit = true this.isModelInit = true
} }
if(typeof ret == 'object' && ret.resultCode == '3'){ if (typeof ret == 'object' && ret.resultCode == '3') {
this.loadingText = '正在下载考车最新版本,请稍候……' this.loadingText = '正在下载考车最新版本,请稍候……'
this.loading = true this.loading = true
await updateModelAndCar(true) await updateModelAndCar(true)
@ -482,7 +495,7 @@ struct Index {
if (globalThis.singlePlay) { if (globalThis.singlePlay) {
router.pushUrl({ router.pushUrl({
url: 'pages/userInfo' url: 'pages/userInfo'
},router.RouterMode.Single) }, router.RouterMode.Single)
return return
} }
if (globalThis.singlePlay) { if (globalThis.singlePlay) {

View File

@ -24,6 +24,9 @@ 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 CozyMsgDialog from './compontents/CozyDialog';
import PreferenceUtils from '../common/utils/PreferenceUtils';
import appRecovery from '@ohos.app.ability.appRecovery';
@Entry @Entry
@Component @Component
@ -78,6 +81,7 @@ 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 examCount: number = 0
@State systemParam: systemParam = { @State systemParam: systemParam = {
'Param341': true, //是否按顺序考试 'Param341': true, //是否按顺序考试
'Param803Str': '0', //开始考试前必须解开安全带或关车门 'Param803Str': '0', //开始考试前必须解开安全带或关车门
@ -185,6 +189,10 @@ struct UserInfo {
{ label: '考试员名', key: 'ksy2' }, { label: '考试员名', key: 'ksy2' },
] ]
private fileUtil: FileUtil private fileUtil: FileUtil
cozyDialog: CustomDialogController = new CustomDialogController({
builder: CozyMsgDialog(),
autoCancel: false
})
aboutToAppear() { aboutToAppear() {
this.fileUtil = new FileUtil(this.context) this.fileUtil = new FileUtil(this.context)
@ -192,6 +200,15 @@ struct UserInfo {
} }
async onPageShow() { async onPageShow() {
if (this.examCount > 2) {
PreferenceUtils.writeOtherData("1", "isRestart")
this.cozyDialog.open()
// 延迟关闭
setTimeout(() => {
this.cozyDialog.close()
appRecovery.restartApp()
}, 3000)
}
this.isExamStart = false this.isExamStart = false
this.startExam = false this.startExam = false
this.updateTimeLimit = false this.updateTimeLimit = false
@ -210,7 +227,7 @@ struct UserInfo {
if (!globalThis.singlePlay) { if (!globalThis.singlePlay) {
// @ts-ignore // @ts-ignore
if (routerParam.type != 1) { if (routerParam.type != 1) {
console.info('surenjun','Judge返回到UserInfo界面') console.info('surenjun', 'Judge返回到UserInfo界面')
// @ts-ignore // @ts-ignore
this.list = await getSyncData('USERLIST') this.list = await getSyncData('USERLIST')
// @ts-ignore // @ts-ignore
@ -219,7 +236,7 @@ struct UserInfo {
console.log('surenjun useruser1=>,', JSON.stringify(data)) console.log('surenjun useruser1=>,', JSON.stringify(data))
const user = data[0] const user = data[0]
if(!Number(user.kssycs)){ if (!Number(user.kssycs)) {
this.list = this.list.filter(res => { this.list = this.list.filter(res => {
return res.sfzmhm != user.sfzmhm return res.sfzmhm != user.sfzmhm
}) })
@ -538,7 +555,7 @@ struct UserInfo {
if (sys.v_no === '770') { if (sys.v_no === '770') {
that.systemParam.Param770Str = sys.v_value; that.systemParam.Param770Str = sys.v_value;
} }
if(sys.v_no === '853'){ if (sys.v_no === '853') {
that.systemParam.Param853 = sys.v_value; that.systemParam.Param853 = sys.v_value;
} }
if (sys.v_no === '835') { if (sys.v_no === '835') {
@ -969,7 +986,7 @@ struct UserInfo {
const ygd = msgArr[8]; const ygd = msgArr[8];
const ssc = msgArr[13]; const ssc = msgArr[13];
const dw = msgArr[28]; const dw = msgArr[28];
if(Param853Str == '1' && fdjzs * 1 > 0){ if (Param853Str == '1' && fdjzs * 1 > 0) {
this.avPlayer.playAudio(['voice/熄火.mp3']) this.avPlayer.playAudio(['voice/熄火.mp3'])
promptAction.showToast({ promptAction.showToast({
message: '请熄火', message: '请熄火',
@ -1157,12 +1174,12 @@ struct UserInfo {
CommText({ CommText({
ratio: this.ratio, ratio: this.ratio,
color: item.sfzmhm != this.currentUser.sfzmhm ? '#FFFFFF' : '#000000', color: item.sfzmhm != this.currentUser.sfzmhm ? '#FFFFFF' : '#000000',
text: this.systemParam.Param850&&Number(this.systemParam.Param850)>0?"*****":item.lsh text: this.systemParam.Param850 && Number(this.systemParam.Param850) > 0 ? "*****" : item.lsh
}) })
CommText({ CommText({
ratio: this.ratio, ratio: this.ratio,
color: item.sfzmhm != this.currentUser.sfzmhm ? '#FFFFFF' : '#000000', color: item.sfzmhm != this.currentUser.sfzmhm ? '#FFFFFF' : '#000000',
text: this.systemParam.Param850&&Number(this.systemParam.Param850)>0?"*****":decodeURIComponent(item.xm) text: this.systemParam.Param850 && Number(this.systemParam.Param850) > 0 ? "*****" : decodeURIComponent(item.xm)
}) })
} }
} }
@ -1231,39 +1248,39 @@ struct UserInfo {
Column() { Column() {
ForEach(this.labelBlocks, (item) => { ForEach(this.labelBlocks, (item) => {
if(this.systemParam.Param850=='1'){ if (this.systemParam.Param850 == '1') {
LabelBlock({ label: item.label, ratio: this.ratio, value:'*****'}) LabelBlock({ label: item.label, ratio: this.ratio, value: '*****' })
} }
else if(this.systemParam.Param850=='2'){ else if (this.systemParam.Param850 == '2') {
if(item.key=='xm'){ if (item.key == 'xm') {
LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser.xh }) LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser.xh })
}else if(item.key=='ksxl'){ } else if (item.key == 'ksxl') {
LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser[item.key] }) LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser[item.key] })
}else{ } else {
LabelBlock({ label: item.label, ratio: this.ratio, value: '*****' }) LabelBlock({ label: item.label, ratio: this.ratio, value: '*****' })
} }
}else if(this.systemParam.Param850=='4'){ } else if (this.systemParam.Param850 == '4') {
if(item.key=='ksxl'){ if (item.key == 'ksxl') {
LabelBlock({ label: item.label, ratio: this.ratio, value: '*****' }) LabelBlock({ label: item.label, ratio: this.ratio, value: '*****' })
}else{ } else {
LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser[item.key] }) LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser[item.key] })
} }
}else if(this.systemParam.Param850=='5'){ } else if (this.systemParam.Param850 == '5') {
if(item.key=='xm'){ if (item.key == 'xm') {
LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser.xh }) LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser.xh })
}else{ } else {
LabelBlock({ label: item.label, ratio: this.ratio, value: '*****' }) LabelBlock({ label: item.label, ratio: this.ratio, value: '*****' })
} }
}else if(this.systemParam.Param850=='6'){ } else if (this.systemParam.Param850 == '6') {
if(item.key=='ksxl'||item.key=='kssycs'){ if (item.key == 'ksxl' || item.key == 'kssycs') {
LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser[item.key] }) LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser[item.key] })
}else if(item.key=='sfzmhm'){ } else if (item.key == 'sfzmhm') {
LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser.sfzmhm.slice(-6) }) LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser.sfzmhm.slice(-6) })
}else{ } else {
LabelBlock({ label: item.label, ratio: this.ratio, value: '*****' }) LabelBlock({ label: item.label, ratio: this.ratio, value: '*****' })
} }
} }
else{ else {
LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser[item.key] }) LabelBlock({ label: item.label, ratio: this.ratio, value: this.currentUser[item.key] })
} }
@ -1281,7 +1298,7 @@ struct UserInfo {
// .commStyle() // .commStyle()
imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.yydj_btn') }) imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.yydj_btn') })
.margin({ bottom: 12 * this.ratio }) .margin({ bottom: 12 * this.ratio })
.onClick(()=>{ .onClick(() => {
globalThis.judgeUdp.askVoice() globalThis.judgeUdp.askVoice()
}) })
@ -1332,13 +1349,14 @@ struct UserInfo {
if (this.systemParam.Param612Str == '1') { if (this.systemParam.Param612Str == '1') {
return return
} }
if(!globalThis.singlePlay&&Number(this.systemParam.Param835)&&Number(this.currentUser.yycs)&&Number(this.systemParam.Param835)<=Number(this.currentUser.yycs)){ if (!globalThis.singlePlay && Number(this.systemParam.Param835) && Number(this.currentUser.yycs) && Number(this.systemParam.Param835) <= Number(this.currentUser.yycs)) {
this.type='4' this.type = '4'
this.title='当前考生预约考试次数为'+this.currentUser.yycs this.title = '当前考生预约考试次数为' + this.currentUser.yycs
this.errorDialog.open() this.errorDialog.open()
return return
} }
this.examCount++
console.log("已经考了", this.examCount + "个学员")
await this.prePareExam() await this.prePareExam()
}) })
} }

View File

@ -0,0 +1,18 @@
@CustomDialog
export default struct CozyMsgDialog {
private controller?: CustomDialogController
build() {
Column() {
Column() {
Text("温馨提示").fontSize(50)
Row() {
Text("设备已经进行过6次考试,马上进入内存以及数据优化过,请稍等片刻,请勿对机器进行操作,感谢配合!")
.fontSize(30).lineHeight(40)
}.width("100%").margin({
top: 20
}).padding(20)
}
}.width("100%").height(300).padding(20)
}
}

View File

@ -1,6 +1,6 @@
import libJudgeSdk from 'libJudgeSdk.so' // import libJudgeSdk from 'libJudgeSdk.so'
//@ts-ignore //@ts-ignore
// import libJudgeSdk from '@ohos.judgesdk' import libJudgeSdk from '@ohos.judgesdk'
/** /**
* *
* @date 2023/04/10 * @date 2023/04/10

View File

@ -5,6 +5,7 @@
"type": "entry", "type": "entry",
"description": "$string:module_desc", "description": "$string:module_desc",
"mainElement": "EntryAbility", "mainElement": "EntryAbility",
"srcEntry": "./ets/entryability/EntryAbility.ts",
"deviceTypes": [ "deviceTypes": [
"default", "default",
"tablet", "tablet",
@ -15,13 +16,13 @@
"abilities": [ "abilities": [
{ {
"name": "EntryAbility", "name": "EntryAbility",
"srcEntrance": "./ets/entryability/EntryAbility.ts", "srcEntry": "./ets/entryability/EntryAbility.ts",
"description": "$string:EntryAbility_desc", "description": "$string:EntryAbility_desc",
"icon": "$media:logo_app", "icon": "$media:logo_app",
"label": "$string:EntryAbility_label", "label": "$string:EntryAbility_label",
"startWindowIcon": "$media:icon", "startWindowIcon": "$media:icon",
"startWindowBackground": "$color:start_window_background", "startWindowBackground": "$color:start_window_background",
"visible": true, "exported": true,
"skills": [ "skills": [
{ {
"entities": [ "entities": [

View File

@ -1,13 +1,15 @@
{ {
"lockfileVersion": 1, "lockfileVersion": 2,
"ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.",
"specifiers": { "specifiers": {
"@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6" "@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6"
}, },
"packages": { "packages": {
"@ohos/hypium@1.0.6": { "@ohos/hypium@1.0.6": {
"resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==" "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==",
"registryType": "ohpm",
"shasum": "3f5fed65372633233264b3447705b0831dfe7ea1"
} }
} }
} }