8

GitHub - nmxiaowei/avue

 6 years ago
source link: https://github.com/nmxiaowei/avue
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

README.md

avue1.0发布了!!!欢迎点击演示地址体验

简体中文 欢迎加入QQ交流群,互相学习 前端avue交流群:606410437 后台微服务群:23754102

演示地址:http://122.4.205.228:7777——jenkins+docker+git钩子自动部署

码云地址:https://gitee.com/smallweigit/avue

github地址:https://github.com/nmxiaowei/avue

简介

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.打包后docker一键部署脚本基于nginx镜像(具体的可以修改./src/docker/Dockerfile)

支持路由改变单例页面title

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f7469746c652e676966

权限动态切换

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f726f6c652e676966

实例

687474703a2f2f6f65747277786e68762e626b742e636c6f7564646e2e636f6d2f666f726d2e676966

登录

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d6c6f67696e2e706e67

权限测试页面

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d726f6c65732d746573742e706e67

数据展示

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d6461746173686f772e706e67

错误页面

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d657272706167652e706e67

错误日志记录

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d6572726c6f672e706e67

CRUD

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d637275642e706e67 68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d67726164652e706e67

FORM

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d666f726d2e706e67

用户管理

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d757365722e706e67

角色管理

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d726f6c652e706e67

菜单设置

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d6d656e752e706e67

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

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d616c692e706e67

登录页面SSR渲染

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f6c6f67696e2d7373722e706e67

主页

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d696e6465782e706e67

第三方网站

68747470733a2f2f67697465652e636f6d2f736d616c6c7765696769742f617675652f7261772f6d61737465722f7374617469632f63646e2f696d616765732f617675652d696672616d652e706e67

功能

- 全局错误日志记录
- 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实例实例

子定义操作按钮<br />
<template slot-scope="scope">
    <el-button icon="el-icon-check" size="small" @click="handleGrade(scope.row,scope.$index)">权限</el-button>
</template>
js自动配置crud<br />
{
  border: true,//表格是否显示边框
  index: true,///表格是否显示序号
  selection: true,//表格是否显示可选select
  dic:['GRADE','SEX'],//传入需要获取字典的变量,看vuex中的getDic方法
  column: [
    {
      label: "用户名",//表格的标题
      prop: "username",//表格的key
      width: "150",//表格的宽度
      fixed: true,//是否冻结列
      hide:true,//是否隐藏
      span:12,//表单格栅显示的列
      type:'select', //select | radio | checkbox | date 默认为text
      visdiplay:true,//表单不显示
      overHidden: true,//超出省略号显示
      dicData: 'GRADE', //传入需要引用的字典
      ],//type的数据字典,当type为:select | radio | checkbox 加载
      dataDetail: val => {
        return `<span class="el-tag">${val}</span>`;;//是否对列表数据处理
      },
      rules: [{ required: true, message: "请输入用户名", trigger: "blur" }] //表单校验规则
    }
}

开发

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

# 安装依赖
npm install
   
# 建议不要用cnpm安装 会有各种诡异的bug 可以通过如下操作解决 npm 下载速度慢的问题
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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK