Процесс разработки серверной части мини-программы WeChat_Введение в разработку мини-программы WeChat
Процесс разработки серверной части мини-программы WeChat_Введение в разработку мини-программы WeChat

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.

ВичатМини программаЗаписи процесса разработки

1. Обработка кода

Недавно одноклассник из колледжа открыл учебную комнату, и ему понадобился апплет WeChat, чтобы зарезервировать учебную комнату. У него также не было проектов по программированию. В соответствии с принципом делать больше с меньшими затратами я попробовал апплет WeChat. первый раз. Ему приходилось идти на работу днем, поэтому он мог использовать только вечернее время, чтобы написать это. В любом случае, он не торопился приступать к делу, поэтому потратил на его написание около полумесяца. Только начал писать,Правда без опыта,Не знаю, с чего начать,Когда бы в этот раз,Конечно, мы придерживаемся принципа,Сосредоточиться на,Открытый исходный код без границ(Копия мирового кода)。конечно,независимо от того, какой язык,Все новички начинают с просмотра кода других людей. здесь,Я не буду объяснять конкретный код,Он также не анализирует конкретный код,Просто дайте приблизительный анализ,Необходимость программного обеспечения для бронирования учебных помещений. в общем,два часа,Интерфейсный апплет WeChatиВнутренний сервер

(1) Апплет WeChat (интерфейсный дисплей)

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

  1. Прочтите справочную документацию,Самый важный документ для разработки Мини программы.,Это официальный «Открытый документ Вичат» Tencent.,Он содержит очень подробные руководства, фреймворки и различные инструкции по разработке.
  2. Выбирайте инструменты разработки,В принципе нет выбора,Разработка Вичат Мини программа,Просматривая открытую документацию Вичата, мы видим, что,В основном «Инструменты разработчика Вичат»,В документе указан порт переноса,Отправить вас на страницу загрузки,Не поддерживает систему Linux,Конкретное использование,Исследуйте самостоятельно,Или Байду.
  3. Основы языкового кода,Программа Вичат Мини на самом деле является веб-разработкой.,Также использует js,json,wxml,wxss,js, соответствующий веб-разработке,xml,css,Язык почти тот же;
  4. Подайте заявку на получение APPID,Подайте заявку на официальном сайте Мини программы,Мини сайт программы,зарегистрироваться,Авторизоваться,Я не буду говорить о наборе процедур. Этот APPID является очень важной информацией для аутентификации личности.,Идентификатор аутентификации личности разработчика,Определяет, кто разработал эту мини-программу.,Используется во многих местах,Как получить,В Интернете доступно множество учебных пособий,Здесь не представлено;
  5. Импортируйте чужие проекты,Выберите «Импортировать проект» в разделе «Проект» в инструментах разработчика Вичат.,Каталог выберите местоположение вашего проекта,AppID — это тот APPID, на который вы подали заявку в пункте 4.

Структура проекта мини-программы WeChat

В соответствии с каталогом файлов, давайте сначала кратко представим ключевые моменты:

  1. app.js,Это вход Вичат Мини время программы, Мини Текущее содержимое фазы запуска программы, наиболее характерным из которых является onLaunch(), эта функция является функцией запуска, если что-то нужно, следуйте Минимуму функция программы для начала работы,Положите все это сюда. внутри,повлияет на некоторые глобальные переменные,Определите глобальную функцию и присвойте начальное значение,Когда необходимо вызывать каждый последующий документ js,Просто нужно быть внутриjsДобавьте предложение в началеconst app = getApp(),через, например.app.globalData.imgUrlформа,стоимость вызова.
  2. app.jsonСуществуют также некоторые глобальные определения.,Необходимо преобразовать каждыйpageСтраница в"pages": []декларация в,существовать"window": {}по определению Мини программаимяи Цвет фона и другие параметры,существовать"tabBar": {}по определениюкаждыйtabспецифичные для страницы свойства,кроме того,Общие определения,например,Если вам нужно использовать навигационное позиционирование,нуждатьсясуществовать Определите здесь"permission":{}Связанный контент。
  3. app.wxss,Это некоторые глобальные определения стиля Мини-программы.,Я не использовал его много,Это зависит от личных предпочтений.
  4. папка страниц,в этой папке,Это содержимое каждой страницы, отображаемой в Мини-программе.,Как правило, содержимое каждой страницы состоит из трех частей.,Это js (функция реализации),wxml (реализация макета страницы),wxss (определить некоторые конкретные стили).

