Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
数据应用
ThinkLibrary
提交
18589ba4
T
ThinkLibrary
项目概览
数据应用
/
ThinkLibrary
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
代码片段
项目成员
Pages
T
ThinkLibrary
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
18589ba4
编写于
7月 12, 2020
作者:
李光春
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- 增加标准Api控制器基类
上级
4e1d81e1
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
130 addition
and
13 deletion
+130
-13
CHANGELOG.md
CHANGELOG.md
+3
-0
src/ApiController.php
src/ApiController.php
+126
-0
src/Controller.php
src/Controller.php
+0
-12
src/common.php
src/common.php
+1
-1
未找到文件。
CHANGELOG.md
浏览文件 @
18589ba4
## v6.0.78 / 2020-07-12
-
增加标准Api控制器基类
## v6.0.77 / 2020-07-11
-
更新请求门面
-
增加判断是否为微信小程序访问
...
...
src/ApiController.php
0 → 100644
浏览文件 @
18589ba4
<?php
// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
namespace
DtApp\ThinkLibrary
;
use
stdClass
;
use
think\App
;
use
think\exception\HttpResponseException
;
use
think\Request
;
/**
* 标准Api控制器基类
* Class ApiController
* @package DtApp\ThinkLibrary
*/
class
ApiController
extends
stdClass
{
/**
* 应用容器
* @var App
*/
public
$app
;
/**
* 请求对象
* @var Request
*/
public
$request
;
/**
* ApiController constructor.
* @param App $app
*/
public
function
__construct
(
App
$app
)
{
$this
->
app
=
$app
;
$this
->
request
=
$app
->
request
;
$this
->
app
->
bind
(
'DtApp\ThinkLibrary\ApiController'
,
$this
);
if
(
in_array
(
$this
->
request
->
action
(),
get_class_methods
(
__CLASS__
)))
$this
->
error
(
'Access without permission.'
);
$this
->
initialize
();
}
/**
* 控制器初始化
*/
protected
function
initialize
()
{
// 指定允许其他域名访问
header
(
'Access-Control-Allow-Origin:*'
);
// 响应类型
header
(
'Access-Control-Allow-Methods:*'
);
// 响应头设置
header
(
'Access-Control-Allow-Headers:*'
);
//允许ajax异步请求带cookie信息
header
(
'Access-Control-Allow-Credentials:true'
);
}
/**
* 返回失败的操作
* @param mixed $info 消息内容
* @param mixed $data 返回数据
* @param integer $code 返回代码
*/
public
function
error
(
$info
,
$data
=
'{-null-}'
,
$code
=
0
)
{
if
(
$data
===
'{-null-}'
)
$data
=
new
stdClass
();
throw
new
HttpResponseException
(
json
([
'code'
=>
$code
,
'info'
=>
$info
,
'timestamp'
=>
time
(),
'data'
=>
$data
,
]));
}
/**
* 返回成功的操作
* @param mixed $info 消息内容
* @param mixed $data 返回数据
* @param integer $code 返回代码
*/
public
function
success
(
$info
,
$data
=
'{-null-}'
,
$code
=
1
)
{
if
(
$data
===
'{-null-}'
)
$data
=
new
stdClass
();
throw
new
HttpResponseException
(
json
([
'code'
=>
$code
,
'info'
=>
$info
,
'timestamp'
=>
time
(),
'data'
=>
$data
,
]));
}
/**
* URL重定向
* @param string $url 跳转链接
* @param integer $code 跳转代码
*/
public
function
redirect
(
$url
,
$code
=
301
)
{
throw
new
HttpResponseException
(
redirect
(
$url
,
$code
));
}
/**
* 数据回调处理机制
* @param string $name 回调方法名称
* @param mixed $one 回调引用参数1
* @param mixed $two 回调引用参数2
* @return boolean
*/
public
function
callback
(
$name
,
&
$one
=
[],
&
$two
=
[])
{
if
(
is_callable
(
$name
))
return
call_user_func
(
$name
,
$this
,
$one
,
$two
);
foreach
([
$name
,
"_
{
$this
->
app
->
request
->
action
()
}{
$name
}
"
]
as
$method
)
{
if
(
method_exists
(
$this
,
$method
)
&&
false
===
$this
->
$method
(
$one
,
$two
))
{
return
false
;
}
}
return
true
;
}
}
src/Controller.php
浏览文件 @
18589ba4
...
...
@@ -40,18 +40,6 @@ class Controller extends stdClass
*/
public
$request
;
/**
* 当前URL
* @var
*/
protected
$currentUrl
;
/**
* 菜单
* @var array
*/
protected
$meuns
;
/**
* Controller constructor.
* @param App $app
...
...
src/common.php
浏览文件 @
18589ba4
...
...
@@ -25,7 +25,7 @@ use think\db\exception\ModelNotFoundException;
/**
* 定义当前版本
*/
const
VERSION
=
'6.0.7
7
'
;
const
VERSION
=
'6.0.7
8
'
;
if
(
!
function_exists
(
'get_ip_info'
))
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录