Coder Social home page Coder Social logo

xiaoai7904 / web_designer Goto Github PK

View Code? Open in Web Editor NEW
601.0 32.0 167.0 29.83 MB

网页设计器图形化工具,通过拖拽组件进行页面排版和生成页面代码

Home Page: https://xiaoai7904.github.io/web_designer

License: MIT License

JavaScript 70.78% HTML 0.20% Vue 28.16% CSS 0.43% Batchfile 0.01% Shell 0.02% SCSS 0.40%
vue designer element-ui drag-and-drop vue-components vue-router vue-cli js

web_designer's Introduction

Web Designer

在线预览

项目部分截图

  • 页面设计区
  • 页面预览
  • 图表样式设置可视化配置
  • 图表样式设置代码编辑
  • 组件事件配置
  • 组件联动事件配置

简介:

  • 项目使用了Vue进行开发
  • 网页设计器图形化工具,目前内置ElementUi组件库
  • 一键生成网页代码,支持进行二次开发
  • 通过拖拽左侧组件图标,放置中间画布区,进行页面排版,设计区右侧面板可以对组件属性进行设置
  • 点击右侧顶部保存按钮(数据保存在本地浏览器localStorage)可以进行数据保存
  • 点击右侧顶部预览按钮,可以对页面布局进行预览
  • 点击右侧顶部发布按钮,会调用设计器后台服务进行页面生成和代码生成,生成完成之后会在项目根目录生成runtime/vue_cli_3.x-master文件夹,里面的代码可以进行二次开发(基于 vue cli 3.x 版本)
  • 默认发布完成之后,会打开命令行工具进行项目初始化(npm install)和打开项目(npm run serve)

项目运行

// 启用设计器
npm install
// 启用设计器后台服务(至少node 8.x),用于发布模版和生成模版代码
cd server/
npm install
npm run dev

项目目录结构

