This commit is contained in:
全栈小学生 2023-05-20 18:31:32 +08:00
parent 39a8e9ede2
commit e1d082e984
416 changed files with 11144 additions and 6180 deletions

View File

@ -1,96 +0,0 @@
<?php
declare (strict_types = 1);
namespace app;
use think\App;
use think\exception\ValidateException;
use think\Validate;
/**
* 控制器基础类
*/
abstract class BaseController
{
/**
* Request实例
* @var Request
*/
protected $request;
/**
* 应用实例
* @var App
*/
protected $app;
/**
* 是否批量验证
* @var bool
*/
protected $batchValidate = false;
/**
* 控制器中间件
* @var array
*/
protected $middleware = [];
/**
* 构造方法
* @access public
* @param App $app 应用对象
*/
public function __construct(App $app)
{
$this->app = $app;
$this->request = $this->app->request;
// 控制器初始化
$this->initialize();
}
// 初始化
protected function initialize()
{}
/**
* 验证数据
* @access protected
* @param array $data 数据
* @param string|array $validate 验证器名或者验证规则数组
* @param array $message 提示信息
* @param bool $batch 是否批量验证
* @return array|string|true
* @throws ValidateException
*/
protected function validate(array $data, $validate, array $message = [], bool $batch = false)
{
if (is_array($validate)) {
$v = new Validate();
$v->rule($validate);
} else {
if (strpos($validate, '.')) {
// 支持场景
[$validate, $scene] = explode('.', $validate);
}
$class = str_contains($validate, '\\') ? $validate : $this->app->parseClass('validate', $validate);
$v = new $class();
if (!empty($scene)) {
$v->scene($scene);
}
}
$v->message($message);
// 是否批量验证
if ($batch || $this->batchValidate) {
$v->batch(true);
}
return $v->failException(true)->check($data);
}
}

View File

@ -2,8 +2,8 @@
namespace app; namespace app;
use app\enum\sys\AppTypeEnum; use app\enum\sys\AppTypeEnum;
use extend\exception\AdminException; use core\exception\AdminException;
use extend\exception\AuthException; use core\exception\AuthException;
use think\db\exception\DataNotFoundException; use think\db\exception\DataNotFoundException;
use think\db\exception\DbException; use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException; use think\db\exception\ModelNotFoundException;
@ -90,7 +90,13 @@ class ExceptionHandle extends Handle
// 添加自定义异常处理机制 // 添加自定义异常处理机制
if ($e instanceof DbException) { if ($e instanceof DbException) {
return fail('数据获取失败', $massageData); return fail('DATA_GET_FAIL', [
'file' => $e->getFile(),
'line' => $e->getLine(),
'message' => $e->getMessage(),
'trace' => $e->getTrace(),
'previous' => $e->getPrevious(),
]);
} elseif ($e instanceof ValidateException) { } elseif ($e instanceof ValidateException) {
return fail($e->getMessage(), []); return fail($e->getMessage(), []);
} else if($e instanceof UnexpectedValueException){ } else if($e instanceof UnexpectedValueException){

View File

@ -0,0 +1,94 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\adminapi\controller\addon;
use app\service\admin\addon\AddonService;
use app\service\core\addon\CoreAddonService;
use app\service\core\addon\CoreInstallService;
use core\base\BaseAdminController;
use think\Response;
class Addon extends BaseAdminController
{
/**
* 获取已下载插架
*/
public function getLocalAddonList()
{
return success(( new CoreAddonService() )->getLocalAddonList());
}
/**
* 安装插件
* @param string $addon
*/
public function install($addon)
{
( new AddonService() )->install($addon);
return success('ADDON_INSTALL_SUCCESS');
}
/**
* 查询插件安装状态
* @param $addon
*/
public function getInstallState($addon)
{
return success(( new AddonService() )->getInstallState($addon));
}
/**
* 卸载插件
* @param string $addon
*/
public function uninstall($addon)
{
( new AddonService() )->uninstall($addon);
return success('ADDON_UNINSTALL_SUCCESS');
}
/**
* 插件列表
* @return Response
*/
public function lists()
{
$data = $this->request->params([
[ 'title', '' ],
]);
return success(( new AddonService() )->getPage($data));
}
/**
* 插件详情
* @param int $id
*/
public function info(int $id)
{
return success(( new AddonService() )->getInfo($id));
}
/**
* 设置插件状态
* @param int $id
* @param int $status
* @return Response
*/
public function setStatus(int $id, int $status)
{
( new AddonService() )->setStatus($id, $status);
return success('SET_SUCCESS');
}
}

View File

@ -0,0 +1,31 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\adminapi\controller\addon;
use app\service\core\addon\CoreAddonService;
use app\service\core\addon\CoreInstallService;
use core\base\BaseAdminController;
class App extends BaseAdminController
{
/**
* 获取应用管理列表
*/
public function getAppList()
{
return success(( new CoreAddonService() )->getAppList());
}
}

View File

@ -11,9 +11,9 @@
namespace app\adminapi\controller\aliapp; namespace app\adminapi\controller\aliapp;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\aliapp\AliappConfigService; use app\service\admin\aliapp\AliappConfigService;
use app\service\admin\site\WebSiteConfigService; use app\service\admin\site\WebSiteConfigService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Config extends BaseAdminController class Config extends BaseAdminController
@ -43,7 +43,7 @@ class Config extends BaseAdminController
]); ]);
// $this->validate($data, 'app\validate\channel\Aliapp.set'); // $this->validate($data, 'app\validate\channel\Aliapp.set');
(new AliappConfigService())->setAliappConfig($data); (new AliappConfigService())->setAliappConfig($data);
return success(100016); return success('SET_SUCCESS');
} }
/** /**

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\article; namespace app\adminapi\controller\article;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\article\ArticleService; use app\service\admin\article\ArticleService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
/** /**
@ -66,7 +66,7 @@ class Article extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\article\Article.add'); $this->validate($data, 'app\validate\article\Article.add');
$id = ( new ArticleService() )->add($data); $id = ( new ArticleService() )->add($data);
return success(100011, [ 'id' => $id ]); return success('ADD_SUCCESS', [ 'id' => $id ]);
} }
/** /**
@ -74,7 +74,7 @@ class Article extends BaseAdminController
* @param int $id * @param int $id
* @return Response * @return Response
*/ */
public function update(int $id) public function edit(int $id)
{ {
$data = $this->request->params([ $data = $this->request->params([
[ 'title', '' ], [ 'title', '' ],
@ -88,9 +88,9 @@ class Article extends BaseAdminController
[ 'is_show', 1 ], [ 'is_show', 1 ],
[ 'sort', 0 ], [ 'sort', 0 ],
]); ]);
$this->validate($data, 'app\validate\article\Article.update'); $this->validate($data, 'app\validate\article\Article.edit');
( new ArticleService() )->update($id, $data); ( new ArticleService() )->edit($id, $data);
return success(100004); return success('EDIT_SUCCESS');
} }
/** /**
@ -101,7 +101,7 @@ class Article extends BaseAdminController
{ {
( new ArticleService() )->del($id); ( new ArticleService() )->del($id);
return success(100003); return success('DELETE_SUCCESS');
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\article; namespace app\adminapi\controller\article;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\article\ArticleCategoryService; use app\service\admin\article\ArticleCategoryService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class ArticleCategory extends BaseAdminController class ArticleCategory extends BaseAdminController
@ -56,7 +56,7 @@ class ArticleCategory extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\article\ArticleCategory.add'); $this->validate($data, 'app\validate\article\ArticleCategory.add');
$id = (new ArticleCategoryService())->add($data); $id = (new ArticleCategoryService())->add($data);
return success(100011, ['id' => $id]); return success('ADD_SUCCESS', ['id' => $id]);
} }
/** /**
@ -64,15 +64,15 @@ class ArticleCategory extends BaseAdminController
* @param int $category_id //分类id * @param int $category_id //分类id
* @return Response * @return Response
*/ */
public function update(int $category_id){ public function edit(int $category_id){
$data = $this->request->params([ $data = $this->request->params([
['name', ''], ['name', ''],
['is_show', 1], ['is_show', 1],
['sort', 0], ['sort', 0],
]); ]);
$this->validate($data, 'app\validate\article\ArticleCategory.update'); $this->validate($data, 'app\validate\article\ArticleCategory.edit');
(new ArticleCategoryService())->update($category_id, $data); (new ArticleCategoryService())->edit($category_id, $data);
return success(100004); return success('EDIT_SUCCESS');
} }
/** /**
@ -81,7 +81,7 @@ class ArticleCategory extends BaseAdminController
*/ */
public function del(int $category_id){ public function del(int $category_id){
(new ArticleCategoryService())->del($category_id); (new ArticleCategoryService())->del($category_id);
return success(100003); return success('DELETE_SUCCESS');
} }
} }

View File

