diff --git a/datashare/DataShareClient/MakePackage.bat b/datashare/DataShareClient/MakePackage.bat deleted file mode 100644 index 19cc85094e5657147ee0693b1f552c169b88bf86..0000000000000000000000000000000000000000 --- a/datashare/DataShareClient/MakePackage.bat +++ /dev/null @@ -1,3 +0,0 @@ -npm run buildApp - -pause \ No newline at end of file diff --git a/datashare/DataShareClient/NpmInstall.bat b/datashare/DataShareClient/NpmInstall.bat deleted file mode 100644 index 5d48055225a098e91cdd4ee9a99dce18b3349450..0000000000000000000000000000000000000000 --- a/datashare/DataShareClient/NpmInstall.bat +++ /dev/null @@ -1,3 +0,0 @@ -npm install .\offline-dependency\ohos-hvigor-1.0.0.tgz .\offline-dependency\ohos-hvigor-cli-1.0.0.tgz .\offline-dependency\ohos-hvigor-ohos-plugin-1.0.0.tgz .\offline-dependency\ohos-sdk-common-1.0.0.tgz - -pause \ No newline at end of file diff --git a/datashare/DataShareClient/entry-default-signed.hap b/datashare/DataShareClient/entry-default-signed.hap deleted file mode 100644 index ffc10f993f4637243edef8b230c3fb6588bb82b8..0000000000000000000000000000000000000000 Binary files a/datashare/DataShareClient/entry-default-signed.hap and /dev/null differ diff --git a/datashare/DataShareClient/entry/package.json b/datashare/DataShareClient/entry/package.json deleted file mode 100644 index 6576583641cb892756f8e1b57932eb87a84841f5..0000000000000000000000000000000000000000 --- a/datashare/DataShareClient/entry/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "license": "ISC", - "devDependencies": {}, - "name": "entry", - "ohos": { - "org": "huawei", - "directoryLevel": "module", - "buildTool": "hvigor" - }, - "description": "example description", - "repository": {}, - "version": "1.0.0", - "dependencies": {} -} diff --git a/datashare/DataShareClient/entry/src/main/ets/MainAbility/MainAbility.ts b/datashare/DataShareClient/entry/src/main/ets/MainAbility/MainAbility.ts deleted file mode 100644 index 29c63e6d222a9daa24e8f9e6562111f03193711f..0000000000000000000000000000000000000000 --- a/datashare/DataShareClient/entry/src/main/ets/MainAbility/MainAbility.ts +++ /dev/null @@ -1,721 +0,0 @@ -import Ability from '@ohos.application.Ability' -import dataShare from '@ohos.data.dataShare' -import rpc from "@ohos.rpc"; -import dataSharePredicates from '@ohos.data.dataSharePredicates' -import distributedData from '@ohos.data.distributedData'; -import deviceManager from '@ohos.distributedHardware.deviceManager'; - -let kvManager; -let kvdbStore; -let devManager; - - -const BUNDLE_NAME = 'com.samples.myapplication'; -const STORE_ID = 'storeId'; -var seConnect = { - onConnect:function (elementName, proxy) { - console.log("[ttt] [DataShareTest] <> seConnect onConnect called."); - console.log("[ttt] [DataShareTest] <> seConnect onConnect elementName = " + elementName); - console.log("[ttt] [DataShareTest] <> seConnect onConnect proxy = " + proxy); - let data = rpc.MessageParcel.create(); - let reply = rpc.MessageParcel.create(); - let option = new rpc.MessageOption(); - data.writeInterfaceToken("connect-test"); - data.writeInt(111); - - console.log("[ttt] [DataShareTest] <> seConnect onConnect sendRequest."); - proxy.sendRequest(1, data, reply, option) - .then(function (result) { - if (result.errCode === 0) { - // let msg = reply.readString(); - let msg = result.reply.readInt(); - console.log("[ttt] [DataShareTest] <> seConnect reply msg: " + msg); - } else { - console.log("[ttt] [DataShareTest] <> seConnect sendRequest failed, errCode: " + result.errCode); - } - // callback没有返回值,默认返回undefined - }).catch(function (e) { - console.log("[ttt] [DataShareTest] <> seConnect sendRequest got exception: " + e); - }).finally (async () => { - console.log("[ttt] [DataShareTest] <> seConnect sendRequest ends, reclaim parcel"); - data.reclaim(); - reply.reclaim(); - }) - }, - onDisconnect:function (elementName) { - console.log("[ttt] [DataShareTest] <> seConnect onDisconnect"); - }, - onFailed:function (code) { - console.log("[ttt] [DataShareTest] <> seConnect onFailed"); - } -}; -let dseProxy = 0; -let dseUri = ("datashare:///com.samples.datasharetest.DataShare"); - -var dseConnect = { - onConnect:function (elementName, proxy) { - console.log("[ttt] [DataShareClientTest] <> dseConnect onConnect called."); - dseProxy = proxy; - }, - onDisconnect:function (elementName) { - console.log("[ttt] [DataShareClientTest] <> dseConnect onDisconnect, elementName:" + elementName); - }, - onFailed:function (code) { - console.log("[ttt] [DataShareClientTest] <> dseConnect onFailed, code:" + code); - } -}; - -let seConnectionId = -1; -let dseConnectionId = -1; - -let seWant = { - "bundleName": "com.samples.datasharetest", - "abilityName": "ServiceExtAbility", -} - -let dseWant = { - "bundleName": "com.samples.datasharetest", - "abilityName": "DataShareExtAbility", -} - -export function onCallback() { - console.info("[ttt] [DataShareClientTest] <> **** Observer on callback ****"); -} - -export function offCallback() { - console.info("[ttt] [DataShareClientTest] <> **** Observer off callback ****"); -} - -export default class MainAbility extends Ability { - onCreate(want, launchParam) { - // Ability is creating, initialize resources for this ability - console.log("[ttt] [DataShareClientTest] <> MainAbility onCreate") - globalThis.abilityWant = want; - } - - onDestroy() { - // Ability is destroying, release resources for this ability - console.log("[ttt] [DataShareClientTest] <> MainAbility onDestroy") - } - - onWindowStageCreate(windowStage) { - // Main window is created, set main page for this ability - console.log("[ttt] [DataShareClientTest] <> MainAbility onWindowStageCreate") - globalThis.abilityContext = this.context; - - let context = this.context; - dseConnectionId = context.connectAbility(dseWant, dseConnect); - - let deviceIds = []; - deviceManager.createDeviceManager(BUNDLE_NAME, (err, value) => { - if (err) { - console.info("[ttt] [DataShareTest] <> [createDeviceManager] err = " + err); - } - devManager = value; - console.info('[ttt] [DataShareTest] <> [createDeviceManager] enter'); - // get deviceIds - if (devManager != null) { - var devices = devManager.getTrustedDeviceListSync(); - for (var i = 0; i < devices.length; i++) { - deviceIds[i] = devices[i].deviceId; - } - } - console.log("[ttt] [DataShareTest] <> deviceIds :" + deviceIds); - }); - - globalThis.connectDataShareExtAbility = (async () => { - console.log("[ttt] [DataShareTest] <> connectDataShareExtAbility begin"); - await dataShare.createDataShareHelper(globalThis.abilityContext, dseUri, (err,data)=>{ - globalThis.dsHelper = data; - console.info("[ttt] [DataShareTest] <> ----- 1 -----, globalThis.dsHelper = " + globalThis.dsHelper); - console.info("[ttt] [DataShareTest] <> ----- 2 -----, data = " + data); - console.info("[ttt] [DataShareTest] <> ----- 3 -----, err = " + err); - console.info("[ttt] [DataShareTest] <> ----- 4 -----, JSON.stringify(err) = " + JSON.stringify(err)); - }); - dseConnectionId = await context.connectAbility(dseWant, dseConnect); - }) - - globalThis.disconnectDataShareExtAbility = (async () => { - console.log("[ttt] [DataShareClientTest] <> disconnectDataShareExtAbility begin"); - await context.disconnectAbility(dseConnectionId).then((data) => { - console.info("[ttt] [DataShareClientTest] <> disconnectDataShareExtAbility success:" + JSON.stringify(data)); - }).catch((error) => { - console.error("[ttt] [DataShareClientTest] <> disconnectDataShareExtAbility failed:" + JSON.stringify(error)); - }); - globalThis.dsHelper = null; - console.log("[ttt] [DataShareClientTest] <> disconnectDataShareExtAbility end, dseConnectionId:" + dseConnectionId); - }) - - globalThis.on = (async () => { - console.log("[ttt] [DataShareClientTest] <> on begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> on end, DSHelper is null"); - return; - } - await globalThis.dsHelper.on("dataChange", dseUri, onCallback); - console.log("[ttt] [DataShareClientTest] <> on end"); - }) - - globalThis.off = (async () => { - console.log("[ttt] [DataShareClientTest] <> off begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> off end, DSHelper is null"); - return; - } - await globalThis.dsHelper.off("dataChange", dseUri); - await globalThis.dsHelper.off("dataChange", dseUri, offCallback); - console.log("[ttt] [DataShareClientTest] <> off end"); - }) - - globalThis.query = (async () => { - console.log("[ttt] [DataShareClientTest] <> query begin"); - let count = 0; - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> query end, DSHelper is null"); - return; - } - let getDa = await globalThis.getDa(); - let da = getDa.da; - da.inDevices(deviceIds); -// da.notEqualTo("$.name","wsx") -// da.limit(2,2); -// da.equalTo("$.name","rpf") - let columnArray = getDa.columnArray; - let result = await globalThis.dsHelper.query(dseUri, da, columnArray, globalThis.getResultSet); - if (result != undefined) { - count = result.rowCount; - } - console.log("[ttt] [DataShareClientTest] <> query end, count:" + count); - return count; - }) - - globalThis.insert = (async () => { - console.log("[ttt] [DataShareClientTest] <> insert begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> insert end, DSHelper is null"); - return; - } - let name: string = AppStorage.Get('insertName'); - let age: string = AppStorage.Get('insertAge'); - - let booleanS: boolean = AppStorage.Get('trueFalseString'); - let vb = {"name":name, "age":Number(age), "isStudent": booleanS, "Binary": new Uint8Array([1,2,3])}; - console.log("[ttt] [DataShareClientTest] <> insert vb = " + JSON.stringify(vb)); - // let vb = {"name":"rpf"}; - let ret = await globalThis.dsHelper.insert(dseUri, vb, globalThis.getInsertCallback); - AppStorage.Delete('insertName'); - AppStorage.Delete('insertAge'); - AppStorage.Delete('trueFalseString'); - await globalThis.notifyChange(); - console.log("[ttt] [DataShareClientTest] <> insert end, ret:" + ret); - return ret; - }) - - globalThis.update = (async () => { - console.log("[ttt] [DataShareClientTest] <> update begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> update end, DSHelper is null"); - return; - } - let getDa = await globalThis.getDa(); - let da = getDa.da; - let updateOption = getDa.updateOption; - let ret = await globalThis.dsHelper.update(dseUri, da, updateOption, globalThis.getUpdateCallback); - globalThis.notifyChange(); - console.log("[ttt] [DataShareClientTest] <> update end, result:" + ret); - }) - - globalThis.getUpdateCallback = (async (err, data) => { - console.log("[ttt] [DataShareClientTest] <> getUpdateCallback enter"); - if(data == -1) { - AppStorage.SetOrCreate('result', 'update操作失败'); - }else { - AppStorage.SetOrCreate('result', 'update操作成功'); - } - console.log("[ttt] [DataShareClientTest] <> getUpdateCallback = " + data); - }) - - globalThis.delete = (async () => { - console.log("[ttt] [DataShareClientTest] <> delete begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> delete end, DSHelper is null"); - return; - } - let getDa = await globalThis.getDa(); - let da = getDa.da; - let ret = globalThis.dsHelper.delete(dseUri, da, globalThis.getDeleteCallback); - console.log("[ttt] [DataShareClientTest] <> delete getDa Over"); - globalThis.notifyChange(); - console.log("[ttt] [DataShareClientTest] <> delete end, result:" + ret); - return ret; - }) - - globalThis.batchInsert = (async () => { - console.log("[ttt] [DataShareClientTest] <> batchInsert begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> batchInsert end, DSHelper is null"); - return; - } - let people = new Array( - {"name": "LiSi", "age": 41, "isStudent": true, "Binary": new Uint8Array([1,2,3])}, - {"name": "WangWu", "age": 51, "isStudent": true, "Binary": new Uint8Array([1,2,3])}, - {"name": "ZhaoLiu", "age": 61, "isStudent": true, "Binary": new Uint8Array([1,2,3])}); - let ret = await globalThis.dsHelper.batchInsert(dseUri, people, globalThis.getBatchInsertCallback); - globalThis.notifyChange(); - console.log("[ttt] [DataShareClientTest] <> batchInsert end, result:" + ret); - return ret; - }) - - globalThis.getBatchInsertCallback = (async (err, data) => { - console.log("[ttt] [DataShareClientTest] <> getBatchInsertCallback = " + data); - }) - - globalThis.batchInsertError = (async () => { - console.log("[ttt] [DataShareClientTest] <> batchInsertError begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> batchInsertError end, DSHelper is null"); - return; - } - let people = new Array( - {"name": "LiSi", "age": 41, "isStudent": true, "Binary": new Uint8Array([1,2,3])}, - {"name": "WangWu", "age": '51aaa', "isStudent": true, "Binary": new Uint8Array([1,2,3])}, - {"name": "ZhaoLiu", "age": 61, "isStudent": true, "Binary": new Uint8Array([1,2,3])}); - let ret = await globalThis.dsHelper.batchInsert(dseUri, people, globalThis.getBatchInsertCallback); - globalThis.notifyChange(); - console.log("[ttt] [DataShareClientTest] <> batchInsertError end, result:" + ret); - return ret; - }) - globalThis.insertMaxLength = (async () => { - console.log("[ttt] [DataShareClientTest] <> insertMaxLength begin"); -// let data = { -// "key": dataMaxLength.key, -// "value":dataMaxLength.value -// } -// console.info(`[ttt] [DataShareClientTest] <> dataMaxLength.keyLength = ${data.key.length}`); -// console.info(`[ttt] [DataShareClientTest] <> dataMaxLength.valueLength = ${data.value.length}`); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> insertMaxLength end, DSHelper is null"); - return; - } -// let ret = await globalThis.dsHelper.insert(dseUri, data, globalThis.getInsertCallback); - }) - - globalThis.insertKeyBeyondLimit = (async () => { - console.log("[ttt] [DataShareClientTest] <> insertKeyBeyondLimit begin"); -// let data = { -// "key": dataKeyBeyond.key, -// "value":dataKeyBeyond.value -// } -// console.info(`[ttt] [DataShareClientTest] <> insertKeyBeyondLimit.keyLength = ${data.key.length}`); -// console.info(`[ttt] [DataShareClientTest] <> insertKeyBeyondLimit.valueLength = ${data.value.length}`); - if (globalThis.dsHelper == null) { -// let ret = await globalThis.dsHelper.insert(dseUri, data, globalThis.getInsertCallback); - console.log("[ttt] [DataShareClientTest] <> insertKeyBeyondLimit end, DSHelper is null"); - return; - } - }) - - globalThis.insertValueBeyondLimit = (async () => { - console.log("[ttt] [DataShareClientTest] <> insertValueBeyondLimit begin"); -// let data = { -// "key": dataValueBeyond.key, -// "value":dataValueBeyond.value -// } -// console.info(`[ttt] [DataShareClientTest] <> insertValueBeyondLimit.keyLength = ${data.key.length}`); -// console.info(`[ttt] [DataShareClientTest] <> insertValueBeyondLimit.valueLength = ${data.value.length}`); - if (globalThis.dsHelper == null) { -// let ret = await globalThis.dsHelper.insert(dseUri, data, globalThis.getInsertCallback); - console.log("[ttt] [DataShareClientTest] <> insertValueBeyondLimit end, DSHelper is null"); - return; - } - }) - - globalThis.getResultSet = (async (err, resultSet) => { - console.log("[ttt] [DataShareClientTest] <> getResultSet begin"); - globalThis.resultSet = resultSet; - AppStorage.SetOrCreate('reaultSet', resultSet); - }) - - globalThis.getInsertCallback = (async (err, data) => { - if(data == -1) { - AppStorage.SetOrCreate('result', 'insert操作失败'); - }else { - AppStorage.SetOrCreate('result', 'insert操作成功'); - } - console.log("[ttt] [DataShareClientTest] <> getInsertCallback = " + data); - }) - - globalThis.getDeleteCallback = (async (err, data) => { - console.log("[ttt] [DataShareClientTest] <> getDeleteCallback enter "); - if(data == -1) { - AppStorage.SetOrCreate('result', 'delete操作失败'); - }else { - AppStorage.SetOrCreate('result', 'delete操作成功'); - } - console.log("[ttt] [DataShareClientTest] <> getDeleteCallback = " + data); - }) - - globalThis.notifyChange = (async () => { - console.log("[ttt] [DataShareClientTest] <> notifyChange begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> notifyChange end, DSHelper is null"); - return; - } - await globalThis.dsHelper.notifyChange(dseUri, globalThis.getNotifyChangeCallback); - console.log("[ttt] [DataShareClientTest] <> notifyChange end"); - }) - - globalThis.getNotifyChangeCallback = (async (err, data) => { -// if(data == 1) { -// AppStorage.SetOrCreate('result', '操作成功'); -// }else { -// AppStorage.SetOrCreate('result', '操作失败'); -// } - console.log("[ttt] [DataShareClientTest] <> getNotifyChangeCallback = " + data); - }) - - - globalThis.openFile = (async () => { - console.log("[ttt] [DataShareClientTest] <> openFile begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> openFile end, DSHelper is null"); - return; - } - let result = await globalThis.dsHelper.openFile(dseUri,"rwt", globalThis.openFileCallback); - console.log("[ttt] [DataShareClientTest] <> openFile end, result:" + result); - return result; - }) - - globalThis.openFileCallback = (async (err, data) => { - console.log("[ttt] [DataShareClientTest] <> getTypeCallback = " + data); - console.log("[ttt] [DataShareClientTest] <> getTypeCallback json= " + JSON.stringify(data)); - AppStorage.SetOrCreate('result', JSON.stringify(data)); - // if(err != -1) { - // }else { - // AppStorage.SetOrCreate('result', '操作失败'); - // } - }) - - globalThis.getType = (async () => { - console.log("[ttt] [DataShareClientTest] <> getType begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> getType end, DSHelper is null"); - return; - } - let result = await globalThis.dsHelper.getType(dseUri, globalThis.getTypeCallback); - console.log("[ttt] [DataShareClientTest] <> getType end, result:" + result); - return result; - }) - - globalThis.getTypeCallback = (async (err, data) => { - console.log("[ttt] [DataShareClientTest] <> getTypeCallback = " + data); - console.log("[ttt] [DataShareClientTest] <> getTypeCallback json= " + JSON.stringify(data)); - AppStorage.SetOrCreate('result', data); -// if(err != -1) { -// }else { -// AppStorage.SetOrCreate('result', '操作失败'); -// } - }) - - globalThis.getFileTypes = (async () => { - console.log("[ttt] [DataShareClientTest] <> getFileTypes begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> getFileTypes end, DSHelper is null"); - return; - } - let result = await globalThis.dsHelper.getFileTypes(dseUri, "image/*", globalThis.getFlieTypesCallback); - console.log("[ttt] [DataShareClientTest] <> getFileTypes end, result:" + result); - return result; - }) - - globalThis.getFlieTypesCallback = (async (err, data) => { - console.log("[ttt] [DataShareClientTest] <> getFlieTypesCallback = " + data); - console.log("[ttt] [DataShareClientTest] <> getFlieTypesCallback json= " + JSON.stringify(data)); - AppStorage.SetOrCreate('result', JSON.stringify(data)); - /*if(err != -1) { - }else { - AppStorage.SetOrCreate('result', '操作失败'); - }*/ - }) - - globalThis.normalizeUri = (async () => { - console.log("[ttt] [DataShareClientTest] <> normalizeUri begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> normalizeUri end, DSHelper is null"); - return; - } - let result = await globalThis.dsHelper.normalizeUri(dseUri, globalThis.getNormalizaUriCallback); - console.log("[ttt] [DataShareClientTest] <> normalizeUri end, result:" + result); - return result; - }) - - globalThis.getNormalizaUriCallback = (async (err, data) => { - console.log("[ttt] [DataShareClientTest] <> getNormalizaUriCallback = " + data); - console.log("[ttt] [DataShareClientTest] <> getNormalizaUriCallback json= " + JSON.stringify(data)); - AppStorage.SetOrCreate('result', data); - /*if(err != -1) { - }else { - AppStorage.SetOrCreate('result', '操作失败'); - }*/ - }) - - globalThis.denormalizeUri = (async () => { - console.log("[ttt] [DataShareClientTest] <> denormalizeUri begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareClientTest] <> denormalizeUri end, DSHelper is null"); - return; - } - let result = await globalThis.dsHelper.denormalizeUri(dseUri, globalThis.getDenormalizaUriCallback); - console.log("[ttt] [DataShareClientTest] <> denormalizeUri end, result:" + result); - return result; - }) - - globalThis.getDenormalizaUriCallback = (async (err, data) => { - console.log("[ttt] [DataShareClientTest] <> getDenormalizaUriCallback = " + data); - console.log("[ttt] [DataShareClientTest] <> getDenormalizaUriCallback json= " + JSON.stringify(data)); - AppStorage.SetOrCreate('result', data); - /*if(err != -1) { - }else { - AppStorage.SetOrCreate('result', '操作失败'); - }*/ - }) - - globalThis.goToFirstRow = ( () => { - let ret = globalThis.resultSet.goToFirstRow(); - return ret; - console.info('[ttt] [DataShareClientTest] <> goToFirstRow') - }) - - globalThis.goToLastRow = ( () => { - let ret = globalThis.resultSet.goToLastRow(); - return ret; - console.info('[ttt] [DataShareClientTest] <> goToLastRow') - }) - - globalThis.goToNextRow = ( () => { - let ret = globalThis.resultSet.goToNextRow(); - return ret; - console.info('[ttt] [DataShareClientTest] <> goToNextRow') - }) - - globalThis.goToPreviousRow = ( () => { - let ret = globalThis.resultSet.goToPreviousRow(); - return ret; - console.info('[ttt] [DataShareClientTest] <> goToPreviousRow') - }) - - globalThis.goTo = ( (data) => { - let ret = globalThis.resultSet.goTo(Number(data)); - return ret; - console.info('[ttt] [DataShareClientTest] <> goTo') - }) - - globalThis.goToRow = ( (data) => { - let ret = globalThis.resultSet.goToRow(Number(data)); - return ret; - console.info('[ttt] [DataShareClientTest] <> goToRow') - }) - - globalThis.getBlob = ( (data) => { - let ret = globalThis.resultSet.getBlob(Number(data)); - return ret; - console.info('[ttt] [DataShareClientTest] <> getBlob') - }) - - globalThis.getString = ( (data) => { - let ret = globalThis.resultSet.getString(Number(data)); - console.info('[ttt] [DataShareClientTest] <> getString' + ret); - return ret; - console.info('[ttt] [DataShareClientTest] <> getString' + ret); - }) - - globalThis.getLong = ( (data) => { - let ret = globalThis.resultSet.getLong(Number(data)); - return ret; - console.info('[ttt] [DataShareClientTest] <> getLong') - }) - - globalThis.getDouble = ( (data) => { - let ret = globalThis.resultSet.getDouble(Number(data)); - return ret; - console.info('[ttt] [DataShareClientTest] <> getDouble') - }) - - globalThis.isColumnOrKeyNull = ( (data) => { - let ret = globalThis.resultSet.isColumnOrKeyNull(data); - return ret; - console.info('[ttt] [DataShareClientTest] <> isColumnOrKeyNull') - }) - - globalThis.getColumnIndex = ( (data) => { - let ret = globalThis.resultSet.getColumnOrKeyIndex(data); - return ret; - console.info('[ttt] [DataShareClientTest] <> getColumnOrKeyIndex') - }) - - globalThis.getColumnName = ( (data) => { - let ret = globalThis.resultSet.getColumnOrKeyName(Number(data)); - return ret; - console.info('[ttt] [DataShareClientTest] <> getColumnOrKeyName') - }) - - globalThis.getInt = ( (data) => { - let ret = globalThis.resultSet.getInt(Number(data)); - return ret; - console.info('[ttt] [DataShareClientTest] <> getInt') - }) - - globalThis.getDataType = ( (data) => { - let ret = globalThis.resultSet.getDataType(data); - return ret; - console.info('[ttt] [DataShareClientTest] <> getDataType') - }) - - globalThis.close = ( () => { - globalThis.resultSet.close(); - console.info('[ttt] [DataShareClientTest] <> close') - }) - - globalThis.getDa = (async () => { - let da = new dataSharePredicates.DataSharePredicates(); - if (da == null || da == undefined) { - console.log("[ttt] [DataShareClientTest] <> da is null or undefined"); - return; - } - let optionLength = AppStorage.Get('optionLength'); - console.info("[ttt] [DataShareClientTest] <> optionLength = " + optionLength) - let updateOptionName = ''; - let updateOptionAge = ''; - let updateOptionBoolean = ''; -// let updateOption = {name: '', age: '', boolean: ''}; - let columnArray = []; - for(let i = 0; i < optionLength; i++) { - let predicate: { - "functionCheck": string, - "keyCheck": string, - "value": string - }; - predicate = JSON.parse(AppStorage.Get('Predicates' + i)); - if(predicate.functionCheck == ''){ - if (predicate.keyCheck != '' && predicate.value != '') { - if (predicate.keyCheck == 'name') { - updateOptionName = predicate.value; - } else if (predicate.keyCheck == 'age') { - updateOptionAge = predicate.value; - } else if (predicate.keyCheck == 'boolean') { - updateOptionBoolean = predicate.value; - } - } else { - columnArray.push(predicate.keyCheck); - } - } - else if(predicate.functionCheck == 'equalTo') { - da.equalTo(predicate.keyCheck, predicate.value); - }else if(predicate.functionCheck == 'notEqualTo') { - da.notEqualTo(predicate.keyCheck, predicate.value); - }else if (predicate.functionCheck == 'greaterThan') { - da.greaterThan(predicate.keyCheck, predicate.value); - }else if (predicate.functionCheck == 'lessThan') { - da.lessThan(predicate.keyCheck, predicate.value); - }else if(predicate.functionCheck == 'greaterThanOrEqualTo') { - da.greaterThanOrEqualTo(predicate.keyCheck, predicate.value); - }else if(predicate.functionCheck == 'lessThanOrEqualTo') { - console.log("[ttt] [DataShareClientTest] <> lessThanOrEqualTo on"); - da.lessThanOrEqualTo(predicate.keyCheck, predicate.value); - }else if(predicate.functionCheck == 'isNull') { - da.isNull(predicate.keyCheck); - }else if(predicate.functionCheck == 'isNotNull') { - da.isNotNull(predicate.keyCheck); - }else if(predicate.functionCheck == 'in') { - da.in(predicate.keyCheck, predicate.value.split(',')); - }else if(predicate.functionCheck == 'notIn') { - da.notIn(predicate.keyCheck, predicate.value.split(',')); - }else if(predicate.functionCheck == 'like') { - da.like(predicate.keyCheck, predicate.value); - }else if(predicate.functionCheck == 'unlike') { - da.unlike(predicate.keyCheck, predicate.value); - }else if(predicate.functionCheck == 'and') { - da.and(); - }else if(predicate.functionCheck == 'or') { - da.or(); - }else if(predicate.functionCheck == 'orderByAsc') { - da.orderByAsc(predicate.keyCheck); - }else if(predicate.functionCheck == 'orderByDesc') { - da.orderByDesc(predicate.keyCheck); - }else if(predicate.functionCheck == 'limit') { - console.info("ttt Number(predicate.value.split(',')[0]) = " + Number(predicate.value.split(',')[0])); - console.info("ttt Number(predicate.value.split(',')[1]) = " + Number(predicate.value.split(',')[1])); - da.limit(Number(predicate.value.split(',')[0]),Number(predicate.value.split(',')[1])); - }else if(predicate.functionCheck == 'isNotNull') { - da.isNotNull(predicate.keyCheck); - }else if(predicate.functionCheck == 'beginWrap') { - da.beginWrap(); - }else if(predicate.functionCheck == 'endWrap') { - da.endWrap(); - }else if(predicate.functionCheck == 'prefixKey') { - da.prefixKey(predicate.value); - }else if(predicate.functionCheck == 'contains') { - da.contains(predicate.keyCheck, predicate.value); - }else if(predicate.functionCheck == 'beginsWith') { - da.beginsWith(predicate.keyCheck, predicate.value); - }else if(predicate.functionCheck == 'endsWith') { - da.endsWith(predicate.keyCheck, predicate.value); - }else if(predicate.functionCheck == 'glob') { - da.glob(predicate.keyCheck, predicate.value); - }else if(predicate.functionCheck == 'between') { - da.between(predicate.keyCheck, predicate.value.split(',')[0], predicate.value.split(',')[1]); - }else if(predicate.functionCheck == 'notBetween') { - da.notBetween(predicate.keyCheck, predicate.value.split(',')[0], predicate.value.split(',')[1]); - }else if(predicate.functionCheck == 'distinct') { - da.distinct(); - }else if(predicate.functionCheck == 'groupBy') { - da.groupBy(predicate.value.split(',')); - }else if(predicate.functionCheck == 'indexedBy') { - da.indexedBy(predicate.keyCheck); - }else if(predicate.functionCheck == 'inKeys') { -// let Array = - da.inKeys(predicate.value.split(',')); - } - } - let updateOption; - if(updateOptionName != '') { - updateOption = {"name": updateOptionName}; - }else if(updateOptionAge != '') { - updateOption = { "age": Number(updateOptionAge)}; - }else if(updateOptionBoolean != '') { - if(updateOptionBoolean == "true") { - updateOption = {"isStudent": true}; - }else { - updateOption = {"isStudent": false}; - } - } - let returnData = {updateOption : updateOption, da: da,columnArray: columnArray} - returnData.updateOption = updateOption; - returnData.da = da; - if(columnArray.length == 0) { - columnArray.push('*'); - } - returnData.columnArray = columnArray; - return returnData; - }) - - windowStage.setUIContent(this.context, "pages/index", null) - } - - - - onWindowStageDestroy() { - // Main window is destroyed, release UI related resources - console.log("[ttt] [DataShareClientTest] <> MainAbility onWindowStageDestroy") - } - - onForeground() { - // Ability has brought to foreground - console.log("[ttt] [DataShareClientTest] <> MainAbility onForeground") - } - - onBackground() { - // Ability has back to background - console.log("[ttt] [DataShareClientTest] <> MainAbility onBackground") - } -}; diff --git a/datashare/DataShareClient/entry/src/main/ets/pages/index.ets b/datashare/DataShareClient/entry/src/main/ets/pages/index.ets deleted file mode 100644 index e4a6a25599a2c7da5112f64199387e81fea50c7b..0000000000000000000000000000000000000000 --- a/datashare/DataShareClient/entry/src/main/ets/pages/index.ets +++ /dev/null @@ -1,1558 +0,0 @@ -@Entry -@Component -struct Index { - - @State message: string = "Main thread message filed"; - @State operationSelection: string = '请选择'; - @State ifInsert: boolean = false; - @State ifQuery: boolean = false; - @State ifResult: boolean = false; - @State ifResultList: boolean = false; - @StorageLink('result') resultText: string = ''; - @State dataText: string = 'notification结果'; - - - @Builder MenuBuilder() { - Flex({ direction: FlexDirection.Column, justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { - - Button('insert', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.operationSelection = 'insert'; - this.ifQuery = false; - this.ifResult = false; - this.ifInsert = true; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - console.info('[ttt] <> insert'); - }) - Divider().height(10) - Button('delete', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = true; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'delete'; - console.info('[ttt] <> delete'); - }) - Divider().height(10) - Button('update', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = true; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'update'; - console.info('[ttt] <> update'); - }) - Divider().height(10) - Button('query', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = true; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'query'; - console.info('[ttt] <> query'); - }) - Divider().height(10) - Button('batchInsert', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = false; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'batchInsert'; - console.info('[ttt] <> batchInsert'); - }) - Divider().height(10) - Button('notifyChange', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = false; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'notifyChange'; - console.info('[ttt] <> notifyChange'); - }) - Divider().height(10) - Button('openFile', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = false; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'openFile'; - console.info('[ttt] <> openFile'); - }) - Divider().height(10) - Button('getFileTypes', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = false; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'getFileTypes'; - console.info('[ttt] <> getFileTypes'); - }) - Divider().height(10) - Button('getType', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = false; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'getType'; - console.info('[ttt] <> getType'); - }) - Divider().height(10) - Button('normalizeUri', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = false; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'normalizeUri'; - console.info('[ttt] <> normalizeUri'); - }) - Divider().height(10) - Button('denormalizeUri', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = false; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'denormalizeUri'; - console.info('[ttt] <> denormalizeUri'); - }) - Divider().height(10) - Button('on', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = false; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'on'; - console.info('[ttt] <> on'); - }) - Divider().height(10) - Button('off', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.ifInsert = false; - this.ifResult = false; - this.ifQuery = false; - this.ifResultList = false; - AppStorage.SetOrCreate('optionLength', 1); - this.operationSelection = 'off'; - console.info('[ttt] <> off'); - }) - Divider().height(10) -// Button('batchInsertError', {type: ButtonType.Normal}) -// .fontSize(20) -// .height(50) -// .backgroundColor(Color.White) -// .fontColor(Color.Black) -// .fontWeight(FontWeight.Bold) -// .onClick(() => { -// this.ifInsert = false; -// this.ifResult = false; -// this.ifQuery = false; -// this.ifResultList = false; -// AppStorage.SetOrCreate('optionLength', 1); -// this.operationSelection = 'batchInsertError'; -// console.info('[ttt] <> batchInsertError'); -// }) -// Divider().height(10) -// Button('insertMaxLength', {type: ButtonType.Normal}) -// .fontSize(20) -// .height(50) -// .backgroundColor(Color.White) -// .fontColor(Color.Black) -// .fontWeight(FontWeight.Bold) -// .onClick(() => { -// this.ifInsert = false; -// this.ifResult = false; -// this.ifQuery = false; -// this.ifResultList = false; -// AppStorage.SetOrCreate('optionLength', 1); -// this.operationSelection = 'insertMaxLength'; -// console.info('[ttt] <> insertMaxLength'); -// }) -// Divider().height(10) -// Button('insertKeyBeyondLimit', {type: ButtonType.Normal}) -// .fontSize(20) -// .height(50) -// .backgroundColor(Color.White) -// .fontColor(Color.Black) -// .fontWeight(FontWeight.Bold) -// .onClick(() => { -// this.ifInsert = false; -// this.ifResult = false; -// this.ifQuery = false; -// this.ifResultList = false; -// AppStorage.SetOrCreate('optionLength', 1); -// this.operationSelection = 'insertKeyBeyondLimit'; -// console.info('[ttt] <> insertKeyBeyondLimit'); -// }) -// Divider().height(10) -// Button('insertValueBeyondLimit', {type: ButtonType.Normal}) -// .fontSize(20) -// .height(50) -// .backgroundColor(Color.White) -// .fontColor(Color.Black) -// .fontWeight(FontWeight.Bold) -// .onClick(() => { -// this.ifInsert = false; -// this.ifResult = false; -// this.ifQuery = false; -// this.ifResultList = false; -// AppStorage.SetOrCreate('optionLength', 1); -// this.operationSelection = 'insertValueBeyondLimit'; -// console.info('[ttt] <> insertValueBeyondLimit'); -// }) - } - .width(200) - .borderStyle(BorderStyle.Solid) - .borderWidth(1) - .borderColor(Color.Grey) - .borderRadius(10) - } - - build() { - Column() { - Row() { - Button('Connect') - .width(300) - .height(50) - .fontSize(35) - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> Connect onclick enter') - await globalThis.connectDataShareExtAbility() - console.info('[ttt] [DataShareClientTest] <> Connect onclick leave') - }) - } - Row() { - Text('操作类型') - .fontSize(25) - .width(200) - Row() { - Text(this.operationSelection) - .fontSize(25) - .width(170) - .padding({left: 10}) - Polyline() - .width(20) - .height(20) - .points([[0, 0], [20, 0], [10, 20]]) - } - .width(200) - .height(50) - .borderRadius(20) - .backgroundColor(0xEFEFEF) - .bindMenu(this.MenuBuilder) - } - .height(60) - if(this.ifResultList) { - resultListDom() - } - if (this.ifInsert) { - insertDom() - } - if (this.ifQuery) { - queryDom() - } - if (this.ifResult) { - resultDom({ resultText: this.resultText, dataText: this.dataText }) - } - - Button('确定') - .width(300) - .height(50) - .fontSize(35) - .position({x: 70, y: '90%'}) - .onClick( async () => { - - this.ifInsert = false; - this.ifQuery = false; - - if(this.operationSelection == 'query') { - this.ifResultList = true; - let ret = await globalThis.query(); - this.operationSelection = ""; - AppStorage.SetOrCreate('Result', true); - } else if(this.operationSelection != 'query' && this.operationSelection != '') { - if(this.operationSelection == 'insert') { - console.info('[ttt] [DataShareClientTest] <> Insert onclick enter') -// AppStorage.SetOrCreate('insertName',this.insertName); -// AppStorage.SetOrCreate('insertAge',this.insertAge); - let ret = await globalThis.insert(); - console.info('[ttt] [DataShareClientTest] <> Insert onclick leave'); - } - if(this.operationSelection == 'delete') { - let ret = await globalThis.delete(); - console.info('[ttt] [DataShareClientTest] <> Delete onclick enter'); - } - if(this.operationSelection == 'update') { - let ret = await globalThis.update(); - console.info('[ttt] [DataShareClientTest] <> Update onclick enter'); - } - if(this.operationSelection == 'batchInsert') { - let ret = await globalThis.batchInsert(); - console.info('[ttt] [DataShareClientTest] <> batchInsert onclick enter'); - } - if(this.operationSelection == 'openFile') { - let ret = await globalThis.openFile(); - console.info('[ttt] [DataShareClientTest] <> openFile onclick enter'); - } - if(this.operationSelection == 'getFileTypes') { - let ret = await globalThis.getFileTypes(); - console.info('[ttt] [DataShareClientTest] <> getFileTypes onclick enter'); - } - if(this.operationSelection == 'getType') { - let ret = await globalThis.getType(); - console.info('[ttt] [DataShareClientTest] <> getType onclick enter'); - } - if(this.operationSelection == 'normalizeUri') { - let ret = await globalThis.normalizeUri(); - console.info('[ttt] [DataShareClientTest] <> normalizeUri onclick enter'); - } - if(this.operationSelection == 'denormalizeUri') { - let ret = await globalThis.denormalizeUri(); - console.info('[ttt] [DataShareClientTest] <> denormalizeUri onclick enter'); - } - if(this.operationSelection == 'on') { - let ret = await globalThis.on(); - console.info('[ttt] [DataShareClientTest] <> on onclick enter'); - } - if(this.operationSelection == 'off') { - let ret = await globalThis.off(); - console.info('[ttt] [DataShareClientTest] <> off onclick enter'); - } - if(this.operationSelection == 'batchInsertError') { - let ret = await globalThis.batchInsertError(); - console.info('[ttt] [DataShareClientTest] <> batchInsertError onclick enter'); - } - if(this.operationSelection == 'insertMaxLength') { - let ret = await globalThis.insertMaxLength(); - console.info('[ttt] [DataShareClientTest] <> insertMaxLength onclick enter'); - } - if(this.operationSelection == 'insertKeyBeyondLimit') { - let ret = await globalThis.insertKeyBeyondLimit(); - console.info('[ttt] [DataShareClientTest] <> insertKeyBeyondLimit onclick enter'); - } - if(this.operationSelection == 'insertValueBeyondLimit') { - let ret = await globalThis.insertValueBeyondLimit(); - console.info('[ttt] [DataShareClientTest] <> insertValueBeyondLimit onclick enter'); - } - if(this.operationSelection == 'notifyChange') { - let ret = await globalThis.notifyChange(); - console.info('[ttt] [DataShareClientTest] <> notifyChange onclick enter'); - } - this.ifResult = true; - this.operationSelection = "请选择"; - }else if(this.operationSelection == '') { - let resultCheck = AppStorage.Get('Result'); - if(resultCheck) { - let resultOption = AppStorage.Get('resultOption'); - if(resultOption == 'goToFirstRow') { - let ret = globalThis.goToFirstRow(); - if(ret) { - AppStorage.SetOrCreate('resultSetRet','成功'); - } - console.info('[ttt] [DataShareClientTest] <> goToFirstRow onclick enter'); - }else if(resultOption == 'goToLastRow') { - let ret = globalThis.goToLastRow(); - if(ret) { - AppStorage.SetOrCreate('resultSetRet','成功'); - } - console.info('[ttt] [DataShareClientTest] <> goToLastRow onclick enter'); - }else if(resultOption == 'goToNextRow') { - let ret = globalThis.goToNextRow(); - if(ret) { - AppStorage.SetOrCreate('resultSetRet','成功'); - } - console.info('[ttt] [DataShareClientTest] <> goToNextRow onclick enter'); - }else if(resultOption == 'goToPreviousRow') { - let ret = globalThis.goToPreviousRow(); - if(ret) { - AppStorage.SetOrCreate('resultSetRet','成功'); - } - console.info('[ttt] [DataShareClientTest] <> goToPreviousRow onclick enter'); - }else if(resultOption == 'goTo') { - let resultValue = AppStorage.Get('resultValue'); - let ret = globalThis.goTo(resultValue); - if(ret) { - AppStorage.SetOrCreate('resultSetRet','成功'); - } - console.info('[ttt] [DataShareClientTest] <> goTo onclick enter'); - }else if(resultOption == 'goToRow') { - let resultValue = AppStorage.Get('resultValue'); - let ret = globalThis.goToRow(resultValue); - if(ret) { - AppStorage.SetOrCreate('resultSetRet','成功'); - } - console.info('[ttt] [DataShareClientTest] <> goToRow onclick enter'); - }else if(resultOption == 'getBlob') { - let resultValue = AppStorage.Get('resultValue'); - let ret = globalThis.getBlob(resultValue); - AppStorage.SetOrCreate('resultSetRet',ret); - console.info('[ttt] [DataShareClientTest] <> getBlob onclick enter'); - }else if(resultOption == 'getString') { - let resultValue = AppStorage.Get('resultValue'); - let ret = globalThis.getString(resultValue); - AppStorage.SetOrCreate('resultSetRet',ret); - console.info('[ttt] [DataShareClientTest] <> getString onclick enter'); - }else if(resultOption == 'getLong') { - let resultValue = AppStorage.Get('resultValue'); - let ret = globalThis.getLong(resultValue); - AppStorage.SetOrCreate('resultSetRet',ret); - console.info('[ttt] [DataShareClientTest] <> getLong onclick enter'); - }else if(resultOption == 'getDouble') { - let resultValue = AppStorage.Get('resultValue'); - let ret = globalThis.getDouble(resultValue); - AppStorage.SetOrCreate('resultSetRet',ret); - console.info('[ttt] [DataShareClientTest] <> getDouble onclick enter'); - }else if(resultOption == 'getColumnIndex') { - let resultValue = AppStorage.Get('resultValue'); - let ret = globalThis.getColumnIndex(resultValue); - AppStorage.SetOrCreate('resultSetRet',ret); - console.info('[ttt] [DataShareClientTest] <> getColumnIndex onclick enter'); - }else if(resultOption == 'getColumnName') { - let resultValue = AppStorage.Get('resultValue'); - let ret = globalThis.getColumnName(resultValue); - AppStorage.SetOrCreate('resultSetRet',ret); - console.info('[ttt] [DataShareClientTest] <> getColumnName onclick enter'); - }else if(resultOption == 'getDataType') { - let resultValue = AppStorage.Get('resultValue'); - let ret = globalThis.getDataType(resultValue); - AppStorage.SetOrCreate('resultSetRet',ret); - console.info('[ttt] [DataShareClientTest] <> getDataType onclick enter'); - }else if(resultOption == 'close') { - let ret = globalThis.close(); - console.info('[ttt] [DataShareClientTest] <> close onclick enter'); - } - } - } - }) - } - .width('100%') - .height('100%') - .padding({left: 20,right: 20, top: 50, bottom: 50}) - } -} - -@Component -struct insertDom { - @State trueFalseString: string = ''; - @State insertName: string = ''; - @State insertAge: string = ''; - @Builder MenuBooleanBuilder() { - Flex({ direction: FlexDirection.Column, justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { - Button('true', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.trueFalseString = 'true'; - AppStorage.SetOrCreate('trueFalseString',true); - console.info('[ttt] <> true'); - }) - Divider().height(10) - Button('false', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.trueFalseString = 'false'; - AppStorage.SetOrCreate('trueFalseString',false); - console.info('[ttt] <> false'); - }) - } - .width(200) - .borderStyle(BorderStyle.Solid) - .borderWidth(1) - .borderColor(Color.Grey) - .borderRadius(10) - } - - build() { - Column() { - Row() { - Text('name') - .fontSize(25) - .width(200) - TextInput() - .height(50) - .fontSize(20) - .width(200) - .padding({left: 10}) - .onChange((value: string) => { - this.insertName = value; - AppStorage.SetOrCreate('insertName',this.insertName); - console.info('[ttt] insertName = ' + this.insertName); - }) - } - .height(60) - Row() { - Text('age') - .fontSize(25) - .width(200) - TextInput() - .height(50) - .fontSize(20) - .width(200) - .padding({left: 10}) - .type(InputType.Number) - .onChange((value: string) => { - this.insertAge = value; - AppStorage.SetOrCreate('insertAge',this.insertAge); - console.info('[ttt] insertAge = ' + this.insertAge); - }) - } - .height(60) - Row() { - Text('boolean') - .fontSize(25) - .width(200) - Row() { - Text(this.trueFalseString) - .width(170) - .padding({left: 10}) - .height(50) - .fontSize(20) - Polyline() - .width(20) - .height(20) - .points([[0, 0], [20, 0], [10, 20]]) - } - .width(200) - .borderRadius(20) - .backgroundColor(0xEFEFEF) - .bindMenu(this.MenuBooleanBuilder) - } - .height(60) - } - } -} - -@Component -struct queryDom { - scroller: Scroller = new Scroller(); - @State functionCheck: string = '请选择'; - @State keyCheck: string = '请选择'; - @StorageLink('optionLength') @Watch('changeOptions') optionLength: number = 1; - private options: [{ - functionCheck: string, - keyCheck: string, - value: string - }]= [{ functionCheck: '', keyCheck: '', value: '' }]; - - private changeOptions() { -// AppStorage.SetOrCreate('options', this.options); - console.info('[ttt] <> options = ' + JSON.stringify(this.options)); - this.options.push({ functionCheck: '', keyCheck: '', value: '' }); - } - - build() { - Scroll(this.scroller) { - Column() { - Row() { - Text('条件') - .fontSize(25) - .width(120) - Flex({ - direction: FlexDirection.Row, - alignItems: ItemAlign.Start, - justifyContent: FlexAlign.Start, - wrap: FlexWrap.Wrap - }) { - ForEach(this.options, (item, index) => { - if (index < this.optionLength) { - optionDom({ functionCheck: item.functionCheck, keyCheck: item.keyCheck, optionIndex: 'id' + index }) - } - }) - } - } - - Button('+', { type: ButtonType.Circle, stateEffect: true }) - .width(50) - .height(50) - .margin({ left: 350 }) - .onClick(() => { - let opt: number = AppStorage.Get('optionLength'); - opt = opt + 1; - AppStorage.Set('optionLength', opt); - }) - } - } - .scrollBarWidth(0) - .height(500) - } -} - -@Component -struct optionDom { - @Prop functionCheck: string; - @Prop keyCheck: string; - @Prop optionIndex: string; - @State predicateIndex: string = ''; - - public aboutToAppear() { - this.predicateIndex = this.optionIndex.slice(2); - let preIndex: { - functionCheck: string, - keyCheck: string, - value: string - } = { - functionCheck: '', - keyCheck: '', - value: '' - }; - AppStorage.SetOrCreate('Predicates' + this.predicateIndex, JSON.stringify(preIndex)); - } - @Builder MenuFunctionBuilder() { - Flex({ direction: FlexDirection.Column, justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { - Button('equalTo', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'equalTo'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'equalTo'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> equalTo'); - }) - Divider().height(10) - Button('notEqualTo', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'notEqualTo'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'notEqualTo'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> notEqualTo'); - }) - Divider().height(10) - Button('greaterThan', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'greaterThan'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'greaterThan'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> greaterThan'); - }) - Divider().height(10) - Button('lessThan', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'lessThan'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'lessThan'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> lessThan'); - }) - Divider().height(10) - Button('greaterThanOrEqualTo', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'greaterThanOrEqualTo'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'greaterThanOrEqualTo'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> greaterThanOrEqualTo'); - }) - Divider().height(10) - Button('lessThanOrEqualTo', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'lessThanOrEqualTo'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'lessThanOrEqualTo'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> lessThanOrEqualTo'); - }) - Divider().height(10) - Button('isNull', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'isNull'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'isNull'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> isNull'); - }) - Divider().height(10) - Button('in', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'in'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'in'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> in'); - }) - Divider().height(10) - Button('notIn', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'notIn'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'notIn'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> notIn'); - }) - Divider().height(10) - Button('like', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'like'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'like'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> like'); - }) - Divider().height(10) - Button('unlike', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'unlike'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'unlike'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> unlike'); - }) - Divider().height(10) - Button('and', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'and'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'and'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> and'); - }) - Divider().height(10) - Button('or', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'or'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'or'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> or'); - }) - Divider().height(10) - Button('orderByAsc', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'orderByAsc'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'orderByAsc'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> orderByAsc'); - }) - Divider().height(10) - Button('orderByDesc', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'orderByDesc'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'orderByDesc'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> orderByDesc'); - }) - Divider().height(10) - Button('limit', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'limit'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'limit'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> limit'); - }) - Divider().height(10) - Button('isNotNull', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'isNotNull'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'isNotNull'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> isNotNull'); - }) - Divider().height(10) - Button('beginWrap', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'beginWrap'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'beginWrap'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> beginWrap'); - }) - Divider().height(10) - Button('endWrap', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'endWrap'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'endWrap'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> endWrap'); - }) - Divider().height(10) - Button('prefixKey', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'prefixKey'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'prefixKey'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> prefixKey'); - }) - Divider().height(10) - Button('contains', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'contains'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'contains'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> contains'); - }) - Divider().height(10) - Button('beginsWith', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'beginsWith'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'beginsWith'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> beginsWith'); - }) - Divider().height(10) - Button('endsWith', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'endsWith'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'endsWith'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> endsWith'); - }) - Divider().height(10) - Button('glob', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'glob'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'glob'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> glob'); - }) - Divider().height(10) - Button('between', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'between'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'between'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> between'); - }) - Divider().height(10) - Button('notBetween', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'notBetween'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'notBetween'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> notBetween'); - }) - Divider().height(10) - Button('distinct', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'distinct'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'distinct'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> distinct'); - }) - Divider().height(10) - Button('groupBy', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'groupBy'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'groupBy'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> groupBy'); - }) - Divider().height(10) - Button('indexedBy', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'indexedBy'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'indexedBy'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> indexedBy'); - }) - Divider().height(10) - Button('inKeys', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.functionCheck = 'inKeys'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.functionCheck = 'inKeys'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> inKeys'); - }) - } - .width(200) - .borderStyle(BorderStyle.Solid) - .borderWidth(1) - .borderColor(Color.Grey) - .borderRadius(10) - } - @Builder MenuKeyCheckBuilder() { - Flex({ direction: FlexDirection.Column, justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { - Button('name', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.keyCheck = 'name'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.keyCheck = 'name'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> name'); - }) - Divider().height(10) - Button('age', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.keyCheck = 'age'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.keyCheck = 'age'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> age'); - }) - Divider().height(10) - Button('boolean', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.keyCheck = 'boolean'; - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.keyCheck = 'boolean'; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> boolean'); - }) - } - .width(200) - .borderStyle(BorderStyle.Solid) - .borderWidth(1) - .borderColor(Color.Grey) - .borderRadius(10) - } - - build() { - Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.Start, wrap: FlexWrap.Wrap }) { - Row() { - Row() { - Text(this.functionCheck) - .width(120) - .padding({left: 10}) - .height(50) - .fontSize(20) - Polyline() - .width(20) - .height(20) - .points([[0, 0], [20, 0], [10, 20]]) - } - .width(150) - .borderRadius(20) - .backgroundColor(0xEFEFEF) - .bindMenu(this.MenuFunctionBuilder) - .margin({right: 10}) - Row() { - Text(this.keyCheck) - .width(120) - .padding({left: 10}) - .height(50) - .fontSize(20) - Polyline() - .width(20) - .height(20) - .points([[0, 0], [20, 0], [10, 20]]) - } - .width(150) - .borderRadius(20) - .backgroundColor(0xEFEFEF) - .bindMenu(this.MenuKeyCheckBuilder) - .margin({right: 10}) - } - .height(60) - Row() { - TextInput() - .height(50) - .fontSize(20) - .width(150) - .padding({left: 10}) - .onChange((value: string) => { - let predicate : {functionCheck: string, - keyCheck: string, - value: string} = JSON.parse(AppStorage.Get('Predicates' + this.predicateIndex)); - predicate.value = value; - AppStorage.Set('Predicates' + this.predicateIndex, JSON.stringify(predicate)); - console.info('[ttt] <> optionValue = ' + value); - }) - } - .height(60) - } - .height(120) - } -} - -@Component -struct resultDom { - @Prop resultText: string; - @Prop dataText: string; - - build() { - Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.Start}) { - Text(this.resultText) - .fontSize(20) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - Text(this.dataText) - .fontSize(20) - .fontColor(Color.Black) - } - } -} - -@Component -struct resultListDom { - @State resultOption: string = ''; - @StorageLink('allResults') allResults: string = 'aaa'; - @StorageLink('resultSetRet') resultSetRet: string = ''; - - @Builder MenuResultListBuilder() { - Flex({ direction: FlexDirection.Column, justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { - - Button('goToFirstRow', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'goToFirstRow'; - AppStorage.SetOrCreate('resultOption', 'goToFirstRow'); - console.info('[ttt] <> goToFirstRow'); - }) - Divider().height(10) - Button('goToLastRow', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'goToLastRow'; - AppStorage.SetOrCreate('resultOption', 'goToLastRow'); - console.info('[ttt] <> goToLastRow'); - }) - Divider().height(10) - Button('goToNextRow', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'goToNextRow'; - AppStorage.SetOrCreate('resultOption', 'goToNextRow'); - console.info('[ttt] <> goToNextRow'); - }) - Divider().height(10) - Button('goToPreviousRow', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'goToPreviousRow'; - AppStorage.SetOrCreate('resultOption', 'goToPreviousRow'); - console.info('[ttt] <> goToPreviousRow'); - }) - Divider().height(10) - Button('goTo', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'goTo'; - AppStorage.SetOrCreate('resultOption', 'goTo'); - console.info('[ttt] <> goTo'); - }) - Divider().height(10) - Button('goToRow', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'goToRow'; - AppStorage.SetOrCreate('resultOption', 'goToRow'); - console.info('[ttt] <> goToRow'); - }) - Divider().height(10) - Button('getBlob', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'getBlob'; - AppStorage.SetOrCreate('resultOption', 'getBlob'); - console.info('[ttt] <> getBlob'); - }) - Divider().height(10) - Button('getString', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'getString'; - AppStorage.SetOrCreate('resultOption', 'getString'); - console.info('[ttt] <> getString'); - }) - Divider().height(10) - Button('getLong', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'getLong'; - AppStorage.SetOrCreate('resultOption', 'getLong'); - console.info('[ttt] <> getLong'); - }) - Divider().height(10) - Button('getDouble', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'getDouble'; - AppStorage.SetOrCreate('resultOption', 'getDouble'); - console.info('[ttt] <> getDouble'); - }) - Divider().height(10) - Button('isColumnOrKeyNull', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'isColumnOrKeyNull'; - AppStorage.SetOrCreate('resultOption', 'isColumnOrKeyNull'); - console.info('[ttt] <> isColumnOrKeyNull'); - }) - Divider().height(10) - Button('getColumnOrKeyIndex', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'getColumnOrKeyIndex'; - AppStorage.SetOrCreate('resultOption', 'getColumnOrKeyIndex'); - console.info('[ttt] <> getColumnOrKeyIndex'); - }) - Divider().height(10) - Button('getColumnOrKeyName', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'getColumnOrKeyName'; - AppStorage.SetOrCreate('resultOption', 'getColumnOrKeyName'); - console.info('[ttt] <> getColumnOrKeyName'); - }) - Divider().height(10) - Button('getInt', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'getInt'; - AppStorage.SetOrCreate('resultOption', 'getInt'); - console.info('[ttt] <> getInt'); - }) - Divider().height(10) - Button('getDataType', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'getDataType'; - AppStorage.SetOrCreate('resultOption', 'getDataType'); - console.info('[ttt] <> getDataType'); - }) - Divider().height(10) - Button('close', {type: ButtonType.Normal}) - .fontSize(20) - .height(50) - .backgroundColor(Color.White) - .fontColor(Color.Black) - .fontWeight(FontWeight.Bold) - .onClick(() => { - this.resultOption = 'close'; - AppStorage.SetOrCreate('resultOption', 'close'); - console.info('[ttt] <> close'); - }) - } - .width(200) - .borderStyle(BorderStyle.Solid) - .borderWidth(1) - .borderColor(Color.Grey) - .borderRadius(10) - } - - scroller: Scroller = new Scroller(); - build() { - Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.Start}) { - Row() { - Text('结果集操作') - .fontSize(20) - .width(120) - Row() { - Text(this.resultOption) - .fontSize(20) - .width(120) - .padding({ left: 10 }) - Polyline() - .width(20) - .height(20) - .points([[0, 0], [20, 0], [10, 20]]) - } - .width(150) - .height(50) - .borderRadius(20) - .backgroundColor(0xEFEFEF) - .margin({right: 10}) - .bindMenu(this.MenuResultListBuilder) - TextInput() - .height(50) - .fontSize(20) - .width(150) - .padding({left: 10}) - .onChange((value: string) => { - AppStorage.SetOrCreate('resultValue', value); - console.info('[ttt] <> resultValue = ' + value); - }) - Text(this.resultSetRet) - } - .height(60) - } - } -} \ No newline at end of file diff --git a/datashare/DataShareClient/entry/src/main/ets/pages/index/index.ets b/datashare/DataShareClient/entry/src/main/ets/pages/index/index.ets deleted file mode 100644 index 7df00dfcdf797f0ce86efae1a451f6ee4af29449..0000000000000000000000000000000000000000 --- a/datashare/DataShareClient/entry/src/main/ets/pages/index/index.ets +++ /dev/null @@ -1,325 +0,0 @@ -import file from '@system.file'; -import dataShare from '@ohos.data.dataShare' - -import dataAbility from '@ohos.data.dataAbility'; -import rdb from '@ohos.data.rdb'; - - - -import router from '@system.router'; - -async function routePage() { - let options = { - uri: 'pages/second/second' - } - try { - await router.push(options) - } catch (err) { - console.error(`fail callback, code: ${err.code}, msg: ${err.msg}`) - } -} - -@Entry -@Component -struct Index { - @State message: string = "Thread message filed" - - build() { - Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { - Text('DataShare Client') - .fontSize(30) - .fontWeight(FontWeight.Bold) - - Text(`${this.message}`) - .fontSize(30) - .height('15%') - .width('100%') - .textAlign(TextAlign.Center) - - Row() { - Button() { - Text('Connect') - .fontSize(35) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> Connect onclick enter') - this.message = 'Connect onclick' - await globalThis.connectDataShareExtAbility() - console.info('[ttt] [DataShareClientTest] <> Connect onclick leave') - }) - - Button() { - Text('Disconnect') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> Disconnect onclick enter') - this.message = 'Disconnect onclick' - await globalThis.disconnectDataShareExtAbility() - console.info('[ttt] [DataShareClientTest] <> Disconnect onclick leave') - }) - } - - Row() { - Button() { - Text('On') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> On onclick enter') - this.message = '~ On onclick' - try { - await globalThis.on(); - } catch (err) { - console.error('[ttt] [DataAbilityTest] Observer on catch(err)====>:' + err); - } - console.info('[ttt] [DataShareClientTest] <> On onclick leave') - }) - - Button() { - Text('Off') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> Off onclick enter') - this.message = '~ Off onclick' - try { - await globalThis.off(); - } catch (err) { - console.error('[ttt] [DataAbilityTest] Observer Off catch(err)====>:' + err); - } - console.info('[ttt] [DataShareClientTest] <> Off onclick leave') - }) - } - - Row() { - Button() { - Text('Query') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> Query onclick enter') - this.message = 'Query onclick' - let ret = await globalThis.query() - this.message += "\n\n Test Result: " + ret; - console.info('[ttt] [DataShareClientTest] <> Query onclick leave') - }) - - Button() { - Text('Insert') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> Insert onclick enter') - this.message = 'Insert onclick' - let ret = await globalThis.insert() - this.message += "\n\n Test Result: " + ret; - console.info('[ttt] [DataShareClientTest] <> Insert onclick leave') - }) - } - - Row() { - Button() { - Text('Update') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> Update onclick enter') - this.message = 'Update onclick' - let ret = await globalThis.update() - this.message += "\n\n Test Result: " + ret; - console.info('[ttt] [DataShareClientTest] <> Update onclick leave') - }) - - Button() { - Text('Delete') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> Delete onclick enter') - this.message = 'Delete onclick' - let ret = await globalThis.delete() - this.message += "\n\n Test Result: " + ret; - console.info('[ttt] [DataShareClientTest] <> Delete onclick leave') - }) - } - - Row() { - Button() { - Text('BatchInsert') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> BatchInsert onclick enter') - this.message = 'BatchInsert onclick' - let ret = await globalThis.batchInsert() - this.message += "\n\n Test Result: " + ret; - console.info('[ttt] [DataShareClientTest] <> BatchInsert onclick leave') - }) - - Button() { - Text('NotifyChange') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> NotifyChange onclick enter') - this.message = 'NotifyChange onclick' - await globalThis.notifyChange() - console.info('[ttt] [DataShareClientTest] <> NotifyChange onclick leave') - }) - } - - Row() { - Button() { - Text('GetType') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> GetType onclick enter') - this.message = 'GetType onclick' - let ret = await globalThis.getType() - this.message += "\n\n Test Result: " + ret; - console.info('[ttt] [DataShareClientTest] <> GetType onclick leave') - }) - - Button() { - Text('GetFileTypes') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> GetFileTypes onclick enter') - this.message = 'GetFileTypes onclick' - let ret = await globalThis.getFileTypes() - this.message += "\n\n Test Result: " + ret; - console.info('[ttt] [DataShareClientTest] <> GetFileTypes onclick leave') - }) - } - - Row() { - Button() { - Text('NormalizeUri') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> NormalizeUri onclick enter') - this.message = 'NormalizeUri onclick' - let ret = await globalThis.normalizeUri() - this.message += "\n\n Test Result: " + ret; - console.info('[ttt] [DataShareClientTest] <> NormalizeUri onclick leave') - }) - - Button() { - Text('DenormalizeUri') - .fontSize(25) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .width('45%') - .height('8%') - .backgroundColor('#0ddffb') - .onClick(async () => { - console.info('[ttt] [DataShareClientTest] <> DenormalizeUri onclick enter') - this.message = 'DenormalizeUri onclick' - let ret = await globalThis.denormalizeUri() - this.message += "\n\n Test Result: " + ret; - console.info('[ttt] [DataShareClientTest] <> DenormalizeUri onclick leave') - }) - } - } - .width('100%') - .height('100%') - } -} \ No newline at end of file diff --git a/datashare/DataShareClient/entry/src/main/ets/pages/second.ets b/datashare/DataShareClient/entry/src/main/ets/pages/second.ets deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/datashare/DataShareClient/entry/src/main/ets/pages/second/second.ets b/datashare/DataShareClient/entry/src/main/ets/pages/second/second.ets deleted file mode 100644 index afc9518d30291125817c30f203666bf7c44e6c0d..0000000000000000000000000000000000000000 --- a/datashare/DataShareClient/entry/src/main/ets/pages/second/second.ets +++ /dev/null @@ -1,29 +0,0 @@ -import router from '@system.router'; - -@Entry -@Component -struct Second { - private content: string = "Second Page" - - build() { - Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { - Text(`${this.content}`) - .fontSize(50) - .fontWeight(FontWeight.Bold) - Button() { - Text('back to index') - .fontSize(20) - .fontWeight(FontWeight.Bold) - }.type(ButtonType.Capsule) - .margin({ - top: 20 - }) - .backgroundColor('#0D9FFB') - .onClick(() => { - router.back() - }) - } - .width('100%') - .height('100%') - } -} \ No newline at end of file diff --git a/datashare/DataShareClient/entry/src/main/ets/test/Ability.test.ets b/datashare/DataShareClient/entry/src/main/ets/test/Ability.test.ets deleted file mode 100644 index 9038dbae057575937930e6899ea34746d209839d..0000000000000000000000000000000000000000 --- a/datashare/DataShareClient/entry/src/main/ets/test/Ability.test.ets +++ /dev/null @@ -1,17 +0,0 @@ -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from "deccjsunit/index" - - -export default function abilityTest(abilityContext) { - describe('ActsAbilityTest', function () { - /** - * @tc.number: SUB_AA_OpenHarmony_Context_0900 - * @tc.name: Check that context paths of different Ability in the same hap are the same. - * @tc.desc: Check the ability context paths of the same hap are the same. - */ - it('SUB_AA_OpenHarmony_Context_0900', 0, async function (done) { - console.log("SUB_AA_OpenHarmony_Context_0900 --- start") - var labelString = abilityContext.resourceManager.getString(16777218); - expect('DataShareClientTest').assertEqual(labelString); - }) - }) -} \ No newline at end of file diff --git a/datashare/DataShareClient/entry/src/main/ets/test/List.test.ets b/datashare/DataShareClient/entry/src/main/ets/test/List.test.ets deleted file mode 100644 index 3759912c5638a10e26ed32ba275f7be18a39ed55..0000000000000000000000000000000000000000 --- a/datashare/DataShareClient/entry/src/main/ets/test/List.test.ets +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import abilityTest from './Ability.test.ets' - - -export default function testsuite(context) { - - abilityTest(context) - -} \ No newline at end of file diff --git a/datashare/DataShareClient/entry/src/main/resources/base/element/string.json b/datashare/DataShareClient/entry/src/main/resources/base/element/string.json deleted file mode 100644 index f20b49d4fa58cd5b798f6225c7770ac37d1a06be..0000000000000000000000000000000000000000 --- a/datashare/DataShareClient/entry/src/main/resources/base/element/string.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "string": [ - { - "name": "phone_entry_dsc", - "value": "i am an entry for phone" - }, - { - "name": "phone_entry_main", - "value": "the phone entry ability" - }, - { - "name": "entry_label", - "value": "DataShareClientTest" - }, - { - "name": "form_description", - "value": "my form" - }, - { - "name": "serviceability_description", - "value": "my whether" - }, - { - "name": "description_application", - "value": "DataShareClientTest" - }, - { - "name": "app_name", - "value": "DataShareClientTest" - }, - { - "name": "description_datashareextability", - "value": "description_datashareextability" - }, - { - "name": "description_serviceability", - "value": "description_serviceability" - } - ] -} diff --git a/datashare/DataShareClient/entry/src/main/resources/base/profile/form_config.json b/datashare/DataShareClient/entry/src/main/resources/base/profile/form_config.json deleted file mode 100644 index ba3489dd5c6ee9435d07201193fcb137e3ad083e..0000000000000000000000000000000000000000 --- a/datashare/DataShareClient/entry/src/main/resources/base/profile/form_config.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "forms": [ - { - "name": "Form_Js", - "description": "$string:form_description", - "src": "pages/card/index", - "window": { - "designWidth": 720, - "autoDesignWidth": true - }, - "colorMode": "auto", - "formConfigAbility": "ability://xxxxx", - "formVisibleNotify": false, - "isDefault": true, - "updateEnabled": true, - "scheduledUpdateTime": "10:30", - "updateDuration": 1, - "defaultDimension": "2*2", - "supportDimensions": [ - "2*2" - ] - } - ] -} diff --git a/datashare/DataShareClient/offline-dependency/ohos-hvigor-1.0.0.tgz b/datashare/DataShareClient/offline-dependency/ohos-hvigor-1.0.0.tgz deleted file mode 100644 index 3be1e6442812cbbd8a27f7a2e8375bc309535a74..0000000000000000000000000000000000000000 Binary files a/datashare/DataShareClient/offline-dependency/ohos-hvigor-1.0.0.tgz and /dev/null differ diff --git a/datashare/DataShareClient/offline-dependency/ohos-hvigor-cli-1.0.0.tgz b/datashare/DataShareClient/offline-dependency/ohos-hvigor-cli-1.0.0.tgz deleted file mode 100644 index 617a59f4c6178269df618d5d43391f74d59bd6af..0000000000000000000000000000000000000000 Binary files a/datashare/DataShareClient/offline-dependency/ohos-hvigor-cli-1.0.0.tgz and /dev/null differ diff --git a/datashare/DataShareClient/offline-dependency/ohos-hvigor-ohos-plugin-1.0.0.tgz b/datashare/DataShareClient/offline-dependency/ohos-hvigor-ohos-plugin-1.0.0.tgz deleted file mode 100644 index 1e5ffcb6c608af3297573c3013feadc8aaf051b6..0000000000000000000000000000000000000000 Binary files a/datashare/DataShareClient/offline-dependency/ohos-hvigor-ohos-plugin-1.0.0.tgz and /dev/null differ diff --git a/datashare/DataShareClient/offline-dependency/ohos-sdk-common-1.0.0.tgz b/datashare/DataShareClient/offline-dependency/ohos-sdk-common-1.0.0.tgz deleted file mode 100644 index cf402b30a64dd58bbd7d58615c28214cdb47ccf7..0000000000000000000000000000000000000000 Binary files a/datashare/DataShareClient/offline-dependency/ohos-sdk-common-1.0.0.tgz and /dev/null differ diff --git a/datashare/DataShareKvTest/Copy_Install_Lanch - datasharekvtest.bat b/datashare/DataShareKvTest/Copy_Install_Lanch - datasharekvtest.bat new file mode 100644 index 0000000000000000000000000000000000000000..cb3e939a658d34810d95e39cb93316fdfab2d98a --- /dev/null +++ b/datashare/DataShareKvTest/Copy_Install_Lanch - datasharekvtest.bat @@ -0,0 +1,18 @@ +@echo off + +set CURR_DIR=%CD% +set BUNDLE_NAME="com.samples.datasharekvtest" +set ABILITY_NAME="MainAbility" +set SIGNED_NAME=DataShareKvTest.hap + +del %SIGNED_NAME% + +copy /Y %CURR_DIR%\DataShareKvTest\entry\build\default\outputs\default\entry-default-signed.hap .\%SIGNED_NAME% + +hdc shell aa force-stop %BUNDLE_NAME% +hdc uninstall %BUNDLE_NAME% + +hdc install -r %SIGNED_NAME% +hdc shell aa start -a %ABILITY_NAME% -b %BUNDLE_NAME% + +pause \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest.hap b/datashare/DataShareKvTest/DataShareKvTest.hap new file mode 100644 index 0000000000000000000000000000000000000000..39d3b5de3609211dbffaf0b23554576360d3e3a9 Binary files /dev/null and b/datashare/DataShareKvTest/DataShareKvTest.hap differ diff --git a/datashare/DataShareClient/.gitignore b/datashare/DataShareKvTest/DataShareKvTest/.gitignore similarity index 100% rename from datashare/DataShareClient/.gitignore rename to datashare/DataShareKvTest/DataShareKvTest/.gitignore diff --git a/datashare/DataShareKvTest/DataShareKvTest/.hvigor/outputs/logs/details/details.json b/datashare/DataShareKvTest/DataShareKvTest/.hvigor/outputs/logs/details/details.json new file mode 100644 index 0000000000000000000000000000000000000000..7d0d3fe2a854f4810622b4a2110c6089b65edf17 --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/.hvigor/outputs/logs/details/details.json @@ -0,0 +1,12 @@ +{ + "totalTime": 7897008700, + "moduleNum": 1, + "taskTime": { + "sdkDirInit": 13169400, + "compileETS": 4360268400, + "compileJS": 324200, + "compileResource": 76014700, + "packageHap": 249651900, + "signHap": 2627597500 + } +} \ No newline at end of file diff --git a/datashare/DataShareClient/AppScope/app.json5 b/datashare/DataShareKvTest/DataShareKvTest/AppScope/app.json5 similarity index 77% rename from datashare/DataShareClient/AppScope/app.json5 rename to datashare/DataShareKvTest/DataShareKvTest/AppScope/app.json5 index a0adb9f1e954e2a3664c22e574bc9604bde1c295..95f2221a9d2744b81c4c4b30d3571c56cdc23ca1 100644 --- a/datashare/DataShareClient/AppScope/app.json5 +++ b/datashare/DataShareKvTest/DataShareKvTest/AppScope/app.json5 @@ -1,6 +1,6 @@ { "app": { - "bundleName": "com.samples.myapplication", + "bundleName": "com.example.datasharekvtest", "vendor": "example", "versionCode": 1000000, "versionName": "1.0.0", diff --git a/datashare/DataShareClient/AppScope/resources/base/element/string.json b/datashare/DataShareKvTest/DataShareKvTest/AppScope/resources/base/element/string.json similarity index 57% rename from datashare/DataShareClient/AppScope/resources/base/element/string.json rename to datashare/DataShareKvTest/DataShareKvTest/AppScope/resources/base/element/string.json index 01daddf3f6781bc5a9f6f99c6edea6f152437b55..46ab42366ca445a2022c10a0a79b896a779e11f6 100644 --- a/datashare/DataShareClient/AppScope/resources/base/element/string.json +++ b/datashare/DataShareKvTest/DataShareKvTest/AppScope/resources/base/element/string.json @@ -2,7 +2,7 @@ "string": [ { "name": "app_name", - "value": "datashareclienttest" + "value": "DataShareKvTest" } ] } diff --git a/datashare/DataShareClient/AppScope/resources/base/media/app_icon.png b/datashare/DataShareKvTest/DataShareKvTest/AppScope/resources/base/media/app_icon.png similarity index 100% rename from datashare/DataShareClient/AppScope/resources/base/media/app_icon.png rename to datashare/DataShareKvTest/DataShareKvTest/AppScope/resources/base/media/app_icon.png diff --git a/datashare/DataShareClient/build-profile.json5 b/datashare/DataShareKvTest/DataShareKvTest/build-profile.json5 similarity index 49% rename from datashare/DataShareClient/build-profile.json5 rename to datashare/DataShareKvTest/DataShareKvTest/build-profile.json5 index 85779237c328ca5ba148aace6bfa39ea1ce4fe44..e25279d06fdfeeb81c56c956c1c7ace5ccde34f6 100644 --- a/datashare/DataShareClient/build-profile.json5 +++ b/datashare/DataShareKvTest/DataShareKvTest/build-profile.json5 @@ -4,13 +4,13 @@ { "name": "default", "material": { - "certpath": "C:\\Users\\PaDaBoo\\.ohos\\config\\openharmony\\auto_ohos.cer", - "storePassword": "0000001894B1CD8CBE2D21F2684807AEFAE491EE02AC4B7D9F3D9F655A708085C7E0C3C1DFECEF29", + "certpath": "C:\\Users\\songruirui\\.ohos\\config\\openharmony\\auto_ohos_default.cer", + "storePassword": "0000001B05C92D77831CE95FD43D526D07A17A99AD1E4A16D6A778BBBE3A21B2A58C0CACC4555444B44751", "keyAlias": "debugKey", - "keyPassword": "00000018D387D09DBB0800B992D813F4B57C370298C34506AA9FC036BC085EFC88A537A3A57F855F", - "profile": "C:\\Users\\PaDaBoo\\.ohos\\config\\openharmony\\auto_ohos_default_com.samples.myapplication.p7b", + "keyPassword": "0000001B72474D9CEAEA10728B79A45E4B401CCF6A7E76677A4FD38E1678E81A3F9F03A5E30EA7AF1ADDEC", + "profile": "C:\\Users\\songruirui\\.ohos\\config\\openharmony\\auto_ohos_default_com.example.datasharekvtest.p7b", "signAlg": "SHA256withECDSA", - "storeFile": "C:\\Users\\PaDaBoo\\.ohos\\config\\openharmony\\auto_ohos.p12" + "storeFile": "C:\\Users\\songruirui\\.ohos\\config\\openharmony\\auto_ohos_default.p12" } } ], diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry.rar b/datashare/DataShareKvTest/DataShareKvTest/entry.rar new file mode 100644 index 0000000000000000000000000000000000000000..a753e04a5369c8e5b3c9263d8517abfe1ef5d583 Binary files /dev/null and b/datashare/DataShareKvTest/DataShareKvTest/entry.rar differ diff --git a/datashare/DataShareClient/entry/.gitignore b/datashare/DataShareKvTest/DataShareKvTest/entry/.gitignore similarity index 100% rename from datashare/DataShareClient/entry/.gitignore rename to datashare/DataShareKvTest/DataShareKvTest/entry/.gitignore diff --git a/datashare/DataShareClient/entry/build-profile.json5 b/datashare/DataShareKvTest/DataShareKvTest/entry/build-profile.json5 similarity index 100% rename from datashare/DataShareClient/entry/build-profile.json5 rename to datashare/DataShareKvTest/DataShareKvTest/entry/build-profile.json5 diff --git a/datashare/DataShareClient/entry/hvigorfile.js b/datashare/DataShareKvTest/DataShareKvTest/entry/hvigorfile.js similarity index 100% rename from datashare/DataShareClient/entry/hvigorfile.js rename to datashare/DataShareKvTest/DataShareKvTest/entry/hvigorfile.js diff --git a/datashare/DataShareClient/entry/package-lock.json b/datashare/DataShareKvTest/DataShareKvTest/entry/package-lock.json similarity index 100% rename from datashare/DataShareClient/entry/package-lock.json rename to datashare/DataShareKvTest/DataShareKvTest/entry/package-lock.json diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/package.json b/datashare/DataShareKvTest/DataShareKvTest/entry/package.json new file mode 100644 index 0000000000000000000000000000000000000000..fbf1c052953a107927cfd25d50343bd1502bd135 --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/package.json @@ -0,0 +1,14 @@ +{ + "license":"ISC", + "devDependencies":{}, + "name":"entry", + "ohos":{ + "org":"huawei", + "directoryLevel":"module", + "buildTool":"hvigor" + }, + "description":"example description", + "repository":{}, + "version":"1.0.0", + "dependencies":{} +} \ No newline at end of file diff --git a/datashare/DataShareClient/entry/src/main/ets/Application/AbilityStage.ts b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/Application/AbilityStage.ts similarity index 65% rename from datashare/DataShareClient/entry/src/main/ets/Application/AbilityStage.ts rename to datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/Application/AbilityStage.ts index 0bb9747f1e473e817e6fe4631af081f948eda499..d6c5ffadfbc2fb6a4cb1497294a3d2be4eef3d30 100644 --- a/datashare/DataShareClient/entry/src/main/ets/Application/AbilityStage.ts +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/Application/AbilityStage.ts @@ -2,6 +2,6 @@ import AbilityStage from "@ohos.application.AbilityStage" export default class MyAbilityStage extends AbilityStage { onCreate() { - console.log("[ttt] [DataShareClientTest] MyAbilityStage onCreate"); + console.log("[ttt] [DataShareKvTest] MyAbilityStage onCreate"); } } \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/DataShareExtAbility/DataShareExtAbility.ts b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/DataShareExtAbility/DataShareExtAbility.ts new file mode 100644 index 0000000000000000000000000000000000000000..4c5b026ccf9f117b3cac32832b7bf1b9b1524f6a --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/DataShareExtAbility/DataShareExtAbility.ts @@ -0,0 +1,297 @@ +import Extension from '@ohos.application.DataShareExtensionAbility' +import dataSharePredicates from '@ohos.data.dataSharePredicates' +import distributedData from '@ohos.data.distributedData'; +import fileIo from '@ohos.fileio' + + +let kvManager; +let kvdbStore = undefined; +let kvResultSet = undefined; +let result; +let deviceIds = []; +let dsHelperr; + + +const BUNDLE_NAME = 'com.samples.datasharekvtest'; +const STORE_ID = 'storeId'; + + +export default class DataShareExtAbility extends Extension { + //private rdbStore_; + private kvdbStore_; + async onCreate(want,callback) { + console.info('[ttt] [DataShareKvTest] <> DataShareExtAbility onCreate, want:' + want.abilityName); + var options = { + createIfMissing : true, + encrypt : false, + backup : false, + autoSync : false, + kvStoreType : distributedData.KVStoreType.SINGLE_VERSION, + schema : {}, + securityLevel : distributedData.SecurityLevel.S0, + } + let name = new distributedData.FieldNode('name'); + name.type = distributedData.ValueType.STRING; + name.nullable = false; + name.default = 'name'; + + let age = new distributedData.FieldNode('age'); + age.type = distributedData.ValueType.INTEGER; + age.nullable = false; + age.default = '0'; + + let isStudent = new distributedData.FieldNode('isStudent'); + isStudent.type = distributedData.ValueType.STRING; + isStudent.nullable = false; + isStudent.default = 'false'; + + + let schema1 = new distributedData.Schema(); + schema1.root.appendChild(name); + schema1.root.appendChild(age); + schema1.root.appendChild(isStudent); + schema1.indexes = ['$.name', "$.age", "$.isStudent"]; + // options.kvStoreType = distributedData.KVStoreType.DEVICE_COLLABORATION; + options.schema = schema1; + let mKVMgrConfig = { + userInfo : { + userId : '0', + userType : distributedData.UserType.SAME_USER_ID + }, + bundleName: BUNDLE_NAME, + context : this.context + } + distributedData.createKVManager(mKVMgrConfig, function (err, manager) { + if (err) { + console.info("[ttt] [DataShareKvTest] <> createKVManager err: " + err); + return; + } + console.info("[ttt] [DataShareKvTest] <> createKVManager success"); + kvManager = manager; + console.info('[ttt] [DataShareKvTest] <> createKVManager kvManager = ' + kvManager); + kvManager.getKVStore(STORE_ID, options, function (err, store) { + if (err) { + console.info("[ttt] [DataShareKvTest] <> getKVStore err: " + err); + return; + } + console.info("[ttt] [DataShareKvTest] <> getKVStore success"); + kvdbStore = store; + console.info('[ttt] [DataShareKvTest] <> createKVManager kvdbStore = ' + kvdbStore); + }); + callback(); + }); + result = this.context.cacheDir + '/datashare.txt' + console.info('[ttt] [DataShareKvTest] <> resultpath = ' + result); + } + + async insert(uri, value, callback) { + console.info('[ttt] [DataShareKvTest] <> [insert] enterkvdb'); + if (value == null) { + console.info('[ttt] [DataShareKvTest] <> [insert] invalid valueBuckets'); + return; + } + console.info('[ttt] [DataShareKvTest] <> [insert] kvdb value = ' + JSON.stringify(value)); + let vbArr = new Array(); + let insertBucket = {"name":value.name, "age":value.age, "isStudent":String(value.isStudent)} + console.info('[ttt] [DataShareKvTest] <> [insert] kvdb insertBucket = ' + JSON.stringify(insertBucket)); + vbArr.push({ + "key":"testkey0", + "value": JSON.stringify(insertBucket) + }); + + console.info('[ttt] [DataShareKvTest] <> [insert] kvdb vbArr = ' + JSON.stringify(vbArr) + "?????????????"); + kvdbStore.putBatch(vbArr, function (err,data) { + if (err != undefined) { + console.info("[ttt] [DataShareKvTest] <> [insert kvdb put] callback err: " + err); + if (callback != undefined) { + callback(-1,-1); + } + }else{ + if (callback != undefined) { + callback(0,1); + } + } + console.info("[ttt] [DataShareKvTest] <> [insert kvdb put] callback data:" + JSON.stringify(data)); + }); + console.info('[ttt] [DataShareKvTest] <> [insert] leave'); + } + + async update(uri, predicates, value, callback) { + console.info('[ttt] [DataShareKvTest] <> [update] enter'); + console.info('[ttt] [DataShareKvTest] <> [update] value = ' + JSON.stringify(value)); + console.info('[ttt] [DataShareKvTest] <> [update] predicates = ' + predicates); + + if (predicates == null || predicates == undefined) { + console.info('[ttt] [DataShareKvTest] <> [update] invalid predicates'); + return; + } + let vbArr = new Array(); + let keyName = "testkey0"; + let updateBucket = {"name":value.name, "age":value.age, "isStudent":String(value.isStudent)} +// let da = new dataShare.DataSharePredicates(); +// da.notEqualTo("$.name", "789"); +// kvdbStore.getResultSet(da, function (err, data) { +// if (err != undefined) { +// console.info("[ttt] [DataShareKvTest] <> [query kvdb get] callback err: " + err); +// return; +// } +// console.info("[ttt] [DataShareKvTest] <> [query kvdb get] callback data:" + JSON.stringify(data)); +// if (callback != undefined) { +// callback(err, data); +// } +// }) + + console.info('[ttt] [DataShareKvTest] <> [update] updateBucket = ' + JSON.stringify(updateBucket)); + console.info('[ttt] [DataShareKvTest] <> [update] keyName = ' + keyName); + vbArr.push({ + "key": keyName, + "value": JSON.stringify(updateBucket) + }); + console.info('[ttt] [DataShareKvTest] <> [update] vbArr = ' + JSON.stringify(vbArr)); + kvdbStore.putBatch(vbArr, function (err,data) { + if (err != undefined) { + console.info("[ttt] [DataShareKvTest] <> [update kvdb put] callback err: " + JSON.stringify(err)); + if (callback != undefined) { + callback(-1,-1); + } + }else{ + if (callback != undefined) { + callback(0,1); + } + } + console.info("[ttt] [DataShareKvTest] <> [update kvdb put] callback data:" + JSON.stringify(data)); + }); + console.info('[ttt] [DataShareKvTest] <> [update] leave'); + } + + async delete(uri, predicates, callback) { + console.info('[ttt] [DataShareKvTest] <> [delete] enter'); + if (predicates == null || predicates == undefined) { + console.info('[ttt] [DataShareKvTest] <> [delete] invalid predicates'); + return; + } + kvdbStore.delete(predicates, function(err, data) { + if (err != undefined) { + console.info("[ttt] [DataShareKvTest] <> [delete kvdb] callback err: " + err); + if (callback != undefined) { + callback(-1, -1); + } + }else { + console.info("[ttt] [DataShareKvTest] <> [delete kvdb] callback data:" + JSON.stringify(data)); + if (callback != undefined) { + callback(0, 1); + } + } + }); + console.info('[ttt] [DataShareKvTest] <> [delete] leave'); + } + + async query(uri, predicates, columns, callback) { + console.info('[ttt] [DataShareKvTest] <> [query] enter'); + if (predicates == null || predicates == undefined) { + console.info('[ttt] [DataShareKvTest] <> [query] invalid predicates'); + } +// if(kvResultSet != null || kvResultSet != undefined){ +// kvdbStore.closeResultSet(kvResultSet,function (err, data) { +// if (err != undefined) { +// console.info("[ttt] [DataShareKvTest] <> [query kvdb closeResultSet] callback err: " + err); +// return; +// } +// console.info("[ttt] [DataShareKvTest] <> [query kvdb closeResultSet] callback data:" + JSON.stringify(data)); +// }) +// } + + console.info('[ttt] [DataShareKvTest] <> [query] uri.split("?")[0] = ' + uri.split('?')[0]); + console.info('[ttt] [DataShareKvTest] <> [query] uri.split("?")[1] = ' + uri.split('?')[1]); + console.info('[ttt] [DataShareKvTest] <> [query] uri.split("?")[2] = ' + uri.split('?')[2]); + console.info('[ttt] [DataShareKvTest] <> [query] uri.split("?")[3] = ' + uri.split('?')[3]); + + + if (kvResultSet != undefined) { + console.info("[ttt] [DataShareKvTest] <> [closeResultSet] kvResultSet = " + kvResultSet.getCount()) + await kvdbStore.closeResultSet(kvResultSet); + } + let idString = uri.split('?')[1]; +// if(idString == undefined) { + try { + kvdbStore.getResultSet(predicates, function (err, data) { + if (err != undefined) { + console.info("[ttt] [DataShareKvTest] <> [query kvdb get] callback err: " + err); + return; + } + kvResultSet = data; + console.info("[ttt] [DataShareKvTest] <> [query kvdb get] getCount = " + kvResultSet.getCount()) + console.info("[ttt] [DataShareKvTest] <> [query kvdb get] callback data:" + JSON.stringify(data)); + if (callback != undefined) { + callback(err, data); + } + }) + } catch (err) { + console.error('[ttt] [DataShareKvTest] <> [query] error' + err); + } +// } else { +// let id = idString.split('=')[1]; +// deviceIds[0] = id; +// console.info('[ttt] [DataShareKvTest] <> [query] idString.split("=")[1] = ' + idString.split('=')[1]); +// console.info("[ttt] [DataShareKvTest] <> [sync] begin"); +// kvdbStore.on('syncComplete', (err,data) => { +// if(err) { +// console.info("[ttt] [DataShareKvTest] <> [syncComplete] callback err: " + err); +// } +// console.info("[ttt] [DataShareKvTest] <> [syncComplete] callback data: " + JSON.stringify(data)); +// }) +// kvdbStore.enableSync(true, (err,data) => { +// if(err) { +// console.info("[ttt] [DataShareKvTest] <> [enableSync] callback err: " + err); +// } +// kvdbStore.sync(deviceIds, distributedData.SyncMode.PULL_ONLY, 1000); +// }) + +// } + + console.info('[ttt] [DataShareKvTest] <> [query] leave'); + } + + async batchInsert(uri, valueBuckets, callback) { + console.info('[ttt] [DataShareKvTest] <> [batchInsert] enter'); + if (valueBuckets == null || valueBuckets.length == undefined) { + console.info('[ttt] [DataShareKvTest] <> [batchInsert] invalid valueBuckets'); + return; + } + console.info('[ttt] [DataShareKvTest] <> [batchInsert] valueBuckets.length:' + valueBuckets.length); + + console.info('[ttt] [DataShareKvTest] <> [batchInsert] valueBuckets.isStudent :' + JSON.stringify(valueBuckets[0].isStudent)); + + let vbArr = new Array(); + let batchInsertBucket = new Array(); + let num = 0; + for(let i = 0; i < valueBuckets.length; i++) { + console.info('[ttt] [DataShareKvTest] <> [batchInsert] valueBuckets.boolean :' + JSON.stringify(valueBuckets[i].isStudent)); + batchInsertBucket[i] = {"name":valueBuckets[i].name, "age":valueBuckets[i].age, "isStudent":String(valueBuckets[i].isStudent)} + vbArr.push({ + "key":"testkey"+num, + "value": JSON.stringify(batchInsertBucket[i]) + }); + num++; + } + + + console.info('[ttt] [DataShareKvTest] <> [batchInsert] valueBuckets :' + JSON.stringify(batchInsertBucket)); + kvdbStore.putBatch(vbArr, function(err, data) { + if (err != undefined) { + console.info("[ttt] [DataShareKvTest] <> [batchInsert kvdb] callback err: " + err); + if (callback != undefined) { + callback(-1, -1); + } + return; + }else{ + if (callback != undefined) { + callback(0,1); + } + } + console.info("[ttt] [DataShareKvTest] <> [batchInsert kvdb] callback data:" + JSON.stringify(data)); + + }); + console.info('[ttt] [DataShareKvTest] <> [batchInsert] leave'); + } +}; \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/MainAbility/MainAbility.ts b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/MainAbility/MainAbility.ts new file mode 100644 index 0000000000000000000000000000000000000000..66a4f4494e721a1f5c2960dbe41507ecba0deda3 --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/MainAbility/MainAbility.ts @@ -0,0 +1,263 @@ +import Ability from '@ohos.application.Ability' +import dataShare from '@ohos.data.dataShare' +import dataSharePredicates from '@ohos.data.dataSharePredicates' + + + +//let dseProxy = 0; +let dseUri = ("datashare:///com.samples.datasharekvtest.DataShare"); + +var dseConnect = { + onConnect:function (elementName, proxy) { + console.log("[ttt] [DataShareKvTest] <> dseConnect onConnect called."); + // console.log("[ttt] [DataShareKvTest] <> dseConnect onConnect elementName = " + elementName); + // console.log("[ttt] [DataShareKvTest] <> dseConnect onConnect proxy = " + proxy); + //dseProxy = proxy; + }, + onDisconnect:function (elementName) { + console.log("[ttt] [DataShareKvTest] <> dseConnect onDisconnect, elementName:" + elementName); + }, + onFailed:function (code) { + console.log("[ttt] [DataShareKvTest] <> dseConnect onFailed, code:" + code); + } +}; + +let dseConnectionId = -1; + +let dseWant = { + "bundleName": "com.samples.datasharekvtest", + "abilityName": "DataShareExtAbility", +} + +export function onCallback() { + console.info("[ttt] [DataShareKvTest] <> **** Observer on callback ****"); +} + +export function offCallback() { + console.info("[ttt] [DataShareKvTest] <> **** Observer off callback ****"); +} +export default class MainAbility extends Ability { + onCreate(want, launchParam) { + console.log("[ttt][DataShareKvTest] <> MainAbility onWindowStageCreate") + globalThis.abilityWant = want; + } + + onDestroy() { + console.log("[Demo] MainAbility onDestroy") + } + + onWindowStageCreate(windowStage) { + // Main window is created, set main page for this ability + // Main window is created, set main page for this ability + console.log("[ttt] [DataShareKvTest] <> MainAbility onWindowStageCreate") + globalThis.abilityContext = this.context; + + let context = this.context; +// console.log('[ttt] [DataShareKvTest] <> MainAbility onWindowStageCreate this.context.stageMode:' + context.stageMode); +// console.log('[ttt] [DataShareKvTest] <> MainAbility onWindowStageCreate this.context.bundleName:' + context.bundleName); +// console.log('[ttt] [DataShareKvTest] <> MainAbility onWindowStageCreate this.context.name:' + context.name); + + globalThis.connectDataShareExtAbility = (async () => { + console.log("[ttt] [DataShareKvTest] <> connectDataShareExtAbility begin"); +// globalThis.dsHelper = await dataShare.createDataShareHelper(this.context,dseUri); + + await dataShare.createDataShareHelper(globalThis.abilityContext, dseUri, (err,data)=>{ + globalThis.dsHelper = data; + console.info("[ttt] [DataShareKvTest] <> ----- 1 -----, globalThis.dsHelper = " + globalThis.dsHelper); + console.info("[ttt] [DataShareKvTest] <> ----- 2 -----, data = " + data); + console.info("[ttt] [DataShareKvTest] <> ----- 3 -----, err = " + err); + console.info("[ttt] [DataShareKvTest] <> ----- 4 -----, JSON.stringify(err) = " + JSON.stringify(err)); + }); + +// await dataShare.createDataShareHelper(this.context,dseUri).then((data)=>{ +// globalThis.dsHelper = data; +// console.info("[ttt] [DataShareKvTest] <> ----- 1 -----, globalThis.dsHelper = " + globalThis.dsHelper); +// console.info("[ttt] [DataShareKvTest] <> ----- 2 -----, data = " + data); +// }).catch((err)=>{ +// console.info("[ttt] [DataShareKvTest] <> ----- 3 -----, err = " + err); +// console.info("[ttt] [DataShareKvTest] <> ----- 4 -----, JSON.stringify(err) = " + JSON.stringify(err)); +// }) + dseConnectionId = await context.connectAbility(dseWant, dseConnect); +// console.log("[ttt] [DataShareKvTest] <> ----- 5 -----, globalThis.dsHelper = " + globalThis.dsHelper); +// console.log("[ttt] [DataShareKvTest] <> connectDataShareExtAbility end, dseConnectionId:" + dseConnectionId); + }) + + globalThis.disconnectDataShareExtAbility = (async () => { + console.log("[ttt] [DataShareKvTest] <> disconnectDataShareExtAbility begin"); + await context.disconnectAbility(dseConnectionId).then((data) => { + console.info("[ttt] [DataShareKvTest] <> disconnectDataShareExtAbility success:" + JSON.stringify(data)); + }).catch((error) => { + console.error("[ttt] [DataShareKvTest] <> disconnectDataShareExtAbility failed:" + JSON.stringify(error)); + }); + globalThis.dsHelper = null; + console.log("[ttt] [DataShareKvTest] <> disconnectDataShareExtAbility end, dseConnectionId:" + dseConnectionId); + }) + + globalThis.on = (async () => { + console.log("[ttt] [DataShareKvTest] <> on begin"); + if (globalThis.dsHelper == null) { + console.log("[ttt] [DataShareKvTest] <> on end, DSHelper is null"); + return; + } + await globalThis.dsHelper.on("dataChange", dseUri, onCallback); + console.log("[ttt] [DataShareKvTest] <> on end"); + }) + + globalThis.off = (async () => { + console.log("[ttt] [DataShareKvTest] <> off begin"); + if (globalThis.dsHelper == null) { + console.log("[ttt] [DataShareKvTest] <> off end, DSHelper is null"); + return; + } + await globalThis.dsHelper.off("dataChange", dseUri, offCallback); + console.log("[ttt] [DataShareKvTest] <> off end"); + }) + + globalThis.query = (async () => { + console.log("[ttt] [DataShareKvTest] <> query begin"); + let da = new dataSharePredicates.DataSharePredicates(); + if (da == null || da == undefined) { + console.log("[ttt] [DataShareKvTest] <> da is null or undefined"); + return; + } + let count = 0; + if (globalThis.dsHelper == null) { + console.log("[ttt] [DataShareKvTest] <> query end, DSHelper is null"); + return; + } + let result = await globalThis.dsHelper.query(dseUri, da, ["*"], (err,resultSet)=> { + if (err) { + console.error("[ttt] [DataShareKvTest] <> query err:" + JSON.stringify(err)); + console.log("[ttt] [DataShareKvTest] <> query data:" + resultSet); + console.log("[ttt] [DataShareKvTest] <> query data.rowCount:" + resultSet.rowCount); + console.log("[ttt] [DataShareKvTest] <> query data.columnCount:" + resultSet.columnCount); + } else { + console.log("[ttt] [DataShareKvTest] <> query data:" + resultSet); + console.log("[ttt] [DataShareKvTest] <> query data.rowCount:" + resultSet.rowCount); + console.log("[ttt] [DataShareKvTest] <> query data.columnCount:" + resultSet.columnCount); + console.log("[ttt] [DataShareKvTest] <> query resultSet.isclosed:" + JSON.stringify(resultSet.isClosed)); + resultSet.goToFirstRow(); + console.log("[ttt] [DataShareKvTest] <> query resultSet.getstring(0):" + JSON.stringify(resultSet.getString(0))); + console.log("[ttt] [DataShareKvTest] <> query resultSet.getstring(1):" + JSON.stringify(resultSet.getString(1))); + } + }); + if (result != undefined) { + count = result.rowCount; + } + console.log("[ttt] [DataShareKvTest] <> query end, count:" + count); + return count; + }) + + globalThis.insert = (async () => { + + console.log("[ttt] [DataShareKvTest] <> insert begin"); + if (globalThis.dsHelper == null) { + console.log("[ttt] [DataShareKvTest] <> insert end, DSHelper is null"); + return; + } + let vb = {"name":"ZhangSan", "age":28, "isStudent": true, "Binary": new Uint8Array([1,2,3])}; + + console.log("[ttt] [DataShareKvTest] <> insert vb:" + JSON.stringify(vb)); + console.log("[ttt] [DataShareKvTest] <> insert vb:" + JSON.stringify(vb)); + let ret = await globalThis.dsHelper.insert(dseUri, vb, (err,ret)=>{ + if(err){ + console.error("[ttt] [DataShareKvTest] <> insert err:" + JSON.stringify(err)); + console.log("[ttt] [DataShareKvTest] <> insert data:" + ret); + }else { + console.log("[ttt] [DataShareKvTest] <> insert data:" + ret); + } + }); + await globalThis.notifyChange(); + console.log("[ttt] [DataShareKvTest] <> insert end, ret:" + ret); + return ret; + }) + globalThis.batchInsert = (async () => { + console.log("[ttt] [DataShareClientTest] <> batchInsert begin"); + if (globalThis.dsHelper == null) { + console.log("[ttt] [DataShareClientTest] <> batchInsert end, DSHelper is null"); + return; + } + let people = new Array( + {"name": "LiSi", "age": 41, "isStudent": true, "Binary": new Uint8Array([1,2,3])}, + {"name": "WangWu", "age": 51, "isStudent": true, "Binary": new Uint8Array([1,2,3])}, + {"name": "ZhaoLiu", "age": 61, "isStudent": true, "Binary": new Uint8Array([1,2,3])}); + let ret = await globalThis.dsHelper.batchInsert(dseUri, people, globalThis.getBatchInsertCallback); + globalThis.notifyChange(); + console.log("[ttt] [DataShareClientTest] <> batchInsert end, result:" + ret); + return ret; + }) + globalThis.getBatchInsertCallback = (async (err, data) => { + console.log("[ttt] [DataShareClientTest] <> getBatchInsertCallback = " + data); + }) + + globalThis.update = (async () => { + console.log("[ttt] [DataShareKvTest] <> update begin"); + if (globalThis.dsHelper == null) { + console.log("[ttt] [DataShareKvTest] <> update end, DSHelper is null"); + return; + } + console.log("[ttt] [DataShareKvTest] <> update begin RPF666"); + let da = new dataSharePredicates.DataSharePredicates(); + console.log("[ttt] [DataShareKvTest] <> update begin RPF777"); + if (da == null || da == undefined) { + console.log("[ttt] [DataShareKvTest] <> da is null or u" + + "undefined"); + return; + } + da.equalTo("name", "ZhangSan"); + let updatevb = {"name":"lisa", "age":23, "isStudent": false, "Binary": new Uint8Array([3,4,5])}; + let ret = await globalThis.dsHelper.update(dseUri, da, updatevb, (err,ret)=>{ + if(err){ + console.error("[ttt] [DataShareKvTest] <> update err:" + JSON.stringify(err)); + console.log("[ttt] [DataShareKvTest] <> update data:" + ret); + }else { + console.log("[ttt] [DataShareKvTest] <> update data:" + ret); + } + }); + await globalThis.notifyChange(); + console.log("[ttt] [DataShareKvTest] <> update end, result:" + ret); + return ret; + }) + + globalThis.delete = (async () => { + console.log("[ttt] [DataShareKvTest] <> delete begin"); + if (globalThis.dsHelper == null) { + console.log("[ttt] [DataShareKvTest] <> delete end, DSHelper is null"); + return; + } + let da = new dataSharePredicates.DataSharePredicates(); + if (da == null || da == undefined) { + console.log("[ttt] [DataShareKvTest] <> da is null or undefined"); + return; + } + da.inKeys(["testkey0"]); + let ret = globalThis.dsHelper.delete(dseUri, da, (err,ret)=>{ + if(err){ + console.error("[ttt] [DataShareKvTest] <> delete err:" + JSON.stringify(err)); + console.log("[ttt] [DataShareKvTest] <> delete data:" + ret); + }else { + console.log("[ttt] [DataShareKvTest] <> delete data:" + ret); + } + }); + await globalThis.notifyChange(); + console.log("[ttt] [DataShareKvTest] <> delete end, result:" + ret); + return ret; + }) + windowStage.setUIContent(this.context, "pages/index", null) + } + + onWindowStageDestroy() { + // Main window is destroyed, release UI related resources + console.log("[ttt] [DataShareKvTest] <> MainAbility onWindowStageDestroy") + } + + onForeground() { + // Ability has brought to foreground + console.log("[ttt] [DataShareKvTest] <> MainAbility onForeground") + } + + onBackground() { + // Ability has back to background + console.log("[ttt] [DataShareKvTest] <> MainAbility onBackground") + } +}; \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/pages/index.ets b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/pages/index.ets new file mode 100644 index 0000000000000000000000000000000000000000..4178f5b766ada70052c7cb3830c0d7842f659d69 --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/ets/pages/index.ets @@ -0,0 +1,216 @@ +import dataShare from '@ohos.data.dataShare' +import dataSharePredicates from '@ohos.data.dataSharePredicates' + +@Entry +@Component +struct Index { + @State message: string = "Main thread message filed" + + build() { + Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { + Text('DataShare Extension Ability Test') + .fontSize(20) + .fontWeight(FontWeight.Bold) + + Text(`${this.message}`) + .fontSize(30) + .height('15%') + .width('100%') + .textAlign(TextAlign.Center) + + Row() { + Button() { + Text('Connect') + .fontSize(25) + .fontWeight(FontWeight.Bold) + }.type(ButtonType.Capsule) + .margin({ + top: 20 + }) + .width('45%') + .height('8%') + .backgroundColor('#0ddffb') + .onClick(async () => { + console.info('[ttt] [DataShareTest] <> Connect onclick enter') + this.message = 'Connect onclick' + await globalThis.connectDataShareExtAbility() + console.info('[ttt] [DataShareTest] <> Connect onclick leave') + }) + + Button() { + Text('Disconnect') + .fontSize(25) + .fontWeight(FontWeight.Bold) + } + .type(ButtonType.Capsule) + .margin({ + top: 20 + }) + .width('45%') + .height('8%') + .backgroundColor('#0ddffb') + .onClick(async () => { + console.info('[ttt] [DataShareTest] <> Disconnect onclick enter') + this.message = 'Disconnect onclick' + await globalThis.disconnectDataShareExtAbility() + console.info('[ttt] [DataShareTest] <> Disconnect onclick leave') + }) + } + + Row() { + Button() { + Text('On') + .fontSize(25) + .fontWeight(FontWeight.Bold) + } + .type(ButtonType.Capsule) + .margin({ + top: 20 + }) + .width('25%') + .height('8%') + .backgroundColor('#0ddffb') + .onClick(async () => { + console.info('[ttt] [DataShareTest] <> On onclick enter') + this.message = '~ On onclick' + try { + await globalThis.on(); + } catch (err) { + console.error('[ttt] [DataAbilityTest] Observer on catch(err)====>:' + err); + } + console.info('[ttt] [DataShareTest] <> On onclick leave') + }) + + Button() { + Text('Off') + .fontSize(25) + .fontWeight(FontWeight.Bold) + } + .type(ButtonType.Capsule) + .margin({ + top: 20 + }) + .width('25%') + .height('8%') + .backgroundColor('#0ddffb') + .onClick(async () => { + console.info('[ttt] [DataShareTest] <> Off onclick enter') + this.message = '~ Off onclick' + try { + await globalThis.off(); + } catch (err) { + console.error('[ttt] [DataAbilityTest] Observer Off catch(err)====>:' + err); + } + console.info('[ttt] [DataShareTest] <> Off onclick leave') + }) + } + + Row() { + Button() { + Text('Query') + .fontSize(25) + .fontWeight(FontWeight.Bold) + } + .type(ButtonType.Capsule) + .margin({ + top: 20 + }) + .width('45%') + .height('8%') + .backgroundColor('#0ddffb') + .onClick(async () => { + console.info('[ttt] [DataShareTest] <> Query onclick enter') + this.message = 'Query onclick' + let ret = await globalThis.query() + this.message += "\n\n Test Result: " + ret; + console.info('[ttt] [DataShareTest] <> Query onclick leave') + }) + + Button() { + Text('Insert') + .fontSize(25) + .fontWeight(FontWeight.Bold) + }.type(ButtonType.Capsule) + .margin({ + top: 20 + }) + .width('45%') + .height('8%') + .backgroundColor('#0ddffb') + .onClick(async () => { + console.info('[ttt] [DataShareTest] <> Insert onclick enter') + this.message = 'Insert onclick' + let ret = await globalThis.insert() + this.message += "\n\n Test Result: " + ret; + console.info('[ttt] [DataShareTest] <> Insert onclick leave') + }) + } + + Row() { + Button() { + Text('Update') + .fontSize(25) + .fontWeight(FontWeight.Bold) + } + .type(ButtonType.Capsule) + .margin({ + top: 20 + }) + .width('45%') + .height('8%') + .backgroundColor('#0ddffb') + .onClick(async () => { + console.info('[ttt] [DataShareTest] <> Update onclick enter') + this.message = 'Update onclick' + let ret = await globalThis.update() + this.message += "\n\n Test Result: " + ret; + console.info('[ttt] [DataShareTest] <> Update onclick leave') + }) + + Button() { + Text('Delete') + .fontSize(25) + .fontWeight(FontWeight.Bold) + } + .type(ButtonType.Capsule) + .margin({ + top: 20 + }) + .width('45%') + .height('8%') + .backgroundColor('#0ddffb') + .onClick(async () => { + console.info('[ttt] [DataShareTest] <> Delete onclick enter') + this.message = 'Delete onclick' + let ret = await globalThis.delete() + this.message += "\n\n Test Result: " + ret; + console.info('[ttt] [DataShareTest] <> Delete onclick leave') + }) + } + + Row() { + Button() { + Text('BatchInsert') + .fontSize(25) + .fontWeight(FontWeight.Bold) + } + .type(ButtonType.Capsule) + .margin({ + top: 20 + }) + .width('45%') + .height('8%') + .backgroundColor('#0ddffb') + .onClick(async () => { + console.info('[ttt] [DataShareTest] <> BatchInsert onclick enter') + this.message = 'BatchInsert onclick' + let ret = await globalThis.batchInsert() + this.message += "\n\n Test Result: " + ret; + console.info('[ttt] [DataShareTest] <> BatchInsert onclick leave') + }) + } + } + .width('100%') + .height('100%') + } +} \ No newline at end of file diff --git a/datashare/DataShareClient/entry/src/main/module.json5 b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/module.json5 similarity index 53% rename from datashare/DataShareClient/entry/src/main/module.json5 rename to datashare/DataShareKvTest/DataShareKvTest/entry/src/main/module.json5 index 5ecfdb699782fbc880690898179dd44b240f1930..83d82d8fc34f99ae8b08840e6d3f36956e05fb1b 100644 --- a/datashare/DataShareClient/entry/src/main/module.json5 +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/module.json5 @@ -3,36 +3,48 @@ "name": "entry", "type": "entry", "srcEntrance": "./ets/Application/AbilityStage.ts", - "description": "$string:phone_entry_dsc", + "description": "DataShareKvTest", "mainElement": "MainAbility", "deviceTypes": [ - "default" + "default", + "tablet" ], "deliveryWithInstall": true, "installationFree": false, - "uiSyntax": "ets", "pages": "$profile:main_pages", + "uiSyntax": "ets", "abilities": [ { "name": "MainAbility", "srcEntrance": "./ets/MainAbility/MainAbility.ts", - "description": "$string:phone_entry_main", + "description": "$string:MainAbility_desc", "icon": "$media:icon", - "label": "$string:entry_label", + "label": "$string:entry_desc", + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:white", "visible": true, "skills": [ { - "actions": [ - "action.system.home" - ], "entities": [ "entity.system.home" + ], + "actions": [ + "action.system.home" ] } - ], - "startWindowIcon": "$media:icon", - "startWindowBackground": "$color:color_1" + ] + } + ], + "extensionAbilities": [ + { + "srcEntrance": "./ets/DataShareExtAbility/DataShareExtAbility.ts", + "name": "DataShareExtAbility", + "icon": "$media:icon", + "description": "string:DataShareKvTest", + "type": "dataShare", + "uri": "datashare://com.samples.datasharekvtest.DataShare", + "visible": true } ] } -} +} \ No newline at end of file diff --git a/datashare/DataShareClient/entry/src/main/resources/base/element/datashare.json b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/resources/base/element/color.json similarity index 35% rename from datashare/DataShareClient/entry/src/main/resources/base/element/datashare.json rename to datashare/DataShareKvTest/DataShareKvTest/entry/src/main/resources/base/element/color.json index c946d63748451e44cc2861cf10f392df713f8224..62a137a61b90c14f109ed8c81d9d551ea0a5888a 100644 --- a/datashare/DataShareClient/entry/src/main/resources/base/element/datashare.json +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/resources/base/element/color.json @@ -1,8 +1,8 @@ { "color": [ { - "name": "color_1", - "value": "#ff0000" + "name": "white", + "value": "#FFFFFF" } ] } \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/resources/base/element/string.json b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..dddf9123aec0b6c9500eeacf289ac1bc58ff7a6a --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "entry_desc", + "value": "description" + }, + { + "name": "MainAbility_desc", + "value": "description" + }, + { + "name": "MainAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/datashare/DataShareClient/entry/src/main/resources/base/media/icon.png b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/resources/base/media/icon.png similarity index 100% rename from datashare/DataShareClient/entry/src/main/resources/base/media/icon.png rename to datashare/DataShareKvTest/DataShareKvTest/entry/src/main/resources/base/media/icon.png diff --git a/datashare/DataShareClient/entry/src/main/resources/base/profile/main_pages.json b/datashare/DataShareKvTest/DataShareKvTest/entry/src/main/resources/base/profile/main_pages.json similarity index 100% rename from datashare/DataShareClient/entry/src/main/resources/base/profile/main_pages.json rename to datashare/DataShareKvTest/DataShareKvTest/entry/src/main/resources/base/profile/main_pages.json diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/Application/AbilityStage.ts b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/Application/AbilityStage.ts new file mode 100644 index 0000000000000000000000000000000000000000..2e8d46539605384ae2d7c63067495ceb3003c0d9 --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/Application/AbilityStage.ts @@ -0,0 +1,7 @@ +import AbilityStage from "@ohos.application.AbilityStage" + +export default class TestAbilityStage extends AbilityStage { + onCreate() { + console.log("[Demo] TestAbilityStage onCreate") + } +} \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/TestAbility/TestAbility.ts b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/TestAbility/TestAbility.ts new file mode 100644 index 0000000000000000000000000000000000000000..301aaf6099dd794d856d2ab13bf3ef6f13e3ba78 --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/TestAbility/TestAbility.ts @@ -0,0 +1,45 @@ +import Ability from '@ohos.application.Ability' +import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' +import { Hypium } from '@ohos/hypium' +import testsuite from '../test/List.test' + +export default class TestAbility extends Ability { + onCreate(want, launchParam) { + console.log('TestAbility onCreate') + var abilityDelegator: any + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + var abilityDelegatorArguments: any + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + console.info('start run testcase!!!') + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite) + } + + onDestroy() { + console.log('TestAbility onDestroy') + } + + onWindowStageCreate(windowStage) { + console.log('TestAbility onWindowStageCreate') + windowStage.loadContent("TestAbility/pages/index", (err, data) => { + if (err.code) { + console.error('Failed to load the content. Cause:' + JSON.stringify(err)); + return; + } + console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data)) + }); + + globalThis.abilityContext = this.context; + } + + onWindowStageDestroy() { + console.log('TestAbility onWindowStageDestroy') + } + + onForeground() { + console.log('TestAbility onForeground') + } + + onBackground() { + console.log('TestAbility onBackground') + } +}; \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/TestAbility/pages/index.ets b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/TestAbility/pages/index.ets new file mode 100644 index 0000000000000000000000000000000000000000..733600abc03d7e777ef1a55eaddd77f4d1d7d66d --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/TestAbility/pages/index.ets @@ -0,0 +1,34 @@ +import router from '@ohos.router'; + +@Entry +@Component +struct Index { + aboutToAppear() { + console.info('TestAbility index aboutToAppear') + } + @State message: string = 'Hello World' + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + Button() { + Text('next page') + .fontSize(20) + .fontWeight(FontWeight.Bold) + }.type(ButtonType.Capsule) + .margin({ + top: 20 + }) + .backgroundColor('#0D9FFB') + .width('35%') + .height('5%') + .onClick(()=>{ + }) + } + .width('100%') + } + .height('100%') + } + } \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/TestRunner/OpenHarmonyTestRunner.ts b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/TestRunner/OpenHarmonyTestRunner.ts new file mode 100644 index 0000000000000000000000000000000000000000..bdbe7cf017a787a625bbf23cc62e825821b16d6b --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/TestRunner/OpenHarmonyTestRunner.ts @@ -0,0 +1,64 @@ +import TestRunner from '@ohos.application.testRunner' +import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' + +var abilityDelegator = undefined +var abilityDelegatorArguments = undefined + +function translateParamsToString(parameters) { + const keySet = new Set([ + '-s class', '-s notClass', '-s suite', '-s it', + '-s level', '-s testType', '-s size', '-s timeout', + '-s dryRun' + ]) + let targetParams = ''; + for (const key in parameters) { + if (keySet.has(key)) { + targetParams = `${targetParams} ${key} ${parameters[key]}` + } + } + return targetParams.trim() +} + +async function onAbilityCreateCallback() { + console.log("onAbilityCreateCallback"); +} + +async function addAbilityMonitorCallback(err: any) { + console.info("addAbilityMonitorCallback : " + JSON.stringify(err)) +} + +export default class OpenHarmonyTestRunner implements TestRunner { + constructor() { + } + + onPrepare() { + console.info("OpenHarmonyTestRunner OnPrepare ") + } + + async onRun() { + console.log('OpenHarmonyTestRunner onRun run') + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + var testAbilityName = abilityDelegatorArguments.bundleName + '.TestAbility' + let lMonitor = { + abilityName: testAbilityName, + onAbilityCreate: onAbilityCreateCallback, + }; + abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback) + var cmd = 'aa start -d 0 -a TestAbility' + ' -b ' + abilityDelegatorArguments.bundleName + cmd += ' '+translateParamsToString(abilityDelegatorArguments.parameters) + var debug = abilityDelegatorArguments.parameters["-D"] + if (debug == 'true') + { + cmd += ' -D' + } + console.info('cmd : '+cmd) + abilityDelegator.executeShellCommand(cmd, + (err: any, d: any) => { + console.info('executeShellCommand : err : ' + JSON.stringify(err)); + console.info('executeShellCommand : data : ' + d.stdResult); + console.info('executeShellCommand : data : ' + d.exitCode); + }) + console.info('OpenHarmonyTestRunner onRun end') + } +}; \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/module.json5.ftl b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/module.json5.ftl new file mode 100644 index 0000000000000000000000000000000000000000..73bc4cf36eef25035357e0c4412f3c94dd721682 --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/module.json5.ftl @@ -0,0 +1,34 @@ +{ + "module": { + "name": "${moduleName}_test", + "type": "feature", + "srcEntrance": "./ets/Application/AbilityStage.ts", + "description": "$string:entry_test_desc", + "mainElement": "TestAbility", + "deviceTypes": [${deviceTypes ?replace("[","")?replace("]","")}], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:test_pages", + "uiSyntax": "ets", + "abilities": [ + { + "name": "TestAbility", + "srcEntrance": "./ets/TestAbility/TestAbility.ts", + "description": "$string:TestAbility_desc", + "icon": "$media:icon", + "label": "$string:TestAbility_label", + "visible": true, + "skills": [ + { + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + } + ] + } + ] + } +} diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/test/Ability.test.ets b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/test/Ability.test.ets new file mode 100644 index 0000000000000000000000000000000000000000..df49ed0fbb519c98ce90324b482aabaa8745cf6a --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/test/Ability.test.ets @@ -0,0 +1,13 @@ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' + +export default function abilityTest() { + describe('ActsAbilityTest', function () { + it('assertContain',0, function () { + console.info("it begin") + let a = 'abc' + let b = 'b' + expect(a).assertContain(b) + expect(a).assertEqual(a) + }) + }) +} \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/test/List.test.ets b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 0000000000000000000000000000000000000000..d766fe249dfc3ada636f27e64d9b64451ce32c93 --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,5 @@ +import abilityTest from './Ability.test' + +export default function testsuite() { + abilityTest() +} \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/module.json5 b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/module.json5 new file mode 100644 index 0000000000000000000000000000000000000000..8547b852e5723e3049b90d6dec39f452a4376db8 --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/module.json5 @@ -0,0 +1,39 @@ +{ + "module": { + "name": "entry_test", + "type": "feature", + "srcEntrance": "./ets/TestAbility/TestAbility.ts", + "description": "$string:entry_test_desc", + "mainElement": "TestAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:test_pages", + "uiSyntax": "ets", + "abilities": [ + { + "name": "TestAbility", + "srcEntrance": "./ets/TestAbility/TestAbility.ts", + "description": "$string:TestAbility_desc", + "icon": "$media:icon", + "label": "$string:TestAbility_label", + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:white", + "visible": true, + "skills": [ + { + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + } + ] + } + ] + } +} diff --git a/datashare/rdbServer/src/main/resources/base/element/datashare.json b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/resources/base/element/color.json similarity index 35% rename from datashare/rdbServer/src/main/resources/base/element/datashare.json rename to datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/resources/base/element/color.json index c946d63748451e44cc2861cf10f392df713f8224..1bbc9aa9617e97c45440e1d3d66afc1154837012 100644 --- a/datashare/rdbServer/src/main/resources/base/element/datashare.json +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/resources/base/element/color.json @@ -1,8 +1,8 @@ -{ - "color": [ - { - "name": "color_1", - "value": "#ff0000" - } - ] +{ + "color": [ + { + "name": "white", + "value": "#FFFFFF" + } + ] } \ No newline at end of file diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/resources/base/element/string.json b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..36d4230c53e9f5a07ae343ad8dc9808341975e3b --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "entry_test_desc", + "value": "test ability description" + }, + { + "name": "TestAbility_desc", + "value": "the test ability" + }, + { + "name": "TestAbility_label", + "value": "test label" + } + ] +} \ No newline at end of file diff --git a/datashare/rdbServer/src/main/resources/base/media/icon.png b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/resources/base/media/icon.png similarity index 100% rename from datashare/rdbServer/src/main/resources/base/media/icon.png rename to datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/resources/base/media/icon.png diff --git a/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/resources/base/profile/test_pages.json b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/resources/base/profile/test_pages.json new file mode 100644 index 0000000000000000000000000000000000000000..fcef82b4dfc18e28106ff9ecd1c8b48ec74d18a4 --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/entry/src/ohosTest/resources/base/profile/test_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "TestAbility/pages/index" + ] +} diff --git a/datashare/DataShareClient/hvigorfile.js b/datashare/DataShareKvTest/DataShareKvTest/hvigorfile.js similarity index 100% rename from datashare/DataShareClient/hvigorfile.js rename to datashare/DataShareKvTest/DataShareKvTest/hvigorfile.js diff --git a/datashare/DataShareKvTest/DataShareKvTest/package-lock.json b/datashare/DataShareKvTest/DataShareKvTest/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..07235df513133600075011a4818fb1f2ad1d49f8 --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/package-lock.json @@ -0,0 +1,1227 @@ +{ + "name": "datasharekvtest", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ohos/hos-sdkmanager-common": { + "version": "1.0.4", + "resolved": "https://repo.harmonyos.com/npm/@ohos/hos-sdkmanager-common/-/@ohos/hos-sdkmanager-common-1.0.4.tgz", + "integrity": "sha512-LWrfF8Js+u54BcEAdyjzsA81iGBA4LPvQdQ1ig/pX6mvTieUPSvtjtAzdI8nnGVmJRLrHwAMHEO/syd9d8UAFw==", + "requires": { + "@ohos/sdkmanager-common": "^1.1.8" + } + }, + "@ohos/hvigor": { + "version": "1.1.6", + "resolved": "https://repo.harmonyos.com/npm/@ohos/hvigor/-/@ohos/hvigor-1.1.6.tgz", + "integrity": "sha512-/n7cSH3Tc1p5CEgELeJof2MLBYbu96Enmkga8PA1BFoBZnPF+SirHwJyynhtUtOJQOyFkBFQOXmwzq5o2Pdvug==", + "requires": { + "@ohos/hvigor-base": "1.1.6", + "fs-extra": "10.0.0", + "interpret": "1.4.0", + "liftoff": "4.0.0", + "mute-stdout": "1.0.0", + "pretty-hrtime": "1.0.0", + "v8flags": "3.2.0", + "yargs": "7.1.2" + } + }, + "@ohos/hvigor-base": { + "version": "1.1.6", + "resolved": "https://repo.harmonyos.com/npm/@ohos/hvigor-base/-/@ohos/hvigor-base-1.1.6.tgz", + "integrity": "sha512-VU1jdgb+86RZ6fsea1kKP3Dx77DAQmSwGQoFEpjRVPP6aLXpRfM8aLS8DNlpMVEw1dFVQhOOsZ22thcbxinSOA==", + "requires": { + "json5": "2.2.0", + "log4js": "6.4.1", + "once": "1.4.0", + "pretty-hrtime": "1.0.0" + } + }, + "@ohos/hvigor-ohos-plugin": { + "version": "1.1.6", + "resolved": "https://repo.harmonyos.com/npm/@ohos/hvigor-ohos-plugin/-/@ohos/hvigor-ohos-plugin-1.1.6.tgz", + "integrity": "sha512-Bnm1932VypATJf/Cp+sTzsX/oHFojAW7dAbEgfQpwQsyXmQbwXEf0zGnbrjVD0WKtxVVpO+znhpZvrDhOiUXlg==", + "requires": { + "@ohos/hos-sdkmanager-common": "1.0.4", + "@ohos/hvigor-base": "1.1.6", + "@ohos/sdkmanager-common": "1.1.8", + "adm-zip": "0.5.9", + "ajv": "8.10.0", + "execa": "5.1.1", + "fast-xml-parser": "4.0.3", + "fs-extra": "10.0.0", + "glob": "7.2.0", + "iconv-lite": "0.6.3", + "json5": "2.2.0", + "lodash": "4.17.21", + "pretty-hrtime": "1.0.3", + "resolve-package-path": "4.0.3" + }, + "dependencies": { + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==" + } + } + }, + "@ohos/hypium": { + "version": "1.0.1", + "resolved": "https://repo.harmonyos.com/npm/@ohos/hypium/-/@ohos/hypium-1.0.1.tgz", + "integrity": "sha512-HaztFbgwYZCdVlayXirBlmJaNTXUO65qRgYnUmrhWGEzG7wFU2fyFbeXgQeYMVWFXgeezFOoHAPoS96TEE7TIQ==" + }, + "@ohos/sdkmanager-common": { + "version": "1.1.8", + "resolved": "https://repo.harmonyos.com/npm/@ohos/sdkmanager-common/-/@ohos/sdkmanager-common-1.1.8.tgz", + "integrity": "sha512-mxq69+6Zg/ybeQGnOtkBzOTbNBkEdiYehRKWsAD/je53v1W+ahauLqe90pNZEiBuVYugzb6z2EaJtAXYZtE8gQ==" + }, + "adm-zip": { + "version": "0.5.9", + "resolved": "https://repo.huaweicloud.com/repository/npm/adm-zip/-/adm-zip-0.5.9.tgz", + "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==" + }, + "ajv": { + "version": "8.10.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/ajv/-/ajv-8.10.0.tgz", + "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==" + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://repo.huaweicloud.com/repository/npm/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "date-format": { + "version": "4.0.13", + "resolved": "https://repo.huaweicloud.com/repository/npm/date-format/-/date-format-4.0.13.tgz", + "integrity": "sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://repo.huaweicloud.com/repository/npm/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://repo.huaweicloud.com/repository/npm/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-xml-parser": { + "version": "4.0.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/fast-xml-parser/-/fast-xml-parser-4.0.3.tgz", + "integrity": "sha512-xhQbg3a/EYNHwK0cxIG1nZmVkHX/0tWihamn5pU4Mhd9KEVE2ga8ZJiqEUgB2sApElvAATOdMTLjgqIpvYDUkQ==", + "requires": { + "strnum": "^1.0.5" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "5.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/findup-sync/-/findup-sync-5.0.0.tgz", + "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.3", + "micromatch": "^4.0.4", + "resolve-dir": "^1.0.1" + } + }, + "fined": { + "version": "2.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/fined/-/fined-2.0.0.tgz", + "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==", + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^5.0.0", + "object.defaults": "^1.1.0", + "object.pick": "^1.3.0", + "parse-filepath": "^1.0.2" + } + }, + "flagged-respawn": { + "version": "2.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/flagged-respawn/-/flagged-respawn-2.0.0.tgz", + "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==" + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://repo.huaweicloud.com/repository/npm/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", + "requires": { + "for-in": "^1.0.1" + } + }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "dependencies": { + "jsonfile": { + "version": "6.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "get-intrinsic": { + "version": "1.1.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "glob": { + "version": "7.2.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://repo.huaweicloud.com/repository/npm/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://repo.huaweicloud.com/repository/npm/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://repo.huaweicloud.com/repository/npm/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://repo.huaweicloud.com/repository/npm/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://repo.huaweicloud.com/repository/npm/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-core-module": { + "version": "2.10.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "json5": { + "version": "2.2.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "liftoff": { + "version": "4.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/liftoff/-/liftoff-4.0.0.tgz", + "integrity": "sha512-rMGwYF8q7g2XhG2ulBmmJgWv25qBsqRbDn5gH0+wnuyeFt7QBJlHJmtg5qEdn4pN6WVAUMgXnIxytMFRX9c1aA==", + "requires": { + "extend": "^3.0.2", + "findup-sync": "^5.0.0", + "fined": "^2.0.0", + "flagged-respawn": "^2.0.0", + "is-plain-object": "^5.0.0", + "object.map": "^1.0.1", + "rechoir": "^0.8.0", + "resolve": "^1.20.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://repo.huaweicloud.com/repository/npm/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "log4js": { + "version": "6.4.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/log4js/-/log4js-6.4.1.tgz", + "integrity": "sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==", + "requires": { + "date-format": "^4.0.3", + "debug": "^4.3.3", + "flatted": "^3.2.4", + "rfdc": "^1.3.0", + "streamroller": "^3.0.2" + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "requires": { + "kind-of": "^6.0.2" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://repo.huaweicloud.com/repository/npm/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://repo.huaweicloud.com/repository/npm/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mute-stdout": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/mute-stdout/-/mute-stdout-1.0.0.tgz", + "integrity": "sha512-MaSQenn0f9oxIjtCufclpV00MuYTiHaXPbdcfPIM+quMqoa8cXywjHHx4LhhIAZlXqPWMdcUpYviajfmHtHRJw==" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://repo.huaweicloud.com/repository/npm/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "requires": { + "lcid": "^1.0.0" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==" + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://repo.huaweicloud.com/repository/npm/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pretty-hrtime": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/pretty-hrtime/-/pretty-hrtime-1.0.0.tgz", + "integrity": "sha512-CU2l5CYUAptUYq/671ajexQfXuxJFwwg0n243Kdkx8bTjeenedsWgu8TGHPm03vLfNtk3aTXgySKPp3Usykudw==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "requires": { + "resolve": "^1.20.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-package-path": { + "version": "4.0.3", + "resolved": "https://repo.huaweicloud.com/repository/npm/resolve-package-path/-/resolve-package-path-4.0.3.tgz", + "integrity": "sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==", + "requires": { + "path-root": "^0.1.1" + } + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://repo.huaweicloud.com/repository/npm/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" + }, + "streamroller": { + "version": "3.1.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/streamroller/-/streamroller-3.1.2.tgz", + "integrity": "sha512-wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A==", + "requires": { + "date-format": "^4.0.13", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strnum": { + "version": "1.0.5", + "resolved": "https://repo.huaweicloud.com/repository/npm/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://repo.huaweicloud.com/repository/npm/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://repo.huaweicloud.com/repository/npm/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "yargs": { + "version": "7.1.2", + "resolved": "https://repo.huaweicloud.com/repository/npm/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.1" + } + }, + "yargs-parser": { + "version": "5.0.1", + "resolved": "https://repo.huaweicloud.com/repository/npm/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "requires": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + } + } +} diff --git a/datashare/DataShareKvTest/DataShareKvTest/package.json b/datashare/DataShareKvTest/DataShareKvTest/package.json new file mode 100644 index 0000000000000000000000000000000000000000..f7d407947de12252658dc216ec7e261140c3e74f --- /dev/null +++ b/datashare/DataShareKvTest/DataShareKvTest/package.json @@ -0,0 +1,18 @@ +{ + "license":"ISC", + "devDependencies":{}, + "name":"datasharekvtest", + "ohos":{ + "org":"huawei", + "directoryLevel":"project", + "buildTool":"hvigor" + }, + "description":"example description", + "repository":{}, + "version":"1.0.0", + "dependencies":{ + "@ohos/hypium":"1.0.1", + "@ohos/hvigor-ohos-plugin":"1.1.6", + "@ohos/hvigor":"1.1.6" + } +} \ No newline at end of file diff --git a/datashare/DataShareKvTest/recvDatasharekv.bat b/datashare/DataShareKvTest/recvDatasharekv.bat new file mode 100644 index 0000000000000000000000000000000000000000..749eb66639f8782f54c58d7d16b9497b1cb38846 --- /dev/null +++ b/datashare/DataShareKvTest/recvDatasharekv.bat @@ -0,0 +1,9 @@ +hdc shell mount -o remount,rw / + +hdc file recv /data/app/el2/100/database/com.samples.datasharekvtest/kvdb/2c77515efb1c9f5f9b5fdc9d2f78edae26e57c53dd63b19a9b0728f71f2aa42f/single_ver/main/gen_natural_store.db + +hdc file recv /data/app/el2/100/database/com.samples.datasharekvtest/kvdb/2c77515efb1c9f5f9b5fdc9d2f78edae26e57c53dd63b19a9b0728f71f2aa42f/single_ver/main/gen_natural_store.db-shm + +hdc file recv /data/app/el2/100/database/com.samples.datasharekvtest/kvdb/2c77515efb1c9f5f9b5fdc9d2f78edae26e57c53dd63b19a9b0728f71f2aa42f/single_ver/main/gen_natural_store.db-wal + +pause diff --git a/datashare/DataShareKvTest/set_hilog_flow_off.bat b/datashare/DataShareKvTest/set_hilog_flow_off.bat new file mode 100644 index 0000000000000000000000000000000000000000..e7091f56d1f1f93f7df6e00a4b4bac845c45773b --- /dev/null +++ b/datashare/DataShareKvTest/set_hilog_flow_off.bat @@ -0,0 +1,5 @@ +@echo off +hdc shell hilog -r +hdc shell hilog -G 100M +hdc shell hilog -Q pidoff +pause \ No newline at end of file diff --git "a/datashare/DataShareKvTest/\346\225\260\346\215\256\345\272\223\345\257\274\345\207\272 - \345\211\257\346\234\254.bat" "b/datashare/DataShareKvTest/\346\225\260\346\215\256\345\272\223\345\257\274\345\207\272 - \345\211\257\346\234\254.bat" new file mode 100644 index 0000000000000000000000000000000000000000..c99733f162c39108073c0b30cd8e5f7297d83da9 --- /dev/null +++ "b/datashare/DataShareKvTest/\346\225\260\346\215\256\345\272\223\345\257\274\345\207\272 - \345\211\257\346\234\254.bat" @@ -0,0 +1,10 @@ +hdc target mount +hdc shell mount -o rw,remount / + +echo "send files " + +hdc file recv /data/app/el2/100/database/com.example.datasharekvtest/entry/kvdb/2c77515efb1c9f5f9b5fdc9d2f78edae26e57c53dd63b19a9b0728f71f2aa42f/single_ver/main/gen_natural_store.db C:\Users\songruirui\Desktop\DataShareKvTest +hdc file recv /data/app/el2/100/database/com.example.datasharekvtest/entry/kvdb/2c77515efb1c9f5f9b5fdc9d2f78edae26e57c53dd63b19a9b0728f71f2aa42f/single_ver/main/gen_natural_store.db-shm C:\Users\songruirui\Desktop\DataShareKvTest +hdc file recv /data/app/el2/100/database/com.example.datasharekvtest/entry/kvdb/2c77515efb1c9f5f9b5fdc9d2f78edae26e57c53dd63b19a9b0728f71f2aa42f/single_ver/main/gen_natural_store.db-wal C:\Users\songruirui\Desktop\DataShareKvTest +pause +echo "chmod" diff --git a/datashare/DataShareTest/.gitignore b/datashare/DataShareTest/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..2981358453339f3410b8e9f950599013a9ee0a99 --- /dev/null +++ b/datashare/DataShareTest/.gitignore @@ -0,0 +1,4 @@ +/node_modules +/local.properties +/.idea +**/build \ No newline at end of file diff --git a/datashare/DataShareTest/AppScope/app.json5 b/datashare/DataShareTest/AppScope/app.json5 new file mode 100644 index 0000000000000000000000000000000000000000..f1771cd2a4510090a5b6b756b4d2f8811b2af7fd --- /dev/null +++ b/datashare/DataShareTest/AppScope/app.json5 @@ -0,0 +1,11 @@ +{ + "app": { + "bundleName": "com.ohos.data.datasharetest", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name", + "distributedNotificationEnabled": true + } +} diff --git a/datashare/DataShareTest/AppScope/resources/base/element/string.json b/datashare/DataShareTest/AppScope/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..270eb8ee4f3024c44e5135f26eddc81da04ea84b --- /dev/null +++ b/datashare/DataShareTest/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "DataShareTest" + } + ] +} diff --git a/datashare/DataShareTest/AppScope/resources/base/media/app_icon.png b/datashare/DataShareTest/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/datashare/DataShareTest/AppScope/resources/base/media/app_icon.png differ diff --git a/datashare/DataShareTest/app1-signed.hap b/datashare/DataShareTest/app1-signed.hap new file mode 100644 index 0000000000000000000000000000000000000000..0b174ea7eb888fafe61bc66c51a0ee00fdb3e041 Binary files /dev/null and b/datashare/DataShareTest/app1-signed.hap differ diff --git a/datashare/DataShareTest/build-profile.json5 b/datashare/DataShareTest/build-profile.json5 new file mode 100644 index 0000000000000000000000000000000000000000..9bbe2ea93da4efdd8e8683a9f9f1536a1826bed0 --- /dev/null +++ b/datashare/DataShareTest/build-profile.json5 @@ -0,0 +1,40 @@ +{ + "app": { + "signingConfigs": [ + { + "name": "default", + "material": { + "certpath": "C:\\Users\\songruirui\\.ohos\\config\\openharmony\\auto_ohos_default.cer", + "storePassword": "0000001B044E101BB8655B2A0FC81D3D80572F31A4A5CF2164C5C49DBB53DC8EB8EDC2CE59B5FC80BA8C4B", + "keyAlias": "debugKey", + "keyPassword": "0000001B9A0618962040A418B5669BF6A8FA11A1FAF0DDC1A9E54368C427A5EBEC531057563FD7B0275678", + "profile": "C:\\Users\\songruirui\\.ohos\\config\\openharmony\\auto_ohos_default_com.ohos.data.datasharetest.p7b", + "signAlg": "SHA256withECDSA", + "storeFile": "C:\\Users\\songruirui\\.ohos\\config\\openharmony\\auto_ohos_default.p12" + } + } + ], + "compileSdkVersion": 9, + "compatibleSdkVersion": 9, + "products": [ + { + "name": "default", + "signingConfig": "default", + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/datashare/rdbServer/.gitignore b/datashare/DataShareTest/entry/.gitignore similarity index 100% rename from datashare/rdbServer/.gitignore rename to datashare/DataShareTest/entry/.gitignore diff --git a/datashare/rdbServer/build-profile.json5 b/datashare/DataShareTest/entry/build-profile.json5 similarity index 53% rename from datashare/rdbServer/build-profile.json5 rename to datashare/DataShareTest/entry/build-profile.json5 index 7dd0348781a463b2630c2392dd65b9cd53e0c015..308a68d1b0e0d2a98c8ff91e5c2fbcf6affd9105 100644 --- a/datashare/rdbServer/build-profile.json5 +++ b/datashare/DataShareTest/entry/build-profile.json5 @@ -1,9 +1,13 @@ { "apiType": 'stageMode', -// showInCenter: true, + "buildOption": { + }, "targets": [ { "name": "default", + }, + { + "name": "ohosTest", } ] } \ No newline at end of file diff --git a/datashare/rdbServer/hvigorfile.js b/datashare/DataShareTest/entry/hvigorfile.js similarity index 63% rename from datashare/rdbServer/hvigorfile.js rename to datashare/DataShareTest/entry/hvigorfile.js index 36336b0bd10996a245b250c50a65341867532d20..d7720ee6a7aad5c617d1fd2f6fc8c87067bfa32c 100644 --- a/datashare/rdbServer/hvigorfile.js +++ b/datashare/DataShareTest/entry/hvigorfile.js @@ -1,2 +1,2 @@ // Script for compiling build behavior. It is built in the build plug-in and cannot be modified currently. -module.exports = require('@ohos/hvigor-ohos-plugin').hapTasks \ No newline at end of file +module.exports = require('@ohos/hvigor-ohos-plugin').hapTasks diff --git a/datashare/DataShareTest/entry/package-lock.json b/datashare/DataShareTest/entry/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..0aeadf03800791aa81fc673856ea9fad745dab82 --- /dev/null +++ b/datashare/DataShareTest/entry/package-lock.json @@ -0,0 +1,5 @@ +{ + "name": "DataShareTest", + "version": "1.0.0", + "lockfileVersion": 1 +} diff --git a/datashare/DataShareTest/entry/package.json b/datashare/DataShareTest/entry/package.json new file mode 100644 index 0000000000000000000000000000000000000000..3449d81ccbff97b42d3bc0e5e400b90beeb343b9 --- /dev/null +++ b/datashare/DataShareTest/entry/package.json @@ -0,0 +1,14 @@ +{ + "license":"ISC", + "devDependencies":{}, + "name":"DataShareTest", + "ohos":{ + "org":"huawei", + "directoryLevel":"module", + "buildTool":"hvigor" + }, + "description":"example description", + "repository":{}, + "version":"1.0.0", + "dependencies":{} +} \ No newline at end of file diff --git a/datashare/rdbServer/src/main/ets/Application/AbilityStage.ts b/datashare/DataShareTest/entry/src/main/ets/Application/AbilityStage.ts similarity index 97% rename from datashare/rdbServer/src/main/ets/Application/AbilityStage.ts rename to datashare/DataShareTest/entry/src/main/ets/Application/AbilityStage.ts index f4a7d597f14611ecdb24a2a0aad8dd784f977262..aa5acf55b7f8453e2795405b3ce9a14931ce8524 100644 --- a/datashare/rdbServer/src/main/ets/Application/AbilityStage.ts +++ b/datashare/DataShareTest/entry/src/main/ets/Application/AbilityStage.ts @@ -1,7 +1,7 @@ -import AbilityStage from "@ohos.application.AbilityStage" - -export default class MyAbilityStage extends AbilityStage { - onCreate() { - console.log("[ttt] [DataShareTest] MyAbilityStage onCreate"); - } +import AbilityStage from "@ohos.application.AbilityStage" + +export default class MyAbilityStage extends AbilityStage { + onCreate() { + console.log("[ttt] [DataShareTest] MyAbilityStage onCreate"); + } } \ No newline at end of file diff --git a/datashare/rdbServer/src/main/ets/DataShareExtAbility/DataShareExtAbility.ts b/datashare/DataShareTest/entry/src/main/ets/DataShareExtAbility/DataShareExtAbility.ts similarity index 49% rename from datashare/rdbServer/src/main/ets/DataShareExtAbility/DataShareExtAbility.ts rename to datashare/DataShareTest/entry/src/main/ets/DataShareExtAbility/DataShareExtAbility.ts index 1c8c8964003077f341126e78a0b48a01126ea81d..ba76efa9ce01e0e569dca7387ffbc64f4a5ff7b4 100644 --- a/datashare/rdbServer/src/main/ets/DataShareExtAbility/DataShareExtAbility.ts +++ b/datashare/DataShareTest/entry/src/main/ets/DataShareExtAbility/DataShareExtAbility.ts @@ -1,52 +1,48 @@ import Extension from '@ohos.application.DataShareExtensionAbility' -import distributedData from '@ohos.data.distributedData'; -import dataAbility from '@ohos.data.dataAbility'; import rdb from '@ohos.data.rdb'; -import hilog from '@ohos.hilog'; -import featureAbility from '@ohos.ability.featureAbility' -import fileIo from '@ohos.fileio' -import deviceManager from '@ohos.distributedHardware.deviceManager'; -import dataShare from '@ohos.data.dataShare' let DB_NAME = "DB00.db"; let TBL_NAME = "TBL00"; +let TBL1_NAME = "TBL01"; let DDL_TBL_CREATE = "CREATE TABLE IF NOT EXISTS " + TBL_NAME + " (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)"; -const BUNDLE_NAME = 'com.samples.datasharetest'; - -let dseUri = ("datashare:///com.samples.datasharetest.DataShare"); - - +let DDL_TBL1_CREATE = "CREATE TABLE IF NOT EXISTS " ++ TBL1_NAME ++ " (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)"; let rdbStore; -let result; -let dsHelperr; -export default class DataShareExtAbility extends Extension { - private rdbStore_; - private kvdbStore_; - - onCreate(want, callback) { +export default class +extends Extension { + async onCreate(want, callback) { console.log('[ttt] [DataShareTest] <> DataShareExtAbility onCreate, want:' + want.abilityName); - console.log('[ttt] [DataShareTest] <> this.context:' + this.context); - result = this.context.cacheDir + '/datashare.txt' - console.info('[ttt] [DataAbilityTest] <> resultpath = ' + result); + console.log("[ttt] [DataShareTest] DataShareExtAbility onCreate this.context.databaseDir:" + this.context.databaseDir); +// @ts-ignore + rdbStore = await rdb.getRdbStore(this.context, { name: DB_NAME }, 1); + console.log('[ttt] [DataShareTest] <> DataShareExtAbility getRdbStore done'); + await rdbStore.executeSql(DDL_TBL_CREATE, []); + console.log('[ttt] [DataShareTest] <> DataShareExtAbility executeSql done'); + await rdbStore.executeSql(DDL_TBL1_CREATE, []); + let err = {"code":0}; + callback(err); + console.log('[ttt] [DataShareTest] <> DataShareExtAbility onCreate end'); + } - rdb.getRdbStore(this.context, { - name: DB_NAME - }, 1, function (err, data) { - console.log('[ttt] [DataShareTest] <> DataShareExtAbility onCreate, getRdbStore done err:' + JSON.stringify(err)); - console.log('[ttt] [DataShareTest] <> DataShareExtAbility onCreate, getRdbStore done data:' + JSON.stringify(data)); - rdbStore = data; - rdbStore.executeSql(DDL_TBL_CREATE, [], function (err) { - console.log('[ttt] [DataShareTest] <> DataShareExtAbility onCreate, executeSql done err:' + JSON.stringify(err)); - }); - rdbStore.setDistributedTables(["TBL00"], (err,data) => { - console.info("[ttt] [DataShareTest] <> setDistributedTables err = " + err); - console.info("[ttt] [DataShareTest] <> setDistributedTables data = " + data); - }); - callback(); - }); + async getFileTypes(uri: string, mimeTypeFilter: string, callback) { + console.info('[ttt] [DataShareTest] <> [getFileTypes] enter'); + let ret = new Array("type01", "type00", "type03"); + console.info('[ttt] [DataShareTest] <> [getFileTypes] leave, ret:' + ret); + let err = {"code":0}; + await callback(err,ret); + return ret; + } + + async openFile(uri: string, mode: string, callback) { + console.info('[ttt] [DataShareTest] <> [openFile] enter'); + let ret = 12345; + let err = {"code":0}; + await callback(err,ret); + console.info('[ttt] [DataShareTest] <> [openFile] leave, ret:' + ret); } async insert(uri, value, callback) { @@ -59,23 +55,15 @@ export default class DataShareExtAbility extends Extension { console.info('[ttt] [DataShareTest] <> [insert] value = ' + JSON.stringify(value)); await rdbStore.insert(TBL_NAME, value, function (err, ret) { console.info('[ttt] [DataShareTest] <> [insert] callback ret:' + ret); + if (callback != undefined) { callback(err, ret); } }); - dataShare.createDataShareHelper(this.context, dseUri, (err,data)=>{ - console.info("[ttt] [DataShareTest] <> -- insert --, globalThis.dsHelper = " + dsHelperr); - console.info("[ttt] [DataShareTest] <> -- insert --, data = " + data); - console.info("[ttt] [DataShareTest] <> -- insert --, err = " + err); - console.info("[ttt] [DataShareTest] <> -- insert --, JSON.stringify(err) = " + JSON.stringify(err)); - data.notifyChange(dseUri,(err,data) => { - console.log("[ttt] [DataShareClientTest] <> insert notifyChange = " + data); - console.log("[ttt] [DataShareClientTest] <> insert notifyChange json= " + JSON.stringify(data)); - }) - }); + console.info('[ttt] [DataShareTest] <> [insert] leave'); } - update(uri, predicates, value, callback) { + async update(uri, predicates, value, callback) { console.info('[ttt] [DataShareTest] <> [update] enter'); if (predicates == null || predicates == undefined) { console.info('[ttt] [DataShareTest] <> [update] invalid predicates'); @@ -86,7 +74,7 @@ export default class DataShareExtAbility extends Extension { console.info('[ttt] [DataShareTest] <> [update] predicates = ' + predicates); console.info('[ttt] [DataShareTest] <> [update] predicates = ' + JSON.stringify(predicates)); try { - rdbStore.update(TBL_NAME,value, predicates, function (err, ret) { + await rdbStore.update(TBL_NAME,value, predicates, function (err, ret) { console.info('[ttt] [DataShareTest] <> [update] callback ret:' + ret); console.info('[ttt] [DataShareTest] <> [update] callback err:' + err); if (callback != undefined) { @@ -96,20 +84,10 @@ export default class DataShareExtAbility extends Extension { } catch (err) { console.error('[ttt] [DataShareTest] <> [update] error' + err); } - dataShare.createDataShareHelper(this.context, dseUri, (err,data)=>{ - console.info("[ttt] [DataShareTest] <> -- update --, globalThis.dsHelper = " + dsHelperr); - console.info("[ttt] [DataShareTest] <> -- update --, data = " + data); - console.info("[ttt] [DataShareTest] <> -- update --, err = " + err); - console.info("[ttt] [DataShareTest] <> -- update --, JSON.stringify(err) = " + JSON.stringify(err)); - data.notifyChange(dseUri,(err,data) => { - console.log("[ttt] [DataShareClientTest] <> update notifyChange = " + data); - console.log("[ttt] [DataShareClientTest] <> update notifyChange json= " + JSON.stringify(data)); - }) - }); console.info('[ttt] [DataShareTest] <> [update] leave'); } - delete(uri, predicates, callback) { + async delete(uri, predicates, callback) { console.info('[ttt] [DataShareTest] <> [delete] enter'); if (predicates == null || predicates == undefined) { console.info('[ttt] [DataShareTest] <> [delete] invalid predicates'); @@ -118,7 +96,7 @@ export default class DataShareExtAbility extends Extension { console.info('[ttt] [DataShareTest] <> [delete] predicates = ' + predicates); console.info('[ttt] [DataShareTest] <> [delete] predicates = ' + JSON.stringify(predicates)); try { - rdbStore.delete(TBL_NAME,predicates, function (err, ret) { + await rdbStore.delete(TBL_NAME,predicates, function (err, ret) { console.info('[ttt] [DataShareTest] <> [delete] ret:' + ret); if (callback != undefined) { callback(err, ret); @@ -127,20 +105,10 @@ export default class DataShareExtAbility extends Extension { } catch (err) { console.error('[ttt] [DataShareTest] <> [delete] error' + err); } - dataShare.createDataShareHelper(this.context, dseUri, (err,data)=>{ - console.info("[ttt] [DataShareTest] <> -- delete --, globalThis.dsHelper = " + dsHelperr); - console.info("[ttt] [DataShareTest] <> -- delete --, data = " + data); - console.info("[ttt] [DataShareTest] <> -- delete --, err = " + err); - console.info("[ttt] [DataShareTest] <> -- delete --, JSON.stringify(err) = " + JSON.stringify(err)); - data.notifyChange(dseUri,(err,data) => { - console.log("[ttt] [DataShareClientTest] <> delete notifyChange = " + data); - console.log("[ttt] [DataShareClientTest] <> delete notifyChange json= " + JSON.stringify(data)); - }) - }); console.info('[ttt] [DataShareTest] <> [delete] leave'); } - query(uri, predicates, columns, callback) { + async query(uri, predicates, columns, callback) { console.info('[ttt] [DataShareTest] <> [query] enter'); if (predicates == null || predicates == undefined) { console.info('[ttt] [DataShareTest] <> [query] invalid predicates'); @@ -150,7 +118,7 @@ export default class DataShareExtAbility extends Extension { console.info('[ttt] [DataShareTest] <> [query] predicates = ' + predicates); console.info('[ttt] [DataShareTest] <> [query] predicates = ' + JSON.stringify(predicates)); try { - rdbStore.query(TBL_NAME, predicates, columns, function (err, resultSet) { + await rdbStore.query(TBL_NAME, predicates, columns, function (err, resultSet) { console.info('[ttt] [DataShareTest] <> [query] ret: ' + resultSet); if (resultSet != undefined) { console.info('[ttt] [DataShareTest] <> [query] resultSet.rowCount: ' + resultSet.rowCount); @@ -159,20 +127,22 @@ export default class DataShareExtAbility extends Extension { callback(err, resultSet); } }); - console.info('[ttt] [DataShareTest] <> [insert] leave'); } catch (err) { console.error('[ttt] [DataShareTest] <> [query] error' + err); } - rdbStore.sync(rdb.SyncMode.SYNC_MODE_PUSH,predicates,(err,data) => { - if(err) { - console.info("[ttt] [DataShareTest] <> [sync] err = " + err); - } - console.info("[ttt] [DataShareTest] <> [sync] data = " + JSON.stringify(data)); - }) console.info('[ttt] [DataShareTest] <> [query] leave'); } - batchInsert(uri: string, valueBuckets, callback) { + async getType(uri: string,callback) { + console.info('[ttt] [DataShareTest] <> [getType] enter'); + let ret = "image"; + console.info('[ttt] [DataShareTest] <> [getType] leave, ret:' + ret); + let err = {"code":0}; + await callback(err,ret); + return ret; + } + + async batchInsert(uri: string, valueBuckets, callback) { console.info('[ttt] [DataShareTest] <> [batchInsert] enter'); if (valueBuckets == null || valueBuckets.length == undefined) { console.info('[ttt] [DataShareTest] <> [batchInsert] invalid valueBuckets'); @@ -180,7 +150,14 @@ export default class DataShareExtAbility extends Extension { } console.info('[ttt] [DataShareTest] <> [batchInsert] valueBuckets.length:' + valueBuckets.length); let resultNum = valueBuckets.length - valueBuckets.forEach(vb => { + await rdbStore.batchinsert(TBL_NAME, valueBuckets, function (err, ret) { + console.info('[ttt] [DataShareTest] <> [batchInsert] callback ret:' + ret); + if (callback != undefined) { + callback(err, ret); + } + }); + + /* await valueBuckets.forEach(vb => { console.info('[ttt] [DataShareTest] <> [batchInsert] vb:' + JSON.stringify(vb)); rdbStore.insert(TBL_NAME, vb, function (err, ret) { console.info('[ttt] [DataShareTest] <> [batchInsert] callback ret:' + ret); @@ -188,59 +165,23 @@ export default class DataShareExtAbility extends Extension { callback(err, resultNum); } }); - }); + });*/ console.info('[ttt] [DataShareTest] <> [batchInsert] leave'); } - getType(uri: string,callback) { - console.info('[ttt] [DataShareTest] <> [getType] enter'); - let ret = "image"; - console.info('[ttt] [DataShareTest] <> [getType] leave, ret:' + ret); - let err = {"code":0}; - callback(err,ret); - return ret; - } - - getFileTypes(uri: string, mimeTypeFilter: string, callback) { - console.info('[ttt] [DataShareTest] <> [getFileTypes] enter'); - let ret = new Array("type01", "type02", "type03"); - console.info('[ttt] [DataShareTest] <> [getFileTypes] leave, ret:' + ret); - let err = {"code":2}; - callback(err,ret); - return ret; - } - - openFile(uri: string, mode: string, callback) { - console.info('[ttt] [DataAbilityTest] <> DataAbility openFile in'); - fileIo.open(result, 0o2 | 0o100, 0o666, function(err, fd) { - if(err) { - console.info('[ttt] [DataAbilityTest] <> OpenFile err = ' + err); - console.info('[ttt] [DataAbilityTest] <> OpenFile err = ' + JSON.stringify(err)); - } - console.log('[ttt] [DataAbilityTest] <> EtsFileIo fd =' + fd); - let num = fileIo.writeSync(fd, "this is a interesting test of DataAbility from the Great RPF"); - console.info("[ttt] [DataAbillityTest] <> WriteSync length = " + num); - console.info("[ttt] [DataAbillityTest] <> WriteSync fd = " + fd); - callback(err,fd); - }) - } - - normalizeUri(uri: string,callback) { + async normalizeUri(uri: string, callback) { console.info('[ttt] [DataShareTest] <> [normalizeUri] enter'); let ret = "normalize+" + uri; + let err = {"code":0}; + await callback(err, ret); console.info('[ttt] [DataShareTest] <> [normalizeUri] leave, ret:' + ret); - let err = {"code":2}; - console.info('[ttt] [DataShareTest] <> [normalizeUri] enter!!!'); - callback(err,ret); - console.info('[ttt] [DataShareTest] <> [normalizeUri] leave!!!'); } - denormalizeUri(uri: string,callback) { + async denormalizeUri(uri: string, callback) { console.info('[ttt] [DataShareTest] <> [denormalizeUri] enter'); let ret = "denormalize+" + uri; + let err = {"code":0}; + await callback(err, ret); console.info('[ttt] [DataShareTest] <> [denormalizeUri] leave, ret:' + ret); - let err = {"code":2}; - callback(err,ret); - return ret; } }; \ No newline at end of file diff --git a/datashare/rdbServer/src/main/ets/MainAbility/MainAbility.ts b/datashare/DataShareTest/entry/src/main/ets/MainAbility/MainAbility.ts similarity index 41% rename from datashare/rdbServer/src/main/ets/MainAbility/MainAbility.ts rename to datashare/DataShareTest/entry/src/main/ets/MainAbility/MainAbility.ts index 16b642624db55cc5654ed888b6acad953a423d43..6544204eb3dc7c4db640fb30476db036eb38835c 100644 --- a/datashare/rdbServer/src/main/ets/MainAbility/MainAbility.ts +++ b/datashare/DataShareTest/entry/src/main/ets/MainAbility/MainAbility.ts @@ -1,83 +1,9 @@ import Ability from '@ohos.application.Ability' -import ability_particleAbility from '@ohos.ability.particleAbility' -import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataShare from '@ohos.data.dataShare' -import featureAbility from '@ohos.ability.featureAbility' - - -import dataAbility from '@ohos.data.dataAbility' -import rdb from '@ohos.data.rdb'; - -import rpc from "@ohos.rpc"; - -var seConnect = { - onConnect:function (elementName, proxy) { - console.log("[ttt] [DataShareTest] <> seConnect onConnect called."); - console.log("[ttt] [DataShareTest] <> seConnect onConnect elementName = " + elementName); - console.log("[ttt] [DataShareTest] <> seConnect onConnect proxy = " + proxy); - let data = rpc.MessageParcel.create(); - let reply = rpc.MessageParcel.create(); - let option = new rpc.MessageOption(); - data.writeInterfaceToken("connect-test"); - data.writeInt(111); - - console.log("[ttt] [DataShareTest] <> seConnect onConnect sendRequest."); - proxy.sendRequest(1, data, reply, option) - .then(function (result) { - if (result.errCode === 0) { - // let msg = reply.readString(); - let msg = result.reply.readInt(); - console.log("[ttt] [DataShareTest] <> seConnect reply msg: " + msg); - } else { - console.log("[ttt] [DataShareTest] <> seConnect sendRequest failed, errCode: " + result.errCode); - } - // callback没有返回值,默认返回undefined - }).catch(function (e) { - console.log("[ttt] [DataShareTest] <> seConnect sendRequest got exception: " + e); - }).finally (async () => { - console.log("[ttt] [DataShareTest] <> seConnect sendRequest ends, reclaim parcel"); - data.reclaim(); - reply.reclaim(); - }) - }, - onDisconnect:function (elementName) { - console.log("[ttt] [DataShareTest] <> seConnect onDisconnect"); - }, - onFailed:function (code) { - console.log("[ttt] [DataShareTest] <> seConnect onFailed"); - } -}; - -let dseProxy = 0; -let dseUri = ("datashare:///com.samples.datasharetest.DataShare"); - -var dseConnect = { - onConnect:function (elementName, proxy) { - console.log("[ttt] [DataShareTest] <> dseConnect onConnect called."); - // console.log("[ttt] [DataShareTest] <> dseConnect onConnect elementName = " + elementName); - // console.log("[ttt] [DataShareTest] <> dseConnect onConnect proxy = " + proxy); - dseProxy = proxy; - }, - onDisconnect:function (elementName) { - console.log("[ttt] [DataShareTest] <> dseConnect onDisconnect, elementName:" + elementName); - }, - onFailed:function (code) { - console.log("[ttt] [DataShareTest] <> dseConnect onFailed, code:" + code); - } -}; - -let seConnectionId = -1; -let dseConnectionId = -1; - -let seWant = { - "bundleName": "com.samples.datasharetest", - "abilityName": "ServiceExtAbility", -} +import dataSharePredicates from '@ohos.data.dataSharePredicates' -let dseWant = { - "bundleName": "com.samples.datasharetest", - "abilityName": "DataShareExtAbility", -} +let dseUri = ("datashare:///com.ohos.data.datasharetest/entry/DB00"); +let dsUri = ("datashare:///com.ohos.data.datasharetest/entry/DB00/TBL00"); export function onCallback() { console.info("[ttt] [DataShareTest] <> **** Observer on callback ****"); @@ -103,67 +29,17 @@ export default class MainAbility extends Ability { // Main window is created, set main page for this ability console.log("[ttt] [DataShareTest] <> MainAbility onWindowStageCreate") globalThis.abilityContext = this.context; - let context = this.context; - - context.requestPermissionsFromUser(['ohos.permission.DISTRIBUTED_DATASYNC'], function (err,result) { - console.info("[ttt] [DataShareTest] <> permission err = " + JSON.stringify(err)) - console.info("[ttt] [DataShareTest] <> permission result = " + JSON.stringify(result)) - }) -// console.log('[ttt] [DataShareTest] <> MainAbility onWindowStageCreate this.context.stageMode:' + context.stageMode); -// console.log('[ttt] [DataShareTest] <> MainAbility onWindowStageCreate this.context.bundleName:' + context.bundleName); -// console.log('[ttt] [DataShareTest] <> MainAbility onWindowStageCreate this.context.name:' + context.name); - globalThis.connectServiceExtAbility = (async () => { - console.log("[ttt] [DataShareTest] <> connectServiceExtAbility begin"); - seConnectionId = await context.connectAbility(seWant, seConnect); - console.log("[ttt] [DataShareTest] <> connectServiceExtAbility end, seConnectionId:" + seConnectionId); - }) - - globalThis.disconnectServiceExtAbility = (async () => { - console.log("[ttt] [DataShareTest] <> disconnectServiceExtAbility begin"); - await context.disconnectAbility(seConnectionId).then((data) => { - console.info("[ttt] [DataShareTest] <> startAbility success:" + JSON.stringify(data)); - }).catch((error) => { - console.error("[ttt] [DataShareTest] <> startAbility failed:" + JSON.stringify(error)); - }); - console.log("[ttt] [DataShareTest] <> disconnectServiceExtAbility end, seConnectionId:" + seConnectionId); - }) - - - + console.log("[ttt] [DataShareTest] <> MainAbility this.context.databaseDir:" + this.context.databaseDir); globalThis.connectDataShareExtAbility = (async () => { console.log("[ttt] [DataShareTest] <> connectDataShareExtAbility begin"); -// globalThis.dsHelper = await dataShare.createDataShareHelper(this.context,dseUri); - - await dataShare.createDataShareHelper(globalThis.abilityContext, dseUri, (err,data)=>{ - globalThis.dsHelper = data; - console.info("[ttt] [DataShareTest] <> ----- 1 -----, globalThis.dsHelper = " + globalThis.dsHelper); - console.info("[ttt] [DataShareTest] <> ----- 2 -----, data = " + data); - console.info("[ttt] [DataShareTest] <> ----- 3 -----, err = " + err); - console.info("[ttt] [DataShareTest] <> ----- 4 -----, JSON.stringify(err) = " + JSON.stringify(err)); - }); - -// await dataShare.createDataShareHelper(this.context,dseUri).then((data)=>{ -// globalThis.dsHelper = data; -// console.info("[ttt] [DataShareTest] <> ----- 1 -----, globalThis.dsHelper = " + globalThis.dsHelper); -// console.info("[ttt] [DataShareTest] <> ----- 2 -----, data = " + data); -// }).catch((err)=>{ -// console.info("[ttt] [DataShareTest] <> ----- 3 -----, err = " + err); -// console.info("[ttt] [DataShareTest] <> ----- 4 -----, JSON.stringify(err) = " + JSON.stringify(err)); -// }) - dseConnectionId = await context.connectAbility(dseWant, dseConnect); -// console.log("[ttt] [DataShareTest] <> ----- 5 -----, globalThis.dsHelper = " + globalThis.dsHelper); -// console.log("[ttt] [DataShareTest] <> connectDataShareExtAbility end, dseConnectionId:" + dseConnectionId); + globalThis.dsHelper = await dataShare.createDataShareHelper(this.context, dseUri); + console.log("[ttt] [DataShareTest] <> connectDataShareExtAbility end"); }) globalThis.disconnectDataShareExtAbility = (async () => { console.log("[ttt] [DataShareTest] <> disconnectDataShareExtAbility begin"); - await context.disconnectAbility(dseConnectionId).then((data) => { - console.info("[ttt] [DataShareTest] <> disconnectDataShareExtAbility success:" + JSON.stringify(data)); - }).catch((error) => { - console.error("[ttt] [DataShareTest] <> disconnectDataShareExtAbility failed:" + JSON.stringify(error)); - }); globalThis.dsHelper = null; - console.log("[ttt] [DataShareTest] <> disconnectDataShareExtAbility end, dseConnectionId:" + dseConnectionId); + console.log("[ttt] [DataShareTest] <> disconnectDataShareExtAbility end"); }) globalThis.on = (async () => { @@ -172,7 +48,7 @@ export default class MainAbility extends Ability { console.log("[ttt] [DataShareTest] <> on end, DSHelper is null"); return; } - await globalThis.dsHelper.on("dataChange", dseUri, onCallback); + await globalThis.dsHelper.on("dataChange", dsUri, onCallback); console.log("[ttt] [DataShareTest] <> on end"); }) @@ -187,6 +63,17 @@ export default class MainAbility extends Ability { console.log("[ttt] [DataShareTest] <> off end"); }) + globalThis.openFile = (async () => { + console.log("[ttt] [DataShareTest] <> openFile begin"); + if (globalThis.dsHelper == null) { + console.log("[ttt] [DataShareTest] <> openFile end, DSHelper is null"); + return; + } + let result = await globalThis.dsHelper.openFile(dseUri, "rw"); + console.log("[ttt] [DataShareTest] <> openFile end, result:" + result); + return result; + }) + globalThis.query = (async () => { console.log("[ttt] [DataShareTest] <> query begin"); let da = new dataSharePredicates.DataSharePredicates(); @@ -199,20 +86,8 @@ export default class MainAbility extends Ability { console.log("[ttt] [DataShareTest] <> query end, DSHelper is null"); return; } - da.notEqualTo("$.name", "rpf"); - da.limit(1,0); - let result = await globalThis.dsHelper.query(dseUri, da, ["*"], (err,resultSet)=> { - if (err) { - console.error("[ttt] [DataShareTest] <> query err:" + JSON.stringify(err)); - console.log("[ttt] [DataShareTest] <> query data:" + resultSet); - console.log("[ttt] [DataShareTest] <> query data.rowCount:" + resultSet.rowCount); - console.log("[ttt] [DataShareTest] <> query data.columnCount:" + resultSet.columnCount); - } else { - console.log("[ttt] [DataShareTest] <> query data:" + resultSet); - console.log("[ttt] [DataShareTest] <> query data.rowCount:" + resultSet.rowCount); - console.log("[ttt] [DataShareTest] <> query data.columnCount:" + resultSet.columnCount); - } - }); + da.equalTo("name", "ZhangSan"); + let result = await globalThis.dsHelper.query(dsUri, da, ["*"]); if (result != undefined) { count = result.rowCount; } @@ -221,32 +96,16 @@ export default class MainAbility extends Ability { }) globalThis.insert = (async () => { - console.log("[ttt] [DataShareTest] <> insert begin"); if (globalThis.dsHelper == null) { console.log("[ttt] [DataShareTest] <> insert end, DSHelper is null"); return; } - let vb = {"age": 21} - - let v8Arr = []; - let ar = new Uint8Array([1,2,3,4,5,6]); - let arr = new Uint8Array([4,5,6,7]); - let vb1 = {"key":ar,"value":arr} - v8Arr.push(vb1); + let vb = {"name":"ZhangSan", "age": 21} console.log("[ttt] [DataShareTest] <> insert vb:" + JSON.stringify(vb)); - console.log("[ttt] [DataShareTest] <> insert vb:" + JSON.stringify(vb)); - let ret = await globalThis.dsHelper.insert(dseUri, vb, (err,ret)=>{ - if(err){ - console.error("[ttt] [DataShareTest] <> insert err:" + JSON.stringify(err)); - console.log("[ttt] [DataShareTest] <> insert data:" + ret); - }else { - console.log("[ttt] [DataShareTest] <> insert data:" + ret); - } - }); - await globalThis.notifyChange(); - console.log("[ttt] [DataShareTest] <> insert end, ret:" + ret); + let ret = await globalThis.dsHelper.insert(dsUri, vb); + await console.log("[ttt] [DataShareTest] <> insert end, ret:" + ret); return ret; }) @@ -260,20 +119,12 @@ export default class MainAbility extends Ability { let da = new dataSharePredicates.DataSharePredicates(); console.log("[ttt] [DataShareTest] <> update begin RPF777"); if (da == null || da == undefined) { - console.log("[ttt] [DataShareTest] <> da is null or u" + - "ndefined"); + console.log("[ttt] [DataShareTest] <> da is null or undefined"); return; } -// da.equalTo("name", "ZhangSan"); - let ret = await globalThis.dsHelper.update(dseUri, da, {"age": 31}, (err,ret)=>{ - if(err){ - console.error("[ttt] [DataShareTest] <> update err:" + JSON.stringify(err)); - console.log("[ttt] [DataShareTest] <> update data:" + ret); - }else { - console.log("[ttt] [DataShareTest] <> update data:" + ret); - } - }); - await globalThis.notifyChange(); + da.equalTo("name", "ZhangSan"); + + let ret = await globalThis.dsHelper.update(dsUri, da, {"name":"ZhangSan", "age":31}); console.log("[ttt] [DataShareTest] <> update end, result:" + ret); return ret; }) @@ -289,16 +140,8 @@ export default class MainAbility extends Ability { console.log("[ttt] [DataShareTest] <> da is null or undefined"); return; } -// da.equalTo("name", "ZhangSan"); - let ret = globalThis.dsHelper.delete(dseUri, da, (err,ret)=>{ - if(err){ - console.error("[ttt] [DataShareTest] <> delete err:" + JSON.stringify(err)); - console.log("[ttt] [DataShareTest] <> delete data:" + ret); - }else { - console.log("[ttt] [DataShareTest] <> delete data:" + ret); - } - }); - await globalThis.notifyChange(); + da.equalTo("name", "ZhangSan"); + let ret = await globalThis.dsHelper.delete(dseUri, da); console.log("[ttt] [DataShareTest] <> delete end, result:" + ret); return ret; }) @@ -315,13 +158,7 @@ export default class MainAbility extends Ability { {"name": "LiSi", "age": 41, "Binary": ar}, {"name": "WangWu", "age": 21, "Binary": arr}, {"name": "ZhaoLiu", "age": 61, "Binary": arr}); -// let ar = new Uint8Array([1,2,3,4,5,6]); -// let arr = new Uint8Array([4,5,6,7]); -// let v8Arr = []; -// let vb = {"key":ar,"jii":arr,"value":arr,"njj":arr}; -// v8Arr.push(vb) let ret = await globalThis.dsHelper.batchInsert(dseUri, people); - await globalThis.notifyChange(); console.log("[ttt] [DataShareTest] <> batchInsert end, result:" + ret); return ret; }) @@ -336,34 +173,13 @@ export default class MainAbility extends Ability { console.log("[ttt] [DataShareTest] <> notifyChange end"); }) - globalThis.openFile = (async () => { - console.log("[ttt] [DataShareTest] <> openFile begin"); - if (globalThis.dsHelper == null) { - console.log("[ttt] [DataShareTest] <> openFile end, DSHelper is null"); - return; - } - let result = await globalThis.dsHelper.openFile(dseUri, "rwt"); - console.log("[ttt] [DataShareTest] <> openFile end, result:" + result); - return result; - }) - globalThis.getType = (async () => { console.log("[ttt] [DataShareTest] <> getType begin"); if (globalThis.dsHelper == null) { console.log("[ttt] [DataShareTest] <> getType end, DSHelper is null"); return; } - let result; - globalThis.dsHelper.getType(dseUri,(err,data)=>{ - if(err){ - console.log("[ttt] [DataShareTest] <> getType err, err:" + JSON.stringify(err)); - console.log("[ttt] [DataShareTest] <> getType end, err:" + JSON.stringify(data)); - result = data; - }else{ - console.log("[ttt] [DataShareTest] <> getType end, err:" + JSON.stringify(data)); - result = data; - } - }); + let result = await globalThis.dsHelper.getType(dseUri); console.log("[ttt] [DataShareTest] <> getType end, result:" + result); return result; }) @@ -374,16 +190,8 @@ export default class MainAbility extends Ability { console.log("[ttt] [DataShareTest] <> getFileTypes end, DSHelper is null"); return; } - let result = await globalThis.dsHelper.getFileTypes(dseUri, "image/*",(err,data)=>{ - if(err){ - console.log("[ttt] [DataShareTest] <> getType err, err:" + JSON.stringify(err)); - console.log("[ttt] [DataShareTest] <> getType end, err:" + JSON.stringify(data)); - result = data; - }else{ - console.log("[ttt] [DataShareTest] <> getType end, err:" + JSON.stringify(data)); - result = data; - } - }); + let result = await globalThis.dsHelper.getFileTypes(dseUri, "image/*"); + console.log("[ttt] [DataShareTest] <> getFileTypes end, result:" + result); return result; }) @@ -393,16 +201,8 @@ export default class MainAbility extends Ability { console.log("[ttt] [DataShareTest] <> normalizeUri end, DSHelper is null"); return; } - let result = await globalThis.dsHelper.normalizeUri(dseUri,(err,data)=>{ - if(err){ - console.log("[ttt] [DataShareTest] <> normalizeUri err, err:" + JSON.stringify(err)); -// console.log("[ttt] [DataShareTest] <> getType end, data:" + JSON.stringify(data)); -// result = data; - }else{ - console.log("[ttt] [DataShareTest] <> normalizeUri end, data:" + JSON.stringify(data)); - result = data; - } - }); + let result = await globalThis.dsHelper.normalizeUri(dseUri); + console.log("[ttt] [DataShareTest] <> normalizeUri end, result:" + result); return result; }) @@ -412,16 +212,8 @@ export default class MainAbility extends Ability { console.log("[ttt] [DataShareTest] <> denormalizeUri end, DSHelper is null"); return; } - let result = await globalThis.dsHelper.denormalizeUri(dseUri,(err,data)=>{ - if(err){ - console.log("[ttt] [DataShareTest] <> denormalizeUri err, err:" + JSON.stringify(err)); -// console.log("[ttt] [DataShareTest] <> getType end, err:" + JSON.stringify(data)); -// result = data; - }else{ - console.log("[ttt] [DataShareTest] <> denormalizeUri end, err:" + JSON.stringify(data)); - result = data; - } - }); + let result = await globalThis.dsHelper.denormalizeUri(dseUri); + console.log("[ttt] [DataShareTest] <> denormalizeUri end, result:" + result); return result; }) @@ -442,4 +234,4 @@ export default class MainAbility extends Ability { // Ability has back to background console.log("[ttt] [DataShareTest] <> MainAbility onBackground") } -}; +}; \ No newline at end of file diff --git a/datashare/rdbServer/src/main/ets/pages/index.ets b/datashare/DataShareTest/entry/src/main/ets/pages/index.ets similarity index 84% rename from datashare/rdbServer/src/main/ets/pages/index.ets rename to datashare/DataShareTest/entry/src/main/ets/pages/index.ets index 47c4656fcf7d70f293b019eadef4df7d5f688cff..57d99b2bb138239cf9eebf83c01c2fe296a70218 100644 --- a/datashare/rdbServer/src/main/ets/pages/index.ets +++ b/datashare/DataShareTest/entry/src/main/ets/pages/index.ets @@ -1,7 +1,6 @@ +import dataShare from '@ohos.data.dataShare' import dataSharePredicates from '@ohos.data.dataSharePredicates' - - @Entry @Component struct Index { @@ -12,41 +11,6 @@ struct Index { Text('DataShare Extension Ability Test') .fontSize(25) .fontWeight(FontWeight.Bold) - .onClick(async () => { - console.info('[ttt] [DataShareTest] <> dataSharePredicates build begin'); - let da = new dataSharePredicates.DataSharePredicates(); - da.equalTo("name", "zhangsan"); - da.notEqualTo("name", "lisi"); - da.beginWrap(); - da.endWrap(); - da.or(); - da.and(); - da.contains("name", "zhang"); - da.beginsWith("name", "z"); - da.endsWith("name", "n"); - da.isNull("name"); - da.isNotNull("name"); - da.like("name", "zhang"); - da.unlike("name", "li"); - da.glob("name", "???"); - da.between("age", 18, 22); - da.notBetween("age", 18, 22); - da.greaterThan("age", 18); - da.lessThan("age", 22); - da.greaterThanOrEqualTo("age", 18); - da.lessThanOrEqualTo("age", 22); - da.orderByAsc("age"); - da.orderByDesc("age"); - da.distinct(); - da.limit(10, 5); - da.groupBy(["name", "age"]); - da.indexedBy("name"); - da.in("name", []); - da.notIn("name", []); - da.prefixKey("name"); - console.info('[ttt] [DataShareTest] <> dataSharePredicates = ' + JSON.stringify(da)); - console.info('[ttt] [DataShareTest] <> dataSharePredicates build end'); - }) Text(`${this.message}`) .fontSize(30) @@ -101,7 +65,7 @@ struct Index { .margin({ top: 20 }) - .width('45%') + .width('25%') .height('8%') .backgroundColor('#0ddffb') .onClick(async () => { @@ -123,7 +87,7 @@ struct Index { .margin({ top: 20 }) - .width('45%') + .width('25%') .height('8%') .backgroundColor('#0ddffb') .onClick(async () => { @@ -145,14 +109,13 @@ struct Index { .margin({ top: 20 }) - .width('30%') + .width('40%') .height('8%') .backgroundColor('#0ddffb') .onClick(async () => { console.info('[ttt] [DataShareTest] <> OpenFile onclick enter') this.message = 'OpenFile onclick' let ret = await globalThis.openFile() - console.info('[ttt] [DataShareTest] <> OpenFile onclick ret = ' + ret); this.message += "\n\n Test Result: " + ret; console.info('[ttt] [DataShareTest] <> OpenFile onclick leave') }) diff --git a/datashare/rdbServer/src/main/module.json5 b/datashare/DataShareTest/entry/src/main/module.json5 similarity index 67% rename from datashare/rdbServer/src/main/module.json5 rename to datashare/DataShareTest/entry/src/main/module.json5 index dbadcb1da12d1eae095e62604dbf986b5430128c..348001dfd213643468fffee0b94211cdefea1d96 100644 --- a/datashare/rdbServer/src/main/module.json5 +++ b/datashare/DataShareTest/entry/src/main/module.json5 @@ -3,10 +3,11 @@ "name": "entry", "type": "entry", "srcEntrance": "./ets/Application/AbilityStage.ts", - "description": "$string:phone_entry_dsc", + "description": "$string:entry_desc", "mainElement": "MainAbility", "deviceTypes": [ - "default" + "default", + "tablet" ], "deliveryWithInstall": true, "installationFree": false, @@ -16,12 +17,12 @@ { "name": "MainAbility", "srcEntrance": "./ets/MainAbility/MainAbility.ts", - "description": "$string:phone_entry_main", + "description": "$string:MainAbility_desc", "icon": "$media:icon", - "label": "$string:entry_label", + "label": "$string:MainAbility_label", + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:white", "visible": true, -// "orientation": "portrait", - "skills": [ { "entities": [ @@ -31,9 +32,7 @@ "action.system.home" ] } - ], - "startWindowIcon":"$media:icon", - "startWindowBackground": "$color:color_1" + ] } ], "extensionAbilities": [ @@ -43,15 +42,12 @@ "icon": "$media:icon", "description": "$string:description_datashareextability", "type": "dataShare", - "uri": "datashare://com.samples.datasharetest.DataShare", + "uri": "datashare://com.ohos.data.datasharetest", +// "readPermission" : "ohos.permission.GET_BUNDLE_INFO", +// "writePermission" : "ohos.permission.INSTALL_BUNDLE", "visible": true } - ], - "requestPermissions": [ - { - "name" : "ohos.permission.DISTRIBUTED_DATASYNC" - } - ] +// ], // "requestPermissions": [ // { // "name": "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" @@ -61,7 +57,10 @@ // }, // { // "name": "ohos.permission.INSTALL_BUNDLE" +// }, +// { +// "name" : "ohos.permission.DISTRIBUTED_DATASYNC" // } -// ] + ] } } \ No newline at end of file diff --git a/datashare/DataShareTest/entry/src/main/resources/base/element/color.json b/datashare/DataShareTest/entry/src/main/resources/base/element/color.json new file mode 100644 index 0000000000000000000000000000000000000000..62a137a61b90c14f109ed8c81d9d551ea0a5888a --- /dev/null +++ b/datashare/DataShareTest/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "white", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/datashare/rdbServer/src/main/resources/base/element/string.json b/datashare/DataShareTest/entry/src/main/resources/base/element/string.json similarity index 42% rename from datashare/rdbServer/src/main/resources/base/element/string.json rename to datashare/DataShareTest/entry/src/main/resources/base/element/string.json index e1e92105d82aae62a3de9ae58476c1629136a3a2..d0f0ca1516fe6cb55080ec9f2d66851dbc446d0d 100644 --- a/datashare/rdbServer/src/main/resources/base/element/string.json +++ b/datashare/DataShareTest/entry/src/main/resources/base/element/string.json @@ -1,25 +1,17 @@ { "string": [ { - "name": "phone_entry_dsc", - "value": "i am an entry for phone" + "name": "entry_desc", + "value": "description" }, { - "name": "phone_entry_main", - "value": "the phone entry ability" + "name": "MainAbility_desc", + "value": "description" }, { - "name": "entry_label", + "name": "MainAbility_label", "value": "DataShareTest" }, - { - "name": "form_description", - "value": "my form" - }, - { - "name": "serviceability_description", - "value": "my whether" - }, { "name": "description_application", "value": "DataShareTest" @@ -31,10 +23,6 @@ { "name": "description_datashareextability", "value": "description_datashareextability" - }, - { - "name": "description_serviceability", - "value": "description_serviceability" } ] -} +} \ No newline at end of file diff --git a/datashare/DataShareTest/entry/src/main/resources/base/media/icon.png b/datashare/DataShareTest/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/datashare/DataShareTest/entry/src/main/resources/base/media/icon.png differ diff --git a/datashare/rdbServer/src/main/resources/base/profile/main_pages.json b/datashare/DataShareTest/entry/src/main/resources/base/profile/main_pages.json similarity index 88% rename from datashare/rdbServer/src/main/resources/base/profile/main_pages.json rename to datashare/DataShareTest/entry/src/main/resources/base/profile/main_pages.json index 50b961efe7eba3554818d73178d6c4aa735bcd16..feec276e105eeb8d621c20aaf838f318b0a94150 100644 --- a/datashare/rdbServer/src/main/resources/base/profile/main_pages.json +++ b/datashare/DataShareTest/entry/src/main/resources/base/profile/main_pages.json @@ -1,5 +1,5 @@ -{ - "src": [ - "pages/index" - ] -} +{ + "src": [ + "pages/index" + ] +} diff --git a/datashare/DataShareTest/hvigorfile.js b/datashare/DataShareTest/hvigorfile.js new file mode 100644 index 0000000000000000000000000000000000000000..586ced98461bdcdac2b070f2e041e99c7ac678d9 --- /dev/null +++ b/datashare/DataShareTest/hvigorfile.js @@ -0,0 +1,2 @@ +// Script for compiling build behavior. It is built in the build plug-in and cannot be modified currently. +module.exports = require('@ohos/hvigor-ohos-plugin').appTasks \ No newline at end of file diff --git a/datashare/DataShareClient/package-lock.json b/datashare/DataShareTest/package-lock.json similarity index 67% rename from datashare/DataShareClient/package-lock.json rename to datashare/DataShareTest/package-lock.json index af052c8d7398d6760fd4d4967f67c518ead062e3..b66174cfdc60d31dab6da163fdbf3b9f5c30747b 100644 --- a/datashare/DataShareClient/package-lock.json +++ b/datashare/DataShareTest/package-lock.json @@ -1,5 +1,5 @@ { - "name": "datashareclienttest", + "name": "datasharetest", "version": "1.0.0", "lockfileVersion": 1, "requires": true, @@ -60,7 +60,7 @@ "dependencies": { "fs-extra": { "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/fs-extra/-/fs-extra-10.0.0.tgz", "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "requires": { "graceful-fs": "^4.2.0", @@ -70,7 +70,7 @@ }, "pretty-hrtime": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==" } } @@ -87,12 +87,12 @@ }, "adm-zip": { "version": "0.5.9", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/adm-zip/-/adm-zip-0.5.9.tgz", "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==" }, "ajv": { "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/ajv/-/ajv-8.10.0.tgz", "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", "requires": { "fast-deep-equal": "^3.1.1", @@ -103,27 +103,27 @@ }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" }, "array-each": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/array-each/-/array-each-1.0.1.tgz", "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==" }, "array-slice": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/array-slice/-/array-slice-1.1.0.tgz", "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" }, "balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "^1.0.0", @@ -132,7 +132,7 @@ }, "braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "requires": { "fill-range": "^7.0.1" @@ -140,7 +140,7 @@ }, "call-bind": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "requires": { "function-bind": "^1.1.1", @@ -149,12 +149,12 @@ }, "camelcase": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/camelcase/-/camelcase-3.0.0.tgz", "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==" }, "cliui": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/cliui/-/cliui-3.2.0.tgz", "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", "requires": { "string-width": "^1.0.1", @@ -164,17 +164,17 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "requires": { "path-key": "^3.1.0", @@ -184,7 +184,7 @@ "dependencies": { "which": { "version": "2.0.2", - "resolved": "http://mirrors.tools.huawei.com/npm/which/-/which-2.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "requires": { "isexe": "^2.0.0" @@ -193,13 +193,13 @@ } }, "date-format": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.11.tgz", - "integrity": "sha512-VS20KRyorrbMCQmpdl2hg5KaOUsda1RbnsJg461FfrcyCUg+pkd0b40BSW4niQyTheww4DBXQnS7HwSrKkipLw==" + "version": "4.0.10", + "resolved": "https://repo.huaweicloud.com/repository/npm/date-format/-/date-format-4.0.10.tgz", + "integrity": "sha512-RuMIHocrVjF84bUSTcd1uokIsLsOsk1Awb7TexNOI3f48ukCu39mjslWquDTA08VaDMF2umr3MB9ow5EyJTWyA==" }, "debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" @@ -207,12 +207,12 @@ }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" }, "define-properties": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/define-properties/-/define-properties-1.1.4.tgz", "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "requires": { "has-property-descriptors": "^1.0.0", @@ -221,12 +221,12 @@ }, "detect-file": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/detect-file/-/detect-file-1.0.0.tgz", "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==" }, "error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { "is-arrayish": "^0.2.1" @@ -234,7 +234,7 @@ }, "execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "requires": { "cross-spawn": "^7.0.3", @@ -250,7 +250,7 @@ }, "expand-tilde": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/expand-tilde/-/expand-tilde-2.0.2.tgz", "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "requires": { "homedir-polyfill": "^1.0.1" @@ -258,17 +258,17 @@ }, "extend": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-xml-parser": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/fast-xml-parser/-/fast-xml-parser-4.0.3.tgz", "integrity": "sha512-xhQbg3a/EYNHwK0cxIG1nZmVkHX/0tWihamn5pU4Mhd9KEVE2ga8ZJiqEUgB2sApElvAATOdMTLjgqIpvYDUkQ==", "requires": { "strnum": "^1.0.5" @@ -276,7 +276,7 @@ }, "fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "requires": { "to-regex-range": "^5.0.1" @@ -284,7 +284,7 @@ }, "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/find-up/-/find-up-1.1.2.tgz", "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", "requires": { "path-exists": "^2.0.0", @@ -293,7 +293,7 @@ }, "findup-sync": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/findup-sync/-/findup-sync-5.0.0.tgz", "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", "requires": { "detect-file": "^1.0.0", @@ -304,7 +304,7 @@ }, "fined": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-2.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/fined/-/fined-2.0.0.tgz", "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==", "requires": { "expand-tilde": "^2.0.2", @@ -316,22 +316,22 @@ }, "flagged-respawn": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-2.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/flagged-respawn/-/flagged-respawn-2.0.0.tgz", "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==" }, "flatted": { "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/flatted/-/flatted-3.2.5.tgz", "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/for-in/-/for-in-1.0.2.tgz", "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" }, "for-own": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/for-own/-/for-own-1.0.0.tgz", "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", "requires": { "for-in": "^1.0.1" @@ -339,7 +339,7 @@ }, "fs-extra": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "requires": { "graceful-fs": "^4.2.0", @@ -349,22 +349,22 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "get-caller-file": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, "get-intrinsic": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "requires": { "function-bind": "^1.1.1", @@ -374,12 +374,12 @@ }, "get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" }, "glob": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "requires": { "fs.realpath": "^1.0.0", @@ -392,7 +392,7 @@ }, "global-modules": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/global-modules/-/global-modules-1.0.0.tgz", "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "requires": { "global-prefix": "^1.0.1", @@ -402,7 +402,7 @@ }, "global-prefix": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/global-prefix/-/global-prefix-1.0.2.tgz", "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "requires": { "expand-tilde": "^2.0.2", @@ -414,12 +414,12 @@ }, "graceful-fs": { "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "requires": { "function-bind": "^1.1.1" @@ -427,7 +427,7 @@ }, "has-property-descriptors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "requires": { "get-intrinsic": "^1.1.1" @@ -435,12 +435,12 @@ }, "has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "homedir-polyfill": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "requires": { "parse-passwd": "^1.0.0" @@ -448,12 +448,12 @@ }, "hosted-git-info": { "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" }, "hypium": { @@ -463,7 +463,7 @@ }, "iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -471,7 +471,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", @@ -480,27 +480,27 @@ }, "inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "interpret": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" }, "is-absolute": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-absolute/-/is-absolute-1.0.0.tgz", "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "requires": { "is-relative": "^1.0.0", @@ -509,12 +509,12 @@ }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "is-core-module": { "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-core-module/-/is-core-module-2.9.0.tgz", "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "requires": { "has": "^1.0.3" @@ -522,12 +522,12 @@ }, "is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", "requires": { "number-is-nan": "^1.0.0" @@ -535,7 +535,7 @@ }, "is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "requires": { "is-extglob": "^2.1.1" @@ -543,17 +543,17 @@ }, "is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-plain-object": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" }, "is-relative": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-relative/-/is-relative-1.0.0.tgz", "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "requires": { "is-unc-path": "^1.0.0" @@ -561,12 +561,12 @@ }, "is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" }, "is-unc-path": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-unc-path/-/is-unc-path-1.0.0.tgz", "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "requires": { "unc-path-regex": "^0.1.2" @@ -574,32 +574,32 @@ }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" }, "is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" }, "json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "json5": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "requires": { "minimist": "^1.2.5" @@ -607,7 +607,7 @@ }, "jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "requires": { "graceful-fs": "^4.1.6", @@ -616,12 +616,12 @@ }, "kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/lcid/-/lcid-1.0.0.tgz", "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", "requires": { "invert-kv": "^1.0.0" @@ -629,7 +629,7 @@ }, "liftoff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-4.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/liftoff/-/liftoff-4.0.0.tgz", "integrity": "sha512-rMGwYF8q7g2XhG2ulBmmJgWv25qBsqRbDn5gH0+wnuyeFt7QBJlHJmtg5qEdn4pN6WVAUMgXnIxytMFRX9c1aA==", "requires": { "extend": "^3.0.2", @@ -644,7 +644,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", "requires": { "graceful-fs": "^4.1.2", @@ -656,12 +656,12 @@ }, "lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "log4js": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/log4js/-/log4js-6.4.1.tgz", "integrity": "sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==", "requires": { "date-format": "^4.0.3", @@ -673,7 +673,7 @@ }, "make-iterator": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/make-iterator/-/make-iterator-1.0.1.tgz", "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", "requires": { "kind-of": "^6.0.2" @@ -681,17 +681,17 @@ }, "map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" }, "merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "micromatch": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "requires": { "braces": "^3.0.2", @@ -700,12 +700,12 @@ }, "mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" @@ -713,22 +713,22 @@ }, "minimist": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "mute-stdout": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/mute-stdout/-/mute-stdout-1.0.0.tgz", "integrity": "sha512-MaSQenn0f9oxIjtCufclpV00MuYTiHaXPbdcfPIM+quMqoa8cXywjHHx4LhhIAZlXqPWMdcUpYviajfmHtHRJw==" }, "normalize-package-data": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "requires": { "hosted-git-info": "^2.1.4", @@ -739,7 +739,7 @@ }, "npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "requires": { "path-key": "^3.0.0" @@ -747,17 +747,17 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" }, "object-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object.assign": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "requires": { "call-bind": "^1.0.0", @@ -768,7 +768,7 @@ }, "object.defaults": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/object.defaults/-/object.defaults-1.1.0.tgz", "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", "requires": { "array-each": "^1.0.1", @@ -779,7 +779,7 @@ }, "object.map": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/object.map/-/object.map-1.0.1.tgz", "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", "requires": { "for-own": "^1.0.0", @@ -788,23 +788,23 @@ }, "object.pick": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "resolved": "https://repo.huaweicloud.com/repository/npm/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { "isobject": "^3.0.1" } }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "resolved": "https://repo.huaweicloud.com/repository/npm/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1" } }, "onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "requires": { "mimic-fn": "^2.1.0" @@ -812,7 +812,7 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", "requires": { "lcid": "^1.0.0" @@ -820,7 +820,7 @@ }, "parse-filepath": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/parse-filepath/-/parse-filepath-1.0.2.tgz", "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", "requires": { "is-absolute": "^1.0.0", @@ -830,7 +830,7 @@ }, "parse-json": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", "requires": { "error-ex": "^1.2.0" @@ -838,35 +838,35 @@ }, "parse-passwd": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==" }, "path-exists": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "requires": { "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "resolved": "https://repo.huaweicloud.com/repository/npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-root": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-root/-/path-root-0.1.1.tgz", "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", "requires": { "path-root-regex": "^0.1.0" @@ -874,13 +874,13 @@ }, "path-root-regex": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-root-regex/-/path-root-regex-0.1.2.tgz", "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==" }, "path-type": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "resolved": "https://repo.huaweicloud.com/repository/npm/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -889,22 +889,22 @@ }, "picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + "resolved": "https://repo.huaweicloud.com/repository/npm/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "requires": { "pinkie": "^2.0.0" @@ -912,17 +912,17 @@ }, "pretty-hrtime": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/pretty-hrtime/-/pretty-hrtime-1.0.0.tgz", "integrity": "sha512-CU2l5CYUAptUYq/671ajexQfXuxJFwwg0n243Kdkx8bTjeenedsWgu8TGHPm03vLfNtk3aTXgySKPp3Usykudw==" }, "punycode": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", "requires": { "load-json-file": "^1.0.0", @@ -932,7 +932,7 @@ }, "read-pkg-up": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", "requires": { "find-up": "^1.0.0", @@ -941,7 +941,7 @@ }, "rechoir": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/rechoir/-/rechoir-0.8.0.tgz", "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "requires": { "resolve": "^1.20.0" @@ -949,22 +949,22 @@ }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + "resolved": "https://repo.huaweicloud.com/repository/npm/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-from-string": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" }, "resolve": { "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/resolve/-/resolve-1.22.0.tgz", "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "requires": { "is-core-module": "^2.8.1", @@ -974,7 +974,7 @@ }, "resolve-dir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/resolve-dir/-/resolve-dir-1.0.1.tgz", "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "requires": { "expand-tilde": "^2.0.0", @@ -983,7 +983,7 @@ }, "resolve-package-path": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-4.0.3.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/resolve-package-path/-/resolve-package-path-4.0.3.tgz", "integrity": "sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==", "requires": { "path-root": "^0.1.1" @@ -991,27 +991,27 @@ }, "rfdc": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/rfdc/-/rfdc-1.3.0.tgz", "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "semver": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "requires": { "shebang-regex": "^3.0.0" @@ -1019,17 +1019,17 @@ }, "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "spdx-correct": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "requires": { "spdx-expression-parse": "^3.0.0", @@ -1038,12 +1038,12 @@ }, "spdx-exceptions": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" }, "spdx-expression-parse": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "requires": { "spdx-exceptions": "^2.1.0", @@ -1052,12 +1052,12 @@ }, "spdx-license-ids": { "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" }, "streamroller": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/streamroller/-/streamroller-3.1.1.tgz", "integrity": "sha512-iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ==", "requires": { "date-format": "^4.0.10", @@ -1067,7 +1067,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", @@ -1077,7 +1077,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -1085,7 +1085,7 @@ }, "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "requires": { "is-utf8": "^0.2.0" @@ -1093,22 +1093,22 @@ }, "strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" }, "strnum": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/strnum/-/strnum-1.0.5.tgz", "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" }, "supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, "to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { "is-number": "^7.0.0" @@ -1116,17 +1116,17 @@ }, "unc-path-regex": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" }, "universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, "uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" @@ -1134,7 +1134,7 @@ }, "v8flags": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/v8flags/-/v8flags-3.2.0.tgz", "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", "requires": { "homedir-polyfill": "^1.0.1" @@ -1142,7 +1142,7 @@ }, "validate-npm-package-license": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "requires": { "spdx-correct": "^3.0.0", @@ -1151,7 +1151,7 @@ }, "which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { "isexe": "^2.0.0" @@ -1159,12 +1159,12 @@ }, "which-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/which-module/-/which-module-1.0.0.tgz", "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { "string-width": "^1.0.1", @@ -1173,17 +1173,17 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "y18n": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/y18n/-/y18n-3.2.2.tgz", "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" }, "yargs": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/yargs/-/yargs-7.1.0.tgz", "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "requires": { "camelcase": "^3.0.0", @@ -1203,7 +1203,7 @@ }, "yargs-parser": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "resolved": "https://repo.huaweicloud.com/repository/npm/yargs-parser/-/yargs-parser-5.0.1.tgz", "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", "requires": { "camelcase": "^3.0.0", diff --git a/datashare/DataShareClient/package.json b/datashare/DataShareTest/package.json similarity index 87% rename from datashare/DataShareClient/package.json rename to datashare/DataShareTest/package.json index 2c47d02c3942ee9b8160cdb7fb5406651e7e7dc6..ecfe4b36b692d751aaa8ad9f4c3c57cf21c8e7eb 100644 --- a/datashare/DataShareClient/package.json +++ b/datashare/DataShareTest/package.json @@ -1,7 +1,7 @@ { "license":"ISC", "devDependencies":{}, - "name":"datashareclienttest", + "name":"datasharetest", "ohos":{ "org":"huawei", "directoryLevel":"project", diff --git a/datashare/kv-xts/app1-signed.hap b/datashare/kv-xts/app1-signed.hap new file mode 100644 index 0000000000000000000000000000000000000000..f93474e1327ee1f4b0cbcb9c1859e283c60b363e Binary files /dev/null and b/datashare/kv-xts/app1-signed.hap differ diff --git a/datashare/kv-xts/entry-default-signed.hap b/datashare/kv-xts/entry-default-signed.hap new file mode 100644 index 0000000000000000000000000000000000000000..a5ab6d7826dc9b41b8c4d784e05558036fa12657 Binary files /dev/null and b/datashare/kv-xts/entry-default-signed.hap differ diff --git a/datashare/kv-xts/read.txt b/datashare/kv-xts/read.txt new file mode 100644 index 0000000000000000000000000000000000000000..241e5aac7d2132e9bfff92728c43294445e7dfb8 --- /dev/null +++ b/datashare/kv-xts/read.txt @@ -0,0 +1,17 @@ +截全log或者hdc shell "hilog | grep -E 'pass|fail]DataShare|cppcrash'" + + +1、开启debug日志 +hdc shell hilog -b D +打印全部日志 +hdc_std shell hilog -Q pidoff + +2、开启日志落盘 +hdc shell hilog -w start +日志落盘路径:data/log/hilog + +3、开启屏幕常亮 +hdc shell power-shell setmode 602 + +4、屏幕截图 +hdc -t shell snapshot_display \ No newline at end of file diff --git a/datashare/rdb-xts/app1-signed.hap b/datashare/rdb-xts/app1-signed.hap new file mode 100644 index 0000000000000000000000000000000000000000..d4f8e7d38b64bd8d466a31c712357e62cfaef94c Binary files /dev/null and b/datashare/rdb-xts/app1-signed.hap differ diff --git a/datashare/rdb-xts/entry-default-signed.hap b/datashare/rdb-xts/entry-default-signed.hap new file mode 100644 index 0000000000000000000000000000000000000000..10b6bcf1d15c79311ce0b230f5cfccc9a33d2e99 Binary files /dev/null and b/datashare/rdb-xts/entry-default-signed.hap differ diff --git a/datashare/rdb-xts/read.txt b/datashare/rdb-xts/read.txt new file mode 100644 index 0000000000000000000000000000000000000000..241e5aac7d2132e9bfff92728c43294445e7dfb8 --- /dev/null +++ b/datashare/rdb-xts/read.txt @@ -0,0 +1,17 @@ +截全log或者hdc shell "hilog | grep -E 'pass|fail]DataShare|cppcrash'" + + +1、开启debug日志 +hdc shell hilog -b D +打印全部日志 +hdc_std shell hilog -Q pidoff + +2、开启日志落盘 +hdc shell hilog -w start +日志落盘路径:data/log/hilog + +3、开启屏幕常亮 +hdc shell power-shell setmode 602 + +4、屏幕截图 +hdc -t shell snapshot_display \ No newline at end of file diff --git a/datashare/rdbServer/entry-default-signed.hap b/datashare/rdbServer/entry-default-signed.hap deleted file mode 100644 index c513c0f53da54d105c3ab3ac40015b22309b8f00..0000000000000000000000000000000000000000 Binary files a/datashare/rdbServer/entry-default-signed.hap and /dev/null differ diff --git a/datashare/rdbServer/package-lock.json b/datashare/rdbServer/package-lock.json deleted file mode 100644 index 9a37aca9c393ce5506b6e1d6ab8ac840d12eae92..0000000000000000000000000000000000000000 --- a/datashare/rdbServer/package-lock.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "DataShareTest", - "version": "1.0.0", - "lockfileVersion": 1 -} diff --git a/datashare/rdbServer/package.json b/datashare/rdbServer/package.json deleted file mode 100644 index 88664404f8d84c8e702f59da254bcce0d947eeb5..0000000000000000000000000000000000000000 --- a/datashare/rdbServer/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "license": "ISC", - "devDependencies": {}, - "keywords": [], - "author": "", - "name": "DataShareTest", - "ohos": { - "org": "huawei", - "directoryLevel": "module", - "buildTool": "hvigor" - }, - "description": "example description", - "main": "hvigorfile.js", - "repository": {}, - "version": "1.0.0", - "dependencies": {} -} diff --git a/datashare/rdbServer/src/main/resources/base/profile/form_config.json b/datashare/rdbServer/src/main/resources/base/profile/form_config.json deleted file mode 100644 index ba3489dd5c6ee9435d07201193fcb137e3ad083e..0000000000000000000000000000000000000000 --- a/datashare/rdbServer/src/main/resources/base/profile/form_config.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "forms": [ - { - "name": "Form_Js", - "description": "$string:form_description", - "src": "pages/card/index", - "window": { - "designWidth": 720, - "autoDesignWidth": true - }, - "colorMode": "auto", - "formConfigAbility": "ability://xxxxx", - "formVisibleNotify": false, - "isDefault": true, - "updateEnabled": true, - "scheduledUpdateTime": "10:30", - "updateDuration": 1, - "defaultDimension": "2*2", - "supportDimensions": [ - "2*2" - ] - } - ] -} diff --git a/datashare/silentAccess-xts/app1-signed.hap b/datashare/silentAccess-xts/app1-signed.hap new file mode 100644 index 0000000000000000000000000000000000000000..97666d1e8408c1531b459aa43e453f9d79ec7f3c Binary files /dev/null and b/datashare/silentAccess-xts/app1-signed.hap differ diff --git a/datashare/silentAccess-xts/entry-default-signed.hap b/datashare/silentAccess-xts/entry-default-signed.hap new file mode 100644 index 0000000000000000000000000000000000000000..4995d9a6bf41470654e028631f9826710a2c7139 Binary files /dev/null and b/datashare/silentAccess-xts/entry-default-signed.hap differ