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

OSCHINA-MIRROR/sikadai-quasar-sika-design-admin

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

Quasar Sika Design Admin

Quasar Sika Design Admin — готовое решение пользовательского интерфейса (UI) для корпоративных приложений на основе шаблона Vue.

Основывается на Quasar.

| English | 简体中文

Quasar Sika Design Admin

An out-of-box UI solution for enterprise applications as a Vue boilerplate. based on Quasar.

License Release

项目介绍

Quasar Sika Design Admin представляет собой набор решений для управления системами корпоративного уровня, которые включают в себя интерфейс пользователя и дизайн. Это шаблон для создания корпоративных систем управления, который основан на Ant Design и его ценностях в области дизайна. Он направлен на дальнейшее развитие на основе принципов проектирования и базовых компонентов, включая создание типовых шаблонов, бизнес-компонентов и соответствующих дизайнерских ресурсов. Цель проекта — повысить качество взаимодействия с пользователем и опыт разработчиков в процессе проектирования корпоративных систем.

Цели проекта

Проект начался с Sika Design, но не ограничивается им. Каждый элемент разработан с целью обеспечить исключительный опыт. Видение: открытый исходный код может изменить мир. Sika Design Admin позволяет создавать код без трудностей.

Особенности проекта

Интерфейс пользователя

  • Элегантный и привлекательный дизайн, основанный на Ant Design.
  • Распространённые шаблоны проектирования, основанные на открытом исходном коде.
  • Передовые технологии интерфейса пользователя, такие как Quasar, Vue и Echarts.
  • Адаптивный дизайн для экранов разных размеров.
  • Настраиваемые темы, удовлетворяющие разнообразные требования брендов.
  • Лучшие практики разработки, помогающие постоянно создавать высококачественный код.

Серверная часть

  • Элегантная, лаконичная и стандартизированная, но сохраняющая индивидуальность.
  • Абстрактные базовые компоненты.
  • Ограничения кода стандартами.
  • Отличительные практики предметно-ориентированного проектирования (DDD), включающие контекст и исполнителей.
  • Полноценный генератор кода — новые модули с базовыми функциями без необходимости разработки.

Организационная структура

- quasar-sika-design-admin
  - quasar-sika-design // интерфейс пользователя на основе vue+quasar
  - quasar-sika-design-server // серверная часть на основе springboot+mybatis
    - doc // документация
      - sql // сценарии SQL
    - quasar-sika-design-server-common // общие компоненты; включая бизнес-константы, DTO, запросы и базовые DTO и сервисы и т. д.
    - quasar-sika-design-server-core // основные бизнес-модули; включая сервисы, основную логику предметной области и т.д.
    - quasar-sika-design-server-ataaccess // уровень доступа к базе данных
    - quasar-sika-design-server-generator // модуль генератора кода [без необходимости разработки]
    - quasar-sika-design-server-web // слой контроллера
    - sika-code-cor // основные общие компоненты, включая, но не ограничиваясь, кэш-компоненты, генераторы кода, общие компоненты, доступ к данным, распределённые блокировки, фреймворк
      - cache // кэш-компонент
      - code-generator // генератор кода
      - common // общий компонент
      - databasse // доступ к базе данных
      - hutool-starter // интеграция hutool
      - lock // распределённая блокировка
      - standard-footer // стандартный фреймворк

Выбор технологий

Технологии серверной части

Технология Официальный сайт Примечание
Spring Framework http://projects.spring.io/spring-framework/ Контейнер
spring-boot-dependencies https://spring.io/projects/spring-boot/ Без объяснений
Apache Shiro http://shiro.apache.org/ Платформа безопасности
MyBatis http://www.mybatis.org/mybatis-3/zh/index.html ORM-фреймворк
MyBatisPlus https://mp.baomidou.com/ Расширенный ORM-фреймворк
Mybatis-plus-boot-starter https://mp.baomidou.com/ Расширенный ORM-фреймворк
Mybatis-Plus-Generator https://baomidou.gitee.io/mybatis-plus-doc/#/generate-code/ Расширенный ORM-генератор кода
HikariCP https://github.com/brettwooldridge/HikariCP/ Пул соединений с базой данных
ShardingSphere https://shardingsphere.apache.org/ Компонент сегментирования и разделения таблиц
Redis https://redis.io/ Распределённое хранилище кэша
commons-collections http://commons.apache.org/proper/commons-collections/ Набор инструментов для коллекций
Log4J http://logging.apache.org/log4j/1.2/ Компонент ведения журнала
FastJson https://mvnrepository.com/artifact/com.alibaba/fastjson/ Компонент сериализации и десериализации JSON
Lombok https://www.projectlombok.org/ Упрощение кода Java
Hutool http://hutool.mydoc.io/ Инструменты, соответствующие привычкам китайских пользователей
MapStruct http://mapstruct.org/ Компонент преобразования сущностей