@ -11,10 +11,9 @@
namespace app\adminapi\controller\auth; namespace app\adminapi\controller\auth;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\auth\AuthService; use app\service\admin\auth\AuthService;
use app\service\admin\auth\AuthSiteService; use app\service\admin\auth\AuthSiteService;
use app\service\admin\site\SiteUserService; use core\base\BaseAdminController;
class Auth extends BaseAdminController class Auth extends BaseAdminController
@ -48,23 +47,22 @@ class Auth extends BaseAdminController
]); ]);
// $this->validate($data, 'app\validate\sys\User.modify'); // $this->validate($data, 'app\validate\sys\User.modify');
(new AuthService())->modifyAuth($field, $data['value']); (new AuthService())->modifyAuth($field, $data['value']);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**
* 更新用户 * 更新用户
*/ */
public function update(){ public function edit(){
$data = $this->request->params([ $data = $this->request->params([
['real_name', ''], ['real_name', ''],
['head_img', ''], ['head_img', ''],
['password', ''], ['password', ''],
['original_password', ''] ['original_password', '']
]); ]);
// $this->validate($data, 'app\validate\sys\User.update'); (new AuthService())->editAuth($data);
(new AuthService())->updateAuth($data); return success('MODIFY_SUCCESS');
return success(100004);
} }
/** /**

View File

@ -11,11 +11,9 @@
namespace app\adminapi\controller\channel; namespace app\adminapi\controller\channel;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\channel\H5Service; use app\service\admin\channel\H5Service;
use app\service\admin\file\UploadService;
use app\service\admin\site\WebSiteConfigService; use app\service\admin\site\WebSiteConfigService;
use app\service\admin\wechat\WechatConfigService; use core\base\BaseAdminController;
use think\Response; use think\Response;
class H5 extends BaseAdminController class H5 extends BaseAdminController
@ -38,6 +36,6 @@ class H5 extends BaseAdminController
]); ]);
(new H5Service())->setH5($data); (new H5Service())->setH5($data);
return success(100016); return success('SET_SUCCESS');
} }
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\diy; namespace app\adminapi\controller\diy;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\diy\DiyConfigService; use app\service\admin\diy\DiyConfigService;
use core\base\BaseAdminController;
/** /**
@ -41,7 +41,7 @@ class Config extends BaseAdminController
[ 'menu', [] ] [ 'menu', [] ]
]); ]);
( new DiyConfigService() )->setBottomConfig($data[ 'menu' ]); ( new DiyConfigService() )->setBottomConfig($data[ 'menu' ]);
return success(100000); return success('SUCCESS');
} }
} }

View File

@ -11,10 +11,9 @@
namespace app\adminapi\controller\diy; namespace app\adminapi\controller\diy;
use app\adminapi\controller\BaseAdminController;
use app\enum\diy\LinkEnum;
use app\enum\diy\PageEnum; use app\enum\diy\PageEnum;
use app\service\admin\diy\DiyService; use app\service\admin\diy\DiyService;
use core\base\BaseAdminController;
/** /**
@ -63,7 +62,7 @@ class Diy extends BaseAdminController
$this->validate($data, 'app\validate\diy\Diy.add'); $this->validate($data, 'app\validate\diy\Diy.add');
$id = ( new DiyService() )->add($data); $id = ( new DiyService() )->add($data);
return success(100011, [ 'id' => $id ]); return success('ADD_SUCCESS', [ 'id' => $id ]);
} }
/** /**
@ -71,16 +70,16 @@ class Diy extends BaseAdminController
* @param $id 自定义页面id * @param $id 自定义页面id
* @return \think\Response * @return \think\Response
*/ */
public function update($id) public function edit($id)
{ {
$data = $this->request->params([ $data = $this->request->params([
[ "title", "" ], [ "title", "" ],
[ "name", "" ], [ "name", "" ],
[ "value", "" ], [ "value", "" ],
]); ]);
$this->validate($data, 'app\validate\diy\Diy.update'); $this->validate($data, 'app\validate\diy\Diy.edit');
( new DiyService() )->update($id, $data); ( new DiyService() )->edit($id, $data);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**
@ -91,7 +90,7 @@ class Diy extends BaseAdminController
public function del(int $id) public function del(int $id)
{ {
( new DiyService() )->del($id); ( new DiyService() )->del($id);
return success(100003); return success('DELETE_SUCCESS');
} }
/** /**
@ -103,7 +102,7 @@ class Diy extends BaseAdminController
public function setUse($id) public function setUse($id)
{ {
( new DiyService() )->setUse($id); ( new DiyService() )->setUse($id);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**
@ -155,7 +154,7 @@ class Diy extends BaseAdminController
[ "share", "" ], [ "share", "" ],
]); ]);
( new DiyService() )->modifyShare($id, $data); ( new DiyService() )->modifyShare($id, $data);
return success(100004); return success('MODIFY_SUCCESS');
} }
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\diy; namespace app\adminapi\controller\diy;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\diy\DiyRouteService; use app\service\admin\diy\DiyRouteService;
use core\base\BaseAdminController;
/** /**
@ -30,11 +30,8 @@ class DiyRoute extends BaseAdminController
{ {
$data = $this->request->params([ $data = $this->request->params([
[ "title", "" ], [ "title", "" ],
[ "name", "" ],
[ "page", "" ],
[ "sort", "" ]
]); ]);
return success(( new DiyRouteService() )->getPage($data)); return success(( new DiyRouteService() )->getList($data));
} }
/** /**
@ -47,6 +44,15 @@ class DiyRoute extends BaseAdminController
return success(( new DiyRouteService() )->getInfo($id)); return success(( new DiyRouteService() )->getInfo($id));
} }
/**
* 自定义路由表详情
* @param string $name
*/
public function getInfoByName(string $name)
{
return success(( new DiyRouteService() )->getInfoByName($name));
}
/** /**
* 添加自定义路由表 * 添加自定义路由表
* @return \think\Response * @return \think\Response
@ -62,7 +68,7 @@ class DiyRoute extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\diy\DiyRoute.add'); $this->validate($data, 'app\validate\diy\DiyRoute.add');
$id = ( new DiyRouteService() )->add($data); $id = ( new DiyRouteService() )->add($data);
return success(100011, [ 'id' => $id ]); return success('ADD_SUCCESS', [ 'id' => $id ]);
} }
/** /**
@ -70,7 +76,7 @@ class DiyRoute extends BaseAdminController
* @param $id 自定义路由表id * @param $id 自定义路由表id
* @return \think\Response * @return \think\Response
*/ */
public function update($id) public function edit($id)
{ {
$data = $this->request->params([ $data = $this->request->params([
[ "title", "" ], [ "title", "" ],
@ -79,9 +85,9 @@ class DiyRoute extends BaseAdminController
[ "share", "" ], [ "share", "" ],
[ "is_share", "" ] [ "is_share", "" ]
]); ]);
$this->validate($data, 'app\validate\diy\DiyRoute.update'); $this->validate($data, 'app\validate\diy\DiyRoute.edit');
( new DiyRouteService() )->update($id, $data); ( new DiyRouteService() )->edit($id, $data);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**
@ -92,20 +98,24 @@ class DiyRoute extends BaseAdminController
public function del(int $id) public function del(int $id)
{ {
( new DiyRouteService() )->del($id); ( new DiyRouteService() )->del($id);
return success(100003); return success('DELETE_SUCCESS');
} }
/** /**
* 修改页面分享内容 * 修改页面分享内容
* @param int $id
*/ */
public function modifyShare(int $id) public function modifyShare()
{ {
$data = $this->request->params([ $data = $this->request->params([
[ "share", "" ], [ 'share', '' ],
[ 'title', '' ],
[ 'name', '' ],
[ 'page', '' ],
[ 'is_share', 0 ],
[ 'sort', 0 ]
]); ]);
( new DiyRouteService() )->modifyShare($id, $data); ( new DiyRouteService() )->modifyShare($data);
return success(100004); return success('MODIFY_SUCCESS');
} }
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\generator; namespace app\adminapi\controller\generator;
use app\BaseController;
use app\service\admin\generator\GenerateService; use app\service\admin\generator\GenerateService;
use core\base\BaseController;
use think\Response; use think\Response;
/** /**
@ -55,9 +55,9 @@ class Generator extends BaseController
$data = $this->request->params([ $data = $this->request->params([
[ "table_name", "" ], [ "table_name", "" ],
], false); ], false);
$this->validate($data, 'app\validate\generator\Generator.add'); $this->validate($data, 'app\validate\generator\generator.add');
$id = ( new GenerateService() )->add($data); $id = ( new GenerateService() )->add($data);
return success(100011, [ 'id' => $id ]); return success('ADD_SUCCESS', [ 'id' => $id ]);
} }
/** /**
@ -65,7 +65,7 @@ class Generator extends BaseController
* @param $id * @param $id
* @return Response * @return Response
*/ */
public function update($id) public function edit($id)
{ {
$data = $this->request->params([ $data = $this->request->params([
[ "table_name", "" ], [ "table_name", "" ],
@ -75,9 +75,9 @@ class Generator extends BaseController
[ "edit_type", "1" ], [ "edit_type", "1" ],
[ "table_column", "" ], [ "table_column", "" ],
], false); ], false);
$this->validate($data, 'app\validate\generator\Generator.update'); $this->validate($data, 'app\validate\generator\generator.edit');
( new GenerateService() )->update($id, $data); ( new GenerateService() )->edit($id, $data);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**
@ -88,7 +88,7 @@ class Generator extends BaseController
public function del(int $id) public function del(int $id)
{ {
( new GenerateService() )->del($id); ( new GenerateService() )->del($id);
return success(100003); return success('DELETE_SUCCESS');
} }
/** /**
@ -102,7 +102,7 @@ class Generator extends BaseController
]); ]);
$data = ( new GenerateService() )->generate($data); $data = ( new GenerateService() )->generate($data);
return success(100011, $data); return success('ADD_SUCCESS', $data);
} }
/** /**
@ -116,7 +116,7 @@ class Generator extends BaseController
[ "comment", "" ], [ "comment", "" ],
]); ]);
$list = ( new GenerateService() )->tableList($data); $list = ( new GenerateService() )->tableList($data);
return success(100011, $list); return success('ADD_SUCCESS', $list);
} }
} }

View File

@ -0,0 +1,46 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\adminapi\controller\login;
use app\service\admin\captcha\CaptchaService;
use core\base\BaseAdminController;
use think\Response;
class Captcha extends BaseAdminController
{
/**
* 创建验证码
* @return Response
*/
public function create(){
return success((new CaptchaService())->create());
}
/**
* 一次校验验证码
* @return Response
*/
public function check(){
return success((new CaptchaService())->check());
}
/**
* 二次校验验证码
* @return Response
*/
public function verification(){
return success((new CaptchaService())->verification());
}
}

View File

@ -0,0 +1,46 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\adminapi\controller\login;
use app\service\admin\auth\ConfigService;
use core\base\BaseAdminController;
use think\Response;
class Config extends BaseAdminController
{
/**
* 获取登录设置
* @return Response
*/
public function getConfig()
{
return success(( new ConfigService() )->getConfig());
}
/**
* 注册与登录设置
* @return Response
*/
public function setConfig()
{
$data = $this->request->params([
[ 'is_captcha', 0 ],
[ 'is_site_captcha', 0 ],
[ 'bg', '' ],
[ 'site_bg', '' ],
]);
( new ConfigService() )->setConfig($data);
return success('MODIFY_SUCCESS');
}
}

View File

@ -11,8 +11,9 @@
namespace app\adminapi\controller\login; namespace app\adminapi\controller\login;
use app\adminapi\controller\BaseAdminController; use app\service\admin\auth\ConfigService;
use app\service\admin\auth\LoginService; use app\service\admin\auth\LoginService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Login extends BaseAdminController class Login extends BaseAdminController
@ -21,7 +22,7 @@ class Login extends BaseAdminController
* 登录 * 登录
* @return Response * @return Response
*/ */
public function login() public function login($app_type)
{ {
$data = $this->request->params([ $data = $this->request->params([
@ -30,10 +31,10 @@ class Login extends BaseAdminController
]); ]);
//参数验证 //参数验证
//验证码验证 //验证码验证
$result = ( new LoginService() )->login($data[ 'username' ], $data[ 'password' ]); $result = ( new LoginService() )->login($data[ 'username' ], $data[ 'password' ], $app_type);
if (!$result) { if (!$result) {
//账号密码错误...., 重置验证码 //账号密码错误...., 重置验证码
return fail(101005); return fail('USER_ERROR');
} }
return success($result); return success($result);
@ -46,7 +47,17 @@ class Login extends BaseAdminController
public function logout() public function logout()
{ {
( new LoginService )->logout(); ( new LoginService )->logout();
return success(102008); return success('LOGOUT');
} }
/**
* 获取登录设置
* @return Response
*/
public function getConfig()
{
return success(( new ConfigService() )->getConfig());
}
} }

View File

@ -11,8 +11,9 @@
namespace app\adminapi\controller\member; namespace app\adminapi\controller\member;
use app\adminapi\controller\BaseAdminController; use app\enum\member\MemberAccountEnum;
use app\service\admin\member\MemberAccountService; use app\service\admin\member\MemberAccountService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Account extends BaseAdminController class Account extends BaseAdminController
@ -48,7 +49,7 @@ class Account extends BaseAdminController
} }
/** /**
* 零钱流水 * 可提现余额流水
* @return Response * @return Response
*/ */
public function money() public function money()
@ -73,7 +74,7 @@ class Account extends BaseAdminController
[ 'memo', '' ], [ 'memo', '' ],
]); ]);
$res = ( new MemberAccountService() )->adjustPoint($data); $res = ( new MemberAccountService() )->adjustPoint($data);
return success(100011, [ 'id' => $res ]); return success('ADD_SUCCESS', [ 'id' => $res ]);
} }
/** /**
@ -87,7 +88,59 @@ class Account extends BaseAdminController
[ 'memo', '' ], [ 'memo', '' ],
]); ]);
$res = ( new MemberAccountService() )->adjustBalance($data); $res = ( new MemberAccountService() )->adjustBalance($data);
return success(100011, [ 'id' => $res ]); return success('ADD_SUCCESS', [ 'id' => $res ]);
}
/**
* 零钱调整
* @return Response
*/
public function adjustMoney()
{
$data = $this->request->params([
[ 'member_id', '' ],
[ 'account_data', 0 ],
[ 'memo', '' ],
]);
$res = ( new MemberAccountService() )->adjustMoney($data);
return success('ADD_SUCCESS', [ 'id' => $res ]);
}
/**
* 会员佣金
* @return Response
*/
public function commission()
{
$data = $this->request->params([
[ 'member_id', '' ],
[ 'from_type', '' ],
[ 'create_time', [] ],
]);
$data[ 'account_type' ] = 'commission';
return success(( new MemberAccountService() )->getPage($data));
}
/**
* 会员余额统计(用于会员账户统计窗口)
*/
public function sumBalance()
{
$data = $this->request->params([
[ 'member_id', '' ],
]);
$member_account_service = new MemberAccountService();
if(empty($data['member_id']))
{
$balance_data = [
MemberAccountEnum::BALANCE => $member_account_service->getSumAccount(MemberAccountEnum::BALANCE),
MemberAccountEnum::MONEY => $member_account_service->getSumAccount(MemberAccountEnum::MONEY),
];
return success($balance_data);
}else{
return success($member_account_service->getMemberAccountInfo($data['member_id']));
}
} }
/** /**
@ -100,5 +153,13 @@ class Account extends BaseAdminController
return success($res); return success($res);
} }
/**
* 账户类型
*/
public function accountType()
{
return success(MemberAccountEnum::getType());
}
} }

View File

@ -11,12 +11,13 @@
namespace app\adminapi\controller\member; namespace app\adminapi\controller\member;
use app\adminapi\controller\BaseAdminController; use app\enum\member\MemberCashOutEnum;
use app\enum\pay\TransferEnum; use app\enum\pay\TransferEnum;
use app\service\admin\member\MemberWithdrawService; use app\service\admin\member\MemberCashOutService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Withdraw extends BaseAdminController class CashOut extends BaseAdminController
{ {
/** /**
* 提现列表 * 提现列表
@ -29,7 +30,7 @@ class Withdraw extends BaseAdminController
['status', ''], ['status', ''],
['create_time', []], ['create_time', []],
]); ]);
return success((new MemberWithdrawService())->getPage($data)); return success((new MemberCashOutService())->getPage($data));
} }
/** /**
@ -39,7 +40,7 @@ class Withdraw extends BaseAdminController
*/ */
public function info(int $id) public function info(int $id)
{ {
return success((new MemberWithdrawService())->getInfo($id)); return success((new MemberCashOutService())->getInfo($id));
} }
public function audit($id, $action) public function audit($id, $action)
@ -47,8 +48,8 @@ class Withdraw extends BaseAdminController
$data = $this->request->params([ $data = $this->request->params([
['refuse_reason', ''], ['refuse_reason', ''],
]); ]);
(new MemberWithdrawService())->audit($id, $action, $data); (new MemberCashOutService())->audit($id, $action, $data);
return success(100000); return success('SUCCESS');
} }
/** /**
@ -72,8 +73,15 @@ class Withdraw extends BaseAdminController
['transfer_remark', ''], ['transfer_remark', ''],
['transfer_type', ''] ['transfer_type', '']
]); ]);
(new MemberWithdrawService())->transfer($id, $data); (new MemberCashOutService())->transfer($id, $data);
return success(100000); return success('SUCCESS');
} }
/**
* 状态
* @return Response
*/
public function getStatusList(){
return success(MemberCashOutEnum::getStatus());
}
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\member; namespace app\adminapi\controller\member;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\member\MemberConfigService; use app\service\admin\member\MemberConfigService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Config extends BaseAdminController class Config extends BaseAdminController
@ -40,23 +40,23 @@ class Config extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\member\LoginConfig.set'); $this->validate($data, 'app\validate\member\LoginConfig.set');
( new MemberConfigService() )->setLoginConfig($data); ( new MemberConfigService() )->setLoginConfig($data);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**
* 获取提现设置 * 获取提现设置
* @return Response * @return Response
*/ */
public function getWithdrawConfig() public function getCashOutConfig()
{ {
return success(( new MemberConfigService() )->getWithdrawConfig()); return success(( new MemberConfigService() )->getCashOutConfig());
} }
/** /**
* 提现设置 * 提现设置
* @return Response * @return Response
*/ */
public function setWithdrawConfig() public function setCashOutConfig()
{ {
$data = $this->request->params([ $data = $this->request->params([
[ 'is_open', 0 ], //是否开启 [ 'is_open', 0 ], //是否开启
@ -66,9 +66,9 @@ class Config extends BaseAdminController
[ 'is_auto_transfer', 0 ], //是否自动转账 [ 'is_auto_transfer', 0 ], //是否自动转账
[ 'transfer_type', [] ] //转账方式 [ 'transfer_type', [] ] //转账方式
]); ]);
$this->validate($data, 'app\validate\member\WithdrawConfig.set'); $this->validate($data, 'app\validate\member\CashOutConfig.set');
( new MemberConfigService() )->setWithdrawConfig($data); ( new MemberConfigService() )->setCashOutConfig($data);
return success(100016); return success('SET_SUCCESS');
} }
} }

View File

