Лёгкий каркас для веб-сайта.
Бэкенд: права доступа, управление файлами, управление кэшем, распределённая блокировка, платёжные функции, генерация кода.
Одно нажатие — и готово!
Структура проекта:
├── convalariae
| ├── keiskei-admin-template Бэкэнд-страница
| └── keiskei-server-parent Бэкенд-сервис
└── keiskei-server-parent
├── keiskei-admin-security Управление пользователями и аутентификация
├── keiskei-code-generator Генератор кода
├── keiskei-common-core Базовые общие инструменты
├── keiskei-common Продвинутые общие инструменты
├── keiskei-payment-alipay Платёж через Alipay
├── keiskei-payment-wechat-v2 Платёж через WeChat v2
├── keiskei-third-party-cache-local Локальное кэширование
├── keiskei-third-party-cache-redis Кэширование через Redis
├── keiskei-third-party-cache Интерфейс общего кэша
├── keiskei-third-party-file-alioss Объектное хранилище Alibaba
├── keiskei-third-party-file-jdoss Объектное хранилище JD
├── keiskei-third-party-file-local Локальное хранение файлов
├── keiskei-third-party-file Интерфейс файлового хранилища
├── keiskei-websocket WebSocket
Использование генератора кода:
import cn.jx.cjm.codegenerator.CodeGenerator;
import cn.jx.cjm.codegenerator.base.GenerateConfig;
import java.util.LinkedHashMap;
import java.util.Map;
public class CodeGenerateUtils {
public static void main(String[] args) throws Exception {
Map<String, String> map = new LinkedHashMap<>();
// Модуль идентификации Модуль наименования Модуль содержит таблицу
map.put("vip,会员管理", "customer,cjm_customer_account,customer_account_detail,customer_collect");
map.put("news,工作资讯","work,work_news,work_type");
GenerateConfig generateConfig = new GenerateConfig();
generateConfig.setAuthor("James Chen right_way@foxmail.com");
generateConfig.setProjectPath("news-stand-project");
generateConfig.setDisperseModule(false); // Каждый модуль имеет отдельный module
generateConfig.setMingExportNum(10); // Минимум полей для экспорта данных
generateConfig.setPermissionStartId(100); // Идентификатор начала для вставки данных в таблицу разрешений
generateConfig.setTablePrefix(new String[]{"tb_"}); Префикс таблицы
generateConfig.setYmlFile("D:/demo/src/main/resources/application-dev.yml"); // Путь к файлу yml (для чтения конфигурации базы данных)
generateConfig.setParentPackage("cn.jx.cjm"); // Имя пакета
CodeGenerator.generateFiles(generateConfig, map);
}
}
Вывод в консоль:
insert into sys_permission ...... // Выполнение вставки в базу данных
'/views/XXX/yyy': () => import('@/views/XXX/YYY'), ...... // Копирование содержимого в /keiskei-admin-template/src/settings.js
Создание каталогов views и api в каталоге resource. Содержимое копируется в соответствующие каталоги в keiskei-admin-template.
# Изменение конфигурации проекта
# /keiskei-admin-template/src/settings.js Базовая конфигурация проекта
# /keiskei-admin-template/.env.development Конфигурация API для среды разработки
# /keiskei-admin-template/.env.production Конфигурация API для производственной среды
# /keiskei-admin-template/src/icons Добавление ресурсов Icon
# /keiskei-admin-template/public Изменение ресурса favicon.ico
## Использование шрифта Алипэй
```vue
# Для использования шрифта Алипэй необходимо сначала его определить, а затем можно ссылаться на него. Шрифты вне области определения не будут отображаться.
# Откройте страницу генерации шрифтов Алипэй.
$ open https://www.iconfont.cn/webfont
# Сгенерируйте необходимые шрифты для используемых в проекте символов и ссылайтесь на онлайн-адрес.
@font-face {
font-family: 'webfont';
font-display: swap;
src: url('//at.alicdn.com/t/webfont_o087f99m7g.eot'); /* IE9*/
src: url('//at.alicdn.com/t/webfont_o087f99m7g.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('//at.alicdn.com/t/webfont_o087f99m7g.woff2') format('woff2'),
url('//at.alicdn.com/t/webfont_o087f99m7g.woff') format('woff'), /* chrome、firefox */
url('//at.alicdn.com/t/webfont_o087f99m7g.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
``` ## Изменение файла стиля шрифта, копирование онлайн-адреса в этот файл
# /cjm-admin-template/src/styles/font.css
# Использование этого шрифта в компоненте
Key
— это путь, Value
— функция отложенной загрузки, которая импортирует компонент страницы в среду Vue.
Экспорт по умолчанию:
{
'/views/dashboard/index': () => import('@/views/dashboard/index'),
'/views/security/sysUser/index': () => import('@/views/system/account/index'),
'/views/system/role/index': () => import('@/views/system/role/index'),
'/views/system/permission/index': () => import('@/views/system/permission/index'),
'/views/system/department/index': () => import('@/views/system/department/index')
}
<script>
import permission from '@/directive/permission/index.js' // Директива разрешения
export default {
// ...
directives: { permission }
// ...
}
</script>
<template>
// ...
<el-button v-permission="['account:add']">
Добавить пользователя
</el-button>
// ...
</template>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )