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

OSCHINA-MIRROR/dcloud-xinguan2020-alien-registration

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 24 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 16.03.2025 10:45 120f701

Проект ответственный: DCloud_UNI_GSQ. В QQ группе 797192690.

Адрес для просмотра проекта: wlry.m3w.cn. Логин тестового аккаунта: admin; пароль: 12345678. Этот адрес используется для тестирования, при запуске конкретного проекта для организации потребуется отдельная установка.

Этот проект успешно применён в десятках сообществ.

Данный проект является открытым с использованием лицензии Mulan Permissive License, все коды доступны для использования, модификации и распространения.

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

  1. Установите HBuilderX

Для этого проекта требуется версия HBuilderX 2.5.11 или выше. Обязательно проверьте номер версии

Ссылка для скачивания

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

HBuilderX — это портативное приложение, Windows версия распаковывается и запускается через HBuilderX.exe.

  1. Получение исходного кода проекта

Скопируйте git адрес данного проекта: https://gitee.com/dcloud/xinguan2020-alien-registration.git

В меню HBuilderX выберите «Файл» - «Импортировать», затем выберите «Импорт из Git». Вставьте скопированный git адрес.Введите описание изображения

Если вы используете Windows, вам также потребуется установить TortoiseGit при импорте Git.

Если вы не участвуете в разработке открытого проекта, вы можете скачать zip архив с gitee репозитория, распаковать его на жесткий диск и перетянуть папку в HBuilderX (необходимо чтобы корневая директория содержала файл manifest).

  1. Аутентификация

Если вы уже зарегистрированы в HBuilderX, оставайтесь авторизованными. Если нет, нажмите кнопку входа в нижнем левом углу HBuilderX.

  1. Получение appid

Исходный код проекта не содержит appid, вам потребуется получить его самостоятельно в файле manifest.json.

Для получения appid откройте файл manifest.json вашего проекта и нажмите кнопку «Получить appid» справа.

Введите описание изображения

  1. Получение и привязка облачного пространстваДанный проект работает на основе модели облачного развития uniCloud, используя серверless движок Alibaba Cloud и js-функции облака для реализации back-end. Разработчику потребуется создать облачное пространство на Alibaba Cloud и развернуть код back-end (то есть js-функции облака) в своём облачном пространстве. DCloud и Alibaba Cloud сотрудничают, предоставляя бесплатно серверы во время пандемии без ограничений по объёму и параллелизму. Даже при внезапном входе нескольких миллионов пользователей это никак не повлияет на работу системы. На основе этой serverless архитектуры разработчики не должны беспокоиться о двойной активной защите, расширении параллелизма и DDoS-атаках. Подробнее см. официальный сайт uniCloud: https://uniapp.dcloud.io/uniCloud/README.Щелкните правой кнопкой мыши по каталогу cloudfunctions в проекте и выберите ваше пространство услуг. Если такого пространства нет, его следует создать; при создании вас будут просить войти и зарегистрироваться в uniCloud. (Если вы не видите меню выбора пространства услуг, значит версия HBuilderX слишком старая.)

Проект требует регистрации и открытия uniCloud, так как Alibaba Cloud требует проверки личности. Во время пандемии проверка обычно занимает менее 30 минут.

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

Выбор пространства услуг

6. Инициализация пространства услуг

Пространство услуг включает облачную базу данных и облачные функции. Новое пространство услуг будет пустым в веб-консоли управления uniCloud, поэтому вам потребуется создать таблицы и загрузить облачные функции.

(Облачная база данных — это MongoDB, основанная на NoSQL.)

Структура базы данных описана в файле db.md, расположенном в корневом каталоге проекта. В то же время HBuilderX предоставляет быстрый способ инициализации базы данных, открыв файл db_init.json в каталоге cloudfunctions, щелкнув правой кнопкой мыши и инициализировав облачную базу данных, что автоматически создаст таблицы.Инициализация базы данных

