H5-Dooring是一款功能强大,开源免费的H5可视化页面配置解决方案,致力于提供一套简单方便、专业可靠、无限可能的H5落地页最佳实践。技术栈以react为主, 后台采用nodejs开发。
🏠 Homepage
✨ Demo
👤 徐小夕
- Website: http://io.nainor.com/h5_visible
- Github: @MrXujiang
- 为H5-Dooring贡献一份你的支持:投票入口
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a ⭐️ if this project helped you!
- React 前端主流框架(react,vue,angular)之一,更适合开发灵活度高且复杂的应用
- dva 主流的react应用状态管理工具,基于redux
- less css预编译语言,轻松编写结构化分明的css
- umi 基于react的前端集成解决方案
- antd 地球人都知道的react组件库
- axios 强大的前端请求库
- react-dnd 基于react的拖拽组件解决方案,具有优秀的设计哲学
- qrcode.react 基于react的二维码生成插件
- zarm 基于react的移动端ui库,轻松实现美观的H5应用
- koa 基于nodejs的上一代开发框架,轻松实现基于nodejs的后端开发
- @koa/router 基于koa2的服务端路由中间件
- ramda 优秀的函数式js工具库
预览功能这块比较简单, 我们只需要将用户生成的json数据丢进H5渲染器中即可, 这里我们需要做一个渲染页面单独用来预览组件. 先来看看几个预览效果:
前面的渲染器原理已经介绍了, 这里就不一一介绍了,感兴趣的可以交流讨论.
在线下载这块我们需要用到一个开源库: file-saver, 专门解决前端下载文件困难的窘境. 具体使用举例:
var FileSaver = require('file-saver');
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");
以上代码可以实现将传入的数据下载为txt文件, 如果是Blob, 是不是还能在线下载图片, html呢? 答案是肯定的, 所以我们的下载任务采用该方案来实现.
后端部分由于涉及的知识点比较多, 不是本文考虑的重点, 所以这里大致提几个点, 大家可以用完全不同的技术来实现后台服务, 比如说PHP, Java, Python或者Egg. 笔者这里采用的是koa. 主要实现功能如下:
- 保存模板
- 真机原理的数据源存储
- 用户相关功能
- H5图床和静态文件托管
具体代码可以参考笔者的另一篇全栈开发文章
模式基本一致.
- H5可视化编辑器(H5 Dooring)介绍
- Form Editor(动态表单设计器)
- 基于f2实现移动端可视化编辑器(dooring升级版)
- 实现H5可视化编辑器的实时预览和真机扫码预览功能
- 基于H5 Dooring场景下的图片 文件上传方案指南
- 组件库拖拽和显示
- 组件库动态编辑
- H5页面预览功能
- 保存H5页面配置文件
- 保存为模版
- 移动端跨端适配
- 媒体组件
- 在线下载网站代码功能
- 添加typescript支持
- 表单设计器/自定义表单组件
- 可视化组件Chart实现
- 在线编程模块(Mini Web IDE)
- 新增图表组件 面积图,折线图, 饼图
- 添加图片库,支持用户在线选择图片素材 15.升级图片组件为图文组件
- 添加模版库
- 添加可视化组件(基于g2)如折线图, 饼图, 面积图等
- form组件文本框字段修改
- 清空按钮添加确认框
- 表单组件中添加展示型文本,用来对字段说明
- 丰富组件库组件
- 添加配置交互功能
- 组件细分和代码优化
- 单元测试
- 下载代码
git clone https://github.com/MrXujiang/h5-Dooring.git
- 进入项目目录
cd ./h5-Dooring
- 安装依赖包
yarn install
or
cnpm install
启动应用
yarn start
or
cnpm run start
- 添加在线编程模块(在执行代码前先启动node服务 npm run server)
- 添加客服机器人模块chatbot-antd
- 添加数据可视化模块
- 添加表单定制模块
正在升级1.5版本,敬请期待...
开源不易, 有了您的赞助, 我们会做的更好~
微信:beautifulFront