first
This commit is contained in:
33
modules/User/Providers/EventServiceProvider.php
Normal file
33
modules/User/Providers/EventServiceProvider.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Providers;
|
||||
|
||||
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
|
||||
use Modules\User\Events\UserOrderPaid;
|
||||
use Modules\User\Events\UserSignReplenishSuccess;
|
||||
use Modules\User\Events\UserSignSuccess;
|
||||
use Modules\User\Listeners\UserOrderPaidListeners;
|
||||
use Modules\User\Listeners\UserSignContinueDays;
|
||||
|
||||
class EventServiceProvider extends ServiceProvider
|
||||
{
|
||||
|
||||
/**
|
||||
* The event listener mappings for the application.
|
||||
* @var array
|
||||
*/
|
||||
protected $listen = [
|
||||
UserSignSuccess::class => [
|
||||
UserSignContinueDays::class,
|
||||
],
|
||||
|
||||
//开通身份
|
||||
UserOrderPaid::class => [
|
||||
UserOrderPaidListeners::class,
|
||||
],
|
||||
|
||||
UserSignReplenishSuccess::class => [
|
||||
],
|
||||
];
|
||||
|
||||
}
|
||||
62
modules/User/Providers/RouteServiceProvider.php
Normal file
62
modules/User/Providers/RouteServiceProvider.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Providers;
|
||||
|
||||
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
class RouteServiceProvider extends ServiceProvider
|
||||
{
|
||||
|
||||
/**
|
||||
* @var string $moduleName
|
||||
*/
|
||||
protected string $moduleName = 'User';
|
||||
|
||||
/**
|
||||
* The module namespace to assume when generating URLs to actions.
|
||||
* @var string
|
||||
*/
|
||||
protected string $moduleNamespace = 'Modules\User\Http\Controllers';
|
||||
|
||||
/**
|
||||
* Called before routes are registered.
|
||||
* Register any model bindings or pattern based filters.
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
parent::boot();
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
* @return void
|
||||
*/
|
||||
public function map()
|
||||
{
|
||||
$this->mapAdminRoutes();
|
||||
$this->mapApiRoutes();
|
||||
}
|
||||
|
||||
protected function mapApiRoutes()
|
||||
{
|
||||
Route::as(config('api.route.as'))
|
||||
->domain(config('api.route.domain'))
|
||||
->middleware(config('api.route.middleware'))
|
||||
->namespace($this->moduleNamespace . '\\Api')
|
||||
->prefix(config('api.route.prefix') . '/user')
|
||||
->group(module_path($this->moduleName, 'Routes/api.php'));
|
||||
}
|
||||
|
||||
protected function mapAdminRoutes()
|
||||
{
|
||||
Route::as(config('admin.route.as'))
|
||||
->domain(config('admin.route.domain'))
|
||||
->middleware(config('admin.route.middleware'))
|
||||
->namespace($this->moduleNamespace . '\\Admin')
|
||||
->prefix(config('admin.route.prefix'))
|
||||
->group(module_path($this->moduleName, 'Routes/admin.php'));
|
||||
}
|
||||
|
||||
}
|
||||
120
modules/User/Providers/UserServiceProvider.php
Normal file
120
modules/User/Providers/UserServiceProvider.php
Normal file
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Providers;
|
||||
|
||||
use Illuminate\Support\Facades\Config;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Modules\User\Facades\Sms;
|
||||
use Modules\User\Models\User;
|
||||
use Overtrue\EasySms\EasySms;
|
||||
|
||||
class UserServiceProvider extends ServiceProvider
|
||||
{
|
||||
|
||||
/**
|
||||
* @var string $moduleName
|
||||
*/
|
||||
protected string $moduleName = 'User';
|
||||
|
||||
/**
|
||||
* @var string $moduleNameLower
|
||||
*/
|
||||
protected string $moduleNameLower = 'user';
|
||||
|
||||
protected array $runCommands = [
|
||||
UserIdentityOver::class,
|
||||
];
|
||||
|
||||
/**
|
||||
* Boot the application events.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
$this->loadMigrationsFrom(module_path($this->moduleName, 'Database/Migrations'));
|
||||
|
||||
$this->registerValidatorExtend();
|
||||
|
||||
if ($this->app->runningInConsole()) {
|
||||
$this->commands($this->runCommands);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the service provider.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
$this->registerConfig();
|
||||
|
||||
if (config('user.cache_user')) {
|
||||
Config::set('auth.providers.users.driver', 'cache');
|
||||
Config::set('cache-user', Config::get('user.cache_config'));
|
||||
}
|
||||
|
||||
Config::set('auth.providers.users.model', User::class);
|
||||
Config::set('hashids.connections.code', Config::get('user.invite_code'));
|
||||
|
||||
// 注册短信到容器中
|
||||
$this->app->singleton('sms', function () {
|
||||
return new EasySms(Sms::getConfig());
|
||||
});
|
||||
|
||||
$this->app->register(RouteServiceProvider::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register config.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function registerConfig()
|
||||
{
|
||||
$this->publishes([
|
||||
module_path($this->moduleName, 'Config/config.php') => config_path($this->moduleNameLower.'.php'),
|
||||
module_path($this->moduleName, 'Config/identity.php') => config_path('identity.php'),
|
||||
], 'config');
|
||||
|
||||
$this->mergeConfigFrom(
|
||||
module_path($this->moduleName, 'Config/config.php'), $this->moduleNameLower
|
||||
);
|
||||
$this->mergeConfigFrom(
|
||||
module_path($this->moduleName, 'Config/identity.php'), 'identity'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the services provided by the provider.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function provides(): array
|
||||
{
|
||||
return ['sms'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Notes : 注册短信验证码校验扩展
|
||||
*
|
||||
* @Date : 2021/5/26 5:03 下午
|
||||
* @Author : <Jason.C>
|
||||
*/
|
||||
public function registerValidatorExtend()
|
||||
{
|
||||
Validator::extend('sms_check', function ($attribute, $code, $parameters) {
|
||||
if (empty($code)) {
|
||||
return false;
|
||||
}
|
||||
$mobileFiled = $parameters[0] ?? 'mobile';
|
||||
$channel = $parameters[1] ?? 'DEFAULT';
|
||||
$mobile = request()->input($mobileFiled);
|
||||
|
||||
return Sms::checkCode($mobile, $code, $channel);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user