<!DOCTYPE HTML>
<html lang="zh-hans" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>4.1 uni-app x 跨平台实战入门:从 0 到 1 开发 HarmonyOS 5 鸿蒙原生应用 · uniapp/uniapp-x for Harmony教程</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<meta name="author" content="坚果派">
<link rel="stylesheet" href="../gitbook/style.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-splitter/splitter.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-tbfed-pagefooter/footer.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-chapter-fold/chapter-fold.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-back-to-top-button/plugin.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-code/plugin.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-pageview-count/plugin.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-search-plus/search.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-mind-maps/mindmaps.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-emphasize/plugin.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-anchors/plugin.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-ace/ace.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-theme-lou/lou.css">
<link rel="stylesheet" href="../styles/website.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
<style>
@media only screen and (max-width: 640px) {
.book-header .hidden-mobile {
display: none;
}
}
</style>
<script>
window["gitbook-plugin-github-buttons"] = {"repo":"ITmxs/gitbook","types":["star","watch","fork"],"size":"small"};
</script>
</head>
<body>
<div class="donate-modal modal">
<div class="modal-header">
<div>
<span>
<img
id="modal-avatar"
class="modal-avatar"
src="http://xkapp-uat.oss-cn-hangzhou.aliyuncs.com/2e7a3f70-80ab-4b50-93ec-a04dfeef949b/avatar-100.png"
/>
</span>
<span id="nickname"> breeze </span>
<p class="modal-close close" onclick="closeDonateModal()">×</p>
</div>
<div class="message">
<div class="tip">
<i></i>
<span>随意打赏,但不要超过一顿早餐钱 💕</span>
</div>
</div>
</div>
<div class="modal-content">
<div class="modal-pay-way">
<div id="wxpay" onclick="showDonateImg(0)">
<input
type="radio"
name="pay-way"
value="wxpay"
class="zs-type"
checked="checked"
/>
<span>
<img
id="wxpay-logo"
src="data:image/png;base64,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"
/>
</span>
</div>
<div id="alipay" onclick="showDonateImg(1)">
<input type="radio" name="pay-way" value="alipay" class="zs-type" />
<span>
<img
id="alipay-logo"
src="data:image/png;base64,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"
/>
</span>
</div>
</div>
<div class="modal-pay-qrcode">
<img id="wxpay-code" src="https://luckly007.oss-cn-beijing.aliyuncs.com/img/image-20210922202901895.png" />
<img
id="alipay-code"
src="https://luckly007.oss-cn-beijing.aliyuncs.com/img/image-20210922202843746.png"
hidden
/>
</div>
</div>
</div>
<div class="mask"></div>
<div class="book">
<div class="header-inner">
<div class="logo"></div>
<span class="title"></span>
<div id="book-search-input" role="search">
<input type="text" placeholder="输入并搜索" />
</div>
<ul class="header-nav">
<li>
<a href="https://www.nutpi.net/" target="_blank">坚果派官网</a>
</li><li>
<a href="https://www.arkui.club/" target="_blank">ArkUI实战</a>
</li><li>
<a href="https://space.bilibili.com/480883651" target="_blank">元服务开发实践</a>
</li><li>
<a href="https://gitcode.com/nutpi" target="_blank">OpenHarmony应用开发</a>
</li>
</ul>
</div>
<div class="book-summary">
<div class="book-summary-title">文档目录</div>
<nav role="navigation">
<ul class="summary">
<li class="chapter " data-level="1.1" data-path="../">
<a href="../">
1.前言
</a>
</li>
<li class="chapter " data-level="1.2" data-path="../chapter2/1.为什么.html">
<a href="../chapter2/1.为什么.html">
2.为什么要这个专栏?
</a>
</li>
<li class="chapter " data-level="1.3" >
<span>
3.uniapp开发鸿蒙
</span>
<ul class="articles">
<li class="chapter " data-level="1.3.1" data-path="../chapter3/14.背景.md">
<span>
3.1背景
</a>
</li>
<li class="chapter " data-level="1.3.2" data-path="../chapter3/15.优势.html">
<a href="../chapter3/15.优势.html">
3.2优势
</a>
</li>
<li class="chapter " data-level="1.3.3" data-path="../chapter3/1.uniapp开发鸿蒙应用.html">
<a href="../chapter3/1.uniapp开发鸿蒙应用.html">
3.3uniapp开发鸿蒙应用
</a>
</li>
<li class="chapter " data-level="1.3.4" data-path="../chapter3/3.uniapp之uts语言.html">
<a href="../chapter3/3.uniapp之uts语言.html">
3.4uniapp之uts语言
</a>
</li>
<li class="chapter " data-level="1.3.5" data-path="../chapter3/4.uniapp for Harmony.html">
<a href="../chapter3/4.uniapp for Harmony.html">
3.5uniapp for Harmony
</a>
</li>
<li class="chapter " data-level="1.3.6" data-path="../chapter3/5.uniapp for Harmony FAQ.html">
<a href="../chapter3/5.uniapp for Harmony FAQ.html">
3.6uniapp for Harmony FAQ
</a>
</li>
<li class="chapter " data-level="1.3.7" data-path="../chapter3/2.uniapp2.html">
<a href="../chapter3/2.uniapp2.html">
3.7uniapp2
</a>
</li>
<li class="chapter " data-level="1.3.8" data-path="../chapter3/6.uniappx支持鸿蒙.html">
<a href="../chapter3/6.uniappx支持鸿蒙.html">
3.8uniappx支持鸿蒙
</a>
</li>
<li class="chapter " data-level="1.3.9" data-path="../chapter3/7.uniapp-x支持鸿蒙.html">
<a href="../chapter3/7.uniapp-x支持鸿蒙.html">
3.9uniapp-x支持鸿蒙
</a>
</li>
<li class="chapter " data-level="1.3.10" data-path="../chapter3/8.目前支持鸿蒙手机.html">
<a href="../chapter3/8.目前支持鸿蒙手机.html">
3.10目前支持鸿蒙手机
</a>
</li>
<li class="chapter " data-level="1.3.11" data-path="../chapter3/9.uniapp-x项目开发鸿蒙支持调试啦.html">
<a href="../chapter3/9.uniapp-x项目开发鸿蒙支持调试啦.html">
3.11uniapp-x项目开发鸿蒙支持调试啦
</a>
</li>
<li class="chapter " data-level="1.3.12" data-path="../chapter3/10.uniapp和flutter你会选哪个来开发鸿蒙.html">
<a href="../chapter3/10.uniapp和flutter你会选哪个来开发鸿蒙.html">
3.12uniapp和flutter你会选哪个来开发鸿蒙
</a>
</li>
<li class="chapter " data-level="1.3.13" data-path="../chapter3/11.Flutter与uni-app的深度对比:鸿蒙开发的最佳选择竟是原生开发.md.md">
<span>
3.13Flutter与uni-app的深度对比:鸿蒙开发的最佳选择竟是原生开发
</a>
</li>
<li class="chapter " data-level="1.3.14" data-path="../chapter3/12.uniapp版本更新.html">
<a href="../chapter3/12.uniapp版本更新.html">
3.14uniapp版本更新
</a>
</li>
<li class="chapter " data-level="1.3.15" data-path="../chapter3/13.HBuilderX 4.62 开始,uni-app 支持嵌入鸿蒙原生组件.html">
<a href="../chapter3/13.HBuilderX 4.62 开始,uni-app 支持嵌入鸿蒙原生组件.html">
3.15HBuilderX 4.62开始,uni-app支持嵌入鸿蒙原生组件
</a>
</li>
<li class="chapter " data-level="1.3.16" data-path="../chapter3/16.uni-app x 已经完成鸿蒙等主流平台全覆盖.html">
<a href="../chapter3/16.uni-app x 已经完成鸿蒙等主流平台全覆盖.html">
3.16uni-app x 已经完成鸿蒙等主流平台全覆盖
</a>
</li>
<li class="chapter " data-level="1.3.17" data-path="../chapter3/17.uniapp如何进行条件编译到鸿蒙.html">
<a href="../chapter3/17.uniapp如何进行条件编译到鸿蒙.html">
3.17uniapp如何进行条件编译到鸿蒙
</a>
</li>
<li class="chapter " data-level="1.3.18" data-path="../chapter3/18.鸿蒙Next案例分析.html">
<a href="../chapter3/18.鸿蒙Next案例分析.html">
3.18鸿蒙Next案例分析
</a>
</li>
<li class="chapter " data-level="1.3.19" data-path="../chapter3/19.UTS开发鸿蒙插件.md">
<span>
3.19UTS开发鸿蒙插件
</a>
</li>
<li class="chapter " data-level="1.3.20" data-path="../chapter3/20.热重载.html">
<a href="../chapter3/20.热重载.html">
3.20热重载
</a>
</li>
<li class="chapter " data-level="1.3.21" data-path="../chapter3/21.调用鸿蒙原生组件.html">
<a href="../chapter3/21.调用鸿蒙原生组件.html">
3.21调用鸿蒙原生组件
</a>
</li>
<li class="chapter " data-level="1.3.22" data-path="../chapter3/22.从开发者视角看 uniapp 与 Flutter 的差异.html">
<a href="../chapter3/22.从开发者视角看 uniapp 与 Flutter 的差异.html">
3.22从开发者视角看 uniapp 与 Flutter 的差异
</a>
</li>
<li class="chapter " data-level="1.3.23" data-path="../chapter3/23.uniappforHarmony学习路线.html">
<a href="../chapter3/23.uniappforHarmony学习路线.html">
3.23uniappforHarmony学习路线
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.4" >
<span>
4.随机笑话-实战案例
</span>
<ul class="articles">
<li class="chapter active" data-level="1.4.1" data-path="1.uni-app_x跨平台实战入门:从0到1开发HarmonyOS_5鸿蒙原生应用.html">
<a href="1.uni-app_x跨平台实战入门:从0到1开发HarmonyOS_5鸿蒙原生应用.html">
4.1 uni-app x 跨平台实战入门:从 0 到 1 开发 HarmonyOS 5 鸿蒙原生应用
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.5" >
<span>
5.二十四节气
</span>
<ul class="articles">
<li class="chapter " data-level="1.5.1" >
<span>
5.1二十四节气实战案例
</span>
</li>
</ul>
</li>
<li class="chapter " data-level="1.6" >
<span>
6.UTS插件开发
</span>
<ul class="articles">
<li class="chapter " data-level="1.6.1" data-path="../chapter6/1.UTS开发鸿蒙插件.html">
<a href="../chapter6/1.UTS开发鸿蒙插件.html">
6.1 UTS开发鸿蒙插件
</a>
</li>
<li class="chapter " data-level="1.6.2" data-path="../chapter6/2.开发uts插件.html">
<a href="../chapter6/2.开发uts插件.html">
6.2 开发uts插件
</a>
</li>
<li class="chapter " data-level="1.6.3" data-path="../chapter6/3.新建鸿蒙插件.html">
<a href="../chapter6/3.新建鸿蒙插件.html">
6.3 新建鸿蒙插件
</a>
</li>
<li class="chapter " data-level="1.6.4" data-path="../chapter6/4.鸿蒙使用插件.md">
<span>
6.4 鸿蒙使用插件
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.7" >
<span>
7.鸿蒙插件实战
</span>
<ul class="articles">
<li class="chapter " data-level="1.7.1" data-path="../chapter7/1.开发鸿蒙插件.html">
<a href="../chapter7/1.开发鸿蒙插件.html">
7.1 开发鸿蒙插件
</a>
</li>
<li class="chapter " data-level="1.7.2" data-path="../chapter7/2.uniappx插件nutpi-idcard 开发与使用指南(适配鸿蒙).html">
<a href="../chapter7/2.uniappx插件nutpi-idcard 开发与使用指南(适配鸿蒙).html">
7.2 uniappx插件nutpi-idcard开发与使用指南
</a>
</li>
<li class="chapter " data-level="1.7.3" data-path="../chapter7/3.chinese-number-format插件.html">
<a href="../chapter7/3.chinese-number-format插件.html">
7.3 chinese-number-format插件
</a>
</li>
<li class="chapter " data-level="1.7.4" data-path="../chapter7/4.calendar插件.html">
<a href="../chapter7/4.calendar插件.html">
7.4 calendar插件
</a>
</li>
<li class="chapter " data-level="1.7.5" data-path="../chapter7/5.HBuilderX 中适配鸿蒙插件的安装使用指南.html">
<a href="../chapter7/5.HBuilderX 中适配鸿蒙插件的安装使用指南.html">
7.5 HBuilderX中适配鸿蒙插件的安装使用指南
</a>
</li>
<li class="chapter " data-level="1.7.6" data-path="../chapter7/OpenHarmony5.0跟华为HarmonyOS之间的应用生态兼容情况.html">
<a href="../chapter7/OpenHarmony5.0跟华为HarmonyOS之间的应用生态兼容情况.html">
7.6 OpenHarmony与HarmonyOS兼容性
</a>
</li>
</ul>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
本书使用 GitBook 发布
</a>
</li>
</ul>
</nav>
</div>
<div class="book-anchor">
<div class="book-anchor-title"></div>
<div class="book-anchor-body"></div>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href=".." >4.1 uni-app x 跨平台实战入门:从 0 到 1 开发 HarmonyOS 5 鸿蒙原生应用</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div class="search-plus" id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<div id="vip-container">
<h1 id="uni-app-x-跨平台实战入门:从-0-到-1-开发-harmonyos-5-鸿蒙原生应用"><a name="uni-app-x-跨平台实战入门:从-0-到-1-开发-harmonyos-5-鸿蒙原生应用" class="plugin-anchor" href="#uni-app-x-跨平台实战入门:从-0-到-1-开发-harmonyos-5-鸿蒙原生应用"><i class="fa fa-link" aria-hidden="true"></i></a>uni-app x 跨平台实战入门:从 0 到 1 开发 HarmonyOS 5 鸿蒙原生应用</h1>
<h2 id="课程介绍"><a name="课程介绍" class="plugin-anchor" href="#课程介绍"><i class="fa fa-link" aria-hidden="true"></i></a>课程介绍</h2>
<h3 id="你将收获"><a name="你将收获" class="plugin-anchor" href="#你将收获"><i class="fa fa-link" aria-hidden="true"></i></a>你将收获</h3>
<ul>
<li>uni-app x 开发原生鸿蒙核心逻辑</li>
<li>多端界面适配思维和代码兼容实战</li>
<li>从 0 到 1 入门完成可上线的跨平台应用</li>
<li>掌握多端应用的开发能力(HarmonyOS Next/Android/iOS/微信小程序/Web)</li>
</ul>
<h3 id="适用人群"><a name="适用人群" class="plugin-anchor" href="#适用人群"><i class="fa fa-link" aria-hidden="true"></i></a>适用人群</h3>
<ul>
<li>鸿蒙应用开发工程师,想切入跨平台领域;</li>
<li>想学习鸿蒙、小程序开发但缺乏实战案例的技术爱好者;</li>
<li>已学过 uni-app,想要进阶下一代 uni-app x 技术栈的小伙伴;</li>
<li>想要一套代码,同时覆盖多端的移动端开发工程师;</li>
<li>需快速开发多端应用的企业开发者或创业团队。</li>
</ul>
<h3 id="课程简介"><a name="课程简介" class="plugin-anchor" href="#课程简介"><i class="fa fa-link" aria-hidden="true"></i></a>课程简介</h3>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747622671955-2f1e143b-c74d-4623-8b88-acd797415be3.png" alt="应用图标"></p>
<p>本课程以「随机笑话」为实战案例,全面解析基于 uni-app x 的跨平台开发流程。通过从环境搭建、功能开发到多端适配的全链路实践,学员将掌握 uni-app x 的核心语法、跨平台组件调用、屏幕适配技巧及多端(HarmonyOS Next/Android/iOS/微信小程序/Web)打包部署能力。课程结合华为折叠屏适配、云打包等真实开发场景,侧重实战落地与前沿技术覆盖,助力开发者快速上手跨平台应用开发并积累项目经验。</p>
<h3 id="课程亮点"><a name="课程亮点" class="plugin-anchor" href="#课程亮点"><i class="fa fa-link" aria-hidden="true"></i></a>课程亮点</h3>
<ol>
<li><strong>实战驱动,即学即用:</strong> 以完整开源项目为载体,涵盖从需求分析到上线部署的全流程,避免纯理论堆砌,侧重代码实操与问题解决(如折叠屏适配、多端样式兼容)。</li>
<li><strong>多端适配核心技术拆解:</strong> 深度解析 uni-app x 跨平台原理,通过华为折叠屏适配、鸿蒙平台签名配置、兼容性处理等实操,掌握不同设备与平台的差异化适配策略。</li>
<li><strong>前沿技术与生态覆盖:</strong> 结合鸿蒙(HarmonyOS Next)开发、Uni TypeScript 语法、SCSS 样式预处理等技术,适配当前跨平台开发趋势。</li>
</ol>
<h3 id="平台兼容性"><a name="平台兼容性" class="plugin-anchor" href="#平台兼容性"><i class="fa fa-link" aria-hidden="true"></i></a>平台兼容性</h3>
<ul>
<li>HarmonyOS NEXT(鸿蒙) ✅</li>
<li>Android(安卓) ✅</li>
<li>iOS(苹果) ✅</li>
<li>微信小程序 ✅</li>
<li>Web(浏览器) ✅</li>
</ul>
<h3 id="运行效果"><a name="运行效果" class="plugin-anchor" href="#运行效果"><i class="fa fa-link" aria-hidden="true"></i></a>运行效果</h3>
<ul>
<li>iPhone 、Android、鸿蒙阔折叠(展开)、微信小程序</li>
</ul>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747622788196-0400b077-0a62-4be5-8809-32c01729d7d3.png" alt="运行效果1"></p>
<ul>
<li>iPhone 、Android、鸿蒙阔折叠(折叠)、微信小程序</li>
</ul>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747622810188-a95d2692-6fab-4657-9563-e6ca520db4ea.png" alt="运行效果2"></p>
<h3 id="技术栈"><a name="技术栈" class="plugin-anchor" href="#技术栈"><i class="fa fa-link" aria-hidden="true"></i></a>技术栈</h3>
<ul>
<li>UniApp X</li>
<li>Uni TypeScript</li>
<li>Vue 3</li>
</ul>
<h3 id="开发工具"><a name="开发工具" class="plugin-anchor" href="#开发工具"><i class="fa fa-link" aria-hidden="true"></i></a>开发工具</h3>
<ul>
<li>操作系统:MacOS 15.4.1</li>
<li>编辑器:HBuilder X 4.65</li>
<li>鸿蒙开发环境:DevEco Studio 5.0.4 Release</li>
<li>安卓开发环境:Android Studio (version 2024.2)</li>
<li>苹果开发环境:Xcode Version 16.1 (16B40)</li>
<li>浏览器:Chrome 135.0.7049.85</li>
</ul>
<h2 id="uni-app-x"><a name="uni-app-x" class="plugin-anchor" href="#uni-app-x"><i class="fa fa-link" aria-hidden="true"></i></a>uni-app x</h2>
<h3 id="uni-app-x-简介"><a name="uni-app-x-简介" class="plugin-anchor" href="#uni-app-x-简介"><i class="fa fa-link" aria-hidden="true"></i></a>uni-app x 简介</h3>
<p>uni-app x,是下一代 uni-app,是一个跨平台应用开发引擎,现已支持编译成 HarmonyOS Next 原生应用(4.61+)</p>
<p>uni-app x 包括 uvue 渲染引擎、uts 语言、uni的组件和API、以及扩展机制。</p>
<h3 id="uvue-渲染引擎"><a name="uvue-渲染引擎" class="plugin-anchor" href="#uvue-渲染引擎"><i class="fa fa-link" aria-hidden="true"></i></a>uvue 渲染引擎</h3>
<p>用 vue3 框架快速编写页面,最终编译为不同平台的、高性能的纯原生界面。</p>
<ol>
<li>模板式写法</li>
<li>数据双向绑定</li>
<li>组件机制</li>
</ol>
<p>在 HarmonyOS Next 平台,uni-app x 的工程被整体编译为 ArkTS + ArkUI 代码,本质上是换了 vue 写法的原生鸿蒙应用。</p>
<h3 id="uts-语言"><a name="uts-语言" class="plugin-anchor" href="#uts-语言"><i class="fa fa-link" aria-hidden="true"></i></a>uts 语言</h3>
<p>uts 全称 uni typescript,是一门强类型的现代编程语言。支持跨平台,最终会被编译为不同平台的 native语言,如:</p>
<ul>
<li><code>web/小程序</code>平台,编译为JavaScript</li>
<li><code>鸿蒙next</code>平台,编译为ArkTS</li>
<li><code>Android</code>平台,编译为Kotlin</li>
<li><code>iOS</code>平台,编译Swift</li>
</ul>
<p>uts 和 ts 很相似,但为了跨端,uts 进行了一些约束和特定平台的增补。详见 <a href="https://doc.dcloud.net.cn/uni-app-x/uts/index.html" target="_blank">uts语言介绍</a></p>
<p>注意:在 ts 中,常通过 interface 或 type 定义对象类型,但在 uts 中,需使用 type 定义对象类型。因为 interface 在 kotlin 和 swift 中有差异。</p>
<h3 id="uni-组件"><a name="uni-组件" class="plugin-anchor" href="#uni-组件"><i class="fa fa-link" aria-hidden="true"></i></a>uni 组件</h3>
<p>ni-app x 的组件主要分三类:</p>
<ul>
<li><code>内置基础组件</code>:如 view、text、image、scroll-view、input... 等,详见<a href="https://doc.dcloud.net.cn/uni-app-x/component/index.html" target="_blank">组件清单</a></li>
<li><code>自定义组件</code>:开发者自己通过 vue 语法封装的组件。</li>
<li><code>uts组件插件</code>:第三方组件,可通过<a href="https://ext.dcloud.net.cn/" target="_blank">插件市场</a>下载。</li>
</ul>
<h2 id="准备工作"><a name="准备工作" class="plugin-anchor" href="#准备工作"><i class="fa fa-link" aria-hidden="true"></i></a>准备工作</h2>
<h3 id="开发环境准备"><a name="开发环境准备" class="plugin-anchor" href="#开发环境准备"><i class="fa fa-link" aria-hidden="true"></i></a>开发环境准备</h3>
<ul>
<li>下载安装 HBuilderX 编辑器</li>
<li>通过 HbuilderX 创建 uni-app x 项目</li>
</ul>
<h3 id="项目目录结构"><a name="项目目录结构" class="plugin-anchor" href="#项目目录结构"><i class="fa fa-link" aria-hidden="true"></i></a>项目目录结构</h3>
<pre><code class="lang-shell">├─pages 业务页面文件存放的目录
│ └─index
│ └─index.uvue index页面
├─static 存放应用引用的本地静态资源的目录(注意:静态资源只能存放于此)
├─unpackage 非工程代码,一般存放运行或发行的编译结果
├─index.html H5端页面
├─main.uts Vue初始化入口文件
├─App.uvue 应用配置,用来配置App全局样式以及监听
├─pages.json 配置页面路由、导航条、选项卡等页面类信息
├─manifest.json 配置应用名称、appid、logo、版本等打包信息
└─uni.scss uni-app内置的常用样式变量
</code></pre>
<h3 id="编译运行"><a name="编译运行" class="plugin-anchor" href="#编译运行"><i class="fa fa-link" aria-hidden="true"></i></a>编译运行</h3>
<ul>
<li>安装 uni-app x 编译器插件</li>
<li>编译并运行鸿蒙原生应用</li>
</ul>
<h2 id="项目实战"><a name="项目实战" class="plugin-anchor" href="#项目实战"><i class="fa fa-link" aria-hidden="true"></i></a>项目实战</h2>
<h3 id="效果预览"><a name="效果预览" class="plugin-anchor" href="#效果预览"><i class="fa fa-link" aria-hidden="true"></i></a>效果预览</h3>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747583601447-8e506307-a923-48af-af25-b1d9b49f4a69.png" alt="应用图标"></p>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747583337685-abfd1a54-4c6a-4df7-8c48-22a2acad48d9.png" alt="应用运行"></p>
<h3 id="素材下载"><a name="素材下载" class="plugin-anchor" href="#素材下载"><i class="fa fa-link" aria-hidden="true"></i></a>素材下载</h3>
<p><a href="https://www.yuque.com/attachments/yuque/0/2025/zip/2735051/1747623334802-848b63f4-0fd7-4578-ad63-0125237a305d.zip" target="_blank">项目图片素材.zip</a></p>
<h3 id="结构和样式"><a name="结构和样式" class="plugin-anchor" href="#结构和样式"><i class="fa fa-link" aria-hidden="true"></i></a>结构和样式</h3>
<p>使用 uni-app x 组件库实现项目基本布局。</p>
<p>布局注意点:</p>
<ul>
<li>view 组件默认是 flex 模式且方向是垂直 column</li>
<li>uni-app x 样式不会继承,文字需要用 text 包裹并单独设置字体样式</li>
</ul>
<p>参考代码:</p>
<pre><code class="lang-vue"><template>
<view class="container">
<!-- 卡片容器 -->
<view class="card">
<!-- 头部标题 -->
<view class="header">
<text class="header-text">随机笑话</text>
</view>
<!-- 滚动内容区 -->
<scroll-view class="scroll-content">
<text class="scroll-content-text">笑话加载中...</text>
</scroll-view>
<!-- 底部按钮 -->
<view class="footer">
<button class="footer-button" @click="getJoke()">换一个</button>
</view>
</view>
</view>
</template>
<style lang="scss">
.container {
/* 注意点1: view 默认是 flex,方向是 column */
/* display: flex; */
/* flex-direction: column; */
/* 注意点2:uni-app x 样式不会继承,文字需要用 text 包裹并单独设置字体样式 */
/* font-size: 100rpx; */
flex: 1;
justify-content: center;
align-items: center;
background-color: #f6f6f6;
}
.card {
width: 90%;
border-radius: 20rpx;
/* 1. 盒子阴影 X 轴偏移量、Y 轴偏移量、模糊半径 和 颜色 */
box-shadow: 0 10rpx 30rpx #a7b3f9;
/* iOS 端存在兼容问题,需要主动设置为白色 */
background-color: #fff;
}
.header {
background-color: #1534f5;
height: 110rpx;
padding: 0 30rpx;
/* iOS 端圆角不受父级约束,需要主动设置圆角 */
border-radius: 20rpx 20rpx 0 0;
/* 2. 主轴垂直方向居中 */
justify-content: center;
/* 3. style 添加 lang="scss" 后,支持类名嵌套 */
/* 4. 文字不能继承,需要给 text 定义类名修改 */
.header-text {
font-size: 28rpx;
font-weight: 700;
color: #fff;
}
}
.scroll-content {
padding: 40rpx 30rpx;
/* 5. 最小高度 */
min-height: 300rpx;
.scroll-content-text {
font-size: 30rpx;
color: #3204ac;
line-height: 45rpx;
}
}
.footer {
/* 6. 水平靠右对齐 */
align-items: flex-end;
padding-bottom: 20rpx;
padding-right: 20rpx;
.footer-button {
background-color: #1534f5;
color: #fff;
font-size: 26rpx;
border-radius: 50rpx;
padding: 6rpx 30rpx;
}
}
</style>
</code></pre>
<h3 id="业务逻辑"><a name="业务逻辑" class="plugin-anchor" href="#业务逻辑"><i class="fa fa-link" aria-hidden="true"></i></a>业务逻辑</h3>
<ul>
<li>笑话接口:<a href="https://hmajax.itheima.net/api/randjoke" target="_blank">https://hmajax.itheima.net/api/randjoke</a></li>
<li>网络请求API:<a href="https://doc.dcloud.net.cn/uni-app-x/api/request.html" target="_blank">https://doc.dcloud.net.cn/uni-app-x/api/request.html</a></li>
<li>request联网教程:<a href="https://doc.dcloud.net.cn/uni-app-x/tutorial/request.html" target="_blank">https://doc.dcloud.net.cn/uni-app-x/tutorial/request.html</a></li>
</ul>
<p>参考代码:</p>
<pre><code class="lang-vue"><script setup lang="uts">
import { ref } from 'vue'
const jokeText = ref('笑话加载中...')
// 注意:uni-app x 需要用 type 定义对象类型,用 interface 存在兼容问题
type ServiceData = {
message : string
data : string
}
function getJoke() {
// 通过范型指定后端返回的数据类型
uni.request<ServiceData>({
url: 'https://hmajax.itheima.net/api/randjoke',
method: 'GET',
success: (res) => {
// 兼容安卓端类型的写法
const jokeStr = res.data?.data
if (jokeStr !== null) {
jokeText.value = jokeStr
}
},
fail: () => {
jokeText.value = '数据获取失败,请检查网络...'
}
})
}
</script>
<template>
<view class="container">
<view class="card">
<view class="header">
<text class="header-text">随机笑话</text>
</view>
<scroll-view class="scroll-content">
<text class="scroll-content-text">{{ jokeText }}</text>
</scroll-view>
<view class="footer">
<button class="footer-button" @click="getJoke()">换一个</button>
</view>
</view>
</view>
</template>
</code></pre>
<h3 id="生命周期"><a name="生命周期" class="plugin-anchor" href="#生命周期"><i class="fa fa-link" aria-hidden="true"></i></a>生命周期</h3>
<h2 id="页面生命周期"><a name="页面生命周期" class="plugin-anchor" href="#页面生命周期"><i class="fa fa-link" aria-hidden="true"></i></a>页面生命周期</h2>
<p>页面生命周期:<a href="https://doc.dcloud.net.cn/uni-app-x/page.html#lifecycle" target="_blank">https://doc.dcloud.net.cn/uni-app-x/page.html#lifecycle</a></p>
<table>
<thead>
<tr>
<th style="text-align:left">组合式</th>
<th style="text-align:left">选项式</th>
<th style="text-align:left">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">onLoad</td>
<td style="text-align:left">onLoad</td>
<td style="text-align:left">生命周期回调 监听页面加载 页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。</td>
</tr>
<tr>
<td style="text-align:left">onPageShow</td>
<td style="text-align:left">onShow</td>
<td style="text-align:left">生命周期回调 监听页面显示 页面显示/切入前台时触发。</td>
</tr>
<tr>
<td style="text-align:left">onReady</td>
<td style="text-align:left">onReady</td>
<td style="text-align:left">生命周期回调 监听页面初次渲染完成 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。</td>
</tr>
<tr>
<td style="text-align:left">onPageHide</td>
<td style="text-align:left">onHide</td>
<td style="text-align:left">生命周期回调 监听页面隐藏 页面隐藏/切入后台时触发。 如 <code>navigateTo</code>或底部 <code>tab</code>切换到其他页面,应用切入后台等。</td>
</tr>
<tr>
<td style="text-align:left">onUnload</td>
<td style="text-align:left">onUnload</td>
<td style="text-align:left">生命周期回调 监听页面卸载 页面卸载时触发。如 <code>redirectTo</code>或 <code>navigateBack</code>到其他页面时。</td>
</tr>
<tr>
<td style="text-align:left">onResize</td>
<td style="text-align:left">onResize</td>
<td style="text-align:left">页面尺寸改变时触发</td>
</tr>
<tr>
<td style="text-align:left">onBackPress</td>
<td style="text-align:left">onBackPress</td>
<td style="text-align:left">监听页面返回</td>
</tr>
</tbody>
</table>
<p>参考代码:</p>
<pre><code class="lang-vue"><script setup lang="uts">
// ...前面代码省略
// 页面加载时
onLoad(() => {
// 获取笑话
getJoke()
})
</script>
</code></pre>
<h3 id="阔折叠屏适配"><a name="阔折叠屏适配" class="plugin-anchor" href="#阔折叠屏适配"><i class="fa fa-link" aria-hidden="true"></i></a>阔折叠屏适配</h3>
<ul>
<li>获取窗口信息:<a href="https://doc.dcloud.net.cn/uni-app-x/api/get-window-info.html" target="_blank">https://doc.dcloud.net.cn/uni-app-x/api/get-window-info.html</a></li>
</ul>
<p>注意事项:</p>
<ul>
<li><code>vh</code> 单位只能用于 微信小程序端 和 Web 端,HarmonyOS、Android、iOS 端均不支持</li>
<li><code>max-height</code>、<code>min-height</code> 等属性兼容多端只能使用 数字 或 px 单位</li>
</ul>
<p>效果预览:</p>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747627372804-0e873f2e-fc1c-4a79-afbf-02d2c8a9d620.png" alt="阔折叠效果"></p>
<p>参考代码:</p>
<pre><code class="lang-vue"><script setup lang="uts">
// ...省略其他代码
// 同步获取窗口信息,返回的单位 px
const windowInfo = uni.getWindowInfo()
</script>
<template>
<view class="container">
<view class="card">
<view class="header">
<text class="header-text">随机笑话</text>
</view>
<!-- 滚动内容区 -->
<scroll-view class="scroll-content" :style="{ maxHeight: windowInfo.screenHeight * 0.66 + 'px' }">
<text class="scroll-content-text">{{ jokeText }}</text>
</scroll-view>
<view class="footer">
<button class="footer-button" @click="getJoke()">换一个</button>
</view>
</view>
</view>
</template>
<style lang="scss">
.scroll-content {
padding: 40rpx 30rpx;
// 5. 最小高度
min-height: 300rpx;
// vh 单位只能用于 微信小程序端 和 Web 端,max-height、min-height 只支持 数字 或 px 单位
/* #ifdef MP-WEIXIN || WEB */
max-height: 66vh; /* 最大高度,屏幕高度 66% */
/* #endif */
}
</style>
</code></pre>
<h2 id="鸿蒙应用签名证书"><a name="鸿蒙应用签名证书" class="plugin-anchor" href="#鸿蒙应用签名证书"><i class="fa fa-link" aria-hidden="true"></i></a>鸿蒙应用签名证书</h2>
<ul>
<li>鸿蒙调试证书,用于真机调试</li>
<li>鸿蒙发布证书,用于发布上架</li>
<li>AGC 平台创建项目和应用</li>
<li>HBuilderX 配置鸿蒙调试证书</li>
</ul>
<h3 id="鸿蒙签名证书"><a name="鸿蒙签名证书" class="plugin-anchor" href="#鸿蒙签名证书"><i class="fa fa-link" aria-hidden="true"></i></a>鸿蒙签名证书</h3>
<table>
<thead>
<tr>
<th>DevEco Studio</th>
<th>Hbuilder</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>storeFile</td>
<td>私钥库文件</td>
<td>.p12</td>
</tr>
<tr>
<td>storePassword</td>
<td>私钥库密码</td>
<td>·······</td>
</tr>
<tr>
<td>keyAlias</td>
<td>私钥别名</td>
<td><strong>debugKey</strong> / <strong>releaseKey</strong></td>
</tr>
<tr>
<td>keyPassword</td>
<td>私钥密码</td>
<td>·······</td>
</tr>
<tr>
<td>profile</td>
<td>签名描述文件</td>
<td>.p7b</td>
</tr>
<tr>
<td>certpath</td>
<td>证书文件</td>
<td>.cer</td>
</tr>
</tbody>
</table>
<h3 id="agc-平台创建项目和应用"><a name="agc-平台创建项目和应用" class="plugin-anchor" href="#agc-平台创建项目和应用"><i class="fa fa-link" aria-hidden="true"></i></a>AGC 平台创建项目和应用</h3>
<blockquote>
<p>这里步骤较多,请耐心检查每个步骤,直到完成应用创建。</p>
</blockquote>
<ol>
<li><p>登录<a href="https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/" target="_blank">AppGallery Connect</a>,点击"开发与服务"。</p>
</li>
<li><p>在项目页面中点击"添加项目"。
<img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747625924056-9f8e512e-e5af-48e7-9228-c5824e141dc9.png" alt="添加项目"></p>
</li>
<li><p>在"创建项目"页面中输入项目名称后,点击"完成"。
<img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747625987419-63114670-3e71-48eb-bdc6-75fa62d5069c.png" alt="创建项目"></p>
</li>
<li><p>选择"证书、APP ID和Profile",在左侧导航栏选择"APP ID",进入页面后,点击右上角"新建"。
<img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747626138360-36a1b393-6de1-4231-9c87-302fd7834073.png" alt="App ID"></p>
</li>
</ol>
<h3 id="鸿蒙调试证书"><a name="鸿蒙调试证书" class="plugin-anchor" href="#鸿蒙调试证书"><i class="fa fa-link" aria-hidden="true"></i></a>鸿蒙调试证书</h3>
<ol>
<li><p>打开 <code>manifest.json</code> 文件,选择"鸿蒙App配置"菜单后,点击调试证书的"配置"按钮。
<img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747626465588-65d02a8d-2798-4a63-a13d-cee8922b7c0d.png" alt="鸿蒙App配置"></p>
</li>
<li><p>在配置调试证书中,检查"应用包名","运行设备"无误后,点击 "自动申请调试证书" 按钮。</p>
</li>
</ol>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747625538405-5aea82e4-b93f-4046-bb97-83321a676f8b.png" alt="配置调试证书"></p>
<h3 id="鸿蒙发布证书"><a name="鸿蒙发布证书" class="plugin-anchor" href="#鸿蒙发布证书"><i class="fa fa-link" aria-hidden="true"></i></a>鸿蒙发布证书</h3>
<p>鸿蒙发布证书不能自动生成,步骤流程较多,请参考视频讲解,耐心检查每个步骤,直到完成配置。</p>
<ul>
<li>发布证书文件</li>
</ul>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747626842806-b7770b13-5a6e-4108-b7be-1fc9f40428d0.png" alt="发布证书文件"></p>
<ul>
<li>配置发布证书</li>
</ul>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747627224491-124714a3-912d-4cba-81b4-70b5ff8aaf49.png" alt="发布证书"></p>
<ul>
<li>发布证书说明</li>
</ul>
<p>签名描述文件 <code>.p7b</code> 因包含包名信息不能复用,其他证书文件均可在多个项目复用,请牢记私钥别名和密码。</p>
<table>
<thead>
<tr>
<th>DevEco Studio</th>
<th>Hbuilder</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>storeFile</td>
<td>私钥库文件</td>
<td>.p12</td>
</tr>
<tr>
<td>storePassword</td>
<td>私钥库密码</td>
<td>·······</td>
</tr>
<tr>
<td>keyAlias</td>
<td>私钥别名</td>
<td><strong>debugKey</strong> / <strong>releaseKey</strong></td>
</tr>
<tr>
<td>keyPassword</td>
<td>私钥密码</td>
<td>·······</td>
</tr>
<tr>
<td>profile</td>
<td>签名描述文件</td>
<td>.p7b</td>
</tr>
<tr>
<td>certpath</td>
<td>证书文件</td>
<td>.cer</td>
</tr>
</tbody>
</table>
<h2 id="鸿蒙应用打包和发行"><a name="鸿蒙应用打包和发行" class="plugin-anchor" href="#鸿蒙应用打包和发行"><i class="fa fa-link" aria-hidden="true"></i></a>鸿蒙应用打包和发行</h2>
<h3 id="鸿蒙应用本地打包"><a name="鸿蒙应用本地打包" class="plugin-anchor" href="#鸿蒙应用本地打包"><i class="fa fa-link" aria-hidden="true"></i></a>鸿蒙应用本地打包</h3>
<p>在<strong>配置鸿蒙发布证书</strong>后,就可以进行<strong>鸿蒙应用本地打包</strong>,最终生成一个携带签名信息的 <code>.app</code> 安装包。</p>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747627571922-d46d7d45-a362-4925-9206-9236320381da.png" alt="本地打包"></p>
<h3 id="鸿蒙应用上架"><a name="鸿蒙应用上架" class="plugin-anchor" href="#鸿蒙应用上架"><i class="fa fa-link" aria-hidden="true"></i></a>鸿蒙应用上架</h3>
<p>在 AGC 平台上传携带签名信息的 <code>.app</code> 安装包,请参加视频讲解或者查看官方文档:<a href="https://developer.huawei.com/consumer/cn/doc/app/agc-help-harmonyos-releaseapp-0000001914554900" target="_blank">发布HarmonyOS应用(HarmonyOS NEXT)</a></p>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747628318327-606b7725-2c10-40dc-a6b5-536ab3785477.png" alt="上传app包"></p>
<h3 id="安卓应用云打包补充"><a name="安卓应用云打包补充" class="plugin-anchor" href="#安卓应用云打包补充"><i class="fa fa-link" aria-hidden="true"></i></a>安卓应用云打包(补充)</h3>
<p>安卓应用可直接使用云证书完成打包,最终生成一个携带签名信息的 <code>.apk</code> 安装包。</p>
<p>用户可把 <code>apk</code> 上架到各个安卓应用商店。</p>
<p><img src="https://cdn.nlark.com/yuque/0/2025/png/2735051/1747627668173-0a713e6b-8831-4f3b-9b31-fe3e965efcff.png" alt="云打包"></p>
<footer class="page-footer"><span class="copyright">powered by Gitbook</span><span class="footer-modification">该文件修订时间:
2025-05-22 19:41:31
</span></footer>
<script>console.log("plugin-popup....");document.onclick = function(e){ e.target.tagName === "IMG" && window.open(e.target.src,e.target.src)}</script><style>img{cursor:pointer}</style>
</div>
<script src="https://my.openwrite.cn/js/readmore.js"></script>
<script>
var enablePlugin = false;
var allowDomain = "localhost";
if(allowDomain){
var currentDomain = location.hostname;
if ($.isArray(allowDomain)) {
$.each(allowDomain, function(index, item) {
if (currentDomain == item) {
enablePlugin = true;
return false;
}
});
}else{
if (currentDomain == allowDomain) {
enablePlugin = true;
}
}
}else{
enablePlugin = true;
}
if(enablePlugin){
var isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
if (!isMobile) {
var btw = new BTWPlugin();
btw.init({"allowDomain":"localhost","blogId":"27976-1678928361372-483","name":"坚果派","qrcode":"https://luckly007.oss-cn-beijing.aliyuncs.com/images/image-20230316085818226.png","keyword":"鸿蒙坚果","id":"vip-container"});
}
}
</script>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
<div class="book-footer">
<div class="donate">
<div></div>
<button class="donate-btn" onclick="showModal()">赞赏</button>
</div>
<div class="copyright"></div>
</div>
</div>
</div>
</div>
</div>
<script>
function showModal() {
document.getElementsByClassName("mask")[0].style.display = "block";
document.getElementsByClassName("donate-modal")[0].style.display =
"block";
}
function showDonateImg(num) {
let alipay = "";
let wxpay = ""
if(num){
wxpay = "hidden"
}else{
alipay = "hidden"
}
document.getElementById("wxpay-code").hidden = wxpay;
document.getElementById("alipay-code").hidden = alipay;
document.getElementsByName("pay-way")[num].checked = "checked";
}
function closeDonateModal() {
document.getElementsByClassName("mask")[0].style.display = "none";
document.getElementsByClassName("donate-modal")[0].style.display = "none";
}
var gitbook = gitbook || [];
gitbook.push(function () {
gitbook.page.hasChanged({"page":{"title":"4.1 uni-app x 跨平台实战入门:从 0 到 1 开发 HarmonyOS 5 鸿蒙原生应用","level":"1.4.1","depth":2,"next":{"title":"5.二十四节气","level":"1.5","depth":1,"ref":"","articles":[{"title":"5.1二十四节气实战案例","level":"1.5.1","depth":2,"ref":"","articles":[]}]},"previous":{"title":"4.随机笑话-实战案例","level":"1.4","depth":1,"ref":"","articles":[{"title":"4.1 uni-app x 跨平台实战入门:从 0 到 1 开发 HarmonyOS 5 鸿蒙原生应用","level":"1.4.1","depth":2,"path":"chapter4/1.uni-app_x跨平台实战入门:从0到1开发HarmonyOS_5鸿蒙原生应用.md","ref":"./chapter4/1.uni-app_x跨平台实战入门:从0到1开发HarmonyOS_5鸿蒙原生应用.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["github-buttons@2.1.0","edit-link","splitter","tbfed-pagefooter","expandable-chapters","chapter-fold","back-to-top-button","code","pageview-count","popup","search-plus","-lunr","-search","splitter","-sharing","sharing-plus","theme-lou","mind-maps","emphasize","anchors","changyan","readmore","livereload","ace","livereload"],"root":".","styles":{"website":"styles/website.css"},"pluginsConfig":{"tbfed-pagefooter":{"modify_label":"该文件修订时间:","modify_format":"YYYY-MM-DD HH:mm:ss"},"chapter-fold":{},"pluginsConfig":{"expandable-chapters":{}},"emphasize":{},"ace":{},"livereload":{},"splitter":{},"readmore":{"allowDomain":"localhost","blogId":"27976-1678928361372-483","name":"坚果派","qrcode":"https://luckly007.oss-cn-beijing.aliyuncs.com/images/image-20230316085818226.png","keyword":"鸿蒙坚果"},"sharing-plus":{"qq":false,"all":["facebook","google","twitter","instapaper","linkedin","pocket","stumbleupon"],"douban":false,"facebook":true,"weibo":false,"instapaper":false,"whatsapp":false,"hatenaBookmark":false,"twitter":true,"messenger":false,"line":false,"vk":false,"pocket":true,"google":false,"viber":false,"stumbleupon":false,"qzone":false,"linkedin":false},"popup":{},"code":{"copyButtons":true},"theme-lou":{"hide-elements":[".summary .gitbook-link",".summary .divider"],"color":"#FF4848","book-anchor-title":"本章目录","copyright":{"author":"vx:nut_pie"},"forbidCopy":true,"logo":"assets/avatar.png","book-summary-title":"文章目录","search-placeholder":"输入关键字搜索","copyrightLogo":"assets/copyright.png","favicon":"assets/avatar.png","appleTouchIconPrecomposed152":"assets/avatar.png"},"changyan":{"appid":"cyvHoCPAs","conf":"0440cfc4168ba95d73cfc52dd4d5c60b"},"fontsettings":{"theme":"white","family":"sans","size":2},"mind-maps":{},"highlight":{},"back-to-top-button":{},"pageview-count":{},"github-buttons":{"repo":"ITmxs/gitbook","types":["star","watch","fork"],"size":"small"},"sharing":{"qq":false,"all":["qq","qzone","whatsapp","douban","facebook","google","instapaper","linkedin","messenger","twitter","weibo"],"douban":false,"facebook":false,"weibo":false,"twitter":false,"pocket":false,"google":false,"qzone":false},"edit-link":{"label":"编辑此页","base":"https://github.com/ITmxs/gitbook/edit/master/"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"expandable-chapters":{},"search-plus":{}},"theme":"default","author":"坚果派","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{"themeLou":{"nav":[{"target":"_blank","url":"https://www.nutpi.net/","name":"坚果派官网"},{"target":"_blank","url":"https://www.arkui.club/","name":"ArkUI实战"},{"target":"_blank","url":"https://space.bilibili.com/480883651","name":"元服务开发实践"},{"target":"_blank","url":"https://gitcode.com/nutpi","name":"OpenHarmony应用开发"}],"footer":{"donate":{"wechat":"https://luckly007.oss-cn-beijing.aliyuncs.com/img/image-20210922202901895.png","message":"随意打赏,但不要超过一顿早餐钱 💕","wxpay":"https://luckly007.oss-cn-beijing.aliyuncs.com/img/image-20210922202901895.png","alipay":"https://luckly007.oss-cn-beijing.aliyuncs.com/img/image-20210922202843746.png","nickname":"breeze","button":"打赏","wechatText":"微信","alipayText":"支付宝","title":"『赠人玫瑰 🌹 手有余香 』","avatar":"http://xkapp-uat.oss-cn-hangzhou.aliyuncs.com/2e7a3f70-80ab-4b50-93ec-a04dfeef949b/avatar-100.png"},"copyright":true}}},"title":"uniapp/uniapp-x for Harmony教程","language":"zh-hans","gitbook":"*","description":"uniapp/uniapp-x for Harmony电子书教程"},"file":{"path":"chapter4/1.uni-app_x跨平台实战入门:从0到1开发HarmonyOS_5鸿蒙原生应用.md","mtime":"2025-05-22T11:41:31.828Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2025-06-30T01:19:14.211Z"},"basePath":"..","book":{"language":""}});
});
</script>
</div>
<script src="../gitbook/gitbook.js"></script>
<script src="../gitbook/theme.js"></script>
<script src="../gitbook/gitbook-plugin-github-buttons/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-edit-link/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-splitter/splitter.js"></script>
<script src="../gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.js"></script>
<script src="../gitbook/gitbook-plugin-chapter-fold/chapter-fold.js"></script>
<script src="../gitbook/gitbook-plugin-back-to-top-button/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-code/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-pageview-count/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-search-plus/jquery.mark.min.js"></script>
<script src="../gitbook/gitbook-plugin-search-plus/search.js"></script>
<script src="../gitbook/gitbook-plugin-sharing-plus/buttons.js"></script>
<script src="../gitbook/gitbook-plugin-mind-maps/mindmaps.dist.js"></script>
<script src="../gitbook/gitbook-plugin-changyan/changyan.js"></script>
<script src="../gitbook/gitbook-plugin-livereload/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-ace/ace/ace.js"></script>
<script src="../gitbook/gitbook-plugin-ace/ace.js"></script>
<script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
<script src="../gitbook/gitbook-plugin-theme-lou/lou.js"></script>
</body>
</html>