Следующий шаг — загрузка облачных функций в ваше пространство услуг. Щелкните правой кнопкой мыши по каталогу cloudfunctions и загрузите все облачные функции в ваше пространство услуг.

Загрузка всех облачных функций

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

7. Запуск проекта
Проект инициализирован, теперь его можно запустить.

Проекты, созданные с использованием фреймворка uni-app, могут работать на всех платформах, будь то браузеры, мини-приложения или iOS/Android приложения. Для запуска нажмите кнопку «Запуск» в панели инструментов или используйте сочетание клавиш Ctrl + r, чтобы открыть меню запуска.

Нажмите «Запуск в встроенном браузере», либо пропустите это меню и нажмите кнопку «Просмотреть» в правом верхнем углу HBuilderX, чтобы запустить версию H5.Запуск в встроенном браузере

Если ранее вы скачали стандартную версию HBuilderX, теперь начнётся установка плагинов uni-app. После завершения установки перезапустите проект.

Если консоль сборки сообщает о сообщении об ошибке условной компиляции node_modules, его можно проигнорировать.

Для запуска в внешнем браузере вам потребуется привязать безопасный домен в разделе безопасности H5 в веб-консоли uniCloud. В противном случае возникнут проблемы с запросами, поэтому убедитесь, что привязан безопасный домен, чтобы избежать таких проблем.

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

  1. Создайте учётную запись администратора и войдите в систему

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

Перейдите в директорию cloudfunctions и найдите облачную функцию create-user. Щёлкните правой кнопкой мыши по этой директории и выберите «Загрузить и выполнить».

Создание учётной записи администратораПосле выполнения этой облачной функции будет создано следующее поле пользователя в облачной базе данных:

{
  "username": "admin",
  "password": "123456"
}

Теперь вы можете использовать эти учетные данные для входа в систему через передний интерфейс.

При реальном развертывании следует заменить ключ passSecret в файле cloudfunctions-module/src/utils/constants.js на свой уникальный ключ. После изменения рекомендуется заново скомпилировать и загрузить облачную функцию, а затем повторно импортировать информацию о пользователе.Облачные функции Alibaba Cloud имеют процесс холодного старта при первом запуске, что делает первый запуск медленнее — около 5 секунд до получения ответа. При последующих запусках скорость нормализуется. Alibaba Cloud временно освобождает ресурсы облачных функций после длительного периода без использования, что снова вызывает процесс холодного старта при следующем запуске. Это ограничение находится в процессе устранения.

Развертывание и публикация проекта

