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

OSCHINA-MIRROR/baiy-Cadmin-client-react

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

Cadmin: клиентская часть на React и Ant.Design

Проект: — GitHub: https://github.com/baiy/Cadmin-client-react; — Gitee: https://gitee.com/baiy/Cadmin-client-react.

Онлайн-документация: https://baiy.github.io/Cadmin/.

Зависимости: — React; — localStorage; — Redux; — Axios; — Ant.Design; — Lodash.

Среда разработки создана с помощью Create React App.

Установка:

// Установка
npm install
// Разработка
npm start
// Компиляция
npm run build

Дополнительные вопросы по разработке и компиляции см. в документации Create React App.

Конфигурация:

Файл конфигурации: ./env.

Используются переменные окружения Create React App:

Конфигурационная переменная Описание
REACT_APP_ADMIN_TOKEN_NAME Имя токена, который хранится в localStorage
REACT_APP_API_URL_PREFIX Префикс URL для запросов к серверу
REACT_APP_API_ACTION_NAME Название переменной action в запросах к серверу
REACT_APP_API_TOKEN_NAME Название переменной token в запросах к серверу
REACT_APP_INDEX_URL URL страницы после входа (обычно /)
REACT_APP_SITE_NAME Название сайта в левом верхнем углу страницы
REACT_APP_SITE_TITLE_TPL Шаблон заголовка страницы

Пример получения значения конфигурационной переменной:

import {config} from "src/utils/helper";
let name = config('SITE_NAME');

При получении значения переменной REACT__ имя переменной указывать не нужно.

Маршрутизация и меню:

В системе реализована динамическая загрузка страниц по определённым правилам:

  1. Загружаются файлы из каталога /src/pages.
  2. Загружается файл index.tsx.
  3. Файлы из папки components игнорируются.

Например:

Путь файла Маршрут
/src/pages/system/user/index.tsx /system/user
/src/pages/a/b/c/d/index.tsx /a/b/c/d

Меню делится на три типа:

  1. Каталоги — при выборе открывается подменю.
  2. Страницы — выбор ведёт на соответствующую страницу.
  3. Ссылки — обычные ссылки HTTP или HTTPS.

Для меню, соответствующего странице, маршрут задаётся в конфигурации на сервере.

Redux:

Файлы в папке /reducers/:

Файл Маршрут
user Информация о текущем пользователе
allUser Список всех пользователей на сервере
menu Меню, доступное текущему пользователю
request Запросы, доступные текущему пользователю
auth Права текущего пользователя
userGroup Группы пользователей
currentMenu Текущее меню
currentMenus Все меню, включая родительские

Запросы к серверу:

Методы запроса:

import request from "src/utils/request";
// GET запрос
request('/system/request/remove').
    data({id:1}).
    showSuccessTip().
    success(r=>{
         console.log(r)
    }).get();
// POST запрос
request('/system/request/remove').
    data({id:1}).
    showSuccessTip().
    success(r=>{
         console.log(r)
    }).post();

Метод request() принимает в качестве аргумента действие (action), которое отправляется на сервер.

Возвращаемое значение метода request() — объект request из файла src/utils/request.

Токен автоматически добавляется к запросу, поэтому его не нужно передавать явно.

Объект request имеет следующие методы:

Метод Описание По умолчанию
dataType(string) Формат ответа json
contentType(string) Заголовок Content-Type application/x-www-form-urlencoded
data(object) Данные запроса {}
showSuccessTip() Отображение сообщения об успешном выполнении запроса Не отображается
hideErrorTip() Скрывает сообщение об ошибке выполнения запроса Отображает сообщение об ошибке
success(function) Функция обратного вызова при успешном выполнении null
error(function) Функция обратного вызова при ошибке выполнения null
complete(function) Функция обратного вызова после выполнения null
get() Отправляет GET-запрос
post() Отправляет POST-запрос

Запрос отправляется только при вызове методов get() или post().

Также можно использовать axios и самостоятельно отправлять запросы, используя метод actionUrl() для генерации URL и добавления токена:

import {actionUrl} from 'src/utils/helper'
let url = actionUrl('action')

Встроенные компоненты:

Помимо компонентов Ant.Design, в системе есть несколько встроенных компонентов, которые часто используются при разработке:

  • Username — отображает имя пользователя, указанного по ID. Можно задать значение по умолчанию, если пользователь не найден.
  • AuthCheck — проверяет права пользователя на выполнение действия и отображает соответствующий контент.
  • FieldMap — сопоставляет значения полям и выводит их в виде текста.

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

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

Введение

Реализация клиента Cadmin на react+ant.design. Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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