mirror of
https://github.com/ProxyPanel/ProxyPanel.git
synced 2026-04-03 02:58:42 +00:00
Fix 生成用户错误
This commit is contained in:
@@ -50,6 +50,37 @@ class Helpers
|
||||
return $code;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加用户.
|
||||
*
|
||||
* @param string $email 用户邮箱
|
||||
* @param string $password 用户密码
|
||||
* @param int $transfer_enable 可用流量
|
||||
* @param int|null $date 可使用天数
|
||||
* @param int|null $inviter_id 邀请人
|
||||
* @param string|null $username 昵称
|
||||
* @return User
|
||||
*/
|
||||
public static function addUser(string $email, string $password, int $transfer_enable, int $date = null, int $inviter_id = null, string $username = null): User
|
||||
{
|
||||
return User::create([
|
||||
'username' => $username ?? $email,
|
||||
'email' => $email,
|
||||
'password' => $password,
|
||||
'port' => self::getPort(), // 生成一个可用端口
|
||||
'passwd' => Str::random(),
|
||||
'vmess_id' => Str::uuid(),
|
||||
'method' => self::getDefaultMethod(),
|
||||
'protocol' => self::getDefaultProtocol(),
|
||||
'obfs' => self::getDefaultObfs(),
|
||||
'transfer_enable' => $transfer_enable,
|
||||
'expired_at' => date('Y-m-d', strtotime('+'.$date.' days')),
|
||||
'user_group_id' => null,
|
||||
'reg_ip' => IP::getClientIp(),
|
||||
'inviter_id' => $inviter_id,
|
||||
]);
|
||||
}
|
||||
|
||||
// 获取一个有效端口
|
||||
public static function getPort(): int
|
||||
{
|
||||
|
||||
@@ -263,7 +263,7 @@ class UserController extends Controller
|
||||
|
||||
try {
|
||||
for ($i = 0; $i < (int) request('amount', 1); $i++) {
|
||||
$user = factory(User::class)->create($preset);
|
||||
$user = Helpers::addUser(Str::random(8).'@auto.generate', Str::random(), 1024 * GB, 365);
|
||||
// 写入用户流量变动记录
|
||||
Helpers::addUserTrafficModifyLog($user->id, null, 0, 1024 * GB, '后台批量生成用户');
|
||||
}
|
||||
|
||||
@@ -241,13 +241,13 @@ class AuthController extends Controller
|
||||
if (Invite::whereCode($code)->whereStatus(0)->doesntExist()) {
|
||||
return Redirect::back()->withInput($request->except('code'))->withErrors(trans('auth.code_error'));
|
||||
}
|
||||
} elseif (sysConfig('is_invite_register') == 2) { // 必须使用邀请码
|
||||
} elseif ((int) sysConfig('is_invite_register') === 2) { // 必须使用邀请码
|
||||
return Redirect::back()->withInput()->withErrors(trans('auth.code_null'));
|
||||
}
|
||||
}
|
||||
|
||||
// 注册前发送激活码
|
||||
if (sysConfig('is_activate_account') == 1) {
|
||||
if ((int) sysConfig('is_activate_account') === 1) {
|
||||
if (! $verify_code) {
|
||||
return Redirect::back()->withInput($request->except('verify_code'))->withErrors(trans('auth.captcha_null'));
|
||||
}
|
||||
@@ -288,9 +288,7 @@ class AuthController extends Controller
|
||||
$transfer_enable = MB * ((int) sysConfig('default_traffic') + ($inviter_id ? (int) sysConfig('referral_traffic') : 0));
|
||||
|
||||
// 创建新用户
|
||||
$user = factory(User::class)->create([
|
||||
'username' => $username, 'email' => $email, 'password' => $password, 'transfer_enable' => $transfer_enable, 'inviter_id' => $inviter_id,
|
||||
]);
|
||||
$user = Helpers::addUser($email, $password, $transfer_enable, sysConfig('default_days'), $inviter_id, $username);
|
||||
|
||||
// 注册失败,抛出异常
|
||||
if (! $user) {
|
||||
@@ -306,7 +304,10 @@ class AuthController extends Controller
|
||||
|
||||
// 更新邀请码
|
||||
if ($affArr['code_id'] && sysConfig('is_invite_register')) {
|
||||
Invite::find($affArr['code_id'])->update(['invitee_id' => $user->id, 'status' => 1]);
|
||||
$invite = Invite::find($affArr['code_id']);
|
||||
if ($invite) {
|
||||
$invite->update(['invitee_id' => $user->id, 'status' => 1]);
|
||||
}
|
||||
}
|
||||
|
||||
// 清除邀请人Cookie
|
||||
@@ -510,7 +511,7 @@ class AuthController extends Controller
|
||||
|
||||
$password = $request->input('password');
|
||||
// 校验账号
|
||||
$verify = Verify::type(1)->whereToken($token)->first();
|
||||
$verify = Verify::type(1)->whereToken($token)->firstOrFail();
|
||||
$user = $verify->user;
|
||||
if (! $verify) {
|
||||
return Redirect::route('login');
|
||||
@@ -573,7 +574,7 @@ class AuthController extends Controller
|
||||
$email = $request->input('email');
|
||||
|
||||
// 是否开启账号激活
|
||||
if (sysConfig('is_activate_account') != 2) {
|
||||
if ((int) sysConfig('is_activate_account') !== 2) {
|
||||
return Redirect::back()->withInput()->withErrors(trans('auth.active_close', ['email' => sysConfig('webmaster_email')]));
|
||||
}
|
||||
|
||||
@@ -620,7 +621,7 @@ class AuthController extends Controller
|
||||
return Redirect::route('login');
|
||||
}
|
||||
|
||||
$verify = Verify::type(1)->with('user')->whereToken($token)->first();
|
||||
$verify = Verify::type(1)->with('user')->whereToken($token)->firstOrFail();
|
||||
$user = $verify->user;
|
||||
if (! $verify) {
|
||||
return Redirect::route('login');
|
||||
|
||||
@@ -19,5 +19,6 @@ $factory->define(User::class, function (Faker $faker) {
|
||||
'obfs' => Helpers::getDefaultObfs(),
|
||||
'transfer_enable' => (int) sysConfig('default_traffic') * MB,
|
||||
'expired_at' => date('Y-m-d', strtotime('+'.sysConfig('default_days').' days')),
|
||||
'user_group_id' => null,
|
||||
];
|
||||
});
|
||||
|
||||
@@ -7,7 +7,6 @@ use App\Models\Label;
|
||||
use App\Models\Level;
|
||||
use App\Models\Rule;
|
||||
use App\Models\SsConfig;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class PresetSeeder extends Seeder
|
||||
@@ -514,7 +513,7 @@ class PresetSeeder extends Seeder
|
||||
}
|
||||
|
||||
// 生成初始管理账号
|
||||
$user = factory(User::class)->create(['username' => '管理员', 'email' => 'test@test.com', 'password' => '123456']);
|
||||
$user = Helpers::addUser('test@test.com', '123456', 100 * GB, sysConfig('default_days'), null, '管理员');
|
||||
$user->assignRole('Super Admin');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user