Щелкните меню публикации в HBuilderX, чтобы опубликовать на H5, App и мини-приложения.

  • Публикация мини-приложения
    • Обратите внимание, что домены uniCloud должны быть добавлены в белый список безопасности мини-приложений, подробнее см.: https://uniapp.dcloud.io/uniCloud/quickstart?id=mini-program-use-of-unicloud
    • Необходимо изменить содержимое файла /pages/tabbar/my.vue следующим образом:
    // #ifdef MP-WEIXIN
    // В мини-приложении WeChat здесь следует указать адрес QR-кода мини-приложения или H5 платформы, либо оставить поле пустым ('').
    val: "https://wlry.m3w.cn/#/pages/tabbar/add?id=" + uni.getStorageSync('username'),
    // #endif
    ```- Публикация H5
  1. Сначала опубликуйте H5 через меню публикации, сгенерируйте HTML страницы и разместите их на вашем Web сервере, например NGINX.
  2. Подготовьте свой домен и привяжите его к IP адресу сервера NGINX.
  3. Наконец, настройте безопасные домены в веб-консоли uniCloud, см.: https://uniapp.dcloud.io/uniCloud/quickstart?id=h5-use-of-unicloud

Описание функциональности проекта

Пять нижних вкладок: список, диаграмма, +, поиск, моя учетная запись

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

Список

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

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

Диаграммы

Отображение графиков по времени, представляющих карантин, жар, подозрение, подтверждённые случаи и смерти.### + Форма для заполнения по полям базы данных. Имя, телефон — обязательные поля. В случае, если при развертывании требуется кастомизация полей, такие как удаление или добавление обязательных полей, можно вносить изменения самостоятельно на основе открытого проекта.

Телефон является уникальной меткой пользователя; повторное внесение данных с тем же номером телефона приведёт к обновлению существующих базовых данных.

При сохранении данных в базу данных помимо заполненной формы, также должны быть сохранены имя оператора, его ID, время выполнения действия и IP адрес.

Поиск

Поиск возможен по имени, мобильному телефону или времени регистрации. Результат поиска будет отображаться в виде списка.

При открытии страницы в браузере на компьютере, вы заметите кнопку экспорта в верхнем правом углу экрана. Экспорт осуществляется в формате CSV, который может быть открыт в Excel. Если вам необходима кастомизация полей экспорта, это можно сделать самостоятельно в исходном коде.

Моё

Логин, выход и изменение пароля оператора.

Система не поддерживает регистрацию. Аккаунты операторов создаются администраторами через облачные функции, после чего каждый оператор может самостоятельно менять свой пароль.

Если вы забыли пароль, пожалуйста, обратитесь к администратору для сброса пароля через облачную функцию.Облачная функция create-user, нажмите правой кнопкой мыши на директорию и выберите "Загрузить и запустить".

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

Просьба к гостям заполнять форму самостоятельно.

После входа оператора, нажмите на "Моё" в меню, чтобы показать QR-код. Гости могут сканировать этот код для самостоятельного заполнения формы.

При втором заполнении формы, повторяющиеся данные будут автоматически заполнены.

Дополнительные возможности для улучшения

  • Поддержка многопользовательской системы управления, в настоящее время возможно развернуть только одну систему для одного района. Если поддерживать такую систему, процесс онлайн-запроса и регистрации значительно ускорится. (Разработчики предоставили версию с управлением, но сервер использует Java, подробнее).
  • В настоящее время система регистрирует только вход, а не выход.

Эти возможности приветствуются улучшениями со стороны разработчиков.

О дополнительном использовании исходного кодаПроект основан на лицензии Mulan PSL, которая позволяет свободное использование и модификацию кода. — Проектная фронтенд-часть разработана с использованием фреймворка uni-app, который представляет собой многоплатформенный фреймворк для создания приложений на всех платформах с помощью Vue.js. Для более глубокой кастомизации вам потребуется ознакомиться с документацией uni-app. Документация uni-app доступна по адресу: https://uniapp.dcloud.io/README- Проектная бэкенд-часть основана на uniCloud, облачной среде разработки на JavaScript, аналогичной облачному разработке для WeChat Mini Programs и Alipay Mini Programs, но позволяющей использовать её в кросс-платформенной среде. UniCloud использует модель serverless, что предоставляет множество преимуществ. Рекомендуется разработчикам ознакомиться со всей документацией uniCloud для удобства повторной разработки. Документация uniCloud доступна по адресу: https://uniapp.dcloud.io/uniCloud/README. Спасибо множеству разработчиков за вклад в этот открытый проект: DCloud_UNI_GSQ, DCloud_UNI_WYQ, DCloud_UNI_HDX, лягушки_Греция_Амао, снова_повторяемся, King, 丛林野战军, AHello, kagstest.

Приглашаем вас присоединиться к QQ-группе 797192690 для общения и обсуждения.

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

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

1
https://api.gitlife.ru/oschina-mirror/dcloud-xinguan2020-alien-registration.git
git@api.gitlife.ru:oschina-mirror/dcloud-xinguan2020-alien-registration.git
oschina-mirror
dcloud-xinguan2020-alien-registration
dcloud-xinguan2020-alien-registration
master