🚀🚀🚀Vue3,Vue3.0,Vue,Vue3.x,Vuex,Typescript,TSX,ts,vue后台管理,admin,vue-admin,vue3-admin,vue-element-admin,iooc-admin,iooc-vue-admin主线版本基于element-plus、Typescript开发维护.集成CRUD,JsonSchema、大量节省业务代码.

Overview

iooc-admin(element-plus)

演示地址(数据库五分钟重置一次)

项目地址

iooc-admin 前端讨论 QQ 群 741396149

感谢您的支持和信任,群内提供 iooc-admin 项目开发文档

使用说明

- node版本 > v8.6.0

# 克隆项目
git clone https://github.com/MyJacking/iooc-admin.git
# 进入项目目录
cd iooc-admin
# 安装依赖
yarn
# 本地开发 启动项目
yarn dev

鸣谢

Project
vue
element-ui
element-plus
axios
java-for-linux

特性

IOOC-ADMIN 是一个用于快速开发后台的框架,我们可以用它来开发后台管理、后台权限管理、后台api接口等系统的开发,开发人员只需关心核心业务功能开发。

1. 支持前端控制路由,接口权限
2. 极速编码:单表增删改查、分页、模糊查询等只需少量配置即可完成接口编码和页面展示
3. 高性能:支持方法级注解式缓存
4. axios 高精度封装、支持多种传参方式、文件上传默认采用阿里云OSS

目录结构

iooc-admin/src
    ├── main.js (主要文件)
    ├── Home.vue (首页)
    ├── App.tsx (页面入口文件)
    ├── assets (资源文件)
    ├── api (接口文件 备用)
    ├── components (业务组件)
    ├── config (全局配置)
    ├── admin (核心文件)
    ├── icons (字体、图标库)
    │   ├── svg (存放svg文件,对应icon-svg组件使用)
    │   └── index.ts 配置入口
    ├── pages (基础页面)
    │   ├── layout (整体布局)
    │   │   ├── process (任务栏)
    │   │   ├── slider (侧边)
    │   │   ├── topbar (顶部)
    │   │   └── index.tsx
    │   ├── iframe (外链)
    │   ├── 403
    │   ├── 404
    │   ├── 500
    │   ├── 503
    │   ├── Login (登录)
    │   ├── my
    │       └── info(个人信息)
    ├── views (视图页面)
    │   ├── system (系统管理页面)
    │   └── ... 
    ├── router (路由)
    │   ├── routes (公共路由)
    │   └── index.js 路由业务事件处理
    ├── service (请求服务接口)
    │   ├── system (系统管理接口)
    │   ├── common (通用接口)
    │   ├── ... 
    │   └── request.js (请求处理)
    ├── store (本地存储)
    └── utils (工具)

请求地址

baseUrl: string

代理请求

访问地址添加参数 proxy,可替换请求代理,方便前后端各自调试。示例:

http://localhost:8889?proxy=dev 本地环境

http://localhost:8889?proxy=pro 线上环境

应用配置 (Store/app)

是否显示一级菜单栏

showAMenu: boolean

是否显示路由导航栏

showRouteNav: boolean

是否显示页面进程栏

showProcess: boolean

上传配置 upload

上传的地址

action: ""

上传的文件类型

accept: ""

上传的文件字段名

name: "file"

尺寸

size: "128px"

显示图标

icon: "el-icon-upload"

显示文案

text: "选择文件"

service

服务层负责处理发起的请求, 并返回对服务端的响应。程序自动加载 service 下所有的模块。

创建一个简单的用户服务类。

// @/service/system/user.js

import { BaseService, Service, Permission } from "@/admin";

@Service("sys/user")
export default extends BaseService {
    @Permission('start')
	start(data) {
		return this.request({
			url: '/start',
			method: 'POST',
			data
		});
	}
}
  • 这是一个基于 BaseService 的基本类,默认包含 page, add, update, delete, info, list 基本请求方式。
  • @Service 处理请求地址 ${baseUrl}/crm/user/${url}
  • @Permission 给接口添加权限。每一个 service 都有对应的 permission 对象,这是一个可控制接口权限的集合。
// 获取所有列表
list(params) {
    return this.apiAxios({
        url: '/list',
        params: {
            ...params
        }
    });
}

// 以分页类型获取对应列表
page(params) {
    return this.apiAxios({
        url: '/page',
        params: {
            ...params
        }
    });
}

// 获取选中的信息
info(params) {
    return this.apiAxios({
        url: '/info',
        params: {
            ...params
        }
    });
}

