From 4d1387fac607a7180baee5a6942a8c23eb137701 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=B4=8B=E6=B0=B4=E8=9B=9F=E9=BE=99?= <657943010@qq.com> Date: Tue, 29 Mar 2022 18:11:33 +0800 Subject: [PATCH] =?UTF-8?q?=E2=80=9C=E8=9B=9F=E9=BE=99=E8=85=BE=E9=A3=9E?= =?UTF-8?q?=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jltf_YKX/.gitignore" | 16 + .../jltf_YKX/.idea/.gitignore" | 3 + .../jltf_YKX/.idea/compiler.xml" | 6 + .../jltf_YKX/.idea/gradle.xml" | 23 + .../jltf_YKX/.idea/jarRepositories.xml" | 30 ++ .../jltf_YKX/.idea/misc.xml" | 4 + .../phone/phoneSettingConfig_Card_1_2.json" | 25 + .../phone/phoneSettingConfig_Card_2_2.json" | 25 + .../phone/phoneSettingConfig_Card_2_4.json" | 25 + .../phone/phoneSettingConfig_Card_4_4.json" | 25 + .../phone/phoneSettingConfig_MateX2.json" | 25 + .../phone/phoneSettingConfig_P40.json" | 25 + .../.idea/previewer/previewConfigV2.json" | 49 ++ .../tablet/tabletSettingConfig_Card_1_2.json" | 25 + .../tablet/tabletSettingConfig_Card_2_2.json" | 25 + .../tablet/tabletSettingConfig_Card_2_4.json" | 25 + .../tablet/tabletSettingConfig_Card_4_4.json" | 25 + .../tabletSettingConfig_MatePadPro.json" | 25 + .../.idea/superAppModuleSettings.xml" | 13 + .../jltf_YKX/.idea/vcs.xml" | 6 + .../entry/base/snapshot/widget-2x2.png" | 0 .../jltf_YKX/build.gradle" | 50 ++ .../jltf_YKX/entry/.gitignore" | 2 + .../jltf_YKX/entry/build.gradle" | 39 ++ .../entry/libs/hwcaasmsgservice-release.har" | Bin 0 -> 33946 bytes .../jltf_YKX/entry/package.json" | 1 + .../jltf_YKX/entry/proguard-rules.pro" | 13 + .../entry/src/agconnect-services.json" | 64 +++ .../jltf_YKX/entry/src/main/config.json" | 135 ++++++ .../hwshare/third/IHwShareCallback.idl" | 7 + .../huawei/hwshare/third/IHwShareService.idl" | 10 + .../com/jltf/jltf_idiom/MainAbility.java" | 186 ++++++++ .../com/jltf/jltf_idiom/MyApplication.java" | 98 ++++ .../controller/ServiceAbility.java" | 108 +++++ .../jltf_idiom/utils/PasteboardUtils.java" | 77 ++++ .../widget/controller/FormController.java" | 97 ++++ .../controller/FormControllerManager.java" | 183 ++++++++ .../jltf_idiom/widget/widget/WidgetImpl.java" | 58 +++ .../entry/src/main/js/default/app.js" | 8 + .../main/js/default/common/css/comment.css" | 34 ++ .../src/main/js/default/common/css/icon.css" | 38 ++ .../default/common/css/messageComments.css" | 49 ++ .../default/common/css/navigationBottom.css" | 20 + .../js/default/common/css/navigationTop.css" | 30 ++ .../src/main/js/default/common/css/share.css" | 7 + .../main/js/default/common/css/subscribe.css" | 32 ++ .../js/default/common/iconImg/clshare.png" | Bin 0 -> 5138 bytes .../js/default/common/iconImg/clshare1.png" | Bin 0 -> 4766 bytes .../main/js/default/common/iconImg/edit.png" | Bin 0 -> 5296 bytes .../main/js/default/common/iconImg/fh1.png" | Bin 0 -> 4556 bytes .../main/js/default/common/iconImg/fh2.png" | Bin 0 -> 4834 bytes .../main/js/default/common/iconImg/ly.png" | Bin 0 -> 7822 bytes .../main/js/default/common/iconImg/ly1.png" | Bin 0 -> 7663 bytes .../main/js/default/common/iconImg/share.png" | Bin 0 -> 2416 bytes .../main/js/default/common/iconImg/ss.png" | Bin 0 -> 7761 bytes .../main/js/default/common/iconImg/xlb.png" | Bin 0 -> 6623 bytes .../main/js/default/common/iconImg/xlb1.png" | Bin 0 -> 6837 bytes .../main/js/default/common/iconImg/zf.png" | Bin 0 -> 4682 bytes .../main/js/default/common/iconImg/zf1.png" | Bin 0 -> 4607 bytes .../src/main/js/default/common/images/1.jpg" | Bin 0 -> 91164 bytes .../js/default/common/images/Wallpaper.png" | Bin 0 -> 155181 bytes .../main/js/default/common/images/bg-tv.jpg" | Bin 0 -> 215219 bytes .../src/main/js/default/common/images/fh.png" | Bin 0 -> 243 bytes .../main/js/default/common/images/tp1.png" | Bin 0 -> 60026 bytes .../src/main/js/default/common/images/wz.png" | Bin 0 -> 11524 bytes .../js/default/common/js/privacyAgreement.js" | 229 ++++++++++ .../src/main/js/default/i18n/en-US.json" | 6 + .../src/main/js/default/i18n/zh-CN.json" | 6 + .../main/js/default/pages/index/index.css" | 0 .../main/js/default/pages/index/index.hml" | 14 + .../src/main/js/default/pages/index/index.js" | 76 ++++ .../privacyAgreement/privacyAgreement.css" | 171 +++++++ .../privacyAgreement/privacyAgreement.hml" | 430 ++++++++++++++++++ .../privacyAgreement/privacyAgreement.js" | 313 +++++++++++++ .../src/main/js/widget/common/image_1.png" | Bin 0 -> 4337 bytes .../src/main/js/widget/common/image_2.png" | Bin 0 -> 5161 bytes .../src/main/js/widget/pages/index/index.css" | 120 +++++ .../src/main/js/widget/pages/index/index.hml" | 65 +++ .../main/js/widget/pages/index/index.json" | 11 + .../main/resources/base/element/string.json" | 32 ++ .../graphic/background_ability_image.xml" | 8 + .../resources/base/layout/ability_image.xml" | 19 + .../src/main/resources/base/media/app.png" | Bin 0 -> 90450 bytes .../src/main/resources/base/media/icon.png" | Bin 0 -> 26651 bytes .../com/jltf/jltf_idiom/ExampleOhosTest.java" | 17 + .../entry/src/ohosTest/js/default/app.js" | 8 + .../src/ohosTest/js/default/i18n/en-US.json" | 8 + .../src/ohosTest/js/default/i18n/zh-CN.json" | 8 + .../js/default/pages/index/index.css" | 11 + .../js/default/pages/index/index.hml" | 5 + .../ohosTest/js/default/pages/index/index.js" | 41 ++ .../ohosTest/js/test/ExampleJsunit.test.js" | 10 + .../entry/src/ohosTest/js/test/List.test.js" | 1 + .../resources/base/element/string.json" | 12 + .../ohosTest/resources/base/media/icon.png" | Bin 0 -> 6790 bytes .../jltf_YKX/gradle.properties" | 13 + .../gradle/wrapper/gradle-wrapper.jar" | Bin 0 -> 58694 bytes .../gradle/wrapper/gradle-wrapper.properties" | 5 + .../jltf_YKX/gradlew" | 183 ++++++++ .../jltf_YKX/gradlew.bat" | 103 +++++ .../jltf_YKX/package.json" | 1 + .../jltf_YKX/settings.gradle" | 1 + 102 files changed, 3698 insertions(+) create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.gitignore" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/.gitignore" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/compiler.xml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/gradle.xml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/jarRepositories.xml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/misc.xml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_1_2.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_2_2.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_2_4.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_4_4.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_MateX2.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_P40.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/previewConfigV2.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_1_2.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_2_2.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_2_4.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_4_4.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_MatePadPro.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/superAppModuleSettings.xml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/vcs.xml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/EntryCard/entry/base/snapshot/widget-2x2.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/build.gradle" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/.gitignore" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/build.gradle" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/libs/hwcaasmsgservice-release.har" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/package.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/proguard-rules.pro" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/agconnect-services.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/config.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/idl/com/huawei/hwshare/third/IHwShareCallback.idl" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/idl/com/huawei/hwshare/third/IHwShareService.idl" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/MainAbility.java" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/MyApplication.java" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/controller/ServiceAbility.java" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/utils/PasteboardUtils.java" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/controller/FormController.java" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/controller/FormControllerManager.java" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/widget/WidgetImpl.java" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/app.js" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/comment.css" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/icon.css" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/messageComments.css" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/navigationBottom.css" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/navigationTop.css" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/share.css" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/subscribe.css" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/clshare.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/clshare1.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/edit.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/fh1.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/fh2.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/ly.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/ly1.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/share.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/ss.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/xlb.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/xlb1.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/zf.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/zf1.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/images/1.jpg" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/images/Wallpaper.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/images/bg-tv.jpg" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/images/fh.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/images/tp1.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/images/wz.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/js/privacyAgreement.js" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/i18n/en-US.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/i18n/zh-CN.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/pages/index/index.css" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/pages/index/index.hml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/pages/index/index.js" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/pages/privacyAgreement/privacyAgreement.css" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/pages/privacyAgreement/privacyAgreement.hml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/pages/privacyAgreement/privacyAgreement.js" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/widget/common/image_1.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/widget/common/image_2.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/widget/pages/index/index.css" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/widget/pages/index/index.hml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/widget/pages/index/index.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/resources/base/element/string.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/resources/base/graphic/background_ability_image.xml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/resources/base/layout/ability_image.xml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/resources/base/media/app.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/resources/base/media/icon.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/ohosTest/java/com/jltf/jltf_idiom/ExampleOhosTest.java" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/ohosTest/js/default/app.js" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/ohosTest/js/default/i18n/en-US.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/ohosTest/js/default/i18n/zh-CN.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/ohosTest/js/default/pages/index/index.css" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/ohosTest/js/default/pages/index/index.hml" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/ohosTest/js/default/pages/index/index.js" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/ohosTest/js/test/ExampleJsunit.test.js" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/ohosTest/js/test/List.test.js" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/ohosTest/resources/base/element/string.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/ohosTest/resources/base/media/icon.png" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/gradle.properties" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/gradle/wrapper/gradle-wrapper.jar" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/gradle/wrapper/gradle-wrapper.properties" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/gradlew" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/gradlew.bat" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/package.json" create mode 100644 "OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/settings.gradle" diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.gitignore" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.gitignore" new file mode 100644 index 000000000..fdc0c4a65 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.gitignore" @@ -0,0 +1,16 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +/entry/.preview +.cxx +/node_modules diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/.gitignore" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/.gitignore" new file mode 100644 index 000000000..26d33521a --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/.gitignore" @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/compiler.xml" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/compiler.xml" new file mode 100644 index 000000000..fb7f4a8a4 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/compiler.xml" @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/gradle.xml" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/gradle.xml" new file mode 100644 index 000000000..9123e0915 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/gradle.xml" @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/jarRepositories.xml" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/jarRepositories.xml" new file mode 100644 index 000000000..52a1b0501 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/jarRepositories.xml" @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/misc.xml" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/misc.xml" new file mode 100644 index 000000000..58918f503 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/misc.xml" @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_1_2.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_1_2.json" new file mode 100644 index 000000000..69beee7fd --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_1_2.json" @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh_CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "360*780" + } + }, + "DeviceType": { + "args": { + "DeviceType": "phone" + } + } + } + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_2_2.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_2_2.json" new file mode 100644 index 000000000..69beee7fd --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_2_2.json" @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh_CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "360*780" + } + }, + "DeviceType": { + "args": { + "DeviceType": "phone" + } + } + } + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_2_4.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_2_4.json" new file mode 100644 index 000000000..69beee7fd --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_2_4.json" @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh_CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "360*780" + } + }, + "DeviceType": { + "args": { + "DeviceType": "phone" + } + } + } + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_4_4.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_4_4.json" new file mode 100644 index 000000000..69beee7fd --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_Card_4_4.json" @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh_CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "360*780" + } + }, + "DeviceType": { + "args": { + "DeviceType": "phone" + } + } + } + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_MateX2.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_MateX2.json" new file mode 100644 index 000000000..f505e6b9c --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_MateX2.json" @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh-CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "360*780" + } + }, + "DeviceType": { + "args": { + "DeviceType": "phone" + } + } + } + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_P40.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_P40.json" new file mode 100644 index 000000000..69beee7fd --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/phone/phoneSettingConfig_P40.json" @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh_CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "360*780" + } + }, + "DeviceType": { + "args": { + "DeviceType": "phone" + } + } + } + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/previewConfigV2.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/previewConfigV2.json" new file mode 100644 index 000000000..2d3493fc5 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/previewConfigV2.json" @@ -0,0 +1,49 @@ +{ + "1.0.0": { + "LastPreviewDevice": {} + }, + "1.0.1": { + "profileList": [ + { + "id": "P40", + "deviceType": "phone", + "width": 1080, + "height": 2340, + "shape": "rect", + "dpi": 480, + "orientation": "portrait", + "language": "zh_CN", + "colorMode": "light" + }, + { + "id": "MateX2", + "deviceType": "phone", + "width": 2200, + "height": 2480, + "shape": "rect", + "dpi": 520, + "orientation": "portrait", + "language": "zh_CN", + "colorMode": "light" + }, + { + "id": "MatePadPro", + "deviceType": "tablet", + "width": 2560, + "height": 1600, + "shape": "rect", + "dpi": 400, + "orientation": "landscape", + "language": "zh_CN", + "colorMode": "light" + } + ], + "runningProfileList": [ + "P40" + ], + "availableProfileList": [ + "MateX2", + "MatePadPro" + ] + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_1_2.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_1_2.json" new file mode 100644 index 000000000..e241bd4bc --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_1_2.json" @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh-CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "1024*640" + } + }, + "DeviceType": { + "args": { + "DeviceType": "tablet" + } + } + } + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_2_2.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_2_2.json" new file mode 100644 index 000000000..278b67116 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_2_2.json" @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh_CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "1024*640" + } + }, + "DeviceType": { + "args": { + "DeviceType": "tablet" + } + } + } + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_2_4.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_2_4.json" new file mode 100644 index 000000000..e241bd4bc --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_2_4.json" @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh-CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "1024*640" + } + }, + "DeviceType": { + "args": { + "DeviceType": "tablet" + } + } + } + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_4_4.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_4_4.json" new file mode 100644 index 000000000..e241bd4bc --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_Card_4_4.json" @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh-CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "1024*640" + } + }, + "DeviceType": { + "args": { + "DeviceType": "tablet" + } + } + } + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_MatePadPro.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_MatePadPro.json" new file mode 100644 index 000000000..e241bd4bc --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/previewer/tablet/tabletSettingConfig_MatePadPro.json" @@ -0,0 +1,25 @@ +{ + "setting": { + "1.0.1": { + "Language": { + "args": { + "Language": "zh-CN" + } + } + } + }, + "frontend": { + "1.0.0": { + "Resolution": { + "args": { + "Resolution": "1024*640" + } + }, + "DeviceType": { + "args": { + "DeviceType": "tablet" + } + } + } + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/superAppModuleSettings.xml" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/superAppModuleSettings.xml" new file mode 100644 index 000000000..ae8f7440b --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/superAppModuleSettings.xml" @@ -0,0 +1,13 @@ + + + + + + + true + entry + + + + + \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/vcs.xml" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/vcs.xml" new file mode 100644 index 000000000..94a25f7f4 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/.idea/vcs.xml" @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/EntryCard/entry/base/snapshot/widget-2x2.png" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/EntryCard/entry/base/snapshot/widget-2x2.png" new file mode 100644 index 000000000..e69de29bb diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/build.gradle" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/build.gradle" new file mode 100644 index 000000000..05ab92023 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/build.gradle" @@ -0,0 +1,50 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +apply plugin: 'com.huawei.ohos.app' + +//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510 +ohos { + signingConfigs { + debug { + storeFile file('F:\\config\\ddj\\jltfhm.p12') + storePassword '0000001CBC1FD089B7A0219C9FCE66DF95F696FE47AD41C74E4EB383A096E5E98767D47792DB0AE6C57F716A' + keyAlias = 'jltfhm_key' + keyPassword '0000001C3885EB344B1051026F1EC3293D28131C5298964F3A3E169565B85C50EB1E9210AAB3CF0C9812430F' + signAlg = 'SHA256withECDSA' + profile file('F:\\config\\jltfDebug\\YKXDebug.p7b') + certpath file('F:\\config\\idiom\\jltf_debug.cer') + } + } + compileSdkVersion 6 +} + +buildscript { + repositories { + maven { + url 'https://s01.oss.sonatype.org/content/repositories/releases/' + } + maven { + url 'https://s01.oss.sonatype.org/content/repositories/releases/' + } + maven { + url 'https://repo.huaweicloud.com/repository/maven/' + } + maven { + url 'https://developer.huawei.com/repo/' + } + } + dependencies { + classpath 'com.huawei.ohos:hap:3.0.5.2' + classpath 'com.huawei.ohos:decctest:1.2.7.2' + } +} + +allprojects { + repositories { + maven { + url 'https://repo.huaweicloud.com/repository/maven/' + } + maven { + url 'https://developer.huawei.com/repo/' + } + } +} diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/.gitignore" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/.gitignore" new file mode 100644 index 000000000..7d5b7a94f --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/.gitignore" @@ -0,0 +1,2 @@ +/build +/node_modules diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/build.gradle" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/build.gradle" new file mode 100644 index 000000000..21d8e5951 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/build.gradle" @@ -0,0 +1,39 @@ +apply plugin: 'com.huawei.ohos.hap' +apply plugin: 'com.huawei.ohos.decctest' + +//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510 +ohos { + compileSdkVersion 6 + defaultConfig { + compatibleSdkVersion 5 + } + showInServiceCenter true + buildTypes { + release { + proguardOpt { + proguardEnabled false + rulesFiles 'proguard-rules.pro' + } + + } + } + compileOptions{ + annotationEnabled true + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) + testImplementation 'junit:junit:4.13.1' + ohosTestImplementation 'com.huawei.ohos.testkit:runner:1.0.0.200' + + implementation 'com.huawei.hms:hwid-ohos:1.0.0.301' + + //oKhttp30. + implementation fileTree(include: ['*.jar'], dir: 'libs') + api 'com.squareup.okhttp3:okhttp:3.10.0' + +} +decc { + supportType = ['html','xml'] +} diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/libs/hwcaasmsgservice-release.har" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/libs/hwcaasmsgservice-release.har" new file mode 100644 index 0000000000000000000000000000000000000000..a3ade840a142ff7c2a9934cc322bed2418c206a3 GIT binary patch literal 33946 zcmbTe1z225vo4HVaQDFA?(XjH8U`5L-GjTkTkzmcAlM+m-CY6%CuorHlfA!l?%m%x z&$;*h>v?)+tzOkt)zxon)r_hFGz=011Omj{MXs!!W5mk^1p)CVy@No3FmrUUu(o8j zadmXi(nN%Sh7h7R{F8hEKqn^vKbbGU)ZM|{4x|jU2faN4%pC2Rt=xg0AZunbAkdZB z9^~o@v;?_=Ts*AJKmbO72gt$P(d7^6-(-Jfxwu+8I{d}W%+dT0A2vpS!@oGPF|z{v z8Q;WNYlHrGI(sLeo3*LkA8Kw!fE&=o66E&h-v5o*9P~$;#9zAqVf&V4?`ZD+7qKtE z320{frqkPt|FgP(bJFy7`a^C2aI$iA_)`lv;G1MOfYF;MYgacH$3H^eq}o|~fLy$F ztlg~S99-Ric6M+1ZZ7Vi{}BHlRS%X~v z2=@gzx>$o8+}^7Fm$3j&jxKI4Kx?-*eg4B(|Fij-<=yR_#LV2RJ*?fl|J35|YP}ic z%^HjVJD|IRnbm)&@TR|mInc!%;Qv-j7m%|m$i?2;^-n|nOPl{jracJcW^E5*mJk!u z_@E&xrY`kCLrPs+PD1L9i@(3>KcJSF(IO!H2D(29@CG#(kgKD+iy6q3#T4iYVgcEK z?B8n3@@8IZhyNCVf4}+LH2;aHjn+pMSxRh9x zoFqV2*0Me>APpa7O*0=`Gd^>Gh%l0%7ylardypHD%*)=+!Ij@j2=EtQ{In7NtE*f?3qc=(vvxLG;5*ci#!S=o44Sh-kOxtUnm z_*r@R+1becbpeEt$OK)?E%?uzZ&%)yA>B;QL!R+W_$->6R$H&6T z&ce>l^hUwt>ivdPFD3_9ia#v=<{=4kHFL3c`h#DxKRkh^j_z(k007G$AuRur@>V^T z|E%BJ!+%=nZQu|BxV+V$NkXy>0s{X|PEt(MEB7qV+sSY+Z&+mGB9kDF@_i!{(HMMd zAAUVbC>RnGRYDf&n>J<_jw~!U-sz$Ph)2dAGkGv*^q`8eGp&YFiaVzXO7k>yqEXW{ zvJY{G^&TiNfXi)6WCt{8bRWN}-4uC@<4i796OnV=r+m~_isQU^`2BeAyHWSF)bpWD zlumkpZF?(-y=xEI>zs`E6b_pVLhsfy6uOz*3O0Sa$!-MM@%%Kr(EX%4T(6z8_#4GH zXjCM`Wdus3nJI!kD*La3z7;{FD(dd$<`4Cz%2ByBUU#>|yl_hp>b(Xk$KM-5yt}4D zWnF9Xbtq$D*7zH<6$(`)MFYv8{ILBI9#wCkB3wP@8!Q~Iw!w9WYe5^d{DCjB&-5fV z{;OAQXopiwPV;Tc-ez$6(zs*XDc#hI#qH?r2)uYw@91$u3AbV|Ukd>9v>%7JvVBr8WrAQ`fXTG5x7z|NpFxu`Oe*ff~+xLxLL?70|4 z+kN-J&0VY_JY&cCUzz<67|uc%DuwNn`!}oM^IyvoFdD?jER+cvCRN8ZqfwBAx%C}~ z92ilbDPUkQuwNb`;{5Ue?}z*C@L9v6B48dL;5<1BPJU5}PC^>6TkTtIsV@AO5SZRX zytjw96P8L!*emWF*T@uX?`0P5>v4_@tTS|mW6VMH|J_UH;l5@Qa!%;m6_dzfS`>#b zS_1Q3RWxuVhYLakGnBr2s99PDoer*Du{NfIScsD6AUgEmC%qvx0$C&sFjZ6-mWnPC z`#_LQrvj!MQ~wauE&ELw`+gOfJEZ+rchIA?!L$)_#+i_+pPDW}hv{3aooF4)m4t+2 zOmHsNj{IOlGHA0Vy5ozG0>fA+L$Dw90OoXF=)24;#G{{#sq8JnoFH-RX#?(kb+S^^ zFGRC?%B*e)Ci>h12{5o9PK?5;+O3Qov|J}`(5m$1XCA&oO3?QrEle5qyN5X7_v_VA z-QDo6(o%y^cS;Tde`F<+M6jC>Ak}SGuSj{2PN*XwrxEoR{~#q$Xt<8#%fPPp(N40@ z@QSU!iaQ_Bv(-?%=tngmGcP}T+SNkr=8RQK)qib`mF-Ev_L||v5(FN#@!TAy+@}{ zi&Y53L*z%|PO2pL&s;jilJ3t{2->4fmkI`l!Ent+^t&ZEsJOIGkzRu77J*Hu%c^_} z)W<#JQuP7LG>XThHB4#T#Zlx`y5i&vleaJv8xR>qGZt@AGfR!f z2`r&&Fh~3}YpfFKa;H_B$+B3~81wA(%2<_Y(^nrDiMSv}m!S1~c4@f@<{wwd?Gax* zG0Quc76K{OrkkLhdF7#MWs!H-gFd+XYB0ls=$ca~qUP2U^3ZT19Ks;GtKC01_Ys5nf|qG*Z4?+g(q^n~!> zk)ySn()yjT#RDDtwZf=*N|rL9m9HN@A4zy3b|IWaXpvEJ7Ftcpa9YBIS{Op1izj&k zd;~ShIe6uFzC^2vZNCdnYKPfsusjUz__QFaBk7h(Oqds0jq{_jQf)gr(yTiSPws&0 z5&P55=LRSwQeq}?TZ*njPAQeto$3|g>z~o*?8J2aME>>e?@xaOA0TsnhohH}mUc_G z?~lwj1Q#`#&m%|MgV@vvK zjM%8qX?gWqGgIEhQi!^;@0yJCB}MCb7c>$U83t?np8O8SO)0yL*6>|fP5M+m%zpjw zR9~@B&UDcL(xEU9C$1YOk#<@gak>t3I``A%!&}X!SNlRpKCKm+!M~mLQV)a|?BEdI zK7OjUVo36wzci!}>(x^5S#It`ln)HORtZBhhH$hANvmO{;Aw9kL}$dgdWP()^RQ^Q z6cAjgtpgoV0^RjEE?dKd1TW=Nikw6V78%d>R7Va<{o`7QZVV%~fF7r9unTXt+aTrasQJD>@MPBRS0_IRX?SjfZPz*8X z;t#7J=?XtnlBwqUR++q%It{XaTg)u{rU#LHjo16@-L@GXc&e?Bq$f=09+EFU0arV* ziQ`N#t?Z8`<=ob|p&bed9)le+Vkmuy;^5sZS@uhG^EzsWft`H8|7%vIjE*VZf2 zgMzSQ#h3pgOQxU+C!*O^iB0U=&{NFas)9Y>bSI3IsSpqqviQzM&0T zs|#CWCV6FIg8a~dbTAe8>eEGUH7<#Z_EYa+cCE><#qU|aAT6SxHspH~@CEv)k$;|s zN_?6Oqusr57M7vUUPmz&$&~;EDm;cWc_F1YA7)%&BW{A8Pa>7bjl}6oPUg5o^ucgSMbjd zGYfSHH+FsG%54h$?dg&&yO0QV#Mt{KZFNGMCnB@1Iz&P+A2Sf7v> z5yEn?lRIW>^zs;Siiy?XH9BQa$hm9hW7m5)XKmE|;v71U--N0*Iwg}5=b7c5$qcg1 zz;1{U=3qyn@Yg9U7+|ti z;W1cr+t^4J`h!axO@tb{cEUtY>UoW_a2q;py*xDDUx;p^!bhd0rh!R_j##N*pC4QU ztz~Op!RcHgd+d;*iSk4LQkunW(Ix983;b?dl!eZg|N9yb$mArz>z8UaBMr9)ad5_6 zh~lr8+$wS+JFikK(x)CyJ!Lz=ZZxF4?Xuj&q%ScJ`nUnzAtDJ}hsol7;b)@Ux9MCP zPYiAddnp1tzm2Tf^D^5%;t6(PeJgtI=7{53ceLJ_Lpx$$V$hr6&hESGs|;OyqLd{-*A>5=68Ae> zsyE^HbDQ9$(tN)>me>+FzsL^!hVxAc(ibAU~5>h21Rodt5Q}$WYSJTO( z5J93N+T~`h$4Kd|ikA8yRna!f2A=>#w9B!}7n+^tj$p1BquCe&P2wZ^CchogHj!*N z_%EXH-DSg11D{E^KB_m^G4ryuiLPyn_Vr0_;k1j^IVQDWGaP2vl*KLc`Q9wmQ(zDK z$qlKui(?Sd_G3hMt71w|?@Q{+C%P8ygOx-=h^BP>?q=PvA5A(2h%Nuq!+iZ}1YuC^gDK)S0kw%V8JGg?;lP7z zPh!i_-cM)0`hd^E==}zhp;I5=GFaH?(g|97ARS*ZPDK!gVSRk2x$y%0v2xigcX{8h zq7;0@CtV3&oS44fg(*Sqav{?=@n5qi`Wj2a4nzd{)()5+B?;3tvW(xdz3Q>nfa%`lh z8*usKM;Y?Ga4G=%ab&{w!~W2r$sPx*D|NLIlr3Hw9Ycn+j!A<06Byx+By1@@eWg*R z;a=3ii$Xgw;%mfqo=EVRa!^9<-VV`#RRjhxb8nD?RlOj0%e#CB&z9i5#+wX#OjbE8 z0SU^;(xcNb6a(OJK*AY3F)cx@A5Q;s*mU;c!+{&GIRq@)D+d3U(bMI_qx==C#BAH0 z;7B+b(ey7UEYje8qDDg8X^5tu!DZIdDPUeRK5GCvlsWDJC(^2AV1^0P7lMvQejY_u zz6LanOs8C3E_Rq`r*@SYS7ee$$K_@Zl@P<^S=v19d+ECVlYYCjqju}FY~e*^b)QT> z2{Y=`2|{1PQUy)Tbsq|AdYvBZq+ zM|LjpqkO+D;<{j$>%#Po%uhXCk?{dA+Olt8l5eely_NCpr5U4M81u(Yi_9IF^qq+J z?xHU!dLt@~V1vm_-iSam#9DqSr`Nd4`1jy$F!BkyE-Tu3k8>9)q}Up#RZdw`?h^^r z+RRj;!bY6l)}*r5;!pdf-V0&Q24j+GxW~yB%?q(oj0=SOJX@N@&(L3xd!7=Ru@dc! ziV%bCQ$0W6psu{fw02Q)$1e@7fI;DVnDQ*mFh_E_b!p$n_S#QCYHX+n4H~4st2NFi zy*SGN|J1uo@-0%G2j`4}DL=adqpO_0&D=Qj+)_5B2E8rO7n%Th>?ZB28k5?*>AN-W ze6OG`#RnhTKphrRk4D`&Q+G!{80XeY!p_ds*8Mz6Hx$r#s)H?t5AWdR+ta5T_>oFN zEqMM6uaeWLQC4b@G~cD=2)s^Bm_BO9LNMDgTn;m5P)M!u&iY*;C#2hb<9KrMBKJFx zZ?};0U(JPx$hhN+%zFH|kY#sUf3=;BgPL&G_G>m|+X50%PhfYQPb&7tCk2XeR5TU+(p?=sL6}(7Md@CY?T&X6hvhHx=YEZ?pDFi#@k&c- z_CKv8Y((#!&2j?fX-uh5c6mc`j>E8g2kEPGnXA05#scRo%12yG_ik3|ZGt?e%cI_= zfiPA9G>#_g#@uBm`^+4g+g2_u3AiHTX6_^&vtZVhq=N;kk)%h9svjO6sm9)3?0;uf zhhPb9>_mi`(e)5X_wPW3DA4R}Q9}-omIwHJ%ZiC6;P)OlrbD zWMbT2NHhq)8k*t~aZapO=il$U$+pn3Jast9#4pV({)ETfB5|ZSa(uMKkEtlE2xEL4 zh<6|C#4lcylN30=x4 z=uZKLLMc1?HaD)HYm>xhQgNQ|QO9{cKeec0rTN%_*yD>d+UYy2K zW|HPRGa|i@5wodM8SWPW$7w{EvXUg}42hz+=iUGzSO@=wy-6BDBP?4wmVo>9E3)-l zQ~t*4kFptQyyFz^2u2hqO{WFW<~#9Q14@%HyE!WT6Fr)o9X2-*K&e-OlY3ZUiT}mEYwwg|yeD8CaQ@AD_1UiME}#9vlehALgkahC8>N8f+BAvGfd&82T&& zjCNhos+=u#NY3X#`X9Xg=WX#wA*93r_~raq7{`PuL7k)_*XN<{1wXa@QV3Ruczt5; z`lbAE3>^qN$APF*r0G+HFpT+p5>kKA`IuiCDinU+$PD)OJZ4WS`fUvzEKDS&LPE!7 zSBPQk4=wz_@o=Yc*`4O|xo5#OV#=Knc2(i$sjZJ*{e-}btKSv&jP7l^r|7}<4zRk*3zspKs06Z*LlOJ#iz7|=hEN8-T{)EIQted7S^grjjiHH&3=g62w?_vOW&Sk zJeF+_um$F=(luEpQ26{U=+s6<7q#2dcY{-q4mOGLY0@Bd1N7ar5bNA<&7*cexPVAf}XB z1vT(F@}c=DG12-iXbiIHVljfZD5BcJFa$#@_TqarGVu}oV9@$RU$50NtI|FOKM1XQ zd|Ng{huq51Oe$l=^+S^ig_5KC%wtMX@1G2t6U^6&)zDxnveLuQyD^NU+J0-KKtiL~MZaDm*fl?O{@^SWa(OYGncT7D=#`Gd5PwANxEK>{;of(! z8=!Xv=x3*shMpx>8v?0I!pe#0>B`sVdHE=g_9EK>S;RPdvnL9Vf?yIOiF!)eN?v_# z!|85-A9LYa(@lz1`?%%M%$$&1JIr+QJKh7m(6Vr3@`9+yRMtcFZQW>sti(^o!Ni&9 z*-hk9A6%NpOjrCa7EAj(?`6q7b5ZPm|9Ck0P~VseeT8#w!F}cjh3HBs@wTtKxyvd? z#k!xHBSGw(n5NMoV z%!MbJ3xPZPXq}g~zqQ(^ACt$#Rp@e-S29=JzAJR%7Qq1`)^mfC+x#O8$vSkk_$4Gv zPO>~-7zWvL=r(jOeRDh(P*4H*iavs-Rt?K6>5SpTJk7rFyck%l?*DdOV>$KwNmcYW(5%=JfsRLVWvFlF}4ol2evufrj`e zVdF=rbD}o_g13bIzY{8nDa%PqX=pMlNnb0Ck0~lJG0&hVFwswrPc^Bt&U0*k-~A5t zzcD-iH>ogh%-&pN{}A}^H1GaJ^SAT(e947Abyh8QU3vLkyr~Y-zT^fFA&LZcsZI zbuK%A9d}p~p$*lephW`Thh@4e;$WaI&-yl9cw2ZZU0*NVzlX@*vBpV27UVV|azd^q z)a6j?cZYSyB6P^CFfr~64$eVx$eLEuV71&4PG=GvAc6H{YOXggiu1)a_RX2Q73;OYkgBB8E~?nb%D>h zrqgWlGzXj7AU6bxV#+G(qVejnt!0p&Nho{GmF@B4mWXAJEdaf}bm=q{I5u~QAoQi@zsL?260rbsaF zuRZ8WBbQ;mHh)G*CQEVL)hP%acT_hh)0-9RNu;h-RK${a2-J3WkstWd`t#T&gkV&juR+Q zwqw?qT5A-BbKxDwoHDFKwm(-<&Y+sWT?_%x|Eov*0Vq$5%n$He-)V>aZ;@g8H!|{4 z^)#@=(1%|YFu5sX41+~^vDKjYaItX^cY`V#`qf}c_wAQs&B;%9&&3~jyMOhEXj`M# z%zBEXf~L;lI>hxTxi*A0I9}HBEAzKLcE7@~hT{R(Q=C5xwa3DWis#X69iir*m2Fi7^G>x8va4~Swzx=E=e2*ZAAr;{`!pL_!gTLoDN5fW)s zubH9FrKGM3TeS(H1X4bEr3qYB@F9K@dL$Z%%56Bp#bTye%T__7DaLQk?cw>De<^o7 zYMZgmzI6yMv-C=RXybJ#jR7x8$z;^B9(_tI&1}8hf$XBpDE62t;C#|EF z{n1wIm46Lr6GdQav)SNgHgStK@YU|ij?-s5eWK&mPZ@UZLDo%nwiZi9*fC4=2G}mj zsdsk|YAp8oJzEFiLn}5>ojE5o?h>A5N4#YdP#M#DPk~g_Pw}lDlDc5MRSg~= zem?C8jlk_v1!VnnN^M~C#^y;Yd=8%LgIA#wx4-Yt04>)CMI9wE!307%1HWZbD>VZbdm)wCax0mhY;_)sw+e8>M z07ZzXOF(Uaw6&?XO<4c{of36!Zt;f5k(EV3PPH8QeEHY{yF#J^2BLF~;y!#9;p|9iE~|6T1jopC+jv_0Us zrQw41pABDPX9s@HE51mQDMBKFsM4v94=E2yPo8K%rPLX$?2+I9TkRlkIoMet**Ku_ z|6QLqHU4wrMSr{hGX?%@dixV4^gm8p@BbV6e}-KBm*U|!?idGe#R}f0GV1?x@qbNg zd8$ITP-^J86C2+r6CM^;OE|4bi|j5pnr~s4 z5+pNuczAl0Wscom!xTnECln_nC%C|QUN(`fAF7F(tU>ox3Vki{m$X`d^XX8X<8oB0 z;B+mx1D){I34o4u{1F$E z^y5sVz4Z{0wrf1K4R1cdS8=1CPLveli_+vNA+d_w#a(tFG0dBMk?nKf*lZt5?UUbT2+(YaFGP zz4BSS>oCiUE<-wou&!}>;?Qt3b7NlKdn51@N-wTYZR{;gNBfVIhgEIQTIN;6kSJGm zi}bH}D$7syWyLxqfMhnf=iM5fq7kqXkpkH`b6$WNQ8?AohnB1pNY#EUcakUROIcM+vKSztK zrv+f!nIvAdoNS-OZ=xO{y1 z?F_YzNXUJ@((Y)sB0Vt#O~gR8znyLZT7Re0Phy)I&oL1&*> zCsFHjh)4Sbt7p~esfV%q%U4%@7O#$`7Lr_>rbBhM{ktDT_?Eg)wj#onb4S!V4cG+W z$1pP+TVynrOP6rV*Jl-Eg$TcXp%JYu-<3W}>ckE$4zVE#j3wu^Q>cdfZ{X_kt)1Lw#*bkygQv4RhK>9Mz}vEB zMYn@k+$dcB;jd;$%xYDzO`YKv+5LBoLWqMO$6N%4i)*yd6$@y1Lvo~-G4*F zECC#}&KnZY;UOS+{{NuiZ!FYk88~9eVE?9WZJKN(kIxacD%?~r>|VIc3$F?v zBrP$yDLXkuwnZne;VDTWO5@J+ljPx=kO}xB z^t<-GYYF2o@snL0Bv|orN<(=Lowo3V>2{#wQ;X{8({zyyKKC2!d`6wQJ74(_o}b-} zgC?FZ^yNI!3*R!+=T-kz+4u2V=K6dR{aJN1xhHMe@hWl{MMeD1F}!VRpCF8az^aj_ zRvx@tQ`ligGXfa5Pd-JtjQV3y&HL3CYlqQ7Yq$YNV+tYJFH0qmK{2c$p}-Bvro9p#|5Sj zNFAd@y~=KsD!JP!h&Y)(R1BTVM6q&WN0)NNPE*)U?10RXj=%eI~MqV8@ZK$4sW5w|2cBEXm4p?>0tkMkn}_}h+>e1tPxYAD8y)Kh0+3JDsmP! z?k3o@@Z{JwHlDI~66H?b^c7d?l#+Ptmsq&riS;I) zL%+k}m&p-_-@jjfDL|C(RJ2zB$^mt|$m!e`FSR43fq45;zB_+Is5#eCx(}76r;XT=HN#f3=^xZLDpOO}MGj-yWT{k>o za62|lDQ_tdZjKPwNh^eI(4Ee~L_V5<&|%k>j-Ak9hX_T=aN4AATD4yf1uBJ*p0{p? ze9}s{Uk6#J@>5uZUs^fIdHS5i(VByIauH8j!u&@sF#R7|n35)i*kx_C+gV)JnfS1^`B%?)C!I5p_m{&H z`baFZ4HVoWN6RN$oLR%ywbi9Ge1AiWFZ45pw_+jZ^fNI<79NM{wS6&+apJ|n;Il!9 z_ea0H)x443q1#D9@aJ?HPCZ-Q;Ui=PGa!baSKIO#iyrV{Xm??T7*mYeQAGofYT)oH z`{Xz>^uBHKuwP5JvJTXLbRD;&X2F2xmdT6>PvTO7LXiv#z3>$#xR)aM9%a#SmMGMb zwNb5)%auf?zv&+4$Sa5-+3RHU&K1mh%SItS70pL3?yE=nYgFAu>mlf@LoS?|LqKGX zEVZcVPDx!xYUvIo8Q-IuASuY%hUtSIIhQ{jrdnf#;*7`XWdt=wHv(vhhIS!PYE;`I zSsPjkn@S&b_^Js55lkZCCj>chg2o-g1*>m0QNG4OjM95n?T$j{7G{)7 zUznuJe#0X=Yn{pN<6||qUW(9Fn&V=Bg!xKgrZV%2|8rI9G79cU$8BCzUd_P&S*^8+!9*1a{K#74bDdoG zrO7Jj=?;LuL?9v`4`qEX&L5gVh|49oSYNUe6@Eyl&DC`j9$v&6+>RrS=fHrk$y&V~ zADkKd1Ppc3=@WuQ>pvP&BGHIs@T!>8LxkN!I&fn&(Ug(zV^8MKHHY7E=2B3)6FuIzzI(@@kGy`BS2) zuGN_JXQLfvu(Ck^b>(YQ_Mk_Xrrc)x{Ce?EWYx6FX=Yb|yPonQLVWd+hr zjz(mgPQ6m+%PP`|W5`z-nLd8ugcD*Yb(#a6d-t1V+I|v3j^#kcwzD4m*LukMF6n82nHU^(x~}lEDl%_?7nJ!&joy!6GGB2R@Gp0XQee!WW7-YI*7w8sM4Eb8t0%{>Y~`{J%y`dOARP7^U*g}Z*JQ_ zK!MK--DAi)ZSjlHn#=@~;u%#;Je&h@5|>b^u6Vn*E*w@3xQvb@&2;^~<2RxNjVX>B zy@X3q$CgS<2xlQoCxWFGozlg@J<&h$E^&J2tp0Xn?De*#{(oDL{%ex^8|^K+h`KmS zIKuFxlb86g`Gt_N!f}WXxTFs4M37>txHy1fx$#SUlYRTFEcoP1{|{eEl;*M>tmhV+ z8!9P(1}0Kl&)Vda)o{zLH7n(u%gyzr>^U^{+Bu^s zfD6R&abI+8t+g8(>5 zMhxf5$nSu~n0AE$3k=Vgis)q~(}c*c0Aq$-F^oE_D<2F;^ebr$N1Q8ej0^NDW{eA5 zr>wv+SVQt{c}N9VL#k~X$R&h!?cOoiF7aLl*mat1EvQkbRwR7vdL>b*UJpnC802^O z7_9UrioKs<=V9jOitvT|FA>94*aiD9X~Aa5G6Zl0;rRJLuSG;-ulHbR8bgVgKh%VVUD88Os7K<-9)ZI!YxfWr!5=Bt13NGsLVM)B=$;k&l`<)S1O}Ry z%NE+T`^Gp2a_z9)R6s62m43p9?oflBHB5()3t8P5G9dIv2bqje0jJhbft>-nPhq_TXbz)rb-lPaL{D?`lpJZLdKJz`r;Fp zh++o)HbPCP1tA>H)nz(c`8;CspjK4!h|{~V4Hq&>8Ga~~ny0ivHtY78>3LarlqnLP z_4!IE-~Giz@nk-VY2@z^zD*|P z?OdeR@92UWbs01bFv!q6raKMZxU-Sc<1x1f;!P@ZEagr&^hL*_n%{d%|pX?YE zs%G3J+hk!z+7eAnELD8ICN+h}BxO9g@$1D6((EtqYWG%Jv6Uzk6sRW`-yF$go0wd>RHHl$6e8yDhn)&`mMTvE}9- zlw{TAFRrId5?wehxRtGfiMmRxTvlZD*`E(fydJ%9^YlKNT8}7|$#?4Knfuw$NS|!B z+sDDsue7?P(9Nz=$qh}ZJB}u2QeK-@@gYswqq;av@L5y0`8!wF5dMhwpbO$3Jc@1A zgV+6FNEGKWXr`gUJ6T`JQ>Lh5#l+WgmOP@)Y#UeA=b8T53c2ohKeI!|b0&2#R7+6G z%$2;YihSV+Wj%PPuHh*xAzuB#Sr~aQwaA1-F)^5k-q|+NW4QBa1<(-UwA4lL0NWslaFi`CEQT zgn+-EGvbSZv3f9BEn4_|q>Y_qX2a&Wd78|pa0e@w@!f3Yy0B=goZ#*1`R0lP?b{ZI z-3)@*p@u=MA`|gYeLC?tBY9c2VvNwPY*pDGi4q`vnOv}%H(5m{Y+Yu)Zfo^SA_}Nl zw5o{H7KdDK3CCrS>uNS}iHcx9$9(W6A9}3Zy{RB!;m5tTMGc|a@!pQMl0aMj8-I(zN zU#oFq=#seEtxF9Wwc?t&^n+a6#%#VF3S$Z2s%YD520O=@vTEDcRt^Ou936*O6HsP> z@}^rHV%GLW6Ae++IY*bJLXkTi&qfujnOkQK$E}%33l4T`uAHi4p|)y%)*6~MgQHC= z1j9bA7g`$$nhJ+gwSICVrEwtwuKeO40{-y6e(bW7w(b3S-Ky8+rmsCl`(oKr73ZN# zE^@!+e3UI1BRrQ)&-0Qj4TGd_IU(#VNd{2T&zU7G4{KV}^iR%p$+no=RMApBaUV91 zTb63^yOC^n@9ARaU#yAkkTJ}j zEjn%<{k9iQ$6$5So0L^uys_syc+Nfa<8h8I!ke&WUFebCCE;s+AekwSHrf>%v>d%o9})K%=?9F;2$ z{lrZhb_qH_(iZ05P34t6(3Uw{zHD2mo~Dp3EAt8wOAu@!-ST88iK~P8kVls#cM>(0 z_)tuwORt=jJMF&qo&aW zx=?=(o?JxOZwekSCN-oU;)lK<9+kk7MjWSqIsE2!g81zYHKgae^D;X`=Ogg*#V;_~ z;$!~3umrbWh!c+W880Nq4_i{Ew-|APa3v;ar$PsO?zVPy!;V@$XeWuUQw4#W79X^= zp=zxyh~D?zk+%!saF6?5ms6R@w+Yn+pDvr*{$yoOyF{ZmoR{7E6jmu7M($Jfj=xd10TegZh8fFggHc9v$)JhM1E8{_Coi| zc`=%yDK($Was|lRJOUqs35;UxU z&6@*b1#|Dhv`dI+ch)IQEU$szw(~lz56hxyJ2t=3r4ik!nURv>Bqi2rtkSxd}M*Al=|fZg-%S4sVN0YA)r z3A^VzSCUV|fLjEnXYAb24B7|nL`$(Mg8kMGHeM^-QgN@eX?iI-4?2E0_hBG4kHwD3 zM~h?;?3ho2ya+WNAV(aN+?*pbyvMIgrb-@~vX8SfpopvVn8(HIXGxB1BPD4G7{i?^+h}qO9`1~I z5GdXb;js_HHDy?zzQ1%p_hNe!@K3#*39+ z8~KcLN*#U8P9&YtQSiJiIAE1E*rljYBWD_89|x`v`sU-F=Lw;Yi7o=u3A;9;#vPh=@srd6kxN8RiEbj+j7; z+8kKvvWYUtj+f-y2Nfi9NZ7`M$eMbBfUJQ{%#g@kE65yMov*P#TB;8M`GGbkE(&5a zMUt%-g;dJwazbG%7JN!n0s114oknOUPNe%Uc>mm{5xaNBV!RzoV7>(l(f{B04HO+M z|K6F!sT(oofJ~NP9~FssiI@oU01E>HQ;Kha-k*lP zXuh8I7LWl=fCi4-R)^7$l}4A6?+p%=f>eNFmO%&mVSjF?H{pvGXeSwjn^jxKO2n(D zGkIqnzQ6hz@2m9Ew6Vb2SkE1@I<DWZ8y1PBt?jkaUD6400FE1?C z#+^~-2fn|=drkwEGzy89ReHyx4K}(d!6KJE&877`yD0MJ&+aI5PVd=ZJR@=>gIo_4 zJ&89LNjA=jvM0A$bd`#A``Ae`avb73eM_JdVxCmcqGHnIJH-9!@6A;}CYoy>_=RaX zLKlASxVGprsC!+B2x;_>7=O=n;R9D$j;q(lGersr+4bZ_kj9J19_CcxJj%NBx_2FYAn3%|pV}Cgs;;)~{}%wu9&A+cSYcDZzNCg2Vwo%(j&FPvp_L z!OpPWu&}ULNRxED1=28xZdQZI z4cZuib(!nVq2NTcr>7Q_m4^1UHo5ozUu9PTRY$UIad-DXg1fsrT-@C?xH|-Qf&_PW zCwM||2oT&If(IwK{L7ztFEhM(GR10W7M!!Iy6RT%sy=78A|#7ku~c!d!een4ZdpE? zwA7+=30k9AvB;-P>kPwT)T7BF*223}vg3HQ{LmfmHS>Y$CeImax0|)b6%O5-K6YF< zXXW{lWAnSJ5oogF-H#-?3BbTwfb_x`WhJ#m_nWs8gOMd{KP!&3wbVxGuid(vFh{q) zOl6_3_>t!TF{ zW{klwX0VeN1Y}R#tbX*99iV?6&I}}>Z?%D{Bn{XgAS{1(IR8F+HDKLUrZFGwm|2cT zzN2;p#v#CRTD&t9ClHK^l}(T|`A~`WF;4B4`8=MNIi1B0W^ANUYhhtxWJbDDx8Wna zO=mnwSYbM1<#KtY?&0V8Orha;QGRcPFVy3@ zh)YnotI4OvxE)ES__!U3r#!gwL)U>(0$;DwqdJD%#rp(I?v?vGOzyS&{7mlEv8LJ)Rw?Jmc)HFpQ^PRCj4 zI&np&?*s5zbRmVzGJ6jP_BQtik`2QfAa~#4tc;#Ggvh(sVDRAD8oOh5`yvN4&jzCK zuXU2SV|TaVu5_OecZcHgZwTR3o46BpFXF5Wod_YzChAmuIl#U2uqYE{H!gr0I*|)$ zv$CgJ$z79*Vj?icQ9t3k*XewJ0uSle2l~8!)p^1K>DSqWagUj8cAXc1PRrLBkg&uv z_~|K*Pcc{mb6qfNohKqzQu>5KY~Z@=^^#1hl%{)%$_W?LYx6Y{v8lR-q(N?PG1Pj- zG8oKkr5=jS}r;uW-lTkgG zv^MKwT9&qXi27#kQR`L_7X1vE4rD}XJ*w8#=n}X@ilW$AXeCIrhqa7G>mR|KzyPy$ zv#u8F%}E3Zc1$edjy0+VM-Z;Z3gm2gKl@$cX^ExYQYIo^?ZnqM6U8`d9zp?ks`hb} zPOvf2Jcq}+!~?F^VK&X^xUEZR%L>qB$>5tYKqUg6)^k2&SoU-`R$&!G&?3pm0eWTVyyPN^vA=0cWjneEk@1gy zjwkMNscFyqA{SAF7=2KL%?L6WPXO4S77b9ETy-d4ec^)Z8^DTvA)pU|d^tJMj?vWk-GMhA1 zLKDYzO_{SImZHg2ttkvCyrSIR=w-ZqrLs?!9Nk%sD@o^k6x>xB<{ z-l!Oa@MY>OvDyywK=NWOTctRpbu5y*7M3z-`v4@i=yCVPXO37|(lTMLu#6c?Q(F-B zs6UB_lh35eNt7&nmE>7fZO0E5C;zB1%)MfnT5@?|5_SCmR)2@cl3Vz|G%|HBK9fD% zJ6Ikz(KW8KNhadI8%soZX_eYp;U~zlk$lbOrTZWie=hl^B`_&?m_DuGt%3y^GTA4x zgbOrQQ$H2JZ35NgYW3Yu(S;?K(l2F$X&ItVVR2D~;`dy5Vv|E-F_~)yrv--OJFQEB ze9OVglya{QRctfI-Khb<409`~N_oTyM0dGFiZKV@L}}!Y^*A}p8+nkCZ^>0nr}*>b z?GV*J5FwLeTeBue--S9G+Yg{khBR@$5g#U~!wslMoxF2ml@$`n@FY*jgIQA39>XP8 z1{aS9XfdcDIP5*$3oT#tUw}r>v|7WPI*n68${b1Raq9f|q%RQ#TdhRhf;P0$SD&(C zx}TXE)o4|pG>)c%*K;uA*lq&n0zg)z1|?506B-qng5ptabhx4PtDw#?va_f_(oM|1j{?nLpk7P)W8)@a>6<~Z4(iOF)k zKNu8p3QHnqtBG?huG~*QgA|U-xVc72;rOYJ=p!z3C5{D?*^Sk&0s-j6!;lBS+iXIAe|S(2%q^S&ig$#?N^ZSf%(S39`a;5KS* zA;oX)bg1(CU7{l=Gx-Q(GNvO<_Xf03Dai>(T3hJwrxQeHQi^H(r$$s9Hl@Ck7Te`1 z_giMFXh=RKfy65GcAzL!NBE)CEF`!Ny?RtTpdXXYt^BBkOu%|}fO1Wu$dQ*O4mKO2 zVt#_6w!`GEESXr+)_25RvS{R1Ub1NBwmfAsV!TWKmZwh&0F!s^4dV(PPsCisyO(|K<%{dZ=3iJiaTb z;3xtr*Ot_d83yFmB!w;!=8fhjGiDsFfBabCEr&xER4i9@L5SOb$gt3E4hi-Tuy<9Q zGlJLt8tfuwm`-PHOd>bmg-cf7Pv>bCr)M)+AK~1_*ZhgMXkraXd#+QsKecPdVR&sj zh1y!GlFZ=;gUN*n6|@ulP3b!2`)*AoG@ z=4HkREL)D4yy!*Q`~tw?wqk?hU4WwVT=|VxInrmV%6$%arl_&9nwv`3?=gY7njt{q7JgZ!3^P_KnJLx<7t@$9m9TbF}99@s={_veXHAvp1L5c35P{ zSeuB!kmb7p(!#hu4cuX#Ff6Yk%mxl5iQ=8Y&o^g%IiJwjSRLp6Lt5t^V)2f8t&K+P zaJnPU+;hpeB8onD&rNLLbYEiaDAH0;&(ChW#pz8fSk#!%-Eq1l;8!O)^+{R>MwMr? zq=Xtec|*z(bw|4`xx8v$lD#fj^9*c?RG#H?f6If;Va+>ItoYqvxeh$ok>B4Ad**<` zew+l1mp|m-_(zGY>#!Zp+w@h=sgz z3jn`fD7BiWCkXuc#jaM(I5U5K-DN2-QKB}U+0{xv@*bs%s8^N$hBEE0U9S3okvV_& z4At+Dk~@(9EWMSUGvpE6v~AZxt2JB6jwmx0d%W}x{A6_A@E-1-=Mqjj@b2l)T(uCA z2kkimS_`+b~?y46`_wZ-R>cN&P z)}2f@JN@HPeSJR=_oz@PIH(9HcIP>6YVM=G=4}5E0GK0K5(I6!g2Vjx`8-%3Fb{Z+ z8nfJYF7RTY_+ZjCbRQggyTB{ZXcr4-KnWEo3KVDOAML-~7f9#K6*fVP9!|6+tsZmT ziFgix^%t|cdeX*NCihx1!g+7Eb6;HUy*nfq!olXlI{ajK$|!?3UeoWBHOF#fE4kUs zeclCt5}K;~rpCD3WSmWrUjE^pD@k^|Q1QH*7%pBGtdd<;rKzJIros%P*1saX7vkd$ zwZ+r)j*e^k65|2e0>et%&&EXyR1;D!O}n$D_?D)FR>aXa8k}vK7J;^+3G44TZmhrY zkbfXP41EamQhn?UU)y`i9`fS8V}iXvMGUpRd($DF+N=HkT5#7peyS4l^cQL3?tKsR^rt<)JpcB+*hD^)48lhzG9eU@;#g_6-eC)@}c z#v=$Y=fE`}_zhJvjhMRO8h3yAyp`TNjh}X7++1Q@ox#Q_@hGZjBJnC(@lltVET#yP z2PMWhdK7%y>YhK*qSm<3aJ5riEdavXuZ&5BX^Dvo84}PQAOT0zPhzYoDEuYjohl+) zl_jtCL{3oblmk9Kw^DQQ8#>}Q#PA{#NV6`yo!p&eam!q}B5zx#tkR>KD29))Ve-T; z-{qK?tp1o=j`85lDIR9Bk@l(Y_Relh9rYCHH`~4}b&>I^n0M0=AS}3hB~Vkwv1^}> z-52E1TliT&g;L`oYx5&~0%BB$6^{C#*&eA!u(9lL36{<5X@+mOAbkva>4Z-|%thKx zt=<^>IV>Cto5GXT*9`<)vZE#oo8+r9iJwKPob-X9jNO`P>_!`>^KI1-G%{p*D zV(!g`@mYCdJ8cf~UH=rPnW&Byb~*`0Sa%N|%#nT4cSYU>7^m!9ec@Y-6VBDFbU)TO z!9ud{OW3q}!bohWwSEM_W{`@HVAAv*4*tRQf+vh9%kLtz2}J6-?F4zZ>|(XUB`?6v zcfz29BtaFy(V`(m6FQu*2u}glQg2GsXxIbHGL4U{m%4SwaXFGvyTSQw+;<;V|2%^Y zePMRb0mimB0mm8B-y37UO<9TY^72!HIH7)3o$`@eWW)}0k}73hTBuL##lV1OSTFL zx-?2AhbpBjDxNw{HBt4yEtzD<{+ZaMtbgRlJMBFSDa3Pqq2;Bh$Vl zJ|FLh*TNzXeyDSKdyd-bQl97GlPkO3$7{2LN_3a9cHu+`y^B53E9we^v?C-@Y~)&q z5Xd^7ixzi2V%%@w6y&iN1iw6pO2 zSRLn_+ALV;R=V7;O>bu5UAOfJ`RDHTN%Q|!4xCODfB~`pLwEmCb@%t~R@-x(6vucJ zt&miNfT*4RfCEWs;xwgX0nm_!kz$HYz$h-*<8P#h5lqsdV{%@-^6?7JnCyP_NXfO8 z!7u3dlgT}z(XApD#3kvLz$f49*zH(nxrJp@;OX%J8KnQTJOUOofjWZvE47*GaA|Yd zMjD(%FFv(5rhkNjSiy!a=4#2cTCW@2Hs%zjj=H@_XF43e(n)QAJcf7K8Vh7L&9!j1 zTn0L0fg!dd7`^3OGz;D(%pA=cNycn!-y~Qc>yPf7cavaQ(i-FD>lJ-i#J6KAJD4zui>f>uJIW5ul2$N!g2)QzRJ7n^^c~EpTe7w3U=ADq!@ob zRFm=LyGXTct6#~XGE{dPol|8Wr44PtEJuO+N(Jk6tSmorqnC+ED2J6myOM#e5j8SX ztw}bD*n+Qx&UREkcBzxs;C!W%i`(WTD`Fn>St>}!n7AwM=&6-0`ol8DskaG_=@I&q zj`Cw#DS_Ti(KO1;6TE};hum=JM00s`pDGH9bqjQnbClF07c;D&gacIelf$?BZLPxr zlb#E%hbI+5m$`X|bL-I#YFlVZ-Fm4|Ha%B-s|a>el4DL)Ll1_bkf6wt?HH<7B86jF z6b!J7{np9vC8l3r6^mv|S)|*K5S#c)@-3XM3CFewE)N&uCcTs;Zh^ja>dqW0qx{!3k~447MMgx^^`eZ8zyN!?vS2qCVEB|cr(LSvcV2E zYBUn*EYoxKuVZc_+$5GrBl0?O@ViV0dPT^6V*7>!%acwJf_AxFFOqaOqICobyT^8w z9JDg>iW?1Ml#cYF0Gd~)Ho?Eg1ipdecCaiWxPY2miB6MZfi_%cM+|i%E2Qvs&{FjR zJ^W3CG~%bWp9sNo_1yreVw5*s~3MzDK0^nO`EghcdsnOxuc>w9 zsYw(Cl=8eYb>HSg$OPJE?c^-xU&V`m{-ss#J+;euOpb3jprs;CrDl*YnpgvlQQ+ADHk1L4xf zDF&4;lRVfD(uhOxzh65hj`ugMCFlhJfNt!neDsQ?T>Rv znk*V!#`q1BIK{~tc&-U)oC@|M;Res05)dk!iXTg;hkN!cnKZ9;KvnHr$fS1N5M4Dc zvVB6+`7m9k#g1%mc6+(#xOQ#dS2+)Z9aMJ*}=ZOyN?IO~&krl|l_@2?Ik zr(&3Ovu6n8-a!QPudq36>=_IXr{$4RMT<2Md?aHotaRl2b~f!+bud@*;c~$NYI9R! zsr3lGU0VN(aKnDlKfBy-E5i~B-!1N#FV03L+KK25!FLU3?TPdL5=jz!l#NSC!NC5 zwahGVQQ|;!+~Y!RNs$V^$c8h3eKR_X0_#(}7Z&9I7Ee+V1@9wovfB&<1L#7JI;86b z9Rw>6vCyDBg%*wWML_^edC90PG%E4gj6%%` zCc3h`gKIa%uC1q^_7iLs_jP2f+m|~^!xy4Lvw+#g!R>FdL*v%w0b3T;V~<$NO`4JS zDhtCVdr9!Hy{}{tR=7UZxJ(jnu#K8@^^@O z+fQf~x=F2im2Yh}b?!;Dg1%s1K=w8=+~cVG%j%HNHWD_V9nAR)S3KaRl?pOoN{-KD z=Q!|xpYMuXY_8KAeu5p}Hqy)KJm&}rJAYl*>I$F5hJEwT8!=5N}MR~ z8$)!^op&kxA}4@iHRZ%BE5~C+zb#nsiJaax&kH@7@(D`pY~wW;E7q&wgT$vU#4qad zH!GF9B!s0fSf$uZM|nqcss~johh!yu?t&_04zV+K`Pj#6Z^lIyN?Ds3#&8(KZ#-`8 zg5M)~HzM@(KY{(39X4$(TpIw>rPhF{jm&>@j{JQCLv__@Q55Czn;h-DqLzdUTrP?Z zOr>!XW+7-Ac|ng<4ivO>LPO#Dtk~xTFl{4Ju3Wo&{C1XZfIhd#5(2UhEz7+kLR)-B zZYL?Ld*ABO@``U;>!-!L&C%5?kQAXei1%TvN^ZHEx`Zx-<=p(^r=>CJ+@GgTqmi_` zLqZnujx3tX*PRgcEn_t^L{ryacc*jVG-q^Et{6}<$*`z6n(+18Q-$(=W6?3Fam4AC zK_XuNCW^_u#reeU9&^Eo^wFnrtMJUB#LBmkrnC+x(4;MO||jIR!0f0Bsx($x2#PsRzc?v*iN~-f^4Wz`i**4)UEH=a$^!t=| zjn#;B9*ATHQ#$H502^EgY7|Cjn~PnRX|w_HedcAD2-E}W8lRoJu~QxYIE%O4cGdSN zN{KV=RdzJ3tQo}mubLKZ_0c39N+A@(=x!ImlqFWOTP4OB_-EPBHLm?;mDak>Gfe$c zHwk?F4Y%%y25XDp%8`XX?%ths%I*!te1T1iEFaHycjYKWfF2U>E8o6FnY`Wh2~ zKew7b+tZQt8kA4L5bZ6mwF{3n^s+;e);T2~)CG*a7a3iz4_o|{f|QwLz8Qi)Ui4R1 z>9`D9b)wB+M^ohL9~&4$gSt`m-Y(d|5^MVYIMw976jE?82^_DE@RQLue^T<=7oPEm z50kL8g-*Wb{1S=DqWp+i?CJg>*GoX|(jH2s#HIw#i!ZU!WI#ru-KikTt{pRYkz$RE zE@Niq>0T*sj&x<;C~xsLyfB-Wj}_K5#oM`jse4F(#Hwi9PpA*$JY!K=riTivKjef3 z0WLK^b}uyJP5c(4TtbjP~^SxPE79V-+FK- zXc9Ee8a{Ev_QFzcg$}&rH0CUMwl+XcQw`J>;{ETRR|QAln`Dfg{~fEjduBC{NwXoQ zaVXMO+J$3zh*E~rGq)hMANd^UKqzrObP83>6twy-8tg5g(<_*&ZTc*Xej zAsCa20gc33a%0`TZaL?TG!#47)5ZYy_WT?|4h&~v`k*4gKGonQam;`o3`%!(A#Cv= z9P|wlNNQW^-M%}xu4eikFJW(#+;(v1w_eufB!^5LgX?;+?Xw1ToNQ9{%JH~6w2NIPn^1Ir z%dKXf6??#Wv5We=I)4pfEeqY=oSwq#%AoKBFFl!zK3)=w2=RjhPs#9Ge4%ogSyXn% zi2~9nc4s&HJppgOH@t-|A3Hsbzh`^J6@A*Eb)p-2$V*5!a{ackQgg&PB-G-6V;JIe zVCu_k%4XuU80TpduQ^k(7wKlrxNy-EPPiJmFE@@VHkc~I0#L!BGp=%=8TndVx-6*N zfpP80B1r8rFo@6HRd!26OD-4Z(H~@){#XDE0`X`EE1~L*-@MK`u5TVKeK^I?a67;&-q*KlQ+jA_OM;Fi|D9Wadu;SEdyMk=sxsh(oo5 zCfAa0okR1Yh$4kx6N-&>y5>$PlkLw<*j|&nm;R`Z9Csn~JleJj;Nd;5u6eq`(SlnDI_J+I$_*w#2pM;X^TaI3jYf_~fJCA8* z;eOs!N&_FUlYq6muRchKF??90%PnuQ`(A!H8Gpl#!Y=UmIpMzOC@(-C_x7G04#wmTNo5F+Bczua~ ztGA{kv)VW2ok8Szn(?^EiR~9*XaJuKJ8=gFhZrY7jBdM$D-2&dL&4b*O@og)8cC{8 zg4I)9|I&HZj&jKg!nG<|8#Ew@yFQE`0A`gbNbEc%#|RM5Z^-UCMRDsvuD|+@PeFQIc#sJr9FtmixNcNToL=f`a;tI;%WI=|osa zs52-a8BUMNz1*M`7q6A;@8D|W?!_(WW3gKwZUnhiO9bU@{5(<$lV|caZ z6*8{U>6{ehm{<)n#K?6OMYitIPRhGZuU*90r(X1R2@_q9%8r3^nd>NgO|0szYDCw_ zr7Q~ul1Zv_rqT38Q%P%6KK!d|W)A8ldR*ntR`Z3lBA2_)ABM-q^LHHkVMhn2y_Eda zRhkAaJ!6>t)=TW{(A=_K? zMS|{ON7QWGLS`YoBw~Xy)sBqe7VFH}ve9nN$9&G_96PXa_LlF!NdtF@y30_5by-iX z`Z?Z2kj~ArrJ}1$T1i}5utj$GwvhSD81Z5^W!T6hR=TMnJ$Z}vSv>qw*#$);4=M9N zU9v|n^+eqD&?JL;@^*rlv_Z1*mA`uJn!@cYl8Z5J$a}YLTqqlLGslPdRpIVUDzd~(f=zIeqA!R_q|CO=Q1T1qlcie> z4w$EIkYmbignko_MAQ15%V!{q0-Z=ux8H*ohfg`ghhEfk(rm^hB!)COTN~W?K$7tC;x`qY^} zC!Iz|*_i_M<2q1*+aKTAgsNy_9YjbZ>?kdIh5~eybBN1wVEN!mbx=i>?ZND*EySyd z)ge6q{;z!Cz?w^QAgkdg7zPAm&%CEs-_dtOAz`|mWD&y(@vGz-Ys69s*}}&wGrhl3 zr8UqA_O}#LqLwL8)d(x4G?MIn&977&C4@;6R^A*bg}G`d+QWhpx$F*@DeeWM!wmrO!Qb%G6;Du zmqu+W8lmZ~%+~t0`AE7gohHq)R)EenRgOts3HCwaiWi?J#zW>ECem@`5r6R8@*-|k zVNYa(WeHhnVLMf~HqEEKCe_K}272{%_1XJ#57}j%2CU|!@3!B*BCxO++ZWRqYQpyl zW1c@CP^iP*TXZ=NEHo~A6*`#VptsW4YEkN(KXV5-ii!-fi1_i;qMcH-h33!0(WEp4 z#jb>G4@zt0A2GzmFS$H2p*0eZJFS14PM8X7&bC*{7kq_H6B2o~J4@ zow@Tbq#FE*hR&dK1c0_ASxeU`Up6wGd;L*r!qHDndcw+&HyROa99pbVj;gE5A&5SPXKa?83}fKSHz7s>k`8%J;?(VF?}rK<_dvX2HoU(VHM(e2b@27zK2>w zSJ*BtmCZG%SbvwiAX#X_^!=j27TjnP%o`F$hjG*mzz5Oz&e0&y8!c&sj$KT(+oC^? zN46rxn|nG zb@b>U%|z1yp#I{ctGoGe$tYeNz!(0MeIKEsV~FN>Gj5WXA!}S?y9SCEFd^7L5zEyS zJ{dH)U@>-%Gs4n&ix}iN>)=bsP?_&Uh)o&H=D6MK5mX|(g1bQT6zog9mLL1Z>#N8j z6{wgI_$w9ErX+`pHRC+$+BVBa_Sf#v+2L>#(uHyl==+Oe$NYc}Vy=NTXVd!ZC-^_p zk9Pu>A~Zny5%a&%j~Daf@AM;aRe4eaqrW3rEj|f`wY;LFd|Hf-4o&f1%CvB|YPyWF zT=jG-UT>j-%po45kK-xYXBAi9+rg|d3You^&i*)sQUhH zwe1Ro{FD^5T@Z{9Id?NHM&ISWXtOm&o7?uFPSRe zM^)XEs25Csuw70=_UW&bhm|=bkm$v56K~y3Jj}vJKH&qBcmc{Up}!(q-x2Iif8q zxM)FU{wWQO@oQE2{d^Gu7$!{0GC4OUQ`J`mG#1?}E%eY*q~vDd*dqikZw= z&@q@u<$p|OjqL%t0DrehWS{! zl_p-LVpoh1(ihIG5g;LF!A)}s3>Ah?_`rRLcA;&yYdd89(ah_&6pv<~qt^xEn7twx z#;qcZ9_>oL{pRBYH+fv^ASA^ka>T8w_@A6pZmr zN(~Kpg<%-1SzWZq0Rqc-pFI8tp|Ro2V+9!_Qg?o?tIwS9J`vnmzG+Xm1(bHLs)&E0 zDgZ#iFu;KU{xE;7-V9s-01FDpq0sZse`-0uG<&J#{QS?)rNEyG`2C+|e^7S*qlcH` z%s_hddwB+S1)e`^S^g)BXF2EJ%Ckip@bnMrm;cG|S={-z@@&`(JpF^A;eW(@mU{lJ zJe!^YPyb~4uf{KhpZ{TA;7PsIl#ZQ0v*!x!>ze}OM^zm#140QSb@+?^TTY0{i9>B@}5B2ze`O^Pn z{VZSl%ewS0tY3(kzI66d%=91b3jBBfyR(1ORWD^ffB8fM#(TVM-ir$UTM^KgHGe6G z`3uDW_^JNiQC^5+zJz(Hv-k_f7Pyf4+c3Y~r(c4+6o~r;f(INQ|2xPFxww}wFD0pd z!5{;5=>I;0eAxUx&AkRe;+LTvN@D~^_P;>2XH0`gi+{-w%U+!sm{;T_cjaqwI`U#6E2fPVSEk^Haz|KsDJmo0g@NBaxui|pS;`s=p5+@|`4 z@JjK&BD`3X{W)OgWm{e@_$U#6rh=E^Iz?)#Z=JRj=SY|$-lgJG! z?lmz0&z=ud5JV7Q?7y9hqp_)qp^>#Iy|cUXpWbj{V`^e)NNi~geBV5yI}_t`VS;mV zcC@rLCpNUV*S9saG5zOX7=a3ipkQzy&!qY{Ftv1DPBtLZc|PDlfH(g?6`)r$OLO|S zPIk7cDv%)HAbiw1FFnL2f8^l@T0I}H|K!06=+p7{$~!R_0rSThOs!3AOl_SReyiYr zc3enbHWq>h0`hzi{>ky>zdHW^%fRq_8R+e8&Hrs>|NP#VKQ_0A5ZI%Ce2dJ#Y3`qU f=Z_w80zm$%um0)hx1NUtfdugYa%%X%=PUhxL4s&j literal 0 HcmV?d00001 diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/package.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/package.json" new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/package.json" @@ -0,0 +1 @@ +{} diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/proguard-rules.pro" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/proguard-rules.pro" new file mode 100644 index 000000000..49a3b2f34 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/proguard-rules.pro" @@ -0,0 +1,13 @@ +#config module specific ProGuard rules here. +-ignorewarnings +-keepattributes *Annotation* +-keepattributes Exceptions +-keepattributes InnerClasses +-keepattributes Signature +-keepattributes SourceFile,LineNumberTable +-keep class com.huawei.hianalytics.**{*;} +-keep class com.huawei.updatesdk.**{*;} +-keep class com.huawei.hms.**{*;} +-keep class com.huawei.harmony.**{*;} +-keep class com.huawei.mylibrary.**{*;} + diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/agconnect-services.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/agconnect-services.json" new file mode 100644 index 000000000..cac314b84 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/agconnect-services.json" @@ -0,0 +1,64 @@ +{ + "agcgw":{ + "backurl":"connect-drcn.hispace.hicloud.com", + "url":"connect-drcn.dbankcloud.cn", + "websocketbackurl":"connect-ws-drcn.hispace.dbankcloud.com", + "websocketurl":"connect-ws-drcn.hispace.dbankcloud.cn" + }, + "agcgw_all":{ + "CN":"connect-drcn.dbankcloud.cn", + "CN_back":"connect-drcn.hispace.hicloud.com", + "DE":"connect-dre.dbankcloud.cn", + "DE_back":"connect-dre.hispace.hicloud.com", + "RU":"connect-drru.dbankcloud.cn", + "RU_back":"connect-drru.hispace.hicloud.com", + "SG":"connect-dra.dbankcloud.cn", + "SG_back":"connect-dra.hispace.hicloud.com" + }, + "client":{ + "cp_id":"2850086000421357287", + "product_id":"737518067794038136", + "client_id":"791228023054532608", + "client_secret":"[!000227DADD286AEF96FECA85B39C9887E5B6BE2B4AFD01DFFA39FA2A17C27E62E035A3511B4743F7D212604FEC537C20C5F1BBBD77465A550E122B9482344892DD8150AAB160B82F8B16A1FB51E15D6B708CF838CB11D339B1F958190D601FFDA9]", + "project_id":"737518067794038136", + "app_id":"105721531", + "api_key":"[!00A85D5D1819BF0CEE546DF2AB1E4D9BA0387D5EF2D51FC947BE7501ABBBBCB150E58240EBC0CBA0D5891E17B03FA8D22F7917E3C1B61B5A9EEB4B702640B25BB1D05A2A137301B19BD6E06875AB3E757B87B3C9759CB16DEB5A6FE65E326E42B9F173CD7F6794925B9D357BCCC45D0A78F977F875EA3395D367F96D68608F2C35]", + "package_name":"cn.jltf.neighbor" + }, + "oauth_client":{ + "client_id":"105721531", + "client_type":30 + }, + "app_info":{ + "app_id":"842482320567970496", + "package_name":"cn.jltf.neighbor" + }, + "code":{ + "code1":"B04A54D7EE46C3754A45467032FFDA01", + "code2":"E1B9141D59E9C6976979C324D4C1CB9B", + "code3":"28B9D84F74DB33AC013F14C5B3E3AB77", + "code4":"094D461E954620F5E749701E991DEBF3" + }, + "service":{ + "analytics":{ + "collector_url":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn", + "collector_url_ru":"datacollector-drru.dt.hicloud.com,datacollector-drru.dt.dbankcloud.cn", + "collector_url_sg":"datacollector-dra.dt.hicloud.com,datacollector-dra.dt.dbankcloud.cn", + "collector_url_de":"datacollector-dre.dt.hicloud.com,datacollector-dre.dt.dbankcloud.cn", + "collector_url_cn":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn", + "resource_id":"p1", + "channel_id":"" + }, + "search":{ + "url":"https://search-drcn.cloud.huawei.com" + }, + "cloudstorage":{ + "storage_url":"https://agc-storage-drcn.platform.dbankcloud.cn" + }, + "ml":{ + "mlservice_url":"ml-api-drcn.ai.dbankcloud.com,ml-api-drcn.ai.dbankcloud.cn" + } + }, + "region":"CN", + "configuration_version":"3.0" +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/config.json" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/config.json" new file mode 100644 index 000000000..4ca552d46 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/config.json" @@ -0,0 +1,135 @@ +{ + "app": { + "bundleName": "com.jitf.cardshow", + "vendor": "jltf", + "version": { + "code": 1000000, + "name": "1.0.0" + } + }, + "deviceConfig": { + "default": { + "allowComponentsProxy": true, + "keepAlive": true, + "network": { + "cleartextTraffic": true + } + } + }, + "module": { + "metaData": { + "customizeData": [ + { + "name": "com.huawei.hms.client.appid", + "value": "105721531" + } + ] + }, + "package": "com.jltf.jltf_idiom", + "name": ".MyApplication", + "mainAbility": "com.jltf.jltf_idiom.MainAbility", + "deviceType": [ + "phone", + "tablet" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry", + "installationFree": false + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "visible": true, + "configChanges": [ + "density", + "fontSize", + "layout", + "locale", + "mcc", + "mnc", + "orientation", + "size", + "smallestSize", + "colorMode" + ], + "name": "com.jltf.jltf_idiom.MainAbility", + "icon": "$media:icon", + "description": "$string:idiom_label", + "formsEnabled": true, + "label": "$string:idiom_name", + "type": "page", + "forms": [ + { + "jsComponentName": "widget", + "isDefault": true, + "scheduledUpdateTime": "10:30", + "defaultDimension": "2*2", + "name": "widget", + "description": "This is a service widget", + "colorMode": "auto", + "type": "JS", + "supportDimensions": [ + "2*2" + ], + "updateEnabled": true, + "updateDuration": 1 + } + ], + "launchType": "standard" + }, + { + "name": "com.jltf.jltf_idiom.controller.ServiceAbility", + "icon": "$media:icon", + "description": "$string:idiom_label", + "type": "service", + "visible": true, + "backgroundModes": [ + "dataTransfer", + "location" + ] + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": true + } + }, + { + "pages": [ + "pages/index/index" + ], + "name": "widget", + "window": { + "designWidth": 720, + "autoDesignWidth": true + }, + "type": "form" + } + ], + "defPermissions": [ + { + "name": "com.jltf.jltf_idiom.data.DataAbilityShellProvider.PROVIDER" + }, + { + "name": "com.jltf.jltf_idiom.data.model.DataAbilityShellProvider.PROVIDER" + } + ] + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/idl/com/huawei/hwshare/third/IHwShareCallback.idl" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/idl/com/huawei/hwshare/third/IHwShareCallback.idl" new file mode 100644 index 000000000..0af07f0da --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/idl/com/huawei/hwshare/third/IHwShareCallback.idl" @@ -0,0 +1,7 @@ +// IHwShareCallback.idl + +// Declare any non-default types here with sequenceable or interface statements + +interface com.huawei.hwshare.third.IHwShareCallback { + [oneway] void notifyState([in] int state); +} diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/idl/com/huawei/hwshare/third/IHwShareService.idl" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/idl/com/huawei/hwshare/third/IHwShareService.idl" new file mode 100644 index 000000000..af94f085d --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/idl/com/huawei/hwshare/third/IHwShareService.idl" @@ -0,0 +1,10 @@ +// IHwShareService.idl + +// Declare any non-default types here with sequenceable or interface statements +sequenceable ohos.interwork.utils.PacMapEx; +interface com.huawei.hwshare.third.IHwShareCallback; + +interface com.huawei.hwshare.third.IHwShareService { + int startAuth([in] String appId, [in] IHwShareCallback callback); + int shareFaInfo([in] PacMapEx pacMapEx); +} diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/MainAbility.java" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/MainAbility.java" new file mode 100644 index 000000000..0c4da4abe --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/MainAbility.java" @@ -0,0 +1,186 @@ +package com.jltf.jltf_idiom; + +import com.jltf.jltf_idiom.controller.ServiceAbility; +import com.jltf.jltf_idiom.widget.controller.*; +import ohos.aafwk.ability.*; +import ohos.aafwk.content.Operation; +import ohos.ace.ability.AceAbility; +import ohos.aafwk.content.Intent; +import com.jltf.jltf_idiom.widget.controller.FormController; +import com.jltf.jltf_idiom.widget.controller.FormControllerManager; +import ohos.data.dataability.DataAbilityPredicates; +import ohos.data.rdb.ValuesBucket; +import ohos.data.resultset.ResultSet; +import ohos.hiviewdfx.HiLog; +import ohos.hiviewdfx.HiLogLabel; +import ohos.utils.net.Uri; +import ohos.utils.zson.ZSONObject; + +public class MainAbility extends AceAbility { + public static final int DEFAULT_DIMENSION_2X2 = 2; + public static final int DIMENSION_1X2 = 1; + public static final int DIMENSION_2X4 = 3; + public static final int DIMENSION_4X4 = 4; + private static final int INVALID_FORM_ID = -1; + private static final HiLogLabel TAG = new HiLogLabel(HiLog.DEBUG, 0x0, MainAbility.class.getName()+"蛟龙腾飞"); + private String topWidgetSlice; + + FormBindingData formBindingData; + private final Uri uri = Uri.parse("dataability:///com.jltf.jltf_idiom.data.FormDataAbility"); + + DataAbilityHelper helper= DataAbilityHelper.creator(this); + + @Override + public void onStart(Intent intent) { + + // 判断是否是已经同意隐私协议 ,是 直接进入主页面 , 否 进入隐私页面 + setInstanceName("default"); + + setPageParams("pages/index/index",null); + + super.onStart(intent); + } + @Override + public void onStop() { + super.onStop(); + } + + + @Override + protected ProviderFormInfo onCreateForm(Intent intent) { + HiLog.info(TAG, "onCreateForm"); + long formId = intent.getLongParam(AbilitySlice.PARAM_FORM_IDENTITY_KEY, INVALID_FORM_ID); + String formName = intent.getStringParam(AbilitySlice.PARAM_FORM_NAME_KEY); + int dimension = intent.getIntParam(AbilitySlice.PARAM_FORM_DIMENSION_KEY, DEFAULT_DIMENSION_2X2); + HiLog.info(TAG, "onCreateForm: formId=" + formId + ",formName=" + formName); + + helper = DataAbilityHelper.creator(this); + + // 构造插入数据 + ValuesBucket valuesBucket = new ValuesBucket(); + valuesBucket.putLong("formId", formId); + valuesBucket.putString("formName",formName); + try { + helper.insert(uri, valuesBucket); + } catch (DataAbilityRemoteException e) { + e.printStackTrace(); + } + + FormControllerManager formControllerManager = FormControllerManager.getInstance(this); + FormController formController = formControllerManager.getController(formId); + formController = (formController == null) ? formControllerManager.createFormController(formId, + formName, dimension) : formController; + if (formController == null) { + HiLog.error(TAG, "Get null controller. formId: " + formId + ", formName: " + formName); + return null; + } + + ZSONObject zsonObject = new ZSONObject(); + + // 显示内容 +// ZSONObject zsonObject = getDataByFormName(formId,formName); +// zsonObject.put("comment","加载中..."); +// zsonObject.put("comment1","加载中..."); +// zsonObject.put("comment2","加载中..."); +// +// new Thread(new Runnable() { +// @Override +// public void run() { +// UpdataCommect(formId,zsonObject.getString("idiom")); +// } +// }); + + + ProviderFormInfo formInfo = new ProviderFormInfo(); + formInfo.setJsBindingData(new FormBindingData(zsonObject)); + + return formInfo; + + } + + @Override + protected void onUpdateForm(long formId) { + HiLog.info(TAG, "onUpdateForm"); + super.onUpdateForm(formId); + FormControllerManager formControllerManager = FormControllerManager.getInstance(this); + + FormController formController = formControllerManager.getController(formId); + + formController.onUpdateFormData(formId); + } + + @Override + protected void onDeleteForm(long formId) { + HiLog.info(TAG, "onDeleteForm: formId=" + formId); + super.onDeleteForm(formId); + + try { + helper.delete(uri, new DataAbilityPredicates().equalTo("formId", formId)); + } catch (Exception e) { + e.printStackTrace(); + } + + FormControllerManager formControllerManager = FormControllerManager.getInstance(this); + FormController formController = formControllerManager.getController(formId); + formController.onDeleteForm(formId); + formControllerManager.deleteFormController(formId); + + } + + @Override + protected void onTriggerFormEvent(long formId, String message) { + HiLog.info(TAG, "onTriggerFormEvent: " + message); + + + super.onTriggerFormEvent(formId, message); + FormControllerManager formControllerManager = FormControllerManager.getInstance(this); + FormController formController = formControllerManager.getController(formId); + formController.onTriggerFormEvent(formId, message); + } + + @Override + public void onNewIntent(Intent intent) { + // Only response to it when starting from a service widget. + if (intentFromWidget(intent)) { + String newWidgetSlice = getRoutePageSlice(intent); + if (topWidgetSlice == null || !topWidgetSlice.equals(newWidgetSlice)) { + topWidgetSlice = newWidgetSlice; + restart(); + } + } else { + if (topWidgetSlice != null) { + topWidgetSlice = null; + restart(); + } + } + if (intentFromWidget(intent)) { + String newWidgetSlice = getRoutePageSlice(intent); + if (topWidgetSlice == null || !topWidgetSlice.equals(newWidgetSlice)) { + topWidgetSlice = newWidgetSlice; + restart(); + } + } + } + + private boolean intentFromWidget(Intent intent) { + long formId = intent.getLongParam(AbilitySlice.PARAM_FORM_IDENTITY_KEY, INVALID_FORM_ID); + return formId != INVALID_FORM_ID; + } + + private String getRoutePageSlice(Intent intent) { + long formId = intent.getLongParam(AbilitySlice.PARAM_FORM_IDENTITY_KEY, INVALID_FORM_ID); + if (formId == INVALID_FORM_ID) { + return null; + } + FormControllerManager formControllerManager = FormControllerManager.getInstance(this); + FormController formController = formControllerManager.getController(formId); + if (formController == null) { + return null; + } + Class clazz = formController.getRoutePageSlice(intent); + if (clazz == null) { + return null; + } + return clazz.getName(); + } +} diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/MyApplication.java" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/MyApplication.java" new file mode 100644 index 000000000..0e8b6f8c8 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/MyApplication.java" @@ -0,0 +1,98 @@ +package com.jltf.jltf_idiom; + + +import com.huawei.hms.accountsdk.exception.ApiException; +import com.huawei.hms.accountsdk.support.account.AccountAuthManager; +import com.huawei.hms.accountsdk.support.account.tasks.OnFailureListener; +import com.huawei.hms.accountsdk.support.account.tasks.OnSuccessListener; +import com.huawei.hms.accountsdk.support.account.tasks.Task; +import ohos.aafwk.ability.AbilityPackage; + +public class MyApplication extends AbilityPackage { + + @Override + + public void onInitialize() { + + super.onInitialize(); + + // 调用示例initHuaweiAccountSDK方法,在鸿蒙应用初始化方法OnInitialize中进行华为帐号SDK初始化 + + initHuaweiAccountSDK(); + + } + + @Override + + public void onEnd() { + + super.onEnd(); + + } + + + + + + // 示例:此方法中调用华为帐号SDK的初始化方法AccountAuthManager.init()进行初始化 + + private void initHuaweiAccountSDK() { + + System.out.println("初始化华为账号"); + + Task task; + + try { + + // 调用AccountAuthManager.init方法初始化 + + task = AccountAuthManager.init(this); + + } catch (ApiException apiException) { + + apiException.getStatusCode(); + + return; + + } + + task.addOnSuccessListener(new OnSuccessListener() { + + @Override + + public void onSuccess(Void v) { + + //初始化成功 + System.out.println("初始化成功"); + + } + + }); + + + task.addOnFailureListener(new OnFailureListener() { + + @Override + + public void onFailure(Exception e) { + + // SDK初始化失败 + + if (e instanceof ApiException) { + + ApiException apiException = (ApiException) e; + + // SDK初始化失败,status code标识了失败的原因,请参考API中的错误码参考了解详细错误原因 + + apiException.getStatusCode(); + + System.out.println("初始化失败" ); + + } + + } + + }); + + } +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/controller/ServiceAbility.java" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/controller/ServiceAbility.java" new file mode 100644 index 000000000..f1c0e5031 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/controller/ServiceAbility.java" @@ -0,0 +1,108 @@ +package com.jltf.jltf_idiom.controller; + +import com.huawei.caas.messageservice.HwShareUtils; +import com.huawei.caas.messageservice.WebPageShareMsg; +import com.huawei.hms.accountsdk.exception.ApiException; +import com.huawei.hms.accountsdk.support.account.AccountAuthManager; +import com.huawei.hms.accountsdk.support.account.request.AccountAuthParams; +import com.huawei.hms.accountsdk.support.account.request.AccountAuthParamsHelper; +import com.huawei.hms.accountsdk.support.account.result.AuthAccount; +import com.huawei.hms.accountsdk.support.account.service.AccountAuthService; +import com.huawei.hms.accountsdk.support.account.tasks.OnFailureListener; +import com.huawei.hms.accountsdk.support.account.tasks.OnSuccessListener; +import com.huawei.hms.accountsdk.support.account.tasks.Task; +import com.jltf.jltf_idiom.MainAbility; +import com.jltf.jltf_idiom.ResourceTable; + +import com.jltf.jltf_idiom.utils.PasteboardUtils; + +import ohos.aafwk.ability.*; +import ohos.aafwk.content.Intent; +import ohos.data.dataability.DataAbilityPredicates; +import ohos.data.rdb.ValuesBucket; +import ohos.data.resultset.ResultSet; +import ohos.global.resource.NotExistException; +import ohos.interwork.utils.PacMapEx; +import ohos.location.*; +import ohos.media.image.PixelMap; +import ohos.rpc.*; +import ohos.hiviewdfx.HiLog; +import ohos.hiviewdfx.HiLogLabel; +import ohos.utils.net.Uri; +import ohos.utils.zson.ZSONObject; + +import java.io.*; +import java.time.Instant; +import java.util.*; + +public class ServiceAbility extends Ability { + private static final HiLogLabel TAG = new HiLogLabel(3, 0xD001100, "蛟龙腾飞-ServiceAbility"); + + MyRemote remote=new MyRemote(); + + + @Override + public void onStart(Intent intent) { + HiLog.error(TAG, "ServiceAbility::onStart"); + super.onStart(intent); + + + + } + + + // FA在请求PA服务时会调用Ability.connectAbility连接PA,连接成功后,需要在onConnect返回一个remote对象,供FA向PA发送消息 + @Override + protected IRemoteObject onConnect(Intent intent) { + super.onConnect(intent); + return remote.asObject(); + } + + + class MyRemote extends RemoteObject implements IRemoteBroker { + private static final int SUCCESS = 0; + private static final int COPYTEXT = 1013; // 复制 + private static final int PASTETEXT = 1014; // 粘贴 + + + MyRemote() { + super("MyService_MyRemote"); + } + + @Override + public boolean onRemoteRequest(int code, MessageParcel data, MessageParcel reply, MessageOption option) { + + String dataStr = data.readString(); + ZSONObject parms = ZSONObject.stringToZSON(dataStr); + + List idioms = new ArrayList(); + + Map result = new HashMap(); + HiLog.info(TAG,"请求方:"+code); + HiLog.info(TAG,"请求方数据:"+dataStr); + switch (code) { + case COPYTEXT: + new PasteboardUtils(getContext()).copyText(parms.getString("text")); + break; + case PASTETEXT: + result.put("text",new PasteboardUtils(getContext()).pasteText() ); + break; + default: { + result.put("abilityError", 0); + reply.writeString(ZSONObject.toZSONString(result)); + return false; + } + } + result.put("code",code); + HiLog.info(TAG,"后台数据:"+result.toString()); + reply.writeString(ZSONObject.toZSONString(result)); + return true; + } + + @Override + public IRemoteObject asObject() { + return this; + } + } + +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/utils/PasteboardUtils.java" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/utils/PasteboardUtils.java" new file mode 100644 index 000000000..635f1ca63 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/utils/PasteboardUtils.java" @@ -0,0 +1,77 @@ +package com.jltf.jltf_idiom.utils; + +import ohos.agp.components.Component; +import ohos.agp.window.dialog.ToastDialog; +import ohos.app.Context; +import ohos.hiviewdfx.HiLog; +import ohos.hiviewdfx.HiLogLabel; +import ohos.miscservices.pasteboard.IPasteDataChangedListener; +import ohos.miscservices.pasteboard.PasteData; +import ohos.miscservices.pasteboard.SystemPasteboard; + + +public class PasteboardUtils { + + private static final HiLogLabel TAG = new HiLogLabel(HiLog.LOG_APP,0x0,"蛟龙腾飞--粘贴版"); + + private SystemPasteboard pasteboard; + + public PasteboardUtils(Context context) { + initPasteboard(context); + } + // 复制到粘贴板 + public void copyText(String text) { + pasteboard.setPasteData(PasteData.creatPlainTextData(text)); + } + + // 粘贴 + public String pasteText() { + String result = ""; + PasteData pasteData = pasteboard.getPasteData(); + if (pasteData == null) { + return result; + } + PasteData.DataProperty dataProperty = pasteData.getProperty(); + boolean hasHtml = dataProperty.hasMimeType(PasteData.MIMETYPE_TEXT_HTML); + boolean hasText = dataProperty.hasMimeType(PasteData.MIMETYPE_TEXT_PLAIN); + if (hasHtml || hasText) { + for (int i = 0; i < pasteData.getRecordCount(); i++) { + PasteData.Record record = pasteData.getRecordAt(i); + String mimeType = record.getMimeType(); + if (mimeType.equals(PasteData.MIMETYPE_TEXT_HTML)) { + result = record.getHtmlText(); + } else if (mimeType.equals(PasteData.MIMETYPE_TEXT_PLAIN)) { + result = record.getPlainText().toString(); + } else { + HiLog.info(TAG, "%{public}s", "getPasteData mimeType :" + mimeType); + } + } + } + return result; + } + + // 监听粘贴版内容 + private final IPasteDataChangedListener listener = new IPasteDataChangedListener() { + + @Override + public void onChanged() { + PasteData pasteData = pasteboard.getPasteData(); + if (pasteData != null) { + HiLog.info(TAG,"粘贴版内容改变:"+pasteData); + } + } + }; + + // 清空粘贴板 + public void clearPasteboard(Component component) { + if (pasteboard != null) { + pasteboard.clear(); + } + } + + //初始化 + private void initPasteboard(Context context) { + pasteboard = SystemPasteboard.getSystemPasteboard(context); + pasteboard.addPasteDataChangedListener(listener); + } +} diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/controller/FormController.java" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/controller/FormController.java" new file mode 100644 index 000000000..4c65970f4 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/controller/FormController.java" @@ -0,0 +1,97 @@ +package com.jltf.jltf_idiom.widget.controller; + +import ohos.aafwk.ability.AbilitySlice; +import ohos.aafwk.ability.ProviderFormInfo; +import ohos.aafwk.content.Intent; +import ohos.app.Context; + +/** + * The api set for form controller. + */ +public abstract class FormController { + /** + * Context of ability + */ + protected final Context context; + + /** + * The name of current form service widget + */ + protected final String formName; + + /** + * The dimension of current form service widget + */ + protected final int dimension; + + public FormController(Context context, String formName, Integer dimension) { + this.context = context; + this.formName = formName; + this.dimension = dimension; + } + + /** + * Bind data for a form + * + * @return ProviderFormInfo + */ + public abstract ProviderFormInfo bindFormData(long formId); + + /** + * Update form data + * + * @param formId the id of service widget to be updated + * @param vars the data to update for service widget, this parameter is optional + */ + public abstract void updateFormData(long formId, Object... vars); + + /** + * Update form data on time, this update time is set in config.json by scheduledUpdateTime property + * + * @param formId the id of service widget to be updated + */ + public void onUpdateFormData(long formId) { + } + + /** + * Called when receive service widget message event + * + * @param formId form id + * @param message the message context sent by service widget message event + */ + public abstract void onTriggerFormEvent(long formId, String message); + + /** + * Get the destination ability slice to route + * + * @param intent intent of current page slice + * @return the destination ability slice name to route + */ + public abstract Class getRoutePageSlice(Intent intent); + + /** + * Delete the resource related to current service widget + * + * @param formId form id + */ + public void onDeleteForm(long formId) { + } + + /** + * Get the dimension of current service widget + * + * @return the dimension of current service widget + */ + public int getDimension() { + return dimension; + } + + /** + * Get the name of current service widget + * + * @return the name of current service widget + */ + public String getFormName() { + return formName; + } +} diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/controller/FormControllerManager.java" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/controller/FormControllerManager.java" new file mode 100644 index 000000000..ff90de844 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/controller/FormControllerManager.java" @@ -0,0 +1,183 @@ +package com.jltf.jltf_idiom.widget.controller; + +import ohos.app.Context; +import ohos.data.DatabaseHelper; +import ohos.data.preferences.Preferences; +import ohos.hiviewdfx.HiLog; +import ohos.hiviewdfx.HiLogLabel; +import ohos.utils.zson.ZSONObject; + +import java.lang.reflect.InvocationTargetException; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; +import java.util.List; +import java.util.ArrayList; + +/** + * Form controller manager. + */ +public class FormControllerManager { + private static final HiLogLabel TAG = new HiLogLabel(HiLog.DEBUG, 0x0, FormControllerManager.class.getName()); + private static final String PACKAGE_PATH = "com.jltf.jltf_idiom.widget"; + private static final String SHARED_SP_NAME = "form_info_sp.xml"; + private static final String FORM_NAME = "formName"; + private static final String DIMENSION = "dimension"; + private volatile static FormControllerManager managerInstance = null; + private final HashMap controllerHashMap = new HashMap<>(); + + private final Context context; + + private final Preferences preferences; + + /** + * Constructor with context. + * + * @param context instance of Context. + */ + private FormControllerManager(Context context) { + this.context = context; + DatabaseHelper databaseHelper = new DatabaseHelper(this.context.getApplicationContext()); + preferences = databaseHelper.getPreferences(SHARED_SP_NAME); + } + + /** + * Singleton mode. + * + * @param context instance of Context. + * @return FormControllerManager instance. + */ + public static FormControllerManager getInstance(Context context) { + if (managerInstance == null) { + synchronized (FormControllerManager.class) { + if (managerInstance == null) { + managerInstance = new FormControllerManager(context); + } + } + } + return managerInstance; + } + + /** + * Save the form id and form name. + * + * @param formId form id. + * @param formName form name. + * @param dimension form dimension + * @return FormController form controller + */ + public FormController createFormController(long formId, String formName, int dimension) { + synchronized (controllerHashMap) { + if (formId < 0 || formName.isEmpty()) { + return null; + } + HiLog.info(TAG, + "saveFormId() formId: " + formId + ", formName: " + formName + ", preferences: " + preferences); + if (preferences != null) { + ZSONObject formObj = new ZSONObject(); + formObj.put(FORM_NAME, formName); + formObj.put(DIMENSION, dimension); + preferences.putString(Long.toString(formId), ZSONObject.toZSONString(formObj)); + preferences.flushSync(); + } + + // Create controller instance. + FormController controller = newInstance(formName, dimension, context); + + // Cache the controller. + if (controller != null) { + if (!controllerHashMap.containsKey(formId)) { + controllerHashMap.put(formId, controller); + } + } + + return controller; + } + } + + /** + * Get the form controller instance. + * + * @param formId form id. + * @return the instance of form controller. + */ + public FormController getController(long formId) { + synchronized (controllerHashMap) { + if (controllerHashMap.containsKey(formId)) { + return controllerHashMap.get(formId); + } + Map forms = preferences.getAll(); + String formIdString = Long.toString(formId); + if (forms.containsKey(formIdString)) { + ZSONObject formObj = ZSONObject.stringToZSON((String) forms.get(formIdString)); + String formName = formObj.getString(FORM_NAME); + int dimension = formObj.getIntValue(DIMENSION); + FormController controller = newInstance(formName, dimension, context); + controllerHashMap.put(formId, controller); + } + return controllerHashMap.get(formId); + } + } + + private FormController newInstance(String formName, int dimension, Context context) { + FormController ctrInstance = null; + if (formName == null || formName.isEmpty()) { + HiLog.error(TAG, "newInstance() get empty form name"); + return ctrInstance; + } + try { + String className = PACKAGE_PATH + "." + formName.toLowerCase(Locale.ROOT) + "." + + getClassNameByFormName(formName); + Class clazz = Class.forName(className); + if (clazz != null) { + Object controllerInstance = clazz.getConstructor(Context.class, String.class, Integer.class) + .newInstance(context, formName, dimension); + if (controllerInstance instanceof FormController) { + ctrInstance = (FormController) controllerInstance; + } + } + } catch (NoSuchMethodException | InstantiationException | IllegalArgumentException | InvocationTargetException + | IllegalAccessException | ClassNotFoundException | SecurityException exception) { + HiLog.error(TAG, "newInstance() get exception: " + exception.getMessage()); + } + return ctrInstance; + } + + /** + * Get all form id from the share preference + * + * @return form id list + */ + public List getAllFormIdFromSharePreference() { + List result = new ArrayList<>(); + Map forms = preferences.getAll(); + for (String formId : forms.keySet()) { + result.add(Long.parseLong(formId)); + } + return result; + } + + /** + * Delete a form controller + * + * @param formId form id + */ + public void deleteFormController(long formId) { + synchronized (controllerHashMap) { + preferences.delete(Long.toString(formId)); + preferences.flushSync(); + controllerHashMap.remove(formId); + } + } + + private String getClassNameByFormName(String formName) { + String[] strings = formName.split("_"); + StringBuilder result = new StringBuilder(); + for (String string : strings) { + result.append(string); + } + char[] charResult = result.toString().toCharArray(); + charResult[0] = (charResult[0] >= 'a' && charResult[0] <= 'z') ? (char) (charResult[0] - 32) : charResult[0]; + return String.copyValueOf(charResult) + "Impl"; + } +} diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/widget/WidgetImpl.java" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/widget/WidgetImpl.java" new file mode 100644 index 000000000..ae98af477 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/java/com/jltf/jltf_idiom/widget/widget/WidgetImpl.java" @@ -0,0 +1,58 @@ +package com.jltf.jltf_idiom.widget.widget; + +import com.jltf.jltf_idiom.widget.controller.FormController; +import ohos.aafwk.ability.AbilitySlice; +import ohos.aafwk.ability.ProviderFormInfo; +import ohos.aafwk.content.Intent; +import ohos.aafwk.content.Operation; +import ohos.app.Context; +import ohos.hiviewdfx.HiLog; +import ohos.hiviewdfx.HiLogLabel; +import ohos.nfc.tag.TagInfo; +import ohos.utils.zson.ZSONObject; + +public class WidgetImpl extends FormController { + + private static final HiLogLabel TAG = new HiLogLabel(3, 0xD001100, "蛟龙腾飞-WidgetImpl"); + + public WidgetImpl(Context context, String formName, Integer dimension) { + super(context, formName, dimension); + } + + @Override + public ProviderFormInfo bindFormData(long formId) { + return null; + } + + @Override + public void updateFormData(long formId, Object... vars) { + } + + @Override + public void onTriggerFormEvent(long formId, String message) { + ZSONObject zsonObject = ZSONObject.stringToZSON(message); + HiLog.info(TAG,"卡片item:"+zsonObject.getString("mAction")); + Item(zsonObject.getString("mAction")); + + } + + // 使用统一service刷新卡片 + private void Item(String item){ + Intent intent = new Intent(); + Operation operation = new Intent.OperationBuilder() + .withBundleName("com.jltf.idiom") + .withAbilityName("com.jltf.jltf_idiom.service.ServiceAbility") + .build(); + intent.setOperation(operation); + intent.setParam("item",item); + // 启动Service + context.startAbility(intent,0); + } + + + + @Override + public Class getRoutePageSlice(Intent intent) { + return null; + } +} diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/app.js" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/app.js" new file mode 100644 index 000000000..aedcefe00 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/app.js" @@ -0,0 +1,8 @@ +export default { + onCreate() { + console.info('AceApplication onCreate'); + }, + onDestroy() { + console.info('AceApplication onDestroy'); + } +}; diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/comment.css" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/comment.css" new file mode 100644 index 000000000..6dbb938a4 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/comment.css" @@ -0,0 +1,34 @@ +.comment{ + width: 100%; + height: 30%; + flex-direction: column; + align-items: flex-start; + justify-content: flex-start; + background-color: lightskyblue; + border-top-right-radius: 12px; + border-top-left-radius: 12px; +} +.comment-content{ + width: 84%; + height: 90%; + margin-left: 5%; + margin-top: 5%; + border-radius: 12px; + flex-direction: column; + align-items: center; + justify-content: center; +/* background-color: #cecece;*/ +} +.list{ + width: 90%; + height: 100%; +} +.list-item{ + height: 40px; + flex-direction: row; + align-items: center; + justify-content: flex-start; +} +.list-item-text{ + font-size: 14x; +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/icon.css" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/icon.css" new file mode 100644 index 000000000..b1ca2b1ec --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/icon.css" @@ -0,0 +1,38 @@ +.navigationIcon{ + width: 24px; + height: 24px; + margin-right: 4px; +} +.navigationBackIcon{ + width: 24px; + height: 24px; + margin: 0px 6px; +} +.searchIcon{ + width: 26px; + height: 26px; + margin-left: 12px; +} +.iconImg{ + width: 30px; + height: 30px; +} +.iconImg1{ + width: 26px; + height: 26px; +} +.iconImg2{ + width: 24px; + height: 24px; + margin-right: 4px; +} +.iconImg3{ + width: 24px; + height: 24px; +} +.list-item-icon{ + width: 18px; + height: 18px; + margin: 2px 0px; + margin-right: 10px; +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/messageComments.css" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/messageComments.css" new file mode 100644 index 000000000..18d6c816d --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/messageComments.css" @@ -0,0 +1,49 @@ +.messageCommentsUP{ + width: 100%; + height: 90%; + flex-direction: column; + align-items: center; + justify-content: center; +} +.messageComments-itemUP{ + width: 90%; + height: 80%; + flex-direction: column; + align-items: center; + background-color: #c4daf5; + border-radius: 12px; +} +.item-titleUP{ + width: 92%; + height: 80px; + flex-direction: row; + align-items: center; + justify-content: center; + border-bottom-width: 1px; + border-bottom-color: #999; +} +.item-input-contentUP{ + width: 80%; + font-size: 16px; + color: #333; +} +.item-title-contentUP{ + width: 20%; + text-align: center; + font-size: 20px; + color: #333; +} +.item-listUP{ + width: 92%; +} +.item-listItemUP{ + height: 42px; + width: 100%; + flex-direction: row; + align-items: center; + justify-content: flex-start; +} +.messagesTextUP{ + font-size: 16px; + color: #333; +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/navigationBottom.css" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/navigationBottom.css" new file mode 100644 index 000000000..6dffc4ea6 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/navigationBottom.css" @@ -0,0 +1,20 @@ +.toolbar{ + position: fixed; + bottom: 0px; + width: 100%; + border-top-width: 1px; + border-top-style: solid; + background-color: #444; +} +.footer-r{ + flex: 1; + width: 30%; + height: 40px; +} + +.footer-text{ + width: 100%; + text-align: center; + color: #fff; + font-size: 20px; +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/navigationTop.css" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/navigationTop.css" new file mode 100644 index 000000000..e3a7b1640 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/navigationTop.css" @@ -0,0 +1,30 @@ +.navigationBar{ + width: 100%; + height: 56px; + flex-direction: row; + justify-content: flex-start; + align-items: center; + background-color: #333; +} +.searchBox{ + width: 60%; + height: 36px; + margin-right: 10px; + flex-direction: row; + justify-content: flex-start; + align-items: center; + background-color: #696969; + border-radius: 12px; +} +.title{ + text-align: center; + font-size: 20px; + color: #fefefe; + placeholder-color: #ccc; +/* border: 0px;*/ +} +.title1{ + margin-left: 12px; + font-size: 22px; + color: firebrick; +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/share.css" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/share.css" new file mode 100644 index 000000000..609dd7c2f --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/share.css" @@ -0,0 +1,7 @@ +.content-function{ + width: 100%; + height: 86%; + flex-direction: column; + align-items: flex-end; + justify-content: flex-end; +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/subscribe.css" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/subscribe.css" new file mode 100644 index 000000000..c23514a13 --- /dev/null +++ "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/css/subscribe.css" @@ -0,0 +1,32 @@ +.subscribeDiv{ + width: 100%; + height: 100%; + flex-direction: column; + align-items: center; + justify-content: flex-start; + background-color: #fff; +} +.subscribeDiv-content{ + width: 100%; + margin-top: 20px; + flex-direction: column; +/* align-items: center;*/ +} +.subscribeDiv-content1{ + flex-direction: row; +/* justify-content: center;*/ + left: 3%; +} +.subscribeDiv-text{ + margin: 10px 0px; + font-size: 20px; + color: #333; + width: 60px; + height: 30px; + text-align: center; + border-radius: 8px; + background-color: #cecece; +} +.subscribeDiv-text:active{ + background-color: yellowgreen; +} \ No newline at end of file diff --git "a/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/clshare.png" "b/OpenHarmonyAPP\345\274\200\345\217\221\345\255\246\344\271\240\346\272\220\347\240\201\344\275\223\347\263\273/7\343\200\201DEMO\344\270\216\346\241\210\344\276\213\346\272\220\347\240\201/jltf_YKX/entry/src/main/js/default/common/iconImg/clshare.png" new file mode 100644 index 0000000000000000000000000000000000000000..2e2acbbe2de120973496cfda7185bf330892e310 GIT binary patch literal 5138 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