Технологии интерфейса пользователя

Технология Официальный сайт Примечание
Vue https://cn.vuejs.org/ Фреймворк JavaScript, реализующий постепенное внедрение
Quasar http://www.quasarchs.com/quasar-cli/installation/#Introduction Фреймворк интерфейса пользователя на базе Vue
Echarts https://echarts.apache.org/zh/index.html/ Библиотека визуализации диаграмм на JavaScript
Lodashi https://www.lodashjs.com/ Коллекция инструментов JavaScript для согласованности, модульности и производительности

super.success(menuService.saveForBatch(menuDtos));
}

@RequestMapping(value = "update_by_id")
public Result updateById(@RequestBody MenuDTO menuDto) {
return super.success(menuService.updateById(menuDto));
}

@RequestMapping(value = "page")
public Result page(@RequestBody MenuQuery menuQuery) {
return super.success(menuService.page(menuQuery));
}

@RequestMapping(value = "find")
public Result find(@RequestBody MenuQuery menuQuery) {
return super.success(menuService.find(menuQuery));
}

@RequestMapping(value = "list")
public Result list(@RequestBody MenuQuery menuQuery) {
return super.success(menuService.list(menuQuery));
}


**Сервис, сгенерированный кодом:**

package com.quasar.sika.design.server.business.menu.service;
import com.quasar.sika.design.server.business.menu.pojo.dto.MenuDTO;
import com.sika.code.standard.base.service.BaseStandardService;
import java.util.List;
/**

  • 菜单权限表 服务类
  • @author daiqi
  • @since 2021-01-07 23:35:09
    */
    public interface MenuService extends BaseStandardService {

}


**ServiceImpl, сгенерированный кодом:**

package com.quasar.sika.design.server.business.menu.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.google.common.collect.Lists;
import com.quasar.sika.design.server.business.menu.convert.MenuConvert;
import com.quasar.sika.design.server.business.menu.entity.MenuEntity;
import com.quasar.sika.design.server.business.menu.mapper.MenuMapper;
import com.quasar.sika.design.server.business.menu.pojo.dto.MenuDTO;
import com.quasar.sika.design.server.business.menu.pojo.query.MenuQuery;
import com.quasar.sika.design.server.business.menu.service.MenuService;
import com.quasar.sika.design.server.business.rolemenu.service.RoleMenuService;
import com.sika.code.standard.base.convert.BaseConvert;
import com.sika.code.standard.base.service.impl.BaseStandardServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Set;
/**

  • 菜单权限表 服务实现类

  • @author daiqi

  • @since 2021-01-07 23:35:10
    */
    @Service(value = "menuService")
    public class MenuServiceImpl extends BaseStandardServiceImpl<MenuMapper, MenuEntity, MenuDTO> implements MenuService {
    @Autowired
    private MenuMapper menuMapper;

    @Override
    protected BaseConvert<MenuEntity, MenuDTO> convert() {
    return MenuConvert.INSTANCE;
    }
    }


**Mapper, сгенерированный кодом:**

package com.quasar.sika.design.server.business.menu.mapper;

import com.quasar.sika.design.server.business.menu.entity.MenuEntity;
import org.springframework.stereotype.Repository;
import com.sika.code.standard.base.basemapper.BaseStandardMapper;
/**

  • 菜单权限表 Mapper 接口
  • @author daiqi
  • @since 2021-01-07 23:35:08
    */
    @Repository
    public interface MenuMapper extends BaseStandardMapper {

}


column="target" property="target" />
<result column="menu_type" property="menuType" />
<result column="visible" property="visible" />
<result column="perms" property="perms" />
<result column="icon" property="icon" />
</resultMap>

<!-- 通用查询结果列 -->
<sql id="columnList">
id, create_by, update_by, create_date, update_date, version, available, is_deleted, remark, menu_name, parent_id, order_num, url, target, menu_type, visible, perms, icon
</sql>

<!-- 根据查询条件获取列表信息 -->
<select id="listByQuery" resultMap="ResultMap" parameterType="com.quasar.sika.design.server.business.menu.pojo.query.MenuQuery" >
SELECT <include refid="columnList" />
FROM sika_menu
<where>
is_deleted = 0
<include refid="query_sql" />
</where>
</select>

**Перевод текста на русский язык:**

Колонка = «target» свойство = «target».
Результат колонка = «menu_type» свойство = «menuType».
Результат колонка = «visible» свойство = «visible».
Результат колонка = «perms» свойство = «perms».
Результат колонка = «icon» свойство = «icon».

// Общий список столбцов результатов запросов
SQL ID = "columnList":
ID, create_by, update_by, create_date, update_date, версия, доступно, is_deleted, примечание, menu_name, родительский_ID, order_num, URL, цель, тип_меню, видно, разрешения, значок.

// Получение списка информации по запросу
SELECT ID, create_by, update_by, create_date, update_date, версия, доступно, is_deleted, примечание, menu_name, родительский_ID, order_num, URL, цель, тип_меню, видно, разрешения, значок
FROM sika_menu,
WHERE is_deleted = 0,
INCLUDE refid = "query_sql". ```
test="query.sortColumn == 'menuId'">
    id
</when>
<otherwise>
    id
</otherwise>

В этом фрагменте кода на языке программирования используется язык разметки, который не является языком программирования. Это язык Markdown.

<!-- 排序类型的sql -->
<sql id="order_by_type_sql">
    <choose>
        <when test="query.sortType == 'DESC'">
            DESC
        </when>
        <otherwise>
            ASC
        </otherwise>
    </choose>
</sql>

Этот фрагмент представляет собой код на языке XML.

package com.quasar.sika.design.server.common.auth.context;
import com.quasar.sika.design.server.common.auth.executor.AuthRegisterRequestExecutor;
import com.quasar.sika.design.server.common.auth.pojo.request.AuthRegisterRequest;
import com.quasar.sika.design.server.common.captcha.pojo.request.CaptchaCheckRequest;
import com.quasar.sika.design.server.common.mail.context.CheckMailCodeContext;
import com.quasar.sika.design.server.common.mail.pojo.request.CheckMailRequest;
import com.quasar.sika.design.server.common.shiro.util.SHA256Util;
import com.sika.code.standard.base.pojo.context.BaseStandardContext;
import com.sika.code.standard.base.pojo.executor.BaseStandardExecutor;

@Data
@Accessors(chain = true)
public class AuthRegisterContext extends BaseStandardContext {
    private AuthRegisterRequest registerRequest;
    private CheckMailRequest checkMailRequest;
    protected CaptchaCheckRequest captchaCheckRequest;
    private CheckMailCodeContext checkMailCodeContext;
    private Boolean bindOauthUser;

    @Override
    public void initCustomer() {
        checkMailCodeContext = new CheckMailCodeContext().setRequest(checkMailRequest);
        registerRequest.setPassword(SHA256Util.sha256(registerRequest));
    }

    @Override
    protected Class<? extends BaseStandardExecutor> buildExecutorClass() {
        return AuthRegisterRequestExecutor.class;
    }
}

Это похоже на фрагмент кода на языке Java.

package com.quasar.sika.design.server.common.auth.executor;

import cn.hutool.core.util.BooleanUtil;
import com.quasar.sika.design.server.common.auth.context.AuthRegisterContext;
import com.quasar.sika.design.server.common.auth.domain.AuthDomain;
import com.quasar.sika.design.server.common.auth.pojo.request.AuthLoginRequest;
import com.quasar.sika.design.server.common.auth.pojo.request.AuthRegisterRequest;
import com.quasar.sika.design.server.common.auth.pojo.response.AuthResponse;
import com.sika.code.basic.pojo.dto.ServiceResult;
import com.sika.code.exception.BusinessException;
import lombok.Data;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
public class AuthRegisterRequestExecutor extends BaseStandardExecutor<AuthRegisterContext> implements AuthDomain {
    @Override
    protected void executeBefore() {
        verify();
    }

    protected void verify() {
        // 图片验证码校验
        captchaService().checkCaptchaVerifyCode(context.getCaptchaCheckRequest());
        // 邮箱验证码校验
        executorManager().execute(context.getCheckMailCodeContext());
        // 校验用户名
        AuthRegisterRequest registerRequest = context.getRegisterRequest();
        authService().checkRegisterUsername(registerRequest);
        // 校验邮箱
        authService().checkRegisterEmail(registerRequest);
        // 校验手机号
        authService().checkRegisterPhone(registerRequest);
    }

    @Override
    protected ServiceResult doExecute() {
        AuthRegisterRequest registerRequest = context.getRegisterRequest();
        boolean saveSuccess = userService().save(registerRequest);
        if (BooleanUtil.isFalse(saveSuccess)) {
            throw new BusinessException("保存失败,请校验注册参数");
        }
        return ServiceResult.newInstanceOfSucResult(AuthResponse.success(registerRequest));
    }

    @Override
    protected void executeAfter() {
        // 自动登录
        AuthRegisterRequest registerRequest = context.getRegisterRequest();
}

Это также похоже на фрагмент кода на языке Java.

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

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

Введение

Описание недоступно Развернуть Свернуть
Java и 6 других языков
MIT
Отмена

Обновления

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

Участники

все

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

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/sikadai-quasar-sika-design-admin.git
git@api.gitlife.ru:oschina-mirror/sikadai-quasar-sika-design-admin.git
oschina-mirror
sikadai-quasar-sika-design-admin
sikadai-quasar-sika-design-admin
main