账户中心 退出系统
6.0 版本 5.0 版本 3.0 版本
使用手册 模板中心 账户中心 合作 · 服务
6.0 版本 5.0 版本 3.0 版本
快速开始
框架介绍版权要求
更新日志
常见问题
框架部署目录结构
版本差别V 3 ~ 6
主题设置
深色模式
nvue 说明
数据转换格式问题
防抖节流技巧文章
页面布局 ( 12 )
页面组件 独创 · 好用
全屏加载 + 挂件
自定义头部返回 · 主页
动态头部导航
双击返回顶部
单击返回顶部
自定义底部导航
吸顶插槽布局
动态吸顶布局
iPhone 底部适配
小程序胶囊按钮躲避
下拉选择筛选 · 排序
页面背景色设置外链技巧
Flex 布局 ( 2 )
Flex 布局样式模式
Flex 布局组件模式
基础样式 ( 9 )
文本样式
内置颜色
徽章角标
定位样式absolute · fixed
按钮样式
常用标题
动画效果
图标使用使用及扩展
手势操作触屏 · 缩放
Grace.JS ( 18 )
工具介绍
网络请求
页面跳转
数据缓存
图片操作
设备信息
消息提示
头部导航 动态设置
底部导航 动态设置
元素选择
ref 获取 跨生命周期
字符常用
数组操作
随机数据
日期时间
延时循环
对象操作
MD5 加密
请求工具 ( 7 )
请求库介绍
GET 请求
POST 请求
POST 签名验证
文件上传
登录相关
后端代码 php 版本示例
常用组件 ( 12 )
图片组件
搜索组件
标签组件
星级组件
倒计时组件
链接组件
多图选择
多图上传
头像群组
数值动画
PK 投票
抽奖转盘
常用布局 ( 11 )
宫格布局
普通表格
排序组件
数据表格
横向公告
时间轴布局
步骤展示
骨架加载
瀑布流布局
启动页广告
底部分享
列表布局 ( 8 )
普通列表
滑动列表
可选列表
全选列表
树状列表
排序列表
卡片列表
卡片视图
切换布局 ( 9 )
切换导航单行
切换导航多行
局部选项卡
全屏选项卡
分段切换
折叠面板
竖向切换
分类切换
城市选择
滚动 · 轮播 ( 8 )
滚动区域
进度滚动
滚动公告
无缝滚动横向文本形式
无缝滚动横向卡片形式
竖向公告顺序卡片形式
轮播组件
主体滚动
刷新加载 ( 8 )
全屏加载
下拉刷新基于页面组件
加载更多基于页面组件
刷新和加载基于页面组件
返回顶部基于页面组件
刷新和加载自定义组合
刷新和加载原生组合模式
为空展示
弹层 · 对话框 ( 6 )
遮罩弹层
头部消息框
模态对话框
底部操作表
右侧菜单
弹出菜单
表单相关 ( 15 )
表单布局
表单验证
提交按钮
字数限制
功能标签 选择 · 删除
动态表单
分步提交
步进器
数字键盘
车牌键盘
滑动解锁
进度滑块
区间滑块
点选按钮
地区联动 省市区三级
日期时间 ( 6 )
日历日期 带有农历及时间
日期区间 日历形式
日期时间 picker 模式
时间段选择 picker 模式
日程日历 日程 · 提醒
横向日历 布局模式
文章相关 ( 10 )
文章列表 基础用法
文章列表 切换模式
文章列表 全屏选项卡模式
编辑器 自主研发 · 多端兼容
格式转换 后端转换为 HTML
文章详情 编辑器解析
富文本加强 字符串转数组
展开阅读
评论布局
评论提交
媒体播放 ( 2 )
音乐播放器
视频播放器
地图使用 ( 3 )
位置标注
地图周边
拖拽定位
用户模板 ( 10 )
用户登录
手机登录
短信登录
短信验证
用户协议
个人中心
头像剪裁
证件上传
会员排行榜
手写签名
电商常用 ( 9 )
商品列表
商品详情
订单中心
购物车模板
排序与筛选
地址列表
地址添加
抽奖模板
优惠券组件
即时通讯 ( 3 )
消息展示组件
消息输入组件
消息列表布局
画布绘图 ( 3 )
二维码生成
条形码生成
海报生成
将编辑器内容转换为HTML

手册版本 V6.0

转换介绍

01. 此页面以 php 为例 [ 其他后端语言原理类似 ],演示了如何将 GraceUI 编辑器产生的项目转换为 html 内容,最终保存至数据库内;
02. 项目实际使用流程 :
02.1 前端提交内容 :
前端编辑器产生内容项目 > 转换为 Json 格式发送给后端 api > 后端将其转换为 html 保存至数据库 ( 可以直接赋值给 ueditor 编辑器进行编辑 ) ;
02.2 后端提交内容
后端使用编辑器 ( 如 : ueditor ) 生成内容 > 使用我们提供的 解析器 ( http://www.graceui.com/v5/info/10101-100.html ) 解析给前端进行内容展示;

php 版本演示代码

<?php
// 后端 api 接收到前端编辑器传递的文章详情内容
$content = '[{"type":"txt","content":"文本","focusin":false},{"type":"center","content":"居中","focusin":false},{"type":"quote","content":"引用","focusin":false},{"type":"strong","content":"加粗","focusin":false},{"type":"link","content":"连接","focusin":false},{"type":"spline","content":"","focusin":false}]';
// 将数据转换成 html
$content = json_decode($content, true);
$htmlContent = '';
foreach ($content as $item){
    switch ($item['type']){
            case "h3":
                    $htmlContent .= '<h3>'.$item['content'].'</h3>';
                    break;
        case "text":
            $htmlContent .= '<p>'.$item['content'].'</p>';
            break;

                case "txt":
                        $htmlContent .= '<p>'.$item['content'].'</p>';
                        break;
                case "code":
                        $htmlContent .= '<pre>'.$item['content'].'</pre>';
                        break;
        case "center":
            $htmlContent .= '<center>'.$item['content'].'</center>';
            break;
        case "quote":
            $htmlContent .= '<blockquote>'.$item['content'].'</blockquote>';
            break;
        case "strong":
            $htmlContent .= '<strong>'.$item['content'].'</strong>';
            break;
        case "link":
            $htmlContent .= '<p><a href="'.$item['content'].'" target="_blank">'.$item['content'].'</a><p>';
            break;
        case "spline":
            $htmlContent .= '<p><hr /><p>';
            break;
        case "img":
            $htmlContent .= '<img src="'.$item['content'].'" />';
            break;
    }
}
// 将转换后的内容保存至数据库
echo $htmlContent;
?>