@ -11,9 +11,11 @@
namespace app\adminapi\controller\member; namespace app\adminapi\controller\member;
use app\adminapi\controller\BaseAdminController; use app\enum\member\MemberEnum;
use app\enum\member\MemberRegisterChannelEnum;
use app\enum\member\MemberRegisterTypeEnum; use app\enum\member\MemberRegisterTypeEnum;
use app\service\admin\member\MemberService; use app\service\admin\member\MemberService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Member extends BaseAdminController class Member extends BaseAdminController
@ -27,6 +29,7 @@ class Member extends BaseAdminController
$data = $this->request->params([ $data = $this->request->params([
['keyword', ''], ['keyword', ''],
['register_type', ''], ['register_type', ''],
['register_channel', ''],
['create_time', []], ['create_time', []],
['member_label', 0], ['member_label', 0],
]); ]);
@ -61,7 +64,7 @@ class Member extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\member\Member.add'); $this->validate($data, 'app\validate\member\Member.add');
$res = (new MemberService())->add($data); $res = (new MemberService())->add($data);
return success(100011, [ 'member_id' => $res ]); return success('ADD_SUCCESS', ['member_id' => $res]);
} }
/** /**
@ -79,14 +82,14 @@ class Member extends BaseAdminController
$data[$field] = $data['value']; $data[$field] = $data['value'];
$this->validate($data, 'app\validate\member\Member.modify'); $this->validate($data, 'app\validate\member\Member.modify');
(new MemberService())->modify($member_id, $field, $data['value']); (new MemberService())->modify($member_id, $field, $data['value']);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**
* 更新 * 更新
* @return Response * @return Response
*/ */
public function update($member_id) public function edit($member_id)
{ {
$data = $this->request->params([ $data = $this->request->params([
['nickname', ''], ['nickname', ''],
@ -96,9 +99,9 @@ class Member extends BaseAdminController
['sex', 0], ['sex', 0],
['birthday', ''], ['birthday', ''],
]); ]);
$this->validate($data, 'app\validate\member\Member.update'); $this->validate($data, 'app\validate\member\Member.edit');
$res = ( new MemberService() )->update($member_id, $data); $res = (new MemberService())->edit($member_id, $data);
return success(100002); return success('EDIT_SUCCESS');
} }
/** /**
@ -114,10 +117,43 @@ class Member extends BaseAdminController
* 会员列表 * 会员列表
* @return Response * @return Response
*/ */
public function getMemberList(){ public function getMemberList()
{
$data = $this->request->params([ $data = $this->request->params([
['keyword', ''], ['keyword', ''],
]); ]);
return success((new MemberService())->getList($data)); return success((new MemberService())->getList($data));
} }
/**
* 获取会员注册渠道
* @return Response
*/
public function getMemberRegisterChannelType()
{
return success(MemberRegisterChannelEnum::getType());
}
/**
* 设置会员的状态
* @param $status
* @return void
*/
public function setStatus($status){
$data = $this->request->params([
['member_ids', []],
]);
$this->validate(['status' => $status], 'app\validate\member\Member.set_status');
(new MemberService())->setStatus($data['member_ids'], $status);
return success('EDIT_SUCCESS');
}
/**
* 获取状态枚举
* @return Response
*/
public function getStatusList(){
return success(MemberEnum::getStatus());
}
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\member; namespace app\adminapi\controller\member;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\member\MemberLabelService; use app\service\admin\member\MemberLabelService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class MemberLabel extends BaseAdminController class MemberLabel extends BaseAdminController
@ -50,21 +50,21 @@ class MemberLabel extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\member\MemberLabel.add'); $this->validate($data, 'app\validate\member\MemberLabel.add');
$id = (new MemberLabelService())->add($data); $id = (new MemberLabelService())->add($data);
return success(100011, ['label_id' => $id]); return success('ADD_SUCCESS', ['label_id' => $id]);
} }
/** /**
* 菜单或接口更新 * 菜单或接口更新
*/ */
public function update($id){ public function edit($id){
$data = $this->request->params([ $data = $this->request->params([
['label_name', ''], ['label_name', ''],
['memo', ''], ['memo', ''],
['sort', 0], ['sort', 0],
]); ]);
$this->validate($data, 'app\validate\member\MemberLabel.update'); $this->validate($data, 'app\validate\member\MemberLabel.edit');
(new MemberLabelService())->update($id, $data); (new MemberLabelService())->edit($id, $data);
return success(100004); return success('EDIT_SUCCESS');
} }
/** /**
@ -74,7 +74,7 @@ class MemberLabel extends BaseAdminController
public function del(int $id){ public function del(int $id){
(new MemberLabelService())->del($id); (new MemberLabelService())->del($id);
return success(100003); return success('DELETE_SUCCESS');
} }
/** /**

View File

@ -9,16 +9,16 @@
// | Author: Niucloud Team // | Author: Niucloud Team
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\controller\message; namespace app\adminapi\controller\notice;
use app\adminapi\controller\BaseAdminController;
use app\enum\sys\SmsEnum; use app\enum\sys\SmsEnum;
use app\service\admin\message\MessageService; use app\service\admin\notice\NoticeService;
use app\service\admin\message\SmsService; use app\service\admin\notice\SmsService;
use extend\exception\AdminException; use core\base\BaseAdminController;
use core\exception\AdminException;
use think\Response; use think\Response;
class Message extends BaseAdminController class Notice extends BaseAdminController
{ {
/** /**
@ -27,27 +27,27 @@ class Message extends BaseAdminController
*/ */
public function lists() public function lists()
{ {
$res = (new MessageService())->getList(); $res = (new NoticeService())->getList();
return success($res); return success($res);
} }
public function info($key) public function info($key)
{ {
$res = (new MessageService())->getInfo($key); $res = (new NoticeService())->getInfo($key);
return success($res); return success($res);
} }
/** /**
* 消息启动与关闭 * 消息启动与关闭
* @return Response * @return Response
*/ */
public function updateStatus() public function editStatus()
{ {
$data = $this->request->params([ $data = $this->request->params([
['key', ''], ['key', ''],
['type', ''], ['type', ''],
['status', 0], ['status', 0],
]); ]);
(new MessageService())->updateMessageStatus($data['key'], $data['type'], $data['status']); (new NoticeService())->editMessageStatus($data['key'], $data['type'], $data['status']);
return success(); return success();
} }
@ -75,11 +75,11 @@ class Message extends BaseAdminController
* 短信配置修改 * 短信配置修改
* @return Response * @return Response
*/ */
public function updateSms($sms_type) public function editSms($sms_type)
{ {
//参数获取 //参数获取
$sms_type_list = SmsEnum::getType(); $sms_type_list = SmsEnum::getType();
if(!array_key_exists($sms_type, $sms_type_list)) throw new AdminException(204002); if(!array_key_exists($sms_type, $sms_type_list)) throw new AdminException('SMS_TYPE_NOT_EXIST');
//数据验证 //数据验证
$data = [ $data = [
['is_use', 0] ['is_use', 0]
@ -105,7 +105,7 @@ class Message extends BaseAdminController
['receiver', ''], ['receiver', ''],
]); ]);
$res = (new MessageService())->getLogPage($data); $res = (new NoticeService())->getLogPage($data);
return success($res); return success($res);
} }
@ -113,7 +113,7 @@ class Message extends BaseAdminController
* 消息修改 * 消息修改
* @return Response * @return Response
*/ */
public function update() public function edit()
{ {
$data = $this->request->params([ $data = $this->request->params([
['key', ''], ['key', ''],
@ -123,7 +123,7 @@ class Message extends BaseAdminController
['wechat_first', ''], ['wechat_first', ''],
['wechat_remark', ''], ['wechat_remark', ''],
]); ]);
(new MessageService())->update($data['key'], $data['type'], $data); (new NoticeService())->edit($data['key'], $data['type'], $data);
return success(); return success();
} }

View File

@ -9,13 +9,13 @@
// | Author: Niucloud Team // | Author: Niucloud Team
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\controller\message; namespace app\adminapi\controller\notice;
use app\adminapi\controller\BaseAdminController; use app\service\admin\notice\NoticeLogService;
use app\service\admin\message\MessageLogService; use core\base\BaseAdminController;
use think\Response; use think\Response;
class MessageLog extends BaseAdminController class NoticeLog extends BaseAdminController
{ {
/** /**
@ -30,13 +30,13 @@ class MessageLog extends BaseAdminController
[ 'create_time', [] ] [ 'create_time', [] ]
]); ]);
$res = ( new MessageLogService() )->getPage($data); $res = ( new NoticeLogService() )->getPage($data);
return success($res); return success($res);
} }
public function info($id) public function info($id)
{ {
$res = ( new MessageLogService() )->getInfo($id); $res = ( new NoticeLogService() )->getInfo($id);
return success($res); return success($res);
} }

View File

@ -9,11 +9,11 @@
// | Author: Niucloud Team // | Author: Niucloud Team
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\controller\message; namespace app\adminapi\controller\notice;
use app\adminapi\controller\BaseAdminController; use app\service\admin\notice\NoticeLogService;
use app\service\admin\message\MessageLogService; use app\service\admin\notice\NoticeSmsLogService;
use app\service\admin\message\MessageSmsLogService; use core\base\BaseAdminController;
use think\Response; use think\Response;
class SmsLog extends BaseAdminController class SmsLog extends BaseAdminController
@ -31,13 +31,13 @@ class SmsLog extends BaseAdminController
[ 'key', '' ], [ 'key', '' ],
]); ]);
$res = ( new MessageSmsLogService() )->getPage($data); $res = ( new NoticeSmsLogService() )->getPage($data);
return success($res); return success($res);
} }
public function info($id) public function info($id)
{ {
$res = ( new MessageLogService() )->getInfo($id); $res = ( new NoticeLogService() )->getInfo($id);
return success($res); return success($res);
} }

View File

@ -11,8 +11,9 @@
namespace app\adminapi\controller\order; namespace app\adminapi\controller\order;
use app\adminapi\controller\BaseAdminController; use app\service\admin\order\RechargeOrderRefundService;
use app\service\admin\order\RechargeOrderService; use app\service\admin\order\RechargeOrderService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Recharge extends BaseAdminController class Recharge extends BaseAdminController
@ -47,4 +48,11 @@ class Recharge extends BaseAdminController
return success((new RechargeOrderService())->getStatus()); return success((new RechargeOrderService())->getStatus());
} }
public function refund($order_id)
{
$res = (new RechargeOrderRefundService())->create($order_id);
if ($res === true) return success();
return fail($res);
}
} }

View File

@ -0,0 +1,57 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\adminapi\controller\order;
use app\service\admin\order\RefundService;
use core\base\BaseAdminController;
use think\Response;
class Refund extends BaseAdminController
{
/**
* 退款列表
* @return Response
*/
public function lists()
{
$data = $this->request->params([
['create_time', []],
['member_id', ''],
['refund_no', ''],
['status', '']
]);
return success((new RefundService())->getPage($data));
}
/**
* 退款详情
* @param int $order_id
* @return Response
*/
public function detail(int $refund_id)
{
return success((new RefundService())->getDetail($refund_id));
}
/**
* 查询退款状态
* @param $type
* @return Response
*/
public function status($type = 'recharge')
{
$data = $this->request->params([
['type', 'recharge']
]);
return success((new RefundService())->getStatus($data['type']));
}
}

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\pay; namespace app\adminapi\controller\pay;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\pay\PayConfigService; use app\service\admin\pay\PayConfigService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Config extends BaseAdminController class Config extends BaseAdminController
@ -60,4 +60,5 @@ class Config extends BaseAdminController
} }
} }

View File

@ -0,0 +1,90 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\adminapi\controller\pay;
use app\enum\pay\PayEnum;
use app\model\pay\PayConfigTemplate;
use app\service\admin\pay\PayChannelService;
use app\service\admin\pay\PayConfigTemplateService;
use core\base\BaseAdminController;
use think\Response;
class PayChannel extends BaseAdminController
{
/**
* 支付渠道设置
* @return Response
*/
public function set($channel, $type){
$data = $this->request->params([
['is_default', 0],
['config', []],
['status', 0]
]);
$data['config']['type'] = $type;
$this->validate($data['config'], 'app\validate\pay\Pay.set');
(new PayChannelService())->set($channel, $type, $data);
return success('SET_SUCCESS');
}
/**
* 支付渠道列表
* @return Response
*/
public function lists(){
return success((new PayChannelService())->getChannelList());
}
/**
* 通过渠道获取支付配置
* @param $channel
* @return Response
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function getListByChannel($channel){
return success((new PayChannelService())->getListByChannel($channel));
}
/**
* 支付设置
* @return Response
*/
public function setTransfer(){
$data = $this->request->params([
['wechatpay_config', []],
['alipay_config', []],
]);
$this->validate(array_merge($data['wechatpay_config'], ['type' => PayEnum::WECHATPAY]), 'app\validate\pay\Pay.set');
$this->validate(array_merge($data['alipay_config'], ['type' => PayEnum::ALIPAY]), 'app\validate\pay\Pay.set');
(new PayChannelService())->setTransfer($data);
return success('SET_SUCCESS');
}
/**
* 多渠道支付设置
* @return Response
*/
public function setAll(){
$data = $this->request->params([
['config', []],
]);
// $this->validate(array_merge($data['wechatpay_config'], ['type' => PayEnum::WECHATPAY]), 'app\validate\pay\Pay.set');
// $this->validate(array_merge($data['alipay_config'], ['type' => PayEnum::ALIPAY]), 'app\validate\pay\Pay.set');
(new PayChannelService())->setAll($data['config']);
return success('SET_SUCCESS');
}
}

View File

@ -11,10 +11,10 @@
namespace app\adminapi\controller\site; namespace app\adminapi\controller\site;
use app\adminapi\controller\BaseAdminController;
use app\enum\site\SiteEnum; use app\enum\site\SiteEnum;
use app\service\admin\auth\AuthSiteService; use app\service\admin\auth\AuthSiteService;
use app\service\admin\site\SiteService; use app\service\admin\site\SiteService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Site extends BaseAdminController class Site extends BaseAdminController
@ -60,22 +60,22 @@ class Site extends BaseAdminController
$this->validate($data, 'app\validate\site\Site.add'); $this->validate($data, 'app\validate\site\Site.add');
$this->validate($data, 'app\validate\sys\User.add'); $this->validate($data, 'app\validate\sys\User.add');
$site_id = (new SiteService())->add($data); $site_id = (new SiteService())->add($data);
return success(100011, ['site_id' => $site_id]); return success('ADD_SUCCESS', ['site_id' => $site_id]);
} }
/** /**
* 菜单或接口更新 * 菜单或接口更新
*/ */
public function update($id) public function edit($id)
{ {
$data = $this->request->params([ $data = $this->request->params([
['site_name', ''], ['site_name', ''],
['group_id', 0], ['group_id', 0],
['expire_time', 0] ['expire_time', 0]
]); ]);
$this->validate($data, 'app\validate\site\Site.update'); $this->validate($data, 'app\validate\site\Site.edit');
(new SiteService())->update($id, $data); (new SiteService())->edit($id, $data);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\site; namespace app\adminapi\controller\site;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\site\SiteGroupService; use app\service\admin\site\SiteGroupService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
/** /**
@ -55,7 +55,7 @@ class SiteGroup extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\site\SiteGroup.add'); $this->validate($data, 'app\validate\site\SiteGroup.add');
$group_id = (new SiteGroupService())->add($data); $group_id = (new SiteGroupService())->add($data);
return success(100011, ['group_id' => $group_id]); return success('ADD_SUCCESS', ['group_id' => $group_id]);
} }
/** /**
@ -63,15 +63,15 @@ class SiteGroup extends BaseAdminController
* @param $group_id * @param $group_id
* @return Response * @return Response
*/ */
public function update($group_id){ public function edit($group_id){
$data = $this->request->params([ $data = $this->request->params([
['group_name', ''], ['group_name', ''],
['group_desc', ''], ['group_desc', ''],
['group_roles', ''], ['group_roles', ''],
]); ]);
$this->validate($data, 'app\validate\site\SiteGroup.add'); $this->validate($data, 'app\validate\site\SiteGroup.add');
(new SiteGroupService())->update($group_id, $data); (new SiteGroupService())->edit($group_id, $data);
return success(100004); return success('EDIT_SUCCESS');
} }
/** /**
@ -82,7 +82,7 @@ class SiteGroup extends BaseAdminController
public function del($group_id){ public function del($group_id){
(new SiteGroupService())->del($group_id); (new SiteGroupService())->del($group_id);
return success(100004); return success('DELETE_SUCCESS');
} }
/** /**

View File

@ -11,10 +11,10 @@
namespace app\adminapi\controller\site; namespace app\adminapi\controller\site;
use app\adminapi\controller\BaseAdminController;
use app\enum\sys\UserEnum; use app\enum\sys\UserEnum;
use app\service\admin\site\SiteUserService; use app\service\admin\site\SiteUserService;
use app\service\admin\user\UserService; use app\service\admin\user\UserService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
/** /**
@ -60,14 +60,14 @@ class User extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\sys\User.add'); $this->validate($data, 'app\validate\sys\User.add');
$uid = (new SiteUserService())->add($data); $uid = (new SiteUserService())->add($data);
return success(100011, ['uid' => $uid]); return success('ADD_SUCCESS', ['uid' => $uid]);
} }
/** /**
* 更新用户 * 更新用户
*/ */
public function update($uid){ public function edit($uid){
$data = $this->request->params([ $data = $this->request->params([
['real_name', ''], ['real_name', ''],
['head_img', ''], ['head_img', ''],
@ -75,9 +75,8 @@ class User extends BaseAdminController
['role_ids', []], ['role_ids', []],
['password', ''] ['password', '']
]); ]);
// $this->validate($data, 'app\validate\sys\User.update'); (new SiteUserService())->edit($uid, $data);
(new SiteUserService())->update($uid, $data); return success('MODIFY_SUCCESS');
return success(100004);
} }
/** /**
@ -94,7 +93,7 @@ class User extends BaseAdminController
$data[$field] = $data['value']; $data[$field] = $data['value'];
// $this->validate($data, 'app\validate\sys\User.modify'); // $this->validate($data, 'app\validate\sys\User.modify');
(new SiteUserService())->modify($uid, $field, $data['value']); (new SiteUserService())->modify($uid, $field, $data['value']);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**
@ -103,7 +102,7 @@ class User extends BaseAdminController
*/ */
public function del($uid){ public function del($uid){
(new UserService())->del($uid); (new UserService())->del($uid);
return success(100003); return success('DELETE_SUCCESS');
} }
/** /**
@ -112,7 +111,7 @@ class User extends BaseAdminController
public function lock($uid){ public function lock($uid){
(new SiteUserService())->lock($uid); (new SiteUserService())->lock($uid);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**
@ -121,7 +120,7 @@ class User extends BaseAdminController
public function unlock($uid){ public function unlock($uid){
(new SiteUserService())->unlock($uid); (new SiteUserService())->unlock($uid);
return success(100004); return success('MODIFY_SUCCESS');
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\site; namespace app\adminapi\controller\site;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\site\UserLogService; use app\service\admin\site\UserLogService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class UserLog extends BaseAdminController class UserLog extends BaseAdminController

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\stat; namespace app\adminapi\controller\stat;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\stat\SiteStatService; use app\service\admin\stat\SiteStatService;
use core\base\BaseAdminController;
/** /**
* 统计数据 * 统计数据

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\stat; namespace app\adminapi\controller\stat;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\stat\StatService; use app\service\admin\stat\StatService;
use core\base\BaseAdminController;
/** /**
* 统计数据 * 统计数据

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\sys; namespace app\adminapi\controller\sys;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\sys\AgreementService; use app\service\admin\sys\AgreementService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
/** /**
@ -48,14 +48,14 @@ class Agreement extends BaseAdminController
* @param string $key * @param string $key
* @return Response * @return Response
*/ */
public function update(string $key){ public function edit(string $key){
$data = $this->request->params([ $data = $this->request->params([
['title', ''], ['title', ''],
['content', ''], ['content', ''],
], false); ], false);
$this->validate($data, 'app\validate\sys\Agreement.update'); $this->validate($data, 'app\validate\sys\Agreement.edit');
(new AgreementService())->setAgreement($key, $data['title'], $data['content']); (new AgreementService())->setAgreement($key, $data['title'], $data['content']);
return success(100004); return success('EDIT_SUCCESS');
} }

View File

@ -0,0 +1,31 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\adminapi\controller\sys;
use app\service\admin\sys\AppService;
use core\base\BaseAdminController;
/**
* 应用管理
*/
class App extends BaseAdminController
{
/**
* 获取应用链接列表
* @return \think\Response
*/
public function getAppList(){
return success((new AppService())->getAppList());
}
}

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\sys; namespace app\adminapi\controller\sys;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\sys\AreaService; use app\service\admin\sys\AreaService;
use core\base\BaseAdminController;
class Area extends BaseAdminController class Area extends BaseAdminController
{ {

View File

@ -11,9 +11,9 @@
namespace app\adminapi\controller\sys; namespace app\adminapi\controller\sys;
use app\adminapi\controller\BaseAdminController;
use app\enum\sys\FileEnum; use app\enum\sys\FileEnum;
use app\service\admin\sys\AttachmentService; use app\service\admin\sys\AttachmentService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Attachment extends BaseAdminController class Attachment extends BaseAdminController
@ -53,7 +53,7 @@ class Attachment extends BaseAdminController
['att_ids', []], ['att_ids', []],
]); ]);
(new AttachmentService())->delAll($data['att_ids']); (new AttachmentService())->delAll($data['att_ids']);
return success(100003); return success('DELETE_SUCCESS');
} }
/** /**
@ -68,7 +68,7 @@ class Attachment extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\sys\AttachmentCategory.add'); $this->validate($data, 'app\validate\sys\AttachmentCategory.add');
(new AttachmentService())->addCategory($data); (new AttachmentService())->addCategory($data);
return success(100011); return success('ADD_SUCCESS');
} }
/** /**
@ -87,14 +87,14 @@ class Attachment extends BaseAdminController
* 更新附件分组 * 更新附件分组
* @return Response * @return Response
*/ */
public function updateCategory($id) public function editCategory($id)
{ {
$data = $this->request->params([ $data = $this->request->params([
['name', ''] ['name', '']
]); ]);
$this->validate($data, 'app\validate\sys\AttachmentCategory.update'); $this->validate($data, 'app\validate\sys\AttachmentCategory.edit');
(new AttachmentService())->updateCategory($id, $data); (new AttachmentService())->editCategory($id, $data);
return success(100004); return success('EDIT_SUCCESS');
} }
/** /**
@ -105,7 +105,7 @@ class Attachment extends BaseAdminController
public function deleteCategory($id) public function deleteCategory($id)
{ {
(new AttachmentService())->delCategory($id); (new AttachmentService())->delCategory($id);
return success(100003); return success('DELETE_SUCCESS');
} }
/** /**
@ -118,7 +118,7 @@ class Attachment extends BaseAdminController
['cate_id', ''] ['cate_id', '']
]); ]);
(new AttachmentService())->modifyCategory($att_id, $data['cate_id']); (new AttachmentService())->modifyCategory($att_id, $data['cate_id']);
return success(100000); return success('SUCCESS');
} }
/** /**
@ -133,7 +133,7 @@ class Attachment extends BaseAdminController
['att_ids', []] ['att_ids', []]
]); ]);
(new AttachmentService())->batchModifyCategory($data['att_ids'], $data['cate_id']); (new AttachmentService())->batchModifyCategory($data['att_ids'], $data['cate_id']);
return success(100000); return success('SUCCESS');
} }
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\sys; namespace app\adminapi\controller\sys;
use app\adminapi\controller\BaseAdminController;
use app\enum\common\ChannelEnum; use app\enum\common\ChannelEnum;
use core\base\BaseAdminController;
class Channel extends BaseAdminController class Channel extends BaseAdminController
{ {

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\sys; namespace app\adminapi\controller\sys;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\sys\ConfigService; use app\service\admin\sys\ConfigService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Config extends BaseAdminController class Config extends BaseAdminController
@ -45,7 +45,7 @@ class Config extends BaseAdminController
["phone",""], ["phone",""],
["business_hours",""], ["business_hours",""],
]); ]);
$this->validate($data, 'app\validate\site\site.update'); $this->validate($data, 'app\validate\site\site.edit');
(new ConfigService())->setWebSite($data); (new ConfigService())->setWebSite($data);
return success(); return success();
} }

View File

@ -11,9 +11,9 @@
namespace app\adminapi\controller\sys; namespace app\adminapi\controller\sys;
use app\adminapi\controller\BaseAdminController;
use app\enum\sys\CronEnum; use app\enum\sys\CronEnum;
use app\service\admin\cron\CronService; use app\service\admin\cron\CronService;
use core\base\BaseAdminController;
/** /**
* 自动任务 * 自动任务

View File

@ -11,12 +11,12 @@
namespace app\adminapi\controller\sys; namespace app\adminapi\controller\sys;
use app\adminapi\controller\BaseAdminController;
use app\enum\sys\MenuEnum; use app\enum\sys\MenuEnum;
use app\enum\sys\MenuTypeEnum; use app\enum\sys\MenuTypeEnum;
use app\enum\sys\MethodEnum; use app\enum\sys\MethodEnum;
use app\service\admin\install\InstallSystemService; use app\service\admin\install\InstallSystemService;
use app\service\admin\sys\MenuService; use app\service\admin\sys\MenuService;
use core\base\BaseAdminController;
use think\Exception; use think\Exception;
use think\Response; use think\Response;
@ -65,13 +65,13 @@ class Menu extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\sys\Menu.add'); $this->validate($data, 'app\validate\sys\Menu.add');
(new MenuService())->add($data); (new MenuService())->add($data);
return success(100011); return success('ADD_SUCCESS');
} }
/** /**
* 菜单或接口更新 * 菜单或接口更新
*/ */
public function update($menu_key){ public function edit($menu_key){
$data = $this->request->params([ $data = $this->request->params([
['menu_name', ''], ['menu_name', ''],
['parent_key', ''], ['parent_key', ''],
@ -89,8 +89,8 @@ class Menu extends BaseAdminController
['is_show', 0], ['is_show', 0],
]); ]);
$this->validate($data, 'app\validate\sys\Menu.edit'); $this->validate($data, 'app\validate\sys\Menu.edit');
(new MenuService())->update($menu_key, $data); (new MenuService())->edit($menu_key, $data);
return success(100004); return success('EDIT_SUCCESS');
} }
@ -118,11 +118,11 @@ class Menu extends BaseAdminController
*/ */
public function del($menu_key){ public function del($menu_key){
(new MenuService())->del($menu_key); (new MenuService())->del($menu_key);
return success(100003); return success('DELETE_SUCCESS');
} }
public function refreshMenu(){ public function refreshMenu(){
(new InstallSystemService())->install(); (new InstallSystemService())->install();
return success(100019); return success('REFRESH_SUCCESS');
} }
} }

View File

@ -11,9 +11,9 @@
namespace app\adminapi\controller\sys; namespace app\adminapi\controller\sys;
use app\adminapi\controller\BaseAdminController;
use app\enum\sys\RoleStatusEnum; use app\enum\sys\RoleStatusEnum;
use app\service\admin\sys\RoleService; use app\service\admin\sys\RoleService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Role extends BaseAdminController class Role extends BaseAdminController
@ -55,22 +55,22 @@ class Role extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\sys\Role.add'); $this->validate($data, 'app\validate\sys\Role.add');
(new RoleService())->add($data); (new RoleService())->add($data);
return success(100011); return success('ADD_SUCCESS');
} }
/** /**
* 更新用户组 * 更新用户组
*/ */
public function update($role_id){ public function edit($role_id){
$data = $this->request->params([ $data = $this->request->params([
['role_name', ''], ['role_name', ''],
['rules', []], ['rules', []],
['status', RoleStatusEnum::ON], ['status', RoleStatusEnum::ON],
]); ]);
$this->validate($data, 'app\validate\sys\Role.update'); $this->validate($data, 'app\validate\sys\Role.edit');
(new RoleService())->update($role_id, $data); (new RoleService())->edit($role_id, $data);
return success(100004); return success('EDIT_SUCCESS');
} }
@ -80,7 +80,7 @@ class Role extends BaseAdminController
*/ */
public function del($role_id){ public function del($role_id){
(new RoleService())->del($role_id); (new RoleService())->del($role_id);
return success(100003); return success('DELETE_SUCCESS');
} }
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\sys; namespace app\adminapi\controller\sys;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\sys\SystemService; use app\service\admin\sys\SystemService;
use core\base\BaseAdminController;
/** /**
* 系统信息查询 * 系统信息查询
@ -30,4 +30,21 @@ class System extends BaseAdminController
return success((new SystemService())->getInfo()); return success((new SystemService())->getInfo());
} }
/**
* 获取当前url配置
* @return array|mixed
*/
public function url()
{
return success((new SystemService())->getUrl());
}
/**
* 获取系统环境配置
* @return \think\Response
*/
public function getSystemInfo(){
return success((new SystemService())->getSystemInfo());
}
} }

View File

@ -0,0 +1,37 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\adminapi\controller\sys;
use app\service\admin\addon\TerminalService;
use app\service\admin\sys\SystemService;
use core\base\BaseAdminController;
/**
* 系统信息查询
* Class System
* @package app\adminapi\controller\sys
*/
class Terminal extends BaseAdminController
{
/**
* 执行命令行
* @return array|mixed
*/
public function exec()
{
$commands = $this->request->params([
['commands', []],
]);
TerminalService::instance()->exec($commands);
}
}

View File