// 更新选中的信息
update(params) {
    return this.apiAxios({
        url: '/update',
        method: 'POST',
        data: {
            ...params
        }
    });
}

// 删除选择的数据,默认使用 ids: string
delete(params) {
    return this.apiAxios({
        url: '/delete',
        method: 'POST',
        data: {
            ...params
        }
    });
}

// 添加新数据
add(params) {
    return this.apiAxios({
        url: '/add',
        method: 'POST',
        data: {
            ...params
        }
    });
}

use

如果文件名是 index,则绑定在上一级目录下,否则绑定为当前文件名。如:

  1. service/common/index.js
export default class extends BaseService {
	userLogin(params) {
		return this.apiAxios({
			url: "/comm/login",
			method: "POST",
			data: {
				...params
			}
		});
	}
}

// 使用

this.$service.common.userLogin({ account: "admin", password: "123456" });
  1. service/system/user.js
export default class extends BaseService {
	move(data) {
		return this.apiAxios({
			url: "/move",
			method: "POST",
			data
		});
	}
}

// 使用
this.$service.system.user.move();

proxy

可针对不同 service 层配置不同代理,示例:

// /src/service/test/index.js
import { BaseService, Service } from "@/admin/index";

@Service({
    namespace: "sys/task",
    proxy: '/order'
})
export default extends BaseService {}

// vue.config.js
proxy: {
    '/order': {
        target: 'https://order.iooc-admin.com',

        changeOrigin: true,
        pathRewrite: { '^/order': '/' }
    }
}

--ignore & request

  • 忽略 文件 或 目录 的引入,如 /service/business/analy--fix.js
  • 详细看文件@/service/request.js,根据需求处理返回结果

权限控制

v-permission

参数 类型 说明
or 数组 用于检测数组中的元素是否满足指定条件
and 数组 用于检测数组中的元素是否全部满足指定条件

前面说到每个service都有对应的permission权限对象,如需控制权限对应的标签,可使用:

<el-button
	v-permission="{
    or: [$service.user.permission.add]
}"
	>新增el-button
>

crud相关文档群内查看

商用注意事项

  • 如果您将此项目用于商业用途,请遵守Apache2.0协议并保留作者技术支持声明。

最后感谢您使用 IOOC-ADMIN

You might also like...
🚀A new generation Cross-desktop framework using electron13+vue3(setup-script)+vite2+element-plus
🚀A new generation Cross-desktop framework using electron13+vue3(setup-script)+vite2+element-plus

vue3-admin-electron English | 中文 This is a basic vue3 admin electron desktop platform. Contains the most basic electron development and construction s

A set of background integration scheme based on vue3, element plus, typesscript4 and vite2
A set of background integration scheme based on vue3, element plus, typesscript4 and vite2

vue-element-plus-admin English | 中文 Introduction vue-element-plus-admin is a free and open source middle and background template based on element-plus

A project template by vue3 and element-plus
A project template by vue3 and element-plus

A project template by vue3 and element-plus

Out-of-box solution to create enterprise applications, implemented with Vue3 + Element Plus

Out-of-box solution to create enterprise applications, implemented with Vue3 + Element Plus

基于Vue3 + Element Plus 的后台管理系统解决方案
基于Vue3 + Element Plus 的后台管理系统解决方案

基于Vue3 + Element Plus 的后台管理系统解决方案

采用Vue3 + Element Plus 搭建的后台管理系统解决方案,基于vue-manage-system开源系统升级改造而成,企业级定制,注释清晰,快速上手,开箱即用。
采用Vue3 + Element Plus 搭建的后台管理系统解决方案,基于vue-manage-system开源系统升级改造而成,企业级定制,注释清晰,快速上手,开箱即用。

vue-manage-system-plus 采用Vue3 + Element Plus 搭建的后台管理系统解决方案,基于vue-manage-system开源系统升级改造而成,企业级定制,注释清晰,快速上手,开箱即用。线上地址 前言 由于之前企业改用其他技术方案,所以已经好长一段时间没接触vue了

基于Vue3 + Element Plus + Vite2 构建的后台模板
基于Vue3 + Element Plus + Vite2 构建的后台模板

Mojito Admin Mojito Admin 是一个基于 Vue3、 Element Plus、Vite 构建的后台管理系统模板,开箱即用,无过度封装,也可以用于学习参考。 预览 Demo 文档地址 文档 截图 特性 使用最新的Vue3、Vite2、Element Plus 等前端新技术开发