Описание некоторых функций

Хотя мини-программы WeChat похожи на веб-страницы, они также имеют свои особенности, особенно некоторый контент, требующий специального объяснения.

  1. dataпо определениюпеременная,Можно разместить где угодно в js,Передайте имя this.data.variable,Позвоните.
  2. this.setData,Эта функция используется для взаимодействия данных со стойкой регистрации.,В основном используется для передачи данных на стойку регистрации.,Передача значений с использованием пар ключ-значение,нравитьсяthis.setData({selstartTime: "11:00"}),, selstartTime — это значение ключа, передаваемое стойкой регистрации, значение времени в «». Получите на переднем плане через { {selstartTime}}, чтобы получить значение. 3.Разница между onLoad и onShow,onload — это действие, выполняемое при первой загрузке страницы.,Запускать только один раз,onshow — это действие каждый раз, когда отображается страница,Иногда вы возвращаетесь на страницу через кнопку «Назад» и т. д.,загрузка не запустится,шоу будет проходить.
  3. Разница между wx.navigateTo и wx.redirectTo и wx.switchTab,NavigationTo может переходить на страницы, отличные от вкладок (которые отображаются при переключении влево и вправо на домашней странице),Сохраняйте исходную страницу при прыжке,Не уничтожен,Нажмите «Назад», чтобы вернуться на исходную страницу.,redirectTo также переходит на страницу за пределами вкладки.,Но при прыжке,Уничтожить исходную страницу,Не зарезервировано,Нажмите, чтобы вернуться назад,Невозможно вернуться на исходную страницу,switchTab переходит на страницу вкладки.
  4. wx.request,Доступ к внутренним методам,Доступ по URL.
  5. Получение идентификационного номера сети openID,Это личность каждого пользователя, посещающего Мини-программу.,Каждый пользователь уникален,Получите этот номер openID,Его нужно получить через запрос и привязку к фону.
  6. В инструментах разработки Вичат,Вы можете загрузить его прямо на официальный сайт программы Вичат Мини.,Отправьте как пробную версию.

(2) Внутренний сервер (взаимодействие с данными)

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

необходимая среда

  1. Apache,Это для развертывания веб-страниц.,все знают,Нечего сказать.
  2. Mysql,Этот более знаком,Очень распространенная реляционная база данных,Для хранения данных,С этой базой данных необходимо работать с большим количеством данных, включая программу Вичат Мини.,Читайте и пишите.
  3. Среда выполнения кода,Здесь нет языковых ограничений,Распространенными являются Java и PHP.,Потому что я использую PHP, который используют люди.,Я могу только стиснуть зубы и использовать php.
  4. Wampserver,Вышеупомянутые три среды,apache,mysql,операционная среда PHP,Выглядит очень громоздко,конечно,Если вы действительно создаете среду один за другим самостоятельно,Это может стать камнем преткновения на вашем пути вперед. Тогда вы будете удивлены, обнаружив артефакт,Wampserver,Простая установка,Просто Троица,Шаг за шагом. После установки,в каталоге установки,Появится папка «wamp64» (я выбрал 64-битную версию).,конвертировать вашу php-страницу,Поместите его в папку «www» в этой папке.,Вот и все. Посетите «http://localhost/weixin_yuyue/index.php» (weixin_yuyue находится в папке www).,имя папки вашего проекта),Вы можете получить доступ к внутренней веб-странице.
  5. navicat,Часто используемое программное обеспечение для управления базой данных MySQL.,Нечего сказать.

особое внимание

  1. Доступ к веб-странице в фоновом режиме и доступ к базе данных в фоновом режиме — это две разные вещи, но методы доступа одинаковы. Доступ к фону осуществляется через http или https. Разница заключается в указании.
  2. Чтобы получить номер openid пользователя, осуществляющего доступ, вы должны посетить «https://api.weixin.qq.com/sns/jscode2session»;