@ -11,12 +11,10 @@
namespace app\adminapi\controller\upload; namespace app\adminapi\controller\upload;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\controller\sys\AdminException; use app\adminapi\controller\sys\AdminException;
use app\enum\sys\StorageEnum; use app\enum\sys\StorageEnum;
use app\service\admin\file\StorageConfigService; use app\service\admin\file\StorageConfigService;
use app\service\admin\file\UploadConfigService; use core\base\BaseAdminController;
use app\service\admin\file\UploadService;
use think\Response; use think\Response;
class Storage extends BaseAdminController class Storage extends BaseAdminController
@ -46,11 +44,11 @@ class Storage extends BaseAdminController
* 存储设置修改 * 存储设置修改
* @return Response * @return Response
*/ */
public function updateStorage($storage_type) public function editStorage($storage_type)
{ {
//参数获取 //参数获取
$storage_type_list = StorageEnum::getType(); $storage_type_list = StorageEnum::getType();
if (!array_key_exists($storage_type, $storage_type_list)) throw new AdminException(203005); if (!array_key_exists($storage_type, $storage_type_list)) throw new AdminException('OSS_TYPE_NOT_EXIST');
//数据验证 //数据验证
$data = [ $data = [
['is_use', 0] ['is_use', 0]
@ -61,7 +59,7 @@ class Storage extends BaseAdminController
$request_data = $this->request->params($data); $request_data = $this->request->params($data);
(new StorageConfigService())->setStorageConfig($storage_type, $request_data); (new StorageConfigService())->setStorageConfig($storage_type, $request_data);
return success(100016); return success('SET_SUCCESS');
} }

View File

@ -11,11 +11,10 @@
namespace app\adminapi\controller\upload; namespace app\adminapi\controller\upload;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\controller\sys\AdminException; use app\adminapi\controller\sys\AdminException;
use app\enum\sys\StorageEnum;
use app\service\admin\file\UploadConfigService; use app\service\admin\file\UploadConfigService;
use app\service\admin\file\UploadService; use app\service\admin\file\UploadService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Upload extends BaseAdminController class Upload extends BaseAdminController
@ -53,12 +52,12 @@ class Upload extends BaseAdminController
* 文件上传(默认不上云) * 文件上传(默认不上云)
* @return Response * @return Response
*/ */
public function document(){ public function document($type){
$data = $this->request->params([ $data = $this->request->params([
['file', 'file'], ['file', 'file'],
], true); ], true);
$upload_service = new UploadService(); $upload_service = new UploadService();
return success($upload_service->document($data['file'], true)); return success($upload_service->document($data['file'], $type, true));
} }
@ -78,7 +77,7 @@ class Upload extends BaseAdminController
] ]
); );
(new UploadConfigService())->setUploadConfig($data); (new UploadConfigService())->setUploadConfig($data);
return success(100016); return success('SET_SUCCESS');
} }
/** /**
@ -90,17 +89,4 @@ class Upload extends BaseAdminController
return success((new UploadConfigService())->getUploadConfig()); return success((new UploadConfigService())->getUploadConfig());
} }
/**
* 证书上传
* @param $type
* @return void
*/
public function cert($type){
$data = $this->request->params([
['file', 'file'],
], true);
$upload_service = new UploadService();
return success($upload_service->cert($data['file'], $type));
}
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\user; namespace app\adminapi\controller\user;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\user\UserService; use app\service\admin\user\UserService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class User extends BaseAdminController class User extends BaseAdminController

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\weapp; namespace app\adminapi\controller\weapp;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\weapp\WeappConfigService; use app\service\admin\weapp\WeappConfigService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Config extends BaseAdminController class Config extends BaseAdminController
@ -42,7 +42,7 @@ class Config extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\channel\Weapp.set'); $this->validate($data, 'app\validate\channel\Weapp.set');
(new WeappConfigService())->setWeappConfig($data); (new WeappConfigService())->setWeappConfig($data);
return success(100016); return success('SET_SUCCESS');
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\weapp; namespace app\adminapi\controller\weapp;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\weapp\WeappTemplateService; use app\service\admin\weapp\WeappTemplateService;
use core\base\BaseAdminController;
/** /**
* 微信小程序订阅消息 * 微信小程序订阅消息

View File

@ -11,10 +11,9 @@
namespace app\adminapi\controller\wechat; namespace app\adminapi\controller\wechat;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\file\UploadService;
use app\service\admin\site\WebSiteConfigService; use app\service\admin\site\WebSiteConfigService;
use app\service\admin\wechat\WechatConfigService; use app\service\admin\wechat\WechatConfigService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
class Config extends BaseAdminController class Config extends BaseAdminController
@ -44,7 +43,7 @@ class Config extends BaseAdminController
]); ]);
$this->validate($data, 'app\validate\channel\Wechat.set'); $this->validate($data, 'app\validate\channel\Wechat.set');
(new WechatConfigService())->setWechatConfig($data); (new WechatConfigService())->setWechatConfig($data);
return success(100016); return success('SET_SUCCESS');
} }
/** /**
@ -55,16 +54,4 @@ class Config extends BaseAdminController
return success((new WechatConfigService())->getWechatStaticInfo()); return success((new WechatConfigService())->getWechatStaticInfo());
} }
/**
* 文件上传(默认不上云)
* @return Response
*/
public function document(){
$data = $this->request->params([
['file', 'file'],
], true);
$upload_service = new UploadService();
return success($upload_service->document($data['file'], true));
}
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\wechat; namespace app\adminapi\controller\wechat;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\wechat\WechatMenuService; use app\service\admin\wechat\WechatMenuService;
use core\base\BaseAdminController;
/** /**
* 微信公众号管理菜单 * 微信公众号管理菜单
@ -33,12 +33,12 @@ class Menu extends BaseAdminController
* 设置菜单 * 设置菜单
* @return void * @return void
*/ */
public function update(){ public function edit(){
$wechat_menu_service = new WechatMenuService(); $wechat_menu_service = new WechatMenuService();
$data = $this->request->params([ $data = $this->request->params([
['button', []] ['button', []]
]); ]);
$wechat_menu_service->update($data['button']); $wechat_menu_service->edit($data['button']);
return success(100004); return success('EDIT_SUCCESS');
} }
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\wechat; namespace app\adminapi\controller\wechat;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\wechat\WechatReplyService; use app\service\admin\wechat\WechatReplyService;
use core\base\BaseAdminController;
use think\Response; use think\Response;
/** /**
@ -60,7 +60,7 @@ class Reply extends BaseAdminController
* 更新关键词回复 * 更新关键词回复
* @return void * @return void
*/ */
public function updateKeyword($id){ public function editKeyword($id){
$wechat_reply_service = new WechatReplyService(); $wechat_reply_service = new WechatReplyService();
$data = $this->request->params([ $data = $this->request->params([
['name', ''], ['name', ''],
@ -71,7 +71,7 @@ class Reply extends BaseAdminController
['status', 0], ['status', 0],
['sort', ''], ['sort', ''],
]); ]);
return success($wechat_reply_service->updateKeyword($id, $data)); return success($wechat_reply_service->editKeyword($id, $data));
} }
/** /**
@ -96,14 +96,14 @@ class Reply extends BaseAdminController
* 更新默认回复 * 更新默认回复
* @return Response * @return Response
*/ */
public function updateDefault(){ public function editDefault(){
$data = $this->request->params([ $data = $this->request->params([
['content_type', ''], ['content_type', ''],
['content', ''], ['content', ''],
['status', 0], ['status', 0],
]); ]);
$wechat_reply_service = new WechatReplyService(); $wechat_reply_service = new WechatReplyService();
return success($wechat_reply_service->updateDefault($data)); return success($wechat_reply_service->editDefault($data));
} }
/** /**
@ -119,14 +119,14 @@ class Reply extends BaseAdminController
* 更新关注回复 * 更新关注回复
* @return Response * @return Response
*/ */
public function updateSubscribe(){ public function editSubscribe(){
$data = $this->request->params([ $data = $this->request->params([
['content_type', ''], ['content_type', ''],
['content', ''], ['content', ''],
['status', 0], ['status', 0],
]); ]);
$wechat_reply_service = new WechatReplyService(); $wechat_reply_service = new WechatReplyService();
return success($wechat_reply_service->updateSubscribe($data)); return success($wechat_reply_service->editSubscribe($data));
} }

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\wechat; namespace app\adminapi\controller\wechat;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\wechat\WechatTemplateService; use app\service\admin\wechat\WechatTemplateService;
use core\base\BaseAdminController;
/** /**
* 微信公众号管理菜单 * 微信公众号管理菜单

View File

@ -0,0 +1,8 @@
<?php
// 全局中间件定义文件
use app\adminapi\middleware\AllowCrossDomain;
return [
//跨域请求中间件
AllowCrossDomain::class,
];

View File

@ -9,10 +9,11 @@
// | Author: Niucloud Team // | Author: Niucloud Team
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\middleware; namespace app\adminapi\middleware;
use app\Request; use app\Request;
use Closure; use Closure;
use core\exception\AdminException;
/** /**
* http跨域请求中间件 * http跨域请求中间件
@ -25,18 +26,37 @@ class AllowCrossDomain
{ {
$allow_header = [ $allow_header = [
system_name('admin_token_name'), system_name('admin_token_name'),
system_name('api_token_name'),
system_name('admin_site_id_name'), system_name('admin_site_id_name'),
system_name('api_site_id_name'),
system_name('channel_name'), system_name('channel_name'),
'lang' 'lang'
]; ];
//todo 周 自定义Authorization等需要在.htaccess内加上SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 nginx同理
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: Authorization, Sec-Fetch-Mode, DNT, X-Mx-ReqToken, Keep-Alive, User-Agent, If-Match, If-None-Match, If-Unmodified-Since, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Accept-Language, Origin, Accept-Encoding,Access-Token,version,".implode(',', $allow_header)); header("Access-Control-Allow-Headers: Authorization, Sec-Fetch-Mode, DNT, X-Mx-ReqToken, Keep-Alive, User-Agent, If-Match, If-None-Match, If-Unmodified-Since, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Accept-Language, Origin, Accept-Encoding,Access-Token,version,".implode(',', $allow_header));
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, post'); header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, post');
header('Access-Control-Max-Age: 1728000'); header('Access-Control-Max-Age: 1728000');
header('Access-Control-Allow-Credentials:true'); header('Access-Control-Allow-Credentials:true');
//todo 周 自定义Authorization等需要在.htaccess内加上SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 nginx同理
$allow_origin = [
rtrim(str_replace('https://','',str_replace('http://','',$request->domain())),"/"),
];
if(env('system.admin_domain')){
$allow_origin[] = rtrim(str_replace('https://','',str_replace('http://','',env('system.admin_domain'))),"/");
}
$referer = $request->header('referer');
$origin = '';
if(!empty($referer)){
$referer = parse_url($referer);
$referer = $referer['host'] ?? '';
$origin = rtrim(str_replace('https://','',str_replace('http://','',$referer)),"/");
}
// $origin = $request->header('origin');
if(env('app_debug') || ($origin && in_array($origin, $allow_origin))){
// header('Access-Control-Allow-Origin: ' . $origin);
header('Access-Control-Allow-Origin: *');
}else{
header('Access-Control-Allow-Origin: *');
throw new AdminException('SERVER_CROSS_REQUEST_FAIL');
}
return $next($request); return $next($request);
} }
} }

View File

@ -0,0 +1,46 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
use app\adminapi\middleware\AdminCheckRole;
use app\adminapi\middleware\AdminCheckToken;
use app\adminapi\middleware\AdminLog;
use think\facade\Route;
/**
* 路由
*/
Route::group(function () {
//获取本地插件
Route::get('addon/local', 'addon.Addon/getLocalAddonList');
//获取插件列表
Route::get('addon', 'addon.Addon/lists');
//获取插件详情
Route::get('addon/:id', 'addon.Addon/info');
Route::put('addon/status/:id/:status', 'addon.Addon/setStatus');
//安装插件
Route::post('addon/install/:addon', 'addon.Addon/install');
//卸载插件
Route::post('addon/uninstall/:addon', 'addon.Addon/uninstall');
//插件状态
Route::get('addon/install/status/:addon', 'addon.Addon/uninstall');
//卸载插件
Route::post('addon/edit/:addon', 'addon.Addon/edit');
//应用列表(...)
Route::get('app/list', 'addon.App/getAppList');
})->middleware([
AdminCheckToken::class,
AdminCheckRole::class,
AdminLog::class
]);;

View File

@ -14,5 +14,7 @@ use think\facade\Route;
$is_demo = env('system.is_demo', 0); $is_demo = env('system.is_demo', 0);
if($is_demo&& !\think\facade\Request::isGet()) if($is_demo&& !\think\facade\Request::isGet())
{ {
throw new \extend\exception\CommonException("演示数据不能进行修改"); //加载插件路由
throw new \core\exception\CommonException("演示数据不能进行修改");
} }

View File

