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;
use app\enum\sys\AppTypeEnum;
use extend\exception\AdminException;
use extend\exception\AuthException;
use core\exception\AdminException;
use core\exception\AuthException;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
@ -90,7 +90,13 @@ class ExceptionHandle extends Handle
// 添加自定义异常处理机制
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) {
return fail($e->getMessage(), []);
} 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;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\aliapp\AliappConfigService;
use app\service\admin\site\WebSiteConfigService;
use core\base\BaseAdminController;
use think\Response;
class Config extends BaseAdminController
@ -43,7 +43,7 @@ class Config extends BaseAdminController
]);
// $this->validate($data, 'app\validate\channel\Aliapp.set');
(new AliappConfigService())->setAliappConfig($data);
return success(100016);
return success('SET_SUCCESS');
}
/**

View File

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

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\article;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\article\ArticleCategoryService;
use core\base\BaseAdminController;
use think\Response;
class ArticleCategory extends BaseAdminController
@ -56,7 +56,7 @@ class ArticleCategory extends BaseAdminController
]);
$this->validate($data, 'app\validate\article\ArticleCategory.add');
$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
* @return Response
*/
public function update(int $category_id){
public function edit(int $category_id){
$data = $this->request->params([
['name', ''],
['is_show', 1],
['sort', 0],
]);
$this->validate($data, 'app\validate\article\ArticleCategory.update');
(new ArticleCategoryService())->update($category_id, $data);
return success(100004);
$this->validate($data, 'app\validate\article\ArticleCategory.edit');
(new ArticleCategoryService())->edit($category_id, $data);
return success('EDIT_SUCCESS');
}
/**
@ -81,7 +81,7 @@ class ArticleCategory extends BaseAdminController
*/
public function del(int $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;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\auth\AuthService;
use app\service\admin\auth\AuthSiteService;
use app\service\admin\site\SiteUserService;
use core\base\BaseAdminController;
class Auth extends BaseAdminController
@ -48,23 +47,22 @@ class Auth extends BaseAdminController
]);
// $this->validate($data, 'app\validate\sys\User.modify');
(new AuthService())->modifyAuth($field, $data['value']);
return success(100004);
return success('MODIFY_SUCCESS');
}
/**
* 更新用户
*/
public function update(){
public function edit(){
$data = $this->request->params([
['real_name', ''],
['head_img', ''],
['password', ''],
['original_password', '']
]);
// $this->validate($data, 'app\validate\sys\User.update');
(new AuthService())->updateAuth($data);
return success(100004);
(new AuthService())->editAuth($data);
return success('MODIFY_SUCCESS');
}
/**

View File

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

View File

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

View File

@ -11,10 +11,9 @@
namespace app\adminapi\controller\diy;
use app\adminapi\controller\BaseAdminController;
use app\enum\diy\LinkEnum;
use app\enum\diy\PageEnum;
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');
$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
* @return \think\Response
*/
public function update($id)
public function edit($id)
{
$data = $this->request->params([
[ "title", "" ],
[ "name", "" ],
[ "value", "" ],
]);
$this->validate($data, 'app\validate\diy\Diy.update');
( new DiyService() )->update($id, $data);
return success(100004);
$this->validate($data, 'app\validate\diy\Diy.edit');
( new DiyService() )->edit($id, $data);
return success('MODIFY_SUCCESS');
}
/**
@ -91,7 +90,7 @@ class Diy extends BaseAdminController
public function del(int $id)
{
( new DiyService() )->del($id);
return success(100003);
return success('DELETE_SUCCESS');
}
/**
@ -103,7 +102,7 @@ class Diy extends BaseAdminController
public function setUse($id)
{
( new DiyService() )->setUse($id);
return success(100004);
return success('MODIFY_SUCCESS');
}
/**
@ -155,7 +154,7 @@ class Diy extends BaseAdminController
[ "share", "" ],
]);
( new DiyService() )->modifyShare($id, $data);
return success(100004);
return success('MODIFY_SUCCESS');
}
}

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\diy;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\diy\DiyRouteService;
use core\base\BaseAdminController;
/**
@ -30,11 +30,8 @@ class DiyRoute extends BaseAdminController
{
$data = $this->request->params([
[ "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));
}
/**
* 自定义路由表详情
* @param string $name
*/
public function getInfoByName(string $name)
{
return success(( new DiyRouteService() )->getInfoByName($name));
}
/**
* 添加自定义路由表
* @return \think\Response
@ -62,7 +68,7 @@ class DiyRoute extends BaseAdminController
]);
$this->validate($data, 'app\validate\diy\DiyRoute.add');
$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
* @return \think\Response
*/
public function update($id)
public function edit($id)
{
$data = $this->request->params([
[ "title", "" ],
@ -79,9 +85,9 @@ class DiyRoute extends BaseAdminController
[ "share", "" ],
[ "is_share", "" ]
]);
$this->validate($data, 'app\validate\diy\DiyRoute.update');
( new DiyRouteService() )->update($id, $data);
return success(100004);
$this->validate($data, 'app\validate\diy\DiyRoute.edit');
( new DiyRouteService() )->edit($id, $data);
return success('MODIFY_SUCCESS');
}
/**
@ -92,20 +98,24 @@ class DiyRoute extends BaseAdminController
public function del(int $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([
[ "share", "" ],
[ 'share', '' ],
[ 'title', '' ],
[ 'name', '' ],
[ 'page', '' ],
[ 'is_share', 0 ],
[ 'sort', 0 ]
]);
( new DiyRouteService() )->modifyShare($id, $data);
return success(100004);
( new DiyRouteService() )->modifyShare($data);
return success('MODIFY_SUCCESS');
}
}

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\generator;
use app\BaseController;
use app\service\admin\generator\GenerateService;
use core\base\BaseController;
use think\Response;
/**
@ -55,9 +55,9 @@ class Generator extends BaseController
$data = $this->request->params([
[ "table_name", "" ],
], false);
$this->validate($data, 'app\validate\generator\Generator.add');
$this->validate($data, 'app\validate\generator\generator.add');
$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
* @return Response
*/
public function update($id)
public function edit($id)
{
$data = $this->request->params([
[ "table_name", "" ],
@ -75,9 +75,9 @@ class Generator extends BaseController
[ "edit_type", "1" ],
[ "table_column", "" ],
], false);
$this->validate($data, 'app\validate\generator\Generator.update');
( new GenerateService() )->update($id, $data);
return success(100004);
$this->validate($data, 'app\validate\generator\generator.edit');
( new GenerateService() )->edit($id, $data);
return success('MODIFY_SUCCESS');
}
/**
@ -88,7 +88,7 @@ class Generator extends BaseController
public function del(int $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);
return success(100011, $data);
return success('ADD_SUCCESS', $data);
}
/**
@ -116,7 +116,7 @@ class Generator extends BaseController
[ "comment", "" ],
]);
$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;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\auth\ConfigService;
use app\service\admin\auth\LoginService;
use core\base\BaseAdminController;
use think\Response;
class Login extends BaseAdminController
@ -21,7 +22,7 @@ class Login extends BaseAdminController
* 登录
* @return Response
*/
public function login()
public function login($app_type)
{
$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) {
//账号密码错误...., 重置验证码
return fail(101005);
return fail('USER_ERROR');
}
return success($result);
@ -46,7 +47,17 @@ class Login extends BaseAdminController
public function 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;
use app\adminapi\controller\BaseAdminController;
use app\enum\member\MemberAccountEnum;
use app\service\admin\member\MemberAccountService;
use core\base\BaseAdminController;
use think\Response;
class Account extends BaseAdminController
@ -48,7 +49,7 @@ class Account extends BaseAdminController
}
/**
* 零钱流水
* 可提现余额流水
* @return Response
*/
public function money()
@ -73,7 +74,7 @@ class Account extends BaseAdminController
[ 'memo', '' ],
]);
$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', '' ],
]);
$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);
}
/**
* 账户类型
*/
public function accountType()
{
return success(MemberAccountEnum::getType());
}
}

View File

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

View File

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

View File

@ -11,9 +11,11 @@
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\service\admin\member\MemberService;
use core\base\BaseAdminController;
use think\Response;
class Member extends BaseAdminController
@ -25,12 +27,13 @@ class Member extends BaseAdminController
public function lists()
{
$data = $this->request->params([
[ 'keyword', '' ],
[ 'register_type', '' ],
[ 'create_time', [] ],
[ 'member_label', 0 ],
['keyword', ''],
['register_type', ''],
['register_channel', ''],
['create_time', []],
['member_label', 0],
]);
return success(( new MemberService() )->getPage($data));
return success((new MemberService())->getPage($data));
}
/**
@ -40,7 +43,7 @@ class Member extends BaseAdminController
*/
public function info(int $id)
{
return success(( new MemberService() )->getInfo($id));
return success((new MemberService())->getInfo($id));
}
/**
@ -50,18 +53,18 @@ class Member extends BaseAdminController
public function add()
{
$data = $this->request->params([
[ 'nickname', '' ],
[ 'mobile', '' ],
[ 'username', '' ],
[ 'password', '' ],
[ 'headimg', '' ],
[ 'member_label', [] ],
[ 'sex', 0 ],
[ 'birthday', '' ],
['nickname', ''],
['mobile', ''],
['username', ''],
['password', ''],
['headimg', ''],
['member_label', []],
['sex', 0],
['birthday', ''],
]);
$this->validate($data, 'app\validate\member\Member.add');
$res = ( new MemberService() )->add($data);
return success(100011, [ 'member_id' => $res ]);
$res = (new MemberService())->add($data);
return success('ADD_SUCCESS', ['member_id' => $res]);
}
/**
@ -73,32 +76,32 @@ class Member extends BaseAdminController
public function modify($member_id, $field)
{
$data = $this->request->params([
[ 'value', '' ],
[ 'field', $field ],
['value', ''],
['field', $field],
]);
$data[ $field ] = $data[ 'value' ];
$data[$field] = $data['value'];
$this->validate($data, 'app\validate\member\Member.modify');
( new MemberService() )->modify($member_id, $field, $data[ 'value' ]);
return success(100004);
(new MemberService())->modify($member_id, $field, $data['value']);
return success('MODIFY_SUCCESS');
}
/**
* 更新
* @return Response
*/
public function update($member_id)
public function edit($member_id)
{
$data = $this->request->params([
[ 'nickname', '' ],
[ 'headimg', '' ],
[ 'password', '' ],
[ 'member_label', [] ],
[ 'sex', 0 ],
[ 'birthday', '' ],
['nickname', ''],
['headimg', ''],
['password', ''],
['member_label', []],
['sex', 0],
['birthday', ''],
]);
$this->validate($data, 'app\validate\member\Member.update');
$res = ( new MemberService() )->update($member_id, $data);
return success(100002);
$this->validate($data, 'app\validate\member\Member.edit');
$res = (new MemberService())->edit($member_id, $data);
return success('EDIT_SUCCESS');
}
/**
@ -114,10 +117,43 @@ class Member extends BaseAdminController
* 会员列表
* @return Response
*/
public function getMemberList(){
public function getMemberList()
{
$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;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\member\MemberLabelService;
use core\base\BaseAdminController;
use think\Response;
class MemberLabel extends BaseAdminController
@ -50,21 +50,21 @@ class MemberLabel extends BaseAdminController
]);
$this->validate($data, 'app\validate\member\MemberLabel.add');
$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([
['label_name', ''],
['memo', ''],
['sort', 0],
]);
$this->validate($data, 'app\validate\member\MemberLabel.update');
(new MemberLabelService())->update($id, $data);
return success(100004);
$this->validate($data, 'app\validate\member\MemberLabel.edit');
(new MemberLabelService())->edit($id, $data);
return success('EDIT_SUCCESS');
}
/**
@ -74,7 +74,7 @@ class MemberLabel extends BaseAdminController
public function del(int $id){
(new MemberLabelService())->del($id);
return success(100003);
return success('DELETE_SUCCESS');
}
/**

View File

@ -9,16 +9,16 @@
// | 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\service\admin\message\MessageService;
use app\service\admin\message\SmsService;
use extend\exception\AdminException;
use app\service\admin\notice\NoticeService;
use app\service\admin\notice\SmsService;
use core\base\BaseAdminController;
use core\exception\AdminException;
use think\Response;
class Message extends BaseAdminController
class Notice extends BaseAdminController
{
/**
@ -27,27 +27,27 @@ class Message extends BaseAdminController
*/
public function lists()
{
$res = (new MessageService())->getList();
$res = (new NoticeService())->getList();
return success($res);
}
public function info($key)
{
$res = (new MessageService())->getInfo($key);
$res = (new NoticeService())->getInfo($key);
return success($res);
}
/**
* 消息启动与关闭
* @return Response
*/
public function updateStatus()
public function editStatus()
{
$data = $this->request->params([
['key', ''],
['type', ''],
['status', 0],
]);
(new MessageService())->updateMessageStatus($data['key'], $data['type'], $data['status']);
(new NoticeService())->editMessageStatus($data['key'], $data['type'], $data['status']);
return success();
}
@ -75,11 +75,11 @@ class Message extends BaseAdminController
* 短信配置修改
* @return Response
*/
public function updateSms($sms_type)
public function editSms($sms_type)
{
//参数获取
$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 = [
['is_use', 0]
@ -105,7 +105,7 @@ class Message extends BaseAdminController
['receiver', ''],
]);
$res = (new MessageService())->getLogPage($data);
$res = (new NoticeService())->getLogPage($data);
return success($res);
}
@ -113,7 +113,7 @@ class Message extends BaseAdminController
* 消息修改
* @return Response
*/
public function update()
public function edit()
{
$data = $this->request->params([
['key', ''],
@ -123,7 +123,7 @@ class Message extends BaseAdminController
['wechat_first', ''],
['wechat_remark', ''],
]);
(new MessageService())->update($data['key'], $data['type'], $data);
(new NoticeService())->edit($data['key'], $data['type'], $data);
return success();
}

View File

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

View File

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

View File

@ -11,8 +11,9 @@
namespace app\adminapi\controller\order;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\order\RechargeOrderRefundService;
use app\service\admin\order\RechargeOrderService;
use core\base\BaseAdminController;
use think\Response;
class Recharge extends BaseAdminController
@ -47,4 +48,11 @@ class Recharge extends BaseAdminController
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;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\pay\PayConfigService;
use core\base\BaseAdminController;
use think\Response;
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;
use app\adminapi\controller\BaseAdminController;
use app\enum\site\SiteEnum;
use app\service\admin\auth\AuthSiteService;
use app\service\admin\site\SiteService;
use core\base\BaseAdminController;
use think\Response;
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\sys\User.add');
$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([
['site_name', ''],
['group_id', 0],
['expire_time', 0]
]);
$this->validate($data, 'app\validate\site\Site.update');
(new SiteService())->update($id, $data);
return success(100004);
$this->validate($data, 'app\validate\site\Site.edit');
(new SiteService())->edit($id, $data);
return success('MODIFY_SUCCESS');
}
/**

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\site;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\site\SiteGroupService;
use core\base\BaseAdminController;
use think\Response;
/**
@ -55,7 +55,7 @@ class SiteGroup extends BaseAdminController
]);
$this->validate($data, 'app\validate\site\SiteGroup.add');
$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
* @return Response
*/
public function update($group_id){
public function edit($group_id){
$data = $this->request->params([
['group_name', ''],
['group_desc', ''],
['group_roles', ''],
]);
$this->validate($data, 'app\validate\site\SiteGroup.add');
(new SiteGroupService())->update($group_id, $data);
return success(100004);
(new SiteGroupService())->edit($group_id, $data);
return success('EDIT_SUCCESS');
}
/**
@ -82,7 +82,7 @@ class SiteGroup extends BaseAdminController
public function 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;
use app\adminapi\controller\BaseAdminController;
use app\enum\sys\UserEnum;
use app\service\admin\site\SiteUserService;
use app\service\admin\user\UserService;
use core\base\BaseAdminController;
use think\Response;
/**
@ -60,14 +60,14 @@ class User extends BaseAdminController
]);
$this->validate($data, 'app\validate\sys\User.add');
$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([
['real_name', ''],
['head_img', ''],
@ -75,9 +75,8 @@ class User extends BaseAdminController
['role_ids', []],
['password', '']
]);
// $this->validate($data, 'app\validate\sys\User.update');
(new SiteUserService())->update($uid, $data);
return success(100004);
(new SiteUserService())->edit($uid, $data);
return success('MODIFY_SUCCESS');
}
/**
@ -94,7 +93,7 @@ class User extends BaseAdminController
$data[$field] = $data['value'];
// $this->validate($data, 'app\validate\sys\User.modify');
(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){
(new UserService())->del($uid);
return success(100003);
return success('DELETE_SUCCESS');
}
/**
@ -112,7 +111,7 @@ class User extends BaseAdminController
public function 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){
(new SiteUserService())->unlock($uid);
return success(100004);
return success('MODIFY_SUCCESS');
}

View File

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

View File

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

View File

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

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\sys;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\sys\AgreementService;
use core\base\BaseAdminController;
use think\Response;
/**
@ -48,14 +48,14 @@ class Agreement extends BaseAdminController
* @param string $key
* @return Response
*/
public function update(string $key){
public function edit(string $key){
$data = $this->request->params([
['title', ''],
['content', ''],
], 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']);
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;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\sys\AreaService;
use core\base\BaseAdminController;
class Area extends BaseAdminController
{

View File

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

View File

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

View File

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

View File

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

View File

@ -11,9 +11,9 @@
namespace app\adminapi\controller\sys;
use app\adminapi\controller\BaseAdminController;
use app\enum\sys\RoleStatusEnum;
use app\service\admin\sys\RoleService;
use core\base\BaseAdminController;
use think\Response;
class Role extends BaseAdminController
@ -55,22 +55,22 @@ class Role extends BaseAdminController
]);
$this->validate($data, 'app\validate\sys\Role.add');
(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([
['role_name', ''],
['rules', []],
['status', RoleStatusEnum::ON],
]);
$this->validate($data, 'app\validate\sys\Role.update');
(new RoleService())->update($role_id, $data);
return success(100004);
$this->validate($data, 'app\validate\sys\Role.edit');
(new RoleService())->edit($role_id, $data);
return success('EDIT_SUCCESS');
}
@ -80,7 +80,7 @@ class Role extends BaseAdminController
*/
public function 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;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\sys\SystemService;
use core\base\BaseAdminController;
/**
* 系统信息查询
@ -30,4 +30,21 @@ class System extends BaseAdminController
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;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\controller\sys\AdminException;
use app\enum\sys\StorageEnum;
use app\service\admin\file\StorageConfigService;
use app\service\admin\file\UploadConfigService;
use app\service\admin\file\UploadService;
use core\base\BaseAdminController;
use think\Response;
class Storage extends BaseAdminController
@ -46,11 +44,11 @@ class Storage extends BaseAdminController
* 存储设置修改
* @return Response
*/
public function updateStorage($storage_type)
public function editStorage($storage_type)
{
//参数获取
$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 = [
['is_use', 0]
@ -61,7 +59,7 @@ class Storage extends BaseAdminController
$request_data = $this->request->params($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;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\controller\sys\AdminException;
use app\enum\sys\StorageEnum;
use app\service\admin\file\UploadConfigService;
use app\service\admin\file\UploadService;
use core\base\BaseAdminController;
use think\Response;
class Upload extends BaseAdminController
@ -53,12 +52,12 @@ class Upload extends BaseAdminController
* 文件上传(默认不上云)
* @return Response
*/
public function document(){
public function document($type){
$data = $this->request->params([
['file', 'file'],
], true);
$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);
return success(100016);
return success('SET_SUCCESS');
}
/**
@ -90,17 +89,4 @@ class Upload extends BaseAdminController
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;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\user\UserService;
use core\base\BaseAdminController;
use think\Response;
class User extends BaseAdminController

View File

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

View File

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

View File

@ -11,10 +11,9 @@
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\wechat\WechatConfigService;
use core\base\BaseAdminController;
use think\Response;
class Config extends BaseAdminController
@ -44,7 +43,7 @@ class Config extends BaseAdminController
]);
$this->validate($data, 'app\validate\channel\Wechat.set');
(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 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;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\wechat\WechatMenuService;
use core\base\BaseAdminController;
/**
* 微信公众号管理菜单
@ -33,12 +33,12 @@ class Menu extends BaseAdminController
* 设置菜单
* @return void
*/
public function update(){
public function edit(){
$wechat_menu_service = new WechatMenuService();
$data = $this->request->params([
['button', []]
]);
$wechat_menu_service->update($data['button']);
return success(100004);
$wechat_menu_service->edit($data['button']);
return success('EDIT_SUCCESS');
}
}

View File

@ -11,8 +11,8 @@
namespace app\adminapi\controller\wechat;
use app\adminapi\controller\BaseAdminController;
use app\service\admin\wechat\WechatReplyService;
use core\base\BaseAdminController;
use think\Response;
/**
@ -60,7 +60,7 @@ class Reply extends BaseAdminController
* 更新关键词回复
* @return void
*/
public function updateKeyword($id){
public function editKeyword($id){
$wechat_reply_service = new WechatReplyService();
$data = $this->request->params([
['name', ''],
@ -71,7 +71,7 @@ class Reply extends BaseAdminController
['status', 0],
['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
*/
public function updateDefault(){
public function editDefault(){
$data = $this->request->params([
['content_type', ''],
['content', ''],
['status', 0],
]);
$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
*/
public function updateSubscribe(){
public function editSubscribe(){
$data = $this->request->params([
['content_type', ''],
['content', ''],
['status', 0],
]);
$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;
use app\adminapi\controller\BaseAdminController;
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
// +----------------------------------------------------------------------
namespace app\middleware;
namespace app\adminapi\middleware;
use app\Request;
use Closure;
use core\exception\AdminException;
/**
* http跨域请求中间件
@ -25,18 +26,37 @@ class AllowCrossDomain
{
$allow_header = [
system_name('admin_token_name'),
system_name('api_token_name'),
system_name('admin_site_id_name'),
system_name('api_site_id_name'),
system_name('channel_name'),
'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-Methods: GET, POST, PUT, DELETE, post');
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.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);
}
}

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);
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::put('article/:id', 'article.Article/update');
Route::put('article/:id', 'article.Article/edit');
//删除文章
Route::delete('article/:id', 'article.Article/del');
/***************************************************** 文章分类管理 ****************************************************/
@ -41,7 +41,7 @@ Route::group('article', function () {
//添加文章分类
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');

View File

@ -29,7 +29,7 @@ Route::group('auth', function () {
//授权用户菜单
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');

View File

@ -31,7 +31,7 @@ Route::group('diy', function() {
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');
@ -51,6 +51,9 @@ Route::group('diy', function() {
// 自定义路由列表
Route::get('route', 'diy.DiyRoute/lists');
// 获取自定义路由分享内容
Route::get('route/info', 'diy.DiyRoute/getInfoByName');
// 编辑自定义路由分享内容
Route::put('route/share', 'diy.DiyRoute/modifyShare');

View File

@ -29,7 +29,7 @@ Route::group('generator', function () {
//添加代码生成
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');
//代码生成

View File

@ -27,12 +27,18 @@ Route::group('member', function () {
//会员添加
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::get('registertype', 'member.Member/getMemberRegisterType');
//会员注册渠道
Route::get('register/channel', 'member.Member/getMemberRegisterChannelType');
//会员列表(不分页)
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');
@ -41,44 +47,54 @@ Route::group('member', function () {
//会员标签添加
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::get('label/all', 'member.MemberLabel/getAll');
/***************************************************** 会员账户 ****************************************************/
//会员账户类型变动方式
Route::get('account/type', 'member.Account/accountType');
//会员积分流水
Route::get('account/point', 'member.Account/point');
//会员余额流水
Route::get('account/balance', 'member.Account/balance');
//会员零钱流水
//会员可提现余额流水
Route::get('account/money', 'member.Account/money');
//会员佣金流水
Route::get('account/commission', 'member.Account/commission');
//会员积分调整
Route::post('account/point', 'member.Account/adjustPoint');
//会员余额调整
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/sum_balance', 'member.Account/sumBalance');
/***************************************************** 会员相关设置**************************************************/
//获取注册与登录设置
Route::get('config/login', 'member.Config/getLoginConfig');
//更新注册与登录设置
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([
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([
AdminCheckToken::class,

View File

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

View File

@ -26,6 +26,17 @@ Route::group('pay', function () {
Route::get('config/:type', 'pay.Config/get');
//获取支付方式列表
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([
AdminCheckToken::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;
/**
* 路由
*/
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::put('site/:id', 'site.Site/update');
Route::put('site/:id', 'site.Site/edit');
//站点状态
Route::get('statuslist', 'site.Site/getStatuList');
/***************************************************** 站点分组 *************************************************/
@ -39,7 +39,7 @@ Route::group('site', function () {
//站点分组新增
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');
//获取所有分组
@ -56,7 +56,7 @@ Route::group('site', function () {
//站点用户解锁
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');
/***************************************************** 操作日志 **************************************************/

View File

@ -22,6 +22,7 @@ Route::group('sys', function () {
/***************************************************** 系统整体信息 *************************************************/
//系统信息
Route::get('info', 'sys.System/info');
Route::get('url', 'sys.System/url');
/***************************************************** 用户组 ****************************************************/
//用户组列表
Route::get('role', 'sys.Role/lists');
@ -32,14 +33,14 @@ Route::group('sys', function () {
//用户组新增
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::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');
//删除单个菜单
@ -64,14 +65,17 @@ Route::group('sys', function () {
//版权设置
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('video', 'upload.Upload/video');
//附件上传
Route::post('document', 'upload.Upload/document');
Route::post('document/:type', 'upload.Upload/document');
//附件列表
Route::get('attachment', 'sys.Attachment/lists');
//附件列表
@ -86,7 +90,7 @@ Route::group('sys', function () {
//附件组新增
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');
//删除单个附件组
@ -96,7 +100,7 @@ Route::group('sys', function () {
//存储详情
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');
//获取上传设置
@ -107,7 +111,7 @@ Route::group('sys', function () {
//消息详情
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');
/***************************************************** 地区管理 ****************************************************/
@ -127,6 +131,11 @@ Route::group('sys', function () {
Route::get('channel', 'sys.Channel/getChannelType');
//场景域名
Route::get('scene_domain', 'sys.Config/getSceneDomain');
/***************************************************** 系统环境 ****************************************************/
Route::get('system', 'sys.System/getSystemInfo');
/***************************************************** 应用管理 ****************************************************/
Route::get('applist', 'sys.App/getAppList');
})->middleware([
AdminCheckToken::class,
AdminCheckRole::class,

View File

@ -14,17 +14,3 @@ use app\adminapi\middleware\AdminCheckToken;
use app\adminapi\middleware\AdminLog;
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');
})->middleware([
AdminCheckToken::class,
AdminCheckRole::class,

View File

@ -33,7 +33,7 @@ Route::group('wechat', function () {
//获取微信菜单
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');
@ -42,26 +42,26 @@ Route::group('wechat', function () {
//新增关键词回复
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::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::put('reply/subscribe', 'wechat.Reply/updateSubscribe');
Route::put('reply/subscribe', 'wechat.Reply/editSubscribe');
/***************************************************** 图文素材回复 ****************************************************/
//图文素材列表
Route::get('media', 'wechat.Media/lists');
//新增图文素材
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');

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -11,10 +11,9 @@
namespace app\api\controller\login;
use app\BaseController;
use app\service\api\captcha\CaptchaService;
use app\service\api\login\LoginService;
use app\service\api\scan\ScanService;
use core\base\BaseController;
use think\Response;
class Login extends BaseController
@ -34,7 +33,7 @@ class Login extends BaseController
$result = (new LoginService())->account($data['username'], $data['password']);
if(!$result){
//账号密码错误...., 重置验证码
return fail(301003);
return fail('ACCOUNT_OR_PASSWORD_ERROR');
}
return success($result);
@ -46,7 +45,7 @@ class Login extends BaseController
*/
public function 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');
(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;
use app\BaseController;
use app\service\api\login\LoginService;
use app\service\api\login\RegisterService;
use core\base\BaseController;
use think\Response;
class Register extends BaseController

View File

@ -11,8 +11,9 @@
namespace app\api\controller\member;
use app\api\controller\BaseApiController;
use app\enum\member\MemberAccountEnum;
use app\service\api\member\MemberAccountService;
use core\base\BaseApiController;
use think\Response;
/**
@ -28,8 +29,9 @@ class Account extends BaseApiController
*/
public function point(){
$data = $this->request->params([
['from_type', '']
]);
$data[] = ['account_type', '=', 'point'];
$data['account_type'] = MemberAccountEnum::POINT;
return success((new MemberAccountService())->getPage($data));
}
@ -39,10 +41,56 @@ class Account extends BaseApiController
*/
public function balance(){
$data = $this->request->params([
['from_type', '']
]);
$data[] = ['account_type', '=', 'balance'];
$data['account_type'] = MemberAccountEnum::BALANCE;
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;
use app\api\controller\BaseApiController;
use app\service\api\login\AuthService;
use app\service\api\member\MemberLogService;
use app\service\api\member\MemberService;
use core\base\BaseApiController;
use think\Response;
class Member extends BaseApiController
@ -49,19 +50,19 @@ class Member extends BaseApiController
$data[$field] = $data['value'];
$this->validate($data, 'app\validate\member\Member.modify');
(new MemberService())->modify($field, $data['value']);
return success(100004);
return success('MODIFY_SUCCESS');
}
/**
* 编辑会员
* @return Response
*/
public function update(){
public function edit(){
$data = $this->request->params([
['data', []],
]);
(new MemberService())->update($data['data']);
return success(100004);
(new MemberService())->edit($data['data']);
return success('MODIFY_SUCCESS');
}
/**
@ -75,4 +76,18 @@ class Member extends BaseApiController
]);
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;
use app\api\controller\BaseApiController;
use app\enum\member\MemberAccountEnum;
use app\enum\pay\TransferEnum;
use app\service\api\login\AuthService;
use app\service\api\member\MemberService;
use app\service\api\member\MemberWithdrawService;
use app\service\api\member\MemberCashOutService;
use core\base\BaseApiController;
use think\Response;
class MemberWithdraw extends BaseApiController
class MemberCashOut extends BaseApiController
{
/**
* 会员提现列表
* @return Response
*/
public function lists(){
$data = $this->request->params([
['status', ''],
]);
return success((new MemberWithdrawService())->getPage($data));
public function lists()
{
$data = array_filter($this->request->params([
[ 'status', '' ],
[ 'account_type', '' ]
]), function($value){
return $value !== '';
});
return success(( new MemberCashOutService() )->getPage($data));
}
/**
* 提现详情
* @return Response
*/
public function info($id){
return success((new MemberWithdrawService())->getInfo($id));
public function info($id)
{
return success(( new MemberCashOutService() )->getInfo($id));
}
/**
* 提现配置
* @return Response
*/
public function config(){
return success((new MemberWithdrawService())->getWithdrawConfig());
public function config()
{
return success(( new MemberCashOutService() )->getCashOutConfig());
}
/**
@ -58,19 +63,19 @@ class MemberWithdraw extends BaseApiController
}
/**
* 绑定手机号
* 申请提现
* @return void
*/
public function apply(){
public function apply()
{
$data = $this->request->params([
['apply_money', 0],
['transfer_type', ''],
['transfer_realname', ''],
['transfer_mobile', ''],
['transfer_bank', ''],
['transfer_account', ''],
[ 'apply_money', 0 ],
[ 'account_type', MemberAccountEnum::MONEY ],
[ 'transfer_type', '' ],
[ 'account_id', 0 ]
]);
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
* @return Response
*/
public function cancel($id){
return success((new MemberWithdrawService())->cancel($id));
public function cancel($id)
{
return success(( new MemberCashOutService() )->cancel($id));
}
}

View File

@ -11,8 +11,8 @@
namespace app\api\controller\order;
use app\api\controller\BaseApiController;
use app\service\api\order\RechargeOrderService;
use core\base\BaseApiController;
use think\Response;
class Recharge extends BaseApiController
@ -32,4 +32,21 @@ class Recharge extends BaseApiController
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;
use app\api\controller\BaseApiController;
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
*/
public function notify($type, $site_id, $action){
return (new PayService())->notify($type, $action);
public function notify($site_id, $channel, $type, $action)
{
return (new PayService())->notify($channel, $type, $action);
}
/**
* 去支付
* @return \think\Response
*/
public function pay(){
public function pay()
{
$data = $this->request->params([
['type', ''],
@ -42,20 +43,14 @@ class Pay extends BaseApiController
['buyer_id', ''],
['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));
}
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;
use app\api\controller\BaseApiController;
use app\service\api\sys\ConfigService;
use app\service\api\scan\ScanService;
use core\base\BaseApiController;
use think\Response;
class Config extends BaseApiController

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -11,8 +11,8 @@
namespace app\api\controller\wechat;
use app\BaseController;
use app\service\api\wechat\WechatAuthService;
use core\base\BaseController;
use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
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;
use app\Request;
use app\services\user\UserAuthServices;
use Closure;
use Exception;
@ -27,7 +26,7 @@ class ApiChannel
/**
* @param Request $request
* @param Closure $next
* @param bool $exception 是否把错误抛出
* @param bool $exception 是否把错误抛出
* @return mixed
* @throws Exception
*/
@ -36,8 +35,8 @@ class ApiChannel
//微信或支付宝
if (preg_match('~micromessenger~i', $request->header('user-agent')) || preg_match('~alipay~i', $request->header('user-agent'))) {
$site_id = $request->param('site_id', -1);
if($site_id != -1){
$request->pushHeader([system_name('api_site_id_name') => $request->param('site_id')]);
if ($site_id != -1) {
$request->pushHeader([ system_name('api_site_id_name') => $request->param('site_id') ]);
}
}
return $next($request);

View File

@ -15,10 +15,9 @@ use app\enum\sys\AppTypeEnum;
use app\Request;
use app\service\api\login\AuthService;
use app\service\api\login\LoginService;
use app\services\user\UserAuthServices;
use Closure;
use Exception;
use extend\exception\AuthException;
use core\exception\AuthException;
/**
@ -31,7 +30,7 @@ class ApiCheckToken
/**
* @param Request $request
* @param Closure $next
* @param bool $exception 是否把错误抛出
* @param bool $exception 是否把错误抛出
* @return mixed
* @throws Exception
*/
@ -41,17 +40,17 @@ class ApiCheckToken
//通过配置来设置系统header参数
try {
$token = $request->apiToken();
$token_info = (new LoginService())->parseToken($token);
$token_info = ( new LoginService() )->parseToken($token);
} catch (AuthException $e) {
//是否将登录错误抛出
if ($exception)
return fail($e->getMessage());
}
if(!empty($token_info)){
$request->memberId($token_info['member_id']);
if (!empty($token_info)) {
$request->memberId($token_info[ 'member_id' ]);
}
//校验会员和站点
(new AuthService())->checkSiteAuth($request);
( new AuthService() )->checkSiteAuth($request);
return $next($request);
}
}

View File

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

View File

@ -18,7 +18,7 @@ use think\facade\Route;
/**
* 会员个人信息管理
*/
Route::group('member', function () {
Route::group('member', function() {
/***************************************************** 会员管理 ****************************************************/
//会员个人详情
@ -28,7 +28,7 @@ Route::group('member', function () {
//会员信息修改
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');
@ -37,19 +37,50 @@ Route::group('member', function () {
Route::get('account/point', 'member.Account/point');
//会员余额流水
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(ApiCheckToken::class, true)
->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::get('recharge', 'order.Recharge/lists');
// 充值订单详情
Route::get('recharge/:order_id', 'order.Recharge/detail');
})->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class, true)
->middleware(ApiLog::class);

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