Язык кода:javascript
копировать
   public function getOpenId(){ 

$url="https://api.weixin.qq.com/sns/jscode2session";
$appid='wxddd2d233413fb869';//Мини программаappid
$secret='477fe8909d4ba0ff092bbd636becd45b';//Мини программаKey
$js_code=I('js_code');
$sendurl= $url."?appid=".$appid."&secret=".$secret."&js_code=".$js_code."&grant_type=".$_GET['grant_type'];
$result =json_decode(file_get_contents($sendurl));
$session_key=$result->session_key;
$openid=$result->openid;
echo json_encode(array("openid"=>$openid,"session_key"=>$session_key));
}
  1. Аналогичный шаблон предложения для доступа к внутренней базе данных: «»,Этот тип структуры предложения можно увидеть,Соответствующий контроллер, к которому осуществляется доступ, находится в «C:\wamp64\www\weixin_yuyue\Application\Api\Controller» (мой каталог,У каждого есть личный каталог,различаться) в каталоге,СоответствующийXXXController.phpсодержание в。нравиться“http://localhost/weixin_yuyue/index.php/Api/Orders/index”посетил Соответствующий Содержание программыUserController.class.phpв файленравиться Внизpublic function index()Содержание функции,Использование контроллера,Просто скажи это просто,Больше нечего сказать.

2. Развертывание проекта

(1) Настройки Wamp-сервера

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

(2) Приобретение доменного имени

Доменное имя получается приложением и требует разрешений http и https. Для удобства я использовал прозрачную передачу данных в интрасети Peanut Shell, загрузил программное обеспечение Peanut Shell 5 и потратил 6 + 58 = 64 юаня, как только у вас появится постоянный зашифрованный https домен. name, вы можете использовать это доменное имя. При использовании программного обеспечения Peanut Shell следует учитывать несколько моментов.

  1. Необходимо использовать доменное имя https или http.,Просто сделай это за один шаг,https-бар,Вичат Мини-программа Посетить серверную часть,Протокол https требуется при необходимости,httpТолькосуществовать При отладке Доступный。
  2. Рекомендуется исправить IP-адрес компьютера. Этот IP-адрес компьютера в локальной сети, например мой «192.168.1.4». Это избавит вас от необходимости менять настройки после каждой перезагрузки, если IP-адрес. изменится, иначе локальную сеть Peanut Shell невозможно будет сопоставить.
  3. После получения доменного имени вам необходимо заменить исходное «localhost» на свое доменное имя.

(3) Настройки на официальном сайте мини программы

АвторизоватьсяМини программавеб-страница,Авторизоватьсяназад,Есть несколько мест, которые требуют внимания и доработки:

  1. «Разработка» – «Настройки разработки» – «Доменное имя сервера» – «Запросить легальное доменное имя»,Добавьте сюда свое доменное имя,Указывает, что это разрешенное доменное имя.,В противном случае вы используете пробную версию Вичата.,Включить можно только режим отладки. Или в инструментах разработки Вичат,При отладке,Установите флажок «Не проверять доменное имя XXXX».
  2. «Главная страница» – «Мини программаинформация”,Заполните внимательно,Многие имеют ограничения на количество ревизий.
  3. После загрузки Мини программы в качестве пробной версии,Нужно вручную зайти в «Управление» — «Управление версиями» — «Версия для разработки».,Установите, чтобы разрешить опыт. Тогда вы можете получить QR-код,Вы можете отсканировать QR-код, чтобы подать заявку на получение опыта.,Разработчики могут это пройти.

наконец,Вот ссылка на исходный код, который я использовал.,Я не знаю, незаконно это или нет,Попробуйте сначала,если это невозможно,Автор, пожалуйста, свяжитесь со мнойудалить.Вичат Мини программа адрес загрузки кода бронирования кабинета

Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Этот сайт предоставляет только услуги по хранению информации, не имеет никаких прав собственности и не принимает на себя соответствующие юридические обязательства. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить об этом. После проверки этот сайт будет немедленно удален.

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/193743.html Исходная ссылка: https://javaforall.cn

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose