Резюме опыта разработки программы WeChat Mini BUG

внешний интерфейс сервер Апплет WeChat

Разработка небольших программ становится все популярнее, и в разработке встречаются различные баги.Вот некоторые ямы, в которые легче попасть и поделиться с вами.

1. Проблемы кроссплатформенной совместимости New Date

Использовать на Androidnew Date(“2018-05-30 00:00:00”)Есть проблема с дровами, но они не распознаются под ios.

Поскольку IOS не распознает этот формат, вам нужно использовать2018/05/30 00:00:00Формат. Вы можете использовать регулярные выражения для замены строк, заменяя тире косой чертой.var iosDate= date.replace(/-/g, '/');.

2. Проблема изменения интерфейса wx.getUserInfo()

Одним из самых жалуемых изменений в апплете WeChat в последнее время является то, что авторизация не будет всплывать, когда пользователи используют wx.getUserInfo (разработка и пробная версия), и официальная версия не будет затронута. Теперь метод авторизации заключается в том, чтобы помочь пользователю нажать кнопку авторизации, а затем открыть окно авторизации.

Решение очень длинное, пожалуйста, обратитесь к:

3. Только в режиме отладки вы можете отправлять данные на свой официальный сервер

На самом деле, пока вы обращаете внимание на настройку законного доменного имени, эта проблема будет решена. Иногда из-за разработки, как только она появляется, я забываю сбросить доменное имя конфигурации. Позже я обнаружил, что данные не могут быть освобождены.Может быть, я забыл настроить его давно!

4. Не удалось получить UnionID

Логин для получения UID должен соответствовать двум условиям:

  • Привязать апплет и официальный аккаунт к открытой платформе;
  • Пользователь, должно быть, был обеспокоен общедоступным номером.

Используйте wx.getUserInfo для получения условия:

  • Привязать апплет и официальный аккаунт к открытой платформе;

5. Значение windowHeight, полученное с помощью wx.getSystemInfoSync, является неточным.

Основная причина в том, что получение — это тайминг, а wx.getSystemInfoSync вычисляется при инициализации страницы, что в основном можно понимать как высоту экрана. Итак, лучший способ — использовать асинхронный интерфейс и вызывать его в функции onReady.

onReady() {
  wx.getSystemInfo({
    success({windowHeight}) {
      // todo
    }
  });
}

6. Имя локального ресурса образа, попробуйте назвать в нижнем регистре

При решении адаптации iPhone X, когда изображение используется в дополнительной части внизу

<image class='iphonexImg' src="/imgs/iphoneBGT.png" mode="aspectFill">

путьsrc='imgs/iphoneBGT.png'

Обнаружено, что его можно отобразить в среде IDE для ПК, но при отладке реальной машины изображение не может быть найдено.

Затем измените имя изображения на iphonex.png для отладки реальной машины.

<image class='iphonexImg' src="/imgs/iphonex.png" mode="aspectFill">`

Написано в конце: В коде всегда есть различные баги, типа перечисленных выше проблем, которые можно найти в процессе разработки. И после того, как код появится в сети, тест не может гарантировать 100% отсутствие проблем. Здесь рекомендуетсяFundebugизСлужба мониторинга ошибок программы WeChat MiniВам, старики!

О Фундебаге

FundebugСосредоточьтесь на JavaScript, мини-программах WeChat, мини-играх WeChat, мини-программах Alipay, React Native, Node.js и мониторинге ошибок Java в режиме реального времени. С момента официального запуска Double Eleven в 2016 году Fundebug обработал более 700 миллионов ошибок и был признан многими известными пользователями, такими как Google, 360, Kingsoft и People.com. Бесплатная пробная версия приветствуется!

Уведомление об авторских правах

Пожалуйста, указывайте автора при перепечаткеFundebugИ адрес этой статьи:
ошибка blog.fun.com/2018/10/19/…