1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/huimingdeng-wechatmall

Клонировать/Скачать
README.md 7.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 02:53 f18badf

wechatmall

Скачать тестовый репозиторий

git clone git@gitee.com:huimingdeng/wechatmall.git
git clone https://gitee.com:huimingdeng/wechatmaill.git // текущий клон, если вы хотите извлечь файл, то необходимые учётные данные для входа — gitee
git pull origin master
git push origin master

Введение

Проект Laravel в действии — пример использования WeChat Store. На данном этапе разработки проект будет использоваться только для обучения и не предназначен для коммерческого использования.

Архитектура программного обеспечения

Описание архитектуры программного обеспечения — разработка WeChat Store с использованием фреймворка Laravel. Команда php artisan list позволяет просмотреть версию фреймворка, используемую в проекте: Laravel5.7.26.

Инструкция по установке

  1. git clone https://gitee.com/huimingdeng/wechatmal.git или прямая загрузка и распаковка ZIP-файла.
  2. Требования проекта: PHP7.1+ и фреймворк Laravel5.7.26.
  3. Если версия среды ниже PHP7.1, то фреймворк laravel не сможет работать, но вы можете перестроить проект.

Использование

  1. У вашего WeChat публичного аккаунта должен быть один (можно использовать тестовый номер для тестирования).
  2. Вам потребуется сервер с общедоступным IP-адресом, вы можете приобрести недорогой сервер в облаке Tencent или Alibaba, или Qingcloud.
  3. В настоящее время поддержка composer не предусмотрена, если вам нужна поддержка, вам необходимо опубликовать её на рынке композиторов, а инструкции по публикации можно найти в заметках GitHub.

Инструменты

  1. Tinker — платформа для обмена данными, встроенная в Laravel. Например, new App\User для просмотра справки.
  2. Создание тестовых данных: factory(App\User::class,15)->create().

P.S. В процессе разработки создаются миграции данных, текущая версия laravel соответствует версии базы данных 5.7.7 или выше, иначе миграция завершится неудачно. Локальная разработка привела к ошибке из-за версии базы данных 5.5.53, phpStudy2018 обновите до mysql5.7+.

Разработка и тестирование API

Установите PostMan локально для тестирования http://wechatmall.com/api/index, ответ информации api.

// Тестирование API, api маршруты должны иметь префикс Route::get('index', function(){ return 'api'; });

Особенности построения

Черты в Laravel используются для хранения общих методов, что эквивалентно множественному наследованию.

php artisan make:resource UserResource для создания ресурсов.

Соответствующие операции контроллера ресурсов

Действие: соответствует способу HTTP-запроса action; URI: путь действия в запросе ресурса маршрута; действие: соответствующий метод действия контроллера ресурсов.

Действие URI Действие Маршрут
`GET` `/photos` index photos.index
`GET` `/photos/create` create photos.create
`POST` `/photos` store photos.store
`GET` `/photos/{photo}` show photos.show
`GET` `/photos/{photo}/edit` edit photos.edit
`PUT/PATCH` `/photos/{photo}` update photos.update
`DELETE` `/photos/{photo}` destroy photos.destroy

Принцип JWT

JWT: Json Web Tokens, сокращённо JWT, механизм без сохранения состояния.

Традиционный способ:

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

  1. Проблема истечения срока действия токена:

Браузер получает украденный токен после того, как пользователь выходит из системы. Злоумышленник всё ещё может имитировать нормальный запрос на вход на сервер, даже если пользователь вышел из системы, пока срок действия не истечёт, сервер не может проверить, и злоумышленник может продолжать получать доступ до истечения срока действия.

  1. Срок действия токена приложения:
  • Если приложение является новостным/игровым/чатом и т. д., срок действия токена может быть установлен на длительный период, например, 1 год.
  • Если это платёжное/банковское приложение и т. п., срок действия токена должен быть коротким, например, от 5 до 15 минут.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/huimingdeng-wechatmall.git
git@api.gitlife.ru:oschina-mirror/huimingdeng-wechatmall.git
oschina-mirror
huimingdeng-wechatmall
huimingdeng-wechatmall
master