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

OSCHINA-MIRROR/tencent_cloud_development-tcb-hackthon-ncov2019confirm

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

同乘码

Фон

Во время вспышки эпидемии поездка на общественном транспорте может привести к риску перекрестного заражения. Мы часто видим в основных средствах массовой информации что-то вроде «Срочно ищу пассажиров такого-то рейса в такой-то день». С другой стороны, существует немало инструментов, которые могут предоставить информацию о том, была ли в определённом транспортном средстве вспышка эпидемии. Однако невозможно ожидать, что все пассажиры, путешествующие во время вспышки эпидемии, будут обращать внимание на эту информацию или активно искать её. Это приводит к тому, что информация не может быть эффективно передана тем, кто в ней нуждается.

План

Воспользовавшись возможностью благотворительного хакатона Tencent Cloud, организованного командой разработчиков облачных технологий несколько дней назад, мы с коллегой разработали небольшое приложение «同乘码» (код для совместных поездок). Пассажиры могут сканировать код при посадке в общественный транспорт, чтобы подписаться на информацию об этом рейсе. Если позже пассажиры сообщат о вспышке эпидемии или она будет официально объявлена, небольшое приложение будет активно отправлять сообщения пассажирам, отсканировавшим код, через функцию подписки на сообщения WeChat, обеспечивая эффективную передачу информации о вспышках эпидемии. В настоящее время это небольшое приложение было открыто для всех, и пользователи могут использовать его любым способом.

Основные функции

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

Характеристики

  1. Простой и удобный пользовательский интерфейс, разработанный на основе WeUI.
  2. Быстрый поиск на основе кэширования и хранения.
  3. Безсерверное развёртывание на основе облачной разработки небольших программ, упрощающее развёртывание.
  4. Получение сообщений о вспышках эпидемий более своевременно благодаря использованию функции подписки на сообщения о вспышках заболеваний через WeChat.
  5. Более полный и гибкий источник данных благодаря использованию пользовательских отчётов и внешних источников данных.

Способ развёртывания

1) Скачать

Скачайте исходный код:

git clone https://gitee.com/tencent_cloud_development/tcb-hackthon-ncov2019confirm.git

2) Настройка

Измените appid:

В project.config.json измените appid.

{
    // ...
    "appid": "Ваш appid"
    // ...
}

Импортируйте проект в инструмент разработчика WeChat и откройте «Облачная разработка». Создайте новую среду облачной разработки и получите evn_id, затем настройте config и config.js.

{
    "env": "xxx",		// Идентификатор новой среды облачной разработки, обратите внимание, что это идентификатор, а не имя
    "traceUser": true	// Отслеживать ли пользователя true / false
}

Облачная консоль разработки — база данных — создайте коллекцию:

— admin: таблица информации администратора для проверки самоотчётов о случаях заболевания; — chatroom: информация о чате/сообщениях, необходимо добавить уникальный индекс к groupId; — member: список пользователей, совместно использующих транспортное средство, необходимо отдельно добавить уникальные индексы к roomId и openId; — report: информация о сообщениях о вспышках болезней, необходимо добавить уникальный индекс к roomId; — roomInfo: информация об общественном транспорте, необходимо добавить уникальный индекс к key; — traffic: подтверждённые случаи заболевания в общественном транспорте.

Структура коллекции следующая:

admin коллекция

field type
openId string

member коллекция

field type
opendId string
roomId string
src string
status number
userInfo object

report коллекция

field type
date string
name string
phone string
review number
roomId string
rtype string

roomInfo коллекция

field type
date string
key string
typeName string
typeValue string
wxacode string

traffic коллекция

field type
created_at string
source string
t_date string
t_end string
t_memo string
t_no string
t_no_sub string
t_pos_end string
t_pos_start string
t_start string
t_type string
updated_at string
verified number
who string

После создания коллекции установите разрешения на «Все пользователи могут читать, только создатель может читать и писать».

3) Развёртывание облачных функций

Войдите в каталог cloudfunctions, щёлкните правой кнопкой мыши и загрузите, затем разверните.

Каталог openapi облачных функций, щёлкните правой кнопкой мыши и загрузите, затем развёрните.

Щёлкните правой кнопкой мыши каталог sendmsg облачных функций и загрузите, затем развёрните.

4) Настройка шаблона подписки на сообщение

Способ подачи заявки на шаблон подписки на сообщение: подайте заявку на настраиваемый шаблон push-уведомления на https://mp.weixin.qq.com/, «Функция» — «Подписка на сообщение» — «Добавить», обратите внимание на формат параметров.

Метод настройки шаблона подписки на сообщение: в cloudfunctions — sendmsg — index.js настройте templateId на идентификатор настраиваемого шаблона подписки на сообщение.

5) Завершение развёртывания

Ctrl + S, проект запущен!

HTTP-интерфейс

Небольшое приложение может управлять данными через HTTP-интерфейсы, предоставляемые облачными функциями. Облачные функции также разрабатываются на основе узлов. Необходимо добавить соответствующие функции в облачную консоль управления Tencent и включить доступ по протоколу HTTP. В настоящее время в интерфейсе нет функции проверки разрешений, которую можно реализовать, добавив skey в код.

Список интерфейсов:

sendmsg отправляет сообщение определённому пассажиру, обратите внимание, что сначала необходимо подать заявку на шаблон сообщения в WeChat Management. confirmReport подтверждает информацию о вспышке заболевания, отправленную пользователем. getReport получает список неподтверждённых сообщений о вспышках заболеваний. addReport сообщает о вспышке болезни, подтверждённой официальными лицами.

Параметры интерфейса см. в исходном коде.

Структура исходного кода

Исходный код в основном состоит из двух частей:

  1. Каталог miniprogram, исходный код небольшого приложения, соответствует структуре кода, предоставленной официальным образом.
  2. Каталог cloudfuntion, код облачной функции, реализованный с использованием nodejs.

Техническая архитектура

Клиент использует нативное небольшое приложение, сервер полностью использует облачные функции.

Код небольшого приложения

Участники

defool kapt4inw01f

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/tencent_cloud_development-tcb-hackthon-ncov2019confirm.git
git@api.gitlife.ru:oschina-mirror/tencent_cloud_development-tcb-hackthon-ncov2019confirm.git
oschina-mirror
tencent_cloud_development-tcb-hackthon-ncov2019confirm
tencent_cloud_development-tcb-hackthon-ncov2019confirm
master