MDAdmin of element-plus
MDAdmin of element-plus

Mocking up web app with MDAdmin(speed) Live Demo English | 简体中文 Features ⚡️ Vue 3, Vite 2, pnpm, ESBuild - born with fastness 🗂 File based routing 📦

🎉 [WIP] Element Plus Interactive Docs
🎉 [WIP] Element Plus Interactive Docs

🎉 Element Plus Interactive Docs 🏗 Working in Progress 💻 Development Clone this repository Enable Corepack using corepack enable (use npm i -g core

Owner
Jacking
Jacking
🎉 基于 vite 2.0 + vue 3.0 + vue-router 4.0 + vuex 4.0 + element-plus + typescript 的后台管理系统vue3-element-admin-ts

vue3-element-admin-ts ?? 基于 Vite 2.0 + Vue 3.0 + Vue-Router 4.0 + Vuex 4.0 + element-plus + typescript 的后台管理系统 简介 vue3-element-admin 是一个后台前端解决方案,它基于 v

雪月欧巴 92 Nov 16, 2022
🎉 基于 vite 2.0 + vue 3.0 + vue-router 4.0 + vuex 4.0 + element-plus 的后台管理系统vue3-element-admin

vue3-element-admin ?? 基于 Vite 2.0 + Vue3.0 + Vue-Router 4.0 + Vuex 4.0 + element-plus 的后台管理系统 简介 vue3-element-admin 是一个后台前端解决方案,它基于 vue3 和 element-plu

雪月欧巴 84 Nov 28, 2022
🎉 A new generation vue3 admin template using vue3(script-setup) + vite2 + element-plus + typescript

vue3-admin-ts English | 中文 A basic vue3 admin template with vite2 & Element-Plus UI & axios & svg-icon& permission control & lint A new generation adm

kuanghua 194 Dec 15, 2022
🎉 A new generation vue3 admin template using vue3(script-setup) + vite2 + element-plus

?? A new generation vue3 admin template using vue3(script-setup) + vite2 + element-plus

kuanghua 228 Dec 30, 2022
👏A magical vue3 admin using vue3(script-setup) + vite2 + element-plus

vue3-admin-plus English | 中文 vue3 admin plus provides enterprise-level development demo A new generation admin construct using vue3(setup-script)+vite

kuanghua 625 Jan 7, 2023
Laravel Vue Admin is a beautiful dashboard combination of Laravel, Vue3 and the UI Toolkit Element Plus.

Laravel Vue Admin Laravel Vue Admin is a beautiful dashboard combination of Laravel, Vue3 and the UI Toolkit Element Plus. Getting started Installing

null 6 Dec 5, 2022
element-plus and vue3 admin box.

vue-admin-box是一个免费并且开源的中后台管理系统模板

cmdparkour 1.1k Jan 1, 2023
Brisk-Admin 是一个基于 Vue3.0、Vite、 element-plus、JavaScript的中后台解决方案,它使用了最新的前端技术栈,并提炼了典型的业务页面,包括二次封装组件、动态路由菜单、国际化、动态换肤等功能,它可以帮助你快速搭建中后台项目,该项目使用最新的前端技术栈,使用javascript语法保留了对不熟悉typescript语法用户的友好,同时框架很适合轻松上手使用,希望给你带来帮助。

简介 Brisk-Admin 是一个基于 Vue3.0、Vite、 element-plus、JavaScript的中后台解决方案,它使用了最新的前端技术栈,并提炼了典型的业务页面,包括二次封装组件、动态路由菜单、国际化、动态换肤等功能,它可以帮助你快速搭建中后台项目,该项目使用最新的前端技术栈,使

yunmiao 22 Nov 21, 2022
vue3.0 + vite2.0 + element-plus + Vuex4.0 + Vue-router4.0 + axios + node-server(前后端分离)

Explain Vite2.0, Vue3.0, ElementPlus, Vuex4.0, Vue-router4.0, Axios Development Explain 路由,api,vuex,模块所用图片 请根据模块进行划分,添加方式请参考当前目录结构 Project setup npm

hell 18 Sep 28, 2022
vue3.0 + vite2.0 + element-plus + Vuex4.0 + Vue-router4.0 + axios + node-server(前后端分离)

Explain Vite2.0, Vue3.0, ElementPlus, Vuex4.0, Vue-router4.0, Axios Development Explain 路由,api,vuex,模块所用图片 请根据模块进行划分,添加方式请参考当前目录结构 Project setup npm

hell 18 Sep 28, 2022