Резюме интервью по мини-программе WeChat

Апплет WeChat опрос

Это пятый день моего участия в августовском испытании обновлений, подробности о мероприятии: Испытание августовского обновления

Обобщить некоторые знания, связанные с мини-программами WeChat, организовать заметки и поделиться с вами, некоторые знания часто будут спрашивать во время фронт-интервью, поэтому сделайте запись, я надеюсь, что это будет полезно для всех, если у вас есть какие-либо вопросы, можно отметить, будут положительные исправления.
Если вам это нравится, вы можете поставить лайк или оставить сообщение, и я продолжу обновлять вопросы интервью~~~~, спасибо~~~

1. Кратко опишите соответствующие типы файлов мини-программ WeChat?

В структуре проекта апплета WeChat есть четыре основных типа файлов.

  • WXML(WeiXin Markup Language) — это набор языков разметки, разработанный фреймворком.В сочетании с базовыми компонентами и системой событий можно построить структуру страницы. Интерьер в основном представляет собой набор компонентов, определяемых самим WeChat.
  • WXSS(таблицы стилей WeiXin) — это язык стилей для описания стилей компонентов в WXML.
  • jsЛогическая обработка, сетевые запросы
  • jsonНастройки мини-программы, такие как регистрация страницы, заголовок страницы и панель вкладок

основной файл

  • app.jsonДолжен иметь этот файл, если его нет, проект не может быть запущен, потому что микро-канал кадров это как запись файла конфигурации, весь апплет глобальной конфигурации. Включая страницу регистрации, сетевые настройки и цвет фона окна апплета, настройте стиль панели навигации, настройте заголовок по умолчанию
  • app.jsДолжен быть этот файл, об ошибке не будет сообщено! Однако этот файл создает что-то еще, мы можем прослушивать этот файл и обрабатывать функцию жизненного цикла апплета и объявлять глобальные переменные.
  • app.wxssнеобязательный

2. Чем отличается двусторонняя привязка апплета и vue?

Свойства апплета непосредственно this.data не могут быть синхронизированы с представлением и должны вызываться:

this.setData({
    // 这里设置
})

3. Какие существуют способы передачи данных между страницами мини-программы?

Передача данных с использованием глобальных переменных
Определите глобальную переменную globalData в файле app.js и сохраните информацию, которая будет храниться в ней.

// app.js
App({
     // 全局变量
  globalData: {
    userInfo: null
  }
})

При использовании напрямую используйте getApp() для получения сохраненной информации.

При использовании wx.navigateTo и wx.redirectTo вы можете поместить некоторые данные в URL-адрес и инициализировать их, когда новая страница загружается.

// Navigate
wx.navigateTo({
  url: '../pageD/pageD?name=raymond&gender=male',
})

// Redirect
wx.redirectTo({
  url: '../pageD/pageD?name=raymond&gender=male',
})

// pageB.js
...
Page({
  onLoad: function(option){
    console.log(option.name + 'is' + option.gender)
    this.setData({
      option: option
    })
  }
})

Проблемы, о которых следует знать: wx.navigateTo и wx.redirectTo не позволяют переходить на страницы, содержащиеся во вкладках. onLoad выполняется только один раз
使用本地缓存 Storage 相关

4. Функция жизненного цикла апплета

  • onLoad Срабатывает при загрузке страницы. Страница будет вызываться только один раз, вы можете получить параметры в пути для открытия текущей страницы в параметрах onLoad
  • onShow() Запускается, когда страница отображается/переключается на передний план
  • onReady() Запускается, когда первоначальный рендеринг страницы завершен. Страница будет вызвана только один раз, что означает, что страница готова к взаимодействию со слоем представления.
  • onHide() Срабатывает, когда страница скрывается/переходит в фоновый режим. Например, navigationTo или нижняя вкладка переключаются на другие страницы, а апплет переключается на фон и т. д.
  • onUnload() Запускается, когда страница выгружается. например, перенаправить на или перейти обратно на другие страницы.

5. Преимущества и недостатки мини-программ WeChat

Преимущество

  • Просто используйте и работайте, без установки, экономьте трафик, экономьте время установки и не занимайте рабочий стол
  • Опора на трафик WeChat, естественное продвижение и коммуникативные преимущества
  • Стоимость разработки ниже, чем приложение

недостаток

  • Удержание пользователей, мгновенное использование является преимуществом, но есть и некоторые проблемы.
  • Вход гораздо глубже, чем в традиционных приложениях
  • Ограничений много, размер страницы не может превышать 2M. Невозможно открыть страницы с более чем 10 уровнями

6.Как реализовать pull-to-refresh

Сначала настройте enablePullDownRefresh в окне глобальной конфигурации.
Определите функцию ловушки onPullDownRefresh на странице.После достижения условия обновления раскрывающегося списка выполняется функция ловушки и инициируется метод запроса.
После возврата запроса вызовите wx.stopPullDownRefresh, чтобы остановить выпадающее обновление.

7. В чем разница между bindtap и catchtap?

Та же точка: Во-первых, все они используются как функции события клика, которые срабатывают при клике. В этой роли они одинаковы, и не надо различать
разница: Основное различие между ними в том, что bindtap не будет предотвращать всплытие событий, а catchtap — сопротивление всплыванию.

8. Кратко опишите разницу между wx.navigateTo(), wx.redirectTo(), wx.switchTab(), wx.navigateBack(), wx.reLaunch()?

wx.navigateTo(): ​​сохранить текущую страницу и перейти на страницу в приложении. Но не могу перейти на страницу вкладок wx.redirectTo(): ​​закрыть текущую страницу и перейти на новую страницу (аналогично перенаправлению). Но не разрешено переходить на страницу вкладки
wx.switchTab(): переход на страницу tabBar и закрытие всех остальных страниц без tabBar.
wx.navigateBack(): закрыть текущую страницу и вернуться на предыдущую страницу или многоуровневую страницу. Вы можете получить текущий стек страниц через getCurrentPages() и решить, сколько слоев нужно вернуть.
wx.reLaunch(): закрыть все страницы и открыть страницу в приложении.

9,Процесс входа?

Процесс входа в систему заключается в вызове wx.login для получения кода и передачи его на фоновый сервер для получения уникального идентификатора пользователя WeChat openid и сессионного ключа (session_key) для этого входа в систему и т. д.). После получения сессионного ключа (session_key), возвращенного сервером разработчика, клиентскому интерфейсу необходимо сохранить wx.setStorageSync('sessionKey', 'value')

Постоянный статус входа в систему: информация о сеансе хранится в файлах cookie и возвращается на сервер в виде заголовков запросов и помещается в заголовок wx.request в request.js.

10.Общие команды

wx: для, wx: если

Другие связанные сводные статьи