│
├── README.md                           <=  项目介绍
├── src                                 <=  项目主目录
│   ├── assets                          <=  静态资源
│   ├── components                      <=  公共组件
│   │   ├── codeEditor                  <=  代码编辑组件
│   │   ├── componentsList              <=  左侧组件列表组件
│   │   ├── designerContent             <=  中间设计区
│   │   ├── draggableResizable          <=  组件拖拽组件
│   │   ├── itemList                    <=  组件属性配置组件(参考下拉菜单,单选框,复现框属性配置)
│   │   ├── pageAutoView                <=  页面自适应组件
│   │   ├── pageCanvas                  <=  中间设计区
│   │   ├── pageDialogView              <=  系统弹窗代理组件
│   │   ├── pageFormView                <=  系统表单组合组件
│   │   ├── pageIconsView               <=  系统icon图标组件
│   │   ├── pageSwitch                  <=  系统开关组件
│   │   ├── styleSetting                <=  图表样式设置组件
│   │   ├── index.js                    <=  公共组件入口文件
│   ├── directive                       <=  系统内置指令
│   │   ├── dragDialog                  <=  拖拽弹窗
│   │   ├── index.js                    <=  指令入口文件
│   ├── modules                         <=  系统模块
│   │   ├── configuration               <=  组件配置
│   │   ├── echartBase                  <=  图表基类
│   │   ├── http                        <=  请求模块
│   │   ├── observer                    <=  事件监听模块
│   │   ├── page                        <=  页面基类
│   │   ├── pageEventManage             <=  页面事件处理模块
│   │   ├── plugins                     <=  组件基类
│   │   ├── systemLoader                <=  系统加载器
│   │   ├── utils                       <=  工具类
│   │   ├── vuePropertyDecorator        <=  vue属性装饰器
│   ├── plguins                         <=  系统内置组件
│   ├── rumtimeComponents               <=  运行态组件
│   ├── styles                          <=  系统样式
│   ├── views                           <=  页面
│   │   ├── designerPage                <=  设计器页面
│   │   ├── preview                     <=  预览页面
│   ├── App.vue                         <=  页面组件文件
│   ├── main.js                         <=  系统主入口文件
│   ├── router.js                       <=  路由配置文件
│   ├── store.js                        <=  数据管理
├── server                              <=  服务器主目录(详细参考 https://eggjs.org/zh-cn/)
├── publilc                             <=  项目静态文件目录
│   ├── index.html                      <=  项目主页面入口
│   ├── favicon.ico                     <=  浏览器页签logo
├── vue.config.js                       <=  vue打包,启动等配置(详细参数 https://cli.vuejs.org/zh/config/)
├── package.js                          <=  项目跟踪依赖关系和元数据配置文件
│

文档

后期版本规划

  • H5 页面生成器
  • 项目优化
  • ...

更新日志

  • 2019-03-25 项目初始化
  • 2019-04-20 新增拖拽组件进行排版,修改页面,组件属性
  • 2019-04-23 新增排版辅助线和预览功能
  • 2019-04-24 新增 inputNumber,radio 组件
  • 2019-05-15 新增 icon 图标选择器,画布区支持复制(Ctrl + c),粘贴(Ctrl + v)
  • 2019-11-20 新增按钮,链接,日期,时间,评分,警告,面包屑,日历,复选框,折叠,颜色选择器,进度条,下拉菜单,滑块,Tag
  • 2019-11-28 新增表格,树形控件,菜单组件和 json 编辑器(基于 monaco-editor)
  • 2019-12-14 新增一键生成页面和代码(基于Vue cli 3.x)
  • 2020-03-11 新增容器组件和图表组件,图表组件样式支持可视化配置
  • 2020-07-26 新增组件事件配置和联动事件配置
  • 2020-10-13 运行态支持事件配置功能

web_designer's People

Contributors

xiaoai7904 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

web_designer's Issues

代码生成

请问下代码怎么生成的呀?项目里没有看到呢

大佬

大佬自适应布局和容器组件 拖拽完后 宽度 还是平铺整个屏幕。没办法布局

布局问题

1,自由布局 其他组件无法拖拽到容器组件里
2,定位布局 使用容器组件后 把组件拖入到容器组件后 不管怎么拖拽改变宽度 预览和生成模板都会宽度失效会独占一行
3,设置宽度 和 高度目前只能用px 能变换单位就好了
4,楼主如果觉得方便的话 我可以参与一起开发更新这个布局器

issues

I'm sorry to bother you, I want to ask you som questions. When I release a model ,it will delete the old folder, and back-up seems don't work, I want to ask some resolvtion to solve this question. Thank you very much.

404 Not Found

请问npm run dev之后
是通过127.0.0.1:7001进入吗,显示404 Not Found

组件

组件数量比较少,界面布局比较少

提一个建议

您的这个web设计,功能很强大,就是外观不太美观

本地部署,发布成功后,按照命令进行安装npm install,然后进行运行npm run serve就报如下错误,大神可有高招?

This relative module was not found:

  • ../pluginsMixins in ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/plugins/calendar/calendar.vue?vue&type=script&lang=js&, ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/plugins/table/table.vue?vue&type=script&lang=js&

您好,选中拖拽到画布上的其中的某几个控件,点击右键可以保存成一个新的综合组件,下次我可以直接拖拽这个新生成的自定义的组合控件,直接生成想要的,不用一步一步的去重新拽组合了,配置属性的话可以对这个整体进行配置,这个是一个扩展功能。最近有这方面的需求,不知道您有什么比较好的思路提供么?

 您好,选中拖拽到画布上的其中的某几个控件,点击右键可以保存成一个新的综合组件,下次我可以直接拖拽这个新生成的自定义的组合控件,直接生成想要的,不用一步一步的去重新拽组合了,配置属性的话可以对这个整体进行配置,这个是一个扩展功能。最近有这方面的需求,不知道您有什么比较好的思路提供么?万分感谢,期待您的回答。

这个发布是什么功能

我本地启动部署点击发布,然后进入runtime里面,运行,不是还是原来一样的界面吗

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.