@ -28,7 +28,7 @@ Route::group('article', function () {
//添加文章 //添加文章
Route::post('article', 'article.Article/add'); Route::post('article', 'article.Article/add');
//编辑文章 //编辑文章
Route::put('article/:id', 'article.Article/update'); Route::put('article/:id', 'article.Article/edit');
//删除文章 //删除文章
Route::delete('article/:id', 'article.Article/del'); Route::delete('article/:id', 'article.Article/del');
/***************************************************** 文章分类管理 ****************************************************/ /***************************************************** 文章分类管理 ****************************************************/
@ -41,7 +41,7 @@ Route::group('article', function () {
//添加文章分类 //添加文章分类
Route::post('category', 'article.ArticleCategory/add'); Route::post('category', 'article.ArticleCategory/add');
//编辑文章分类 //编辑文章分类
Route::put('category/:id', 'article.ArticleCategory/update'); Route::put('category/:id', 'article.ArticleCategory/edit');
//删除文章分类 //删除文章分类
Route::delete('category/:category_id', 'article.ArticleCategory/del'); Route::delete('category/:category_id', 'article.ArticleCategory/del');

View File

@ -29,7 +29,7 @@ Route::group('auth', function () {
//授权用户菜单 //授权用户菜单
Route::put('modify/:field', 'auth.Auth/modify'); Route::put('modify/:field', 'auth.Auth/modify');
//授权用户菜单 //授权用户菜单
Route::put('update', 'auth.Auth/update'); Route::put('edit', 'auth.Auth/edit');
//授权站点信息 //授权站点信息
Route::get('site', 'auth.Auth/site'); Route::get('site', 'auth.Auth/site');

View File

@ -31,7 +31,7 @@ Route::group('diy', function() {
Route::post('diy', 'diy.Diy/add'); Route::post('diy', 'diy.Diy/add');
//编辑自定义页面 //编辑自定义页面
Route::put('diy/:id', 'diy.Diy/update'); Route::put('diy/:id', 'diy.Diy/edit');
//删除自定义页面 //删除自定义页面
Route::delete('diy/:id', 'diy.Diy/del'); Route::delete('diy/:id', 'diy.Diy/del');
@ -51,6 +51,9 @@ Route::group('diy', function() {
// 自定义路由列表 // 自定义路由列表
Route::get('route', 'diy.DiyRoute/lists'); Route::get('route', 'diy.DiyRoute/lists');
// 获取自定义路由分享内容
Route::get('route/info', 'diy.DiyRoute/getInfoByName');
// 编辑自定义路由分享内容 // 编辑自定义路由分享内容
Route::put('route/share', 'diy.DiyRoute/modifyShare'); Route::put('route/share', 'diy.DiyRoute/modifyShare');

View File

@ -29,7 +29,7 @@ Route::group('generator', function () {
//添加代码生成 //添加代码生成
Route::post('generator', 'generator.generator/add'); Route::post('generator', 'generator.generator/add');
//编辑代码生成 //编辑代码生成
Route::put('generator/:id', 'generator.generator/update'); Route::put('generator/:id', 'generator.generator/edit');
//删除代码生成 //删除代码生成
Route::delete('generator/:id', 'generator.generator/del'); Route::delete('generator/:id', 'generator.generator/del');
//代码生成 //代码生成

View File

@ -27,12 +27,18 @@ Route::group('member', function () {
//会员添加 //会员添加
Route::post('member', 'member.Member/add'); Route::post('member', 'member.Member/add');
//会员添加 //会员添加
Route::put('member/:member_id', 'member.Member/update');//会员添加 Route::put('member/:member_id', 'member.Member/edit');//会员添加
Route::put('member/modify/:member_id/:field', 'member.Member/modify'); Route::put('member/modify/:member_id/:field', 'member.Member/modify');
//会员使用场景 //会员注册方式
Route::get('registertype', 'member.Member/getMemberRegisterType'); Route::get('registertype', 'member.Member/getMemberRegisterType');
//会员注册渠道
Route::get('register/channel', 'member.Member/getMemberRegisterChannelType');
//会员列表(不分页) //会员列表(不分页)
Route::get('member/list', 'member.Member/getMemberList'); Route::get('member/list', 'member.Member/getMemberList');
//获取会员状态枚举
Route::get('status/list', 'member.Member/getStatusList');
//会员设置状态
Route::put('setstatus/:status', 'member.Member/setStatus');
/***************************************************** 会员标签 ****************************************************/ /***************************************************** 会员标签 ****************************************************/
//会员标签列表 //会员标签列表
Route::get('label', 'member.MemberLabel/lists'); Route::get('label', 'member.MemberLabel/lists');
@ -41,44 +47,54 @@ Route::group('member', function () {
//会员标签添加 //会员标签添加
Route::post('label', 'member.MemberLabel/add'); Route::post('label', 'member.MemberLabel/add');
//会员标签编辑 //会员标签编辑
Route::put('label/:id', 'member.MemberLabel/update'); Route::put('label/:id', 'member.MemberLabel/edit');
//会员标签删除 //会员标签删除
Route::delete('label/:id', 'member.MemberLabel/del'); Route::delete('label/:id', 'member.MemberLabel/del');
//会员标签 //会员标签
Route::get('label/all', 'member.MemberLabel/getAll'); Route::get('label/all', 'member.MemberLabel/getAll');
/***************************************************** 会员账户 ****************************************************/ /***************************************************** 会员账户 ****************************************************/
//会员账户类型变动方式
Route::get('account/type', 'member.Account/accountType');
//会员积分流水 //会员积分流水
Route::get('account/point', 'member.Account/point'); Route::get('account/point', 'member.Account/point');
//会员余额流水 //会员余额流水
Route::get('account/balance', 'member.Account/balance'); Route::get('account/balance', 'member.Account/balance');
//会员零钱流水 //会员可提现余额流水
Route::get('account/money', 'member.Account/money'); Route::get('account/money', 'member.Account/money');
//会员佣金流水
Route::get('account/commission', 'member.Account/commission');
//会员积分调整 //会员积分调整
Route::post('account/point', 'member.Account/adjustPoint'); Route::post('account/point', 'member.Account/adjustPoint');
//会员余额调整 //会员余额调整
Route::post('account/balance', 'member.Account/adjustBalance'); Route::post('account/balance', 'member.Account/adjustBalance');
//会员零钱调整
Route::post('account/money', 'member.Account/adjustMoney');
//会员账户类型变动方式 //会员账户类型变动方式
Route::get('account/change_type/:account_type', 'member.Account/changeType'); Route::get('account/change_type/:account_type', 'member.Account/changeType');
//会员账户类型变动方式
Route::get('account/sum_balance', 'member.Account/sumBalance');
/***************************************************** 会员相关设置**************************************************/ /***************************************************** 会员相关设置**************************************************/
//获取注册与登录设置 //获取注册与登录设置
Route::get('config/login', 'member.Config/getLoginConfig'); Route::get('config/login', 'member.Config/getLoginConfig');
//更新注册与登录设置 //更新注册与登录设置
Route::post('config/login', 'member.Config/setLoginConfig'); Route::post('config/login', 'member.Config/setLoginConfig');
//获取会员提现设置 //获取会员提现设置
Route::get('config/withdraw', 'member.Config/getWithdrawConfig'); Route::get('config/cash_out', 'member.Config/getCashOutConfig');
//更新提现设置 //更新提现设置
Route::post('config/withdraw', 'member.Config/setWithdrawConfig'); Route::post('config/cash_out', 'member.Config/setCashOutConfig');
/***************************************************** 会员体现**************************************************/ /***************************************************** 会员体现**************************************************/
//会员提现列表 //会员提现列表
Route::get('withdraw', 'member.Withdraw/lists'); Route::get('cash_out', 'member.CashOut/lists');
//会员提现详情 //会员提现详情
Route::get('withdraw/:id', 'member.Withdraw/info'); Route::get('cash_out/:id', 'member.CashOut/info');
//会员提现审核 //会员提现审核
Route::put('withdraw/audit/:id/:action', 'member.Withdraw/audit'); Route::put('cash_out/audit/:id/:action', 'member.CashOut/audit');
//转账方式 //转账方式
Route::get('withdraw/transfertype', 'member.Withdraw/getTransferType'); Route::get('cash_out/transfertype', 'member.CashOut/getTransferType');
//转账方式 //转账方式
Route::put('withdraw/transfer/:id', 'member.Withdraw/transfer'); Route::put('cash_out/transfer/:id', 'member.CashOut/transfer');
//提现状态
Route::get('cash_out/status', 'member.CashOut/getStatusList');
})->middleware([ })->middleware([
AdminCheckToken::class, AdminCheckToken::class,

View File

@ -17,35 +17,35 @@ use think\facade\Route;
/** /**
* 消息模块 相关路由 * 消息模块 相关路由
*/ */
Route::group('message', function () { Route::group('notice', function () {
/***************************************************** 消息管理 ****************************************************/ /***************************************************** 消息管理 ****************************************************/
//消息列表 //消息列表
Route::get('message', 'message.Message/lists'); Route::get('notice', 'notice.Notice/lists');
//消息详情 //消息详情
Route::get('message/:key', 'message.Message/info'); Route::get('notice/:key', 'notice.Notice/info');
//消息启动与关闭 //消息启动与关闭
Route::post('message/updatestatus', 'message.Message/updateStatus'); Route::post('notice/editstatus', 'notice.Notice/editStatus');
//短信配置列表 //短信配置列表
Route::get('message/sms', 'message.Message/smsList'); Route::get('notice/sms', 'notice.Notice/smsList');
//短信配置详情 //短信配置详情
Route::get('message/sms/:sms_type', 'message.Message/smsConfig'); Route::get('notice/sms/:sms_type', 'notice.Notice/smsConfig');
//短信配置修改 //短信配置修改
Route::put('message/sms/:sms_type', 'message.Message/updateSms'); Route::put('notice/sms/:sms_type', 'notice.Notice/editSms');
//消息发送记录 //消息发送记录
Route::get('message/log', 'message.Message/getLogList'); Route::get('notice/log', 'notice.Notice/getLogList');
//消息修改 //消息修改
Route::post('message/update', 'message.Message/update'); Route::post('notice/edit', 'notice.Notice/edit');
//消息发送记录 //消息发送记录
Route::get('log', 'message.MessageLog/lists'); Route::get('log', 'notice.NoticeLog/lists');
//消息发送记录详情 //消息发送记录详情
Route::get('log/:id', 'message.MessageLog/info'); Route::get('log/:id', 'notice.NoticeLog/info');
//短信发送记录 //短信发送记录
Route::get('sms/log', 'message.SmsLog/lists'); Route::get('sms/log', 'notice.SmsLog/lists');
//短信发送记录详情 //短信发送记录详情
Route::get('sms/log/:id', 'message.SmsLog/info'); Route::get('sms/log/:id', 'notice.SmsLog/info');
})->middleware([ })->middleware([
AdminCheckToken::class, AdminCheckToken::class,

View File

@ -26,6 +26,8 @@ Route::group('order', function () {
Route::get('recharge/:order_id', 'order.Recharge/detail'); Route::get('recharge/:order_id', 'order.Recharge/detail');
//订单状态 //订单状态
Route::get('recharge/status', 'order.Recharge/status'); Route::get('recharge/status', 'order.Recharge/status');
// 订单发起退款
Route::get('recharge/refund/:order_id', 'order.Recharge/refund');
})->middleware([ })->middleware([
AdminCheckToken::class, AdminCheckToken::class,
AdminCheckRole::class, AdminCheckRole::class,

View File

@ -26,6 +26,17 @@ Route::group('pay', function () {
Route::get('config/:type', 'pay.Config/get'); Route::get('config/:type', 'pay.Config/get');
//获取支付方式列表 //获取支付方式列表
Route::get('lists', 'pay.Config/lists'); Route::get('lists', 'pay.Config/lists');
/***************************************************** 支付渠道 *************************************************/
//渠道列表
Route::get('channel/lists', 'pay.PayChannel/lists');
//渠道设置
Route::post('channel/set/:channel/:type', 'pay.PayChannel/set');
//通过渠道获取支付配置
Route::get('channel/lists/:channel', 'pay.PayChannel/getListByChannel');
//转账设置
Route::post('channel/set/transfer', 'pay.PayChannel/setTransfer');
//多渠道设置
Route::post('channel/set/all', 'pay.PayChannel/setAll');
})->middleware([ })->middleware([
AdminCheckToken::class, AdminCheckToken::class,
AdminCheckRole::class, AdminCheckRole::class,

View File

@ -0,0 +1,33 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
use app\adminapi\middleware\AdminCheckRole;
use app\adminapi\middleware\AdminCheckToken;
use app\adminapi\middleware\AdminLog;
use think\facade\Route;
/**
* 退款相关路由
*/
Route::group('refund', function () {
/***************************************************** 退款 *************************************************/
//退款列表
Route::get('refund', 'order.Refund/lists');
//退款详情
Route::get('refund/:refund_id', 'order.Refund/detail');
//退款状态
Route::get('status', 'order.Refund/status');
})->middleware([
AdminCheckToken::class,
AdminCheckRole::class,
AdminLog::class
]);

View File

@ -11,11 +11,23 @@
use think\facade\Route; use think\facade\Route;
/** /**
* 路由 * 路由
*/ */
Route::group(function () { Route::group(function () {
//用户登录 //用户登录
Route::get('login', 'login.login/login'); Route::get('login/:app_type', 'login.Login/login');
//登录注册设置
Route::get('login/config', 'login.Config/getConfig');
//生成验证码
Route::get('captcha/create', 'login.Captcha/create');
//一次校验验证码
Route::get('captcha/check', 'login.Captcha/check');
Route::get('terminal', 'sys.Terminal/exec');
}); });
//加载插件路由
(new \core\addon\AddonLoader("Route"))->load(['app_type' => 'adminapi']);

View File

@ -28,7 +28,7 @@ Route::group('site', function () {
//添加站点 //添加站点
Route::post('site', 'site.Site/add'); Route::post('site', 'site.Site/add');
//更新站点 //更新站点
Route::put('site/:id', 'site.Site/update'); Route::put('site/:id', 'site.Site/edit');
//站点状态 //站点状态
Route::get('statuslist', 'site.Site/getStatuList'); Route::get('statuslist', 'site.Site/getStatuList');
/***************************************************** 站点分组 *************************************************/ /***************************************************** 站点分组 *************************************************/
@ -39,7 +39,7 @@ Route::group('site', function () {
//站点分组新增 //站点分组新增
Route::post('group', 'site.SiteGroup/add'); Route::post('group', 'site.SiteGroup/add');
//站点分组编辑 //站点分组编辑
Route::put('group/:group_id', 'site.SiteGroup/update'); Route::put('group/:group_id', 'site.SiteGroup/edit');
//站点分组删除 //站点分组删除
Route::delete('group/:group_id', 'site.SiteGroup/del'); Route::delete('group/:group_id', 'site.SiteGroup/del');
//获取所有分组 //获取所有分组
@ -56,7 +56,7 @@ Route::group('site', function () {
//站点用户解锁 //站点用户解锁
Route::put('user/unlock/:uid', 'site.User/unlock'); Route::put('user/unlock/:uid', 'site.User/unlock');
//站点编辑用户 //站点编辑用户
Route::put('user/:uid', 'site.User/update'); Route::put('user/:uid', 'site.User/edit');
//站点修改用户属性 //站点修改用户属性
Route::put('user/:uid/:field', 'site.User/modify'); Route::put('user/:uid/:field', 'site.User/modify');
/***************************************************** 操作日志 **************************************************/ /***************************************************** 操作日志 **************************************************/

View File

@ -22,6 +22,7 @@ Route::group('sys', function () {
/***************************************************** 系统整体信息 *************************************************/ /***************************************************** 系统整体信息 *************************************************/
//系统信息 //系统信息
Route::get('info', 'sys.System/info'); Route::get('info', 'sys.System/info');
Route::get('url', 'sys.System/url');
/***************************************************** 用户组 ****************************************************/ /***************************************************** 用户组 ****************************************************/
//用户组列表 //用户组列表
Route::get('role', 'sys.Role/lists'); Route::get('role', 'sys.Role/lists');
@ -32,14 +33,14 @@ Route::group('sys', function () {
//用户组新增 //用户组新增
Route::post('role', 'sys.Role/add'); Route::post('role', 'sys.Role/add');
//编辑用户组 //编辑用户组
Route::put('role/:role_id', 'sys.Role/update'); Route::put('role/:role_id', 'sys.Role/edit');
//删除用户组 //删除用户组
Route::delete('role/:role_id', 'sys.Role/del'); Route::delete('role/:role_id', 'sys.Role/del');
/***************************************************** 菜单 ****************************************************/ /***************************************************** 菜单 ****************************************************/
//菜单新增 //菜单新增
Route::post('menu', 'sys.Menu/add'); Route::post('menu', 'sys.Menu/add');
//菜单更新 //菜单更新
Route::put('menu/:menu_key', 'sys.Menu/update'); Route::put('menu/:menu_key', 'sys.Menu/edit');
//菜单列表 //菜单列表
Route::get('menu/:app_type', 'sys.Menu/lists'); Route::get('menu/:app_type', 'sys.Menu/lists');
//删除单个菜单 //删除单个菜单
@ -64,14 +65,17 @@ Route::group('sys', function () {
//版权设置 //版权设置
Route::put('config/copyright', 'sys.Config/setCopyright'); Route::put('config/copyright', 'sys.Config/setCopyright');
//登录注册设置
Route::get('config/login', 'login.Config/getConfig');
//登录注册设置
Route::put('config/login', 'login.Config/setConfig');
/***************************************************** 图片上传 ****************************************************/ /***************************************************** 图片上传 ****************************************************/
//附件图片上传 //附件图片上传
Route::post('image', 'upload.Upload/image'); Route::post('image', 'upload.Upload/image');
//附件视频上传 //附件视频上传
Route::post('video', 'upload.Upload/video'); Route::post('video', 'upload.Upload/video');
//附件上传 //附件上传
Route::post('document', 'upload.Upload/document'); Route::post('document/:type', 'upload.Upload/document');
//附件列表 //附件列表
Route::get('attachment', 'sys.Attachment/lists'); Route::get('attachment', 'sys.Attachment/lists');
//附件列表 //附件列表
@ -86,7 +90,7 @@ Route::group('sys', function () {
//附件组新增 //附件组新增
Route::post('attachment/category', 'sys.Attachment/addCategory'); Route::post('attachment/category', 'sys.Attachment/addCategory');
//附件组更新 //附件组更新
Route::put('attachment/category/:id', 'sys.Attachment/updateCategory'); Route::put('attachment/category/:id', 'sys.Attachment/editCategory');
//附件组列表 //附件组列表
Route::get('attachment/category', 'sys.Attachment/categoryLists'); Route::get('attachment/category', 'sys.Attachment/categoryLists');
//删除单个附件组 //删除单个附件组
@ -96,7 +100,7 @@ Route::group('sys', function () {
//存储详情 //存储详情
Route::get('storage/:storage_type', 'upload.Storage/storageConfig'); Route::get('storage/:storage_type', 'upload.Storage/storageConfig');
//存储修改 //存储修改
Route::put('storage/:storage_type', 'upload.Storage/updateStorage'); Route::put('storage/:storage_type', 'upload.Storage/editStorage');
//上传设置 //上传设置
Route::put('upload/config', 'upload.Upload/setUploadConfig'); Route::put('upload/config', 'upload.Upload/setUploadConfig');
//获取上传设置 //获取上传设置
@ -107,7 +111,7 @@ Route::group('sys', function () {
//消息详情 //消息详情
Route::get('agreement/:key', 'sys.Agreement/info'); Route::get('agreement/:key', 'sys.Agreement/info');
//短信配置修改 //短信配置修改
Route::put('agreement/:key', 'sys.Agreement/update'); Route::put('agreement/:key', 'sys.Agreement/edit');
// 刷新菜单 // 刷新菜单
Route::put('menu/refresh', 'sys.Menu/refreshMenu'); Route::put('menu/refresh', 'sys.Menu/refreshMenu');
/***************************************************** 地区管理 ****************************************************/ /***************************************************** 地区管理 ****************************************************/
@ -127,6 +131,11 @@ Route::group('sys', function () {
Route::get('channel', 'sys.Channel/getChannelType'); Route::get('channel', 'sys.Channel/getChannelType');
//场景域名 //场景域名
Route::get('scene_domain', 'sys.Config/getSceneDomain'); Route::get('scene_domain', 'sys.Config/getSceneDomain');
/***************************************************** 系统环境 ****************************************************/
Route::get('system', 'sys.System/getSystemInfo');
/***************************************************** 应用管理 ****************************************************/
Route::get('applist', 'sys.App/getAppList');
})->middleware([ })->middleware([
AdminCheckToken::class, AdminCheckToken::class,
AdminCheckRole::class, AdminCheckRole::class,

View File

@ -14,17 +14,3 @@ use app\adminapi\middleware\AdminCheckToken;
use app\adminapi\middleware\AdminLog; use app\adminapi\middleware\AdminLog;
use think\facade\Route; use think\facade\Route;
/**
* 路由
*/
Route::group('upload', function () {
/***************************************************** 上传 ****************************************************/
//证书上传
Route::post('cert/:type', 'upload.Upload/cert');
})->middleware([
AdminCheckToken::class,
AdminCheckRole::class,
AdminLog::class
]);

View File

@ -25,8 +25,6 @@ Route::group('user', function () {
//用户详情 //用户详情
Route::get('user/:uid', 'user.user/info'); Route::get('user/:uid', 'user.user/info');
})->middleware([ })->middleware([
AdminCheckToken::class, AdminCheckToken::class,
AdminCheckRole::class, AdminCheckRole::class,

View File

@ -33,7 +33,7 @@ Route::group('wechat', function () {
//获取微信菜单 //获取微信菜单
Route::get('menu', 'wechat.Menu/info'); Route::get('menu', 'wechat.Menu/info');
//设置微信菜单 //设置微信菜单
Route::put('menu', 'wechat.Menu/update'); Route::put('menu', 'wechat.Menu/edit');
/***************************************************** 关键词回复 ****************************************************/ /***************************************************** 关键词回复 ****************************************************/
//关键词回复详情 //关键词回复详情
Route::get('reply/keywords/lists', 'wechat.Reply/keyword'); Route::get('reply/keywords/lists', 'wechat.Reply/keyword');
@ -42,26 +42,26 @@ Route::group('wechat', function () {
//新增关键词回复 //新增关键词回复
Route::post('reply/keywords', 'wechat.Reply/addKeyword'); Route::post('reply/keywords', 'wechat.Reply/addKeyword');
//更新关键词回复 //更新关键词回复
Route::put('reply/keywords/:id', 'wechat.Reply/updateKeyword'); Route::put('reply/keywords/:id', 'wechat.Reply/editKeyword');
//删除关键词回复 //删除关键词回复
Route::delete('reply/keywords/:id', 'wechat.Reply/deleteKeyword'); Route::delete('reply/keywords/:id', 'wechat.Reply/deleteKeyword');
/***************************************************** 默认回复 ****************************************************/ /***************************************************** 默认回复 ****************************************************/
//默认回复 //默认回复
Route::get('reply/default', 'wechat.Reply/default'); Route::get('reply/default', 'wechat.Reply/default');
//更新默认默认回复 //更新默认默认回复
Route::put('reply/default', 'wechat.Reply/updateDefault'); Route::put('reply/default', 'wechat.Reply/editDefault');
/***************************************************** 关注回复 ****************************************************/ /***************************************************** 关注回复 ****************************************************/
//关注回复 //关注回复
Route::get('reply/subscribe', 'wechat.Reply/subscribe'); Route::get('reply/subscribe', 'wechat.Reply/subscribe');
//更新关注回复 //更新关注回复
Route::put('reply/subscribe', 'wechat.Reply/updateSubscribe'); Route::put('reply/subscribe', 'wechat.Reply/editSubscribe');
/***************************************************** 图文素材回复 ****************************************************/ /***************************************************** 图文素材回复 ****************************************************/
//图文素材列表 //图文素材列表
Route::get('media', 'wechat.Media/lists'); Route::get('media', 'wechat.Media/lists');
//新增图文素材 //新增图文素材
Route::post('media', 'wechat.Media/add'); Route::post('media', 'wechat.Media/add');
//更新图文素材 //更新图文素材
Route::put('media/:id', 'wechat.Media/update'); Route::put('media/:id', 'wechat.Media/edit');
/***************************************************** 消息模板 ****************************************************/ /***************************************************** 消息模板 ****************************************************/
//同步全部消息模板 //同步全部消息模板
Route::put('template/sync', 'wechat.Template/sync'); Route::put('template/sync', 'wechat.Template/sync');

View File

@ -11,8 +11,8 @@
namespace app\api\controller\agreement; namespace app\api\controller\agreement;
use app\api\controller\BaseApiController;
use app\service\api\agreement\AgreementService; use app\service\api\agreement\AgreementService;
use core\base\BaseApiController;
/** /**
* 协议控制器 * 协议控制器

View File

@ -11,8 +11,8 @@
namespace app\api\controller\article; namespace app\api\controller\article;
use app\api\controller\BaseApiController;
use app\service\api\article\ArticleService; use app\service\api\article\ArticleService;
use core\base\BaseApiController;
use think\Response; use think\Response;
/** /**

View File

@ -11,8 +11,8 @@
namespace app\api\controller\article; namespace app\api\controller\article;
use app\api\controller\BaseApiController;
use app\service\api\article\ArticleCategoryService; use app\service\api\article\ArticleCategoryService;
use core\base\BaseApiController;
use think\Response; use think\Response;
/** /**

View File

@ -11,10 +11,10 @@
namespace app\api\controller\diy; namespace app\api\controller\diy;
use app\api\controller\BaseApiController; use app\service\api\diy\DiyConfigService;
use app\service\api\diy\DiyRouteService; use app\service\api\diy\DiyRouteService;
use app\service\api\diy\DiyService; use app\service\api\diy\DiyService;
use app\service\api\diy\DiyConfigService; use core\base\BaseApiController;
use think\Response; use think\Response;
class Diy extends BaseApiController class Diy extends BaseApiController
@ -48,10 +48,10 @@ class Diy extends BaseApiController
*/ */
public function share() public function share()
{ {
$params = $this->request->params([ $data = $this->request->params([
[ 'route', '' ], [ 'route', '' ],
[ 'params', '' ] [ 'params', '' ]
]); ]);
return success(( new DiyRouteService() )->getShare($params)); return success(( new DiyRouteService() )->getShare($data));
} }
} }

View File

@ -11,9 +11,8 @@
namespace app\api\controller\login; namespace app\api\controller\login;
use app\BaseController;
use app\service\api\login\LoginService;
use app\service\api\member\MemberConfigService; use app\service\api\member\MemberConfigService;
use core\base\BaseController;
use think\Response; use think\Response;
class Config extends BaseController class Config extends BaseController

View File

@ -11,10 +11,9 @@
namespace app\api\controller\login; namespace app\api\controller\login;
use app\BaseController;
use app\service\api\captcha\CaptchaService; use app\service\api\captcha\CaptchaService;
use app\service\api\login\LoginService; use app\service\api\login\LoginService;
use app\service\api\scan\ScanService; use core\base\BaseController;
use think\Response; use think\Response;
class Login extends BaseController class Login extends BaseController
@ -34,7 +33,7 @@ class Login extends BaseController
$result = (new LoginService())->account($data['username'], $data['password']); $result = (new LoginService())->account($data['username'], $data['password']);
if(!$result){ if(!$result){
//账号密码错误...., 重置验证码 //账号密码错误...., 重置验证码
return fail(301003); return fail('ACCOUNT_OR_PASSWORD_ERROR');
} }
return success($result); return success($result);
@ -46,7 +45,7 @@ class Login extends BaseController
*/ */
public function logout(){ public function logout(){
(new LoginService)->logout(); (new LoginService)->logout();
return success(301006); return success('MEMBER_LOGOUT');
} }
/** /**
@ -91,6 +90,6 @@ class Login extends BaseController
//参数验证 //参数验证
$this->validate($data, 'app\validate\member\Member.reset_password'); $this->validate($data, 'app\validate\member\Member.reset_password');
(new LoginService())->resetPassword($data['mobile'], $data['password']); (new LoginService())->resetPassword($data['mobile'], $data['password']);
return success(301017); return success('PASSWORD_RESET_SUCCESS');
} }
} }

View File

@ -11,9 +11,8 @@
namespace app\api\controller\login; namespace app\api\controller\login;
use app\BaseController;
use app\service\api\login\LoginService;
use app\service\api\login\RegisterService; use app\service\api\login\RegisterService;
use core\base\BaseController;
use think\Response; use think\Response;
class Register extends BaseController class Register extends BaseController

View File

@ -11,8 +11,9 @@
namespace app\api\controller\member; namespace app\api\controller\member;
use app\api\controller\BaseApiController; use app\enum\member\MemberAccountEnum;
use app\service\api\member\MemberAccountService; use app\service\api\member\MemberAccountService;
use core\base\BaseApiController;
use think\Response; use think\Response;
/** /**
@ -28,8 +29,9 @@ class Account extends BaseApiController
*/ */
public function point(){ public function point(){
$data = $this->request->params([ $data = $this->request->params([
['from_type', '']
]); ]);
$data[] = ['account_type', '=', 'point']; $data['account_type'] = MemberAccountEnum::POINT;
return success((new MemberAccountService())->getPage($data)); return success((new MemberAccountService())->getPage($data));
} }
@ -39,10 +41,56 @@ class Account extends BaseApiController
*/ */
public function balance(){ public function balance(){
$data = $this->request->params([ $data = $this->request->params([
['from_type', '']
]); ]);
$data[] = ['account_type', '=', 'balance']; $data['account_type'] = MemberAccountEnum::BALANCE;
return success((new MemberAccountService())->getPage($data)); return success((new MemberAccountService())->getPage($data));
} }
/**
* 零钱流水
* @return Response
*/
public function money(){
$data = $this->request->params([
['from_type', '']
]);
$data['account_type'] = MemberAccountEnum::MONEY;
return success((new MemberAccountService())->getPage($data));
}
/**
* 账户记录数量
* @return Response
*/
public function count(){
$data = $this->request->params([
['from_type', ''],
['account_type', '']
]);
return success(data:(new MemberAccountService())->getCount($data));
}
/**
* 佣金流水
* @return Response
*/
public function commission(){
$data = $this->request->params([
['from_type', '']
]);
$data['account_type'] = MemberAccountEnum::COMMISSION;
return success((new MemberAccountService())->getPage($data));
}
/**
* 账户来源
* @param $account_type
* @return Response
*/
public function getFromType($account_type){
return success(MemberAccountEnum::getFromType($account_type));
}
} }

View File

@ -0,0 +1,92 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\api\controller\member;
use app\service\api\member\MemberCashOutAccountService;
use core\base\BaseApiController;
class CashOutAccount extends BaseApiController
{
/**
* 提现账户列表
* @return Response
*/
public function lists(){
$data = $this->request->params([
['account_type', '']
]);
return success((new MemberCashOutAccountService())->getPage($data));
}
/**
* 提现账户信息
* @param int $account_id
* @return \think\Response
*/
public function info(int $account_id){
return success((new MemberCashOutAccountService())->getInfo($account_id));
}
/**
* 查询首条提现账户按账户类型
* @return void
*/
public function firstInfo(){
$data = $this->request->params([
['account_type', '']
]);
return success((new MemberCashOutAccountService())->getFirstInfo($data));
}
/**
* 添加提现账号
* @return void
*/
public function add(){
$data = $this->request->params([
['account_type', ''],
['bank_name', ''],
['realname', ''],
['account_no', '']
]);
$this->validate($data, 'app\validate\member\CashOutAccount.addOrEdit');
$id = (new MemberCashOutAccountService())->add($data);
return success('ADD_SUCCESS', [ 'id' => $id ]);
}
/**
* 编辑提现账号
* @param int $account_id
* @return void
*/
public function edit(int $account_id){
$data = $this->request->params([
['account_type', ''],
['bank_name', ''],
['realname', ''],
['account_no', '']
]);
$this->validate($data, 'app\validate\member\CashOutAccount.addOrEdit');
(new MemberCashOutAccountService())->edit($account_id, $data);
return success('EDIT_SUCCESS');
}
/**
* 删除提现账号
* @param int $account_id
* @return \think\Response
*/
public function del(int $account_id){
(new MemberCashOutAccountService())->del($account_id);
return success('DELETE_SUCCESS');
}
}

View File

@ -11,9 +11,10 @@
namespace app\api\controller\member; namespace app\api\controller\member;
use app\api\controller\BaseApiController;
use app\service\api\login\AuthService; use app\service\api\login\AuthService;
use app\service\api\member\MemberLogService;
use app\service\api\member\MemberService; use app\service\api\member\MemberService;
use core\base\BaseApiController;
use think\Response; use think\Response;
class Member extends BaseApiController class Member extends BaseApiController
@ -49,19 +50,19 @@ class Member extends BaseApiController
$data[$field] = $data['value']; $data[$field] = $data['value'];
$this->validate($data, 'app\validate\member\Member.modify'); $this->validate($data, 'app\validate\member\Member.modify');
(new MemberService())->modify($field, $data['value']); (new MemberService())->modify($field, $data['value']);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**
* 编辑会员 * 编辑会员
* @return Response * @return Response
*/ */
public function update(){ public function edit(){
$data = $this->request->params([ $data = $this->request->params([
['data', []], ['data', []],
]); ]);
(new MemberService())->update($data['data']); (new MemberService())->edit($data['data']);
return success(100004); return success('MODIFY_SUCCESS');
} }
/** /**
@ -75,4 +76,18 @@ class Member extends BaseApiController
]); ]);
return success((new AuthService())->bindMobile($data['mobile'], $data['mobile_code'])); return success((new AuthService())->bindMobile($data['mobile'], $data['mobile_code']));
} }
/**
* 会员日志
* @return Response
*/
public function log(){
$data = $this->request->params([
['route', ''],
['params', ''],
['pre_route', '']
]);
(new MemberLogService())->log($data);
return success('SUCCESS');
}
} }

View File

@ -11,41 +11,46 @@
namespace app\api\controller\member; namespace app\api\controller\member;
use app\api\controller\BaseApiController; use app\enum\member\MemberAccountEnum;
use app\enum\pay\TransferEnum; use app\enum\pay\TransferEnum;
use app\service\api\login\AuthService; use app\service\api\member\MemberCashOutService;
use app\service\api\member\MemberService; use core\base\BaseApiController;
use app\service\api\member\MemberWithdrawService;
use think\Response; use think\Response;
class MemberWithdraw extends BaseApiController class MemberCashOut extends BaseApiController
{ {
/** /**
* 会员提现列表 * 会员提现列表
* @return Response * @return Response
*/ */
public function lists(){ public function lists()
$data = $this->request->params([ {
$data = array_filter($this->request->params([
[ 'status', '' ], [ 'status', '' ],
]); [ 'account_type', '' ]
return success((new MemberWithdrawService())->getPage($data)); ]), function($value){
return $value !== '';
});
return success(( new MemberCashOutService() )->getPage($data));
} }
/** /**
* 提现详情 * 提现详情
* @return Response * @return Response
*/ */
public function info($id){ public function info($id)
return success((new MemberWithdrawService())->getInfo($id)); {
return success(( new MemberCashOutService() )->getInfo($id));
} }
/** /**
* 提现配置 * 提现配置
* @return Response * @return Response
*/ */
public function config(){ public function config()
return success((new MemberWithdrawService())->getWithdrawConfig()); {
return success(( new MemberCashOutService() )->getCashOutConfig());
} }
/** /**
@ -58,19 +63,19 @@ class MemberWithdraw extends BaseApiController
} }
/** /**
* 绑定手机号 * 申请提现
* @return void * @return void
*/ */
public function apply(){ public function apply()
{
$data = $this->request->params([ $data = $this->request->params([
[ 'apply_money', 0 ], [ 'apply_money', 0 ],
[ 'account_type', MemberAccountEnum::MONEY ],
[ 'transfer_type', '' ], [ 'transfer_type', '' ],
['transfer_realname', ''], [ 'account_id', 0 ]
['transfer_mobile', ''],
['transfer_bank', ''],
['transfer_account', ''],
]); ]);
return success((new MemberWithdrawService())->apply($data)); $this->validate($data, 'app\validate\member\CashOut.apply');
return success(( new MemberCashOutService() )->apply($data));
} }
/** /**
@ -78,8 +83,9 @@ class MemberWithdraw extends BaseApiController
* @param $id * @param $id
* @return Response * @return Response
*/ */
public function cancel($id){ public function cancel($id)
return success((new MemberWithdrawService())->cancel($id)); {
return success(( new MemberCashOutService() )->cancel($id));
} }
} }

View File

@ -11,8 +11,8 @@
namespace app\api\controller\order; namespace app\api\controller\order;
use app\api\controller\BaseApiController;
use app\service\api\order\RechargeOrderService; use app\service\api\order\RechargeOrderService;
use core\base\BaseApiController;
use think\Response; use think\Response;
class Recharge extends BaseApiController class Recharge extends BaseApiController
@ -32,4 +32,21 @@ class Recharge extends BaseApiController
return success($res); return success($res);
} }
public function lists(){
$data = $this->request->params([
['order_status', '']
]);
$res = (new RechargeOrderService())->getPage($data);
return success($res);
}
/**
* 查询充值订单详情
* @param int $order_id
* @return Response
*/
public function detail(int $order_id){
$res = (new RechargeOrderService())->getDetail($order_id);
return success($res);
}
} }

View File

@ -11,9 +11,8 @@
namespace app\api\controller\pay; namespace app\api\controller\pay;
use app\api\controller\BaseApiController;
use app\service\api\pay\PayService; use app\service\api\pay\PayService;
use app\service\core\pay\CorePayService; use core\base\BaseApiController;
/** /**
* 微信服务端通信以及网页授权 * 微信服务端通信以及网页授权
@ -25,15 +24,17 @@ class Pay extends BaseApiController
* 接收消息并推送 * 接收消息并推送
* @return void * @return void
*/ */
public function notify($type, $site_id, $action){ public function notify($site_id, $channel, $type, $action)
return (new PayService())->notify($type, $action); {
return (new PayService())->notify($channel, $type, $action);
} }
/** /**
* 去支付 * 去支付
* @return \think\Response * @return \think\Response
*/ */
public function pay(){ public function pay()
{
$data = $this->request->params([ $data = $this->request->params([
['type', ''], ['type', ''],
@ -42,20 +43,14 @@ class Pay extends BaseApiController
['buyer_id', ''], ['buyer_id', ''],
['return_url', ''] ['return_url', '']
]); ]);
return success(100000,(new PayService())->pay($data['type'], $data['out_trade_no'], $data['return_url'], $data['quit_url'], $data['buyer_id']));
return success('SUCCESS',(new PayService())->pay($data['type'], $data['out_trade_no'], $data['return_url'], $data['quit_url'], $data['buyer_id']));
} }
public function info($out_trade_no){ public function info($out_trade_no)
{
return success((new PayService())->getInfoByOutTradeNo($out_trade_no)); return success((new PayService())->getInfoByOutTradeNo($out_trade_no));
} }
public function test(){
$data = $this->request->params(
[['out_trade_no', '']]
);
dd((new CorePayService())->returnTo(1, $data['out_trade_no']));
}
} }

View File

@ -11,9 +11,8 @@
namespace app\api\controller\sys; namespace app\api\controller\sys;
use app\api\controller\BaseApiController;
use app\service\api\sys\ConfigService; use app\service\api\sys\ConfigService;
use app\service\api\scan\ScanService; use core\base\BaseApiController;
use think\Response; use think\Response;
class Config extends BaseApiController class Config extends BaseApiController

View File

@ -11,7 +11,7 @@
namespace app\controller; namespace app\controller;
use app\BaseController; use core\base\BaseController;
use think\facade\App; use think\facade\App;
class Index extends BaseController class Index extends BaseController

View File

@ -11,8 +11,8 @@
namespace app\api\controller\sys; namespace app\api\controller\sys;
use app\api\controller\BaseApiController;
use app\service\api\scan\ScanService; use app\service\api\scan\ScanService;
use core\base\BaseApiController;
use think\Response; use think\Response;
class Scan extends BaseApiController class Scan extends BaseApiController

View File

@ -11,14 +11,10 @@
namespace app\api\controller\upload; namespace app\api\controller\upload;
use app\api\controller\BaseApiController; use app\service\api\upload\Base64Service;
use app\BaseController; use app\service\api\upload\FetchService;
use app\service\api\file\Base64Service; use app\service\api\upload\UploadService;
use app\service\api\file\FetchService; use core\base\BaseApiController;
use app\service\api\file\UploadService;
use app\service\api\weapp\WeappAuthService;
use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
use think\Response;
class Upload extends BaseApiController class Upload extends BaseApiController
{ {

View File

@ -11,9 +11,8 @@
namespace app\api\controller\weapp; namespace app\api\controller\weapp;
use app\api\controller\BaseApiController;
use app\BaseController;
use app\service\api\weapp\WeappAuthService; use app\service\api\weapp\WeappAuthService;
use core\base\BaseApiController;
use EasyWeChat\Kernel\Exceptions\InvalidArgumentException; use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
use think\Response; use think\Response;

View File

@ -11,8 +11,8 @@
namespace app\api\controller\wechat; namespace app\api\controller\wechat;
use app\BaseController;
use app\service\api\wechat\WechatServeService; use app\service\api\wechat\WechatServeService;
use core\base\BaseController;
/** /**
* 微信服务端通信以及网页授权 * 微信服务端通信以及网页授权

View File

@ -11,8 +11,8 @@
namespace app\api\controller\wechat; namespace app\api\controller\wechat;
use app\BaseController;
use app\service\api\wechat\WechatAuthService; use app\service\api\wechat\WechatAuthService;
use core\base\BaseController;
use EasyWeChat\Kernel\Exceptions\InvalidArgumentException; use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
use think\Response; use think\Response;

View File

@ -0,0 +1,8 @@
<?php
// 全局中间件定义文件
use app\api\middleware\AllowCrossDomain;
return [
//跨域请求中间件
AllowCrossDomain::class,
];

View File

@ -0,0 +1,65 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\api\middleware;
use app\Request;
use Closure;
use core\exception\ApiException;
/**
* http跨域请求中间件
* Class AllowCrossDomain
* @package app\adminapi\middleware
*/
class AllowCrossDomain
{
public function handle(Request $request, Closure $next)
{
$allow_header = [
system_name('api_token_name'),
system_name('api_site_id_name'),
system_name('channel_name'),
'lang'
];
header("Access-Control-Allow-Headers: Authorization, Sec-Fetch-Mode, DNT, X-Mx-ReqToken, Keep-Alive, User-Agent, If-Match, If-None-Match, If-Unmodified-Since, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Accept-Language, Origin, Accept-Encoding,Access-Token,version,".implode(',', $allow_header));
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');
header('Access-Control-Max-Age: 1728000');
header('Access-Control-Allow-Credentials:true');
//todo 周 自定义Authorization等需要在.htaccess内加上SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 nginx同理
$allow_origin = [
rtrim(str_replace('https://','',str_replace('http://','',$request->domain())),"/"),
];
if(env('system.wap_domain')){
$allow_origin[] = rtrim(str_replace('https://','',str_replace('http://','',env('system.wap_domain'))),"/");
}
if(env('system.web_domain')){
$allow_origin[] = rtrim(str_replace('https://','',str_replace('http://','',env('system.web_domain'))),"/");
}
$referer = $request->header('referer');
$origin = '';
if(!empty($referer)){
$referer = parse_url($referer);
$referer = $referer['host'] ?? '';
$origin = rtrim(str_replace('https://','',str_replace('http://','',$referer)),"/");
}
// $origin = $request->header('origin');
if(env('app_debug') || ($origin && in_array($origin, $allow_origin))){
header('Access-Control-Allow-Origin: *');
// header('Access-Control-Allow-Origin: ' . $origin);
}else{
header('Access-Control-Allow-Origin: *');
throw new ApiException('SERVER_CROSS_REQUEST_FAIL');
}
return $next($request);
}
}

View File

@ -12,7 +12,6 @@
namespace app\api\middleware; namespace app\api\middleware;
use app\Request; use app\Request;
use app\services\user\UserAuthServices;
use Closure; use Closure;
use Exception; use Exception;

View File

@ -15,10 +15,9 @@ use app\enum\sys\AppTypeEnum;
use app\Request; use app\Request;
use app\service\api\login\AuthService; use app\service\api\login\AuthService;
use app\service\api\login\LoginService; use app\service\api\login\LoginService;
use app\services\user\UserAuthServices;
use Closure; use Closure;
use Exception; use Exception;
use extend\exception\AuthException; use core\exception\AuthException;
/** /**

View File

@ -3,10 +3,7 @@
namespace app\api\route\dispatch; namespace app\api\route\dispatch;
use app\enum\member\MemberLoginTypeEnum; use app\enum\member\MemberLoginTypeEnum;
use app\enum\common\ChannelEnum;
use think\App; use think\App;
use think\helper\Str;
use think\route\Dispatch;
use think\route\dispatch\Controller; use think\route\dispatch\Controller;
class BindDispatch extends Controller class BindDispatch extends Controller

View File

@ -28,7 +28,7 @@ Route::group('member', function () {
//会员信息修改 //会员信息修改
Route::put('modify/:field', 'member.Member/modify'); Route::put('modify/:field', 'member.Member/modify');
//会员信息编辑 //会员信息编辑
Route::put('update', 'member.Member/update'); Route::put('edit', 'member.Member/edit');
//绑定手机号 //绑定手机号
Route::put('mobile', 'member.Member/mobile'); Route::put('mobile', 'member.Member/mobile');
@ -37,19 +37,50 @@ Route::group('member', function () {
Route::get('account/point', 'member.Account/point'); Route::get('account/point', 'member.Account/point');
//会员余额流水 //会员余额流水
Route::get('account/balance', 'member.Account/balance'); Route::get('account/balance', 'member.Account/balance');
/***************************************************** 会员提现 ****************************************************/Route::get('account/point', 'member.Account/point'); //会员零钱流水
Route::get('account/money', 'member.Account/money');
//会员零钱流水
Route::get('account/count', 'member.Account/count');
//会员佣金流水
Route::get('account/commission', 'member.Account/commission');
//账户来源
Route::get('account/fromtype/:account_type', 'member.Account/getFromType');
/***************************************************** 会员提现 ****************************************************/
Route::get('account/point', 'member.Account/point');
//会员提现列表 //会员提现列表
Route::get('withdraw', 'member.MemberWithdraw/lists'); Route::get('cash_out', 'member.MemberCashOut/lists');
//会员提现详情 //会员提现详情
Route::get('withdraw/:id', 'member.MemberWithdraw/info'); Route::get('cash_out/:id', 'member.MemberCashOut/info');
//提现配置 //提现配置
Route::get('withdraw/config', 'member.MemberWithdraw/config'); Route::get('cash_out/config', 'member.MemberCashOut/config');
//提现转账方式 //提现转账方式
Route::get('withdraw/transfertype', 'member.MemberWithdraw/getTransferType'); Route::get('cash_out/transfertype', 'member.MemberCashOut/getTransferType');
//提现申请 //提现申请
Route::post('withdraw/apply', 'member.MemberWithdraw/apply'); Route::post('cash_out/apply', 'member.MemberCashOut/apply');
//撤销提现申请 //撤销提现申请
Route::put('withdraw/cancel/:id', 'member.MemberWithdraw/cancel'); Route::put('cash_out/cancel/:id', 'member.MemberCashOut/cancel');
// 提现账号列表
Route::get('cashout_account', 'member.CashOutAccount/lists');
// 提现账号详情
Route::get('cashout_account/:account_id', 'member.CashOutAccount/info');
// 首条提现账号详情
Route::get('cashout_account/firstinfo', 'member.CashOutAccount/firstInfo');
// 添加提现账号
Route::post('cashout_account', 'member.CashOutAccount/add');
// 编辑提现账号
Route::put('cashout_account/:account_id', 'member.CashOutAccount/edit');
// 删除提现账号
Route::delete('cashout_account/:account_id', 'member.CashOutAccount/del');
})->middleware(ApiChannel::class) })->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class, true) ->middleware(ApiCheckToken::class, true)
->middleware(ApiLog::class); ->middleware(ApiLog::class);
Route::group('member', function() {
/***************************************************** 会员管理 ****************************************************/
//会员日志
Route::post('log', 'member.Member/log');
})->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class)
->middleware(ApiLog::class);

View File

@ -23,7 +23,10 @@ Route::group('order', function () {
/***************************************************** 充值订单相关 *************************************************/ /***************************************************** 充值订单相关 *************************************************/
//充值订单创建 //充值订单创建
Route::post('recharge', 'order.Recharge/create'); Route::post('recharge', 'order.Recharge/create');
// 充值订单列表
Route::get('recharge', 'order.Recharge/lists');
// 充值订单详情
Route::get('recharge/:order_id', 'order.Recharge/detail');
})->middleware(ApiChannel::class) })->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class, true) ->middleware(ApiCheckToken::class, true)
->middleware(ApiLog::class); ->middleware(ApiLog::class);

Some files were not shown because too many files have changed in this diff Show More