Golang+Vue быстро создает веб-приложения (ByteDance ArcoDesign)
Golang+Vue быстро создает веб-приложения (ByteDance ArcoDesign)

Поскольку golang становится все более популярным, многие крупные и мелкие производители переходят на go. Особенно на рынке есть крупные платформы, использующие go, такие как ByteDance, Didi, Zhihu и другие проекты с высоким трафиком, которые доказали эффективность golang. Создание Go также приветствовалось Стороной А, и многие аутсорсинговые разработчики или аутсорсинговые компании начали использовать Go. Таким образом, Go также нуждается в относительно дружественной сети для разработки базовых фреймворков, облегчающих быстрое создание приложений. Заготовьте общие функции, и проект может напрямую развивать проектный бизнес.

быстрый предварительный просмотр Demo, существоватьGithub,GiteeОткрытый исходный код, Официальная загрузка исходного кода сообщества,Разработочная документация。Рамка поставляется в комплекте Разработочная документация и техническая поддержка обеспечивают быструю разработку проекта и повышают эффективность разработки разработчиков.

представлять

GoFlyоснован наGo+VueосуществленныйWebПрименить шаблон,Поддержка фронтэнда и бэкенда,Имеет полную аутентификацию, ограничение тока, JWT,Restful API, управление разрешениями аутентификации и другие функции.

Бэкэнд разработан на базе Golang и его основные особенности заключаются в следующем:

  • Restful API,проходитьginвыполнить
  • В фоновом режиме работают интерфейсы управления документами API и онлайн-тестирования.
  • MVC-архитектура
  • Хранилище MySQL можно заменить sqlite3, postgres, oracle, mssql и clickhouse.
  • на основеJWTСертификация
  • Служба корректно прекращена
  • Ограничение скорости запроса
  • Генерация внешнего и внутреннего кода CRUD в один клик
  • сертификация RBAC,Зависит отCasbinпоставлять
  • Формат журнала
  • Автоматизированная маршрутизация

внешний интерфейсна основеVueразвивать,использоватьArcoDesign Библиотека компонентов

  • Разработка Vue3 с использованием комбинированного API
  • использоватьviteБыстрая компиляция
  • Функция диаграммы,на основеecharts
  • поддерживатьless,Уменьшите написание CSS
  • Встроенный менеджер вложений
  • Инкапсулируйте часто используемые компоненты всплывающего окна.

Основной интерфейс выглядит следующим образом:

Интерфейс панели управления
Интерфейс панели управления
Страница входа
Страница входа
управление ролями
управление ролями
Управление вложениями
Управление вложениями
Селектор вложений
Селектор вложений
Полезный текстовый редактор
Полезный текстовый редактор

Внешний каталог структуры проекта

внутренняя структура

Бэкэнд следует заMCАрхитектуравыполнить,Он относится к некоторым передовым практикам сообщества и аналогичен основной платформе PHP.,Подробности следующие:

Язык кода:javascript
копировать
GoGly Каталог внутреннего проекта
├── app                     //каталог приложения
│   ├── admin               //Модуль приложения для управления серверной частью
│   ├── business            //Модуль бизнес-приложения
│   ├── common              //Общий модуль приложения
│   ├── model               //операции с данными
│   ├── wxapp               //Модуль апплета WeChat
│   ├── wxoffi              //Модуль общедоступной учетной записи WeChat
├── bootstrap                //Метод инструмента
├── config                   //Файл конфигурации
├── global                   //глобальные переменные
├── resource                 //Статические ресурсы
├── route                    //маршрутизация
├── runtime                  //Запускаем файл журнала
├── tmp                      //При разработке используется свежая горячая компиляция Генерировать временные файлы
├── utils                    //инструментарий
├── go.mod                   //Инструмент управления пакетами зависимостей
├── go.sum                 
├── gofly_single.sql          //файл базы данных
├── main.go                   //основная функция
└── README.md                 //проектпредставлять

Фронтальная структура

внешний интерфейсвыполнитьVue3выполнить,Аналогично обычным проектам Vue

Язык кода:javascript
копировать
GoGly Каталог внутреннего проекта
├── config                               //Конфигурация
│   ├── plugin                          //инструмент
│   ├── utils                           //Публичная функция
│   ├── vite.config.base.ts              //Базовый файл конфигурации
│   ├── vite.config.dev.ts               //Разрабатываем файл конфигурации
│   ├── vite.config.prod.ts               //Файл конфигурации пакета
├── public                                 //Статические ресурсы Оглавление
│   ├── config.js                         //Файл динамической конфигурации — упакован и может быть изменен
├── src                                    // Каталог исходного файла, написанный код в основном находится в этом каталоге.
│   ├── api          //запрос API
│   ├── assets       //Общедоступные статические ресурсы
│   ├── components   //Публичные компоненты
│   ├── config       //pro Конфигурация
│   ├── directive      //Пользовательские инструкции
│   ├── hooks         // функция перехвата
│   ├── layout       //разметка кадра
│   ├── locale       //Многоязычный пакет
│   ├── router       //маршрутизация
│   ├── store        //pinia Общий государственный репозиторий
│   ├── types        //ts файл декларации
│   ├── utils        //Публичный метод
│   └── views        //Многостраничная папка
├── types                                   //ts файл декларации
├── .env                                    //Производственная среда
├── .env.development                        //Переменные среды разработки-среды
├── .env.production                         //Производственная переменные среды-среды
├── .gitignore                              //файлы фильтров git
├── babel.config.js                         //инструментарий
├── commitlint.config.js                    //Инструмент управления пакетами зависимостей
├── components.d.ts                          //Инструмент управления пакетами зависимостей
├── index.html                               //Вводим html-файл
├── package.json                             //Команда Конфигурация и файлы управления пакетами
├── README.md                                //проектпредставлять
└──tsconfig.json                              //ts Конфигурация

Запросить ограничение тока

Ограничение токаиспользовать Понятноgolang.org/x/time/rateпоставлять Алгоритм сегмента токенов,справиться с пиковым трафиком,Управление запросами может быть реализовано на уровне отдельных IP-адресов и серверов.

Что требует особого внимания, так это то, что Ограничение тока Следует различать длинные соединения и короткие соединения.,напримерWeaveсерединавыполнить Понятно容器execинтерфейс,Войдите в контейнер через Websocket.,Это не должно влиять на другие обычные запросы.

Разрабатывать фронтенд

Что касается внешнего интерфейса, достаточно немного основ.,ВыбиратьVue3,Главным образом потому, что документация относительно полная и подходит для новичков.。UIна основе ПонятноArco,Главным образом потому, что страница пользовательского интерфейса имеет хороший опыт,В конце концов, фронтенд-уровню команды ByteDance можно доверять.,в настоящий моментVue3более зрелый,Библиотека пользовательского интерфейса Arco богата.,Если у вас его нет, просто добавьте немного.

Установите и запустите

1.База данных

Рекомендуется установить MySQL версии 8 и выше.

2.Бэкэнд

Установите свежее горячее обновление — компилируйте во время разработки

Язык кода:javascript
копировать
go install github.com/pilu/fresh@latest

Запустить сервис Go

Язык кода:javascript
копировать
fresh 

3. Передняя часть

Используйте Arco в первый раз для инициализации команды:

Язык кода:javascript
копировать
npm i -g arco-cli или yarn i -g arco-cli

Проект инициализации

Язык кода:javascript
копировать
npm run install или yarn install

#Запустить проект

Язык кода:javascript
копировать
npm run serve или yarn serve

Подвести итог

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

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