LoginRequest.php 2.6 KB
<?php
/**
 +-----------------------------------------------------------------------------------------------------------------------
 * 数据验证层:
 +-----------------------------------------------------------------------------------------------------------------------
 *
 * @copyright   Copyright
 * @author      Richer
 * @package     App\Http\Requests
 * @version     20190312
 * @link
 */
namespace App\Http\Requests;

use App\Models\User\User;

class LoginRequest extends BaseRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    public function attributes()
    {
        return [
            'type'      => __('登录方式'),
            'mobile'    => __('mobile'),
            'password'  => __('password'),
            'code'      => __('微信code'),
            'userInfo'  => __('微信用户信息'),
            'encryptedData'  => __('encryptedData 加密数据'),
            'iv'        => __('iv 数据'),
        ];
    }

    public function rules()
    {
        switch ($this->method()) {
            case 'POST':
                switch (request('login_method')) {
                    case User::WECHAT_APPLET_NICKNAME_LOGIN:
                        return [
                            'code'      => 'required',
                            'userInfo'  => 'required',
                        ];
                    case User::WECHAT_APPLET_MOBILE_LOGIN:
                        return [
                            'code'          => 'required',
                            'encryptedData' => 'required',
                            'iv'            => 'required',
                        ];
                    case User::WECHAT_OFFICIAL_ACCOUNT_AUTHORIZED_LOGIN:
                        return [
                            'code'          => 'required',
//                            'encryptedData' => 'required',
//                            'iv'            => 'required',
                        ];
                    default:
                        return [
                            'mobile' => 'required',
                            'password' => 'required',
                        ];
                }
            case 'PUT':
            case 'PATCH':
            case 'GET':
            case 'DELETE':
            default:
                return [];
        }
    }

    /**
     * 提示信息
     *
     * @return array
     */
    public function messages()
    {
        // 为了提示更准确,暂时不用框架自带的提示语句
        return [

        ];
    }
}