[TOC]
## 深度开发
### 内置框架
系统内置库
* `Jquery`: 基础库,版本3.2.1,网站主要通过jquery控制自定义交互逻辑
* `UIKIT`: UI库,[官网-http://getuikit.com/](http://getuikit.com/), 保护常用的响应式和交互行为支持
* `social-share.js`社交分享插件
* `counter.js`数字动画插件
* `jquery.pagepiling.js`: 单页滚动插件,开启单页模式后自动加载
* `twbsPagination.js`: 分页插件
* `font-awesome`: 图标库
* `cssgram`: 图片滤镜样式
以上为系统内置库,如果需要自定义,可以直接通过`<script>`标签加载第三方库cdn地址。
## 模板开发
### 数据绑定
模板使用`art-template`来控制动态数据的渲染。模板数据有两大类,一个是编辑器里编辑时设置的界面数据 和样式数据,另外一类是绑定动态数据源后从后台拉取的文章、产品数据。两类数据在渲染时逻辑是一样的。一般 数据都会打在`dataInfo`(界面和动态数据)和`style`(样式控制)下。
模板语法参考[art-template](https://aui.github.io/art-template/)文档。以常用的遍历为例:
~~~
# 将遍历dataInfo.items数组,打印其中的title变量
{{ each dataInfo.items }}
<h1>{{ $value.title }}</h1>
{{ /each }}
~~~
### 自定义脚本
如果需要自定义JS逻辑,直接在模板代码里通过内嵌script标签编写即可。需要注意使用`__ID__`字符串获取 到当前版块的ID, 避免作用域冲突。例如:
~~~
<script>
$(function () {
$('#__ID__ .menu-list > li').hover(function () {
$(this).find('ul').stop().fadeIn();
}, function () {
$(this).find('ul').hide();
});
});
</script>
~~~
> 注意:`__ID__`变量可以在模板HTML代码里任意地方使用,但是不能在css文件中使用
### 模板自定义API
系统扩充了`art-template`的模板语法,提供了常用的自定义模板方法支持。模板方法调用方式参考art-template 文档,一般是竖线调用,后面可以传参。
* `getRow`: 获取数组几行
* `isOdd`: 判断当前是否是奇数
* `isEven`: 判断当前是否偶数
* `ceil`: Math.ceil方法
* `hide`: 隐藏变量输出
* `dateFormat`: 日期格式化,通过传参控制格式。例如`{{ $value.createdAt | dateFormat 'yyyyMM-dd' }}`
* `isSVG`: 判断是否是svg
* `arrayJoin`: 数组转字符串
* `substring`: 字符串截取,支持识别HTML富文本标签
* `origin`: 获取当前图片原图
* `thumbnail`: 获取当前图片缩略图
* `groupByYear`: 将数据按年份分组
* `include`: 判断字符串是否包含在逗号分隔的字符串里
* `getItemTags`: 获取列表的所有标签并进行去重
* `tagToClass`: 将逗号分隔的tag转成元素的class
* `random`: 生成随机数,支持传参min max
* `i18n`: 多语言输出,需要传参当前语言
* `kebabCase`: lodash kebabCase
* `get`: lodash get formatStyle : 将编辑器样式对象数据转成css字符串
## 界面开发
### 响应式支持
响应式一般通过uikit来实现,常用的属性是通过`uk-grid`来支持的,具体参考[grid](https://getuikit.com/docs/grid)文档。一般保证样式在PC 和手机上正常就行。
### css开发
css开发支持less和纯css。使用less开发时支持获取当前主题设置来实现版块主题控制。例如:
~~~
h1 {
color: @global-primary-background
}
~~~
常用主题变量:
* `global-primary-background`: 主题色,网站主要主题色
* `global-secondary-background`: 主题间色,次要主题
* `global-muted-background`: 轻柔色
* `global-background`: 默认背景色,一般白色
其他参考网站编辑器里主题设置。
> 注意如果要在模板中编写内联css, 尽量使用`#__ID__ {}`包裹,避免样式污染,内联样式不支持less, 一般用 来跟版块设置数据来搭配使用控制自定义样式
## 版块设置
版块设置用来生成版块在编辑器里的设置面板,方便版块在网站里的复用和个性化设置。
设置使用schema语法来控制设置项。示例配置如下:
~~~
{
"type": "object",
"title: "",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"dataInfo": { // schema 标准,数据描述
"type": "object",
"properties": {
"items": {
"type": "array", // 数组描述示例
"items": {
"type": "object",
"properties": {
"icon": {
"type": "string",
"editor": "icon", // 指定使用编辑器图标编辑器
"description": "图标"
},
"link": {
"type": "string",
"editor": "link", // 指定使用编辑器连接编辑器
"description": "链接"
},
"title": {
"type": "string",
"description": "标题"
},
"abstract": {
"type": "string",
"description": "简介"
},
"subTitle": {
"type": "string",
"description": "小标题"
}
},
"description": "列表项"
},
"description": "列表"
},
"title": {
"type": "string",
"description": "标题"
},
"buttons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"icon": {
"type": "string",
"editor": "icon",
"description": "按钮图标"
},
"link": {
"type": "string",
"editor": "link",
"description": "链接"
},
"text": {
"type": "string",
"description": "按钮文字"
}
},
"description": "按钮"
},
"description": "按钮列表"
},
"abstract": {
"type": "string",
"description": "简介"
},
"subTitle": {
"type": "string",
"description": "小标题"
},
"icon": {
"type": "string",
"editor": "icon",
"description": "图标"
}
},
"description": "数据"
},
"style": {
"type": "object",
"properties": {
"column": {
"type": "object",
"description": "分栏控制",
"properties": {
"items": {
"type": "number",
"editor": "number",
"description": "主列表分栏"
}
}
}
},
"description": "效果"
}
},
"description": "featureIconList模板", // 描述
"enableDatasource": true,
"demoProperties": { // 示例数据
"dataInfo": {
"items": [
],
"abstract": "示例简介"
},
"style": { // 示例样式设置
"size": "large"
}
}
}
~~~
> 注意数组不支持二级嵌套,例如dataInfo.item数组下面不能添加新的数组
`editor`属性可以控制字段使用编辑器的自定义编辑器编辑,常用的数据编辑器包括:
* `picture`: 图片管理器
* `link`: 连接编辑器
* `select`: 下拉框
* `textarea`: textarea
* `rich-text`: 富文本编辑
* `menu`: 导航菜单项编辑
* `bmap`: 地图选框编辑器
* `color`: 颜色编辑器
* `gallery`: 图集编辑器
* `dataList`: 数据列表编辑器,自动识别
* `dynamicData`: 动态数据配置,产品&文章自动添加
* `share`: 分享插件
* `dynamicField`: 动态参数绑定编辑
* `font`: 字体属性编辑
## 版块升级
已经发布的版块修改是即时生效的,版块的改动不影响已经发布的网站,但会影响后面所有发布的网站,升级时注 意数据的兼容避免报错。
- 目录
- 简介
- 四合一网站管理后台
- 后台首页
- 我的网站
- 基本信息
- 网站语言
- 域名管理
- 发起上线
- 备份恢复
- 网站验证
- 百度统计&商桥
- HTTPS配置
- 我的小程序
- 内容管理
- 互动管理
- 搜索优化
- 会员管理
- 预约管理
- 配置管理
- 开发者中心
- 网页编辑器
- 界面
- 管理界面
- 内置板块
- 内置板块的设计
- 自由元素
- 背景设置
- 页面视图
- 页面设置
- 更换模版
- 素材管理
- 管理后台
- 子组件操作
- 手机网站编辑器
- 小程序编辑器
- 界面概览
- 管理页面
- 添加模版
- 功能组件
- 表单
- 魔方导航
- 视频
- 地图
- 搜索
- 资讯列表
- 资讯详情
- 产品列表
- 产品详情
- 视图结构
- 全局设置
- 授权
- 素材管理(小程序)
- 管理后台(小程序)
- 多账号相关
- 多人编辑权限管理
- 域名的绑定与发布
- 域名的添加与删除
- 域名的解析及备案
- 发布上线
- 域名及发布常见问题
- 组件相关
- 联系客服
- 模版开发文档
- 板块简介
- 快速入门
- 深度开发