Browse Source

Allowed Multiple Username types

放宽用户名的限制,为未来的电话号码注册做准备;

Apply fixes from StyleCI
兔姬桑 4 years ago
parent
commit
3649a297f1

+ 12 - 14
app/Components/Client/URLSchemes.php

@@ -2,8 +2,6 @@
 
 namespace App\Components\Client;
 
-use App\Models\Server;
-
 class URLSchemes
 {
     public static function buildShadowsocks($server)
@@ -25,29 +23,29 @@ class URLSchemes
     public static function buildShadowsocksSIP008($server)
     {
         return [
-            'id' => $server['id'],
-            'remark' => $server['name'],
-            'server' => $server['host'],
+            'id'          => $server['id'],
+            'remark'      => $server['name'],
+            'server'      => $server['host'],
             'server_port' => $server['port'],
-            'password' => $server['passwd'],
-            'method' => $server['method'],
+            'password'    => $server['passwd'],
+            'method'      => $server['method'],
         ];
     }
 
     public static function buildVmess($server)
     {
         $config = [
-            'v' => '2',
-            'ps' => $server['name'],
-            'add' => $server['host'],
+            'v'    => '2',
+            'ps'   => $server['name'],
+            'add'  => $server['host'],
             'port' => $server['port'],
-            'id' => $server['uuid'],
-            'aid' => $server['v2_alter_id'],
-            'net' => $server['v2_net'],
+            'id'   => $server['uuid'],
+            'aid'  => $server['v2_alter_id'],
+            'net'  => $server['v2_net'],
             'type' => $server['v2_type'],
             'host' => $server['v2_host'],
             'path' => $server['v2_path'],
-            'tls' => $server['v2_tls'],
+            'tls'  => $server['v2_tls'],
         ];
 
         return 'vmess://'.base64_encode(json_encode($config)).PHP_EOL;

+ 0 - 11
app/Http/Controllers/AuthController.php

@@ -191,17 +191,6 @@ class AuthController extends Controller
     {
         $cacheKey = 'register_times_'.md5(IP::getClientIp()); // 注册限制缓存key
 
-        $validator = Validator::make($request->all(), [
-            'nickname' => 'required',
-            // todo: 需要修改
-            'username'    => 'required|unique:user',
-            'password' => 'required|min:6|confirmed',
-            'term'     => 'accepted',
-        ]);
-
-        if ($validator->fails()) {
-            return Redirect::back()->withInput()->withErrors($validator->errors());
-        }
         $data = $request->validated();
         $register_token = $request->input('register_token');
         $invite_code = $request->input('code');

+ 1 - 1
app/Http/Controllers/UserController.php

@@ -176,7 +176,7 @@ class UserController extends Controller
             if ($request->has(['nickname', 'wechat', 'qq'])) {
                 $data = $request->only(['nickname', 'wechat', 'qq']);
                 if (empty($data['nickname'])) {
-                    return Redirect::back()->withErrors(trans('validation.required', ['attribute' => trans('validation.attributes.username')]));
+                    return Redirect::back()->withErrors(trans('validation.required', ['attribute' => trans('validation.attributes.nickname')]));
                 }
 
                 if (! $user->update($data)) {

+ 2 - 2
app/Http/Requests/Auth/RegisterRequest.php

@@ -10,9 +10,9 @@ class RegisterRequest extends FormRequest
     {
         return [
             'nickname' => 'required',
-            'username' => 'required|unique:user',
+            'username' => 'required|'.(sysConfig('username_type') ?? 'email').'|unique:user',
             'password' => 'required|min:6|confirmed',
-            'term' => 'accepted',
+            'term'     => 'accepted',
         ];
     }
 }

+ 2 - 1
resources/lang/en/validation.php

@@ -113,7 +113,8 @@ return [
     ],
     'attributes'           => [
         'name'                  => 'Name',
-        'username'              => 'Nick Name',
+        'nickname'              => 'Nickname',
+        'username'              => 'Username',
         'email'                 => 'Email',
         'password'              => 'Password',
         'password_confirmation' => 'Password Confirmation',

+ 2 - 1
resources/lang/zh_CN/validation.php

@@ -115,7 +115,8 @@ return [
 
     'attributes' => [
         'name'                  => '名称',
-        'username'              => '昵称',
+        'nickname'              => '昵称',
+        'username'              => '用户名',
         'email'                 => '邮箱',
         'password'              => '密码',
         'password_confirmation' => '确认密码',

+ 4 - 2
resources/views/admin/config/system.blade.php

@@ -92,8 +92,9 @@
                         </x-system.tab-pane>
                         <x-system.tab-pane id="account">
                             <x-system.switch title="用户注册" code="is_register" :check="$is_register" help="关闭后无法注册"/>
-                            <x-system.select title="第三方登录平台" code="oauth_path" help="请在.ENV中添加设置,再在此处开启平台"  multiple="1"
+                            <x-system.select title="第三方登录平台" code="oauth_path" help="请在.ENV中添加设置,再在此处开启平台" multiple="1"
                                              :list="array_flip(config('common.oauth.labels'))"/>
+                            <x-system.select title="账号类型" help="规范站点用户账号的类型,默认为电子邮箱" code="username_type" :list="['电子邮箱'=> 'email', '手机号码' => 'numeric', '任意用户名' => 'string']"/>
                             <x-system.select title="邀请注册" code="is_invite_register" :list="['关闭' => '', '可选'=> 1, '必须' => 2]"/>
                             <x-system.select title="激活账号" code="is_activate_account" :list="['关闭' => '', '注册前激活'=> 1, '注册后激活' => 2]" help="启用后用户需要通过邮件来激活账号"/>
                             <x-system.select title="重置密码" code="password_reset_notification" :list="['关闭' => '', '邮箱'=> 'mail']" help="启用后用户可以重置密码"/>
@@ -157,7 +158,7 @@
                             <x-system.input-test title="Bark设备号" :value="$bark_key" code="bark_key" holder="安装并打开Bark后取得" type="url"
                                                  help="推送消息到iOS设备,需要在iOS设备里装一个名为Bark的应用,取网址后的一长串代码,启用Bark,请务必填入本值" test="bark"/>
                             <x-system.input-test title="Telegram Token" :value="$telegram_token" code="telegram_token" help="找 <a href=https://t.me/BotFather
-                                    target=_blank>@BotFather</a> 申请机器人"  test="telegram"/>
+                                    target=_blank>@BotFather</a> 申请机器人" test="telegram"/>
                             <x-system.switch title="PushBear" code="is_push_bear" :check="$is_push_bear"
                                              help='使用PushBear推送微信消息给用户(<a href="https://pushbear.ftqq.com/admin/#/signin" target="_blank">创建消息通道</a>)'/>
                             <x-system.input title="PushBear SendKey" :value="$push_bear_send_key" code="push_bear_send_key" help="启用PushBear,请务必填入本值" holder="创建消息通道后即可获取"/>
@@ -395,6 +396,7 @@
     <script>
         $(document).ready(function() {
             $('#forbid_mode').selectpicker('val', '{{$forbid_mode}}');
+            $('#username_type').selectpicker('val', '{{$username_type}}');
             $('#is_invite_register').selectpicker('val', '{{$is_invite_register}}');
             $('#is_activate_account').selectpicker('val', '{{$is_activate_account}}');
             $('#ddns_mode').selectpicker('val', '{{$ddns_mode}}');

+ 3 - 1
resources/views/auth/activeUser.blade.php

@@ -15,7 +15,9 @@
             </div>
             <div class="form-group form-material floating" data-plugin="formMaterial">
                 <input type="text" class="form-control" name="username" value="{{Request::query('username')}}" required/>
-                <label class="floating-label" for="email">{{trans('validation.attributes.email')}}</label>
+                <label class="floating-label" for="username">
+                    {{sysConfig('username_type') === 'email' || sysConfig('username_type') === null ? trans('validation.attributes.email') : trans('validation.attributes.username')}}
+                </label>
             </div>
         @else
             <x-alert type="danger" :message="trans('auth.active.error.disable')"/>

+ 3 - 1
resources/views/auth/login.blade.php

@@ -11,7 +11,9 @@
         @endif
         <div class="form-group form-material floating" data-plugin="formMaterial">
             <input type="text" class="form-control" name="username" value="{{Request::old('username')}}" required/>
-            <label class="floating-label" for="username">{{trans('validation.attributes.email')}}</label>
+            <label class="floating-label" for="username">
+                {{sysConfig('username_type') === 'email' || sysConfig('username_type') === null ? trans('validation.attributes.email') : trans('validation.attributes.username')}}
+            </label>
         </div>
         <div class="form-group form-material floating" data-plugin="formMaterial">
             <input type="password" class="form-control" name="password" value="{{Request::old('password')}}" autocomplete required/>

+ 5 - 3
resources/views/auth/register.blade.php

@@ -15,7 +15,7 @@
             <div class="form-group form-material floating" data-plugin="formMaterial">
                 <input type="text" class="form-control" name="nickname" id="nickname"
                        value="{{Request::old('nickname') ? : Request::query('nickname')}}" autocomplete="off" required/>
-                <label class="floating-label" for="username">{{trans('validation.attributes.username')}}</label>
+                <label class="floating-label" for="username">{{trans('validation.attributes.nickname')}}</label>
             </div>
             <div class="form-group form-material floating" data-plugin="formMaterial">
                 @if($emailList)
@@ -34,7 +34,9 @@
                     </div>
                 @else
                     <input type="text" class="form-control" name="username" id="username" value="{{Request::old('username')}}" required/>
-                    <label class="floating-label" for="username">{{trans('validation.attributes.email')}}</label>
+                    <label class="floating-label" for="username">
+                        {{sysConfig('username_type') === 'email' || sysConfig('username_type') === null ? trans('validation.attributes.email') : trans('validation.attributes.username')}}
+                    </label>
                 @endif
             </div>
             @if(sysConfig('is_activate_account') == 1)
@@ -60,7 +62,7 @@
             </div>
             @if(sysConfig('is_invite_register'))
                 <div class="form-group form-material floating" data-plugin="formMaterial">
-                    <input type="password" class="form-control" name="code" value="{{Request::old('code') ?: Request::query('code')}}"
+                    <input type="text" class="form-control" name="code" value="{{Request::old('code') ?: Request::query('code')}}"
                            @if(sysConfig('is_invite_register') == 2) required @endif/>
                     <label class="floating-label" for="code">
                         {{trans('auth.invite.attribute')}}@if(sysConfig('is_invite_register') == 1)({{trans('auth.optional')}}) @endif

+ 3 - 1
resources/views/auth/resetPassword.blade.php

@@ -15,7 +15,9 @@
             </div>
             <div class="form-group form-material floating" data-plugin="formMaterial">
                 <input type="text" class="form-control" name="username" value="{{Request::old('username')}}" required="required" autofocus="autofocus"/>
-                <label class="floating-label">{{trans('validation.attributes.email')}}</label>
+                <label class="floating-label" for="username">
+                    {{sysConfig('username_type') === 'email' || sysConfig('username_type') === null ? trans('validation.attributes.email') : trans('validation.attributes.username')}}
+                </label>
             </div>
         @else
             <x-alert type="danger" :message="trans('auth.password.reset.error.disabled' ,['email' => sysConfig('webmaster_email')])"/>

+ 1 - 1
resources/views/user/profile.blade.php

@@ -95,7 +95,7 @@
                                 <form action="{{route('profile')}}" method="post" enctype="multipart/form-data" class="form-horizontal">
                                     @csrf
                                     <div class="form-group row">
-                                        <label for="nickname" class="col-md-2 col-form-label">{{trans('validation.attributes.username')}}</label>
+                                        <label for="nickname" class="col-md-2 col-form-label">{{trans('validation.attributes.nickname')}}</label>
                                         <input type="text" class="form-control col-md-5 round" name="nickname" id="nickname" value="{{Auth::getUser()->nickname}}"/>
                                     </div>
                                     <div class="form-group row">

+ 1 - 1
resources/views/user/referral.blade.php

@@ -36,7 +36,7 @@
                             <thead class="thead-default">
                             <tr>
                                 <th data-cell-style="cellStyle"> #</th>
-                                <th> {{trans('validation.attributes.email')}} </th>
+                                <th> {{trans('validation.attributes.username')}} </th>
                                 <th> {{trans('user.registered_at')}}</th>
                             </tr>
                             </thead>