1 Star 0 Fork 1.6K

太吉 / Avue

forked from smallwei / Avue 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

avue1.2.1发布

欢迎加入QQ交流群,互相学习
前端avue交流群:606410437
后台微服务群:23754102
服务端解决方案:https://gitee.com/log4j/pig

技术文档

源码地址

更新日志

在线demo

使用方式

1.html引入

axios、vue、element-ui相关依赖也要引入
[avue-cdn:](https://gitee.com/smallweigit/avue/raw/master/lib/avue.js)
<script src="https://cdn.bootcss.com/axios/0.18.0/axios.js"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/element-ui/2.3.4/index.js"></script>
<script type="text/javascript" src="https://gitee.com/smallweigit/avue/raw/master/lib/avue.js"></script>

2.npm引入

npm install avue-cli

import Avue form 'avue-cli/packages/index.js';

简介

avue 是一个类似easyui那种去写vue的方案支持SSR(服务端渲染)和SPA(单例页面),全部基于json可配置化去开发界面,节约开发成本和提高开发效率,基本构成由 Vue.jselement。它使用了最新的前端技术栈,权限验证,第三方网站嵌套等功能,很多功能还在开发,敬请期待

1.vuex本地持久化存储,封装h5的sessionStorage和localStorage

2.加入了本地离线的包引入方法去引入vue,vue-router等第三方包 详细介绍

3.支持SSR服务端渲染(express)vue-server-renderer

4.支持阿里巴巴图标库在线调用,自动同步图标 阿里巴巴图标库

5.支持iframe嵌套第三方网站详细介绍

6.支持js动态可配CRUD和FORM,节约大量开发成本,配置字典接口自动匹配字典

7.支持多种登录方式,本地验证码校验和服务端验证码校验

8.全局错误日志记录

9.scss模块化开发

10.crud组件快速生成器

11.增加系统管理模板(用户管理,角色管理,菜单管理——基于本框架的crud组件自动生成)

12.打包后docker一键部署脚本基于nginx镜像(具体的可以修改./src/docker/Dockerfile)

13.支持路由改变单例页面title

14.crud组件快速生成器

页面展示

主题色

登录

权限测试页面

数据展示

错误页面

错误日志记录

CRUD

FORM

用户管理

角色管理

菜单设置

阿里巴巴图标库(在线调用)

登录页面SSR渲染

主页

第三方网站

功能结构

- 全局错误日志记录
- vuex持久化存储
- 主题色切换
- 锁屏
- SSR渲染页面
- 数据展示
- 登录/注销
 - 用户名登录
 - 验证码登录
 - 第三方登录(开发中)
- 权限验证
- 第三方网站嵌套
- CRUD(增删改查)
- FORM(动态生成)
- 阿里巴巴图标库(在线调用)
- 系统管理
 - 用户管理
 - 角色管理
 - 菜单管理
- 高级路由
 - 动态路由
 - 参数路由
- 更多功能开在开发
按钮的显隐控制

返回的vuex对象中额permission数组包括按钮的权限 例如: ['sys_crud_add', 'sys_crud_export'], crud的增加按钮和导出按钮

全局错误日志记录

放开./src/page/errlog/index.vue中的errorA的组件即可测试他是存储在本地,可以自己回掉方法上传服务器,调用CLEAR_ALL_ERR方法清空本地

vuex持久化存demo请看

详细demo请看./src/store/modules/tgs.js实例

...
state:{
  ...
  tag: getStore({ name: 'tag' }) || tagObj
},
...
 mutations: {
  ...
  setStore({ name: 'tagList', content: state.tagList, type: 'session' })
  ...
 }
数据加密工具类——在./src/util/util.js中encryption

支持Base64和Aes加密

const data ={
  username:'admin',
  password:'123456'
}
const userInfo = encryption({
    data: data,//加密的数据
    key:'123',//aes加密时的类型,不是aes加密不用传
    type: 'Base64',//要加密的类型 Base64 || Aes
    param: ['useranme', 'password'] //要加密的字段
});
CRUD和FORM使用说明————根据配置json文件自动生成CRUD和FORM,并且配置字典接口,自动匹配字典

详细demo请看./src/page/table/index.vue和./src/page/form/index.vue实例实例


支持vue的solt卡槽分发添加dom内容<br />
<template slot-scope="scope" slot="username">
  <el-tag>{{scope.row.username}}</el-tag>
</template>
<template slot-scope="scope" slot="menu">
  <el-button icon="el-icon-check" size="small" @click="handleGrade(scope.row,scope.$index)">权限</el-button>
</template>
slot的名字为字段的名字,当为menu时为菜单添加dom内容<br />
js自动配置crud<br />
{
  border: true,//表格是否显示边框 default:false
  index: true,///表格是否显示序号 default:false
  selection: true,//表格是否显示可选select default:false
  menu:true,//表格是否显示操作栏, default:true
  menuWidth:250,//操作菜单的宽度
  editBtn:false,//是否显示编辑按钮 default:true
  delBtn:false,//是否显示删除按钮 default:true
  page:false,//是否显示分页 default:true
  height:'500'//表格的高度 default:auto
  dic:['GRADE','SEX'],//传入需要获取字典的变量,看vuex中的getDic方法
  column: [
    {
      label: "用户名",//表格的标题
      prop: "username",//表格的key
      width: "150",//表格的宽度
      fixed: true,//是否冻结列
      hide:true,//是否隐藏
      span:12,//表单格栅显示的列
      type:'select', //select | radio | checkbox | date defaulttext
      visdiplay:true,//表单不显示
      solt:true,//支持自定义dom default:false,
      overHidden: true,//超出省略号显示
      dicData: 'GRADE', //传入需要引用的字典
      ],//type的数据字典,当type为:select | radio | checkbox 加载
      dataDetail: row => {
        return row.username+user.name;//是否对列表数据处理
      },
      rules: [{ required: true, message: "请输入用户名", trigger: "blur" }] //表单校验规则
    }
}

开发

# 克隆项目
git clone https://gitee.com/smallweigit/avue.git

# 进入项目
cd avue

# 安装依赖
npm install --registry=https://registry.npm.taobao.org

# 启动服务
npm run dev

调试与发布

# 构建测试环境
npm run dev

# 构建生成环境
npm run build

# 构建SSR渲染页面
npm run start

其它

# 代码检测
npm run lint

# 单元测试
npm run karma

# 构建SSR客户端代码
npm run build:client

# 构建SSR服务端端代码
npm run build:server

License

MIT

Copyright (c) 2017-present Smallwei QQ:1634566606

The MIT License (MIT) Copyright (c) 2018 Smallwei小伟 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Avue 是基于JSON驱动UI的思想,实现后台快速集成解决方案(curd和form快速开发组件),它基于 Vue全家桶 和 element-ui,使用了最新的前端技术栈,支持权限验证,第三方网站嵌套等功能。 展开 收起
JavaScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/fenglangyj/avue.git
git@gitee.com:fenglangyj/avue.git
fenglangyj
avue
Avue
master

搜索帮助

14c37bed 8189591 565d56ea 8189591