diff --git "a/SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\344\274\232\350\256\256\350\256\256\351\242\230\346\224\266\351\233\206\346\250\241\346\235\277.md" "b/SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\344\274\232\350\256\256\350\256\256\351\242\230\346\224\266\351\233\206\346\250\241\346\235\277.md" similarity index 100% rename from "SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\344\274\232\350\256\256\350\256\256\351\242\230\346\224\266\351\233\206\346\250\241\346\235\277.md" rename to "SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\344\274\232\350\256\256\350\256\256\351\242\230\346\224\266\351\233\206\346\250\241\346\235\277.md" diff --git "a/SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204Owner\345\242\236\351\200\211\343\200\201\346\222\244\351\224\200\350\247\204\350\214\203.md" "b/SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204Owner\345\242\236\351\200\211\343\200\201\346\222\244\351\224\200\350\247\204\350\214\203.md" new file mode 100644 index 0000000000000000000000000000000000000000..77adf58053c4929e9e23483554e633f11cce3c66 --- /dev/null +++ "b/SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204Owner\345\242\236\351\200\211\343\200\201\346\222\244\351\224\200\350\247\204\350\214\203.md" @@ -0,0 +1,32 @@ +# SIG组Owner增选、撤销规范 +## SIG组Owner增选规范 +### 增选对象 +SIG组Owner应从SIG组Maintainers中选举产生。 + +### 提交申请 +申请人需在SIG组会议召开至少三日前完成申请材料提交,申请材料模板如下,写完后通过回复下次SIG组会议议题收集邮件完成申请材料提交和议题申报。 +``` +一、基本信息: + 1、申请人:姓名(邮箱地址) + 2、推荐人:姓名(备注:申请人需至少获得一位本SIG组Owner或技术委员会委员的推荐) + 3、在SIG组中负责哪方面工作:xxxxx +二、对SIG组的主要贡献列举: + 1、xxxx + 2、...... +``` +### 投票表决 +SIG全体Owner和Maintainers进行投票表决,投票分为赞同票、反对票和弃权票,可以会上直接表决或会后回复邮件表决。需要三分之二或以上投赞同票时,申请才能通过。投票结果需报备技术委员会,技术委员会对SIG组内的选举结果拥有一票否决权。 + + +## SIG组Owner撤销规范 +### 撤销原则 +* SIG组Owner存在长时间活跃度和参与度很低的情形,包括但不限于:长时间(超过6个月)未参加SIG组例会、SIG组决策、SIG组活动等; +* SIG组Owner能力有限,无法带领SIG组完成既定目标和工作规划,影响了SIG组和社区的发展; +* SIG组Owner因个人或其他原因,无法继续担任SIG组Owner职责; +* SIG组核心成员或技术委员会认为的其他需要撤销该SIG组Owner的情形。 + +### 提交申请 +SIG组Owner撤销申请应由SIG组其他核心人员(其他Owner、Maintainer)、Owner本人或某位技术委员会委员提交,需写明具体撤销原因,在下次SIG组会议召开至少三天前通过回复议题收集邮件完成撤销申请提交和议题申报。 + +### 投票表决 +SIG全体Owner和Maintainers进行投票表决,投票分为赞同票、反对票和弃权票,可以会上直接表决或会后回复邮件表决。需要三分之二或以上投赞同票时,申请才能通过。投票结果需报备技术委员会,技术委员会对SIG组内的选举结果拥有一票否决权。 diff --git "a/SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\347\273\204\345\237\272\346\234\254\344\277\241\346\201\257\345\217\230\346\233\264\346\265\201\347\250\213.md" "b/SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204\345\237\272\346\234\254\344\277\241\346\201\257\345\217\230\346\233\264\346\265\201\347\250\213.md" similarity index 100% rename from "SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\347\273\204\345\237\272\346\234\254\344\277\241\346\201\257\345\217\230\346\233\264\346\265\201\347\250\213.md" rename to "SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204\345\237\272\346\234\254\344\277\241\346\201\257\345\217\230\346\233\264\346\265\201\347\250\213.md" diff --git "a/SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\347\273\204\347\232\204\347\224\263\350\257\267\344\270\216\346\222\244\351\224\200\346\265\201\347\250\213.md" "b/SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204\347\232\204\347\224\263\350\257\267\344\270\216\346\222\244\351\224\200\346\265\201\347\250\213.md" similarity index 94% rename from "SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\347\273\204\347\232\204\347\224\263\350\257\267\344\270\216\346\222\244\351\224\200\346\265\201\347\250\213.md" rename to "SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204\347\232\204\347\224\263\350\257\267\344\270\216\346\222\244\351\224\200\346\265\201\347\250\213.md" index 9df4e6a4e33cfabf9f759d235b2f06a18c9fa05d..bb8d944ba4a23f9f6e6e2c431d7cf47aea722c23 100644 --- "a/SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\347\273\204\347\232\204\347\224\263\350\257\267\344\270\216\346\222\244\351\224\200\346\265\201\347\250\213.md" +++ "b/SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204\347\232\204\347\224\263\350\257\267\344\270\216\346\222\244\351\224\200\346\265\201\347\250\213.md" @@ -28,8 +28,8 @@ dateCreated: 2022-03-11T03:16:28.968Z **申请**: SIG 所有成员 [签署个人cla](https://cla.openkylin.top) 后,请按照以下步骤执行申请: -1. 由相关提议人 Fork 项目 [openKylin / community](https://gitee.com/openkylin/community) 到您的 Gitee 下。并在您的 Gitee 项目下的 sig 目录下创建自己新的 SIG 目录,并根据 [SIG组章程模版](https://gitee.com/openkylin/docs/blob/master/SIG%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C/SIG%E7%BB%84%E7%AB%A0%E7%A8%8B%E6%A8%A1%E7%89%88.md) 在您的 Gitee 项目下创建对应 `README.md` ,并完成新 SIG 章程的填写; -2. 在刚刚创建的SIG目录下,根据 [sig.yaml 模版](https://gitee.com/openkylin/community/tree/master/sig) 完成 sig.yaml 文件的创建,并完成 sig.yaml 文件的填写; +1. 由相关提议人 Fork 项目 [openKylin / community](https://gitee.com/openkylin/community) 到您的 Gitee 下。并在您的 Gitee 项目下的 sig 目录下创建自己新的 SIG 目录,并根据 [SIG组章程模版](https://gitee.com/openkylin/docs/blob/master/SIG%E7%AE%A1%E7%90%86%E6%8C%87%E5%8D%97/SIG%E7%BB%84%E7%AB%A0%E7%A8%8B%E6%A8%A1%E7%89%88.md) 在您的 Gitee 项目下创建对应 `README.md` ,并完成新 SIG 章程的填写; +2. 在刚刚创建的SIG目录下,根据 [sig.yaml 模版](https://gitee.com/openkylin/community/blob/master/sig/README.md) 完成 sig.yaml 文件的创建,并完成 sig.yaml 文件的填写; 3. 完成以上两步后,将以上改动提交到Gitee上,并向 [openKylin / community](https://gitee.com/openkylin/community) 项目提交 PR 申请创建 SIG 组,填写好相关信息后,技术委员会将提前审核相关信息,并在下一次例会上进行进一步沟通。 **审核**:由技术委员会与会人员就 SIG 相关业务范围、维护目标等与提议人沟通并审核评议。 @@ -42,8 +42,8 @@ SIG 所有成员 [签署个人cla](https://cla.openkylin.top) 后,请按照以 **申请**: 企业负责人 [签署企业cla](https://cla.openkylin.top) ,并请该企业的相关企业员工 [签署员工cla](https://cla.openkylin.top) 后,再请按照以下步骤执行申请: -1. 由相关提议人 Fork 项目 [openKylin / community](https://gitee.com/openkylin/community) 到你的Gitee下。并在您的 Gitee 项目下的 sig 目录下创建自己新的 SIG 目录,并根据 [SIG组章程模版](https://gitee.com/openkylin/docs/blob/master/SIG%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C/SIG%E7%BB%84%E7%AB%A0%E7%A8%8B%E6%A8%A1%E7%89%88.md) 在您的 Gitee 项目下创建对应 `README.md` ,并完成新 SIG 章程的填写; -2. 在刚刚创建的 SIG 目录下,根据 [sig.yaml 模版](https://gitee.com/openkylin/community/tree/master/sig) 完成 sig.yaml 文件的创建,并完成 sig.yaml 文件的填写; +1. 由相关提议人 Fork 项目 [openKylin / community](https://gitee.com/openkylin/community) 到你的Gitee下。并在您的 Gitee 项目下的 sig 目录下创建自己新的 SIG 目录,并根据 [SIG组章程模版](https://gitee.com/openkylin/docs/blob/master/SIG%E7%AE%A1%E7%90%86%E6%8C%87%E5%8D%97/SIG%E7%BB%84%E7%AB%A0%E7%A8%8B%E6%A8%A1%E7%89%88.md) 在您的 Gitee 项目下创建对应 `README.md` ,并完成新 SIG 章程的填写; +2. 在刚刚创建的 SIG 目录下,根据 [sig.yaml 模版](https://gitee.com/openkylin/community/blob/master/sig/README.md) 完成 sig.yaml 文件的创建,并完成 sig.yaml 文件的填写; 3. 完成以上两步后,将以上改动提交到 Gitee 上,并向[openKylin / community](https://gitee.com/openkylin/community) 项目提交 PR 申请创建 SIG 组,填写好相关信息后,技术委员会将提前审核相关信息,并在下一次例会上进行进一步沟通。 **审核**:由技术委员会与会人员就 SIG 相关业务范围、维护目标等与负责人沟通并审核评议。 diff --git "a/SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\347\273\204\347\253\240\347\250\213.md" "b/SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204\347\253\240\347\250\213.md" similarity index 100% rename from "SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\347\273\204\347\253\240\347\250\213.md" rename to "SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204\347\253\240\347\250\213.md" diff --git "a/SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\347\273\204\347\253\240\347\250\213\346\250\241\347\211\210.md" "b/SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204\347\253\240\347\250\213\346\250\241\347\211\210.md" similarity index 75% rename from "SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\347\273\204\347\253\240\347\250\213\346\250\241\347\211\210.md" rename to "SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204\347\253\240\347\250\213\346\250\241\347\211\210.md" index cb3c4a27f9761122a0b7fe7aec70679c2c73af48..3b53666e7753d92bf226904197314a82f9ff044a 100644 --- "a/SIG\344\275\277\347\224\250\346\211\213\345\206\214/SIG\347\273\204\347\253\240\347\250\213\346\250\241\347\211\210.md" +++ "b/SIG\347\256\241\347\220\206\346\214\207\345\215\227/SIG\347\273\204\347\253\240\347\250\213\346\250\241\347\211\210.md" @@ -9,10 +9,10 @@ dateCreated: 2022-03-11T03:16:34.035Z --- ## SIG组名称 -> SIG命名规范: -1、全拼的SIG名,只有一个单词的则首字母大写;多个单词的每个单词首字母大写且中间不加连字符号,例如:Release、BootAndInstall等; -2、特殊名词或者必须缩写的SIG名字母全部大写,例如:RISC-V、QA等; -3、SIG命名不得侵犯任何第三方的合法权益(包括但不限于未经授权使用的第三方的商标、商号、标识等); +> SIG命名规范: +1、全拼的SIG名,只有一个单词的则首字母大写;多个单词的每个单词首字母大写且中间不加连字符号,例如:Release、BootAndInstall等; +2、特殊名词或者必须缩写的SIG名字母全部大写,例如:RISC-V、QA等; +3、SIG命名不得侵犯任何第三方的合法权益(包括但不限于未经授权使用的第三方的商标、商号、标识等); 4、社区拥有对SIG命名的最终审核权。 SIG组简介 @@ -34,4 +34,7 @@ SIG-maintainer(`SIG-maintainer@email.com`) ... ## SIG邮件列表 -> 格式:SIG名小写@lists.openkylin.top(SIG申请审核通过后,管理员将创建该邮件列表) \ No newline at end of file +> 格式:SIG名小写@lists.openkylin.top(SIG申请审核通过后,管理员将创建该邮件列表) + +## SIG组例会 +> 明确SIG组例会召开时间和周期,如周例会、双周例会或月会等 \ No newline at end of file diff --git "a/SIG\344\275\277\347\224\250\346\211\213\345\206\214/openKylin\347\244\276\345\214\272SIG\344\274\232\350\256\256\346\214\207\345\215\227\357\274\210\350\257\225\350\241\214\347\211\210\357\274\211.md" "b/SIG\347\256\241\347\220\206\346\214\207\345\215\227/openKylin\347\244\276\345\214\272SIG\344\274\232\350\256\256\346\214\207\345\215\227\357\274\210\350\257\225\350\241\214\347\211\210\357\274\211.md" similarity index 100% rename from "SIG\344\275\277\347\224\250\346\211\213\345\206\214/openKylin\347\244\276\345\214\272SIG\344\274\232\350\256\256\346\214\207\345\215\227\357\274\210\350\257\225\350\241\214\347\211\210\357\274\211.md" rename to "SIG\347\256\241\347\220\206\346\214\207\345\215\227/openKylin\347\244\276\345\214\272SIG\344\274\232\350\256\256\346\214\207\345\215\227\357\274\210\350\257\225\350\241\214\347\211\210\357\274\211.md" diff --git "a/SIG\344\275\277\347\224\250\346\211\213\345\206\214/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\345\212\240\345\205\245SIG\347\273\204\346\265\201\347\250\213.md" "b/SIG\347\256\241\347\220\206\346\214\207\345\215\227/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\345\212\240\345\205\245SIG\347\273\204\346\265\201\347\250\213.md" similarity index 100% rename from "SIG\344\275\277\347\224\250\346\211\213\345\206\214/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\345\212\240\345\205\245SIG\347\273\204\346\265\201\347\250\213.md" rename to "SIG\347\256\241\347\220\206\346\214\207\345\215\227/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\345\212\240\345\205\245SIG\347\273\204\346\265\201\347\250\213.md" diff --git a/en/Intel-CCAI-Development-Manual/APIs-Reference-List.md b/en/Intel-CCAI-Development-Manual/APIs-Reference-List.md index ec73ad9cce378d381363bcacfdb9a727d2cd15e0..1f4764254afa5a27096023caf2207c7793d26433 100644 --- a/en/Intel-CCAI-Development-Manual/APIs-Reference-List.md +++ b/en/Intel-CCAI-Development-Manual/APIs-Reference-List.md @@ -12,7 +12,7 @@ dateCreated: 2022-03-11T03:18:01.489Z CCAI provides many FCGI APIs. They are named `fcgi_xxxx`. Each fcgi API is a fcgi server, running in the background. Client APPs communicate with the fcgi server by using http post protocol. -![image7.png](/temp/image7.png) +![image7.png](./assets/image7.png) These fcgi APIs will do AI for different cases, such as classification, face detection, OCR, TTS, or ASR. Please refer to the following API list to understand the specific API. @@ -20,7 +20,7 @@ Some fcgi APIs have two working modes. One mode is doing inference locally in th The following picture shows two working modes. -![image5.png](/temp/image5.png) +![image5.png](./assets/image5.png) Some FCGI APIs are implemented by two languages, C++ and python. So some APIs have two types of API: python API and C++ API. Both python API and C++ API provide the same functionality and parameters. The only difference is they have different http addresses. So clients' apps can get the same inference result from either FCGI C++ API or python API by using different addresses. @@ -984,7 +984,7 @@ This service is used to monitor the CCAI container. CCAI framework not only provides FGCI APIs, but also provides many gRPC APIs. Client APPs can do inference by calling gRPC APIs. -![image14.png](/temp/image14.png) +![image14.png](./assets/image14.png) The following are detailed gRPC APIs. @@ -1158,7 +1158,7 @@ Runtime APIs are *“simple” *APIs. *“simple”* means the number of APIs is The runtime service library APIs are implemented by two kinds of languages, C++ and python. So it provides two types of APIs. One type is C++ APIs, it can be called by C++ programs directly. Another is python APIs, it is prepared for python programs. -![image13.png](/temp/image13.png) +![image13.png](./assets/image13.png) **Notice:** diff --git a/en/Intel-CCAI-Development-Manual/Design.md b/en/Intel-CCAI-Development-Manual/Design.md index 2358df0d07cef930c5fbed24ad466fade75dc2b9..1f5b7a3868b4b132849ca8035d0aca26438aea4e 100644 --- a/en/Intel-CCAI-Development-Manual/Design.md +++ b/en/Intel-CCAI-Development-Manual/Design.md @@ -15,7 +15,7 @@ dateCreated: 2022-03-11T03:18:05.283Z The picture below is showing the basic working model of CCAI as a whole services provider to provide high level APIs to external users of the services container. Basically, there are 2 methods to use those services which are provided in REST/gRPC APIs form. One is calling those APIs directly, the other one is calling simulation lib APIs (we will talk simulation lib later). -![image2.png](/temp/image2.png) +![image2.png](./assets/image2.png) # CCAI (1.1 release) stack architecture @@ -24,4 +24,4 @@ The picture below is showing the basic working model of CCAI as a whole services The architecture picture below is showing those modules and stacks in a high level picture, it shows CCAI’s components and their dependencies. It is up to date for CCAI 1.1 release. -![image1.png](/temp/image1.png) \ No newline at end of file +![image1.png](./assets/image1.png) \ No newline at end of file diff --git a/en/Intel-CCAI-Development-Manual/Develop.md b/en/Intel-CCAI-Development-Manual/Develop.md index 8f5b8aed068836d45e4a02a2163165e698f6bbf2..abb44446d77f123e1d0df2dfe9bf8f38d03383a8 100644 --- a/en/Intel-CCAI-Development-Manual/Develop.md +++ b/en/Intel-CCAI-Development-Manual/Develop.md @@ -10,7 +10,7 @@ dateCreated: 2022-03-11T03:18:07.757Z # CCAI service work mode -![image4.png](/temp/image4.png) +![image4.png](./assets/image4.png) AI services for CCAI include two parts, one is client-side, the other is server-side. Customer applications are running on client-side. The CCAI services are running on server-side. Client-side sends http post requests or gRPC requests to server-side, and server-side replies responses to client-side. So developing AI services means development of server-side programs. @@ -140,7 +140,7 @@ Now you can verify your services by your test application from the host. - Create a directory */opt/intel/service_runtime/service/your-service/* and put your binary file in this directory. Create a directory */opt/intel/service_runtime/service/lighttpd/conf-enabled/* and put your configuration file to this directory. The directory hierarchy example: -![image9.png](/temp/image9.png) +![image9.png](./assets/image9.png) - Give permission for the user www-data to access your files, example: diff --git a/en/Intel-CCAI-Development-Manual/Generate.md b/en/Intel-CCAI-Development-Manual/Generate.md index dc6265f50ec48afca7dc7331c914127b4d07916a..f2024c85c94c4ef62d86129e23428b7fb63f4989 100644 --- a/en/Intel-CCAI-Development-Manual/Generate.md +++ b/en/Intel-CCAI-Development-Manual/Generate.md @@ -198,11 +198,11 @@ If you want change the default configuration, you can execute ‘make menuconfig ```bash $>make menuconfig ``` -![image18.png](/temp/image18.png) +![image18.png](./assets/image18.png) You can type ‘Space/Enter’ to expand a branch, or ‘enable/disable’ an option. -![image19.png](/temp/image19.png) +![image19.png](./assets/image19.png) ```bash $> make base_image @@ -309,7 +309,7 @@ $ ./release_build.sh image You will get 3 Docker images as shown below: -![image20.png](/temp/image20.png) +![image20.png](./assets/image20.png) b) The image service_runtime needs to be installed to OS on the target device, and the image service_runtime_openvino and the image service_runtime_base need to be saved for future incremental OTA image creation. @@ -336,7 +336,7 @@ If there is no the image service_runtime_openvino found, you may need to pull it $ docker pull REGISTRY_SERVER/service_runtime_openvino:ubuntu_20.04 $ docker tag REGISTRY_SERVER/service_runtime_openvino:ubuntu_20.04 service_runtime_openvino:ubuntu_20.04 ``` -![image21.png](/temp/image21.png) +![image21.png](./assets/image21.png) b) Build the image service_runtime following those instructions in CCAI build document @@ -346,7 +346,7 @@ $ ./release_build.sh image You will get the Docker image service_runtime which should be installed to the OS of the target device. -![image22.png](/temp/image22.png) +![image22.png](./assets/image22.png) Example 3, There is a new CCAI release, where both the layer service_runtime_openvino and the layer service_runtime are changed. @@ -363,7 +363,7 @@ $ docker pull REGISTRY_SERVER/service_runtime_base:ubuntu_20.04 $ docker tag REGISTRY_SERVER/service_runtime_base:ubuntu_20.04 service_runtime_base:ubuntu_20.04 ``` -![image24.png](/temp/image23.png) +![image24.png](./assets/image23.png) b) Build both the image service_runtime_openvino and the image service_runtime respectively. @@ -371,7 +371,7 @@ b) Build both the image service_runtime_openvino and the image service_runtime r $ ./release_build.sh openvino_image $ ./release_build.sh image ``` -![image24.png](/temp/image24.png) +![image24.png](./assets/image24.png) c) The newly generated image service_runtime needs to be installed to the OS of the target device, and the newly generated image service_runtime_openvino needs to be updated to your registry server. diff --git a/en/Intel-CCAI-Development-Manual/How-to-use-service.md b/en/Intel-CCAI-Development-Manual/How-to-use-service.md index 106240385a295cab155f3eae69ad2dca0edba028..51ea6c3fb0ece764c247f2170e4a00c9db41d941 100644 --- a/en/Intel-CCAI-Development-Manual/How-to-use-service.md +++ b/en/Intel-CCAI-Development-Manual/How-to-use-service.md @@ -10,7 +10,7 @@ dateCreated: 2022-03-11T03:18:15.834Z As mentioned above in chapter 6, CCAI services work mode are: -![image7.png](/temp/image4.png) +![image7.png](./assets/image4.png) AI services for CCAI include two parts, one is client-side, the other is server-side. Customer applications are so called client-side. The CCAI services are server-side. Client-side sends http post requests or gRPC requests to server-side, and server-side replies responses to client-side. diff --git a/en/Intel-CCAI-Development-Manual/Overview.md b/en/Intel-CCAI-Development-Manual/Overview.md index 19348dffe9120dfbfe627cace12ffd5f49e2d9f9..26deb081900113313b3afef47b97757608adbcb0 100644 --- a/en/Intel-CCAI-Development-Manual/Overview.md +++ b/en/Intel-CCAI-Development-Manual/Overview.md @@ -21,4 +21,4 @@ In brief, one AI services API framework with the same development mode like deve * **Intel** - platform differentiating capability developed by Intel {.grid-list} -![image8.png](/temp/image8.png) +![image8.png](./assets/image8.png) diff --git a/temp/image1.png b/en/Intel-CCAI-Development-Manual/assets/image1.png similarity index 100% rename from temp/image1.png rename to en/Intel-CCAI-Development-Manual/assets/image1.png diff --git a/temp/image10.png b/en/Intel-CCAI-Development-Manual/assets/image10.png similarity index 100% rename from temp/image10.png rename to en/Intel-CCAI-Development-Manual/assets/image10.png diff --git a/temp/image11.png b/en/Intel-CCAI-Development-Manual/assets/image11.png similarity index 100% rename from temp/image11.png rename to en/Intel-CCAI-Development-Manual/assets/image11.png diff --git a/temp/image12.png b/en/Intel-CCAI-Development-Manual/assets/image12.png similarity index 100% rename from temp/image12.png rename to en/Intel-CCAI-Development-Manual/assets/image12.png diff --git a/temp/image13.png b/en/Intel-CCAI-Development-Manual/assets/image13.png similarity index 100% rename from temp/image13.png rename to en/Intel-CCAI-Development-Manual/assets/image13.png diff --git a/temp/image14.png b/en/Intel-CCAI-Development-Manual/assets/image14.png similarity index 100% rename from temp/image14.png rename to en/Intel-CCAI-Development-Manual/assets/image14.png diff --git a/temp/image15.png b/en/Intel-CCAI-Development-Manual/assets/image15.png similarity index 100% rename from temp/image15.png rename to en/Intel-CCAI-Development-Manual/assets/image15.png diff --git a/temp/image16.png b/en/Intel-CCAI-Development-Manual/assets/image16.png similarity index 100% rename from temp/image16.png rename to en/Intel-CCAI-Development-Manual/assets/image16.png diff --git a/temp/image17.png b/en/Intel-CCAI-Development-Manual/assets/image17.png similarity index 100% rename from temp/image17.png rename to en/Intel-CCAI-Development-Manual/assets/image17.png diff --git a/temp/image18.png b/en/Intel-CCAI-Development-Manual/assets/image18.png similarity index 100% rename from temp/image18.png rename to en/Intel-CCAI-Development-Manual/assets/image18.png diff --git a/temp/image19.png b/en/Intel-CCAI-Development-Manual/assets/image19.png similarity index 100% rename from temp/image19.png rename to en/Intel-CCAI-Development-Manual/assets/image19.png diff --git a/temp/image2.png b/en/Intel-CCAI-Development-Manual/assets/image2.png similarity index 100% rename from temp/image2.png rename to en/Intel-CCAI-Development-Manual/assets/image2.png diff --git a/temp/image20.png b/en/Intel-CCAI-Development-Manual/assets/image20.png similarity index 100% rename from temp/image20.png rename to en/Intel-CCAI-Development-Manual/assets/image20.png diff --git a/temp/image21.png b/en/Intel-CCAI-Development-Manual/assets/image21.png similarity index 100% rename from temp/image21.png rename to en/Intel-CCAI-Development-Manual/assets/image21.png diff --git a/temp/image22.png b/en/Intel-CCAI-Development-Manual/assets/image22.png similarity index 100% rename from temp/image22.png rename to en/Intel-CCAI-Development-Manual/assets/image22.png diff --git a/temp/image23.png b/en/Intel-CCAI-Development-Manual/assets/image23.png similarity index 100% rename from temp/image23.png rename to en/Intel-CCAI-Development-Manual/assets/image23.png diff --git a/temp/image24.png b/en/Intel-CCAI-Development-Manual/assets/image24.png similarity index 100% rename from temp/image24.png rename to en/Intel-CCAI-Development-Manual/assets/image24.png diff --git a/temp/image3.png b/en/Intel-CCAI-Development-Manual/assets/image3.png similarity index 100% rename from temp/image3.png rename to en/Intel-CCAI-Development-Manual/assets/image3.png diff --git a/temp/image4.png b/en/Intel-CCAI-Development-Manual/assets/image4.png similarity index 100% rename from temp/image4.png rename to en/Intel-CCAI-Development-Manual/assets/image4.png diff --git a/temp/image5.png b/en/Intel-CCAI-Development-Manual/assets/image5.png similarity index 100% rename from temp/image5.png rename to en/Intel-CCAI-Development-Manual/assets/image5.png diff --git a/temp/image6.png b/en/Intel-CCAI-Development-Manual/assets/image6.png similarity index 100% rename from temp/image6.png rename to en/Intel-CCAI-Development-Manual/assets/image6.png diff --git a/temp/image7.png b/en/Intel-CCAI-Development-Manual/assets/image7.png similarity index 100% rename from temp/image7.png rename to en/Intel-CCAI-Development-Manual/assets/image7.png diff --git a/en/intel-ccai-development-manual/image8.png b/en/Intel-CCAI-Development-Manual/assets/image8.png similarity index 100% rename from en/intel-ccai-development-manual/image8.png rename to en/Intel-CCAI-Development-Manual/assets/image8.png diff --git a/temp/image9.png b/en/Intel-CCAI-Development-Manual/assets/image9.png similarity index 100% rename from temp/image9.png rename to en/Intel-CCAI-Development-Manual/assets/image9.png diff --git a/temp/image8.png b/temp/image8.png deleted file mode 100644 index 92b2d935809ecc2b4d6b862a0c84f335681907b7..0000000000000000000000000000000000000000 Binary files a/temp/image8.png and /dev/null differ diff --git "a/\345\205\263\344\272\216\346\210\221\344\273\254.md" "b/\345\205\263\344\272\216\346\210\221\344\273\254.md" index 98cdd7bc7b7794d932cb331435d5ed91bf1b233b..2550fd8d274383389d29c6616f18feee7519e304 100644 --- "a/\345\205\263\344\272\216\346\210\221\344\273\254.md" +++ "b/\345\205\263\344\272\216\346\210\221\344\273\254.md" @@ -38,9 +38,9 @@ https://www.openkylin.top/community/community-cn.html ## 协助 openKylin - -若您愿意协助 openKylin ,请先参考[贡献攻略](/zh/开始贡献/openKylin贡献攻略)。 +若您愿意协助 openKylin ,请先参考[贡献攻略](/zh/社区参与指南/openKylin贡献攻略)。 如果您愿意维护一个 openKylin 镜像,请参考[ openKylin 镜像](https://www.openKylin.top/downloads/index-cn.html)。现有的镜像的问题可以报告到contact@openkylin.top ## 骚扰问题 diff --git "a/\345\216\206\345\217\262.md" "b/\345\216\206\345\217\262.md" index 62f872b69f592cd97291a48d49e93e0332736f16..15cc7e92e7b40e0fdd4cdc44b2cfbac75a1d9e70 100644 --- "a/\345\216\206\345\217\262.md" +++ "b/\345\216\206\345\217\262.md" @@ -2,7 +2,7 @@ title: 历史 description: published: true -date: 2022-05-17T07:16:00.140Z +date: 2023-02-10T06:53:53.305Z tags: editor: markdown dateCreated: 2022-03-11T03:16:18.961Z diff --git "a/\345\260\217\347\231\275\350\257\276\347\250\213/openKylin\346\226\207\344\273\266\347\256\241\347\220\206\345\231\250\344\273\213\347\273\215.md" "b/\345\260\217\347\231\275\350\257\276\347\250\213/openKylin\346\226\207\344\273\266\347\256\241\347\220\206\345\231\250\344\273\213\347\273\215.md" new file mode 100644 index 0000000000000000000000000000000000000000..44cd5916607e39689d5aafe62547c7f988f68c15 --- /dev/null +++ "b/\345\260\217\347\231\275\350\257\276\347\250\213/openKylin\346\226\207\344\273\266\347\256\241\347\220\206\345\231\250\344\273\213\347\273\215.md" @@ -0,0 +1,56 @@ +openKylin文件管理器作为一种提供用户界面管理文件的软件,可以帮助用户处理日常工作,管理存储在本地和网络中的文件,同时还提供了一系列基础操作如重命名文件、创建文件、打开文件、查看文件、编辑文件、移动文件和删除文件等。其中,openKylin文件管理器及相关软件包安装命令如下:$sudo apt install peony peony-extensions下面就带大家简单了解下openKylin文件管理器的结构与功能特性~ + +## 一、openKylin文件管理器介绍 + +### 1.文件管理器结构 + +openKylin文件系统结构不同于Windows文件系统结构,没有盘符的概念(所谓盘符,即DOS、Windows系统对于磁盘存储设备的标识符),openKylin操作系统选择把所有文件都存放在根目录中。 + +![图片](https://www.openkylin.top/upload/202302/1675907521938004.png) + +### 2.文件管理器命令操作 + +众所周知Linux命令可以用来了解系统,但对于普通用户来说,如果一个系统只能单纯地使用命令行来浏览操作文件目录或文件,并不是非常方便。以下是几种利用文件管理器浏览文件和命令行浏览文件的情况对比:进入家目录 + +![图片](https://www.openkylin.top/upload/202302/1675907534741650.png) + +显示隐藏的文件夹和文件 + +![图片](https://www.openkylin.top/upload/202302/1675907550991843.png) +查询文件属性 + +![图片](https://www.openkylin.top/upload/202302/1675907569674163.png) + +## 二、openKylin文件管理器功能特性介绍 + +### 1.批量正反选日常使用中,经常会遇到需要同时选择多个文件的情况,有时是连续的文件排列,有时是不连续的,那么当遇到以上情况时我们该如何操作呢? + +(1)全选据大家所熟知,Windows系统对于全选文件有着通用级的快捷键操作,那就是“Ctrl+A”。同样,openKylin也支持该操作。 + +![图片](https://www.openkylin.top/upload/202302/1675907581574034.png) + +(2)批量正选当你需要在一个存有很多文件的文件夹中选择部分连续文件时,“Ctrl+A”并不能满足要求。这时,你只需要找到开始位置的文件,选中该文件,按住Shift键,再选中结束位置的文件,此时便会发现,从开始位置到结束位置的所有文件都已选中。 + +![图片](https://www.openkylin.top/upload/202302/1675907593481598.png) + +(3)批量反选当遇到所需要选择的文件为多个不连续时,也不需要单个的进行选中,只需按住Ctrl键,依次选中这些不需要的文件,然后通过鼠标将所有文件进行反选,此时,选中的就是你需要的多个不连续的文件。 + +![图片](https://www.openkylin.top/upload/202302/1675907634477814.png) + +![图片](https://www.openkylin.top/upload/202302/1675907646763404.png) + +### 2.快速查找文件 + +(1)最近使用如果你需要打开最近编辑使用过的文档,但它的具体路径又有些许复杂,那么你可以使用“最近使用”这个功能来快速的定位所需文件位置。系统会基于你的文档使用记录排列最近打开的文档,并同时向你展示各文档的存储路径。 + +![图片](https://www.openkylin.top/upload/202302/1675907659317516.png) + +(2)搜索如果你需要找一个很久之前的文件,此时你可以通过搜索文件名称的关键词,在搜索结果中定位这个文件。 + +![图片](https://www.openkylin.top/upload/202302/1675907676529748.png) + +### 3.复制文件路径如果你需要对文件路径进行记录,你只需要打开终端窗口,点击文件管理器窗口上端文件夹名称,右键选择复制选项,随后在终端窗口进行粘贴,此时便可得到该文件的具体路径。 + +![图片](https://www.openkylin.top/upload/202302/1675907689750834.png) + +以上就是本次openKylin文件管理器的基本介绍啦,希望能对大家有所帮助。目前,openKylin文件管理器仍然在不断的完善更新中,大家在使用过程中如有任何建议和需求,可前往openKylin Gitee仓库以Issue形式进行反馈。 diff --git "a/\345\260\217\347\231\275\350\257\276\347\250\213/openKylin\347\224\250\346\210\267\346\211\213\345\206\214\345\216\237\347\220\206\350\247\243\346\236\220.md" "b/\345\260\217\347\231\275\350\257\276\347\250\213/openKylin\347\224\250\346\210\267\346\211\213\345\206\214\345\216\237\347\220\206\350\247\243\346\236\220.md" new file mode 100644 index 0000000000000000000000000000000000000000..2629bab083b4693c416e1c45776b02c87c799e81 --- /dev/null +++ "b/\345\260\217\347\231\275\350\257\276\347\250\213/openKylin\347\224\250\346\210\267\346\211\213\345\206\214\345\216\237\347\220\206\350\247\243\346\236\220.md" @@ -0,0 +1,63 @@ + + **【小白课程】openKylin用户手册原理解析,一招教你学会自定义!** + +openKylin用户手册是详细描述openKylin操作系统的功能和用户界面,让用户了解如何使用该软件的说明书。通过阅读openKylin用户手册,能够更快更好的上手和使用openKylin操作系统。今天就带大家简单了解下openKylin用户手册的实现原理以及如何自定义用户手册内容。 + +![图片](https://www.openkylin.top/upload/202301/1673400351868967.png) + +一、用户手册实现原理介绍 + +1.QtWebkit简介openKylin操作系统上用户手册的启动、展示、跳转是在QtWebkit基础上实现的。下面我们来简单介绍一下QtWebkit。QtWebkit模块提供了一个在qt中使用web browser的engine,这使得我们在qt的应用程序中使用万维网上的内容变得很容易, 而且对其网页内容的控制也可以通过native controls实现。QtWebKit提供用于呈现超文本标记语言(HTML)、可扩展超文本标记语言(XHTML)和可伸缩矢量图形(SVG)文档的工具,这些文档使用级联样式表(CSS)样式,并使用JavaScript编写脚本。 + +2.用户手册跳转的接口为了方便用户跳转到对应组件的帮助文档,用户手册提供了接口,使得其他组件调用接口传递参数后,可以直接打开用户手册对应内容,组件通过点击F1和菜单-帮助选项进行调用。DaemonIpcDbus::showGuideDaemonIpcDbus::showGuide提供了dbus接口,组件只需要传递对应参数调用,手册这边会根据参数,打开用户手册并跳转至对应内容。 + +3.用户手册运行流程上面介绍了用户手册跳转接口,下面重点介绍下用户手册运行的大致流程。首先需要实例化QWebView,开启和禁用部分设置,加载用户手册网页文件。 + +![图片](https://www.openkylin.top/upload/202301/1673400403559673.png) + +![图片](https://www.openkylin.top/upload/202301/1673400415449881.png) + +载入html时发送信号,将QObject对象传给JS,这样JS就能调用QObject的public slots函数 + +![图片](https://www.openkylin.top/upload/202301/1673400425220458.png) + +![图片](https://www.openkylin.top/upload/202301/1673400459129591.png) + +![图片](https://www.openkylin.top/upload/202301/1673400473845933.png) + +web端调用qt接口,获取文档信息和目录结构,动态生成首页应用。js端调用qt端函数获取信息: + +![图片](https://www.openkylin.top/upload/202301/1673400482997460.png) + +qt端获取手册文件结构,获取首页图标名称和文件夹名称,以及对应的文档路径: + +![图片](https://www.openkylin.top/upload/202301/1673400491336760.png) + +通过获取到的图片名称、文档路径、文件夹名称;加载图标信息,完成首页应用的加载。openKylin用户手册首页的加载流程大致就如上面所述,但实际还会涉及到Markdown文件的渲染展示,目录和内容的跟随效果;手册目录级的跳转;自动读取文档的更新日期等,这里就不一一介绍啦。二、用户手册内容自定义大家系统在集成新组件时,会希望新增组件后,把对应的组件手册内容也自动加入用户手册中,并能够进行跳转;那么这里就给大家介绍一下如何集成自己的手册内容! + +1.文件夹结构 + +![图片](https://www.openkylin.top/upload/202301/1673400502196692.png) + + +需要包含语言文件夹,一个图标;其中文件夹名称和图标名称保持一致,会用于首页图标展示以及用户手册dbus接口调用参数。 + +2.Markdown文件结构 + +![图片](https://www.openkylin.top/upload/202301/1673400514730147.png) + +这里Markdown文档的一级标题会作为首页应用的展示名称。 + +3.修改install文件 + +![图片](https://www.openkylin.top/upload/202301/1673400526886467.png) + +将准备好的文件夹,放到用户手册的资源文件下面,当用户手册加载时便会自动读取,进行加载展示在首页。按照以上步骤进行操作,就可以完成用户手册内容的自定义,实现系统组件手册内容的即增即减啦!你学会了嘛? + + + + + +来源:谢嘉华 + +审核:openKylin \ No newline at end of file diff --git "a/\345\260\217\347\231\275\350\257\276\347\250\213/\344\273\245openKylin\347\234\213\345\233\276\350\275\257\344\273\266\344\270\272\344\276\213\357\274\214\346\265\205\350\260\210\345\233\276\347\211\207\347\274\226\350\247\243\347\240\201\345\272\223\342\200\224FreeImage.md" "b/\345\260\217\347\231\275\350\257\276\347\250\213/\344\273\245openKylin\347\234\213\345\233\276\350\275\257\344\273\266\344\270\272\344\276\213\357\274\214\346\265\205\350\260\210\345\233\276\347\211\207\347\274\226\350\247\243\347\240\201\345\272\223\342\200\224FreeImage.md" new file mode 100644 index 0000000000000000000000000000000000000000..39e6e4b2c09aca9e613b8802ec0874823a6f93c4 --- /dev/null +++ "b/\345\260\217\347\231\275\350\257\276\347\250\213/\344\273\245openKylin\347\234\213\345\233\276\350\275\257\344\273\266\344\270\272\344\276\213\357\274\214\346\265\205\350\260\210\345\233\276\347\211\207\347\274\226\350\247\243\347\240\201\345\272\223\342\200\224FreeImage.md" @@ -0,0 +1,97 @@ +# 【小白课程】以openKylin看图软件为例,浅谈图片编解码库—FreeImage【小白课程】以openKylin看图软件为例,浅谈图片编解码库—FreeImage + +看图软件是openKylin操作系统上一款开源的图像查看软件,支持对图片进行基本操作,如:缩放、翻转、详情查看、复制、打印、重命名等,同时还可以对图片进行裁剪、存储、标注和ocr(文字识别)。 + +![图片](https://www.openkylin.top/upload/202302/1675302019720987.png) + +图1 看图软件界面 + +作为图像查看软件,查看图片是其基本功能,也是最重要的功能。在看图软件V1.2.0版本中,新增了10种图片格式(exr,psd,jfi,jif,jng,wbmp,xbm,xpm,jp2,j2k)的查看和保存,这些格式在技术上都是通过FreeImage库实现的。下面将为大家着重介绍看图软件中所使用的图片编解码库—FreeImage。 + +## 1.看图软件图片编解码库介绍 + +openKylin系统中的看图软件目前共支持30种图片格式,分别为:bmp,jpeg,jpg,jpe,pnm,pgm,ppm,pbm,sr,ras,dib,png,apng,gif,webp,tga,svg,ico,tiff,tif,exr,psd,jfi,jif,jng,wbmp,xbm,xpm,jp2,j2k。为支持上述图片格式,看图软件使用以下库进行图片编解码:opencv库,FreeImage库,apng库,gif库等。其中,一半格式的图片使用的是大家比较熟悉的opencv库编解码,个别格式的图片,如svg等有自己的相关库。除此之外都是使用的FreeImage库进行图片的读写。在使用过程中,我们发现,对上层应用来说FreeImage库快速便捷,易于使用。 + +## 2.FreeImage库介绍 + +FreeImage库是一款开源的,免费的和跨平台的图片编解码库。支持对20多种流行图形格式的处理,如BMP 、JPEG 、GIF 、PNG 、TIFF等。使用FreeImage库时要安装libfreeimage-dev和libfreeimageplus-dev。同时,FreeImage库提供了很多获取位图信息的接口,具有快速、灵活、简单易用的特点。FreeImage库中的所有函数都是以FreeImage_开头,如图像文件的读写函数分别为FreeImage_Load 和FreeImage_Save ,并且和opencv之间相互转换也很简单,感兴趣的小伙伴可前往FreeImage官网查看更多详情。 + +## 3.使用FreeImage库加载图片 + +看图软件在加载或操作一张图片的整个过程都是以cv::mat矩阵来存储图片的。打开一张图片时,看图软件使用FreeImage库加载图片的完整流程如下所示: + +1. 获取图片真实格式; +2. 判断图片是否支持FreeImage读入; +3. FreeImage加载图片,获得FIBITMAP; +4. 将FIBITMAP转换为cv::mat。 +5. 从内存中删除libfreeimage载入的图片,防止内存泄漏。 + +### 3.1 获取图片真实格式 + +在操作图片时,图片后缀可能是.xbm,.sr等,但这并不代表图片是xbm或sr格式,此时需要先通过库函数来获取图片的真实格式。// 用库获取文件格式,path是图片的路径。     QByteArray temp_path;     temp_path.append(path.toUtf8());     FREE_IMAGE_FORMAT format = FreeImage_GetFileType(temp_path.data());FreeImage_GetFileType:由文件头拿到文件类型。参数:图片路径。这个函数的返回值是FREE_IMAGE_FORMAT。可以从下图看到,返回值也可能是FIF_UNKNOWMN。 + +![图片](https://www.openkylin.top/upload/202302/1675302047853305.png) + +图2 图片类型 + +如果从库函数中解析出来的文件格式为FIF_UNKNOWMN,我们会从文件数据的角度,通过判断文件头,再次解析图片格式,提升拿到正确文件格式的成功率。 + +QFile file(path);if (!file.open(QIODevice::ReadOnly)) {      return FIF_UNKNOWN;}const QByteArray data = file.read(64);/* Check bmp file */if (data.startsWith("BM")) {    s return FIF_BMP;}//path为图片路径 + +### 3.2 判断是否支持读入 + +在拿到文件类型后,加载图片之前,我们还需要做一个工作:判断该格式是否可以被FreeImage库读取。其中FreeImage_FIFSupportsReading用来判断是否支持该位图类型的读操作。 + +### 3.3 加载图片 + +假设我们已经拿到图片的正确格式,且该格式可以被FreeImage库读取。则调用库函数FreeImage_Load 加载位图,返回值为FIBITMAP。FIBITMAP数据结构保存着位图信息和像素数据,是FreeImage的核心。 + +### 3.4 将FIBITMAP转换成mat + +在看图软件中,读写图片的整个流程的数据都是以cv::mat矩阵进行传递的。之所以使用cv::mat是为了之后能够对看图软件现有的功能进行扩展,尤其是opencv提供的AI方向。 + +![图片](https://www.openkylin.top/upload/202302/1675302060527556.png) + +图3 看图软件结构 + +因此,在拿到FreeImage返回的FIBITMAP后,我们需要将它转换为cv::mat。FIBITMAP转换成cv::mat时,首先要看构造一个图片的mat矩阵都需要什么参数。 + +Mat(int rows, int cols, int type, void* data, size_t step=AUTO_STEP);//行数rows,列数cols,类型type,指向用户数据的指针data,每行占据的字节数。 +所以,接下来我们的任务就是,从FIBITMAP拿到需要的所有参数。 +1. int rows, int cols + +对于行数和列数,FreeImage有函数可以直接调用,得到行列。 + +FIBITMAP *dib;int width = FreeImage_GetWidth(dib);int height = FreeImage_GetHeight(dib); + +2. inttype对于type,需要稍微做一下处理。FreeImage库提供了查看图片深度和数据类型的方法。 + +int bpp = FreeImage_GetBPP(src);//图片的深度FREE_IMAGE_TYPE fit = FreeImage_GetImageType(src);//返回位图的数据类型 + +拿到FreeImage的类型的枚举值后,一一对应转为cv::mat的数据类型即可。 + +![图片](https://www.openkylin.top/upload/202302/1675302073529292.png) + +图4 数据类型 + +3. void* data指向用户数据的指针data。 + +库中同样有可以直接调用的函数。FreeImage_GetBits(FIBITMAP *dib):返回一个指向位图的数据位的指针 + +4. size_t stepstep 每行占据的字节数FreeImage_GetPitch(FIBITMAP *dib):返回位深度或线宽度(又叫做扫描宽度)。是以字节为单位返回对齐到下一个32位字节边界的位图宽度。 + +FIBITMAP *dib;int step = FreeImage_GetPitch(dib); + +### 3.5内存释放 + +FIBITMAP *dib;FreeImage_Unload(dib);//从内存中删除载入图片,防止内存泄漏 + +除了FreeImage库外,目前还有许多优秀的图片编解码库,openKylin看图软件后续会适配更多的图片库来支持更多格式,并利用opencv的特性来扩展一些特色功能。各位小伙伴敬请期待吧! + +![图片](https://www.openkylin.top/upload/202302/1675302088630447.png) + +openKylin(开放麒麟)社区旨在以“共创”为核心,在开源、自愿、平等、协作的基础上,通过开源、开放的方式与企业构建合作伙伴生态体系,共同打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态繁荣发展。社区首批理事成员单位包括麒麟软件、普华基础软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德系统、北京麟卓、先进操作系统创新中心等13家产业同仁和行业机构。 + +来源:openKylin + +审核:openKylin \ No newline at end of file diff --git "a/\345\260\217\347\231\275\350\257\276\347\250\213/\345\234\250openKylin\344\270\212\350\277\233\350\241\214\345\255\227\344\275\223\351\205\215\347\275\256.md" "b/\345\260\217\347\231\275\350\257\276\347\250\213/\345\234\250openKylin\344\270\212\350\277\233\350\241\214\345\255\227\344\275\223\351\205\215\347\275\256.md" new file mode 100644 index 0000000000000000000000000000000000000000..87a95c468cd1b3fb892fe20fedca08a0d003f8ec --- /dev/null +++ "b/\345\260\217\347\231\275\350\257\276\347\250\213/\345\234\250openKylin\344\270\212\350\277\233\350\241\214\345\255\227\344\275\223\351\205\215\347\275\256.md" @@ -0,0 +1,54 @@ +# 【小白课程】一文教你如何在openKylin上进行字体配置 + +许多小伙伴在使用Linux系统时常常感到字体配置不便,例如系统没有中文,找不到切换字体选项,难以调整字体大小等,而在openKylin中这些都能得到快速解决。下面就跟着我来一起看看如何在openKylin中配置字体吧。 + +## 设置系统字体 + +openKylin系统支持中文环境,无需手动下载切换,并内置多种中英字体。我们打开 设置->字体 即可查看系统当前使用的字体,可以看到有两个字体选择接口,“字体选择”和“等宽字体”。 + +![图片](https://www.openkylin.top/upload/202303/1677638058623502.png) + +“字体选择”接口负责的是系统界面和软件使用的字体,绝大多数应用默认使用这种字体。 + +“等宽字体”接口主要负责终端中命令和输出的显示,该选项只对指定使用等宽字体的应用有效。等宽字体是指每个英文字母显示宽度相等的字体,且一般两个英文字母的宽度严格等于一个汉字,这种字体可以在存在多行文本的情况下方便地对齐缩进,便于排版和编辑。需要注意的是,openKylin并未将所有已安装的字体都显示在上文的设置界面中,只选择展示了几款美观实用的字体。若要查看其他内容,可以终端中输入sudo apt-get install kylin-font-viewer命令,安装字体管理器。执行完成后,可以在系统菜单中找到“字体管理器”应用,点击打开后即可查看系统中所有字体的情况。 + +![图片](https://www.openkylin.top/upload/202303/1677638068353445.png) + +## 安装新字体 +openKylin系统支持用户安装字体,点击上面提到的“字体管理器”左上角的加号“+”,选择字体并确认,即可在“我的字体”选项中查看到用户自己安装的字体,如下图所示。 + +![图片](https://www.openkylin.top/upload/202303/1677638082434819.png) + +##设置文本编辑器和终端字体 + +openKylin终端和文本编辑器支持单独配置字体。打开“MATE终端“->点击“编辑”按钮->选择“配置文件首选项”,即可看到以下界面,取消勾选“使用系统的等宽字体”,即可在“字体”中选择终端中显示的字体和大小。 + +![图片](https://www.openkylin.top/upload/202303/1677638129164346.png) + +文本编辑器则要点击“编辑”按钮,选择“首选项”,在“字体和颜色”栏中切换“编辑器字体”的类别和大小。 + +![图片](https://www.openkylin.top/upload/202303/1677638141258517.png) + +## 配置指定应用字体 + +上一节提到的终端和文本编辑器应用提供了选择字体的功能,对于没有提供这项功能的应用,我们同样可以配置它使用指定的字体,不过要更加复杂一些。 + +大家可以思考这样的问题:开发者将应用中的文字指定为黑体,但是我们的系统里有很多黑体字库,或者说我们系统里没有黑体,那么应用会显示什么字体呢? + +这个时候fonts.conf工具就派上用场了。 + +openKylin系统的字体配置工具fonts.conf,使用它可以进行很多字体方面的操作。我们今天主要了解的是使用fonts.conf配置firefox浏览器的黑体为系统中的华文黑体。 + +fonts.conf应用的配置在/etc/fonts目录下。 + +首先,使用文件管理器,打开/etc/fonts文件夹,可以看到fonts.conf文件,点击打开可以看到XML格式的配置文本,阅读发现,我们的字体配置文件在当前目录的conf.d目录下。 + +打开conf.d目录,里面存放着系统中所有的字体配置文件,我们复制其中一份,并将其改名为59-firefox-sans.conf,sans象征非衬线字体,笔画平直顺滑,黑体是其中经典的类型,该文件专用于配置firefox浏览器的黑体字体。我们在其中输入以下内容,将默认的黑体替换为华文黑体。 + +![图片](https://www.openkylin.top/upload/202303/1677638196400944.png) + +显示效果如下图所示: + +![图片](https://www.openkylin.top/upload/202303/1677638216993160.png) + +可以看到,此时,我们已将浏览器界面中的默认黑体替换为了华文黑体。各位小伙伴你学会了嘛?如有更多疑问,欢迎后台留言告诉我们哦~ \ No newline at end of file diff --git "a/openKylin\351\234\200\346\261\202\347\256\241\347\220\206\350\247\204\350\214\203.md" "b/\347\211\210\346\234\254\347\256\241\347\220\206\350\247\204\350\214\203/openKylin\351\234\200\346\261\202\347\256\241\347\220\206\350\247\204\350\214\203.md" similarity index 100% rename from "openKylin\351\234\200\346\261\202\347\256\241\347\220\206\350\247\204\350\214\203.md" rename to "\347\211\210\346\234\254\347\256\241\347\220\206\350\247\204\350\214\203/openKylin\351\234\200\346\261\202\347\256\241\347\220\206\350\247\204\350\214\203.md" diff --git "a/\347\244\276\345\214\272\344\272\247\345\223\201/\344\274\230\351\272\222\351\272\237\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237.md" "b/\347\244\276\345\214\272\344\272\247\345\223\201/\344\274\230\351\272\222\351\272\237\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237.md" index 6cdab13e62dfca33dc6469d4efa055388c30864f..d3483226fc58618c4ce53fc08d033e58dbbb92ac 100644 --- "a/\347\244\276\345\214\272\344\272\247\345\223\201/\344\274\230\351\272\222\351\272\237\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237.md" +++ "b/\347\244\276\345\214\272\344\272\247\345\223\201/\344\274\230\351\272\222\351\272\237\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237.md" @@ -2,7 +2,7 @@ title: 优麒麟开源操作系统 description: published: true -date: 2022-05-17T08:11:01.298Z +date: 2023-02-09T02:08:34.168Z tags: editor: markdown dateCreated: 2022-03-11T03:17:08.669Z diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/PR\344\273\273\345\212\241\345\220\210\351\233\206.md" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/PR\344\273\273\345\212\241\345\220\210\351\233\206.md" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/PR\344\273\273\345\212\241\345\220\210\351\233\206.md" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/PR\344\273\273\345\212\241\345\220\210\351\233\206.md" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/PR\346\265\201\347\250\213.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/PR\346\265\201\347\250\213.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/PR\346\265\201\347\250\213.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/PR\346\265\201\347\250\213.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/fork\347\244\272\344\276\213.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/fork\347\244\272\344\276\213.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/fork\347\244\272\344\276\213.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/fork\347\244\272\344\276\213.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/gitee\346\217\220\344\272\244PR.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/gitee\346\217\220\344\272\244PR.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/gitee\346\217\220\344\272\244PR.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/gitee\346\217\220\344\272\244PR.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/git\347\211\210\346\234\254.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/git\347\211\210\346\234\254.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/git\347\211\210\346\234\254.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/git\347\211\210\346\234\254.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\270\211\347\247\215CLA\347\255\276\347\275\262\345\275\242\345\274\217\345\214\272\345\210\253.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\270\211\347\247\215CLA\347\255\276\347\275\262\345\275\242\345\274\217\345\214\272\345\210\253.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\270\211\347\247\215CLA\347\255\276\347\275\262\345\275\242\345\274\217\345\214\272\345\210\253.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\270\211\347\247\215CLA\347\255\276\347\275\262\345\275\242\345\274\217\345\214\272\345\210\253.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\270\252\344\272\272\347\255\276\347\275\262CLA\346\265\201\347\250\213.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\270\252\344\272\272\347\255\276\347\275\262CLA\346\265\201\347\250\213.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\270\252\344\272\272\347\255\276\347\275\262CLA\346\265\201\347\250\213.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\270\252\344\272\272\347\255\276\347\275\262CLA\346\265\201\347\250\213.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\274\201\344\270\232CLA\347\255\276\347\275\262\346\265\201\347\250\213.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\274\201\344\270\232CLA\347\255\276\347\275\262\346\265\201\347\250\213.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\274\201\344\270\232CLA\347\255\276\347\275\262\346\265\201\347\250\213.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\344\274\201\344\270\232CLA\347\255\276\347\275\262\346\265\201\347\250\213.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\345\212\240\345\205\245sig\346\265\201\347\250\213.desktop" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\345\212\240\345\205\245sig\346\265\201\347\250\213.desktop" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\345\212\240\345\205\245sig\346\265\201\347\250\213.desktop" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\345\212\240\345\205\245sig\346\265\201\347\250\213.desktop" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\345\221\230\345\267\245CLA\347\255\276\347\275\262\346\265\201\347\250\213.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\345\221\230\345\267\245CLA\347\255\276\347\275\262\346\265\201\347\250\213.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\345\221\230\345\267\245CLA\347\255\276\347\275\262\346\265\201\347\250\213.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\345\221\230\345\267\245CLA\347\255\276\347\275\262\346\265\201\347\250\213.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\210\220\345\212\237\346\216\250\351\200\201\344\277\256\346\224\271\345\210\260\344\270\252\344\272\272\344\273\223\345\272\223.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\210\220\345\212\237\346\216\250\351\200\201\344\277\256\346\224\271\345\210\260\344\270\252\344\272\272\344\273\223\345\272\223.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\210\220\345\212\237\346\216\250\351\200\201\344\277\256\346\224\271\345\210\260\344\270\252\344\272\272\344\273\223\345\272\223.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\210\220\345\212\237\346\216\250\351\200\201\344\277\256\346\224\271\345\210\260\344\270\252\344\272\272\344\273\223\345\272\223.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\217\220\344\272\244issue.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\217\220\344\272\244issue.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\217\220\344\272\244issue.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\217\220\344\272\244issue.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\237\245\347\234\213PR\347\212\266\346\200\201.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\237\245\347\234\213PR\347\212\266\346\200\201.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\237\245\347\234\213PR\347\212\266\346\200\201.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\346\237\245\347\234\213PR\347\212\266\346\200\201.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\347\224\263\350\257\267\345\215\225\345\214\205\347\273\264\346\212\244\350\200\205\346\265\201\347\250\213.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\347\224\263\350\257\267\345\215\225\345\214\205\347\273\264\346\212\244\350\200\205\346\265\201\347\250\213.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\347\224\263\350\257\267\345\215\225\345\214\205\347\273\264\346\212\244\350\200\205\346\265\201\347\250\213.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\350\264\241\347\214\256\346\214\207\345\215\227/\347\224\263\350\257\267\345\215\225\345\214\205\347\273\264\346\212\244\350\200\205\346\265\201\347\250\213.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/bios\351\200\200\345\207\272\345\271\266\344\277\235\345\255\230.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/bios\351\200\200\345\207\272\345\271\266\344\277\235\345\255\230.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/bios\351\200\200\345\207\272\345\271\266\344\277\235\345\255\230.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/bios\351\200\200\345\207\272\345\271\266\344\277\235\345\255\230.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\346\226\271\345\274\217\351\200\211\346\213\251.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\346\226\271\345\274\217\351\200\211\346\213\251.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\346\226\271\345\274\217\351\200\211\346\213\251.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\346\226\271\345\274\217\351\200\211\346\213\251.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\350\277\233\345\272\246\347\225\214\351\235\242.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\350\277\233\345\272\246\347\225\214\351\235\242.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\350\277\233\345\272\246\347\225\214\351\235\242.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\350\277\233\345\272\246\347\225\214\351\235\242.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\351\241\265\351\235\242.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\351\241\265\351\235\242.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\351\241\265\351\235\242.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\256\211\350\243\205\351\241\265\351\235\242.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\274\200\346\234\272\351\241\265\351\235\242.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\274\200\346\234\272\351\241\265\351\235\242.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\274\200\346\234\272\351\241\265\351\235\242.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\345\274\200\346\234\272\351\241\265\351\235\242.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272backup\345\210\206\345\214\272.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272backup\345\210\206\345\214\272.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272backup\345\210\206\345\214\272.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272backup\345\210\206\345\214\272.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272data\345\210\206\345\214\272.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272data\345\210\206\345\214\272.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272data\345\210\206\345\214\272.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272data\345\210\206\345\214\272.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272\345\274\225\345\257\274\345\210\206\345\214\272.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272\345\274\225\345\257\274\345\210\206\345\214\272.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272\345\274\225\345\257\274\345\210\206\345\214\272.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272\345\274\225\345\257\274\345\210\206\345\214\272.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272\346\240\271\345\210\206\345\214\272.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272\346\240\271\345\210\206\345\214\272.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272\346\240\271\345\210\206\345\214\272.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\226\260\345\273\272\346\240\271\345\210\206\345\214\272.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\227\266\345\214\272\351\200\211\346\213\251.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\227\266\345\214\272\351\200\211\346\213\251.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\227\266\345\214\272\351\200\211\346\213\251.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\346\227\266\345\214\272\351\200\211\346\213\251.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\347\224\250\346\210\267\345\210\233\345\273\272.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\347\224\250\346\210\267\345\210\233\345\273\272.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\347\224\250\346\210\267\345\210\233\345\273\272.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\347\224\250\346\210\267\345\210\233\345\273\272.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\347\224\250\346\210\267\347\231\273\345\275\225\351\241\265\351\235\242.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\347\224\250\346\210\267\347\231\273\345\275\225\351\241\265\351\235\242.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\347\224\250\346\210\267\347\231\273\345\275\225\351\241\265\351\235\242.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\347\224\250\346\210\267\347\231\273\345\275\225\351\241\265\351\235\242.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\345\210\206\345\214\272\347\225\214\351\235\242.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\345\210\206\345\214\272\347\225\214\351\235\242.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\345\210\206\345\214\272\347\225\214\351\235\242.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\345\210\206\345\214\272\347\225\214\351\235\242.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\346\240\271\345\210\206\345\214\272\345\210\206\351\205\215.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\346\240\271\345\210\206\345\214\272\345\210\206\351\205\215.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\346\240\271\345\210\206\345\214\272\345\210\206\351\205\215.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\346\240\271\345\210\206\345\214\272\345\210\206\351\205\215.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\346\240\271\345\210\206\345\214\272\345\210\206\351\205\21580g.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\346\240\271\345\210\206\345\214\272\345\210\206\351\205\21580g.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\346\240\271\345\210\206\345\214\272\345\210\206\351\205\21580g.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\207\252\345\256\232\344\271\211\345\256\211\350\243\205\346\240\271\345\210\206\345\214\272\345\210\206\351\205\21580g.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\257\255\350\250\200\351\200\211\346\213\251.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\257\255\350\250\200\351\200\211\346\213\251.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\257\255\350\250\200\351\200\211\346\213\251.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/openkylin\350\257\255\350\250\200\351\200\211\346\213\251.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/ventoy\345\215\207\347\272\247\347\225\214\351\235\242.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/ventoy\345\215\207\347\272\247\347\225\214\351\235\242.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/ventoy\345\215\207\347\272\247\347\225\214\351\235\242.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/ventoy\345\215\207\347\272\247\347\225\214\351\235\242.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/ventoy\350\277\220\350\241\214\347\225\214\351\235\242.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/ventoy\350\277\220\350\241\214\347\225\214\351\235\242.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/ventoy\350\277\220\350\241\214\347\225\214\351\235\242.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/ventoy\350\277\220\350\241\214\347\225\214\351\235\242.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\344\270\213\350\275\275\345\220\257\345\212\250\347\233\230.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\344\270\213\350\275\275\345\220\257\345\212\250\347\233\230.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\344\270\213\350\275\275\345\220\257\345\212\250\347\233\230.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\344\270\213\350\275\275\345\220\257\345\212\250\347\233\230.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\210\233\345\273\272\350\231\232\346\213\237\346\234\272.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\210\233\345\273\272\350\231\232\346\213\237\346\234\272.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\210\233\345\273\272\350\231\232\346\213\237\346\234\272.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\210\233\345\273\272\350\231\232\346\213\237\346\234\272.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\216\213\347\274\251\345\210\206\345\214\272\345\244\247\345\260\217.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\216\213\347\274\251\345\210\206\345\214\272\345\244\247\345\260\217.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\216\213\347\274\251\345\210\206\345\214\272\345\244\247\345\260\217.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\216\213\347\274\251\345\210\206\345\214\272\345\244\247\345\260\217.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\216\213\347\274\251\345\215\267.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\216\213\347\274\251\345\215\267.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\216\213\347\274\251\345\215\267.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\216\213\347\274\251\345\215\267.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\217\214\347\263\273\347\273\237\347\263\273\347\273\237\351\200\211\346\213\251\347\225\214\351\235\242.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\217\214\347\263\273\347\273\237\347\263\273\347\273\237\351\200\211\346\213\251\347\225\214\351\235\242.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\217\214\347\263\273\347\273\237\347\263\273\347\273\237\351\200\211\346\213\251\347\225\214\351\235\242.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\345\217\214\347\263\273\347\273\237\347\263\273\347\273\237\351\200\211\346\213\251\347\225\214\351\235\242.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\255\244\347\224\265\350\204\221\347\256\241\347\220\206.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\255\244\347\224\265\350\204\221\347\256\241\347\220\206.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\255\244\347\224\265\350\204\221\347\256\241\347\220\206.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\255\244\347\224\265\350\204\221\347\256\241\347\220\206.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\265\217\350\247\210\345\231\250\350\256\277\351\227\256.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\265\217\350\247\210\345\231\250\350\256\277\351\227\256.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\265\217\350\247\210\345\231\250\350\256\277\351\227\256.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\265\217\350\247\210\345\231\250\350\256\277\351\227\256.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\265\217\350\247\210\345\231\250\351\241\265\351\235\242\345\261\225\347\244\272.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\265\217\350\247\210\345\231\250\351\241\265\351\235\242\345\261\225\347\244\272.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\265\217\350\247\210\345\231\250\351\241\265\351\235\242\345\261\225\347\244\272.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\346\265\217\350\247\210\345\231\250\351\241\265\351\235\242\345\261\225\347\244\272.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\347\243\201\347\233\230\345\210\206\345\214\272\347\273\223\346\235\237.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\347\243\201\347\233\230\345\210\206\345\214\272\347\273\223\346\235\237.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\347\243\201\347\233\230\345\210\206\345\214\272\347\273\223\346\235\237.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\347\243\201\347\233\230\345\210\206\345\214\272\347\273\223\346\235\237.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\250\347\233\230\345\256\211\350\243\205openkylin.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\250\347\233\230\345\256\211\350\243\205openkylin.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\250\347\233\230\345\256\211\350\243\205openkylin.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\250\347\233\230\345\256\211\350\243\205openkylin.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\250\347\233\230\345\256\211\350\243\205openkylin\344\273\213\347\273\215.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\250\347\233\230\345\256\211\350\243\205openkylin\344\273\213\347\273\215.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\250\347\233\230\345\256\211\350\243\205openkylin\344\273\213\347\273\215.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\250\347\233\230\345\256\211\350\243\205openkylin\344\273\213\347\273\215.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\270\345\236\213\351\200\211\351\241\271.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\270\345\236\213\351\200\211\351\241\271.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\270\345\236\213\351\200\211\351\241\271.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\205\270\345\236\213\351\200\211\351\241\271.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\210\233\345\273\272openkylin\347\224\250\346\210\267.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\210\233\345\273\272openkylin\347\224\250\346\210\267.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\210\233\345\273\272openkylin\347\224\250\346\210\267.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\345\210\233\345\273\272openkylin\347\224\250\346\210\267.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\347\243\201\347\233\230\345\244\247\345\260\217.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\347\243\201\347\233\230\345\244\247\345\260\217.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\347\243\201\347\233\230\345\244\247\345\260\217.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\347\243\201\347\233\230\345\244\247\345\260\217.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\347\250\215\345\220\216\345\256\211\350\243\205\351\200\211\351\241\271.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\347\250\215\345\220\216\345\256\211\350\243\205\351\200\211\351\241\271.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\347\250\215\345\220\216\345\256\211\350\243\205\351\200\211\351\241\271.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\347\250\215\345\220\216\345\256\211\350\243\205\351\200\211\351\241\271.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\350\207\252\345\256\232\344\271\211\347\241\254\344\273\266.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\350\207\252\345\256\232\344\271\211\347\241\254\344\273\266.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\350\207\252\345\256\232\344\271\211\347\241\254\344\273\266.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\350\207\252\345\256\232\344\271\211\347\241\254\344\273\266.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251openkylin\346\227\266\345\214\272.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251openkylin\346\227\266\345\214\272.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251openkylin\346\227\266\345\214\272.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251openkylin\346\227\266\345\214\272.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251openkylin\350\257\255\350\250\200.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251openkylin\350\257\255\350\250\200.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251openkylin\350\257\255\350\250\200.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251openkylin\350\257\255\350\250\200.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251ubuntu64.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251ubuntu64.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251ubuntu64.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251ubuntu64.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251\351\225\234\345\203\217\346\226\207\344\273\266.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251\351\225\234\345\203\217\346\226\207\344\273\266.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251\351\225\234\345\203\217\346\226\207\344\273\266.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\231\232\346\213\237\346\234\272\351\200\211\346\213\251\351\225\234\345\203\217\346\226\207\344\273\266.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\256\276\347\275\256bootoption.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\256\276\347\275\256bootoption.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\256\276\347\275\256bootoption.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\256\276\347\275\256bootoption.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\277\220\350\241\214ventoy-wim.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\277\220\350\241\214ventoy-wim.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\277\220\350\241\214ventoy-wim.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\277\220\350\241\214ventoy-wim.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\277\233\345\205\245bios\347\263\273\347\273\237.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\277\233\345\205\245bios\347\263\273\347\273\237.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\277\233\345\205\245bios\347\263\273\347\273\237.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\350\277\233\345\205\245bios\347\263\273\347\273\237.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\351\200\211\346\213\251\350\231\232\346\213\237\346\234\272\345\256\211\350\243\205\347\233\256\345\275\225.png" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\351\200\211\346\213\251\350\231\232\346\213\237\346\234\272\345\256\211\350\243\205\347\233\256\345\275\225.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\351\200\211\346\213\251\350\231\232\346\213\237\346\234\272\345\256\211\350\243\205\347\233\256\345\275\225.png" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/assets/\347\263\273\347\273\237\345\256\211\350\243\205/\351\200\211\346\213\251\350\231\232\346\213\237\346\234\272\345\256\211\350\243\205\347\233\256\345\275\225.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\344\270\213\350\275\275\345\234\260\345\235\200\345\222\214\345\256\211\350\243\205\346\226\271\346\263\225.md" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/openKylin\344\270\213\350\275\275\345\234\260\345\235\200\345\222\214\345\256\211\350\243\205\346\226\271\346\263\225.md" similarity index 90% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\344\270\213\350\275\275\345\234\260\345\235\200\345\222\214\345\256\211\350\243\205\346\226\271\346\263\225.md" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/openKylin\344\270\213\350\275\275\345\234\260\345\235\200\345\222\214\345\256\211\350\243\205\346\226\271\346\263\225.md" index 6a9bff351d2abbea7ca62ec0a0187dd2b2884256..c1e42830e7161af84d75264cd76c905961d097bb 100644 --- "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\344\270\213\350\275\275\345\234\260\345\235\200\345\222\214\345\256\211\350\243\205\346\226\271\346\263\225.md" +++ "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/openKylin\344\270\213\350\275\275\345\234\260\345\235\200\345\222\214\345\256\211\350\243\205\346\226\271\346\263\225.md" @@ -8,13 +8,24 @@ editor: markdown dateCreated: 2022-05-17T07:44:04.711Z --- -本篇详细介绍了两平台(Windows、Linux)的U盘启动盘制作方法和三种(全盘安装、双系统、虚拟机)openKylin开源操作系统的安装教程,请大家根据自己的需要选择性阅读。 +本篇详细介绍了两平台(Windows、Linux)的启动盘制作方法和三种(全盘安装、双系统、虚拟机)openKylin开源操作系统的安装教程,请大家根据自己的需要选择性阅读。 安装使用openKylin开源操作系统的第一步,就是获取openKylin开源操作系统的镜像文件,我们可以直接在openKylin官网进行下载。 下载链接:https://www.openKylin.top/downloads -# 一.制作U盘启动盘 +# 一.制作启动盘 + +在重装或者是安装系统的过程中,大家都会经历制作启动盘这一过程,想必也看过很多资料来进行学习。接下来,我来给大家总结一下启动盘制作的几种方法。欢迎大家拿出小抄赶紧记上,希望对你也有用哦。 + +启动盘制作工具,其中常见的有Ventoy和微PE工具箱,那么这两款软件哪个更好呢,其实他们的作用是差不多的。 + +首先,他们都能用来制作启动盘,主要功能是相同的,不过微PE工具箱还能制作系统光盘,Ventoy是做不到的,此外,微PE工具箱还可以设置PE个性化图标、壁纸等个性化内容。 + +相较而言Ventoy的功能就比较单纯,它主要就是用来制作系统盘,没有花里胡哨的功能,因此它的体积也比较小,如果想要随身携带的话,Ventoy会更合适。 + +重点来了!经过本人不懈努力,我让Ventoy实现了微PE工具箱的所有功能!所以我们安装openkylin时启动盘制作工具就固定为Ventoy啦!接下来就让我们一起走进Ventoy和openkylin的世界里吧! + 首先下载启动盘制作工具--ventoy。ventoy不同于其他启动盘制作工具,我们无需反复的格式化U盘,只需要把镜像文件拷贝到U盘里面就可以正常启动,并且可以允许多个镜像文件同时存在。ventoy在启动时会显示一个菜单供我们进行选择,十分方便快捷。 ![下载启动盘.png](/开始贡献/assets/系统安装/下载启动盘.png) diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\345\217\202\344\270\216\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/openKylin\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\345\217\202\344\270\216\346\214\207\345\215\227.md" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\345\217\202\344\270\216\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/openKylin\344\270\252\344\272\272\345\274\200\345\217\221\350\200\205\345\217\202\344\270\216\346\214\207\345\215\227.md" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\347\244\276\345\214\272\350\264\241\347\214\256\350\247\222\350\211\262.md" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/openKylin\347\244\276\345\214\272\350\264\241\347\214\256\350\247\222\350\211\262.md" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\347\244\276\345\214\272\350\264\241\347\214\256\350\247\222\350\211\262.md" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/openKylin\347\244\276\345\214\272\350\264\241\347\214\256\350\247\222\350\211\262.md" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\350\264\241\347\214\256\346\224\273\347\225\245.md" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/openKylin\350\264\241\347\214\256\346\224\273\347\225\245.md" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\350\264\241\347\214\256\346\224\273\347\225\245.md" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/openKylin\350\264\241\347\214\256\346\224\273\347\225\245.md" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/\345\256\211\350\243\205\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/\345\256\211\350\243\205\346\214\207\345\215\227.md" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/\345\256\211\350\243\205\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/\345\256\211\350\243\205\346\214\207\345\215\227.md" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/\346\237\245\347\234\213\346\272\220\344\273\243\347\240\201.md" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/\346\237\245\347\234\213\346\272\220\344\273\243\347\240\201.md" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/\346\237\245\347\234\213\346\272\220\344\273\243\347\240\201.md" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/\346\237\245\347\234\213\346\272\220\344\273\243\347\240\201.md" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/\347\277\273\350\257\221\344\273\273\345\212\241\345\220\210\351\233\206.md" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/\347\277\273\350\257\221\344\273\273\345\212\241\345\220\210\351\233\206.md" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/\347\277\273\350\257\221\344\273\273\345\212\241\345\220\210\351\233\206.md" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/\347\277\273\350\257\221\344\273\273\345\212\241\345\220\210\351\233\206.md" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/\351\200\202\351\205\215\344\273\273\345\212\241\345\220\210\351\233\206.md" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/\351\200\202\351\205\215\344\273\273\345\212\241\345\220\210\351\233\206.md" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/\351\200\202\351\205\215\344\273\273\345\212\241\345\220\210\351\233\206.md" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/\351\200\202\351\205\215\344\273\273\345\212\241\345\220\210\351\233\206.md" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/\351\235\236\344\273\243\347\240\201\350\264\241\347\214\256\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/\351\235\236\344\273\243\347\240\201\350\264\241\347\214\256\346\214\207\345\215\227.md" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/\351\235\236\344\273\243\347\240\201\350\264\241\347\214\256\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\217\202\344\270\216\346\214\207\345\215\227/\351\235\236\344\273\243\347\240\201\350\264\241\347\214\256\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/Gitee_CI&CD\344\275\277\347\224\250\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/Gitee_CI&CD\344\275\277\347\224\250\346\214\207\345\215\227.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/Gitee_CI&CD\344\275\277\347\224\250\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/Gitee_CI&CD\344\275\277\347\224\250\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/Gitee\344\275\277\347\224\250\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/Gitee\344\275\277\347\224\250\346\214\207\345\215\227.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/Gitee\344\275\277\347\224\250\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/Gitee\344\275\277\347\224\250\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/OKBS\350\275\257\344\273\266\345\214\205\347\274\226\350\257\221\345\271\263\345\217\260\344\275\277\347\224\250\350\257\264\346\230\216.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/OKBS\350\275\257\344\273\266\345\214\205\347\274\226\350\257\221\345\271\263\345\217\260\344\275\277\347\224\250\350\257\264\346\230\216.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/OKBS\350\275\257\344\273\266\345\214\205\347\274\226\350\257\221\345\271\263\345\217\260\344\275\277\347\224\250\350\257\264\346\230\216.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/OKBS\350\275\257\344\273\266\345\214\205\347\274\226\350\257\221\345\271\263\345\217\260\344\275\277\347\224\250\350\257\264\346\230\216.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/clone\351\241\271\347\233\256.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/clone\351\241\271\347\233\256.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/clone\351\241\271\347\233\256.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/clone\351\241\271\347\233\256.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/fork\351\241\271\347\233\256.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/fork\351\241\271\347\233\256.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/fork\351\241\271\347\233\256.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/fork\351\241\271\347\233\256.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\346\217\220\344\272\244pr.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\346\217\220\344\272\244pr.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\346\217\220\344\272\244pr.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\346\217\220\344\272\244pr.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\346\226\260\345\242\236ssh\345\257\206\351\222\245.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\346\226\260\345\242\236ssh\345\257\206\351\222\245.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\346\226\260\345\242\236ssh\345\257\206\351\222\245.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\346\226\260\345\242\236ssh\345\257\206\351\222\245.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\346\226\260\345\273\272issue.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\346\226\260\345\273\272issue.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\346\226\260\345\273\272issue.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\346\226\260\345\273\272issue.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\346\267\273\345\212\240gpg\345\257\206\351\222\245\344\275\215\347\275\256.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\346\267\273\345\212\240gpg\345\257\206\351\222\245\344\275\215\347\275\256.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\346\267\273\345\212\240gpg\345\257\206\351\222\245\344\275\215\347\275\256.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\346\267\273\345\212\240gpg\345\257\206\351\222\245\344\275\215\347\275\256.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\346\267\273\345\212\240ssh\345\257\206\351\222\245\344\275\215\347\275\256.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\346\267\273\345\212\240ssh\345\257\206\351\222\245\344\275\215\347\275\256.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\346\267\273\345\212\240ssh\345\257\206\351\222\245\344\275\215\347\275\256.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\346\267\273\345\212\240ssh\345\257\206\351\222\245\344\275\215\347\275\256.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\344\270\273\351\241\265.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\344\270\273\351\241\265.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\344\270\273\351\241\265.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\344\270\273\351\241\265.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\345\217\221\351\200\201\351\252\214\350\257\201\351\202\256\344\273\266\345\275\242\345\274\217.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\345\217\221\351\200\201\351\252\214\350\257\201\351\202\256\344\273\266\345\275\242\345\274\217.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\345\217\221\351\200\201\351\252\214\350\257\201\351\202\256\344\273\266\345\275\242\345\274\217.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\345\217\221\351\200\201\351\252\214\350\257\201\351\202\256\344\273\266\345\275\242\345\274\217.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\345\217\226\346\266\210\350\256\242\351\230\205\345\275\242\345\274\217.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\345\217\226\346\266\210\350\256\242\351\230\205\345\275\242\345\274\217.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\345\217\226\346\266\210\350\256\242\351\230\205\345\275\242\345\274\217.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\345\217\226\346\266\210\350\256\242\351\230\205\345\275\242\345\274\217.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\346\254\242\350\277\216\351\202\256\344\273\266\345\275\242\345\274\217.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\346\254\242\350\277\216\351\202\256\344\273\266\345\275\242\345\274\217.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\346\254\242\350\277\216\351\202\256\344\273\266\345\275\242\345\274\217.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\346\254\242\350\277\216\351\202\256\344\273\266\345\275\242\345\274\217.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\350\256\242\351\230\205\351\202\256\344\273\266\345\275\242\345\274\217.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\350\256\242\351\230\205\351\202\256\344\273\266\345\275\242\345\274\217.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\350\256\242\351\230\205\351\202\256\344\273\266\345\275\242\345\274\217.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\350\256\242\351\230\205\351\202\256\344\273\266\345\275\242\345\274\217.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\350\256\242\351\230\205\351\241\265.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\350\256\242\351\230\205\351\241\265.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\350\256\242\351\230\205\351\241\265.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\350\256\242\351\230\205\351\241\265.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\351\200\200\350\256\242\345\217\221\351\200\201\351\202\256\344\273\266\345\275\242\345\274\217.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\351\200\200\350\256\242\345\217\221\351\200\201\351\202\256\344\273\266\345\275\242\345\274\217.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\351\200\200\350\256\242\345\217\221\351\200\201\351\202\256\344\273\266\345\275\242\345\274\217.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\351\200\200\350\256\242\345\217\221\351\200\201\351\202\256\344\273\266\345\275\242\345\274\217.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\351\200\200\350\256\242\351\202\256\344\273\266\345\275\242\345\274\217.png" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\351\200\200\350\256\242\351\202\256\344\273\266\345\275\242\345\274\217.png" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\351\200\200\350\256\242\351\202\256\344\273\266\345\275\242\345\274\217.png" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/img/\351\202\256\344\273\266\345\210\227\350\241\250\351\200\200\350\256\242\351\202\256\344\273\266\345\275\242\345\274\217.png" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215windows\345\272\224\347\224\250\345\210\260\344\274\230\351\272\222\351\272\237\346\225\231\347\250\213.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215windows\345\272\224\347\224\250\345\210\260\344\274\230\351\272\222\351\272\237\346\225\231\347\250\213.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215windows\345\272\224\347\224\250\345\210\260\344\274\230\351\272\222\351\272\237\346\225\231\347\250\213.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215windows\345\272\224\347\224\250\345\210\260\344\274\230\351\272\222\351\272\237\346\225\231\347\250\213.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215windows\345\272\224\347\224\250\345\210\260\345\205\261\345\210\233\351\272\222\351\272\237\346\225\231\347\250\213.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215windows\345\272\224\347\224\250\345\210\260\345\205\261\345\210\233\351\272\222\351\272\237\346\225\231\347\250\213.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215windows\345\272\224\347\224\250\345\210\260\345\205\261\345\210\233\351\272\222\351\272\237\346\225\231\347\250\213.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215windows\345\272\224\347\224\250\345\210\260\345\205\261\345\210\233\351\272\222\351\272\237\346\225\231\347\250\213.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\344\274\230\351\272\222\351\272\237\345\272\224\347\224\250\345\210\260\345\205\266\344\273\226Linux\345\217\221\350\241\214\347\211\210\346\225\231\347\250\213.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\344\274\230\351\272\222\351\272\237\345\272\224\347\224\250\345\210\260\345\205\266\344\273\226Linux\345\217\221\350\241\214\347\211\210\346\225\231\347\250\213.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\344\274\230\351\272\222\351\272\237\345\272\224\347\224\250\345\210\260\345\205\266\344\273\226Linux\345\217\221\350\241\214\347\211\210\346\225\231\347\250\213.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\344\274\230\351\272\222\351\272\237\345\272\224\347\224\250\345\210\260\345\205\266\344\273\226Linux\345\217\221\350\241\214\347\211\210\346\225\231\347\250\213.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\345\205\261\345\210\233\351\272\222\351\272\237\345\272\224\347\224\250\345\210\260\345\205\266\344\273\226Linux\345\217\221\350\241\214\347\211\210\346\225\231\347\250\213.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\345\205\261\345\210\233\351\272\222\351\272\237\345\272\224\347\224\250\345\210\260\345\205\266\344\273\226Linux\345\217\221\350\241\214\347\211\210\346\225\231\347\250\213.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\345\205\261\345\210\233\351\272\222\351\272\237\345\272\224\347\224\250\345\210\260\345\205\266\344\273\226Linux\345\217\221\350\241\214\347\211\210\346\225\231\347\250\213.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\345\205\261\345\210\233\351\272\222\351\272\237\345\272\224\347\224\250\345\210\260\345\205\266\344\273\226Linux\345\217\221\350\241\214\347\211\210\346\225\231\347\250\213.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\347\247\273\345\212\250\345\272\224\347\224\250\345\210\260\344\274\230\351\272\222\351\272\237\346\225\231\347\250\213.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\347\247\273\345\212\250\345\272\224\347\224\250\345\210\260\344\274\230\351\272\222\351\272\237\346\225\231\347\250\213.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\347\247\273\345\212\250\345\272\224\347\224\250\345\210\260\344\274\230\351\272\222\351\272\237\346\225\231\347\250\213.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\347\247\273\345\212\250\345\272\224\347\224\250\345\210\260\344\274\230\351\272\222\351\272\237\346\225\231\347\250\213.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\347\247\273\345\212\250\345\272\224\347\224\250\345\210\260\345\205\261\345\210\233\351\272\222\351\272\237\346\225\231\347\250\213.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\347\247\273\345\212\250\345\272\224\347\224\250\345\210\260\345\205\261\345\210\233\351\272\222\351\272\237\346\225\231\347\250\213.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\347\247\273\345\212\250\345\272\224\347\224\250\345\210\260\345\205\261\345\210\233\351\272\222\351\272\237\346\225\231\347\250\213.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227/\344\274\230\351\272\222\351\272\237/\347\247\273\346\244\215\347\247\273\345\212\250\345\272\224\347\224\250\345\210\260\345\205\261\345\210\233\351\272\222\351\272\237\346\225\231\347\250\213.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\345\244\232\350\257\255\350\250\200\346\234\254\345\234\260\345\214\226\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\345\244\232\350\257\255\350\250\200\346\234\254\345\234\260\345\214\226\346\214\207\345\215\227.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\345\244\232\350\257\255\350\250\200\346\234\254\345\234\260\345\214\226\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\345\244\232\350\257\255\350\250\200\346\234\254\345\234\260\345\214\226\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\346\216\250\350\215\220\345\274\200\345\217\221\350\200\205\345\267\245\345\205\267.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\346\216\250\350\215\220\345\274\200\345\217\221\350\200\205\345\267\245\345\205\267.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\346\216\250\350\215\220\345\274\200\345\217\221\350\200\205\345\267\245\345\205\267.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\346\216\250\350\215\220\345\274\200\345\217\221\350\200\205\345\267\245\345\205\267.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\346\217\222\344\273\266\347\274\226\345\206\231\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\346\217\222\344\273\266\347\274\226\345\206\231\346\214\207\345\215\227.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\346\217\222\344\273\266\347\274\226\345\206\231\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\346\217\222\344\273\266\347\274\226\345\206\231\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\244\276\345\214\272\351\241\271\347\233\256\345\234\260\345\233\276.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\244\276\345\214\272\351\241\271\347\233\256\345\234\260\345\233\276.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\244\276\345\214\272\351\241\271\347\233\256\345\234\260\345\233\276.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\244\276\345\214\272\351\241\271\347\233\256\345\234\260\345\233\276.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\255\276\345\220\215\350\256\244\350\257\201\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\255\276\345\220\215\350\256\244\350\257\201\346\214\207\345\215\227.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\255\276\345\220\215\350\256\244\350\257\201\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\255\276\345\220\215\350\256\244\350\257\201\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\274\226\347\240\201\351\243\216\346\240\274.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\274\226\347\240\201\351\243\216\346\240\274.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\274\226\347\240\201\351\243\216\346\240\274.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\274\226\347\240\201\351\243\216\346\240\274.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\274\226\350\257\221\344\270\216\346\236\204\345\273\272\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\274\226\350\257\221\344\270\216\346\236\204\345\273\272\346\214\207\345\215\227.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\274\226\350\257\221\344\270\216\346\236\204\345\273\272\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\347\274\226\350\257\221\344\270\216\346\236\204\345\273\272\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\260\203\350\257\225\344\270\216\350\277\275\350\270\252\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\260\203\350\257\225\344\270\216\350\277\275\350\270\252\346\214\207\345\215\227.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\260\203\350\257\225\344\270\216\350\277\275\350\270\252\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\260\203\350\257\225\344\270\216\350\277\275\350\270\252\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\275\257\344\273\266\345\214\205\347\273\264\346\212\244\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\275\257\344\273\266\345\214\205\347\273\264\346\212\244\346\214\207\345\215\227.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\275\257\344\273\266\345\214\205\347\273\264\346\212\244\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\275\257\344\273\266\345\214\205\347\273\264\346\212\244\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\275\257\344\273\266\345\215\217\350\256\256\350\247\204\350\214\203.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\275\257\344\273\266\345\215\217\350\256\256\350\247\204\350\214\203.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\275\257\344\273\266\345\215\217\350\256\256\350\247\204\350\214\203.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\345\274\200\345\217\221\350\200\205\345\274\200\345\217\221\346\214\207\345\215\227/\350\275\257\344\273\266\345\215\217\350\256\256\350\247\204\350\214\203.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\346\226\207\346\241\243\345\271\263\345\217\260\344\275\277\347\224\250\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\346\226\207\346\241\243\345\271\263\345\217\260\344\275\277\347\224\250\346\214\207\345\215\227.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\346\226\207\346\241\243\345\271\263\345\217\260\344\275\277\347\224\250\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\346\226\207\346\241\243\345\271\263\345\217\260\344\275\277\347\224\250\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\345\217\221\350\241\214\350\257\264\346\230\216.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\345\217\221\350\241\214\350\257\264\346\230\216.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\345\217\221\350\241\214\350\257\264\346\230\216.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\345\217\221\350\241\214\350\257\264\346\230\216.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\347\263\273\347\273\237\347\256\241\347\220\206.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\347\263\273\347\273\237\347\256\241\347\220\206.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\347\263\273\347\273\237\347\256\241\347\220\206.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\347\263\273\347\273\237\347\256\241\347\220\206.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\347\275\221\347\273\234\350\256\276\347\275\256.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\347\275\221\347\273\234\350\256\276\347\275\256.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\347\275\221\347\273\234\350\256\276\347\275\256.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\347\224\250\346\210\267\344\275\277\347\224\250\346\214\207\345\215\227/\347\275\221\347\273\234\350\256\276\347\275\256.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\347\277\273\350\257\221\345\271\263\345\217\260\344\275\277\347\224\250\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\347\277\273\350\257\221\345\271\263\345\217\260\344\275\277\347\224\250\346\214\207\345\215\227.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\347\277\273\350\257\221\345\271\263\345\217\260\344\275\277\347\224\250\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\347\277\273\350\257\221\345\271\263\345\217\260\344\275\277\347\224\250\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\351\202\256\344\273\266\345\210\227\350\241\250\344\275\277\347\224\250\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\351\202\256\344\273\266\345\210\227\350\241\250\344\275\277\347\224\250\346\214\207\345\215\227.md" similarity index 100% rename from "\347\244\276\345\214\272\344\275\277\347\224\250\346\214\207\345\215\227/\351\202\256\344\273\266\345\210\227\350\241\250\344\275\277\347\224\250\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\271\263\345\217\260\346\214\207\345\215\227/\351\202\256\344\273\266\345\210\227\350\241\250\344\275\277\347\224\250\346\214\207\345\215\227.md" diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/arm\344\270\212\345\256\211\350\243\205openKylin.md" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/arm\344\270\212\345\256\211\350\243\205openKylin.md" new file mode 100644 index 0000000000000000000000000000000000000000..0084077db6beace61b9f69fd47426284323500bf --- /dev/null +++ "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/arm\344\270\212\345\256\211\350\243\205openKylin.md" @@ -0,0 +1,134 @@ +--- +title: 在ARM上安装openKylin +description: +published: true +date: 2023-01-12T02:42:26.148Z +tags: +editor: markdown +dateCreated: 2023-01-12T02:36:15.135Z +--- + +# 一、在 coolpi 上安装openKylin + +## 一.镜像下载 + +通过以下链接下载: + +https://www.openkylin.top/downloads + +下载后直接右键解压得到.img文件 + + + +## 二.镜像烧录 + +烧录程序安装:https://www.raspberrypi.com/software/ + +![arm64烧录程序安装地址.png](./assets/arm64系统安装/arm64烧录程序安装地址.png) + + +插入SD卡,打开rpi-imager,选择自定义镜像,然后选择安装好的.img镜像文件 + +![arm64烧录程序镜像选择.png](./assets/arm64系统安装/arm64烧录程序镜像选择.png) + + +选择SD卡,点击WRITE,等待制作完成 + +![arm64烧录程序SD卡选择.png](./assets/arm64系统安装/arm64烧录程序SD卡选择.png) + + + +## 三.coolpi openkylin启动 + +接好coolpi开发板的电源线、显示器线,连接好键盘鼠标,插好SD卡 + +![arm64coolpi接线方式.png](./assets/arm64系统安装/arm64coolpi接线方式.png) +coolpi启动时,可能存在一直黑屏的状态,或突然进入一个有问题的kylin操作系统(这是由于coolpi板子加载SD卡出错导致),插拔电源线重新启动即可 + + +进入到登录界面,然后输入用户名密码,即可登录到桌面(登录密码:kk123123) + +![arm64登录界面.png](./assets/arm64系统安装/arm64登录界面.png) +![arm64桌面.png](./assets/arm64系统安装/arm64桌面.png) + + + +## 四.其他事项 +### 1.系统卡顿 + +该问题由窗管占用cpu率较高导致,进入桌面后,到控制面板关闭特效模式,可以使得卡顿能够有效缓解 + +![arm64控制面板特效关闭.png](./assets/arm64系统安装/arm64控制面板特效关闭.png) + + +### 2.蓝牙服务未启动 + +该问题是由于蓝牙自启错误导致,win+t打开终端,输入sudo systemctl start bluetooth重新打开蓝牙服务即可在控制面板上看到蓝牙模块 + +![arm64蓝牙服务开启.png](./assets/arm64系统安装/arm64蓝牙服务开启.png) + + +### 3.关闭显示器或休眠后唤醒黑屏 + +建议用户在控制面板的电源里设置从不关闭显示器与电源,可避免该问题 + +![arm64电源取消休眠与关闭显示器.png](./assets/arm64系统安装/arm64电源取消休眠与关闭显示器.png) + +# 二、在树莓派上安装openKylin + +## 一.镜像下载 + +通过以下链接下载: + +https://www.openkylin.top/downloads + +下载后直接右键解压得到.img文件 + + +## 二.镜像烧录 + +烧录程序安装:https://www.raspberrypi.com/software/ + +![arm64烧录程序安装地址.png](./assets/arm64系统安装/arm64烧录程序安装地址.png) + + +插入SD卡,打开rpi-imager,选择自定义镜像,然后选择安装好的.img镜像文件 + +![arm64烧录程序镜像选择.png](./assets/arm64系统安装/arm64烧录程序镜像选择.png) + + +选择SD卡,点击WRITE,等待制作完成 + +![arm64烧录程序SD卡选择.png](./assets/arm64系统安装/arm64烧录程序SD卡选择.png) + + + +## 三.树莓派openkylin启动 + +接好树莓派的电源线、显示器线,连接好键盘鼠标,插好SD卡 + +![arm64树莓派接线方式.png](./assets/arm64系统安装/arm64树莓派接线方式.png) +树莓派启动时,可能存在一直黑屏的状态,插拔电源线重新启动即可 + + +进入到登录界面,在右下角选择ukui-Wayland的方式,然后输入用户名密码,即可登录到桌面(登录密码:kk123123)(由于该镜像缺少x11相关包,因此无法使用kwin-x11进入桌面) + +![arm64选择wayland方式登录.png](./assets/arm64系统安装/arm64选择wayland方式登录.png) +![arm64登录界面.png](./assets/arm64系统安装/arm64登录界面.png) +![arm64桌面.png](./assets/arm64系统安装/arm64桌面.png) + + + +## 四.其他事项 +### 1.系统卡顿 + +该问题由窗管占用cpu率较高导致,进入桌面后,到控制面板关闭特效模式,可以使得卡顿能够有效缓解 + +![arm64控制面板特效关闭.png](./assets/arm64系统安装/arm64控制面板特效关闭.png) + + +### 2.关闭显示器或休眠后唤醒黑屏 + +建议用户在控制面板的电源里设置从不关闭显示器与电源,可避免该问题 + +![arm64电源取消休眠与关闭显示器.png](./assets/arm64系统安装/arm64电源取消休眠与关闭显示器.png) \ No newline at end of file diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/.keep" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/.keep" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/.keep" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/.keep" diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64coolpi\346\216\245\347\272\277\346\226\271\345\274\217.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64coolpi\346\216\245\347\272\277\346\226\271\345\274\217.png" new file mode 100644 index 0000000000000000000000000000000000000000..82771a038e8ee1b191951394b90296fcb0da8ad8 Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64coolpi\346\216\245\347\272\277\346\226\271\345\274\217.png" differ diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\346\216\247\345\210\266\351\235\242\346\235\277\347\211\271\346\225\210\345\205\263\351\227\255.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\346\216\247\345\210\266\351\235\242\346\235\277\347\211\271\346\225\210\345\205\263\351\227\255.png" new file mode 100644 index 0000000000000000000000000000000000000000..e5cdb306d18dad4fbd735b29193a85f851325a56 Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\346\216\247\345\210\266\351\235\242\346\235\277\347\211\271\346\225\210\345\205\263\351\227\255.png" differ diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\346\240\221\350\216\223\346\264\276\346\216\245\347\272\277\346\226\271\345\274\217.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\346\240\221\350\216\223\346\264\276\346\216\245\347\272\277\346\226\271\345\274\217.png" new file mode 100644 index 0000000000000000000000000000000000000000..dcda494a1244f70c914a5528f3192b3d9ec88158 Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\346\240\221\350\216\223\346\264\276\346\216\245\347\272\277\346\226\271\345\274\217.png" differ diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\346\241\214\351\235\242.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\346\241\214\351\235\242.png" new file mode 100644 index 0000000000000000000000000000000000000000..68abbbcf89731ffd552c47351c37f1953fd0c646 Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\346\241\214\351\235\242.png" differ diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\203\247\345\275\225\347\250\213\345\272\217SD\345\215\241\351\200\211\346\213\251.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\203\247\345\275\225\347\250\213\345\272\217SD\345\215\241\351\200\211\346\213\251.png" new file mode 100644 index 0000000000000000000000000000000000000000..c95e0b0f8630343d28f00cd22156561b523320d7 Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\203\247\345\275\225\347\250\213\345\272\217SD\345\215\241\351\200\211\346\213\251.png" differ diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\203\247\345\275\225\347\250\213\345\272\217\345\256\211\350\243\205\345\234\260\345\235\200.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\203\247\345\275\225\347\250\213\345\272\217\345\256\211\350\243\205\345\234\260\345\235\200.png" new file mode 100644 index 0000000000000000000000000000000000000000..389d2051b5fc92bc1e71fb08ff28d46a10a4e100 Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\203\247\345\275\225\347\250\213\345\272\217\345\256\211\350\243\205\345\234\260\345\235\200.png" differ diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\203\247\345\275\225\347\250\213\345\272\217\351\225\234\345\203\217\351\200\211\346\213\251.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\203\247\345\275\225\347\250\213\345\272\217\351\225\234\345\203\217\351\200\211\346\213\251.png" new file mode 100644 index 0000000000000000000000000000000000000000..eb7e855e8f6c72bf5394072bd9704f1e156c2c08 Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\203\247\345\275\225\347\250\213\345\272\217\351\225\234\345\203\217\351\200\211\346\213\251.png" differ diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\224\265\346\272\220\345\217\226\346\266\210\344\274\221\347\234\240\344\270\216\345\205\263\351\227\255\346\230\276\347\244\272\345\231\250.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\224\265\346\272\220\345\217\226\346\266\210\344\274\221\347\234\240\344\270\216\345\205\263\351\227\255\346\230\276\347\244\272\345\231\250.png" new file mode 100644 index 0000000000000000000000000000000000000000..bb27e38ded0e0c45e3a159f95bb158d4d89728f7 Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\224\265\346\272\220\345\217\226\346\266\210\344\274\221\347\234\240\344\270\216\345\205\263\351\227\255\346\230\276\347\244\272\345\231\250.png" differ diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\231\273\345\275\225\347\225\214\351\235\242.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\231\273\345\275\225\347\225\214\351\235\242.png" new file mode 100644 index 0000000000000000000000000000000000000000..7c5d1994b7de8cffc1b50e3c7db63c71e46291e9 Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\347\231\273\345\275\225\347\225\214\351\235\242.png" differ diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\350\223\235\347\211\231\346\234\215\345\212\241\345\274\200\345\220\257.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\350\223\235\347\211\231\346\234\215\345\212\241\345\274\200\345\220\257.png" new file mode 100644 index 0000000000000000000000000000000000000000..b632cf58a5e38252f318a4716f807fff2fc11b9d Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\350\223\235\347\211\231\346\234\215\345\212\241\345\274\200\345\220\257.png" differ diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\351\200\211\346\213\251wayland\346\226\271\345\274\217\347\231\273\345\275\225.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\351\200\211\346\213\251wayland\346\226\271\345\274\217\347\231\273\345\275\225.png" new file mode 100644 index 0000000000000000000000000000000000000000..3019eedd1744d8c4f4943f1b28f9d236502ab750 Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/arm64\347\263\273\347\273\237\345\256\211\350\243\205/arm64\351\200\211\346\213\251wayland\346\226\271\345\274\217\347\231\273\345\275\225.png" differ diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/0.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/0.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/0.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/0.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/1.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/1.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/1.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/1.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/10.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/10.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/10.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/10.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/100.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/100.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/100.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/100.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/101.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/101.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/101.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/101.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/102.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/102.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/102.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/102.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/103.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/103.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/103.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/103.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/104.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/104.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/104.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/104.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/105.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/105.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/105.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/105.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/106.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/106.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/106.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/106.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/107.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/107.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/107.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/107.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/108.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/108.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/108.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/108.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/109.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/109.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/109.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/109.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/11.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/11.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/11.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/11.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/110.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/110.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/110.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/110.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/111.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/111.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/111.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/111.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/112.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/112.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/112.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/112.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/113.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/113.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/113.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/113.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/114.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/114.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/114.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/114.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/115.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/115.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/115.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/115.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/116.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/116.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/116.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/116.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/117.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/117.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/117.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/117.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/118.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/118.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/118.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/118.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/119.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/119.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/119.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/119.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/12.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/12.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/12.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/12.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/120.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/120.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/120.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/120.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/121.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/121.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/121.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/121.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/122.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/122.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/122.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/122.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/123.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/123.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/123.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/123.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/124.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/124.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/124.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/124.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/125.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/125.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/125.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/125.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/126.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/126.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/126.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/126.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/127.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/127.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/127.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/127.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/128.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/128.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/128.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/128.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/129.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/129.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/129.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/129.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/13.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/13.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/13.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/13.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/130.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/130.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/130.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/130.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/131.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/131.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/131.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/131.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/132.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/132.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/132.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/132.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/133.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/133.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/133.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/133.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/134.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/134.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/134.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/134.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/135.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/135.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/135.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/135.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/136.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/136.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/136.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/136.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/14.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/14.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/14.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/14.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/15.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/15.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/15.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/15.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/16.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/16.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/16.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/16.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/17.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/17.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/17.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/17.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/18.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/18.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/18.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/18.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/19.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/19.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/19.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/19.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/2.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/2.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/2.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/2.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/20.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/20.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/20.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/20.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/21.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/21.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/21.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/21.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/22.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/22.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/22.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/22.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/23.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/23.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/23.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/23.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/24.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/24.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/24.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/24.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/25.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/25.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/25.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/25.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/26.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/26.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/26.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/26.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/27.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/27.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/27.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/27.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/28.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/28.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/28.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/28.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/29.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/29.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/29.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/29.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/3.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/3.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/3.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/3.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/30.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/30.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/30.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/30.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/31.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/31.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/31.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/31.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/32.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/32.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/32.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/32.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/33.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/33.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/33.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/33.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/34.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/34.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/34.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/34.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/35.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/35.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/35.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/35.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/36.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/36.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/36.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/36.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/37.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/37.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/37.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/37.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/38.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/38.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/38.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/38.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/39.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/39.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/39.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/39.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/4.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/4.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/4.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/4.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/40.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/40.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/40.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/40.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/41.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/41.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/41.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/41.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/42.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/42.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/42.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/42.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/43.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/43.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/43.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/43.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/44.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/44.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/44.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/44.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/45.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/45.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/45.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/45.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/46.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/46.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/46.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/46.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/47.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/47.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/47.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/47.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/48.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/48.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/48.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/48.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/49.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/49.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/49.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/49.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/5.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/5.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/5.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/5.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/50.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/50.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/50.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/50.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/51.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/51.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/51.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/51.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/52.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/52.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/52.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/52.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/53.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/53.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/53.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/53.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/54.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/54.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/54.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/54.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/55.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/55.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/55.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/55.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/56.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/56.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/56.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/56.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/57.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/57.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/57.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/57.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/58.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/58.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/58.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/58.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/59.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/59.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/59.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/59.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/6.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/6.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/6.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/6.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/60.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/60.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/60.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/60.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/61.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/61.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/61.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/61.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/62.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/62.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/62.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/62.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/63.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/63.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/63.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/63.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/64.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/64.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/64.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/64.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/65.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/65.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/65.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/65.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/66.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/66.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/66.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/66.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/67.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/67.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/67.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/67.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/68.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/68.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/68.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/68.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/69.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/69.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/69.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/69.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/7.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/7.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/7.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/7.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/70.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/70.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/70.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/70.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/71.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/71.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/71.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/71.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/72.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/72.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/72.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/72.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/73.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/73.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/73.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/73.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/74.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/74.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/74.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/74.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/75.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/75.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/75.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/75.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/76.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/76.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/76.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/76.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/77.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/77.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/77.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/77.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/78.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/78.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/78.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/78.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/79.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/79.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/79.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/79.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/8.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/8.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/8.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/8.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/80.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/80.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/80.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/80.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/81.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/81.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/81.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/81.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/82.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/82.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/82.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/82.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/83.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/83.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/83.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/83.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/84.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/84.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/84.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/84.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/85.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/85.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/85.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/85.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/86.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/86.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/86.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/86.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/87.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/87.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/87.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/87.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/88.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/88.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/88.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/88.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/89.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/89.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/89.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/89.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/9.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/9.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/9.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/9.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/90.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/90.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/90.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/90.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/91.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/91.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/91.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/91.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/92.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/92.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/92.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/92.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/93.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/93.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/93.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/93.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/94.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/94.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/94.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/94.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/95.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/95.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/95.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/95.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/96.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/96.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/96.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/96.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/97.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/97.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/97.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/97.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/98.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/98.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/98.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/98.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/99.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/99.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/99.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/99.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image1.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image1.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image1.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image1.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image10.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image10.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image10.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image10.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image11.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image11.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image11.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image11.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image12.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image12.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image12.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image12.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image13.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image13.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image13.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image13.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image14.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image14.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image14.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image14.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image15.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image15.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image15.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image15.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image16.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image16.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image16.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image16.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image17.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image17.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image17.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image17.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image18.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image18.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image18.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image18.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image19.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image19.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image19.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image19.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image2.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image2.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image2.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image2.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image20.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image20.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image20.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image20.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image21.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image21.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image21.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image21.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image22.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image22.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image22.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image22.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image23.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image23.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image23.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image23.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image24.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image24.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image24.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image24.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image25.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image25.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image25.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image25.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image26.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image26.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image26.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image26.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image27.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image27.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image27.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image27.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image28.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image28.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image28.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image28.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image29.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image29.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image29.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image29.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image3.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image3.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image3.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image3.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image30.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image30.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image30.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image30.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image31.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image31.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image31.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image31.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image32.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image32.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image32.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image32.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image33.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image33.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image33.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image33.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image34.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image34.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image34.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image34.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image35.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image35.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image35.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image35.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image36.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image36.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image36.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image36.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image37.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image37.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image37.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image37.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image38.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image38.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image38.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image38.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image39.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image39.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image39.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image39.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image4.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image4.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image4.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image4.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image40.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image40.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image40.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image40.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image5.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image5.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image5.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image5.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image6.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image6.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image6.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image6.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image7.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image7.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image7.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image7.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image8.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image8.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image8.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image8.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image9.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image9.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image9.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0/image9.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/native\346\240\274\345\274\217\346\272\220\347\240\201\345\214\205\350\275\254\345\214\226\346\210\220quilt\346\240\274\345\274\217-\346\265\201\347\250\213\345\233\276.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/native\346\240\274\345\274\217\346\272\220\347\240\201\345\214\205\350\275\254\345\214\226\346\210\220quilt\346\240\274\345\274\217-\346\265\201\347\250\213\345\233\276.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/native\346\240\274\345\274\217\346\272\220\347\240\201\345\214\205\350\275\254\345\214\226\346\210\220quilt\346\240\274\345\274\217-\346\265\201\347\250\213\345\233\276.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/native\346\240\274\345\274\217\346\272\220\347\240\201\345\214\205\350\275\254\345\214\226\346\210\220quilt\346\240\274\345\274\217-\346\265\201\347\250\213\345\233\276.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\345\210\233\345\273\272\346\226\260\344\272\247\347\272\277\347\232\204\345\210\206\346\224\257\347\244\272\344\276\2131.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\345\210\233\345\273\272\346\226\260\344\272\247\347\272\277\347\232\204\345\210\206\346\224\257\347\244\272\344\276\2131.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\345\210\233\345\273\272\346\226\260\344\272\247\347\272\277\347\232\204\345\210\206\346\224\257\347\244\272\344\276\2131.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\345\210\233\345\273\272\346\226\260\344\272\247\347\272\277\347\232\204\345\210\206\346\224\257\347\244\272\344\276\2131.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\345\210\233\345\273\272\346\226\260\344\272\247\347\272\277\347\232\204\345\210\206\346\224\257\347\244\272\344\276\2132.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\345\210\233\345\273\272\346\226\260\344\272\247\347\272\277\347\232\204\345\210\206\346\224\257\347\244\272\344\276\2132.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\345\210\233\345\273\272\346\226\260\344\272\247\347\272\277\347\232\204\345\210\206\346\224\257\347\244\272\344\276\2132.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\345\210\233\345\273\272\346\226\260\344\272\247\347\272\277\347\232\204\345\210\206\346\224\257\347\244\272\344\276\2132.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\346\272\220\347\240\201\345\214\205\345\257\274\345\205\245\346\265\201\347\250\213\345\233\276.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\346\272\220\347\240\201\345\214\205\345\257\274\345\205\245\346\265\201\347\250\213\345\233\276.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\346\272\220\347\240\201\345\214\205\345\257\274\345\205\245\346\265\201\347\250\213\345\233\276.png" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201/\346\272\220\347\240\201\345\214\205\345\257\274\345\205\245\346\265\201\347\250\213\345\233\276.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/.keep" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/.keep" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/.keep" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/.keep" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/debian\347\244\276\345\214\272\347\232\204\350\275\257\344\273\266\345\214\205\350\277\275\350\270\252\345\271\263\345\217\260\347\244\272\344\276\213.PNG" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/debian\347\244\276\345\214\272\347\232\204\350\275\257\344\273\266\345\214\205\350\277\275\350\270\252\345\271\263\345\217\260\347\244\272\344\276\213.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/debian\347\244\276\345\214\272\347\232\204\350\275\257\344\273\266\345\214\205\350\277\275\350\270\252\345\271\263\345\217\260\347\244\272\344\276\213.PNG" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/debian\347\244\276\345\214\272\347\232\204\350\275\257\344\273\266\345\214\205\350\277\275\350\270\252\345\271\263\345\217\260\347\244\272\344\276\213.png" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/\350\275\257\344\273\266\351\241\271\347\233\256\351\200\211\345\236\213\347\255\226\347\225\245.PNG" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/\350\275\257\344\273\266\351\241\271\347\233\256\351\200\211\345\236\213\347\255\226\347\225\245.png" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/\350\275\257\344\273\266\351\241\271\347\233\256\351\200\211\345\236\213\347\255\226\347\225\245.PNG" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213/\350\275\257\344\273\266\351\241\271\347\233\256\351\200\211\345\236\213\347\255\226\347\225\245.png" diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\347\263\273\347\273\237\350\276\223\345\205\245\346\263\225\351\200\202\351\205\215\346\214\207\345\215\227/inputmethod.png" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\347\263\273\347\273\237\350\276\223\345\205\245\346\263\225\351\200\202\351\205\215\346\214\207\345\215\227/inputmethod.png" new file mode 100755 index 0000000000000000000000000000000000000000..a54c2560be6041052efb15a1bdb45a1e5298a3e6 Binary files /dev/null and "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/assets/openKylin\347\263\273\347\273\237\350\276\223\345\205\245\346\263\225\351\200\202\351\205\215\346\214\207\345\215\227/inputmethod.png" differ diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin+SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0.md" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin+SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0.md" similarity index 61% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/openKylin+SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0.md" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin+SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0.md" index 261add419ad56869dd7f31436a48d7bdc9a732f3..74698d88dd11dc47bb66f3c3fa0b5ae10bb7165c 100644 --- "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin+SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0.md" +++ "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin+SDK\345\274\200\345\217\221\346\214\207\345\215\227V2.0.md" @@ -90,11 +90,11 @@ openSDK SIG ``` -deb http://archive.build.openKylin.top/openKylin/ yangtze main cross pty +deb http://archive.build.openKylin.top/openkylin/ yangtze main cross pty -deb http://archive.build.openKylin.top/openKylin/ yangtze-security main cross pty +deb http://archive.build.openKylin.top/openkylin/ yangtze-security main cross pty -deb http://archive.build.openKylin.top/openKylin/ yangtze-updates main cross pty +deb http://archive.build.openKylin.top/openkylin/ yangtze-updates main cross pty ``` @@ -142,12 +142,7 @@ $ sudo apt-get install libdbus-1-dev libdbus-glib-1-dev libkysdk-systime libkysd 系统时间修改报时 -| 子模块 | 编程语言 | 声明 | 描述 | -| ------ | ------ | ------ | ------ | -| 系统时间报时 | C | void TimeChangeSignal(const char* t) | 当系统时间被修改时,com.kylin.kysdk.TimeServerDbus 服务会发出报时信号| -| | | 参数说明 | 返回值说明 | -| | | t:当前时间 如:"2021/09/26 21:13:28" | 无 | - +
子模块编程语言声明描述
系统时间报时CVoid TimeChangeSignal(const char* t)当系统时间被修改时,com.kylin.kysdk.TimeServerDbus服务会发出报时信号
参数说明返回值说明
t:当前时间 如: "2021/09/26 21:13:28"
@@ -155,25 +150,22 @@ $ sudo apt-get install libdbus-1-dev libdbus-glib-1-dev libkysdk-systime libkysd 系统时间整分报时 -| 子模块 | 编程语言 | 声明 | 描述 | -| ------ | ------ | ------ | ------ | -| 系统时间报时 | C | void TimeSignal(const char\* t) | 当系统时间在整分时,com.kylin.kysdk.TimeServerDbus 服务会发出报时信号| -| | | 参数说明 | 返回值说明 | | -| | | t:当前时间 如:"2021/09/26 21:07:00\" | 无 | - +
子模块编程语言声明描述
系统时间报时Cvoid TimeSignal(const char* t)当系统时间在整分时,com.kylin.kysdk.TimeServerDbus服务会发出报时信号
参数说明返回值说明
t:当前时间 如: "2021/09/26 21:07:00"
### **3.1.2** 获取硬件信息 +``` -$ sudo apt-get install libkysdk-hardware libkysdk-hardware-dev | - +$ sudo apt-get install libkysdk-hardware libkysdk-hardware-dev +``` #### **3.1.2.1** 获取 CPU 信息 封装 C 接口获取 CPU 信息 (1)CMakeLists.txt 构建项目 + ``` aux_source_directory(. SOURCESCODE) @@ -186,19 +178,17 @@ $ sudo apt-get install libkysdk-hardware libkysdk-hardware-dev | target_link_libraries(kyhw kylog kyconf pthread systemd udev) target_link_libraries(kycpu-test kyhw) + ``` (2)获取硬件 CPU 信息,需要添加头文件: - - \#include \"kysdk/kysdk-system/libkycpu.h\" +``` +#include "kysdk/kysdk-system/libkycpu.h" +``` 获取 CPU 架构 -| 子模块 | 编程语言 | 声明 | 描述 | -|---------|------|---------------------------------------|---------------------------------------------------| -| 获取CPU信息 | C | extern const char* kdk_cpu_get_arch() | 获取CPU架构 | -| | | 参数说明 | 返回值说明 | | -| | | 无 | const char* 架构信息,如"x86_64";返回的是const char*,不要free | +
子模块编程语言声明描述
获取CPU信息Cextern const char* kdk_cpu_get_arch()获取CPU架构
参数说明返回值说明
const char* 架构信息,如"x86_64";返回的是const char*,不要free
@@ -265,6 +255,7 @@ $ sudo apt-get install libkysdk-hardware libkysdk-hardware-dev | 封装 C 接口获取到网卡硬件信息。 (1)CMakeLists.txt 构建项目 + ``` aux_source_directory(. SOURCESCODE) @@ -277,11 +268,13 @@ $ sudo apt-get install libkysdk-hardware libkysdk-hardware-dev | target_link_libraries(kyhw kylog kyconf pthread systemd udev) target_link_libraries(kync-test kyhw) + ``` (2)获取网卡信息,需要添加头文件: - \#include \"kysdk/kysdk-system/libkync.h\" - +``` + #include "kysdk/kysdk-system/libkync.h" +``` 获取系统中所有的网卡 @@ -372,21 +365,14 @@ $ sudo apt-get install libkysdk-hardware libkysdk-hardware-dev | |--------|------|------------------------------------------------|----------------| | 获取网卡信息 | C | extern int kdk_nc_is_wireless(const char *nc); | 获取指定网卡的有线/无线类型 | | | | 参数说明 | 返回值说明 | | -| | | nc:网卡名称,如eno1 | 0 : 有线 | -| 1 : 无线 | +| | | nc:网卡名称,如eno1 | 0 : 有线
1 : 无线 | + 获取指定网卡的厂商名称和设备型号 -| 子模块 | 编程语言 | 声明 | 描述 | -|--------------------|--------|----------------------------------------------------------------------------------------|------------------| -| 获取网卡信息 | C | extern int kdk_nc_get_vendor_and_product(const char *nc, char *vendor, char *product); | 获取指定网卡的厂商名称和设备型号 | -| | | 参数说明 | 返回值说明 | | -| | | nc:网卡名称,如eno1 | -| vendor:接受厂商名称的缓冲区 | -| product:接受设备型号的缓冲区 | 0 : 成功 | -| 1 : 失败 | +
子模块编程语言声明描述
获取网卡信息Cextern int kdk_nc_get_vendor_and_product(const char *nc, char *vendor, char *product);获取指定网卡的厂商名称和设备型号
参数说明返回值说明
nc:网卡名称,如eno1vendor:接受厂商名称的缓冲区product:接受设备型号的缓冲区0 : 成功1 : 失败
回收字符串列表 @@ -404,30 +390,21 @@ $ sudo apt-get install libkysdk-hardware libkysdk-hardware-dev | 封装 C 接口获取到网卡硬件信息。 (1)CMakeLists.txt 构建项目 - +``` aux_source_directory(. SOURCESCODE) - - add_library(kydiskinfo SHARED \${SOURCESCODE}) - - set_target_properties(kydiskinfo PROPERTIES VERSION 1.2.0 SOVERSION 1) - - add_executable(test-getdiskinfo test/getdiskinfo.c) - - add_executable(test-getdisklist test/getdisklist.c) - - find_library(UDEV_LIB udev) - - target_link_libraries(kydiskinfo blkid kylog pthread systemd kyconf - \${UDEV_LIB}) - - target_link_libraries(test-getdiskinfo kydiskinfo) - - target_link_libraries(test-getdisklist kydiskinfo) - +add_library(kydiskinfo SHARED ${SOURCESCODE}) +set_target_properties(kydiskinfo PROPERTIES VERSION 1.2.0 SOVERSION 1) +add_executable(test-getdiskinfo test/getdiskinfo.c) +add_executable(test-getdisklist test/getdisklist.c) +find_library(UDEV_LIB udev) +target_link_libraries(kydiskinfo blkid kylog pthread systemd kyconf ${UDEV_LIB}) +target_link_libraries(test-getdiskinfo kydiskinfo) +target_link_libraries(test-getdisklist kydiskinfo) +``` (2)获取网卡信息,需要添加头文件: - - \#include \"kysdk/kysdk-system/libkydiskinfo.h\" - +``` + #include "kysdk/kysdk-system/libkydiskinfo.h" +``` 获取系统中所有磁盘的列表 @@ -474,23 +451,18 @@ $ sudo apt-get install libkysdk-hardware libkysdk-hardware-dev | 封装 C 接口获取到 bios 硬件信息。 (1)CMakeLists.txt 构建项目 - - aux_source_directory(. SOURCESCODE) - - include_directories(.) - - add_library(kyhw SHARED \${SOURCESCODE}) - - add_executable(kybios-test test/kycpu-test.c) - - target_link_libraries(kyhw kylog kyconf pthread systemd udev) - - target_link_libraries(kybios-test kyhw) - +``` +aux_source_directory(. SOURCESCODE) +include_directories(.) +add_library(kyhw SHARED ${SOURCESCODE}) +add_executable(kybios-test test/kycpu-test.c) +target_link_libraries(kyhw kylog kyconf pthread systemd udev) +target_link_libraries(kybios-test kyhw) +``` (2)获取 bios 信息,需要添加头文件: - - \#include \"kysdk/kysdk-system/libkybiosinfo.h\" - +``` + #include "kysdk/kysdk-system/libkybiosinfo.h" +``` 获取 bios 厂商信息 @@ -528,23 +500,18 @@ $ sudo apt-get install libkysdk-hardware libkysdk-hardware-dev | 封装 C 接口获取到主板硬件信息。 (1)CMakeLists.txt 构建项目 - - aux_source_directory(. SOURCESCODE) - - include_directories(.) - - add_library(kyhw SHARED \${SOURCESCODE}) - - add_executable(kyboard-test test/kycpu-test.c) - - target_link_libraries(kyhw kylog kyconf pthread systemd udev) - - target_link_libraries(kyboard-test kyhw) - +``` +aux_source_directory(. SOURCESCODE) +include_directories(.) +add_library(kyhw SHARED ${SOURCESCODE}) +add_executable(kyboard-test test/kycpu-test.c) +target_link_libraries(kyhw kylog kyconf pthread systemd udev) +target_link_libraries(kyboard-test kyhw) +``` (2)获取主板信息,需要添加头文件: - - \#include \"kysdk/kysdk-system/libkyboardinfo.h\" - +``` + #include "kysdk/kysdk-system/libkyboardinfo.h" +``` 获取主板产品名称信息 | 子模块 | 编程语言 | 声明 | 描述 | @@ -601,23 +568,19 @@ $ sudo apt-get install libkysdk-hardware libkysdk-hardware-dev | 封装 C 接口获取到 usb 设备硬件信息。 (1)CMakeLists.txt 构建项目 - - aux_source_directory(. SOURCESCODE) - - include_directories(.) - - add_library(kyhw SHARED \${SOURCESCODE}) - - add_executable(kyusb-test test/kyusb-test.c) - - target_link_libraries(kyhw kylog kyconf pthread systemd udev) - - target_link_libraries(kyusb-test kyhw) - +``` +aux_source_directory(. SOURCESCODE) +include_directories(.) +add_library(kyhw SHARED ${SOURCESCODE}) +add_executable(kyusb-test test/kyusb-test.c) +target_link_libraries(kyhw kylog kyconf pthread systemd udev) +target_link_libraries(kyusb-test kyhw) +``` (2)获取 usb 设备信息,需要添加头文件: - \#include \"kysdk/kysdk-system/libkyusbinfo.h\" - +``` + #include "kysdk/kysdk-system/libkyusbinfo.h" +``` 获取所有 usb 设备信息 @@ -649,20 +612,17 @@ $ sudo apt-get install libkysdk-package libkysdk-package-dev (1)CMakeLists.txt 构建项目 - aux_source_directory(. SOURCESCODE) - - include_directories(.) - - add_library(kypackage SHARED \${SOURCESCODE}) - - add_executable(kypackage-test test/kypackage-test.c) - - target_link_libraries(kypackage-test kypackage) - +``` +aux_source_directory(. SOURCESCODE) +include_directories(.) +add_library(kypackage SHARED ${SOURCESCODE}) +add_executable(kypackage-test test/kypackage-test.c) +target_link_libraries(kypackage-test kypackage) +``` (2)获取包列表信息,需要添加头文件: - - \#include \"kysdk/kysdk-system/libkypackages.h\" - +``` + #include "kysdk/kysdk-system/libkypackages.h" +``` 获取系统中所有包列表 @@ -688,12 +648,7 @@ $ sudo apt-get install libkysdk-package libkysdk-package-dev 检测指定包名的软件包是否正确安装 -| 子模块 | 编程语言 | 声明 | 描述 | -|------------------------------------|-------------------|----------------------------------------------------------------------------|------------------| -| 获取包列表信息 | C | extern int kdk_package_is_installed(const char *name, const char *version) | 检测指定包名的软件包是否正确安装 | -| | | 参数说明 | 返回值说明 | | -| | | name:软件包名 | -| version:版本号,大部分情况下为NULL,预留为snap做准备 | int 成功返回0,失败返回错误码 | +
子模块编程语言声明描述
获取包列表信息Cextern int kdk_package_is_installed(const char *name, const char *version)检测指定包名的软件包是否正确安装
参数说明返回值说明
name:软件包名version:版本号,大部分情况下为NULL,预留为snap做准备int 成功返回0,失败返回错误码
### **3.1.4** 获取资源信息 @@ -702,28 +657,23 @@ $ sudo apt-get install libkysdk-package libkysdk-package-dev ``` -+-----------------------------------------------------------+ -| > \$ sudo apt-get install libkysdk-proc libkysdk-proc-dev | -+-----------------------------------------------------------+ +$ sudo apt-get install libkysdk-proc libkysdk-proc-dev + ``` (1)CMakeLists.txt 构建项目 - - aux_source_directory(. SOURCESCODE) - - include_directories(.) - - add_library(kyrtinfo SHARED \${SOURCESCODE}) - - add_executable(kyrtinfo-test test/kyrtinfo-test.c) - - target_link_libraries(kyrtinfo-test kyrtinfo) - +``` +aux_source_directory(. SOURCESCODE) +include_directories(.) +add_library(kyrtinfo SHARED ${SOURCESCODE}) +add_executable(kyrtinfo-test test/kyrtinfo-test.c) +target_link_libraries(kyrtinfo-test kyrtinfo) +``` (2)获取包列表信息,需要添加头文件: - - \#include \"kysdk/kysdk-system/libkyrtinfo.h\" - +``` + #include "kysdk/kysdk-system/libkyrtinfo.h" +``` 获取系统中物理内存总大小 | 子模块 | 编程语言 | 声明 | 描述 | @@ -932,36 +882,20 @@ $ sudo apt-get install libkysdk-package libkysdk-package-dev 获取指定进程的属主 -| 子模块 | 编程语言 | 声明 | 描述 | -|---------------|------|--------------------------------------------------------------------------|-------------------------------------------------------------------------| -| 获取资源信息 | C | extern char* kdk_get_process_user(int proc_num) | 获取指定进程的属主 | -| | | 参数说明 | 返回值说明 | | -| | | proc_num:进程号 | char* 属主 | | - 获取指定进程的CPU使用率 -| 子模块 | 编程语言 | 声明 | 描述 | -|--------|------|----------------------------------------------------|----------------| -| 获取资源信息 | C | extern float kdk_procname_get_process_cpu_usage_percent(char *proc_name) | 获取指定进程的CPU使用率 | -| | | 参数说明 | 返回值说明 | | -| | | proc_name 进程名 | float CPU使用率 | | - 获取指定进程的信息 -| 子模块 | 编程语言 | 声明 | 描述 | -|--------|------|----------------------------------------------------|----------------| -| 获取资源信息 | C | extern char** kdk_procname_get_process_infomation(char *proc_name) | 获取指定进程的信息 | -| | | 参数说明 | 返回值说明 | | -| | | proc_name 进程名 | char** 进程的信息列表,以NULL表示结尾,由alloc生成,需要被kdk_proc_freeall回收;若获取出错,返回NULL; | | +
子模块编程语言声明描述
获取资源信息Cextern char* kdk_get_process_user(int proc_num)获取指定进程的属主
参数说明返回值说明
proc_num:进程号char* 属主
+ + +获取指定进程的CPU使用率 +
子模块编程语言声明描述
获取资源信息Cextern float kdk_procname_get_process_cpu_usage_percent(char *proc_name)获取指定进程的CPU使用率
参数说明返回值说明
proc_name 进程名float CPU使用率
+ +获取指定进程的信息 +
子模块编程语言声明描述
获取资源信息Cextern char** kdk_procname_get_process_infomation(char *proc_name)获取指定进程的信息
参数说明返回值说明
proc_name 进程名char** 进程的信息列表,以NULL表示结尾,由alloc生成,需要被kdk_proc_freeall回收;若获取出错,返回NULL;
+ 获取进程所有信息 -| 子模块 | 编程语言 | 声明 | 描述 | -|--------|------|----------------------------------------------------|----------------| -| 获取资源信息 | C | char** kdk_get_process_all_information() | 获取进程所有信息 | -| | | 参数说明 | 返回值说明 | | -| | | 无 | char** 进程所有信息列表,,以NULL表示结尾,由alloc生成,需要被kdk_proc_freeall回收;若获取出错,返回NULL; | | - 回收字符串列表 -| 子模块 | 编程语言 | 声明 | 描述 | -|--------|------|----------------------------------------------------|----------------| -| 获取资源信息 | C | extern inline void kdk_proc_freeall(char **ptr) | 回收字符串列表 | -| | | 参数说明 | 返回值说明 | | -| | | ptr:字符串列表 | 无 | +
子模块编程语言声明描述
获取资源信息Cchar** kdk_get_process_all_information()获取进程所有信息
参数说明返回值说明
char** 进程所有信息列表,,以NULL表示结尾,由alloc生成,需要被kdk_proc_freeall回收;若获取出错,返回NULL;
+回收字符串列表 +
子模块编程语言声明描述
获取资源信息Cextern inline void kdk_proc_freeall(char **ptr)回收字符串列表
参数说明返回值说明
ptr:字符串列表
### **3.1.5** 获取操作系统基础信息 @@ -970,9 +904,8 @@ $ sudo apt-get install libkysdk-package libkysdk-package-dev ``` -+-----------------------------------------------------------------+ -| > \$ sudo apt-get install libkysdk-sysinfo libkysdk-sysinfo-dev | -+-----------------------------------------------------------------+ +$ sudo apt-get install libkysdk-sysinfo libkysdk-sysinfo-dev + ``` @@ -982,30 +915,30 @@ $ sudo apt-get install libkysdk-package libkysdk-package-dev ``` aux_source_directory(. SOURCESCODE) - include_directories(.) +include_directories(.) - find_library(GLIBC_LIB glib-2.0) +find_library(GLIBC_LIB glib-2.0) - find_library(DBUS_LIB dbus-1) +find_library(DBUS_LIB dbus-1) - find_library(DBUS_GLIB_LIB dbus-glib-1) +find_library(DBUS_GLIB_LIB dbus-glib-1) - add_library(kysysinfo SHARED \${SOURCESCODE}) +add_library(kysysinfo SHARED ${SOURCESCODE}) - add_executable(kysysinfo-test test/kysysinfo_test.c) +add_executable(kysysinfo-test test/kysysinfo_test.c) - target_link_libraries(kysysinfo kylin-activation kylog systemd kyconf +target_link_libraries(kysysinfo kylin-activation kylog systemd kyconf - \${GLIBC_LIB} \${DBUS_LIB} \${DBUS_GLIB_LIB}) +${GLIBC_LIB} ${DBUS_LIB} ${DBUS_GLIB_LIB}) - target_link_libraries(kysysinfo-test kysysinfo) +target_link_libraries(kysysinfo-test kysysinfo) ``` (2)获取操作系统信息,需要添加头文件: - - \#include \"kysdk/kysdk-system/libkysysinfo.h\" - +``` + #include "kysdk/kysdk-system/libkysysinfo.h" +``` 获取操作系统架构信息 | 子模块 | 编程语言 | 声明 | 描述 | @@ -1117,43 +1050,19 @@ aux_source_directory(. SOURCESCODE) | | | 无 | int 网络连接状态 | | | | -获取网络端口状态 -| 子模块 | 编程语言 | 声明 | 描述 | -|--------|------|----------------------------------------------------|----------------| -| 获取系统基础信息 | C | extern int kdk_net_get_port_stat(int port); | 获取端口状态 | -| | | 参数说明 | 返回值说明 | | -| | | port 端口号 | int 端口状态 | -| FREE:0 | -| TCP_ESTABLISHED:1 TCP_SYN_SENT:2 TCP_SYN_RECV:3 TCP_FIN_WAIT1:4 TCP_FIN_WAIT2:5 TCP_TIME_WAIT:6 TCP_CLOSE:7 TCP_CLOSE_WAIT:8 TCP_LAST_ACL:9 TCP_LISTEN:10 TCP_CLOSING:11 | | -| | -| | -| | +获取网络端口状态 - 获取多个网络端口状态 | -| 子模块 | 编程语言 | 声明 | 描述 | -|--------|------|----------------------------------------------------|----------------| -| 获取系统基础信息 | C | int kdk_net_get_multiple_port_stat(int start, int end, int *result) | 获取[start,end]的端口状态 | -| | | 参数说明 | 返回值说明 | | -| | | start 开始端口号 | -| end 结束端口号 | -| result 具有足够空间的int数组。接受端口状态 | 成功返回0 | -| 失败返回 端口状态 | | -| | +
子模块编程语言声明描述
获取系统基础信息Cextern int kdk_net_get_port_stat(int port);获取端口状态
参数说明返回值说明
port 端口号int 端口状态FREE:0TCP_ESTABLISHED:1 TCP_SYN_SENT:2 TCP_SYN_RECV:3 TCP_FIN_WAIT1:4 TCP_FIN_WAIT2:5 TCP_TIME_WAIT:6 TCP_CLOSE:7 TCP_CLOSE_WAIT:8 TCP_LAST_ACL:9 TCP_LISTEN:10 TCP_CLOSING:11
- 获取默认网关 | -| 子模块 | 编程语言 | 声明 | 描述 | -|--------|------|----------------------------------------------------|----------------| -| 获取系统基础信息 | C | extern prouteMapList kdk_net_get_route(); | 获取默认网关 | -| | | 参数说明 | 返回值说明 | | -| | | 无 | prouteMapList 网管信息,具体信息自取,失败返回NULL | | -| | + 获取多个网络端口状态 +
子模块编程语言声明描述
获取系统基础信息Cint kdk_net_get_multiple_port_stat(int start, int end, int *result)获取[start,end]的端口状态
参数说明返回值说明
start 开始端口号end 结束端口号result 具有足够空间的int数组。接受端口状态成功返回0失败返回 端口状态
- 获取防火墙状态 | -| 子模块 | 编程语言 | 声明 | 描述 | -|--------|------|----------------------------------------------------|----------------| -| 获取系统基础信息 | C | extern pChain kdk_net_get_iptable_rules() | 获取防火墙信息 | -| | | 参数说明 | 返回值说明 | | -| | | 无 | pChain 防火墙信息,具体信息自取,失败返回NULL | +获取默认网关 +
子模块编程语言声明描述
获取系统基础信息Cextern prouteMapList kdk_net_get_route();获取默认网关
参数说明返回值说明
prouteMapList 网管信息,具体信息自取,失败返回NULL
+ +获取防火墙状态 + +
子模块编程语言声明描述
获取系统基础信息Cextern pChain kdk_net_get_iptable_rules()获取防火墙信息
参数说明返回值说明
pChain 防火墙信息,具体信息自取,失败返回NULL
@@ -1163,69 +1072,42 @@ aux_source_directory(. SOURCESCODE) ``` -+-------------------------------------------------------------------+ -| > \$ sudo apt-get install libkyrealtimeinfo libkyrealtimeinfo-dev | -+-------------------------------------------------------------------+ +$ sudo apt-get install libkyrealtimeinfo libkyrealtimeinfo-dev ``` (1)CMakeLists.txt 构建项目 - include_directories(\"smartctl/\") - - aux_source_directory(./smartctl CODE) - - add_library(kyrealtime SHARED libkyrealtimeinfo.cpp - libkyrealtimeinfo.h - - \${CODE}) - - set_target_properties(kyrealtime PROPERTIES VERSION 1.2.0 SOVERSION 1) - - add_executable(realtimetest test/getrealtimeinfo.cpp) +``` +include_directories("smartctl/") +aux_source_directory(./smartctl CODE) +add_library(kyrealtime SHARED libkyrealtimeinfo.cpp libkyrealtimeinfo.h ${CODE}) +set_target_properties(kyrealtime PROPERTIES VERSION 1.2.0 SOVERSION 1) - target_link_libraries(realtimetest kyrealtime) +add_executable(realtimetest test/getrealtimeinfo.cpp) +target_link_libraries(realtimetest kyrealtime) +``` (2)获取操作系统运行时信息,需要添加头文件: - \#include \"kysdk/kysdk-system/libkyrealtimeinfo.h\" +``` +#include "kysdk/kysdk-system/libkyrealtimeinfo.h" +``` 获取瞬时网速 -| 子模块 | 编程语言 | 声明 | 描述 | -|----------|------|---------------------------------------------------------------------|-----------| -| 获取系统基础信息 | C++ | RealTimeInfo::float kdk_real_get_net_speed(); | 获取瞬时网速 | -| | | 参数说明 | 返回值说明 | | -| | | 无 | float | -| 瞬时网速 | | -| | -| | +
子模块编程语言声明描述
获取系统基础信息C++RealTimeInfo::float kdk_real_get_net_speed();获取瞬时网速
参数说明返回值说明
float瞬时网速
+ 获取cpu温度 -| 子模块 | 编程语言 | 声明 | 描述 | -|----------|------|---------------------------------------------------------------------|-----------| -| 获取系统基础信息 | C++ | RealTimeInfo::float kdk_real_get_cpu_temperatu(); | 获取瞬时cpu温度 | -| | | 参数说明 | 返回值说明 | | -| | | 无 | float | -| cpu瞬时温度 | | -| | + +
子模块编程语言声明描述
获取系统基础信息C++RealTimeInfo::float kdk_real_get_cpu_temperatu();获取瞬时cpu温度
参数说明返回值说明
floatcpu瞬时温度
获取硬盘温度 -| 子模块 | 编程语言 | 声明 | 描述 | -|----------|------|---------------------------------------------------------------------|-----------| -| 获取系统基础信息 | C++ | RealTimeInfo::float kdk_real_get_disk_temperatu(const char * name); | 获取瞬时硬盘温度 | -| | | 参数说明 | 返回值说明 | | -| | | name:硬盘绝对路径 | float | -| 指定硬盘瞬时温度 | | -| | +
子模块编程语言声明描述
获取系统基础信息C++RealTimeInfo::float kdk_real_get_disk_temperatu(const char * name);获取瞬时硬盘温度
参数说明返回值说明
name:硬盘绝对路径float指定硬盘瞬时温度
获取磁盘转速 -| 子模块 | 编程语言 | 声明 | 描述 | -|----------|------|---------------------------------------------------------------------|-----------| -| 获取系统基础信息 | C++ | RealTimeInfo::int kdk_real_get_disk_rate(const char *name); | 获取磁盘转速 | -| | | 参数说明 | 返回值说明 | | -| | | name:硬盘绝对路径 | int | -| 指定磁盘转速 | +
子模块编程语言声明描述
获取系统基础信息C++RealTimeInfo::int kdk_real_get_disk_rate(const char *name);获取磁盘转速
参数说明返回值说明
name:硬盘绝对路径int指定磁盘转速
@@ -1233,27 +1115,26 @@ aux_source_directory(. SOURCESCODE) 封装 C 接口获取当前 ip 地址地理信息。 -+-----------------------------------------------------------+ -| > \$ sudo apt-get install libkylocation libkylocation-dev | -+-----------------------------------------------------------+ - - (1)CMakeLists.txt 构建项目 - - include_directories(\"/usr/include/python3.8\") - - add_library(kylocation SHARED libkylocation.c) - - set_target_properties(kylocation PROPERTIES VERSION 1.2.0 SOVERSION 1) - - target_link_libraries(kylocation -lpython3.8) +``` +$ sudo apt-get install libkylocation libkylocation-dev - add_executable(locationtest test/getlocation.c) +``` - target_link_libraries(locationtest kylocation) + (1)CMakeLists.txt 构建项目 +``` +include_directories("/usr/include/python3.8") +add_library(kylocation SHARED libkylocation.c) +set_target_properties(kylocation PROPERTIES VERSION 1.2.0 SOVERSION 1) +target_link_libraries(kylocation -lpython3.8) +add_executable(locationtest test/getlocation.c) +target_link_libraries(locationtest kylocation) +``` (2)获取 IP 地址地理信息,需要添加头文件: - \#include \"kysdk/kysdk-system/libkylocation.h\" +``` +#include "kysdk/kysdk-system/libkylocation.h" +``` 获取本机地理位置 @@ -1279,10 +1160,10 @@ aux_source_directory(. SOURCESCODE) | 子模块 | 编程语言 | 声明 | 描述 | |---------------|-------|--------------------------------------------------------------------------------|--------| -| 电源管理模块 | C++ | uint32_t kdk_set_inhibit_lockscreen(const char *appName , const char *reason) | 设置禁止锁屏 | +| 电源管理模块 | C++ | uint32_t kdk_set_inhibit_lockscreen(const char *appName , const char *reason) | 设置禁止锁屏 | | | | | | 参数说明 | 返回值说明 | -| | | appName:应用名
reason:禁止锁屏原因 | 0: 失败
>0: 成功 | +| | | appName:应用名
reason:禁止锁屏原因 | 0: 失败
>0: 成功(大于0) | @@ -1290,7 +1171,7 @@ aux_source_directory(. SOURCESCODE) | 子模块 | 编程语言 | 声明 | 描述 | |-----------------|-------|-----------------------------------------------|--------| -| 电源管理模块 | C++ | int kdk_un_inhibit_lockscreen(uint32_t flag) | 取消禁止锁屏 | +| 电源管理模块 | C++ | int kdk_un_inhibit_lockscreen(uint32_t flag) | 取消禁止锁屏 | | | | | | 参数说明 |返回值说明 | | | | flag:禁止锁屏接口的返回值 | 0: 成功
-1: 失败 | @@ -1362,37 +1243,34 @@ aux_source_directory(. SOURCESCODE) 获取系统打印机列表 -| 子模块 | 编程语言 | 声明 | 描述 | -|------------------------------------------------|-------------|----------------------------------------------------------------------------------------------------------------------|-----------------| -| 打印机管理 | C | extern char** kdk_printer_get_list(); | 获取打印机列表 | -| | | 参数说明 | 返回值说明 | | -| | | 无 | char ** 系统打印机列表 | | -| | +| 子模块 | 编程语言 | 声明 | 描述 | +|------------|----------|---------------------------------------|------------------------| +| 打印机管理 | C | extern char** kdk_printer_get_list(); | 获取打印机列表 | +| | | 参数说明 | 返回值说明 | +| | | 无 | char ** 系统打印机列表 | 获取系统可用打印机列表 -| 子模块 | 编程语言 | 声明 | 描述 | -|-----------------|-------|-----------------------------------------------|--------| -| 打印机管理 | C | extern char** kdk_printer_get _availablelist(); | 获取可用打印机列表 | -| | | 参数说明 | 返回值说明 | | -| | | 无 | char ** 系统打印机列表 | | -| | +| 子模块 | 编程语言 | 声明 | 描述 | +|------------|----------|-------------------------------------------------|------------------------| +| 打印机管理 | C | extern char** kdk_printer_get _availablelist(); | 获取可用打印机列表 | +| | | 参数说明 | 返回值说明 | +| | | 无 | char ** 系统打印机列表 | - 设置打印参数 + 设置打印参数 -| 子模块 | 编程语言 | 声明 | 描述 | -|-----------------|-------|-----------------------------------------------|--------| -| 打印机管理 | C | extern void kdk_printer_set_options(int number_up,const char *media,const char *number_up_layout,const char *sides); | 设置打印参数 | -| | | 参数说明 | 返回值说明 | | -| | | number_up:一张纸打印几页
media:纸张类型
number_up_layout:cups属性,如lrtb
sides:单面one-sided,双面(长边翻转):two_sided_long_dege
双面(短边翻转):
two_sided_short_dege | 无 | +| 子模块 | 编程语言 | 声明 | 描述 | +|------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------| +| 打印机管理 | C | extern void kdk_printer_set_options(int number_up,const char *media,const char *number_up_layout,const char *sides); | 设置打印参数 | +| | | 参数说明 | 返回值说明 | +| | | number_up:一张纸打印几页
media:纸张类型
number_up_layout:cups属性,如lrtb
sides:单面one-sided,双面(长边翻转):two_sided_long_dege
双面(短边翻转):
two_sided_short_dege | 无 | 打印文件 -| 子模块 | 编程语言 | 声明 | 描述 | -|-----------------|-------|-----------------------------------------------|--------| -| 打印机管理 | C | extern int kdk_printer_print_local_file(const char *printername, char *filepath); | 打印文件 | -| | | 参数说明 | 返回值说明 | | -| | | printername: 打印机名
filepath:打印文件绝对路径 | int 打印作业的id | | -| | +| 子模块 | 编程语言 | 声明 | 描述 | +|------------|----------|-----------------------------------------------------------------------------------|------------------| +| 打印机管理 | C | extern int kdk_printer_print_local_file(const char *printername, char *filepath); | 打印文件 | +| | | 参数说明 | 返回值说明 | +| | | printername: 打印机名
filepath:打印文件绝对路径 | int 打印作业的id | 取消打印作业 | 子模块 | 编程语言 | 声明 | 描述 | @@ -1402,38 +1280,38 @@ aux_source_directory(. SOURCESCODE) | | | printername:打印机名 | int
成功:0
失败:-1 | 获取打印机状态 -| 子模块 | 编程语言 | 声明 | 描述 | -|-----------------|-------|-----------------------------------------------|--------| -| 打印机管理 | C | extern int kdk_printer_get_status(const char *printername); | 获取打印机状态 | -| | | 参数说明 | 返回值说明 | | -| | | printername,打印机名 | 打印机状态码 | | -| | +| 子模块 | 编程语言 | 声明 | 描述 | +|------------|----------|-------------------------------------------------------------|----------------| +| 打印机管理 | C | extern int kdk_printer_get_status(const char *printername); | 获取打印机状态 | +| | | 参数说明 | 返回值说明 | +| | | printername,打印机名 | 打印机状态码 | + 从url中解析下载的文件名 -| 子模块 | 编程语言 | 声明 | 描述 | -|-----------------|-------|-----------------------------------------------|--------| -| 打印机管理 | C | extern void kdk_printer_get_filename(const char *url, char *filename); | 从url解析下载的文件名 | -| | | 参数说明 | 返回值说明 | | -| | | url,下载链接 | | | -| | | filename,解析出来的文件名 | | | -| | +| 子模块 | 编程语言 | 声明 | 描述 | +|------------|----------|------------------------------------------------------------------------|-----------------------| +| 打印机管理 | C | extern void kdk_printer_get_filename(const char *url, char *filename); | 从url解析下载的文件名 | +| | | 参数说明 | 返回值说明 | +| | | url,下载链接 | | +| | | filename,解析出来的文件名 | | + 获取当前打印任务状态 -| 子模块 | 编程语言 | 声明 | 描述 | -|-----------------|-------|-----------------------------------------------|--------| -| 打印机管理 | C | extern int kdk_printer_get_job_status(const char *printername, int jobid); | 获取当前打印任务状态 | -| | | 参数说明 | 返回值说明 | | -| | | printername,打印机名 | 打印任务状态码 | | -| | +| 子模块 | 编程语言 | 声明 | 描述 | +|------------|----------|----------------------------------------------------------------------------|----------------------| +| 打印机管理 | C | extern int kdk_printer_get_job_status(const char *printername, int jobid); | 获取当前打印任务状态 | +| | | 参数说明 | 返回值说明 | +| | | printername,打印机名 | 打印任务状态码 | + 下载网络文件到本地 -| 子模块 | 编程语言 | 声明 | 描述 | -|-----------------|-------|-----------------------------------------------|--------| -| 打印机管理 | C | extern int kdk_printer_print_download_remote_file(const char *url, const char *filepath); | 下载网络文件到本地 | -| | | 参数说明 | 返回值说明 | | -| | | url,网络文件 | 下载状态码 | | -| | | filepath,要保存的文件路径,用户自定义 | +| 子模块 | 编程语言 | 声明 | 描述 | +|------------|----------|-------------------------------------------------------------------------------------------|--------------------| +| 打印机管理 | C | extern int kdk_printer_print_download_remote_file(const char *url, const char *filepath); | 下载网络文件到本地 | +| | | 参数说明 | 返回值说明 | +| | | url,网络文件 | 下载状态码 | +| | | filepath,要保存的文件路径,用户自定义 | | @@ -1447,9 +1325,7 @@ aux_source_directory(. SOURCESCODE) ``` -+-----------------------------------------------------------------------+ -| > \$ sudo apt install libkysdk-applications libkysdk-applications-dev | -+-----------------------------------------------------------------------+ +$ sudo apt install libkysdk-applications libkysdk-applications-dev ``` @@ -1459,9 +1335,7 @@ aux_source_directory(. SOURCESCODE) ``` -+--------------------------------------------------------------+ -| > sudo apt install libkysdk-qtwidgets libkysdk-qtwidgets-dev | -+--------------------------------------------------------------+ +sudo apt install libkysdk-qtwidgets libkysdk-qtwidgets-dev ``` @@ -1473,11 +1347,8 @@ aux_source_directory(. SOURCESCODE) ``` -+--------------------------------+ -| > CONFIG += link_pkgconfig | -| > | -| > PKGCONFIG += kysdk-qtwidgets | -+--------------------------------+ +CONFIG += link_pkgconfig +PKGCONFIG += kysdk-qtwidgets ``` @@ -1485,27 +1356,13 @@ aux_source_directory(. SOURCESCODE) ``` -+---------------------------------------------------------+ -| > cmake_minimum_required(VERSION 3.5) | -| > | -| > find_package(Qt5 COMPONENTS Widgets REQUIRED) | -| > | -| > find_package(PkgConfig REQUIRED) | -| > | -| > pkg_check_modules(KYSDKQTWIDGETS_PKG kysdk-qtwidgets) | -| > | -| > target_include_directories(demo PRIVATE | -| > | -| > \${KYSDKQTWIDGETS_PKG_INCLUDE_DIRS}) | -| > | -| > target_link_directories(demo PRIVATE | -| > | -| > \${KYSDKQTWIDGETS_PKG_LIBRARY_DIRS}) | -| > | -| > target_link_libraries(demo Qt5::Widgets | -| > | -| > \${KYSDKQTWIDGETS_PKG_LIBRARIES}) | -+---------------------------------------------------------+ +cmake_minimum_required(VERSION 3.5) +find_package(Qt5 COMPONENTS Widgets REQUIRED) +find_package(PkgConfig REQUIRED) +pkg_check_modules(KYSDKQTWIDGETS_PKG kysdk-qtwidgets) +target_include_directories(demo PRIVATE ${KYSDKQTWIDGETS_PKG_INCLUDE_DIRS}) +target_link_directories(demo PRIVATE ${KYSDKQTWIDGETS_PKG_LIBRARY_DIRS}) +target_link_libraries(demo Qt5::Widgets ${KYSDKQTWIDGETS_PKG_LIBRARIES}) ``` @@ -1513,11 +1370,8 @@ aux_source_directory(. SOURCESCODE) ``` -+---------------------------+ -| > \#include \"kwidget.h\" | -| > | -| > using namespace kdk; | -+---------------------------+ +#include "kwidget.h" +using namespace kdk; ``` @@ -1527,53 +1381,29 @@ aux_source_directory(. SOURCESCODE) ``` -+---------------------------------------------------+ -| > int main(int argc, char \*argv\[\]) | -| > | -| > { | -| > | -| > QApplication a(argc, argv); | -| > | -| > QTranslator trans; | -| > | -| > QString locale = QLocale::system().name(); | -| > | -| > if(locale == \"zh_CN\") | -| > | -| > { | -| > | -| > if(trans.load(\":/translations/gui_zh_CN.qm\")) | -| > | -| > { | -| > | -| > a.installTranslator(&trans); | -| > | -| > } | -| > | -| > } | -| > | -| > if(locale == \"bo_CN\") | -| > | -| > { | -| > | -| > if(trans.load(\":/translations/gui_bo_CN.qm\")) | -| > | -| > { | -| > | -| > a.installTranslator(&trans); | -| > | -| > } | -| > | -| > } | -| > | -| > Widget w; | -| > | -| > w.show(); | -| > | -| > return a.exec(); | -| > | -| > } | -+---------------------------------------------------+ +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + QTranslator trans; + QString locale = QLocale::system().name(); + if(locale == "zh_CN") + { + if(trans.load(":/translations/gui_zh_CN.qm")) + { + a.installTranslator(&trans); + } + } + if(locale == "bo_CN") + { + if(trans.load(":/translations/gui_bo_CN.qm")) + { + a.installTranslator(&trans); + } + } + Widget w; + w.show(); + return a.exec(); +} ``` @@ -1594,11 +1424,8 @@ aux_source_directory(. SOURCESCODE) ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image5.png) -``` -+------------+----------------------------------------------------------+ -| > 枚举类型 | > LayoutType { VerticalType, HorizontalType, MixedType } | -+------------+----------------------------------------------------------+ -``` +| 枚举类型 | LayoutType { VerticalType, HorizontalType, MixedType } | +|------|--------------------------------------------------------| > VerticalType:上下结构 @@ -1608,50 +1435,17 @@ aux_source_directory(. SOURCESCODE) > MixedType:过渡结构 -``` -+------------------------+-------------------------------------------+ -| 声明 | 描述 | -+========================+===========================================+ -| > QWidget\* sideBar(); | 获取左边栏 widget,通过 setlayout 添加自定 | -+------------------------+-------------------------------------------+ - -+----------------------------------+----------------------------------+ -| | > 义内容。 | -+==================================+==================================+ -| > QWidget\* baseBar(); | 获取主内容区 widget,通过 | -| | setlayout 添加自 | -| | | -| | > 定义内容。 | -+----------------------------------+----------------------------------+ -| > void setIcon(const QIcon& | > 通过 icon 添加窗体图标 | -| > icon); | | -+----------------------------------+----------------------------------+ -| > void setIcon(const QString& | 设置窗体图标,iconName | -| > iconName); | 需要直接指定系 | -| | | -| | > 统目录中 | -| | 的图标名称,如\"kylin-music\"。 | -+----------------------------------+----------------------------------+ -| > void setWidgetName(const | > 设置窗体名称。 | -| > QString& | | -| > | | -| > widgetName); | | -+----------------------------------+----------------------------------+ -| > KWindowButtonBar\* | 获取 | -| > | 窗口三联组合控件,以控制是否显示 | -| > windowButtonBar(); | | -| | > 最 | -| | 大化、最小化按钮和下拉菜单按钮。 | -+----------------------------------+----------------------------------+ -| > KIconBar\* iconBar(); | 获取 | -| | 窗口标题、图标组合控件,以控制相 | -| | | -| | > 关样式。 | -+----------------------------------+----------------------------------+ -| > void setLayoutType(LayoutType | > 设置布局结构类型。 | -| > type); | | -+----------------------------------+----------------------------------+ -``` +| 声明 | 描述 | | | +|------------------------------------------------|--------------------------------------------------|---|---| +| QWidget* sideBar(); | 获取左边栏widget,通过setlayout添加自定义内容。 | | | +| QWidget* baseBar(); | 获取主内容区widget,通过setlayout添加自定义内容。 | | | +| void setIcon(const QIcon& icon); | 通过icon添加窗体图标 | | | +| void setIcon(const QString& iconName); | 设置窗体图标,iconName 需要直接指定系统目录中的图标名称,如"kylin-music"。 | | | +| void setWidgetName(const QString& widgetName); | 设置窗体名称。 | | | +| KWindowButtonBar* windowButtonBar(); | 获取窗口三联组合控件,以控制是否显示最大化、最小化按钮和下拉菜单按钮。 | | | +| KIconBar* iconBar(); | 获取窗口标题、图标组合控件,以控制相关样式。 | | | +| void setLayoutType(LayoutType type); | 设置布局结构类型。 | | | + #### **4.1.1.2** KBubbleWidget @@ -1662,18 +1456,7 @@ aux_source_directory(. SOURCESCODE) > 角、毛玻璃以及透明度。自 2.0.0.0 版本启用。 - -``` -+----------+----------------------------------------------------------+ -| 枚 举 类 | > enum TailDirection{ TopDirection, LeftDirection, | -| | > BottomDirection, | -| > 型 | > | -| | > RightDirection, None }; | -+==========+==========================================================+ -| | > enum TailLocation{ LeftLocation, MiddleLocation, | -| | > RightLocation }; | -+----------+----------------------------------------------------------+ -``` +
枚举类型enum TailDirection{ TopDirection, LeftDirection, BottomDirection, RightDirection, None };
enum TailLocation{ LeftLocation, MiddleLocation, RightLocation };
> TailDirection:气泡尾部的显示方向 @@ -1681,44 +1464,19 @@ aux_source_directory(. SOURCESCODE) > TailLocation:指定气泡尾部的显示位置 -``` -+-------------------------------------------+--------------------------------+ -| 声明 | 描述 | -+===========================================+================================+ -| > void setTailSize(const QSize& size); | > 设置气泡尾部尺寸 | -+-------------------------------------------+--------------------------------+ -| > QSize tailSize(); | > 获取气泡尾部尺寸 | -+-------------------------------------------+--------------------------------+ -| > void setTailPosition(TailDirection | > 设置气泡尾部显示位置 | -| > | | -| > dirType, TailLocation | | -| > | | -| > locType=MiddleLocation); | | -+-------------------------------------------+--------------------------------+ -| > TailDirection tailDirection(); | 获取气泡尾部显示方向(左、上、 | -| | | -| | > 右、下) | -+-------------------------------------------+--------------------------------+ -| > TailLocation tailLocation(); | 获取气泡尾部显示位置(居左、居 | -| | | -| | > 中、居右) | -+-------------------------------------------+--------------------------------+ -| > void setBorderRadius(int bottomLeft,int | > 设置窗体圆角半径 | -| > | | -| > topLeft,int topRight,int bottomRight); | | -+-------------------------------------------+--------------------------------+ -| > void setBorderRadius(int radius); | > 设置窗体圆角半径 | -+-------------------------------------------+--------------------------------+ -| > void setEnableBlur(bool flag); | > 设置是否启用毛玻璃效果 | -+-------------------------------------------+--------------------------------+ -| > bool enableBlur(); | > 获取是否已启用毛玻璃效果 | -+-------------------------------------------+--------------------------------+ -| > void setOpacity(qreal opacity); | > 设置透明度 | -+-------------------------------------------+--------------------------------+ -| > qreal opacity(); | > 获取透明度 | -+-------------------------------------------+--------------------------------+ - -``` +| 声明 | 描述 | +|-----------------------------------------------------------------------------------|----------------------| +| void setTailSize(const QSize& size); | 设置气泡尾部尺寸 | +| QSize tailSize(); | 获取气泡尾部尺寸 | +| void setTailPosition(TailDirection dirType, TailLocation locType=MiddleLocation); | 设置气泡尾部显示位置 | +| TailDirection tailDirection(); | 获取气泡尾部显示方向(左、上、右、下) | +| TailLocation tailLocation(); | 获取气泡尾部显示位置(居左、居中、居右) | +| void setBorderRadius(int bottomLeft,int topLeft,int topRight,int bottomRight); | 设置窗体圆角半径 | +| void setBorderRadius(int radius); | 设置窗体圆角半径 | +| void setEnableBlur(bool flag); | 设置是否启用毛玻璃效果 | +| bool enableBlur(); | 获取是否已启用毛玻璃效果 | +| void setOpacity(qreal opacity); | 设置透明度 | +| qreal opacity(); | 获取透明度 | ### **4.1.2** 对话框模块 @@ -1730,45 +1488,17 @@ aux_source_directory(. SOURCESCODE) 题切换,窗口按钮样式符合 ukui3.1 的设计风格,标题颜色响应窗口激活状态。 -``` -+----------------------------------+----------------------------------+ -| 声明 | 描述 | -+==================================+==================================+ -| > void setWindowIcon(const QIcon | > 设置对话框图标 | -| > | | -| > &icon); | | -+----------------------------------+----------------------------------+ -| > void setWindowIcon(const | > | -| > QString& | 直接根据图标名称设置窗口图标,例 | -| > | > | -| > iconName); | > 如: | -| | > | -| | > dialog-\ | -| | >setWindowIcon(\"kylin-music\"); | -+----------------------------------+----------------------------------+ -| > void setWindowTitle(const | > 设置对话框标题名称 | -| > QString &); | | -+----------------------------------+----------------------------------+ -| > QPushButton\* maximumButton(); | > 获取最大化按钮 | -+----------------------------------+----------------------------------+ -| > QPushButton\* minimumButton(); | > 获取最小化按钮 | -+----------------------------------+----------------------------------+ -| > QPushButton\* closeButton(); | > 获取关闭按钮 | -+----------------------------------+----------------------------------+ -| > KMenuButton\* menuButton(); | > 获 | -| | 取下拉菜单按钮,默认是隐藏的,不 | -| | > | -| | > 显示。 | -+----------------------------------+----------------------------------+ -| > QWidget\* mainWidget(); | 获取主内容区,通过 | -| | setLayout()添加内 | -| | | -| | > | -| | 容。例如:dialog-\>mainWidget()- | -| | > | -| | > \>setLayout(hLayout); | -+----------------------------------+----------------------------------+ -``` +| 声明 | 描述 | +|----------------------------------------------|-----------------------------------------------------------------------| +| void setWindowIcon(const QIcon &icon); | 设置对话框图标 | +| void setWindowIcon(const QString& iconName); | 直接根据图标名称设置窗口图标,例如:dialog->setWindowIcon("kylin-music"); | +| void setWindowTitle(const QString &); | 设置对话框标题名称 | +| QPushButton* maximumButton(); | 获取最大化按钮 | +| QPushButton* minimumButton(); | 获取最小化按钮 | +| QPushButton* closeButton(); | 获取关闭按钮 | +| KMenuButton* menuButton(); | 获取下拉菜单按钮,默认是隐藏的,不显示。 | +| QWidget* mainWidget(); | 获取主内容区,通过setLayout()添加内容。例如:dialog->mainWidget()->setLayout(hLayout); | + #### **4.1.2.2** 关于对话框 @@ -1782,53 +1512,22 @@ aux_source_directory(. SOURCESCODE) ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image6.png) > ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image7.png) +| 声明 | 描述 | +|------------------------------------------------|---------------------------| +| void setAppIcon(const QIcon& icon); | 设置应用程序图标 | +| void setAppName(const QString& appName); | 设置应用程序名称 | +| QString appName(); | 获取应用程序名称 | +| void setAppVersion(const QString& appVersion); | 设置应用程序版本号 | +| QString appVersion(); | 获取应用程序版本号 | +| void setBodyText(const QString& bodyText); | 设置应用程序具体的说明内容 | +| QString bodyText(); | 获取应用程序具体的说明内容 | +| void setAppSupport(const QString& appSupport); | 设置服务与支持邮箱,有默认缺省 | +| QString appSupport(); | 获取服务与支持邮箱 | +| void setBodyTextVisiable(bool flag); | 设置是否显示说明内容 | +| void setAppPrivacyLabelVisible(bool flag); | 设置隐私按钮是否可见(自1.2.0.10版本启用) | +| bool AppPrivacyLabelIsVisible(); | 返回隐私按钮是否可见(自1.2.0.10版本启用) | -``` - -+------------------------------------+--------------------------------+ -| 声明 | 描述 | -+====================================+================================+ -| > void setAppIcon(const QIcon& | > 设置应用程序图标 | -| > icon); | | -+------------------------------------+--------------------------------+ -| > void setAppName(const QString& | > 设置应用程序名称 | -| > appName); | | -+------------------------------------+--------------------------------+ -| > QString appName(); | > 获取应用程序名称 | -+------------------------------------+--------------------------------+ -| > void setAppVersion(const | > 设置应用程序版本号 | -| > QString& | | -| > | | -| > appVersion); | | -+------------------------------------+--------------------------------+ -| > QString appVersion(); | > 获取应用程序版本号 | -+------------------------------------+--------------------------------+ -| > void setBodyText(const QString& | > 设置应用程序具体的说明内容 | -| > bodyText); | | -+------------------------------------+--------------------------------+ -| > QString bodyText(); | > 获取应用程序具体的说明内容 | -+------------------------------------+--------------------------------+ -| > void setAppSupport(const | > 设置服务与支持邮箱,有默认缺 | -| > QString& | > | -| > | > 省 | -| > appSupport); | | -+------------------------------------+--------------------------------+ -| > QString appSupport(); | > 获取服务与支持邮箱 | -+------------------------------------+--------------------------------+ -| > void setBodyTextVisiable(bool | > 设置是否显示说明内容 | -| > flag); | | -+------------------------------------+--------------------------------+ -| > void | > 设置隐私按钮是否可见(自 | -| > setAppPrivacyLabelVisible(bool | > | -| > flag); | > 1.2.0.10 版本启用) | -+------------------------------------+--------------------------------+ -| > bool AppPrivacyLabelIsVisible(); | > 返回隐私按钮是否可见(自 | -| | > | -| | > 1.2.0.10 版本启用) | -+------------------------------------+--------------------------------+ -``` - #### **4.1.2.3** 输入对话框 > @@ -1858,341 +1557,122 @@ aux_source_directory(. SOURCESCODE) ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image9.png) -> (3)int KInputDialog::getInt(QWidget \*parent,const QString &label, int -> value, -> -> int min, int max, int step, bool \*ok, Qt::WindowFlags flags) -> +> (3) +``` +int KInputDialog::getInt(QWidget *parent,const QString &label, int value, +int min, int max, int step, bool *ok, Qt::WindowFlags flags) +``` > 整型数字输入对话框,同 QInputDialog > ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image10.png) > -> \(3\) double KInputDialog::getDouble(QWidget \*parent,const QString -> &label, -> -> double value, double minValue, double maxValue, -> -> int decimals, bool \*ok, Qt::WindowFlags flags) -> +> (3) + +``` +double KInputDialog::getDouble(QWidget *parent,const QString &label, +double value, double minValue, double maxValue, +int decimals, bool *ok, Qt::WindowFlags flags) +``` + > 浮点型数字输入对话框,同 QInputDialog > ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image11.png) > > 枚举类型 +| enum | InputDialogOption { NoButtons, UseListViewForComboBoxItems, UsePlainTextEditForTextInput } | +|-------|--------------------------------------------------------------------------------------------| +| flags | InputDialogOptions | +| enum | InputMode { TextInput, IntInput, DoubleInput } | + + + +| 常量 | 描述 | +|--------------------------------------------|------------------------------------------------------------| +| QInputDialog::NoButtons | 不显示确定和取消按钮 | +| QInputDialog::UseListViewForComboBoxItems | 使用QListView而不是不可编辑的QComboxItems来显示使用SetComboxItems()设置的项目。 | +| QInputDialog::UsePlainTextEditForTextInput | 使用QPlainTextEdit进行多行文本输入。在这个值中在5.2中被引入。 | + + + +| 常量 | 描述 | +|---------------------------|---------------| +| QInputDialog::TextInput | 用于输入文本字符串。 | +| QInputDialog::IntInput | 用于输入整数。 | +| QInputDialog::DoubleInput | 用于以双精度输入的浮点数。 | + + + +| 声明 | 描述 | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------| +| void setInputMode(InputMode mode); | 设置输入模式 | +| InputMode inputMode() const; | 获取输入模式 | +| void setLabelText(const QString &text); | 设置标签文本 | +| QString labelText() const; | 获取标签文本 | +| void setOption(InputDialogOption option, bool on = true); | 设置选项 | +| bool testOption(InputDialogOption option) const; | 测试选项 | +| void setOptions(InputDialogOptions options); | 设置选项 | +| InputDialogOptions options() const; | 获取输入框选项 | +| void setTextValue(const QString &text); | 设置文本值 | +| QString textValue() const; | 获取文本值 | +| void setTextEchoMode(QLineEdit::EchoMode mode); | 设置文本模式 | +| QLineEdit::EchoMode textEchoMode() const; | 获取文本模式 | +| void setComboBoxEditable(bool editable); | 设置组合框可编辑 | +| bool isComboBoxEditable() const; | 返回组合框是否可以编辑 | +| void setComboBoxItems(const QStringList &items); | 设置组合框项目 | +| QStringList comboBoxItems() const; | 返回组合框列表 | +| void setIntValue(int value); | 设置int类型的值 | +| int intValue() const; | 获取int类型的值 | +| void setIntMinimum(int min); | 设置int类型的最低值 | +| int intMinimum() const; | 获取int最低值 | +| void setIntMaximum(int max); | 设置int类型最大值 | +| int intMaximum() const; | 获取int最大值 | +| void setIntRange(int min, int max); | 设置int范围 | +| void setIntStep(int step); | 设置int步数 | +| int intStep() const; | 获取int步数 | +| void setDoubleValue(double value); | 设置double值 | +| double doubleValue() const; | 获取double值 | +| void setDoubleMinimum(double min); | 设置double最小值 | +| double doubleMinimum() const; | 获取double最小值 | +| void setDoubleMaximum(double max); | 设置double最大值 | +| double doubleMaximum() const; | 获取double最大值 | +| void setDoubleRange(double min, double max); | 设置double范围 | +| void setDoubleDecimals(int decimals); | 设置两个小数 | +| int doubleDecimals() const; | 返回小数位数 | +| void setOkButtonText(const QString &text); | 设置确认按钮文本 | +| QString okButtonText() const; | 获取确认按钮文本 | +| void setCancelButtonText(const QString &text); | 设置取消按钮文本 | +| QString cancelButtonText() const; | 获取取消按钮文本 | +| void open(QObject *receiver, const char *member); | 此函数将其信号之一连接到接收器和成员指定的插槽。特定信号取决于在成员中指定的参数。 | +| void setVisible(bool visible) override; | 设置是否可见 | +| QSize minimumSizeHint() const override; | 最小尺寸提示 | +| QSize sizeHint() const override; | 尺寸提示 | +| static QString getText(QWidget *parent,const QString &label,QLineEdit::EchoMode echo = QLineEdit::Normal,const QString &text = String(), bool *ok = nullptr,Qt::WindowFlags flags = Qt::WindowFlags(),Qt::InputMethodHints inputMethodHints = Qt::ImhNone); | 获取文本 | +| static QString getMultiLineText(QWidget *parent,const QString &label,const QString &text = QString(), bool *ok = nullptr,Qt::WindowFlags flags = Qt::WindowFlags(),Qt::InputMethodHints inputMethodHints = Qt::ImhNone); | 获取多行文本 | +| static QString getItem(QWidget *parent,const QString &label,const QStringList &items, int current = 0, bool editable = true,bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(),Qt::InputMethodHints inputMethodHints = Qt::ImhNone); | 获取项目 | +| static int getInt(QWidget *parent,const QString &label, int value = 0,int minValue = -2147483647, int maxValue = 2147483647,int step = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()) | 获取int型文本 | +| static double getDouble(QWidget *parent,const QString &label,double value = 0, double minValue = -2147483647,double maxValue = 2147483647, int decimals = 1, bool *ok = nullptr,Qt::WindowFlags flags = Qt::WindowFlags()); | 获取double类型文本 | +| void setDoubleStep(double step); | 设置double步数 | +| double doubleStep() const; | 获取double步数 | +| void setPlaceholderText(const QString &); | 设置PlaceholderText的文本内容(自1.2.0.12启用) | +| QString placeholderText() const; | 获取PlaceholderText的文本内容(自1.2.0.12启用) | -``` -+---------+-----------------------------------------------------------+ -| > enum | +---------------+---+------------+---------------+ | -| | | Inpu | { | NoButtons, | Us | | -| | | tDialogOption | | | eListViewForC | | -| | | | | | omboBoxItems, | | -| | +===============+===+============+===============+ | -| | | > Us | | | | | -| | | ePlainTextEdi | | | | | -| | | tForTextInput | | | | | -| | | > } | | | | | -| | +---------------+---+------------+---------------+ | -+=========+===========================================================+ -| > flags | > InputDialogOptions | -+---------+-----------------------------------------------------------+ -| > enum | > InputMode { TextInput, IntInput, DoubleInput } | -+---------+-----------------------------------------------------------+ -``` - - - -``` -+----------------------------------------------+----------------------------+ -| > 常量 | > 描述 | -+==============================================+============================+ -| > QInputDialog::NoButtons | > 不显示确定和取消按钮 | -+----------------------------------------------+----------------------------+ -| QInputDialog::UseListViewForComboBoxItems | 使用 QListView 而不是不可 | -| | | -| | 编辑的 QComboxItems 来显 | -| | | -| | 示使用 SetComboxItems() | -| | | -| | > 设置的项目。 | -+----------------------------------------------+----------------------------+ -| > QInputDialog::UsePlainTextEditForTextInput | 使用 QPlainTextEdit 进行多 | -| | | -| | 行文本输入。在这个值中在 | -| | | -| | > 5.2 中被引入。 | -+----------------------------------------------+----------------------------+ -``` - - - -``` -+-----------------------------+------------------------------+ -| > 常量 | > 描述 | -+=============================+==============================+ -| > QInputDialog::TextInput | > 用于输入文本字符串。 | -+-----------------------------+------------------------------+ -| > QInputDialog::IntInput | > 用于输入整数。 | -+-----------------------------+------------------------------+ -| > QInputDialog::DoubleInput | > 用于以双精度输入的浮点数。 | -+-----------------------------+------------------------------+ -``` - - - -``` -+------------------------------------------------------+----------------+ -| 声明 | 描述 | -+======================================================+================+ -| > void setInputMode(InputMode mode); | > 设置输入模式 | -+------------------------------------------------------+----------------+ -| > InputMode inputMode() const; | > 获取输入模式 | -+------------------------------------------------------+----------------+ -| > void setLabelText(const QString &text); | > 设置标签文本 | -+------------------------------------------------------+----------------+ -| > QString labelText() const; | > 获取标签文本 | -+------------------------------------------------------+----------------+ -| > void setOption(InputDialogOption option, bool on = | > 设置选项 | -| > | | -| > true); | | -+------------------------------------------------------+----------------+ -| > bool testOption(InputDialogOption option) const; | > 测试选项 | -+------------------------------------------------------+----------------+ -``` - - - -``` -+-------------------------------------------+-------------------------+ -| > void setOptions(InputDialogOptions | > 设置选项 | -| > options); | | -+===========================================+=========================+ -| > InputDialogOptions options() const; | > 获取输入框选项 | -+-------------------------------------------+-------------------------+ -| > void setTextValue(const QString &text); | > 设置文本值 | -+-------------------------------------------+-------------------------+ -| > QString textValue() const; | > 获取文本值 | -+-------------------------------------------+-------------------------+ -| > void | > 设置文本模式 | -| > setTextEchoMode(QLineEdit::EchoMode | | -| > mode); | | -+-------------------------------------------+-------------------------+ -| > QLineEdit::EchoMode textEchoMode() | > 获取文本模式 | -| > const; | | -+-------------------------------------------+-------------------------+ -| > void setComboBoxEditable(bool | > 设置组合框可编辑 | -| > editable); | | -+-------------------------------------------+-------------------------+ -| > bool isComboBoxEditable() const; | 返回组合框是否可以编 | -| | | -| | > 辑 | -+-------------------------------------------+-------------------------+ -| > void setComboBoxItems(const QStringList | > 设置组合框项目 | -| > &items); | | -+-------------------------------------------+-------------------------+ -| > QStringList comboBoxItems() const; | > 返回组合框列表 | -+-------------------------------------------+-------------------------+ -| > void setIntValue(int value); | > 设置 int 类型的值 | -+-------------------------------------------+-------------------------+ -| > int intValue() const; | > 获取 int 类型的值 | -+-------------------------------------------+-------------------------+ -| > void setIntMinimum(int min); | > 设置 int 类型的最低值 | -+-------------------------------------------+-------------------------+ -| > int intMinimum() const; | > 获取 int 最低值 | -+-------------------------------------------+-------------------------+ -| > void setIntMaximum(int max); | > 设置 int 类型最大值 | -+-------------------------------------------+-------------------------+ -| > int intMaximum() const; | > 获取 int 最大值 | -+-------------------------------------------+-------------------------+ -| > void setIntRange(int min, int max); | > 设置 int 范围 | -+-------------------------------------------+-------------------------+ - -+----------------------------------------------+----------------------+ -| > void setIntStep(int step); | > 设置 int 步数 | -+==============================================+======================+ -| > int intStep() const; | > 获取 int 步数 | -+----------------------------------------------+----------------------+ -| > void setDoubleValue(double value); | > 设置 double 值 | -+----------------------------------------------+----------------------+ -| > double doubleValue() const; | > 获取 double 值 | -+----------------------------------------------+----------------------+ -| > void setDoubleMinimum(double min); | > 设置 double 最小值 | -+----------------------------------------------+----------------------+ -| > double doubleMinimum() const; | > 获取 double 最小值 | -+----------------------------------------------+----------------------+ -| > void setDoubleMaximum(double max); | > 设置 double 最大值 | -+----------------------------------------------+----------------------+ -| > double doubleMaximum() const; | > 获取 double 最大值 | -+----------------------------------------------+----------------------+ -| > void setDoubleRange(double min, double | > 设置 double 范围 | -| > max); | | -+----------------------------------------------+----------------------+ -| > void setDoubleDecimals(int decimals); | > 设置两个小数 | -+----------------------------------------------+----------------------+ -| > int doubleDecimals() const; | > 返回小数位数 | -+----------------------------------------------+----------------------+ -| > void setOkButtonText(const QString &text); | > 设置确认按钮文本 | -+----------------------------------------------+----------------------+ -| > QString okButtonText() const; | > 获取确认按钮文本 | -+----------------------------------------------+----------------------+ -| > void setCancelButtonText(const QString | > 设置取消按钮文本 | -| > &text); | | -+----------------------------------------------+----------------------+ -| > QString cancelButtonText() const; | > 获取取消按钮文本 | -+----------------------------------------------+----------------------+ -| > void open(QObject \*receiver, const char | 此函数将其信号之一连 | -| > \*member); | | -| | 接到接收器和成员指定 | -| | | -| | 的插槽。特定信号取决 | -+----------------------------------------------+----------------------+ - -+------------------------------------------------+----------------------------+ -| | 于 在 成 员 中 指 定 的 参 | -| | | -| | > 数。 | -+================================================+============================+ -| > void setVisible(bool visible) override; | > 设置是否可见 | -+------------------------------------------------+----------------------------+ -| > QSize minimumSizeHint() const override; | > 最小尺寸提示 | -+------------------------------------------------+----------------------------+ -| > QSize sizeHint() const override; | > 尺寸提示 | -+------------------------------------------------+----------------------------+ -| static QString getText(QWidget \*parent,const | > 获取文本 | -| | | -| > QString &label, | | -| > | | -| > QLineEdit::EchoMode echo = | | -| > | | -| > QLineEdit::Normal, | | -| > | | -| > const QString &text = QString(), bool \*ok = | | -| > | | -| > nullptr, | | -| | | -| Qt::WindowFlags flags = Qt::WindowFlags(), | | -| | | -| > Qt::InputMethodHints inputMethodHints = | | -| > | | -| > Qt::ImhNone); | | -+------------------------------------------------+----------------------------+ -| > static QString getMultiLineText(QWidget | > 获取多行文本 | -| > | | -| > \*parent,const QString &label, | | -| > | | -| > const QString &text = QString(), bool \*ok = | | -| > | | -| > nullptr, | | -| | | -| Qt::WindowFlags flags = Qt::WindowFlags(), | | -| | | -| > Qt::InputMethodHints inputMethodHints = | | -| > | | -| > Qt::ImhNone); | | -+------------------------------------------------+----------------------------+ -| static QString getItem(QWidget \*parent,const | > 获取项目 | -| | | -| > QString &label, | | -+------------------------------------------------+----------------------------+ - -+----------------------------------------+----------------------------+ -| > const QStringList &items, int | | -| > current = 0, bool | | -| > | | -| > editable = true, | | -| > | | -| > bool \*ok = nullptr, Qt::WindowFlags | | -| > flags = | | -| > | | -| > Qt::WindowFlags(), | | -| > | | -| > Qt::InputMethodHints | | -| > inputMethodHints = | | -| > | | -| > Qt::ImhNone); | | -+========================================+============================+ -| > static int getInt(QWidget | > 获取 int 型文本 | -| > \*parent,const QString | | -| > | | -| > &label, int value = 0, | | -| > | | -| > int minValue = -2147483647, int | | -| > maxValue = | | -| > | | -| > 2147483647, | | -| > | | -| > int step = 1, bool \*ok = nullptr, | | -| > Qt::WindowFlags | | -| > | | -| > flags = Qt::WindowFlags()) | | -+----------------------------------------+----------------------------+ -| > static double getDouble(QWidget | > 获取 double 类型文本 | -| > \*parent,const | | -| > | | -| > QString &label, | | -| > | | -| > double value = 0, double minValue = | | -| > - | | -| > | | -| > 2147483647, | | -| > | | -| > double maxValue = 2147483647, int | | -| > decimals = | | -| > | | -| > 1, bool \*ok = nullptr, | | -| | | -| Qt::WindowFlags flags = | | -| Qt::WindowFlags()); | | -+----------------------------------------+----------------------------+ -| > void setDoubleStep(double step); | > 设置 double 步数 | -+----------------------------------------+----------------------------+ -| > double doubleStep() const; | > 获取 double 步数 | -+----------------------------------------+----------------------------+ -| > void setPlaceholderText(const | 设 置 PlaceholderText 的 | -| > QString &); | | -| | 文 本 内 容 ( 自 1.2.0.12 | -+----------------------------------------+----------------------------+ - -+------------------------------------+----------------------------+ -| | > 启用) | -+====================================+============================+ -| > QString placeholderText() const; | 获 取 PlaceholderText 的 | -| | | -| | 文 本 内 容 ( 自 1.2.0.12 | -| | | -| | > 启用) | -+------------------------------------+----------------------------+ -``` #### **4.1.2.4** 进度对话框 > > 功能描述:KProgressDialog,继承自 QDialog,参考 QProgressDialog 源码, - -对子控件 ProgressBar 的样式进行了调整。可以设置具体下载信息是否需要显 - -> 示,设置进度值的后缀等。 +对子控件 ProgressBar 的样式进行了调整。可以设置具体下载信息是否需要显示,设置进度值的后缀等。 ``` -+----------------------------------------------------------------------+ -| > KProgressDialog \*progress2 = new | -| > KProgressDialog(tr(\"下载\"),tr(\"取消 | -| > | -| > \"),0,100,this); | -| > | -| > progress2-\>setSubContent(\"下载中\...\"); | -| > | -| > progress2-\>setSuffix(\"MB\"); | -| > | -| > progress2-\>setWindowTitle(\"进度对话框\"); | -| > | -| > progress2-\>setWindowIcon(\"kylin-music\"); | -| > | -| > progress2-\>setValue(50); | -| > | -| > progress2-\>setShowDetail(false); | -+----------------------------------------------------------------------+ +KProgressDialog *progress2 = new KProgressDialog(tr("下载"),tr("取消"),0,100,this); +progress2->setSubContent("下载中..."); +progress2->setSuffix("MB"); +progress2->setWindowTitle("进度对话框"); +progress2->setWindowIcon("kylin-music"); +progress2->setValue(50); +progress2->setShowDetail(false); ``` @@ -2201,111 +1681,36 @@ aux_source_directory(. SOURCESCODE) ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image13.png) -``` -+------------------------------------+--------------------------------+ -| 声明 | 描述 | -+====================================+================================+ -| > void setLabel(QLabel \*label); | > 将标签设置给 label。进度对话 | -| | > | -| | > 框会调整大小以适应。标签成 | -| | > | -| | > 为进度对话框的所有权,必要 | -| | > | -| | > 时将被删除,所以不要在堆栈 | -| | > | -| | > 中传递对象的地址。 | -+------------------------------------+--------------------------------+ -| > void setCancelButton(QPushButton | > 将取消按钮设置给按钮, | -| > \*button); | > | -| | > cancelButton。进度对话框拥有 | -| | > | -| | > 这个按钮的所有权,这个按钮 | -| | > | -| | > 在必要时将被删除,所以不要 | -| | > | -| | > 传递堆栈中的对象的地址,用 | -| | > | -| | > new()来创建按钮。如果传递 | -| | > | -| | > nullptr,将不会显示取消按 | -| | > | -| | > 钮。 | -+------------------------------------+--------------------------------+ -| > void setBar(QProgressBar \*bar); | 将进度条部件设置给 bar。进度 | -| | | -| | > 对话框会调整大小以适应。进 | -| | > | -| | > 度条对话框拥有进度条的所有 | -| | > | -| | > 权,该进度条将在必要时被删 | -+------------------------------------+--------------------------------+ - -+------------------------------------------+--------------------------------+ -| | > 除,所以不要使用分配在堆栈 | -| | > | -| | > 中的进度条。 | -+==========================================+================================+ -| > void setSuffix(const QString& suffix); | > 设置 detail 的后缀 | -+------------------------------------------+--------------------------------+ -| > void setShowDetail(bool flag); | > 设置是否显示详细信息 | -+------------------------------------------+--------------------------------+ -| > int minimum() const; | > 返回最小值 | -+------------------------------------------+--------------------------------+ -| > int maximum() const; | > 返回最大值 | -+------------------------------------------+--------------------------------+ -| > int value() const | > 返回当前值 | -+------------------------------------------+--------------------------------+ -| > QString labelText() const; | > 返回提示内容 | -+------------------------------------------+--------------------------------+ -| > void setAutoReset(bool reset); | > 设置进度对话框是否在 value() | -| | > | -| | > 等于 maximum()时立即调用 | -| | > | -| | > reset(),默认为 true。 | -+------------------------------------------+--------------------------------+ -| > bool autoReset() const; | > 返回是否自动重置 | -+------------------------------------------+--------------------------------+ -| > void setAutoClose(bool close); | > 设置是否自动关闭对话框 | -+------------------------------------------+--------------------------------+ -| > bool autoClose() const; | > 返回是否自动关闭对话框 | -+------------------------------------------+--------------------------------+ -| > QProgressBar\* progressBar(); | > 获取进度条 | -+------------------------------------------+--------------------------------+ -| > void cancel(); | > 取消进度条。 | -+------------------------------------------+--------------------------------+ -| > void reset(); | > 重置进度条。 | -+------------------------------------------+--------------------------------+ -| > void setMaximum(int maximum) | > 设置进度条所代表的最高值, | -| | > | -| | > 默认值是 100。 | -+------------------------------------------+--------------------------------+ - -+-------------------------------------------+--------------------------------+ -| > void setMinimum(int minimum) | > 设置进度条所代表的最小值, | -| | > | -| | > 默认值是 0。 | -+===========================================+================================+ -| > void setRange(int minimum, int maximum) | > 设置进度条范围,如果最大值 | -| | > | -| | > 小于最小值,则最小值成为唯 | -| | > | -| | > 一的合法值。如果当前值超出 | -| | > | -| | > 了新的范围,则用 reset()重置 | -| | > | -| | > 进度框。 | -+-------------------------------------------+--------------------------------+ -| > void setValue(int progress) | > 设置当前进度值。 | -+-------------------------------------------+--------------------------------+ -| > void setLabelText(const QString &text) | > 设置提示标签文本。 | -+-------------------------------------------+--------------------------------+ -| > void setCancelButtonText(const QString | > 设置取消按钮文本。 | -| > | | -| > &text) | | -+-------------------------------------------+--------------------------------+ -| > void setSubContent(const QString &text) | > 设置次级内容。 | -+-------------------------------------------+--------------------------------+ -``` + + +| 声明 | 描述 | +|-----------------------------------------------|---------------------------------------------------------------------------------------------------------| +| void setLabel(QLabel *label); | 将标签设置给label。进度对话框会调整大小以适应。标签成为进度对话框的所有权,必要时将被删除,所以不要在堆栈中传递对象的地址。 | +| void setCancelButton(QPushButton *button); | 将取消按钮设置给按钮,cancelButton。进度对话框拥有这个按钮的所有权,这个按钮在必要时将被删除,所以不要传递堆栈中的对象的地址,用new()来创建按钮。如果传递nullptr,将不会显示取消按钮。 | +| void setBar(QProgressBar *bar); | 将进度条部件设置给bar。进度对话框会调整大小以适应。进度条对话框拥有进度条的所有权,该进度条将在必要时被删除,所以不要使用分配在堆栈中的进度条。 | +| void setSuffix(const QString& suffix); | 设置detail的后缀 | +| void setShowDetail(bool flag); | 设置是否显示详细信息 | +| int minimum() const; | 返回最小值 | +| int maximum() const; | 返回最大值 | +| int value() const | 返回当前值 | +| QString labelText() const; | 返回提示内容 | +| void setAutoReset(bool reset); | 设置进度对话框是否在value()等于maximum()时立即调用reset(),默认为true。 | +| bool autoReset() const; | 返回是否自动重置 | +| void setAutoClose(bool close); | 设置是否自动关闭对话框 | +| bool autoClose() const; | 返回是否自动关闭对话框 | +| QProgressBar* progressBar(); | 获取进度条 | +| void cancel(); | 取消进度条。 | +| void reset(); | 重置进度条。 | +| void setMaximum(int maximum) | 设置进度条所代表的最高值,默认值是100。 | +| void setMinimum(int minimum) | 设置进度条所代表的最小值,默认值是0。 | +| void setRange(int minimum, int maximum) | 设置进度条范围,如果最大值小于最小值,则最小值成为唯一的合法值。如果当前值超出了新的范围,则用reset()重置进度框。 | +| void setValue(int progress) | 设置当前进度值。 | +| void setLabelText(const QString &text) | 设置提示标签文本。 | +| void setCancelButtonText(const QString &text) | 设置取消按钮文本。 | +| void setSubContent(const QString &text) | 设置次级内容。 | + + + #### **4.1.2.5** 程序卸载对话框 @@ -2318,31 +1723,21 @@ aux_source_directory(. SOURCESCODE) ``` -+----------------------------------------------------------------------+ -| > KUninstallDialog \*uninstallDialog = new | -| > KUninstallDialog(\"browser360-cn-stable\",\"104\",this); | -+----------------------------------------------------------------------+ +KUninstallDialog *uninstallDialog = new KUninstallDialog("browser360-cn-stable","104",this); ``` ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image14.png) -``` -+-------------------------------------+---------------------------+ -| 声明 | 描述 | -+=====================================+===========================+ -| > QLabel\* debAppNameLabel(); | > 获取应用名称的 label | -+-------------------------------------+---------------------------+ -| > QLabel\* debNameLabel(); | > 获取包名的 label | -+-------------------------------------+---------------------------+ -| > QLabel\* debIconLabel(); | > 获取应用图标的 label | -+-------------------------------------+---------------------------+ -| > QLabel\* debVersionLabel(); | > 获取包版本的 label | -+-------------------------------------+---------------------------+ -| > QPushButton\* uninstallButtton(); | > 获取卸载按钮 pushbutton | -+-------------------------------------+---------------------------+ -``` +| 声明 | 描述 | +|----------------------------------|------------------| +| QLabel* debAppNameLabel(); | 获取应用名称的label | +| QLabel* debNameLabel(); | 获取包名的label | +| QLabel* debIconLabel(); | 获取应用图标的label | +| QLabel* debVersionLabel(); | 获取包版本的label | +| QPushButton* uninstallButtton(); | 获取卸载按钮pushbutton | + @@ -2362,13 +1757,12 @@ aux_source_directory(. SOURCESCODE) > 枚举类型 -| | | +| | | |-------|-----------------------------------------------| | enum  | LoginState{Ordinary,LoginSuccess,LoginFailed} | -| | | -|------------------------------------------|------------------------| | 声明 | 描述 | +|------------------------------------------|------------------------| | void setState(LoginState state); | 设置登录状态 | | LoginState state(); | 返回登录状态 | | void setLoading(bool flag); | 设置是否启用加载状态。 | @@ -2396,9 +1790,8 @@ aux_source_directory(. SOURCESCODE) -| | | -|---------------------------------------------------|---------------------------| | 声明 | 描述 | +|---------------------------------------------------|---------------------------| | void setEnabled(bool); | 设置是否可用 | | bool isEnabled(); | 返回是否可用 | | void setClearButtonEnabled(bool enable); | 设置是否显示清除按钮 | @@ -2435,9 +1828,8 @@ m_pBtn1->setPalette(palette); > QPushButton 中的各接口均适用,支持四种构造方法。 -| | | -|-----------------------------------------------------------------------------------|-------------------| | 声明 | 描述 | +|-----------------------------------------------------------------------------------|-------------------| | KBorderButton(QWidget* parent = nullptr); | 仅一个button | | KBorderButton(const QString &text, QWidget *parent = nullptr); | 构造一个带文本button | | KBorderButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr); | 构造一个带文本和图标的button | @@ -2456,9 +1848,8 @@ m_pBtn1->setPalette(palette); > QPushButton 中的各接口均适用,支持四种构造方法。 -| | | +| 声明 | 描述 | |---------------------------------------------------------------------------------------|-------------------| -| 声明 | 描述 | | KBorderlessButton(QWidget* parent = nullptr); | 仅一个button | | KBorderlessButton(const QString &text, QWidget *parent = nullptr); | 构造一个带文本button | | KBorderlessButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr); | 构造一个带文本和图标的button | @@ -2469,22 +1860,15 @@ m_pBtn1->setPalette(palette); #### **4.1.4.3** 下拉菜单按钮 > -> 功能描述:KMenuButton,继承自 QPushButon,默认 ICon 为"open-menu- - -symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题","帮 - -助","关于","退出",主题中包括 3 个二级选项,分别是:"跟随主 - -> 题","浅色主题","深色主题"。 +> 功能描述:KMenuButton,继承自 QPushButon,默认 ICon 为"open-menu-symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题","帮助","关于","退出",主题中包括 3 个二级选项,分别是:"跟随主题","浅色主题","深色主题"。 ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image18.png) > QPushButton 的各个接口均适用。 -| | | -|---------------------------|--------------| | 声明 | 描述 | +|---------------------------|--------------| | QMenu* menu(); | 获取主菜单 | | QMenu* themeMenu(); | 获取主题菜单 | | QAction* settingAction(); | 获取设置action | @@ -2499,18 +1883,15 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" #### **4.1.4.4** 开关按钮 > -> 功能描述:KSwitchButton,继承自 QPushButton,对按钮进行了重绘,用于 -> -> 指示开/关状态。 +> 功能描述:KSwitchButton,继承自 QPushButton,对按钮进行了重绘,用于指示开/关状态。 > ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image19.png) ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image20.png) -| | | -|---------------------------------|--------------------------| | 声明 | 描述 | +|---------------------------------|--------------------------| | void setCheckable(bool); | 设置是否可选中 | | bool isCheckable() const; | 返回是否可选中 | | bool isChecked() const; | 返回是否选中 | @@ -2522,9 +1903,7 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" #### **4.1.4.5** 工具按钮 > -> 功能描述:KToolButton,继承自 QToolButton,支持三种样式,支持 loading -> -> 状态,支持是否显示下拉按钮。 +> 功能描述:KToolButton,继承自 QToolButton,支持三种样式,支持 loading状态,支持是否显示下拉按钮。 > ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image21.png) > @@ -2535,9 +1914,8 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" | enum  | KToolButtonType{Flat,SemiFlat,Background} | -| | | +| 声明 | 描述 | |---------------------------------------|---------------------------------| -| 声明 | 描述 | | KToolButtonType type(); | 返回类型 | | void setType(KToolButtonType type); | 设置类型 | | void setIcon(const QIcon& icon); | 设置Icon | @@ -2552,26 +1930,19 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" #### **4.1.4.6** KPushButton > -> 功能描述:KPushButton,继承自 QPushButton,在 QPushButton 的基础上新 - -增提供半透明效果,可以设置按钮圆角、背景色、图标是否跟随系统高亮,还 - -可以设置按钮类型,分为正常类型和圆形(需要设置大小实现正圆)。自 - -> 1.2.0.10 版本启用。 +> 功能描述:KPushButton,继承自 QPushButton,在 QPushButton 的基础上新增提供半透明效果,可以设置按钮圆角、背景色、图标是否跟随系统高亮,还可以设置按钮类型,分为正常类型和圆形(需要设置大小实现正圆)。自 1.2.0.10 版本启用。 ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image22.png) > 枚举类型 -| | | +| | | |-------|----------------------------------------| | enum  | ButtonType { NormalType, CircleType }; | -| | | +| 声明 | 描述 | |--------------------------------------------------------------------------------|-------------------------------------| -| 声明 | 描述 | | void setBorderRadius(int radius); | 通过圆角半径设置按钮圆角(每个圆角相同) | | void setBorderRadius(int bottomLeft,int topLeft,int topRight,int bottomRight); | 通过四个点来设置圆角 | | int borderRadius(); | 获取按钮圆角 | @@ -2591,24 +1962,19 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" #### **4.1.4.7** KPressButton > -> 功能描述:KPressButton,继承自 QPushButton,在 QPushButton 的基础上新增 - -提供半透明效果,可以设置圆角,是否可选中,是否选中,还可以设置按钮的 - -> 类型以及是否启用 loading 的状态。自 1.2.0.10 版本启用。 +> 功能描述:KPressButton,继承自 QPushButton,在 QPushButton 的基础上新增提供半透明效果,可以设置圆角,是否可选中,是否选中,还可以设置按钮的类型以及是否启用 loading 的状态。自 1.2.0.10 版本启用。 > ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image23.png) > > 枚举类型 -| | | +| | | |-------|----------------------------------------| | enum  | ButtonType { NormalType, CircleType }; | -| | | -|--------------------------------------------------------------------------------|----------------------| | 声明 | 描述 | +|--------------------------------------------------------------------------------|----------------------| | void setBorderRadius(int radius); | 通过圆角半径设置按钮圆角(每个圆角相同) | | void setBorderRadius(int bottomLeft,int topLeft,int topRight,int bottomRight); | 通过四个点来设置圆角 | | void setCheckable(bool); | 设置是否可选中 | @@ -2628,18 +1994,15 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" ### **4.1.5** Bar 模块 #### **4.1.5.1** KIconBar -> 功能描述:KWidget 和 KDialog 的一个组成部分,用于显示图标和窗口名 -> -> 称。 +> 功能描述:KWidget 和 KDialog 的一个组成部分,用于显示图标和窗口名称。 > ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image24.png) -| | | +| 声明 | 描述 | |-----------------------------------------------|-----------| -| 声明 | 描述 | | void setIcon(const QString& iconName); | 设置图标名称 | | void setIcon(const QIcon& icon); | 设置图标 | | void setWidgetName(const QString& widgetName) | 设置标题 | @@ -2650,14 +2013,12 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" #### **4.1.5.2** KWindowButtonBar > -> 功能描述:KWidget 和 KDialog 的一个组成部分,用于下拉菜单、最小化、 -> -> 最大化、关闭按钮。 +> 功能描述:KWidget 和 KDialog 的一个组成部分,用于下拉菜单、最小化、最大化、关闭按钮。 > > 枚举类型 -| | | +| | | |-------|-------------------------------------| | enum  | MaximumButtonState{Maximum,Restore} | @@ -2666,9 +2027,8 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image25.png) -| | | -|-------------------------------------------------------|---------------------| | 声明 | 描述 | +|-------------------------------------------------------|---------------------| | QPushButton* minimumButton(); | 获取最小化按钮 | | QPushButton* maximumButton(); | 获取最大化按钮 | | QPushButton* closeButton(); | 获取关闭按钮 | @@ -2680,22 +2040,19 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" #### **4.1.5.3** 进度条 > -> 功能描述:KProgressBar,继承自 QProgressBar,支持三种状态:正常、完 -> -> 成和失败,支持是否显示进度值,支持水平和竖直。 +> 功能描述:KProgressBar,继承自 QProgressBar,支持三种状态:正常、完成和失败,支持是否显示进度值,支持水平和竖直。 > ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image26.png) > > 枚举类型 -| | | +| | | |-------|-----------------------------------------------------------------| | enum  | ProgressBarState{NormalProgress,FailedProgress,SuccessProgress} | -| | | -|----------------------------------------|------| | 声明 | 描述 | +|----------------------------------------|------| | ProgressBarState state(); | 获取状态 | | void setState(ProgressBarState state); | 设置状态 | | QString text() const override; | 获取文本 | @@ -2710,9 +2067,8 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image27.png) -| | | -|---------------------------------------|-----------------| | 声明 | 描述 | +|---------------------------------------|-----------------| | int minimum() const | 获取环形进度条的最小值。 | | int maximum() const | 获取环形进度条的最大值。 | | int value() const | 获取环形进度条的值。 | @@ -2732,14 +2088,12 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" > > 枚举类型 - -| | | +| | | |-------|------------------------------------------------| | enum  | KTabBarStyle{SegmentDark,SegmentLight,Sliding} | -| | | +| 声明 | 描述 | |----------------------------------------------|---------------------------------------| -| 声明 | 描述 | | void setTabBarStyle(KTabBarStyle barStyle); | 设置TabBar样式 | | KTabBarStyle barStyle(); | 返回TabBar样式 | | void setBorderRadius(int radius); | 设置圆角半径,只对SegmentDark,SegmentLight样式生效 | @@ -2749,16 +2103,11 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" #### **4.1.5.6** 导航栏 > -> 功能描述:KNavigationBar,支持显示三种样式的 item,带图标的表示一级 - -导航的 item,不带图标的表示二级的导航 item,还有表示组别的灰色字体的 +> 功能描述:KNavigationBar,支持显示三种样式的 item,带图标的表示一级导航的 item,不带图标的表示二级的导航 item,还有表示组别的灰色字体的item。 -> item。 - -| | | -|--------------------------------------------------------------------|----------------------| | 声明 | 描述 | +|--------------------------------------------------------------------|----------------------| | void addItem(QStandardItem*item); | 增加常规Item | | void addSubItem(QStandardItem*subItem); | 增加次级Item | | void addGroupItems(QListitems,const QString& tag); | 成组增加Item,在导航栏中会显示tag | @@ -2769,16 +2118,13 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" #### **4.1.5.7** KPixmapContainer > -> 功能描述:用于表示头像右上方消息提示信息,可以设置提示信息数值, -> -> 字体大小,背景色,图片大小。 +> 功能描述:用于表示头像右上方消息提示信息,可以设置提示信息数值,字体大小,背景色,图片大小。 > ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image29.png) -| | | -|----------------------------------------|----------| | 声明 | 描述 | +|----------------------------------------|----------| | int value() const; | 获取值 | | void setValue(int value); | 设置值 | | void setValueVisiable(bool flag); | 设置值是否可见 | @@ -2809,13 +2155,12 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" > 枚举类型 -| | | +| | | |-------|--------------------------------------------------------------------| | enum  | KSliderType{SmoothSlider,StepSlider,NodeSlider,SingleSelectSlider} | -| | | -|---------------------------------------|--------------------------| | 声明 | 描述 | +|---------------------------------------|--------------------------| | void setTickInterval(int interval); | 设置节点间隔 | | void setSliderType(KSliderType type); | 设置滑动条类型 | | KSliderType sliderType(); | 获取滑动条类型 | @@ -2838,9 +2183,8 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image31.png) -| | | +| 声明 | 描述 | |-------------------------------------|-----------------------------| -| 声明 | 描述 | | int value(); | 返回值 | | void setValue(int value); | 设置值,最大显示数值为999,大于999显示"..." | | void setValueVisiable(bool flag); | 设置值是否可见 | @@ -2861,13 +2205,12 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" > 枚举类型 -| | | +| | | |-------|--------------------------------------------| | enum  | TipType{Nothing,Normal,Info,Warning,Error} | -| | | -|-------------------------------------------------------------------|---------------------| | 声明 | 描述 | +|-------------------------------------------------------------------|---------------------| | void showInfo(); | 气泡在显示之后一定时间后自动消失 | | void setTipType(const TipType& type); | 设置类型 | | TipType tipType(); | 返回类型 | @@ -2881,9 +2224,7 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" #### **4.1.7.3** KSecurityLevelBar > -> 功能描述:密码强度提示条,用于指示密码强度等级。分为低,中,高三 -> -> 个等级,等级具体划分策略由应用程序指定。 +> 功能描述:密码强度提示条,用于指示密码强度等级。分为低,中,高三个等级,等级具体划分策略由应用程序指定。 ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image33.png) @@ -2893,14 +2234,12 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" > 枚举类型 - -| | | +| | | |-------|--------------------------------| | enum  | SecurityLevel{Low,Medium,High} | -| | | -|---------------------------------------------|--------| | 声明 | 描述 | +|---------------------------------------------|--------| | void setSecurityLevel(SecurityLevel level); | 设置安全等级 | | SecurityLevel securityLevel(); | 获取安全等级 | @@ -2916,13 +2255,12 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" > 枚举类型 -| | | +| | | |-------|----------------------------------------------------| | enum  | KBreadCrumbType { FlatBreadCrumb, CubeBreadCrumb } | -| | | -|----------------------------------|-------------------------| | 声明 | 描述 | +|----------------------------------|-------------------------| | void setIcon(const QIcon &icon); | 设置图标 | | QIcon icon() const; | 返回图标 | | bool isFlat() const; | 返回KBreadCrumb是否为flat类型。 | @@ -2933,7 +2271,7 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" ### **4.1.9** KCommentPanel -| | | +| | | |-------|-------------------------------------------------------------------------------| | enum  | StarLevel {LevelZero =0, LevelOne, LevelTwo, LevelThree, LevelFour,LevelFive} | @@ -2942,9 +2280,8 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" > 枚举类型 -| | | -|---------------------------------|--------| | 声明 | 描述 | +|---------------------------------|--------| | void setIcon(const QIcon&); | 设置图标 | | void setTime(const QString&); | 设置评论时间 | | void setName(const QString&); | 设置评论名称 | @@ -2954,9 +2291,7 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" ### **4.1.10** KListView > -> 提供一个图片两行文字的显示效果,若只有一行文字,则对于 icon 居中显 -> -> 示 。 +> 提供一个图片两行文字的显示效果,若只有一行文字,则对于 icon 居中显示 。 ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image37.png) @@ -2970,14 +2305,12 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" > 枚举类型 - -| | | +| | | |-------|-----------------------------------------------------------| | enum  | TagStyle { HighlightTag, BoderTag, BaseBoderTag, GrayTag} | -| | | -|-----------------------------------|-------------| | 声明 | 描述 | +|-----------------------------------|-------------| | void setClosable(bool flag) | 设置标签是否可以关闭。 | | bool closable() | 返回标签是否可以关闭。 | | void setText(const QString &text) | 设置标签的文本。 | @@ -2989,16 +2322,13 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" ### **4.1.12** KTranslucentFloor > -> KTranslucentFloor,继承自 QFrame,提供一个毛玻璃底板,可以设置圆角 -> -> 以及是否添加阴影效果。自 1.2.0.12 版本启用。 +> KTranslucentFloor,继承自 QFrame,提供一个毛玻璃底板,可以设置圆角以及是否添加阴影效果。自 1.2.0.12 版本启用。 ![输入图片说明](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/image40.png) -| | | -|-------------------------------------|--------------------------| | 声明 | 描述 | +|-------------------------------------|--------------------------| | void setBorderRadious(int radious); | 设置圆角半径 | | int borderRadius(); | 返回圆角半径 | | void setShadow(bool flag); | 设置是否显示阴影 | @@ -3011,12 +2341,10 @@ symbolic",一级菜单中包含 5 个选项,分别是:"设置","主题" ## 4.2 Wayland-helper > -> 该模块主要负责提供在 X 平台和 Wayland 平台下均能生效的兼容接口,使 -> -> 应用无需考虑显示平台的差异。该模块安装方式如下: -> -> sudo apt install libkysdk-waylandhelper libkysdk-waylandhelper-dev -> +> 该模块主要负责提供在 X 平台和 Wayland 平台下均能生效的兼容接口,使应用无需考虑显示平台的差异。该模块安装方式如下: +``` +sudo apt install libkysdk-waylandhelper libkysdk-waylandhelper-dev +``` > 根据不同项目类型,可参考以下 demo 构建项目: > > (1) .pro 文件构建项目: @@ -3034,34 +2362,21 @@ PKGCONFIG += kysdk-waylandhelper ``` - cmake_minimum_required(VERSION 3.5) - - find_package(Qt5 COMPONENTS Widgets REQUIRED) - - find_package(PkgConfig REQUIRED) - - pkg_check_modules(KYSDKWAYLANDHELPER_PKG kysdk-waylandhelper) - - target_include_directories(demo PRIVATE - - \${KYSDKWAYLANDHELPER_PKG_INCLUDE_DIRS}) - - target_link_directories(demo PRIVATE - - \${KYSDKWAYLANDHELPER_PKG_LIBRARY_DIRS}) - - target_link_libraries(demo Qt5::Widgets - - \${KYSDKWAYLANDHELPER_PKG_LIBRARIES}) +cmake_minimum_required(VERSION 3.5) +find_package(Qt5 COMPONENTS Widgets REQUIRED) +find_package(PkgConfig REQUIRED) +pkg_check_modules(KYSDKWAYLANDHELPER_PKG kysdk-waylandhelper) +target_include_directories(demo PRIVATE ${KYSDKWAYLANDHELPER_PKG_INCLUDE_DIRS}) +target_link_directories(demo PRIVATE ${KYSDKWAYLANDHELPER_PKG_LIBRARY_DIRS}) +target_link_libraries(demo Qt5::Widgets ${KYSDKWAYLANDHELPER_PKG_LIBRARIES}) ``` ### **4.2.1** WindowManager -| | | -|-----------------------------------------------------------------|-------------------------------------------------| | 声明 | 描述 | +|-----------------------------------------------------------------|-------------------------------------------------| | static WindowManager* self(); | 获取单例对象 | | static WindowInfo getwindowInfo(const WindowId& windowId); | 获取窗口信息 | | static WindowId currentActiveWindow(); | 获取当前活动窗口 | @@ -3093,9 +2408,8 @@ PKGCONFIG += kysdk-waylandhelper ### **4.2.2** WindowInfo -| | | -|------------------------------------------------|----------------| | 声明 | 描述 | +|------------------------------------------------|----------------| | inline bool isMaximized() const; | 返回窗口是否是最大化状态 | | inline bool isMinimized() const; | 返回窗口是否是最小化状态 | | inline bool isMaximizable() const; | 返回窗口是否可以最大化 | @@ -3112,9 +2426,8 @@ PKGCONFIG += kysdk-waylandhelper ### **4.2.3** UkuiStyleHelper -| | | -|-------------------------------------|---------| | 声明 | 描述 | +|-------------------------------------|---------| | static UkuiStyleHelper *self(); | 获取单例对象 | | void removeHeader(QWidget* widget); | 移除窗管标题栏 | @@ -3125,10 +2438,9 @@ PKGCONFIG += kysdk-waylandhelper ### 4.3.1 日志模块 -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |------|------|--------------------------------------------------------------------------------------------------|--------------------| -| 子模块 | 编程语言 | 声明 | 描述 | -| 日志模块 | C++ | static void logOutput(QtMsgType type , const QMessageLogContext &context , const QString &msg); | 用于Qt注册日志函数,不应单独调用. | +| 日志模块 | C++ | static void logOutput(QtMsgType type , const QMessageLogContext &context , const QString &msg); | 用于Qt注册日志函数,不应单独调用. | | | | 参数说明 | 返回值说明 | | | | type:日志类型 context:调用打印日志接口文件信息 msg:日志信息 | 无 | @@ -3136,30 +2448,24 @@ PKGCONFIG += kysdk-waylandhelper ### 4.3.2 系统相关模块 - -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |------|------|---------------------------------------------|------------| -| 子模块 | 编程语言 | 声明 | 描述 | -| 窗管模块 | C++ | static bool setWindowMotifHint(int winId); | 添加窗管协议 . | +| 窗管模块 | C++ | static bool setWindowMotifHint(int winId); | 添加窗管协议 . | | | | 参数说明 | 返回值说明 | | | | winId : 窗口 id | 成功 : true | | | | | 失败 : false | -| | | | | -|------|------|------------------------------------------|------------| | 子模块 | 编程语言 | 声明 | 描述 | -| 窗管模块 | C++ | static bool setScalingProperties(void); | 设置窗口缩放属性 | +|------|------|------------------------------------------|------------| +| 窗管模块 | C++ | static bool setScalingProperties(void); | 设置窗口缩放属性 | | | | 参数说明 | 返回值说明 | | | | 无 | 成功 : true | | | | | 失败 : false | - - -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |-----------|------|-----------------------------------------------------------------|---------------| -| 子模块 | 编程语言 | 声明 | 描述 | | session模块 | C++ | quint32 setInhibitLockScreen(AppName appName , QString reason); | 禁止系统锁屏 . | | | | 参数说明 | 返回值说明 | | | | appName : 应用名 | 成功 : 非 0 的正整数 | @@ -3167,9 +2473,8 @@ PKGCONFIG += kysdk-waylandhelper -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |-----------|------|----------------------------------------|------------| -| 子模块 | 编程语言 | 声明 | 描述 | | session模块 | C++ | bool unInhibitLockScreen(quint32 flag) | 取消禁止系统锁屏 . | | | | 参数说明 | 返回值说明 | | | | flag : 禁止锁屏标识 | 成功 : true | @@ -3180,44 +2485,40 @@ PKGCONFIG += kysdk-waylandhelper ### 4.3.3 d-bus 模块------即将废弃 -| | | | | -|---------|------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------| -| 子模块 | 编程语言 | 声明 | 描述 | -| d-bus模块 | C++ | static QList callMethod(QString serviceName, QString objectPath, QString interfaceName, QString methodName, QList args = QList()); | 函数调用 | -| | | 参数说明 | 返回值说明 | -| | | serviceName : 服务名 | 函数返回值 | -| | | objectPath : 对象路径 | | -| | | interfaceName : 接口名 | | -| | | methodName : 函数名 | | -| | | args : 参数列表 | | +| 子模块 | 编程语言 | 声明 | 描述 | +|-----------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------| +| d-bus模块 | C++ | static QList callMethod(QString serviceName, QString objectPath, QString interfaceName, QString methodName, QList args = QList()); | 函数调用 | +| | | 参数说明 | 返回值说明 | +| | | serviceName : 服务名 | 函数返回值 | +| | | objectPath : 对象路径 | | +| | | interfaceName : 接口名 | | +| | | methodName : 函数名 | | +| | | args : 参数列表 | | ### 4.3.4 系统信息模块 -| | | | | -|--------|------|-------------------------------------------------|-------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | -| 系统信息模块 | C++ | QString getLsbReleaseInformation(QString key); | 根据 lsb-release 文件的 key 值 获取信息 | +|--------|------|-------------------------------------------------|-------------------------------| +| 系统信息模块 | C++ | QString getLsbReleaseInformation(QString key); | 根据 lsb-release 文件的 key 值 获取信息 | | | | 参数说明 | 返回值说明 | | | | key : 键值 | 获取到的信息 , 为空时可能确实为空也可能失败 | -| | | | | -|--------|------|------------------------------------------------|------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | -| 系统信息模块 | C++ | QString getOsReleaseInformation(QString key); | 根据 os-release 文件的 key 值 获取信息 | +|--------|------|------------------------------------------------|------------------------------| +| 系统信息模块 | C++ | QString getOsReleaseInformation(QString key); | 根据 os-release 文件的 key 值 获取信息 | | | | 参数说明 | 返回值说明 | | | | key : 键值 | 获取到的信息 , 为空时可能确实为空也可能失败 | -| | | | | -|--------|------|-----------------------------------|--------------------------| | 子模块 | 编程语言 | 声明 | 描述 | -| 系统信息模块 | C++ | QString getProjectCodeName(void) | 获取 PROJECT_CODENAME 字段的值 | +|--------|------|-----------------------------------|--------------------------| +| 系统信息模块 | C++ | QString getProjectCodeName(void) | 获取 PROJECT_CODENAME 字段的值 | | | | 参数说明 | 返回值说明 | | | | 无 | 空 : 失败 | | | | | 非空 : 获取到的值 | @@ -3225,10 +2526,9 @@ PKGCONFIG += kysdk-waylandhelper -| | | | | -|--------|------|--------------------------------|------------| | 子模块 | 编程语言 | 声明 | 描述 | -| 系统信息模块 | C++ | QString getCpuModelName(void) | 获取 CPU 型号 | +|--------|------|--------------------------------|------------| +| 系统信息模块 | C++ | QString getCpuModelName(void) | 获取 CPU 型号 | | | | 参数说明 | 返回值说明 | | | | 无 | 空 : 失败 | | | | | 非空 : 获取到的值 | @@ -3236,10 +2536,9 @@ PKGCONFIG += kysdk-waylandhelper -| | | | | -|--------|------|-------------------------------|------------| | 子模块 | 编程语言 | 声明 | 描述 | -| 系统信息模块 | C++ | QString getHdPlatform(void); | 获取硬件平台信息 | +|--------|------|-------------------------------|------------| +| 系统信息模块 | C++ | QString getHdPlatform(void); | 获取硬件平台信息 | | | | 参数说明 | 返回值说明 | | | | 无 | 空 : 失败 | | | | | 非空 : 获取到的值 | @@ -3248,13 +2547,7 @@ PKGCONFIG += kysdk-waylandhelper # 5 基础开发 SDK > -> 该层设计主要为应用开发提供与操作系统无关的、高通用性、基础性的功 - -能集合。减少不同应用在实现相同功能式的差异性和复杂性。该层设计主要为 - -应用开发提供与操作系统无关的、高通用性、基础性的功能集合。减少不同应 - -> 用在实现相同功能式的差异性和复杂性。 +> 该层设计主要为应用开发提供与操作系统无关的、高通用性、基础性的功能集合。减少不同应用在实现相同功能式的差异性和复杂性。该层设计主要为应用开发提供与操作系统无关的、高通用性、基础性的功能集合。减少不同应用在实现相同功能式的差异性和复杂性。 > > 安装命令: @@ -3278,40 +2571,31 @@ $ sudo apt-get install libkysdk-log llibkysdk-log-dev > (1)CMakeLists.txt 构建项目 > -> aux_source_directory(. SOURCESCODE) -> -> add_library(kylog SHARED \${SOURCESCODE}) -> -> add_executable(kylog-testlog test/test-log.c) -> -> add_executable(kylog-testsetdir test/test-setdir.c) -> -> add_executable(kylog-testpressure test/test-pressure.c) -> -> add_executable(kylog-testautowrap test/test-autowrap.c) -> -> find_library(SYSTEMD_LIB systemd) -> -> target_link_libraries(kylog kyconf pthread \${SYSTEMD_LIB}) -> -> target_link_libraries(kylog-testlog kylog) -> -> target_link_libraries(kylog-testsetdir kylog) -> -> target_link_libraries(kylog-testautowrap kylog) -> -> target_link_libraries(kylog-testpressure kylog) -> +``` +aux_source_directory(. SOURCESCODE) +add_library(kylog SHARED ${SOURCESCODE}) +add_executable(kylog-testlog test/test-log.c) +add_executable(kylog-testsetdir test/test-setdir.c) +add_executable(kylog-testpressure test/test-pressure.c) +add_executable(kylog-testautowrap test/test-autowrap.c) +find_library(SYSTEMD_LIB systemd) +target_link_libraries(kylog kyconf pthread ${SYSTEMD_LIB}) +target_link_libraries(kylog-testlog kylog) +target_link_libraries(kylog-testsetdir kylog) +target_link_libraries(kylog-testautowrap kylog) +target_link_libraries(kylog-testpressure kylog) +``` > (2)调用日志模块,需要添加头文件: > -> \#include \"kysdk/kysdk-base/libkylog.h\" +``` +#include "kysdk/kysdk-base/libkylog.h" +``` > > 输出日志 -| | | -|---------------|---------------------------------| | 类型 | 声明 | +|---------------|---------------------------------| | 输出debug级别日志 | #define klog_debug(fmt , ...) | | 输出info级别日志 | #define klog_info(fmt , ...) | | 输出notice级别日志 | #define klog_notice(fmt , ...) | @@ -3325,10 +2609,8 @@ $ sudo apt-get install libkysdk-log llibkysdk-log-dev > 初始化日志记录 - -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |-----|------|-----------------------------------|----------------------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | 日志 | C | extern int | kdk_logger_init(const char *ini) | 初始化日志记录,也可以不调用该函数直接使用上方日志记录的宏,若以此方式运行,则程序会使用默认的日志配置文件 | | | | 参数说明 | 返回值说明 | | | | | ini:日志配置文件路径,若传入NULL则会使用默认的日志配置文件 | int,0表示成功,非0表示失败 | @@ -3336,10 +2618,8 @@ $ sudo apt-get install libkysdk-log llibkysdk-log-dev > 缓存区日志写入 - -| | | | | -|-----|------|-------------|--------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | +|-----|------|-------------|--------------------------------| | 日志 | C | extern void | kdk_logger_flush() DESTRUCTOR; | 在异步写入的方式下,可以调用该函数手动将缓存区中的日志写入文件中 | | | | 参数说明 | 返回值说明 | | | | | 无 | 无 | @@ -3348,10 +2628,8 @@ $ sudo apt-get install libkysdk-log llibkysdk-log-dev > 设置日志存储目录 - -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |-----|------|-------------------------------------------------|---------------------------------------------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | 日志 | C | extern int kdk_logger_setdir(const char* dpath) | 设置日志的存储目录,若不设置,非root程序会被记录在~/.log下,root程序会被记录在/var/log下 | | | | 参数说明 | 返回值说明 | | | | | dpath:日志存储路径 | int | 成功返回0,失败返回-1 | @@ -3361,9 +2639,8 @@ $ sudo apt-get install libkysdk-log llibkysdk-log-dev > 设置日志输出自动换行 -| | | | | -|-----|------|---------------------------------------------------|------------| | 子模块 | 编程语言 | 声明 | 描述 | +|-----|------|---------------------------------------------------|------------| | 日志 | C | extern void kdk_logger_set_autowrap(int autowarp) | 设置日志输出自动换行 | | | | 参数说明 | 返回值说明 | | | | | autowarp:1表示启用启动换行,0表示禁止自动换行 | 无 | @@ -3382,25 +2659,24 @@ $ sudo apt-get install libkysdk-timer libkysdk-timer-dev > (1)CMakeLists.txt 构建项目 > -> aux_source_directory(. SOURCESCODE) -> -> add_library(kytimer SHARED \${SOURCESCODE}) -> -> add_executable(test-kytimer test/test-kytimer.c) -> -> target_link_libraries(kytimer pthread) -> -> target_link_libraries(test-kytimer kytimer) -> +``` +aux_source_directory(. SOURCESCODE) +add_library(kytimer SHARED ${SOURCESCODE}) +add_executable(test-kytimer test/test-kytimer.c) +target_link_libraries(kytimer pthread) +target_link_libraries(test-kytimer kytimer) +``` + > (2)调用定时器模块,需要添加头文件: > -> \#include \"kysdk/kysdk-base/libkytimer.h\" +``` +#include "kysdk/kysdk-base/libkytimer.h" +``` > > 初始化定时器 -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |-----|------|----------------------|------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | 定时器 | C | int kdk_timer_init() | 初始化定时器核心组件 | | | | 参数说明 | 返回值说明 | | | | | 无 | int,0表示成功,非0表示失败 | @@ -3409,9 +2685,8 @@ $ sudo apt-get install libkysdk-timer libkysdk-timer-dev > 启动定时器 -| | | | | -|-----|------|----------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | +|-----|------|----------------------|------------------| | 定时器 | C | size_t | kdk_timer_start(unsigned int intervalms, time_handler callback, KTimerAttribute attr, KTimerType type, void* userdata, int freeOnDelete) | | | | 参数说明 | 返回值说明 | | | | intervalms:定时器时间,以毫秒为单位 | size_t定时器的ID | @@ -3426,9 +2701,8 @@ $ sudo apt-get install libkysdk-timer libkysdk-timer-dev > 停止给定的定时器 -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |-----|------|-------------------------------------|----------| -| 子模块 | 编程语言 | 声明 | 描述 | | 定时器 | C | void kdk_timer_stop(size_t timerfd) | 停止给定的定时器 | | | | 参数说明 | 返回值说明 | | | | | timerfd:由kdk_timer_start:返回的定时器ID | 无 | @@ -3438,9 +2712,8 @@ $ sudo apt-get install libkysdk-timer libkysdk-timer-dev > 销毁定时器 -| | | | | -|-----|------|--------------------------|-------| | 子模块 | 编程语言 | 声明 | 描述 | +|-----|------|--------------------------|-------| | 定时器 | C | void kdk_timer_destroy() | 销毁定时器 | | | | 参数说明 | 返回值说明 | | | | | 无 | 无 | @@ -3450,9 +2723,8 @@ $ sudo apt-get install libkysdk-timer libkysdk-timer-dev > 重置定时器 -| | | | | -|-----|------|----------------------------------------------------------------|-------| | 子模块 | 编程语言 | 声明 | 描述 | +|-----|------|----------------------------------------------------------------|-------| | 定时器 | C | void kdk_timer_reset(size_t timerfd , unsigned int intervalms) | 重置定时器 | | | | 参数说明 | 返回值说明 | | | | timerfd:由kdk_timer_start返回的定时器ID | 无 | @@ -3462,9 +2734,7 @@ $ sudo apt-get install libkysdk-timer libkysdk-timer-dev ## **5.3** C 语言字符串扩展 > -> 该模块封装了对字符串操作的 C 接口,包括字符串裁剪、分割、大小写转 -> -> 换、查找特定字符等操作。 +> 该模块封装了对字符串操作的 C 接口,包括字符串裁剪、分割、大小写转换、查找特定字符等操作。 ``` @@ -3474,14 +2744,15 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > (1)调用 C 语言字符串扩展模块,需要添加头文件: > -> \#include \"kysdk/kysdk-base/cstring-extension.h\" +``` +#include "kysdk/kysdk-base/cstring-extension.h" +``` > > 分割字符串 -| | | | | -|----------|------|------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | +|----------|------|-----------------------------------------|--------------------| | C语言字符串扩展 | C | static inline char** strsplit(char *str, char delim) | 对原字符串以给定的分隔符进行分割,注意该函数会修改原字符串 | | | | 参数说明 | 返回值说明 | | | | str:需要分割的字符串 | char** 分割后的字符串列表,以NULL结尾。存储分割后所有字符串的字符串列表本身是由alloc申请的内存,因此当使用完成后应当被free;而分割出来的各个字符串不是申请的内存,而是分别指向了原字符串中的特定位置,因此他们不需要被分别free | @@ -3491,10 +2762,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 小写字符串 - -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |----------|------|-----------------------------------------|--------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | C语言字符串扩展 | C | static inline void str2lower(char *str) | 将字符串中的所有大写字母转化为小写字 | | | | 参数说明 | 返回值说明 | | | | | str:需要操作的字符串指针 | 无 | @@ -3504,9 +2773,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 大写字符串 -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |----------|------|-----------------------------------------|---------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | C语言字符串扩展 | C | static inline void str2upper(char *str) | 将字符串中的所有小写字母转化为大写字母 | | | | 参数说明 | 返回值说明 | | | | | str:需要操作的字符串指针 | 无 | @@ -3515,9 +2783,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 统计出现次数 -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |----------|------|----------------------------------------------------------|------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | C语言字符串扩展 | C | static inline size_t strcounts(const char *str, char ch) | 统计给定字符在字符串中出现的次数 | | | | 参数说明 | 返回值说明 | | | | str:原字符串 | size_t:字符出现的次数 | @@ -3527,9 +2794,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 后缀判断 -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |----------|------|--------------------------------------------------------------------|-------------------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | C语言字符串扩展 | C | static inline int strendwith(const char *str, const char *postfix) | 判断str是否以postfix结尾需要区分大小写 | | | | 参数说明 | 返回值说明 | | | | str:原字符串 | int 若str以postfix结尾,则返回0;否则返回1 | @@ -3540,9 +2806,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 查找子字符串的首次出现位置 -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |----------|------|--------------------------------------------------------|-------------------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | C语言字符串扩展 | C | static inline int strfirstof(const char* str, char ch) | 在给定的字符串中查找给定字符第一次出现的位置;计数从0开始 | | | | 参数说明 | 返回值说明 | | | | str:原字符串 | int 第一次出现的位置,若未找到给定的字符,则返回-1 | @@ -3553,9 +2818,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 查找子字符串的末次出现位置 -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |----------|------|-------------------------------------------------------|--------------------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | C语言字符串扩展 | C | static inline int strlastof(const char* str, char ch) | 在给定的字符串中查找给定字符最后一次出现的位置;计数从0开始 | | | | 参数说明 | 返回值说明 | | | | str:原字符串 | int 最后一次出现的位置,若未找到给定的字符,则返回-1 | @@ -3566,9 +2830,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 删除空格和制表符 -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |----------|------|---------------------------------------------|--------------------------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | C语言字符串扩展 | C | static inline void strstripblank(char *str) | 删除给定字符串前后的空格和水平制表符(tab),注意该操作会修改原字符串 | | | | 参数说明 | 返回值说明 | | | | | str:需要修改的字符串指针 | 无 | @@ -3578,9 +2841,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 跳过开始的所有空格、制表符、换行符 -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |----------|------|-------------------------------------------------------|---------------------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | C语言字符串扩展 | C | static inline const char *strskipspace(const char *p) | 跳过字符串前的所有空格、制表符、换行符;该操作不会修改原字符串 | | | | 参数说明 | 返回值说明 | | | | | p:指向原字符串的指针 | const char* 指向跳过space后的字符串指针 | @@ -3590,9 +2852,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 前缀判断(区分大小写) -| | | | | +| 子模块 | 编程语言 | 声明 | 描述 | |----------|------|----------------------------------------------------------------------|------------------------------| -| 子模块 | 编程语言 | 声明 | 描述 | | C语言字符串扩展 | C | static inline int strstartswith(const char *str, const char *prefix) | 判断str是否以prefix开头,该函数区分大小写 | | | | 参数说明 | 返回值说明 | | | | str:原字符串 | int 若str以prefix开头,则返回0;否则返回1 | @@ -3603,9 +2864,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 前缀判断(不区分大小写) -| | | | | -|----------|------|-----------------------------------------------------------------------------|------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | +|----------|------|-----------------------------------------------------------------------------|------------------------------| | C语言字符串扩展 | C | static inline int strstartswith_nocase(const char *str, const char *prefix) | 判断str是否以prefix开头;不区分大小写 | | | | 参数说明 | 返回值说明 | | | | str:原字符串 | int 若str以prefix开头,则返回0;否则返回1 | @@ -3615,9 +2875,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 删减字符串前后的指定字符 -| | | | | -|----------|------|-------------------------------------------------|--------------------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | +|----------|------|-------------------------------------------------|--------------------------------------------| | C语言字符串扩展 | C | static inline void strstrip(char *str, char ch) | 对给定的字符串进行strip操作,删减字符串前后的指定字符;注意该操作会修改原字符串 | | | | 参数说明 | 返回值说明 | | | | str:需要进行strip的字符串指针 | 无 | @@ -3628,9 +2887,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 跳过开始的所有空格、水平制表符 -| | | | | -|----------|------|-------------------------------------------------------|------------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | +|----------|------|-------------------------------------------------------|------------------------------------| | C语言字符串扩展 | C | static inline const char *strskipblank(const char *p) | 跳过字符串前的所有空格和水平制表符(tab);该操作不会修改原字符串 | | | | 参数说明 | 返回值说明 | | | | | p:指向原字符串的指针 | const char* 指向跳过space后的字符串指针 | @@ -3640,9 +2898,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 删除前后的空格、制表符、换行符 -| | | | | -|----------|------|---------------------------------------------|-----------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | +|----------|------|---------------------------------------------|-----------------------------------| | C语言字符串扩展 | C | static inline void strstripspace(char *str) | 删除给定字符串前后的空格、制表符、换行符,注意该操作会修改原字符串 | | | | 参数说明 | 返回值说明 | | | | | str:需要进行strip操作的字符串指针 | 无 | @@ -3659,31 +2916,25 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > (1)CMakeLists.txt 构建项目 > -> aux_source_directory(linklist/skip_linklist SOURCESCODE) -> -> add_library(kydatastruct SHARED \${SOURCESCODE}) -> -> add_subdirectory(linklist) -> -> include_directories(linklist) -> -> include_directories(linklist/skip_linklist) -> -> add_executable(test-delete linklist/skip_linklist/test/delete_test.c) -> -> add_executable(test-insert linklist/skip_linklist/test/insert_test.c) -> -> add_executable(test-search linklist/skip_linklist/test/search_test.c) -> -> target_link_libraries(test-delete kydatastruct) -> -> target_link_libraries(test-insert kydatastruct) -> -> target_link_libraries(test-search kydatastruct) +``` +aux_source_directory(linklist/skip_linklist SOURCESCODE) +add_library(kydatastruct SHARED ${SOURCESCODE}) +add_subdirectory(linklist) +include_directories(linklist) +include_directories(linklist/skip_linklist) +add_executable(test-delete linklist/skip_linklist/test/delete_test.c) +add_executable(test-insert linklist/skip_linklist/test/insert_test.c) +add_executable(test-search linklist/skip_linklist/test/search_test.c) +target_link_libraries(test-delete kydatastruct) +target_link_libraries(test-insert kydatastruct) +target_link_libraries(test-search kydatastruct) +``` > > (2)调用定时器模块,需要添加头文件: > -> \#include \"kysdk/kysdk-base/skip_linklist.h\" +``` +#include "kysdk/kysdk-base/skip_linklist.h" +``` > > 创建跳表 @@ -3770,24 +3021,24 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > > (1)CMakeLists.txt 构建项目 > -> aux_source_directory(. SOURCESCODE) -> -> add_library(kyconf SHARED \${SOURCESCODE}) -> -> add_executable(kyconf-test-struct test/test_structlist.c) -> -> target_link_libraries(kyconf-test-struct kyconf kylog pthread) +``` +aux_source_directory(. SOURCESCODE) +add_library(kyconf SHARED ${SOURCESCODE}) +add_executable(kyconf-test-struct test/test_structlist.c) +target_link_libraries(kyconf-test-struct kyconf kylog pthread) +``` > > (2)调用配置文件模块,需要添加头文件: > -> \#include \"kysdk/kysdk-base/libkyconf.h\" +``` +#include "kysdk/kysdk-base/libkyconf.h" +``` > > 初始化配置文件 -| | | | | -|--------|------|------------------------------------------------|------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | +|--------|------|------------------------------------------------|------------------------------| | 配置文件操作 | C | extern int kdk_conf_init(const char* confpath) | 初始化配置文件 | | | | 参数说明 | 返回值说明 | | | | | confpath:配置文件的路径 | int 成功返回句柄号(非负值),失败返回错误码(负值) | @@ -3797,9 +3048,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 销毁指定的配置文件句柄 -| | | | | -|--------|------|--------------------------------------|-------------| | 子模块 | 编程语言 | 声明 | 描述 | +|--------|------|--------------------------------------|-------------| | 配置文件操作 | C | extern void kdk_conf_destroy(int id) | 销毁指定的配置文件句柄 | | | | 参数说明 | 返回值说明 | | | | | id:由kdk_conf_init返回的配置文件句柄 | 无 | @@ -3809,9 +3059,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 重新载入配置文件 -| | | | | -|--------|------|------------------------------------|-------------------| | 子模块 | 编程语言 | 声明 | 描述 | +|--------|------|------------------------------------|-------------------| | 配置文件操作 | C | extern int kdk_conf_reload(int id) | 重新载入配置文件 | | | | 参数说明 | 返回值说明 | | | | | id:由kdk_conf_init返回的配置文件句柄 | int 成功返回0,失败返回错误码 | @@ -3821,9 +3070,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 获取指定配置项的值 -| | | | | -|--------|------|-----------------------------------------------------------------------------------|----------------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | +|--------|------|-----------------------------------------------------------------------------------|----------------------------------------| | 配置文件操作 | C | extern const char* kdk_conf_get_value(int id, const char* group, const char* key) | 获取指定配置项的值 | | | | 参数说明 | 返回值说明 | | | | id:由kdk_conf_init返回的配置文件句柄 | const char* 配置项所拥有的值,若key不存在,则返回一个空字符串 | @@ -3835,22 +3083,20 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 枚举 key 值 -| | | | | -|--------|------|------------------------------------------------------------------|----------------------------------------------------------------------------------------| -| 子模块 | 编程语言 | 声明 | 描述 | -| 配置文件操作 | C | extern char** const kdk_conf_list_key(int id, const char* group) | 列举id对应配置文件的指定Group下的key值,结尾以NULL指针表示 | -| | | 参数说明 | 返回值说明 | -| | | id:由kdk_conf_init返回的句柄值 | const char** const 以NULL结尾的字符串列表,每个字符串都是一个key名称,字符串列表本身是由alloc分配的内存,需要被free释放;字符串不需要释放 | -| | | group:需要列举的Group名称 | | +| 子模块 | 编程语言 | 声明 | 描述 | +|--------------|----------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------| +| 配置文件操作 | C | extern char** const kdk_conf_list_key(int id, const char* group) | 列举id对应配置文件的指定Group下的key值,结尾以NULL指针表示 | +| | | 参数说明 | 返回值说明 | +| | | id:由kdk_conf_init返回的句柄值 | const char** const 以NULL结尾的字符串列表,每个字符串都是一个key名称,字符串列表本身是由alloc分配的内存,需要被free释放;字符串不需要释放 | +| | | group:需要列举的Group名称 | | > 枚举配置文件的 Group -| | | | | -|--------|------|-------------------------------------------------|--------------------------------------------------------------------------------------| | 子模块 | 编程语言 | 声明 | 描述 | +|--------|------|-------------------------------------------------|--------------------------------------------------------------------------------------| | 配置文件操作 | C | extern char** const kdk_conf_list_group(int id) | 列举id对应配置文件的所有Group,结尾以NULL指针表示 | | | | 参数说明 | 返回值说明 | | | | | id:由kdk_conf_init返回的句柄值 | const char** const 以NULL结尾的字符串列表,每个字符串都是一个组名称,字符串列表本身是由alloc分配的内存,需要被free释放;字符串不需要释放 | @@ -3867,13 +3113,14 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > (1)调用 C 语言字符串扩展模块,需要添加头文件: > -> \#include \"kysdk/kysdk-base/cstring-extension.h\" +``` +#include "kysdk/kysdk-base/cstring-extension.h" +``` > > 字符格式单位进制转换 -| | | | | -|--------|------|----------------------------------------------------------------------------------------------------------------------|-----------------| | 子模块 | 编程语言 | 声明 | 描述 | +|--------|------|----------------------------------------------------------------------------------------------------------------------|-----------------| | 配置文件操作 | C | extern int kdkVolumeBaseCharacterConvert(const char* origin_data, KDKVolumeBaseType result_base, char* result_data); | 字符格式单位进制转换 | | | | 参数说明 | 返回值说明 | | | | 入参: | int类型值,接口执行是否成功 | @@ -3887,9 +3134,8 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev > 数字格式单位进制转换 -| | | | | -|--------|-------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|------------| | 子模块 | 编程语言 | 声明 | 描述 | +|--------|-------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|------------| | 配置文件操作 | C | extern int kdkVolumeBaseNumericalConvert(double origin_numerical, KDKVolumeBaseType origin_base, KDKVolumeBaseType result_base, double* result_numerical); | 数字格式单位进制转换 | | | 参数说明 | 返回值说明 | | | | 入参: | int类型值,接口执行是否成功 | | @@ -3897,144 +3143,4 @@ $ sudo apt-get install libkysdk-utils libkysdk-utils-dev | | origin_base:原始的进制单位 | 1-非法进制 | | | | 出参: | 2-非法参数 | | | | result_base:期望的进制单位 | 3-非法数据格式 | | -| | result_numerical:期望进制下的数字类型数据 | 4-系统运行异常引发的未知错误 | | - - - -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/0.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/1.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/2.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/3.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/4.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/5.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/6.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/7.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/8.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/9.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/10.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/11.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/12.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/13.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/14.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/15.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/16.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/17.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/18.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/19.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/20.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/21.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/22.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/23.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/24.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/25.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/26.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/27.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/28.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/29.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/30.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/31.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/32.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/33.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/34.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/35.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/36.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/37.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/38.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/39.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/40.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/41.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/42.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/43.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/44.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/45.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/46.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/47.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/48.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/49.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/50.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/51.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/52.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/53.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/54.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/55.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/56.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/57.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/58.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/59.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/60.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/61.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/62.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/63.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/64.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/65.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/66.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/67.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/68.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/69.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/70.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/71.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/72.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/73.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/74.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/75.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/76.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/77.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/78.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/79.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/80.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/81.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/82.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/83.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/84.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/85.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/86.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/87.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/88.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/89.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/90.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/91.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/92.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/93.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/94.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/95.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/96.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/97.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/98.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/99.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/100.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/101.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/102.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/103.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/104.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/105.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/106.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/107.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/108.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/109.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/110.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/111.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/112.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/113.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/114.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/115.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/116.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/117.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/118.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/119.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/120.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/121.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/122.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/123.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/124.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/125.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/126.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/127.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/128.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/129.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/130.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/131.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/132.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/133.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/134.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/135.png) -![](assets/openKylin%20SDK%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97V2.0/136.png) +| | result_numerical:期望进制下的数字类型数据 | 4-系统运行异常引发的未知错误 | | \ No newline at end of file diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\346\211\223\345\214\205\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\346\211\223\345\214\205\346\214\207\345\215\227.md" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\346\211\223\345\214\205\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\346\211\223\345\214\205\346\214\207\345\215\227.md" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201.md" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201.md" similarity index 100% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201.md" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\346\272\220\347\240\201\345\214\205git\345\267\245\344\275\234\346\265\201.md" diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213.md" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213.md" similarity index 82% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213.md" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213.md" index 46cde05c96e292ef73bbaf7fd52600b48daabfa2..a349eb9736f1e16624d4d6e4a1fce5c13a82cc05 100644 --- "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213.md" +++ "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\346\272\220\347\240\201\350\207\252\344\270\273\351\200\211\345\236\213\346\236\204\345\273\272\346\265\201\347\250\213.md" @@ -6,8 +6,7 @@ ### 1.1 软件项目选型策略 -![img](https://gitee.com/openkylin/docs/raw/master/%E5%BC%80%E5%A7%8B%E8%B4%A1%E7%8C%AE/assets/openKylin%E6%BA%90%E7%A0%81%E8%87%AA%E4%B8%BB%E9%80%89%E5%9E%8B%E6%9E%84%E5%BB%BA%E6%B5%81%E7%A8%8B/%E8%BD%AF%E4%BB%B6%E9%A1%B9%E7%9B%AE%E9%80%89%E5%9E%8B%E7%AD%96%E7%95%A5.PNG) - +![输入图片说明](assets/openKylin%E6%BA%90%E7%A0%81%E8%87%AA%E4%B8%BB%E9%80%89%E5%9E%8B%E6%9E%84%E5%BB%BA%E6%B5%81%E7%A8%8B/%E8%BD%AF%E4%BB%B6%E9%A1%B9%E7%9B%AE%E9%80%89%E5%9E%8B%E7%AD%96%E7%95%A5.png) - 持续积极引入全“A”软件(版本) - 鼓励引入仅含”A"和”B”软件(版本)tory-view-113483.html @@ -57,7 +56,7 @@ 例如:查找`libnftnl`软件包 -![img](https://gitee.com/openkylin/docs/raw/master/%E5%BC%80%E5%A7%8B%E8%B4%A1%E7%8C%AE/assets/openKylin%E6%BA%90%E7%A0%81%E8%87%AA%E4%B8%BB%E9%80%89%E5%9E%8B%E6%9E%84%E5%BB%BA%E6%B5%81%E7%A8%8B/debian%E7%A4%BE%E5%8C%BA%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E8%BF%BD%E8%B8%AA%E5%B9%B3%E5%8F%B0%E7%A4%BA%E4%BE%8B.PNG) +![输入图片说明](assets/openKylin%E6%BA%90%E7%A0%81%E8%87%AA%E4%B8%BB%E9%80%89%E5%9E%8B%E6%9E%84%E5%BB%BA%E6%B5%81%E7%A8%8B/debian%E7%A4%BE%E5%8C%BA%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E8%BF%BD%E8%B8%AA%E5%B9%B3%E5%8F%B0%E7%A4%BA%E4%BE%8B.png) 如上图,可以通过右上角的homepage信息去获取软件包的项目地址; @@ -336,6 +335,71 @@ admin, cli-mono, comm, database, debug, devel, doc, editors, education, electron 对于**Build-Depends**和**Build-Depends-Indep**可以从项目地址中查找是否有相关编译依赖说明。 +--- +**注意:** 如果control文件参考了其他OS发行版的规则,需要去除或替换其他OS版本中的版本号规则,例如: + +``` +Build-Depends: + pkg1 (>= 1.0.0-0ubuntu1), + pkg1 (< 1.2.0-1debian2), + pkg2 (> 1.0.0.build), + pkg3 (> 2.0ubuntu19) +``` + +首先,需要明确对于quilt格式的版本号其一般带有"-",格式为`-`,而native格式的源码包一般不包含"-" + +修改流程可以分两步进行 + +**第一步:** + +对于quilt格式的版本,pkg1中的版本号 1.0.0-0ubuntu1 和 1.2.0-1debian2 其包含特定OS发行版的版本号,因此要修改。也就变成: + +``` +pkg1 (>= 1.0.0), +pkg1 (< 1.2.0), +``` + +对于native格式的版本号,首先需要确定其upstream版本,对于pkg2和pkg3: + +(1)尝试找到pkg2的1.0.0版本,如果能找到,那么1.0.0就是upstream版本,其编译依赖改为:pkg2 (> 1.0.0);同理pkg3 + +(2)如果找不到pkg2的upstream版本,此外当前版本号没有包含其他OS发行版名称,那么可以保留(因为使用source-package工具重打包源码,其upstream版本号也就是当前的版本号);但是对于pkg3,如果pkg3是OS自研的(其源码名称一般也包含OS名称,例如ubuntu-keyring),那么此时可以将此包重新改名,由openkylin重新维护,对应源码名称改为openkylin-keyring,版本号也重新制定,例如可以制定为1:1.0.0;如果不是OS自研包,最好我们也重新制定版本号,按我们自己的版本号去维护,可以内部讨论,例如这里也指定为1:1.0.0。**注意这里,最好要使用:格式的版本号,其表明带有:的版本号总会比不带的版本号高。** + +那么,对于pkg2,pkg3,其修改为: + +``` +pkg2 (> 1.0.0.build), +pkg3 (> 1:1.0.0) +``` + +**第二步(native格式的不用处理):** + +第二步是在第一步的基础上改进。总体上我们要明确其他OS发行版中-横线后面的修订版本的内容。 + +对于-,一般来说每个revision是修复了某个bug、安全漏洞等。对于ubuntu,每个revision都是由几个patch组成。 + +因此对于pkg1 (>= 1.0.0-0ubuntu1),其明确规定是0ubuntu1修订版本之后的才能使用,也就意味着使用pkg1的1.0.0版本是存在风险的,最直接的现象就是编译不通过。 + +因此,这就需要结合我们实际的pkg1的版本情况来: + +(1)如果仓库存在pkg1,其版本为1.0.0-ok1。为了保证上述编译能通过,需要集成ubuntu的1.0.0-0ubuntu1中的patch。如果已经集成相关patch,那么编译依赖就变成: + +``` +pkg1 (>= 1.0.0-ok1), +pkg1 (< 1.2.0), +``` + +集成了patch之后仓库中的pkg1版本变为1.0.0-ok2。那么在编译依赖的地方就变成: + +``` +pkg1 (>= 1.0.0-ok2), +pkg1 (< 1.2.0), +``` + +(2)如果仓库不存在pkg1,那么我们首次自主选型构建时,选型的版本最好是在1.0.0~1.2.0 之间选择,保证能满足各个依赖包的编译依赖。 + +上面所说,都是基于编译依赖来处理。同理二进制包的安装依赖字段如果也指定了版本号,那么处理方式也是和上面的一样。 + #### 3.1.2 二进制包部分 描述当前源码包可以被分为哪些二进制包程序。 diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\347\263\273\347\273\237\350\276\223\345\205\245\346\263\225\351\200\202\351\205\215\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\347\263\273\347\273\237\350\276\223\345\205\245\346\263\225\351\200\202\351\205\215\346\214\207\345\215\227.md" new file mode 100755 index 0000000000000000000000000000000000000000..b3155b019228c9907a257a6d6b8c76d62324d057 --- /dev/null +++ "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\347\263\273\347\273\237\350\276\223\345\205\245\346\263\225\351\200\202\351\205\215\346\214\207\345\215\227.md" @@ -0,0 +1,550 @@ +__麒麟操作系统输入法适配指南__ + +# 1\. __背景__ + +本文档提供了麒麟操作系统中内置的fcitx5输入法框架的简介以及输入法引擎适配到fcitx5所需要做的工作的详细介绍。 + +# 2\. __fcitx5输入法框架__ + +## 2\.1 __简介__ + +### 2\.1\.1 __整体设计架构__ + +fcitx5输入法框架采用插件化设计。在该设计中,包含一个fcitx5输入法框架服务和若干个插件动态库。下面介绍一下主要模块。 + +#### 2\.1\.1\.1 __fcitx5输入法框架服务__ + +fcitx5输入法框架服务是由fcitx5可执行程序提供的一个服务。该服务负责加载各个插件动态库并与其他模块进行通信。 + +#### 2\.1\.1\.2 __前端插件模块__ + +fcitx5输入法框架拥有多个前端插件模块,分别为dbusfrontend, fcitx4frontend, ibusfrontend, waylandim, xim。用于兼容不同的系统环境和应用。 + +#### 2\.1\.1\.2\.1 __dbusfrontend__ + +dbus前端插件是fcitx5自己的协议实现的,Qt/GTK输入法模块使用该前端插件和fcitx5进行通信。 + +#### 2\.1\.1\.2\.2 __fcitx4frontend__ + +#### fcitx4前端插件提供了对使用了fcitx4 dbus协议的输入法模块的应用的支持。 + +#### 2\.1\.1\.2\.3 __ibusfrontend__ + +ibus前端插件实现了ibus协议。 + +#### 2\.1\.1\.2\.4 __waylandim__ + +waylandim实现了Wayland提供输入法协议的服务端协议。 + +#### 2\.1\.1\.2\.5 __xim__ + +xim实现了X11的输入法协议的服务端协议。 + +#### 2\.1\.1\.3 __UI插件模块__ + +fcitx5输入法框架提供了三种UI插件,分别是classic UI插件,kimpanel UI插件,virtualkeyboard UI插件。 + +#### 2\.1\.1\.3\.1 __classic UI__ + +fcitx5默认使用并且已经集成在输入法框架中的UI插件。 + +#### 2\.1\.1\.3\.2 __kimpanel UI__ + +fcitx5使用的物理键盘输入窗口UI代理插件。适配时需要实现kimpanel服务端。该插件使用DBus接口和服务端进行通信。 + +#### 2\.1\.1\.3\.3 __virtualkeyboard UI__ + +fcitx5使用的虚拟键盘UI代理插件。适配时需要实现虚拟键盘服务端。该插件使用DBus接口和服务端进行通信。 + +#### 2\.1\.1\.4 __输入法引擎插件模块__ + +fcitx5输入法框架定义了输入法引擎插件使用的接口。任何输入法引擎只要实现了该接口并且按照一定的格式将输入法引擎对象导出,那么,fcitx5输入法框架可以正确加载并使用该输入法引擎。 + +### 2\.1\.2 __基本工作原理__ + +fcitx5输入法框架多个前端插件模块实现了支持多种输入法协议和GUI框架,包括XIM、Wayland、ibus等输入法协议和Qt、GTK等GUI框架。 + +其中,dbus前端插件(dbus frontend)模块负责跟Qt和GTK等GUI框架的输入法插件进行dbus通信。 + +下面以Qt5应用程序为例,简要介绍一下Qt5程序通过fcitx5输入法框架与输入法引擎的交互过程。基本原理示意图如下所示: + +![inputmethod.png](./assets/openKylin系统输入法适配指南/inputmethod.png) + +#### 2\.1\.2\.1 __Qt5输入法模块__ + +fcitx5\-qt项目实现了Qt5定义的输入法接口以及跟fcitx5输入法框架的dbus前端插件进行通信的接口,使得Qt5程序中的事件可以发送到fcitx5输入法框架中 + +#### 2\.1\.2\.2 __dbus前端插件__ + +通过dbus接收从Qt或GTK程序发送过来的dbus信号或者调用 + +#### 2\.1\.2\.3 __fcitx5输入法框架__ + +dbus前端插件将事件或函数调用进行若干处理后调用fcitx5输入法框架中的函数,一般是调用InputContext对象的方法,向fcitx5输入法框架发送一个事件 + +#### 2\.1\.2\.4 __UI代理插件__ + +fcitx5输入法框架支持多种UI显示方式,包括使用X11 API的classic UI插件和使用远程显示服务的kimpanel插件。示意图中的UI代理插件说的就是kimpanel插件,而impanel则是相应的远程显示服务。该服务可以显示物理键盘输入法的输入窗口。 + +#### 2\.1\.2\.5 __输入法UI服务__ + +如果输入法框架使用了UI代理插件,则UI代理插件会与对应的输入法UI服务进行通信。 + +#### 2\.1\.2\.6 __输入法引擎插件__ + +fcitx5输入法框架收到按键事件后,经过若干处理后,会调用实现了fcitx5定义的输入法引擎API InputMethodEngine的输入法引擎插件的函数。通过插件中的函数实现与输入法引擎服务的通信 + +#### 2\.1\.2\.7 __输入法引擎__ + +输入法引擎实现了输入法的真正逻辑。输入法引擎既可以直接封装在输入法引擎插件中,也可以通过IPC通信的方式实现输入法引擎和输入法引擎插件之间的通信。 + +## 2\.2 __对物理键盘输入法引擎的支持__ + +### 2\.2\.1 __UI支持__ + +fcitx5提供了基于DBus协议的物理键盘输入法UI代理插件:kimpanel。该模块位于fcitx5/src/ui/kimpanel目录。 + +#### 2\.2\.1\.1 __DBus服务__ + +#### 2\.2\.1\.1\.1 __DBus服务名称__ + +org\.kde\.kimpanel\.inputmethod + +##### 2\.2\.1\.1\.2 __DBus对象路径__ + +/kimpanel + +##### 2\.2\.1\.1\.3 __DBus接口名称__ + +org\.kde\.kimpanel\.inputmethod + +#### 2\.2\.1\.2 __DBus信号__ + +kimpanel提供的dbus信号可以由kimpanel进行调用,从而实现从kimpanel到impanel的通信。impanel UI服务负责响应这些信号。 + +#### 2\.2\.1\.2\.1 __ExecDialog__ + +显示对话框 + +#### 2\.2\.1\.2\.2 __ExecMenu__ + +显示菜单 + +#### 2\.2\.1\.2\.3 __RegisterProperties__ + +注册菜单项 + +#### 2\.2\.1\.2\.4 __UpdateProperty__ + +更新菜单项 + +#### 2\.2\.1\.2\.5 __RemoveProperty__ + +移除菜单项 + +#### 2\.2\.1\.2\.6 __ShowAux__ + +是否展示Aux提示文本 + +#### 2\.2\.1\.2\.7 __ShowPreedit__ + +是否展示预编辑串 + +#### 2\.2\.1\.2\.8 __ShowLookupTable__ + +是否展示候选结果 + +#### 2\.2\.1\.2\.9 __UpdateLookupTableCursor__ + +更新输入位置光标 + +#### 2\.2\.1\.2\.10 __updatePreeditCaret__ + +更新预编辑串光标 + +#### 2\.2\.1\.2\.11 __UpdatePreeditText__ + +更新预编辑文本 + +#### 2\.2\.1\.2\.12 __UpdateAux__ + +更新aut辅助文本 + +#### 2\.2\.1\.2\.13 __UpdateSpotLocation__ + +#### 2\.2\.1\.2\.14 __UpdateScreen__ + +#### 2\.2\.1\.2\.15 __Enable__ + +启用或者禁用输入窗口 + +#### 2\.2\.1\.3 __DBus方法__ + +kimpanel提供的dbus方法可以由impanel UI服务进行调用,从而实现从impanel到kimpanel的通信 + +#### 2\.2\.1\.3\.1 __Exit__ + +退出fcitx5输入法框架服务 + +#### 2\.2\.1\.3\.2 __ReloadConfig__ + +重启fcitx5上输入法框架服务 + +#### 2\.2\.1\.3\.3 __Configure__ + +启动fcitx5配置工具 + +#### 2\.2\.1\.3\.4 __LookupTablePageUp__ + +候选结果向上翻页 + +#### 2\.2\.1\.3\.5 __LookupTablePageDown__ + +候选结果向下翻页 + +#### 2\.2\.1\.3\.6 __SelectCandidate__ + +选择指定候选结果 + +#### 2\.2\.1\.3\.7 __PanelCreated__ + +物理键盘输入法输入窗口创建成功 + +#### 2\.2\.1\.3\.8 __PanelCreated2__ + +物理键盘输入法输入窗口创建成功 + +#### 2\.2\.2 __输入法引擎支持__ + +fcitx5提供了输入法引擎API:InputMethodEngine、InputMethodEngineV2、InputMethodEngineV3和InputMethodEngineV4。其中,InputMethodEngineV4增加了对虚拟键盘输入法按键事件的支持。 + +#### 2\.2\.2\.1 __输入法引擎API__ + +#### 2\.2\.2\.1\.1 __keyEvent__ + +功能:输入法处理按键事件的主要函数。 + +参数:const InputMethodEntry &entry,KeyEvent &keyEvent + +返回值类型:void + +#### 2\.2\.2\.1\.2 __activate__ + +功能:激活引擎 + +参数 + +返回值类型 + +#### 2\.2\.2\.1\.3 __deactivate__ + +功能:失活引擎 + +参数 + +返回值类型 + +#### 2\.2\.2\.1\.4 __reset__ + +功能:重置 + +参数 + +返回值类型 + +#### 2\.2\.2\.1\.5 __filterKey__ + +功能:处理key事件\(未被其他地方处理的key事件\) + +参数:input method entry,key event + +返回值类型:void + +实现最简单的物理输入法只需要重写keyEvent函数即可。 + +## 2\.3 __对虚拟键盘输入法引擎的支持__ + +### 2\.3\.1 __UI支持__ + +fcitx5提供了基于DBus协议的虚拟键盘UI插件:virtualkeyboard UI,在fcitx5/src/ui/virtualkeyboard中。该插件的相关信息和接口如下所示。 + +#### 2\.3\.1\.1 __DBus服务__ + +#### 2\.3\.1\.1\.1 __DBus服务名称__ + +org\.fcitx\.Fcitx5\.VirtualKeyboardBackend + +#### 2\.3\.1\.1\.2 __DBus对象路径__ + +/virtualkeyboard + +#### 2\.3\.1\.1\.3 __DBus接口名称__ + +org\.fcitx\.Fcitx5\.VirtualKeyboardBackend1 + +#### 2\.3\.1\.2 __DBus信号__ + +#### 2\.3\.1\.2\.1 __ShowVirtualKeyboard__ + +功能:向虚拟键盘发送的显示信号。 + +参数:无。 + +#### 2\.3\.1\.2\.2 __HideVirtualKeyboard__ + +功能:向虚拟键盘发送的隐藏信号。 + +参数:无。 + +#### 2\.3\.1\.2\.3 __UpdatePreeditCaret__ + +功能:向虚拟键盘发送的设置预编辑文本光标位置信号。 + +参数: + +int preeditCursor,光标所在位置的编号。 + +#### 2\.3\.1\.2\.4 __UpdatePreeditArea__ + +功能:向虚拟键盘发送的设置预编辑文本信号。 + +参数: + +string preeditText,预编辑文本。 + +#### 2\.3\.1\.2\.5 __UpdateCandidateArea__ + +功能:向虚拟键盘发送的设置候选词信号 + +参数: + +vector &candidateTextList,当前页的候选词集合,每个元素都是一个候选词。 + +bool hasPrev,是否存在上一页候选词。 + +bool hasNext,是否存在下一页候选词。 + +int pageIndex,当前候选词页的页码。 + +#### 2\.3\.1\.2\.6 __NotifyIMActivated__ + +功能:向虚拟键盘发送当前输入法激活信号。 + +参数: + +string uniqueName,当前输入法的名称。 + +#### 2\.3\.1\.2\.7 __NotifyIMDeactivated__ + +功能:向虚拟键盘发送当前输入法失活信号。 + +参数: + +string uniqueName,当前输入法的名称。 + +#### 2\.3\.1\.2\.8 __NotifyIMListChanged__ + +功能:向虚拟键盘发送当前输入法列表改变通知信号。 + +参数:无。 + +#### 2\.3\.1\.3 __DBus方法__ + +#### 2\.3\.1\.3\.1 __ProcessKeyEvent__ + +功能:接收虚拟键盘发送的按键事件,将其转发给输入法框架。 + +参数: + +uint32\_t keyval, 当前键盘布局下当前按键的所代表的值,英文时为按键对应的ASCII码。 + +uint32\_t keycode, 所有键盘布局中当前按键的唯一标记值,在Linux系统中定义。 + +uint32\_t state, 按键的修饰符状态,如Shift,Caps Lock等按键,详情可见fcitx5/src/lib/fcitx\-utils/keysym\.h。 + +bool isRelease, 按键是否按下,true为抬起,false为按下。 + +uint32\_t time, 按键按下时的时间戳,默认为0。 + +#### 2\.3\.1\.3\.2 __ProcessVisibilityEvent__ + +功能:接收虚拟键盘发送的虚拟键盘可见性事件,更新后端模块中的可见性信息。 + +参数: + +bool visible, 虚拟键盘的可见性,true为正在显示,false为已经隐藏 + +#### 2\.3\.1\.3\.3 __SelectCandidate__ + +功能:接收虚拟键盘选择的候选词序号,上屏该候选词。 + +参数: + +int index, 用户选择的候选词序号。 + +#### 2\.3\.1\.3\.4 __PrevPage__ + +功能:接收虚拟键盘发送的候选词翻页请求,切换到上一页候选词。 + +参数:无。 + +#### 2\.3\.1\.3\.5 __NextPage__ + +功能:接收虚拟键盘发送的候选词翻页请求,切换到下一页候选词。 + +参数:无。 + +### 2\.3\.2 __输入法引擎支持__ + +fcitx5的输入法引擎InputMethodEngineV4增加了虚函数virtualKeyboardEventImpl,提供了对虚拟键盘输入法按键事件的支持,相关代码在fcitx5/src/lib/fcitx/inputmethodengine中。 + +如果输入法引擎想要提供对虚拟键盘按键事件的支持,则需要实现InputMethodEngineV4接口。否则,只需要考虑实现其他三个用于物理键盘输入法引擎的接口即可。 + +# 3\. __适配fcitx5输入法框架__ + +## 3\.1 __物理键盘输入法引擎适配__ + +### 3\.1\.1 __UI适配__ + +fcitx5提供了默认的物理键盘输入法输入窗口UI,在不考虑特殊的客户端侧输入法UI的情况下,可以简单的划分为两种:classic UI和kimpanel UI。 + +#### 3\.1\.1\.1 __classic UI__ + +该UI是fcitx5提供的使用底层API\(X11,wayland\)实现的输入窗口UI。 + +#### 3\.1\.1\.2 __kimpanel UI__ + +该UI是fcitx5提供的输入窗口UI代理,其定义了若干dbus API可以用来跟远端的物理键盘输入法UI服务进行通信。该模块最初用于解决Ubuntu上输入法窗口被全局搜索界面覆盖导致的无法看到输入窗口的问题而提供的。 + +为了简化适配,第三方输入法可以考虑直接适配该UI代理模块定义的dbus接口即可。 + +如果想要提供更全方位的定制,则还需要考虑提供跟kimpanel类似的UI代理模块。 + +### 3\.1\.2 __输入法引擎适配__ + +#### 3\.1\.2\.1 __输入法配置文件编写__ + +配置文件分为插件配置文件和输入法配置文件,每个配置文件中字段含义不同。 + +插件配置文件:插件配置文件安装在插件目录/share/fcitx5/addon/下。 + +举例拼音输入法插件配置文件: +```c++ +[Addon] +Name[ca]=Pinyin +Name[da]=Pinyin +Name[de]=Pinyin +Name[he]=פיניין: +Name[ko]=병음 +Name[ru]=Пиньинь +Name[zh_CN]=拼音 +Name=Pinyin +Category=InputMethod +Version=5.0.11 +//对应的拼音输入法so为libpinyin.so +Library=libpinyin +Type=SharedLibrary +OnDemand=True +Configurable=True + +//插件依赖 +[Addon/Dependencies] +0=punctuation +``` + +输入法配置文件:输入法配置文件保存在输入法目录/share/fcitx5/inputmethod/下。 + +举例拼音输入法引擎配置文件: + +```c++ +[InputMethod] +Name[ca]=Pinyin +Name[da]=Pinyin +Name[de]=Pinyin +Name[he]=פיניין: +Name[ko]=병음 +Name[ru]=Пиньинь +Name[zh_CN]=拼音 +Name=Pinyin +//拼音输入法对应的icon名称 +Icon=fcitx-pinyin +Label=拼 +LangCode=zh_CN +//输入法对应的插件 +Addon=pinyin +//是否支持自定义 +Configurable=True +``` +#### 3\.1\.2\.2 __工程CMakeLists文件编写__ + +工程文件CMakeLists文件定义了输入法源码文件的编译行为。包括编译过程中链接的库以及配置文件安装路径等等。以pinyin输入法为例: + +```sh +#pinyin +add_library(pinyin SHARED pinyin.cpp) +target_link_libraries(pinyin PRIVATE Fcitx5::Core) +set_target_properties(pinyin PROPERTIES PREFIX "") +install(TARGETS pinyin DESTINATION "${FCITX_INSTALL_LIBDIR}/fcitx5") + +#拼音输入法插件配置文件转换与安装 +#将pinyin-addon.conf.in输出为pinyin-addon.conf +configure_file(pinyin-addon.conf.in pinyin-addon.conf) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pinyin-addon.conf" RENAME quwei.conf DESTINATION "${FCITX_INSTALL_PKGDATADIR}/addon") + +#定义了拼音输入法引擎配置文件安装路径 +# Input Method registration file +install(FILES "pinyin.conf" DESTINATION "${FCITX_INSTALL_PKGDATADIR}/inputmethod") +``` +#### 3\.1\.2\.3 __实现物理输入法引擎接口__ + +输入法引擎部分适配即要重写定义的引擎相关的接口,其中最主要的接口是InputMethodEngine::keyEvent\(\)。以pinyin输入法为例: + +继承AddonFactory插件工厂类,创建一个拼音输入法引擎插件类 + +```c++ +class PinyinEngineFactory : public AddonFactory { +public: + AddonInstance *create(AddonManager *manager) override { + registerDomain("fcitx5-chinese-addons", FCITX_INSTALL_LOCALEDIR); + return new PinyinEngine(manager->instance()); + } +}; +``` +拼音引擎插件类继承InputMethodEngineV3,实现相关的接口功能。如activate\(\)、deactive\(\)、keyEvent\(\)和reset\(\)接口等 + +```c++ +class PinyinEngine final : public InputMethodEngineV3 { +public: + PinyinEngine(Instance *instance); + ~PinyinEngine(); + Instance *instance() { return instance_; } + void activate(const InputMethodEntry &entry, + InputContextEvent &event) override; + void deactivate(const InputMethodEntry &entry, + InputContextEvent &event) override; + void keyEvent(const InputMethodEntry &entry, KeyEvent &keyEvent) override; + void reset(const InputMethodEntry &entry, + InputContextEvent &event) override; + ... + }; +``` +## 3\.2 __虚拟键盘输入法引擎适配__ + +### 3\.2\.1 __UI适配__ + +fcitx5提供了默认的虚拟键盘输入法输入窗口UI代理模块:virtualkeyboard UI。 + +为了简化适配,第三方输入法可以考虑直接适配该UI代理模块定义的dbus接口即可。 + +如果想要提供更全方位的定制,则还需要考虑提供跟virtualkeyboard类似的UI代理模块。 + +### 3\.2\.2 __输入法引擎适配__ + +虚拟键盘输入法引擎适配与物理键盘键盘输入法引擎适配基本类似,差别仅在于虚拟键盘输入法引擎需要实现InputMethodEngineV4类中的virtualKeyboardEventImpl虚函数。 + +# __参考文档__ + +输入法引擎相关代码文档:https://codedocs.xyz/fcitx/fcitx5/classfcitx_1_1InputMethodEngine.html + +实现一个最简单输入法:https://fcitx-im.org/wiki/Develop_an_simple_input_method + diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\350\275\257\344\273\266\345\214\205\347\211\210\346\235\203\345\215\217\350\256\256\350\241\245\345\205\205\346\214\207\345\215\227.md" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\350\275\257\344\273\266\345\214\205\347\211\210\346\235\203\345\215\217\350\256\256\350\241\245\345\205\205\346\214\207\345\215\227.md" similarity index 91% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\350\275\257\344\273\266\345\214\205\347\211\210\346\235\203\345\215\217\350\256\256\350\241\245\345\205\205\346\214\207\345\215\227.md" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\350\275\257\344\273\266\345\214\205\347\211\210\346\235\203\345\215\217\350\256\256\350\241\245\345\205\205\346\214\207\345\215\227.md" index 5634255bd3d4087b7dd0640729b7c5fe07c8d8f1..74dc8150e1cce6e098c5c8279d8e9d4e33a834a7 100644 --- "a/\345\274\200\345\247\213\350\264\241\347\214\256/openKylin\350\275\257\344\273\266\345\214\205\347\211\210\346\235\203\345\215\217\350\256\256\350\241\245\345\205\205\346\214\207\345\215\227.md" +++ "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/openKylin\350\275\257\344\273\266\345\214\205\347\211\210\346\235\203\345\215\217\350\256\256\350\241\245\345\205\205\346\214\207\345\215\227.md" @@ -11,13 +11,13 @@ openKylin 对待软件包版权和许可证信息的态度十分严格,在 ope 2. 在软件包的一级目录下创建以“LICENSE”或“COPYING”为名的文件,放入整个项目的许可证信息; 3. 在debian/copyright 文件中提供项目所有源文件版权信息的摘要; - **推荐新的开源项目使用[木兰协议](http://license.coscl.org.cn/index.html)** 。木兰协议与BSD类许可证类似,有很好的兼容性:BSD、MIT类宽松许可证兼容木兰协议;木兰协议兼容Apache License v2.0、L/GPLv2、L/GPLv3等许可证。即,许可在BSD、MIT类许可证下的代码可以贡献到使用木兰协议的项目中;使用木兰协议的代码可以贡献到Apache License V2.0、L/GPLv2或L/GPLv3等项目中。 + **推荐新的开源项目使用[Mulan PSL v2协议](http://license.coscl.org.cn/index.html)** 。Mulan PSL v2与BSD类许可证类似,有很好的兼容性:BSD、MIT类宽松许可证兼容Mulan PSL v2协议;Mulan PSL v2协议兼容Apache License v2.0、L/GPLv2、L/GPLv3等许可证。即,许可在BSD、MIT类许可证下的代码可以贡献到使用Mulan PSL v2协议的项目中;使用Mulan PSL v2协议的代码可以贡献到Apache License V2.0、L/GPLv2或L/GPLv3等项目中。 ## 头部注释 针对项目内的.c/.cpp/.h/.py/.java 等源文件,在头部注释添加相应版权声明,相应的声明可在许可证文本信息中找到,也可以参考遵循相同许可证的项目: -以项目ukui-foo,许可证“木兰宽松许可证,第2版”,copyright主体 Zhang Three 为例,需要在每个源文件头部注释中插入: +以项目ukui-foo,许可证“Mulan PSL v2”,copyright主体 Zhang Three 为例,需要在每个源文件头部注释中插入: ``` Copyright (c) 2022 Zhang Three @@ -49,8 +49,10 @@ You should have received a copy of the GNU General Public License along with this program; if not, see . ``` +> 企业用户使用企业copyright + ## 项目license文件 -依据项目遵循的许可证情况,需要将相应的许可证完整内容(openKylin可从/usr/share/common-license目录下获取, 木兰协议从[官网](http://license.coscl.org.cn/index.html)获取),拷贝到项目的一级目录下,重命名为"LICENSE"或“COPYING”。 +依据项目遵循的许可证情况,需要将相应的许可证完整内容(openKylin可从/usr/share/common-license目录下获取, Mulan PSL v2协议从[官网](http://license.coscl.org.cn/index.html)获取),拷贝到项目的一级目录下,重命名为"LICENSE"或“COPYING”。 以项目ukui-foo,许可证GPL-3为例: ``` cd ukui-foo diff --git "a/\345\274\200\345\247\213\350\264\241\347\214\256/riscv\344\270\212\345\256\211\350\243\205openKylin.md" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/riscv\344\270\212\345\256\211\350\243\205openKylin.md" similarity index 37% rename from "\345\274\200\345\247\213\350\264\241\347\214\256/riscv\344\270\212\345\256\211\350\243\205openKylin.md" rename to "\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/riscv\344\270\212\345\256\211\350\243\205openKylin.md" index 559fa3a902f5e0ac210d450b0c111323a9a2a289..3e5e9678ea46e002c7d3fee6f0e8e6d98dc03c5e 100644 --- "a/\345\274\200\345\247\213\350\264\241\347\214\256/riscv\344\270\212\345\256\211\350\243\205openKylin.md" +++ "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/riscv\344\270\212\345\256\211\350\243\205openKylin.md" @@ -16,7 +16,9 @@ dateCreated: 2022-07-22T06:40:16.074Z 通过以下命令解压 -> unxz /openkylin-0.7-sifive-unmatched-riscv64.img.xz +> unxz openkylin-0.9-hifive-unmatched-riscv64.img.xz + +以上路径请根据自己的实际路径去解压 ## 制作SD卡启动盘 首先使用磁盘工具将sd卡格式化。 @@ -24,39 +26,43 @@ dateCreated: 2022-07-22T06:40:16.074Z 之后通过命令行将镜像刷入sd卡,请运行: > sudo dd if= of=/dev/mmcblk0 bs=1M status=progress -此命令假设您已将 SD 卡插入计算机的 SD 卡插槽中。 如果您使用的是 USB 适配器,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/mmcblk0 +注:的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格 -注意:要非常小心上一个命令中的“of”参数。 如果使用了错误的磁盘,您可能会丢失数据。也可通过磁盘工具的回复磁盘映像功能来将镜像刷入sd卡。 +此命令假设您已将 SD 卡插入计算机的 SD 卡插槽中。 如果您使用的是 USB 读卡器,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/mmcblk0 + +注意:要非常小心上一个命令中的“of”参数。 如果使用了错误的磁盘,您可能会丢失数据。也可通过磁盘工具的恢复磁盘映像功能来将镜像刷入sd卡。 ## 修改u-boot配置文件 > sudo mount /dev/mmcblk0p4 /mnt > sudo mount /dev/mmcblk0p3 /mnt/boot > sudo chroot /mnt -使用文本编辑器打开”/etc/default/u-boot“,并添加: +以上/dev开头的路径请根据自己的实际路径修改 + +使用文本编辑器打开”/etc/default/u-boot“(这个是chroot以后的路径,实际在本机的路径是"/mnt/etc/default/u-boot"),并添加: > U_BOOT_ROOT="root=/dev/mmcblk0p4" 然后运行: > u-boot-update -使用文本编辑器打开”/boot/extlinux/extlinux.conf“,在其中两个空行中添加如下: +使用文本编辑器打开”/boot/extlinux/extlinux.conf“(这个是chroot以后的路径,实际在本机的路径是"/mnt/boot/extlinux/extlinux.conf",在其中两个空行中添加如下: >fdt /hifive-unmatched-a00.dtb 然后退出: -exit -sudo umount /mnt/boot -sudo umount /mnt +>exit +>sudo umount /mnt/boot +>sudo umount /mnt ## 第一次启动 首次启动之后,系统中会存在一个默认用户,当桌面环境启动之后,您可以通过默认用户进行Unmatched首次登陆,后期可以根据自己需求进行用户或密码的更改。 默认用户名/密码是 -> username:openkylin -> password:openkylin +> username:openkylin +> password:openkylin 同时也支持以下两种登录方式 ## 连接到串行控制台 -HiFive 的入门指南 14 解释了如何从各种不同的操作系统连接到串行控制台。 如果使用 openkylin RISC-V 计算机来监控串行输出,将该计算机连接到 Unmatched 上 SD 卡插槽旁边的微型 USB 端口并运行 +HiFive 的入门指南 14 解释了如何从各种不同的操作系统连接到串行控制台。 如果使用 openkylin RISC-V 计算机来监控串行输出,将该计算机连接到 Unmatched 上 SD 卡插槽旁边的Micro USB 端口并运行 >sudo screen /dev/ttyUSB1 115200 @@ -68,7 +74,9 @@ HiFive 的入门指南 14 解释了如何从各种不同的操作系统连接到 > https://www.openkylin.top/downloads 通过以下命令解压 -> unxz /openkylin-0.7-sifive-unmatched-riscv64.img.xz +> unxz openkylin-0.9-hifive-unmatched-riscv64.img.xz + +以上路径请根据自己的实际路径去解压 通过运行确保 NVMe 驱动器存在 > ls -l /dev/nvme* @@ -76,6 +84,8 @@ HiFive 的入门指南 14 解释了如何从各种不同的操作系统连接到 在我的主板上,NVMe 驱动器显示为 /dev/nvme0n1,首先使用磁盘工具将 NVMe硬盘格式化。之后通过运行以下命令将映像刷入 NVMe > sudo dd if= of=/dev/nvme0n1 bs=1M status=progress +注:的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格 + 恭喜! 您现在在 HiFive Unmatched 的 NVMe 驱动器上安装了 openkylin RISC-V。 然而,仍然有一个问题。 Unmatched 仍然需要存在 SD 卡才能启动,并且存在可能导致它在 SD 卡而不是 NVMe 驱动器上安装根文件系统的竞争条件。 为防止出现这种情况,请通过运行将新刷入的 NVMe 驱动器和 chroot 挂载到其中 > sudo mount /dev/nvme0n1p4 /mnt > sudo moubt /dev/nvme0n1p3 /mnt/boot @@ -83,7 +93,7 @@ HiFive 的入门指南 14 解释了如何从各种不同的操作系统连接到 注意:之前的 chroot 命令只有在使用 riscv64 计算机执行时才有效。 这就是本教程建议使用 Unmatched 上的 M.2 驱动器设置 NVMe 驱动器的原因之一 -使用您最喜欢的文本编辑器来编辑 /etc/default/u-boot。 . 添加行 +使用您最喜欢的文本编辑器来编辑 “/etc/default/u-boot”,并添加: > U_BOOT_ROOT="root=/dev/nvme0n1p4" 要应用这些更改,请运行 @@ -93,33 +103,141 @@ HiFive 的入门指南 14 解释了如何从各种不同的操作系统连接到 > fdt /hifive-unmatched-a00.dtb 通过运行 exit 退出 chroot 环境: -exit -sudo umount /mnt/boot -sudo umount /mnt -然后重新启动系统, 它现在将启动到您的 NVMe 驱动器,您将获得显着的性能提升! +>exit +>sudo umount /mnt/boot +>sudo umount /mnt +然后重新启动系统, 它现在将从您的 NVMe 驱动器启动,您将获得显着的性能提升! # 二、在 VisionFive 上安装openKylin ## 准备SD卡 -openkylin适配Unmatched的镜像可以通过以下链接下载 +openkylin适配VisionFive的镜像可以通过以下链接下载 > https://www.openkylin.top/downloads 通过以下命令解压 -> unxz /openkylin-0.7-starfive-riscv64.img.xz +> unxz openkylin-0.9-visionfive-riscv64.img.xz + +以上路径请根据自己的实际路径去解压 ## 制作SD卡启动盘 首先使用磁盘工具将sd卡格式化。 之后通过命令行将镜像刷入sd卡,请运行: > sudo dd if= of=/dev/mmcblk0 bs=1M status=progress -此命令假设您已将 SD 卡插入开发板的 SD 卡插槽中。 如果您使用的是 USB 适配器,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/mmcblk0 +注:的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格 + +此命令假设您已将 SD 卡插入开发板的 SD 卡插槽中。 如果您使用的是 USB 读卡器,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/mmcblk0 注意:要非常小心上一个命令中的“of”参数。 如果使用了错误的磁盘,您可能会丢失数据。也可通过磁盘工具的回复磁盘映像功能来将镜像刷入sd卡。 ## 第一次启动 -将烧录好的sd卡插入VisionFive卡槽并连接好电源线。首次启动之后,系统中会存在一个默认用户,当桌面环境启动之后,您可以通过默认用户进行Unmatched首次登陆,后期可以根据自己需求进行用户或密码的更改。 +将烧录好的sd卡插入VisionFive卡槽并连接好电源线。首次启动之后,系统中会存在一个默认用户,当桌面环境启动之后,您可以通过默认用户进行VisionFive首次登陆,后期可以根据自己需求进行用户或密码的更改。 默认用户名/密码是 -> username:openkylin -> password:openkylin +> username:openkylin +> password:openkylin + + +# 三、在Thead1520上安装openKylin +## 准备SD卡 +openkylin适配Thead1520的镜像可以通过以下链接下载: +https://www.openkylin.top/downloads +通过以下命令解压: +unxz openKylin-0.9.5-thead1520-riscv64.img.xz + +## 制作SD卡启动盘 +首先使用磁盘工具将sd卡格式化。之后通过命令行将镜像刷入sd卡,请运行: +sudo dd if= of=/dev/mmcblk0 bs=1M status=progress +此命令假设您已将 SD 卡插入开发板的 SD 卡插槽中。 如果您使用的是 USB 适配器,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/mmcblk0 +注意:要非常小心上一个命令中的“of”参数。 如果使用了错误的磁盘,您可能会丢失数据。也可通过磁盘工具的回复磁盘映像功能来将镜像刷入sd卡。 + +## 连接到串行控制台 +可以使用 openkylin 计算机来监视Thead1520启动过程的串口输出,将该计算机连接到 Thead1520 上 SD 卡插槽旁边的微型 USB 端口并运行以下命令来打开串口: +sudo minicom -s +在串口设置中,修改A - 串行设备为:/dev/serial/by-path/pci-0000:00:14.0-usb-0:7:1.2-port0之后保存并打开串口。 + +## 第一次启动和修改开发板u-boot设置 +在计算机中启动Thead1520的minicom串口。将烧录好的sd卡插入Thead1520卡槽并连接好电源线。开发板启动到u-boot时快速按下回车使开发板停在u-boot。在u-boot中输入以下命令设置开发板从sd卡启动: +>env set -f set_bootargs 'setenv bootargs console=ttyS0,115200 root=/dev/mmcblk1 rootfstype=ext4 rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrwoptions=rw,noatime rootrwreset=${factory_reset} init=/lib/systemd/systemd' +>env save +>run gpt_partition +注:第一条是一条命令,很长,在您的显示设备可能会换行 +之后在u-boot中输入reset来重启开发板,这样开发板就可以从sd卡启动openKylin系统。 +首次启动之后,系统中会存在一个默认用户,当桌面环境启动之后,您可以通过默认用户进行Thead1520首次登陆,后期可以根据自己需求进行用户或密码的更改。 +默认用户名/密码是: +>username:openkylin +>password:openkylin + + +# 四、在 VisionFive 2上安装openKylin +## 准备SD卡 +openkylin适配VisionFive 2的镜像可以通过以下链接下载 +> https://openKylin.top/downloads/download-smp.php?id=15 + +通过以下命令解压 +> unxz openkylin-0.9.5-visionfive2-riscv64.img.xz + +以上路径请根据自己的实际路径去解压 + +## 制作SD卡启动盘 +首先使用磁盘工具将sd卡格式化。 +之后通过命令行将镜像刷入sd卡,请运行: +> sudo dd if= of=/dev/mmcblk0 bs=1M status=progress +注:的含义是下载的镜像路径,不用写尖括号和里边的英文,路径尽可能不要有空格 +此命令假设您已将 SD 卡插入开发板的 SD 卡插槽中。 如果您使用的是 USB 读卡器,它可能会显示为 /dev/sdb 或类似的内容而不是 /dev/mmcblk0 +注意:要非常小心上一个命令中的“of”参数。 如果使用了错误的磁盘,您可能会丢失数据。也可通过磁盘工具的回复磁盘映像功能来将镜像刷入sd卡。 +## 第一次启动 +将烧录好的sd卡插入VisionFive 2卡槽并连接好电源线。首次启动之后,系统中会存在一个默认用户,当桌面环境启动之后,您可以通过默认用户进行VisionFive 2首次登陆,后期可以根据自己需求进行用户或密码的更改。 +默认用户名/密码是 +> username:openkylin +> password:openkylin + + +# 五、使用Qemu启动openKylin +## 下载镜像 +openkylin Qemu版本镜像可以通过以下链接下载 +> https://openKylin.top/downloads/download-smp.php?id=16 + +## 通过以下命令解压 +> unxz openKylin-0.9.5-qemu-riscv64.img.xz + +以上路径请根据自己的实际路径去解压 + +## 安装Qemu所需的软件包 +sudo apt install qemu-system-misc opensbi u-boot-qemu qemu-utils + +## 命令行模式启动 +执行以下命令通过qemu命令行模式启动镜像 +sudo qemu-system-riscv64 -machine virt -nographic -m 2048 -smp 4 -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf -device virtio-net-device,netdev=eth0 -netdev user,id=eth0 -drive file=openKylin-0.9.5-qemu-riscv64.img,format=raw,if=virtio + +## 桌面模式启动 +想要启动qemu桌面模式需要本地对qemu进行配置和编译。 +qemu依赖sdl,需要先编译sdl +> https://github.com/libsdl-org/SDL/releases/tag/release-2.26.3 +通过此链接下载SDL2-2.26.3.tar.gz +解压并进入该目录 +./configure +make +sudo make install + +接下来本地编译qemu,打开终端 +mkdir qemu +cd qemu +wget https://download.qemu.org/qemu-7.0.0.tar.xz +tar xvJf qemu-7.0.0.tar.xz +cd qemu-7.0.0 +要在qemu中添加显示桌面,需要配置使能sdl参数,可以根据以下链接解决qemu常见编译错的问题 +> https://blog.csdn.net/ado11111/article/details/115705374 +./configure --enable-sdl +make +make install + +执行以下命令通过qemu桌面模式启动镜像 +qemu-system-riscv64 -machine virt -m 4096 -smp 4 -vga std -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf -device VGA,id=video0,vgamem_mb=1024 -device virtio-mouse-pci -device virtio-keyboard-pci -drive file=openKylin-0.9.5-qemu-riscv64.img,format=raw,if=virtio + +## 首次启动 +启动后您可以通过默认用户进行首次登陆,后期可以根据自己需求进行用户或密码的更改。 +默认用户名/密码是 +> username:openkylin +> password:openkylin diff --git "a/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/\347\247\273\346\244\215Hello\350\275\257\344\273\266\345\210\260openKylin.md" "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/\347\247\273\346\244\215Hello\350\275\257\344\273\266\345\210\260openKylin.md" new file mode 100644 index 0000000000000000000000000000000000000000..89dd02ffcb6bf5f82146f3d67d89cc62a446a341 --- /dev/null +++ "b/\347\244\276\345\214\272\345\274\200\345\217\221\346\214\207\345\215\227/\347\247\273\346\244\215Hello\350\275\257\344\273\266\345\210\260openKylin.md" @@ -0,0 +1,388 @@ +# 移植Hello软件到openKylin + +> 本文是openKylin软件包打包移植的示例文档 + +## 一、GNU Hello 项目介绍 + +GNU Hello项目是 GNU 推出的示例软件,此项目将入门的 hello world 程序,以正规的 GNU 规范来实现,作为 GNU 编码标准和 GNU 维护者实践的参考范例。俗话说得好,麻雀虽小,五脏俱全,GNU Hello 虽然只是一个 hello world 程序,却包含了如下几项技术: + +- Automake 和 Autoconf:生成编译配置脚本 +- Gnulib:程序的基本函数库 +- Gettext:国际化支持 +- getopt:命令行参数支持 +- help2man:用程序的--help选项输出生成manpage +- Texinfo:编写程序文档 + +GNU项目中其他更复杂的软件系统,只是具体的业务逻辑复杂度更高,其组织结构与hello项目展示的规范保持一致。 + +## 二、对上游源码进行打包 + +> **openKylin 使用 apt 作为包管理器,因此将上游软件引入 openKylin 时,需要把上游源代码打包成符合 Debian 规范的源码包。** + +### 1. 获取上游源码 + +GNU Hello 项目的官方网站为:[https://www.gnu.org/software/hello/](https://www.gnu.org/software/hello/) + +在官网介绍中获取最新版(2.12.1)的下载地址:[https://ftp.gnu.org/gnu/hello/hello-2.12.1.tar.gz](https://ftp.gnu.org/gnu/hello/hello-2.12.1.tar.gz) + +随后下载并解压源码包: + +```shell +$ wget https://ftp.gnu.org/gnu/hello/hello-2.12.1.tar.gz +$ tar -xaf hello-2.12.1.tar.gz +``` + +### 2. 使用 debmake 产生模板文件 + +进入源码目录,执行`debmake` + +```shell +$ cd hello-2.12.1 +$ debmake +I: set parameters +I: sanity check of parameters +I: pkg="hello", ver="2.12.1", rev="1" +I: *** start packaging in "hello-2.12.1". *** +I: provide hello_2.12.1.orig.tar.gz for non-native Debian package +I: pwd = "/data2/test/hello" +I: $ ln -sf hello-2.12.1.tar.gz hello_2.12.1.orig.tar.gz +I: pwd = "/data2/test/hello/hello-2.12.1" +I: parse binary package settings: +I: binary package=hello Type=bin / Arch=any M-A=foreign +I: analyze the source tree +I: build_type = Autotools with autoreconf +I: scan source for copyright+license text and file extensions +I: 43 %, ext = c +I: 27 %, ext = m4 +I: 11 %, ext = gmo +I: 11 %, ext = po +I: 1 %, ext = gperf +I: 1 %, ext = mk +I: 1 %, ext = in +I: 1 %, ext = texi +I: 0 %, ext = sin +I: 0 %, ext = sed +I: 0 %, ext = header +I: 0 %, ext = text +I: 0 %, ext = O +I: 0 %, ext = ac +I: 0 %, ext = am +I: 0 %, ext = 1 +I: 0 %, ext = pot +I: 0 %, ext = x +I: 0 %, ext = valgrind +I: 0 %, ext = info +I: 0 %, ext = tex +I: 0 %, ext = sub +I: 0 %, ext = rpath +I: 0 %, ext = sh +I: 0 %, ext = guess +I: check_all_licenses +...... +I: check_all_licenses completed for 447 files. +I: bunch_all_licenses +I: format_all_licenses +I: make debian/* template files +I: single binary package +I: debmake -x "1" ... +I: creating => debian/control +I: creating => debian/copyright +I: substituting => /usr/share/debmake/extra0/changelog +I: creating => debian/changelog +I: substituting => /usr/share/debmake/extra0/rules +I: creating => debian/rules +I: substituting => /usr/share/debmake/extra1/compat +I: creating => debian/compat +I: substituting => /usr/share/debmake/extra1/watch +I: creating => debian/watch +I: substituting => /usr/share/debmake/extra1/README.Debian +I: creating => debian/README.Debian +I: substituting => /usr/share/debmake/extra1source/local-options +I: creating => debian/source/local-options +I: substituting => /usr/share/debmake/extra1source/format +I: creating => debian/source/format +I: substituting => /usr/share/debmake/extra1patches/series +I: creating => debian/patches/series +I: run "debmake -x2" to get more template files +I: $ wrap-and-sort +``` + +运行`debmake`后生成了新的 debian 目录和模板文件,查看此时的源码树 + +```shell +$ cd .. +$ tree +├── hello-2.12.1 +│...... +│   ├── debian +│   │   ├── changelog +│   │   ├── compat +│   │   ├── control +│   │   ├── copyright +│   │   ├── patches +│   │   │   └── series +│   │   ├── README.Debian +│   │   ├── rules +│   │   ├── source +│   │   │   ├── format +│   │   │   └── local-options +│   │   └── watch +│...... +├── hello_2.12.1.orig.tar.gz -> hello-2.12.1.tar.gz +└── hello-2.12.1.tar.gz +``` + +### 3. 编辑 debian 目录模板文件 + +#### (1) 检查 debian/source 文件夹 + +##### [1] 确保软件包格式为 quilt + +`debian/source/format`文件中定义了源码包的格式,通常分为`3.0 (native)`和`3.0 (quilt)`,根据 openKylin 软件包构建工作流的要求,源码包格式必须为`3.0 (quilt)`。 + +```shell +$ cat debian/source/format +3.0 (quilt) +``` + +##### [2] local-options 文件一般不需要,可以去掉 + +```shell +rm debian/source/local-options +``` + +#### (2) 编辑 debian/changelog 文件 + +`debian/changelog`是软件包的更新日志,记录内容包括软件包包名,版本号,版本信息描述等。 +我们先查看`debian/changlog`文件的默认的初始化内容: + +```text +hello (2.12.1-1) UNRELEASED; urgency=low + + * Initial release. Closes: #nnnn + + + -- your name Wed, 16 Nov 2022 09:40:47 +0800 +``` + +第一行最左边是软件包名称,其右侧括号内的是软件包版本号,软件包版本号格式为:`-`,upstream_version是上游版本号,在执行`debmake`时,已经自动识别上游版本号为2.12.1;revisions是修订版本,默认是1,对于 openKylin 软件包,使用`ok1`作为第一次revisions。 + +版本号右侧的UNRELEASED需要修改为yangtze,中间的描述部分通常写为:Build for openKylin。 + +最后一行中的`your name`为个人署名,建议使用英文,`your email address`为个人电子邮箱,这两处都需要填写,不可缺少。 + +修改完成后的`debian/changlog`文件内容应参考如下所示: + +```text +hello (2.12.1-ok1) yangtze; urgency=medium + + * Build for openKylin. + + -- zhangsan Tue, 15 Nov 2022 10:13:02 +0800 +``` + +#### (3) 编辑 debian/control 文件 + +`debian/control`定义了源码包和二进制包的信息,包括编译依赖、安装依赖等,是必不可少的一个文件,根据上游软件展出的信息等进行编写即可,修改完成后如下所示。 + +```text +Source: hello +Section: devel +Priority: optional +Maintainer: openKylin Developers +Standards-Version: 4.3.0 +Build-Depends: debhelper-compat (= 9) +Homepage: http://www.gnu.org/software/hello/ +Rules-Requires-Root: no + +Package: hello +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: hello-traditional +Replaces: hello-traditional, hello-debhelper (<< 2.9) +Breaks: hello-debhelper (<< 2.9) +Description: example package based on GNU hello + The GNU hello program produces a familiar, friendly greeting. It + allows non-programmers to use a classic computer science tool which + would otherwise be unavailable to them. + . + Seriously, though: this is an example of how to do a Debian package. + It is the Debian version of the GNU Project's `hello world' program + (which is itself an example for the GNU Project). +``` + +#### (4) 编辑 debian/rules 文件 + +`debian/rules`是应当由软件包维护者提供的构建脚本,这个文件事实上是另一个 Makefile,需要根据具体上游软件的编译方法,编写相应的内容。Debian格式的源码包在编译时,默认读取debian/rules文件中的内容作为编译规则,此文件同样不可或缺。 + +Hello是一个标准的使用`Autotools`构建的软件包,其编译安装方法为: + +```shell +$ ./configure +$ make +$ sudo make install +``` + +根据上述编译方法,可以编写 debian/rules 文件内容如下: + +```Makefile +#!/usr/bin/make -f +%: + dh $@ + +override_dh_auto_clean: + [ ! -f Makefile ] || $(MAKE) distclean + +override_dh_installdocs: + dh_installdocs NEWS +``` + +#### (5) 处理非必需文件 + +debian/compat 和 debian/README.Debian 不是必需的文件,对于此软件包可以去掉。 + +```shell +$ rm debian/compat +$ rm debian/README.Debian +``` + +### 4. 打包并测试编译 + +在源码目录顶层执行`dpkg-source -b .`,即可将上游源码打包为 Debian 格式的源码包,打包成功后会生成`.debian.tar.xz`和`.dsc`结尾的两个新文件。 + +```shell +$ dpkg-source -b . +dpkg-source: info: using source format '3.0 (quilt)' +dpkg-source: info: building hello using existing ./hello_2.12.1.orig.tar.gz +dpkg-source: info: building hello in hello_2.12.1-ok1.debian.tar.xz +dpkg-source: info: building hello in hello_2.12.1-ok1.dsc + +$ tree -L 1 ../ +../ +├── hello-2.12.1 +├── hello_2.12.1-ok1.debian.tar.xz +├── hello_2.12.1-ok1.dsc +├── hello_2.12.1.orig.tar.gz -> hello-2.12.1.tar.gz +└── hello-2.12.1.tar.gz + +1 directory, 4 files +``` + +在把源码包上传至Git仓库之前,我们还可以先在本地进行编译测试,确认 debian/rules 等文件是否编写正确。每次打包时,都建议先完成本地编译测试,再上传到Git仓库。Debian格式的源码包在编译时使用的是`dpkg-buildpackage`工具。编译成功时,如下所示: + +```shell +$ dpkg-buildpackage -b -uc +dpkg-buildpackage: info: 源码包 hello +dpkg-buildpackage: info: 源码版本 2.12.1-ok1 +dpkg-buildpackage: info: source distribution yangtze +dpkg-buildpackage: info: 源码修改者 your name +dpkg-buildpackage: info: 主机架构 amd64 +...... +dpkg-deb: 正在 '../hello_2.12.1-ok1_amd64.deb' 中构建软件包 'hello'。 +dpkg-deb: 正在 'debian/.debhelper/scratch-space/build-hello/hello-dbgsym_2.12.1-ok1_amd64.deb' 中构建软件包 'hello-dbgsym'。 + Renaming hello-dbgsym_2.12.1-ok1_amd64.deb to hello-dbgsym_2.12.1-ok1_amd64.ddeb + dpkg-genbuildinfo --build=binary + dpkg-genchanges --build=binary >../hello_2.12.1-ok1_amd64.changes +dpkg-genchanges: info: binary-only upload (no source code included) + dpkg-source --after-build . +dpkg-buildpackage: info: binary-only upload (no source included) + +$ tree -L 1 ../ +../ +├── hello-2.12.1 +├── hello_2.12.1-ok1_amd64.buildinfo +├── hello_2.12.1-ok1_amd64.changes +├── hello_2.12.1-ok1_amd64.deb +├── hello_2.12.1-ok1.debian.tar.xz +├── hello_2.12.1-ok1.dsc +├── hello_2.12.1.orig.tar.gz -> hello-2.12.1.tar.gz +├── hello-2.12.1.tar.gz +└── hello-dbgsym_2.12.1-ok1_amd64.ddeb + +1 directory, 8 files +``` + +## 三、将源码包上传至Gitee平台 + +### 1. 创建对应的Git仓库 + +#### (1) fork openkylin/community 仓库到个人仓库中 + +在openKylin组织中创建新的代码仓库,需要用到openkylin/community仓库:[https://gitee.com/openkylin/community](https://gitee.com/openkylin/community) + +在浏览器网页端forkopenkylin/community仓库到个人账号,会生成新的仓库地址:`https://gitee.com//community`,将这个新仓库clone到本地。 + +```shell +$ git clone git@gitee.com:/community.git +``` + +后续流程从维护者角色来说,分为 **单独的包维护者** 和 **SIG组维护者** 两种。 + +#### (2) 作为单独的包维护者 + +##### [1] 创建软件包维护信息 + +进入到一级目录packages里面,创建`hello.yaml`文件,添加以下内容: +(更多填写示例可以浏览:[https://gitee.com/openkylin/community/tree/master/packages](https://gitee.com/openkylin/community/tree/master/packages)) + +```yaml +name: hello +path: hello +maintainers: +- name: 你的Gitee ID + openkylinid: 你的openkylinid用户名 + displayname: 你的姓名或昵称 + email: 你的联系邮箱 +``` + +##### [2] 将改动推送到个人远端仓库中,并向openkylin/community仓库提交pr + +```shell +$ git add packages +$ git commit -m "添加hello软件包维护信息" +$ git push origin master +``` + +推送到个人仓库之后,在web页面端发起`Pull Requests`请求,对应的社区管理人员审核通过并接受pr之后,openkylin平台内部会根据软件包维护信息中描述的内容自动创建相应openkylin仓库。 + +例如,上面的`hello`软件包的pr请求合并之后,会创建出名为`hello`的openkylin仓库,可以在浏览器中访问该仓库,这里`hello`软件包对应的仓库地址为:[https://gitee.com/openkylin/hello](https://gitee.com/openkylin/hello) + +#### (3) 作为SIG组维护者 + +##### [1] 创建软件包维护信息 + +这一步需要在对应的sig组的sig.yaml文件中添加源码包名称,这里以Packaging SIG组举例,操作示例如下: + +```shell +$ echo "- hello" >> sig/packaging/sig.yaml +``` + +##### [2] 将改动推送到个人远端仓库中,并向openkylin/community仓库提交pr + +```shell +$ git add sig/packaging/sig.yaml +$ git commit -m "新增hello软件包" +$ git push origin master +``` + +推送到个人仓库之后,在web页面端发起`Pull Requests`请求,对应的SIG组维护者审核通过并接受pr之后,openkylin平台内部会根据软件包维护信息中描述的内容自动创建相应openkylin仓库。 + +例如,上面的`hello`软件包的pr请求合并之后,会创建出名为`hello`的openkylin仓库,可以在浏览器中访问该仓库,这里`hello`软件包对应的仓库地址为:[https://gitee.com/openkylin/hello](https://gitee.com/openkylin/hello) + +### 2. 构建本地Git仓库 + +获取构建工具:[https://gitee.com/openkylin/packaging-tools](https://gitee.com/openkylin/packaging-tools) + +```shell +$ path/to/source-packing.py import-to-git --dsc-file hello_2.12.1-ok1.dsc --packaging-branch openkylin/yangtze +``` + +### 3. 推送至远程Git仓库 + +```shell +$ cd hello +$ git remote add origin git@gitee.com:openkylin/hello.git +$ git push --all && git push --tags +``` + +此时可以在浏览器中打开Gitee平台的仓库链接([https://gitee.com/openkylin/hello](https://gitee.com/openkylin/hello)),查看源代码是否推送成功。