>[info] 快速导航
[TOC]
## 接口配置
在使用API之前你需要在后台做一个简单的API配置,如下图:
![](https://box.kancloud.cn/e41db0b7698a94c70d6a8a1a47467fe4_1966x1264.png)
## 接口签名(sign)
>[info] 所有API接口调用必须要带签名参数sign
> 签名规则:md5(时间戳+API签名秘钥)
> 时间戳格式:yyyy-MM-dd HH:mm:ss
## [list] 内容列表
>[info]接口地址:/cms/api/list
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| cid | int/var | 是 | 0 | 分类ID,cid和mid最少传一个 |
| mid | int/var | 是 | 0 | 模型ID,cid和mid最少传一个 |
| orderby | string | 否 | id desc | 结果排序 |
| attr | string/array | 否 | | 扩展属性 |
| keyword | string/var | 否 | | 通过关键字搜索title |
| limit | int | 否 | 20 | 返回结果条数 |
| pagesize | int | 否 | 0 | 分页大小 |
| field | string | 否 | | 设置返回的字段 |
| flag | string | 否 | | 通过推荐旗帜筛选内容 |
| tag | string | 否 | | 通过标签筛选内容 |
| where | array | 否 | | 自定义查询条件 |
>[danger] 如果需要自定义where条件时,请使用POST方式请求此接口。
where格式:\[\['字段名1', '表达式', '值'\], \['字段名2', '表达式', '值'\]\]
>[info] 示例代码
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/list',
data: {
cid: 49,
pagesize: 20,
orderby: 'view desc',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'POST',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get(
'/cms/api/list',
{
cid: 49,
pagesize: 20,
orderby: 'view desc',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
function(res) {
console.log(res);
}, 'json');
```
## [detail] 内容详情
>[info]接口地址:/cms/api/detail
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| id | int | 是 | | 内容ID |
>[info] 示例代码:
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/detail',
data: {
id: 49,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'POST',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get(
'/cms/api/detail',
{
id: 49,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
function(res) {
console.log(res);
}, 'json');
```
## [category] 栏目列表
>[info]接口地址:/cms/api/category
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| cid | int/var | 是 | 0 | 分类ID,cid和mid最少传一个 |
| mid | int/var | 是 | 2 | 模型ID,cid和mid最少传一个 |
| level | int | 否 | 0 | 返回层级数,0为不限制 |
>[info] 示例代码
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/category',
data: {
cid: 49,
level: 3,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'GET',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get(
'/cms/api/category',
{
cid: 49,
level: 3,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
function(res) {
console.log(res);
}, 'json');
```
## [tag] 标签
>[info]接口地址:/cms/api/tag
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| mid | int/var| 是 | | 指定模型ID |
| orderby | string | 否 | search\_count desc | 排序 |
| limit | int | 否 | 10 | 限制返回数量 |
>[info] 示例代码
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/tag',
data: {
mid: 2,
limit: 15,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'GET',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get(
'/cms/api/tag',
{
mid: 2,
limit: 15,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
function(res) {
console.log(res);
}, 'json');
```
## [block] 碎片块
>[info]接口地址:/cms/api/block
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| name | string | 是 | | 碎片名称 |
>[info] 示例代码
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/block',
data: {
name: 'about',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'GET',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get(
'/cms/api/block',
{
name: 'about',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
function(res) {
console.log(res);
}, 'json');
```
## [nav] 导航
>[info]接口地址:/cms/api/nav
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| group | string | 否 | | 返回指定分组 |
| limit | int | 否 | 10 | 限制返回数量 |
| cache | bool | 否 | false | 缓存结果集 |
>[info] 示例代码
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/nav',
data: {
group: 'home',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'GET',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get(
'/cms/api/nav',
{
group: 'home',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
function(res) {
console.log(res);
}, 'json');
```
## [link] 友情链接
>[info]接口地址:/cms/api/link
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| type | string | 是 | | 类型,可选值:image,text,all |
| group | string | 否 | | 返回指定分组 |
| orderby | string | 否 | sort asc | 排序 |
| limit | int | 否 | 10 | 限制返回数量 |
>[info] 示例代码
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/link',
data: {
type: 'text',
group: 'home',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'GET',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get(
'/cms/api/link',
{
type: 'text',
group: 'home',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
function(res) {
console.log(res);
}, 'json');
```
## [slide] 幻灯片
>[info]接口地址:/cms/api/slide
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| type | string | 否 | pc | 类型,可选值:pc,wap |
| group | string | 否 | | 返回指定分组 |
| orderby | string | 否 | sort asc | 排序 |
| limit | int | 否 | 10 | 限制返回数量 |
>[info] 示例代码
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/slide',
data: {
type: 'wap',
group: 'home',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'GET',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get(
'/cms/api/slide',
{
type: 'wap',
group: 'home',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
function(res) {
console.log(res);
}, 'json');
```
## [rec] 推荐:rec
>[info]接口地址:/cms/api/rec
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| name | string | 是 | | 调用名称 |
>[info] 示例代码
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/rec',
data: {
name: 'product',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'GET',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get(
'/cms/api/rec',
{
name: 'product',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
function(res) {
console.log(res);
}, 'json');
```
## [type] 栏目类型
>[info]接口地址:/cms/api/type
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| tid | int | 是 | | 类型ID |
>[info] 示例代码
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/type',
data: {
tid: 123,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'GET',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get(
'/cms/api/type',
{
tid: 123,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
function(res) {
console.log(res);
}, 'json');
```
## [form] 表单
>[info]接口地址:/cms/api/form
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| name | string | 是 | | 表单名称 |
>[info] 示例代码
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/form',
data: {
name: 'test',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'GET',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get(
'/cms/api/form',
{
name: 'test',
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
function(res) {
console.log(res);
}, 'json');
```
## [like] 喜欢/点赞
>[info]接口地址:/cms/api/like
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| id | int | 是 | | 内容ID |
>[info] 示例代码:
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/like',
data: {
id: 49,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'POST',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get('/cms/api/like', {
id: 49,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
}, function(res) {
console.log(res);
}, 'json');
```
## [dislike] 踩/不喜欢
>[info]接口地址:/cms/api/dislike
请求方式:GET/POST
| 属性名 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| id | int | 是 | | 内容ID |
>[info] 示例代码:
```
/* 微信小程序示例 */
wx.request({
url: 'https://cms.hisiphp.com/cms/api/dislike',
data: {
id: 49,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'POST',
success: function (res) {
console.log(res);
}
});
/* jquery示例 */
$.get('/cms/api/dislike', {
id: 49,
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
}, function(res) {
console.log(res);
}, 'json');
```
## [batch] 批量获取接口数据
>[info]接口地址:/cms/api/batch
请求方式:POST
```
// 小程序请求示例
wx.request({
method: 'POST',
url: 'http://www.hisiphp.com/cms/api/batch',
data: {
// 接口名: {参数名: 参数值}
list: {cid: 1},// 请求内容列表接口
category: {cid: 0},// 请求分类接口
slide: {type: 'mini'},// 请求幻灯片接口
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
// 更多接口....
},
success:function(res) {
console.log(res)
}
});
// AJAX请求示例
$.ajax({
type: 'POST',
url: 'http://api.demo.hisiphp.com/v1/articles',
data: {
// 接口名: {参数名: 参数值}
list: {cid: 1},// 请求内容列表接口
category: {cid: 0},// 请求分类接口
slide: {type: 'mini'},// 请求幻灯片接口
timestamp: '2019-05-01 12:12:12',// 时间戳
sign: 'cddb29f7db9647274fc604531ff82cea'// 签名
// 更多接口....
},
success: function(res) {
console.log(res)
}
});
```
>[warning] 上面示例代码的data对象里面的key就是需要获取的对应接口名(比如列表接口list,栏目接口category等等)
- 序言
- 环境配置
- 下载及安装
- 目录结构
- 系统配置
- 多语言
- 命令行(pro版)
- 自动生成模块或插件(build)
- 生成模块
- 生成插件
- 自动生成增删改查(crud)
- 第一步:创建数据表
- 第二步:使用crud指令生成
- 自动生成类库文件(make)
- 生成控制器文件(make:controller)
- 生成模型文件(make:model)
- 生成逻辑文件(make:logic)
- 生成服务文件(make:service)
- 生成验证器文件(make:validate)
- 构建器(pro版)
- 表单构建器(form)
- 表单属性设置
- 添加表单项
- 文本框(text)
- 隐藏域(hidden)
- 密码框(password)
- 文本域(textarea)
- 单文件(file)
- 多文件(files)
- 单图(image)
- 多图(images)
- 开关(switch)
- 单选(radio)
- 多选(checkbox)
- 下拉框(select)
- 标签(tag)
- 日期时间(datetime)
- 颜色选择器(color)
- 富文本编辑器(editor)
- 滑块(slider)
- 评分(rate)
- 穿梭框(transfer)
- 进度条(progress)
- 树形(tree)
- 联动(linkage)
- 自定义html(html)
- 分隔线(line)
- 文字(txt)
- 下拉框增强版(select+)
- 数据表格(table)
- 添加表单分组(group)
- 栅格布局(grid)
- 触发器(trigger)
- 通用上传方法
- 表格构建器(table)
- 表格基础配置
- 添加表头工具栏
- 添加表格筛选
- 页面提示(pageTips)
- 引入 JS 文件
- 引入 CSS 文件
- 渲染额外 JS 代码
- 渲染额外 CSS 代码
- 模块开发
- 1.生成模块
- 2.创建菜单
- 3.创建控制器
- 后台通用方法
- 插件开发
- 1.新建插件
- 2.插件配置
- 3.插件控制器
- 4.插件模板
- 5.插件钩子
- 模板替换变量
- 公共函数库
- 后台通用JS方法
- 常见问题
- 官方模块
- CMS内容管理模块
- 目录结构
- 模板标签
- API接口
- 栏目页/内容页
- 小程序发布
- 官方插件
- 第三方登录
- excel插件
- 万能采集
- 采集规则
- 采集内容