Быстрое обучение UniAPP
1. Введение в UniAPP
(1) Что такое UniAPP?
uni-app — это фреймворк для разработки всех фронтенд-приложений с использованием Vue.js Разработчики пишут набор кодов, которые можно публиковать в iOS, Android, H5 и различных небольших программах (WeChat/Alipay/Baidu/Toutiao/QQ/ DingTalk ) и другие платформы, что удобно для разработчиков, чтобы быстро доставлять их, не меняя мышления или привычек разработчиков.
(2) Почему стоит выбрать UniAPP?
- Больше разработчиков/кейсов
Сотни тысяч приложений, 1,2 миллиарда активных пользователей в месяц по статистике uni, 70+ групп WeChat/QQ
- Неограниченные возможности платформы
В то же время кросс-энд, с помощью условной компиляции + вызов API для конкретной платформы, вы можете элегантно писать персонализированный код для платформы и вызывать проприетарные возможности, не затрагивая другие платформы.
- Отличный опыт работы
Более быстрая загрузка новых страниц, автоматическое обновление данных различий, собственный рендеринг на стороне приложения для обеспечения более плавного взаимодействия с пользователем, а производительность на стороне апплета лучше, чем у других фреймворков на рынке.
- Окружающая экология богата
Рынок плагиновТысячи подключаемых модулей, поддержка NPM, поддержка компонентов апплета и SDK, различные SDK экосистемы WeChat могут быть напрямую использованы для кросс-платформенного приложения.
- низкая стоимость обучения
На основе общего стека передовых технологий, с использованием синтаксиса vue + API апплета WeChat, без дополнительных затрат на обучение.
(3) Функциональная структура UniAPP
(4) Создание среды разработки UniAPP
- Скачать инструменты разработкиHBuilderX
HBuilderX — это инструмент для разработки интерфейсов общего назначения, но для
uni-app
Специально усиленный.Загрузите разрабатываемую версию приложения, которую можно использовать «из коробки»; если вы скачаете стандартную версию, ее можно запустить или выпустить
uni-app
, вам будет предложено установитьuni-app
Плагин, плагин можно использовать после завершения загрузки
- Создать проект уни-приложения
выберите
uni-app
Введите имя проекта, выберите шаблон и нажмите «Создать», чтобы успешно его создать.Шаблон Hello uni-app, который поставляется с uni-app, является официальным компонентом и примером API.
Еще одним важным шаблоном является шаблон проекта uni ui, который рекомендуется для ежедневной разработки и имеет встроенное большое количество общих компонентов.
- Запустить уни-приложение
В основном включают в себя: работу в браузере, работу на реальном компьютере, работу с небольшой программой и т. д.
- Опубликовать универсальное приложение
В основном включают в себя: собственное облачное приложение, автономное собственное приложение, H5, различные небольшие программы.
2. Конфигурация, связанная с инициализацией UniAPP
(1) Структура каталогов проекта
┌─components uni-app组件目录
│ └─comp-a.vue 可复用的a组件
├─hybrid 存放本地网页的目录(自建)
├─platforms 存放各平台专用页面的目录(自建)
├─pages 业务页面文件存放的目录
│ ├─index
│ │ └─index.vue index页面
│ └─list
│ └─list.vue list页面
├─static 存放应用引用静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此
├─wxcomponents 存放小程序组件的目录(自建)
├─common 公共资源(自建)
├─api 请求封装(自建)
├─store 状态管理(自建)
├─main.js Vue初始化入口文件
├─App.vue 应用配置,用来配置App全局样式以及监听 应用生命周期
├─manifest.json 配置应用名称、appid、logo、版本等打包信息
└─pages.json 配置页面路由、导航条、选项卡等页面类信息
намекать
static
Файл JS в каталоге не будет скомпилирован WebPack, если есть код ES6, без преобразования напрямую, он сообщит об ошибке на мобильном устройстве.- так
less、scss
Не размещайте другие ресурсыstatic
каталог, рекомендуется, чтобы эти общедоступные ресурсы были помещены вcommon
Под содержанием
(2) Конфигурация приложения manifest.json
manifest.json
Файл представляет собой файл конфигурации приложения, который используется для указания имени, значка, разрешений и т. д. Здесь мы также можем установить процессор междоменного перехвата для Vue и H5.
(3) Скомпилируйте и настройте vue.config.js
vue.config.js
Это необязательный файл конфигурации. Если этот файл существует в корневом каталоге проекта, он будет загружен автоматически. Обычно он используется для настройки параметров компиляции, таких как веб-пакет.официальная документация
(4) Глобальная конфигурация page.json
pages.json
Файл используется для глобальной настройки универсального приложения, определения пути к файлу подкачки, стиля окна, собственной панели навигации, встроенной панели вкладок внизу и т. д. Это похоже на апплет WeChatapp.json
изУправление страницейчасть.
Атрибуты | Типы | Необходимый | описывать |
---|---|---|---|
globalStyle | Object | нет | Установить поведение окна страницы по умолчанию |
pages | Object Array | да | Установить путь к странице и поведение окна |
easycom | Object | нет | Правила автоматического введения компонентов |
tabBar | Object | нет | Установить поведение нижней вкладки |
condition | Object | нет | Конфигурация режима загрузки |
subPackages | Object Array | нет | Конфигурация загрузки подпакета |
preloadRule | Object | нет | Правила предварительной загрузки подпакета |
(5) Глобальный стиль uni.scss
uni.scss
Цель файла — облегчить общий контроль над стилем приложения. Например, цвет кнопки, стиль границы,uni.scss
Пакет пресетов переменных scss предустановлен в файле.официальная документация
uni-app
Официальные расширения (uni ui) иРынок плагиновМногие сторонние плагины используют эти переменные стиля.Если вы являетесь разработчиком плагинов, рекомендуется использовать предварительную обработку scss и использовать эти переменные непосредственно в коде плагина (не нужно импортировать этот файл), что пользователям удобно разрабатывать всю систему из строительных блоков.Приложение с единым стилем.
uni.scss
— это специальный файл, вы можете использовать здесь переменные стиля в коде scss, не импортируя этот файл в код. Компилятор uni-app специально обрабатывает этот uni.scss в конфигурации веб-пакета, так что каждый файл scss внедряется в этот uni.scss для достижения глобально доступного эффекта. Если разработчики хотят использовать меньше и стилус глобально, им необходимо настроить собственную стратегию веб-пакетов в vue.config.js.
(6) Основной компонент App.vue
App.vue
является основным компонентом уни-приложения, все страницы находятся вApp.vue
Следующим переключателем является файл ввода страницы. ноApp.vue
Это не страница, и здесь нельзя писать элементы представления.Функции этого файла включают в себя: вызов функций жизненного цикла приложения, настройку глобальных стилей и настройку глобального хранилища globalData.
Жизненный цикл приложения доступен только в
App.vue
В мониторинге мониторинг на странице недействителен.
(7) Входной файл main.js
main.js
Это входной файл uni-приложения, основная функция которого заключается в инициализацииvue
Например, определите глобальные компоненты, используйте необходимые плагины, такие как vuex.
(8) Спецификация разработки UniAPP и путь к ресурсам
- Соглашения о спецификации разработки
- мастер файлов подкачкиСпецификация однофайлового компонента Vue (SFC)
- Метка компонента близка к спецификации апплета, подробности см. в спецификации компонента универсального приложения.
- Возможность межсоединения (JS API) близка к спецификации апплета WeChat, но вам нужно заменить wx на uni , подробности см. в спецификации интерфейса uni-app.
- Привязка данных и обработка событий аналогичны спецификации Vue.js, но дополняют жизненный цикл приложения и страницы.
- Для совместимости с многотерминальной операцией рекомендуется использовать гибкий макет для разработки.
- Описание пути к ресурсу
При назначении статических ресурсов, таких как атрибут src изображения, видео и других тегов в шаблоне, вы можете использовать относительный или абсолютный путь в следующей форме:
<!-- 绝对路径,/static指根目录下的static目录,在cli项目中/static指src目录下的static目录 -->
<image class="logo" src="/static/logo.png"></image>
<image class="logo" src="@/static/logo.png"></image>
<!-- 相对路径 -->
<image class="logo" src="../../static/logo.png"></image>
Уведомление
- @ Исходный абсолютный и относительный пути будут проверяться правилами преобразования base64.
- Статические ресурсы знакомств не конвертируются в base64 на платформах, отличных от h5.
- На платформе H5 ресурсы менее 4кб будут конвертированы в base64, а остальные не будут перенесены
js или теги сценария, вы можете использовать относительные пути и абсолютные пути в следующих формах:
// 绝对路径,@指向项目根目录,在cli项目中@指向src目录
import add from '@/common/add.js'
// 相对路径
import add from '../../common/add.js'
В файлах css или тегах стилей вы можете использовать относительные и абсолютные пути в следующих формах:
/* 绝对路径 */
@import url('/common/uni.css');
@import url('@/common/uni.css');
/* 相对路径 */
@import url('../../common/uni.css');
Путь к изображению, указанный в файле css или теге стиля, может использовать относительный или абсолютный путь в следующей форме:
/* 绝对路径 */
background-image: url(/static/logo.png);
background-image: url(@/static/logo.png);
/* 相对路径 */
background-image: url(../../static/logo.png);
3. Жизненный цикл UniAPP
Какова основная цель изучения инструмента? Это необходимо для решения основной проблемы бизнес-логики.Бизнес-логика часто просто объясняет предложение: «Делайте правильные вещи в нужное время», хорошо! Какое подходящее время? Проще говоря, во время работы страницы функция обратного вызова каждого этапа — это время на странице. Мы также называем это «функцией жизненного цикла». Конечно, мы также напишем много «обратных вызовов». логика в бизнесе Эти обратные вызовы На самом деле, это также и наше время Каковы функции обратного вызова функции ловушки жизненного цикла UniAPP? Давайте разбираться!
uni-app
полная поддержкаVue
Жизненный цикл экземпляра, а также добавлениежизненный цикл приложенияа такжежизненный цикл страницы.
(1) Жизненный цикл приложения
Имя функции | иллюстрировать |
---|---|
onLaunch | когдаuni-app Запускается после завершения инициализации (запускается только один раз глобально) |
onShow | когдаuni-app Запустите или войдите в режим отображения переднего плана из фона |
onHide | когдаuni-app От переднего плана к заднему |
onError | когдаuni-app Запускается, когда сообщается об ошибке |
onUniNViewMessage | правильноnvue Отслеживайте данные, отправляемые страницей, см.nvue для связи
|
onUnhandledRejection | Прослушиватель событий для необработанного отклонения обещания (2.8.1+) |
onPageNotFound | На странице нет функции прослушивания |
onThemeChange | Следите за изменениями системной темы |
(2) Жизненный цикл страницы
Имя функции | иллюстрировать |
---|---|
onLoad | Отслеживание загрузки страницы, его параметром являются данные, переданные предыдущей страницей, а тип параметра — Объект (для передачи параметров страницы), см.Пример |
onShow | Отображение страницы монитора. Запускается каждый раз, когда страница появляется на экране, включая возврат из подчиненной точки страницы для отображения текущей страницы. |
onReady | Прослушайте завершение первоначального рендеринга страницы. Обратите внимание, что если скорость рендеринга высокая, она будет запущена до того, как страница войдет в анимацию. |
onHide | Скрытие страницы монитора |
onUnload | Отслеживание выгрузки страницы |
onResize | Отслеживание изменений размера окна |
onPullDownRefresh | Отслеживайте действия пользователя по раскрывающемуся меню, обычно используемые для обновления по раскрывающемуся меню, см.Пример |
onReachBottom | Событие, когда страница прокручивается вниз (а не прокрутка прокрутки вниз), часто используется для вытягивания следующей страницы данных. Подробнее см. в примечаниях ниже. |
onTabItemTap | Запускается при нажатии на вкладку, параметр — Object, подробности см. в примечаниях ниже. |
onShareAppMessage | Пользователь нажимает в правом верхнем углу, чтобы поделиться |
onPageScroll | Следить за прокруткой страницы, параметр Object |
onNavigationBarButtonTap | Слушайте событие щелчка кнопки собственной строки заголовка, параметр — Object |
onBackPress | контролировать возврат страницы |
onNavigationBarSearchInputChanged | Слушайте событие изменения входного содержимого в собственном поле ввода поиска в строке заголовка. |
onNavigationBarSearchInputConfirmed | Прослушайте событие поиска в собственном поле ввода поиска в строке заголовка, которое запускается, когда пользователь нажимает кнопку «Поиск» на программной клавиатуре. |
onNavigationBarSearchInputClicked | Слушайте событие щелчка в поле ввода поиска в строке заголовка |
onShareTimeline | Слушающие пользователи нажимают в правом верхнем углу, чтобы переслать в круг друзей |
onAddToFavorites | Слушайте щелчок пользователя в правом верхнем углу избранного |
4. Конфигурация маршрутизации UniAPP и переход на страницу
(1) Конфигурация маршрутизации
маршрутизация страниц uni-app полностью переданаРамкаЕдиное управление, разработчикам необходимоpages.jsonНастройте путь и стиль страницы для каждой страницы маршрутизации (аналогично апплету, настраивающему маршрутизацию страницы в app.json).
"pages": [
{
"path": "pages/index",
"style": {
"navigationBarTitleText": "路由配置",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black",
"backgroundColor": "#FFFFFF",
"enablePullDownRefresh": true
}
},
{
"path": "pages/user",
"style": {
"navigationBarTitleText": "路由配置",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black",
"backgroundColor": "#FFFFFF",
"enablePullDownRefresh": true
}
}
]
(2) Маршрутный прыжок
uni-app
Существует два метода перехода по маршруту страницы: используйтеnavigatorКомпонентный переход (навигация с вкладками), вызовAPIПерейти (программная навигация)Фреймворк управляет всеми текущими страницами в виде стеков.При переключении маршрута стек страниц ведет себя следующим образом:
маршрутизация | производительность стека страниц | Время запуска |
---|---|---|
инициализация | новая страница | Первая страница, открытая юни-приложением |
открыть новую страницу | новая страница | вызов APIuni.navigateTo ,использовать компоненты <navigator open-type="navigate" />
|
перенаправление страницы | Текущая страница всплывает, и новая страница выдвигается. | вызов APIuni.redirectTo, использовать компоненты |
страница назад | Страница продолжает выскакивать из стека, пока цель не вернется на страницу | вызов APIuni.navigateBack, использование компонентов, Пользователь нажимает кнопку «Назад» в верхнем левом углу, а пользователь Android нажимает физическую кнопку «Назад». |
Переключение вкладок | Все страницы открываются, остается только новая вкладка. | вызов APIuni.switchTab, использование компонентов, Вкладка «Пользовательские переключатели» |
перезагрузить | Все страницы выталкиваются, остаются только новые страницы | вызов APIuni.reLaunch, использовать компоненты |
(3) Получить текущий стек страниц
Функция getCurrentPages() используется для получения экземпляра текущего стека страниц, который задается в порядке стека в виде массива, первый элемент — домашняя страница, а последний элемент — текущая страница.
注意
: getCurrentPages() используется только для отображения стека страниц. Не изменяйте стек страниц, чтобы избежать ошибок статуса страницы.
(4) Передача маршрута участвует в приеме
Описание: onLoad() жизненного цикла страницы отслеживает загрузку страницы, а ее параметром являются данные, переданные предыдущей страницей, например:
//页面跳转并传递参数
uni.navigateTo({
url: 'page2?name=liy&message=Hello'
});
url — это путь к странице, на которую нужно перейти, и путь может сопровождаться параметрами. Использование между параметрами и путями
?
Разделение, ключ параметра и значение параметра используются=
подключены, используются разные параметры&
разделены. Например, «путь?ключ1=значение2&ключ2=значение2», путь — это путь к следующей странице, и функция onLoad следующей страницы может получить переданные параметры.
// 页面 2 接收参数
onLoad: function (option) { //option为object类型,会序列化上个页面传递的参数
console.log(option.name); //打印出上个页面传递的参数。
console.log(option.message); //打印出上个页面传递的参数。
}
注意
: URL-адрес имеет ограничение по длине, слишком длинные строки не будут доставлены, а нестандартные форматы символов также могут привести к сбою доставки, поэтому рекомендуется использовать encodeURI и decodeURI для обработки и доставки сложных параметров.
(5) Конфигурация мини-программы маршрутизации субподряда
Из-за ограничений размера и загрузки ресурсов мини-программ различные платформы мини-программ предоставляют методы субподряда для оптимизации скорости загрузки и запуска мини-программ.
Так называемый основной пакет предназначен для размещения стартовой страницы по умолчанию и страницы TabBar, в то время как подпакет разделен в соответствии с конфигурацией pages.json.
При запуске апплета по умолчанию будет загружен основной пакет и будет запущена страница в основном пакете.Когда пользователь вводит страницу в подпакете, соответствующий подпакет будет автоматически загружен, а затем отображен после загрузки завершено.В это время будет отображаться интерфейс терминала.Есть ожидающие подсказки.
"subPackages": [
{
"root": "news",
"pages": [{
"path": "index",
"style": {
"navigationBarTitleText": "新闻中心",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black",
"backgroundColor": "#FFFFFF"
}
}
]
}
...
],
// 预下载分包设置
"preloadRule": {
"pages/index": {
"network": "all",
"packages": ["activities"]
}
}
5. Знакомство с общими компонентами UniAPP
uni-app предоставляет разработчикам ряд основных компонентов, аналогичных основным элементам тегов в HTML, но компоненты uni-app отличаются от HTML, но такие же, как небольшие программы, которые больше подходят для использования на мобильных телефонах.
Хотя теги HTML устарели, на практике, если разработчик пишет
div
и другие теги, также будут преобразованы компилятором для платформы, отличной от H5.view
теги и тому подобноеspan
Переменаtext
,a
Переменаnavigator
И т.д., в том числе селекторы элементов в css тоже будут перенесены, но для удобства управления и единой стратегии по-прежнему рекомендуется использовать такие компоненты, как view при написании нового кода.
Разработчики могут быстро развиваться, комбинируя эти базовые компоненты.На основе встроенных базовых компонентов можно разрабатывать различные компоненты-расширения.Спецификация компонента такая же, как и у компонента vue.
案例
: Реализация макета доверенной сестры
6. Знакомство с общими API UniAPP
uni-app
js, сторона h5 работает в браузере, платформа Android, отличная от h5, работает на движке v8, а платформа iOS работает на движке jscore, который поставляется с iOS. так,uni-app
jsAPI состоит из стандартного js API ECMAScript и универсального API расширения.
Ecmascript управляется ECMA International и является базовым синтаксисом JS. Браузер расширяет API js, такие как окно и документ на основе стандартных js; node.js расширяет модули, такие как fs на основе стандартных js; апплет также расширяет различные apis wx.xx, my.xx и swan.xx на основе стандарта js.
Существует множество стандартных API-интерфейсов ecmascript, таких как console, settimeout и т. д.
На стороне, отличной от H5, хотя он и не поддерживает js API браузеров, таких как окно, документ и навигатор, он также поддерживает стандартный ECMAScript.
Разработчики не должны приравнивать js в браузерах к стандартным js.
Поэтому сторона uni-app, отличная от H5, также поддерживает стандартный js, поддерживает такой синтаксис, как if и for, поддерживает строки, массивы, время и другие переменные и различные методы обработки, но не поддерживает объекты, специфичные для браузера.
案例
: Функция доверенного чата сестры
7. Пользовательские компоненты и связь UniAPP
(1) Концепция пользовательских компонентов
компонент
vue
Очень важная часть технологии, компоненты упрощают производство и совместное использование колес, связанных с пользовательским интерфейсом, что, в свою очередь, значительно повышает эффективность разработки пользователей vue.component
Компоненты хранятся в каталоге,uni-app
только поддержкаvue
Однофайловые компоненты (компоненты .vue)
Компоненты могут использовать «глобальную регистрацию» и двумя способами «введение страницы» для использования, используя трехэтапный процесс:
импорт
import xxx from 'xxx'
регистр
Vue.use('xx',xx)
components:{ xxx }
использовать
<xx />
(2) Связь компонентов родитель-потомок
Родительские компоненты передают данные дочерним компонентам через настраиваемые свойства.
дочерний компонент через
props
Получить данные, переданные родительским компонентом
- Родительские компоненты передают события подкомпонентам через настраиваемые теги событий.
- Дочерний компонент изменяет данные родительского компонента, вызывая событие, определенное родительским компонентом.
(3) слот распределения данных и слот области видимости
- Родительский компонент вкладывает html-контент, вызывая дочерний компонент как
slot
Распределить по подкомпонентам- дочерние компоненты через
slot
Добавляйте свойства на метки, передавайте данные родительским компонентам, слоты областей
(4) Глобальное определение и связь событий
- Доступно в любом месте приложения
uni.$on
Создать глобальное событие- Также доступно в любом месте приложения
uni.$emit
Для запуска глобальных событий и реализации обмена данными между несколькими компонентами
Восемь, управление состоянием UniAPP Vuex
- концепция
Vuex — это шаблон управления состоянием, разработанный для приложений Vue.js. Он использует централизованное хранилище для управления состоянием всех компонентов приложения и использует соответствующие правила, чтобы гарантировать предсказуемое изменение состояния.
- Сценарии применения
Данные или состояние должны быть разделены между несколькими компонентами Vue.
- ключевые правила
- Состояние: хранить данные о состоянии
- Getter: извлекает данные из данных состояния, что эквивалентно вычисляемому свойству State.
- Мутация: метод, используемый для хранения данных состояния синхронно изменяется, параметр по умолчанию передается в состоянии
- Действие: хранение используется для изменения данных состояния асинхронно, но не напрямую, но путем запускания метода мутации. Параметр по умолчанию является контекстом
- Модуль: модульность Vuex
- интерактивные отношения
- Как использовать
import { mapState, mapActions } from 'vuex' export default { computed: { ...mapState(['loginState', 'userInfo']) }, methods: { ...mapActions(['userLoginAction', 'userLogoutAction']), } }
- Практический пример: моделирование реализации логики входа пользователя
Примечание. Используйте с хранилищем для достижения бизнес-требований, чтобы состояние сохранялось после обновления страницы.
Девять, Операционная среда Суждение и скрещенная совместимость
(1) Среда разработки и производственная среда
uni-app
доступныйprocess.env.NODE_ENV
Чтобы определить, является ли текущая среда средой разработки или производственной средой, она обычно используется для динамического переключения между тестовым сервером и рабочим сервером.В HBuilderX код, скомпилированный нажатием кнопки «Выполнить», является средой разработки, а код, скомпилированный нажатием кнопки «Выпуск», — рабочей средой.
if(process.env.NODE_ENV === 'development'){
console.log('开发环境')
}else{
console.log('生产环境')
}
(2) Судебная платформа
Существует два сценария оценки платформы: один — оценка во время компиляции, а другой — оценка во время выполнения.
Оценка времени компиляции Оценка времени компиляции, т.е.Условная компиляция, разные платформы имеют разные коды после компиляции пакета,
// #ifdef H5 alert("只有h5平台才有alert方法") // #endif // 如上代码只会编译到H5的发行包里,其他平台的包不会包含如上代码。
Оценка во время выполнения Оценка во время выполнения означает, что код был введен в пакет, и платформа все еще нуждается в оценке во время выполнения.В настоящее время ее можно использовать.
uni.getSystemInfoSync().platform
Определите, является ли клиентская среда Android, iOS или небольшим инструментом разработки программ.switch(uni.getSystemInfoSync().platform){ case 'android': console.log('运行Android上') break; case 'ios': console.log('运行iOS上') break; default: console.log('运行在开发者工具上') break; }
(3) кросс-конечная совместимость
uni-app инкапсулирует часто используемые компоненты и API-интерфейсы JS в структуру. Разработчики могут разрабатывать в соответствии со спецификацией uni-app, чтобы обеспечить совместимость с несколькими платформами. Большинство предприятий могут быть удовлетворены напрямую, но каждая платформа имеет свои особенности, поэтому существует будут некоторые случаи, когда кроссплатформенность невозможна.
- Большое количество пишет, если в этом больше, он приведет к плохому выполнению кода производительности и плохому управлению.
- Вторая модификация после компиляции в разные проекты сделает последующие обновления очень проблематичными.
В языке C разные коды компилируются для разных ОС, таких как Windows и Mac, с помощью #ifdef и #ifndef.
uni-app
Ссылаясь на эту идею, дляuni-app
Предусмотрены средства условной компиляции, а реализация настройки платформы изящно завершена в одном проекте.
Условная компиляция помечается специальными комментариями, и код в комментариях компилируется для разных платформ в соответствии с этими специальными комментариями во время компиляции.
** Написание: ** Добавить с #ifdef или #ifndef%PLATFORM%начало, окончание с #endif.
\#ifdef
:если определено, существует только на определенной платформе\#ifndef
:если не определено существует, за исключением определенной платформы- %PLATFORM%: название платформы
%PLATFORM% Возможные значения следующие:
стоимость | Платформа |
---|---|
APP-PLUS | App |
APP-PLUS-NVUE | App nvue |
H5 | H5 |
MP-WEIXIN | Апплет WeChat |
MP-ALIPAY | Апплет Alipay |
MP-BAIDU | Апплет Baidu |
MP-TOUTIAO | Апплет ByteDance |
MP-QQ | апплет QQ |
MP-360 | апплет 360 |
MP | Апплет WeChat/апплет Alipay/апплет Baidu/апплет ByteDance/апплет QQ/апплет 360 |
QUICKAPP-WEBVIEW | Быстрое универсальное приложение (в комплекте Union, Huawei) |
QUICKAPP-WEBVIEW-UNION | Альянс быстрых приложений |
QUICKAPP-WEBVIEW-HUAWEI | Быстро применить Huawei |
Получите бесплатные программные ресурсы, обменяйтесь интерфейсными технологиями --- WX:NY378599