diff --git a/app/Http/Controllers/Passport/AuthController.php b/app/Http/Controllers/Passport/AuthController.php
index b501998e..058722d2 100644
--- a/app/Http/Controllers/Passport/AuthController.php
+++ b/app/Http/Controllers/Passport/AuthController.php
@@ -112,7 +112,7 @@ class AuthController extends Controller
abort(500, '用户名或密码错误');
}
- if ($user->banned) {
+ if (!$user->enable) {
abort(500, '该账户已被停止使用');
}
@@ -159,7 +159,7 @@ class AuthController extends Controller
if (!$user) {
abort(500, '用户不存在');
}
- if ($user->banned) {
+ if (!$user->enable) {
abort(500, '该账户已被停止使用');
}
$request->session()->put('email', $user->email);
diff --git a/app/Http/Requests/Admin/UserUpdate.php b/app/Http/Requests/Admin/UserUpdate.php
index e7cfaa7c..1f6b86ae 100644
--- a/app/Http/Requests/Admin/UserUpdate.php
+++ b/app/Http/Requests/Admin/UserUpdate.php
@@ -17,7 +17,6 @@ class UserUpdate extends FormRequest
'email' => 'required|email',
'transfer_enable' => 'numeric',
'expired_at' => 'integer',
- 'banned' => 'required|in:0,1',
'is_admin' => 'required|in:0,1',
'plan_id' => 'integer',
'commission_rate' => 'nullable|integer|min:0|max:100',
@@ -32,8 +31,6 @@ class UserUpdate extends FormRequest
'email.email' => '邮箱格式不正确',
'transfer_enable.numeric' => '流量格式不正确',
'expired_at.integer' => '到期时间格式不正确',
- 'banned.required' => '是否封禁不能为空',
- 'banned.in' => '是否封禁格式不正确',
'is_admin.required' => '是否管理员不能为空',
'is_admin.in' => '是否管理员格式不正确',
'plan_id.integer' => '订阅计划格式不正确',
diff --git a/app/Services/UserService.php b/app/Services/UserService.php
index f6e4b5cb..2182ccc4 100644
--- a/app/Services/UserService.php
+++ b/app/Services/UserService.php
@@ -15,7 +15,7 @@ class UserService
public function isAvailable()
{
- if ($this->user->transfer_enable && ($this->user->expired_at > time() || $this->user->expired_at == 0)) {
+ if ($this->user->enable && $this->user->transfer_enable && ($this->user->expired_at > time() || $this->user->expired_at == 0)) {
return true;
}
return false;
diff --git a/database/install.sql b/database/install.sql
index 3e72b3e9..da646340 100644
--- a/database/install.sql
+++ b/database/install.sql
@@ -1,9 +1,9 @@
-- Adminer 4.7.3 MySQL dump
SET NAMES utf8;
-SET time_zone = '+00:00';
+SET time_zone = ''+00:00'';
SET foreign_key_checks = 0;
-SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
+SET sql_mode = ''NO_AUTO_VALUE_ON_ZERO'';
SET NAMES utf8mb4;
@@ -40,8 +40,8 @@ CREATE TABLE `v2_invite_code` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`code` char(32) NOT NULL,
- `status` tinyint(1) NOT NULL DEFAULT '0',
- `pv` int(11) NOT NULL DEFAULT '0',
+ `status` tinyint(1) NOT NULL DEFAULT ''0'',
+ `pv` int(11) NOT NULL DEFAULT ''0'',
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL,
PRIMARY KEY (`id`)
@@ -79,17 +79,17 @@ CREATE TABLE `v2_order` (
`invite_user_id` int(11) DEFAULT NULL,
`user_id` int(11) NOT NULL,
`plan_id` int(11) NOT NULL,
- `type` int(11) NOT NULL COMMENT '1新购2续费3升级',
+ `type` int(11) NOT NULL COMMENT ''1新购2续费3升级'',
`cycle` varchar(255) NOT NULL,
`trade_no` varchar(36) NOT NULL,
`callback_no` varchar(255) DEFAULT NULL,
`total_amount` int(11) NOT NULL,
`discount_amount` int(11) DEFAULT NULL,
- `surplus_amount` int(11) DEFAULT NULL COMMENT '剩余价值',
- `refund_amount` int(11) DEFAULT NULL COMMENT '退款金额',
- `status` tinyint(1) NOT NULL DEFAULT '0',
- `commission_status` tinyint(1) NOT NULL DEFAULT '0',
- `commission_balance` int(11) NOT NULL DEFAULT '0',
+ `surplus_amount` int(11) DEFAULT NULL COMMENT ''剩余价值'',
+ `refund_amount` int(11) DEFAULT NULL COMMENT ''退款金额'',
+ `status` tinyint(1) NOT NULL DEFAULT ''0'',
+ `commission_status` tinyint(1) NOT NULL DEFAULT ''0'',
+ `commission_balance` int(11) NOT NULL DEFAULT ''0'',
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL,
PRIMARY KEY (`id`)
@@ -102,9 +102,9 @@ CREATE TABLE `v2_plan` (
`group_id` int(11) NOT NULL,
`transfer_enable` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
- `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0: 周期 1:一次性',
- `show` tinyint(1) NOT NULL DEFAULT '0',
- `renew` tinyint(1) NOT NULL DEFAULT '1',
+ `type` tinyint(1) NOT NULL DEFAULT ''0'' COMMENT ''0: 周期 1:一次性'',
+ `show` tinyint(1) NOT NULL DEFAULT ''0'',
+ `renew` tinyint(1) NOT NULL DEFAULT ''1'',
`content` text,
`month_price` int(11) DEFAULT NULL,
`quarter_price` int(11) DEFAULT NULL,
@@ -126,13 +126,13 @@ CREATE TABLE `v2_server` (
`host` varchar(255) NOT NULL,
`port` int(11) NOT NULL,
`server_port` int(11) NOT NULL,
- `tls` tinyint(4) NOT NULL DEFAULT '0',
+ `tls` tinyint(4) NOT NULL DEFAULT ''0'',
`tags` varchar(255) DEFAULT NULL,
`rate` varchar(11) NOT NULL,
`network` varchar(11) NOT NULL,
`settings` text,
`rules` text,
- `show` tinyint(1) NOT NULL DEFAULT '0',
+ `show` tinyint(1) NOT NULL DEFAULT ''0'',
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL,
PRIMARY KEY (`id`)
@@ -168,7 +168,7 @@ CREATE TABLE `v2_ticket` (
`last_reply_user_id` int(11) NOT NULL,
`subject` varchar(255) NOT NULL,
`level` tinyint(1) NOT NULL,
- `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0:已开启 1:已关闭',
+ `status` tinyint(1) NOT NULL DEFAULT ''0'' COMMENT ''0:已开启 1:已关闭'',
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL,
PRIMARY KEY (`id`)
@@ -194,17 +194,17 @@ CREATE TABLE `v2_tutorial` (
`title` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`icon` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`steps` text,
- `show` tinyint(1) NOT NULL DEFAULT '0',
+ `show` tinyint(1) NOT NULL DEFAULT ''0'',
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `v2_tutorial` (`id`, `category_id`, `title`, `icon`, `steps`, `show`, `created_at`, `updated_at`) VALUES
-(1, 1, 'V2rayN', 'fab fa-2x fa-windows', '[{\"default_area\":\"
下载 V2rayN 客户端。
下载完成后解压,解压完成后运行V2rayN
运行时请右键,以管理员身份运行
\",\"download_url\":\"/downloads/V2rayN.zip\"},{\"default_area\":\"点击订阅按钮,选择订阅设置点击添加,输入如下内容后点击确定保存
\",\"safe_area\":\"备注:{{$app_name}}
\\n地址(url):{{$subscribe_url}}
\",\"img_url\":\"https://i.loli.net/2019/11/21/UkcHNtERTnjLVS8.jpg\"},{\"default_area\":\"点击订阅后,从服务器列表选择服务器
\",\"img_url\":\"https://i.loli.net/2019/11/21/BgPGFQ3kCSuIRjJ.jpg\"},{\"default_area\":\"点击参数设置,找到Http代理,选择PAC模式后按确定保存即启动代理。
\",\"img_url\":\"https://i.loli.net/2019/11/21/vnVykKEFT8Lzo3f.jpg\"}]', 1, 1577972408, 1577980882),
-(2, 4, 'V2rayNG', 'fab fa-2x fa-android', '[{\"default_area\":\"下载 V2rayNG 客户端。
\",\"safe_area\":\"\",\"download_url\":\"/downloads/V2rayNG.apk\"},{\"default_area\":\"打开 V2rayNG 点击左上角的菜单图标打开侧边栏,随后点击 订阅设置,点击右上角的➕按钮新增订阅。
按照下方内容进行填写,填写完毕后点击右上角的☑️按钮。
\",\"safe_area\":\"备注:{{$app_name}}
\\n地址(url):{{$subscribe_url}}
\",\"download_url\":\"\",\"img_url\":\"https://i.loli.net/2019/11/21/ghuVkTe6LBqRxSO.jpg\"},{\"default_area\":\"再次从侧边栏进入 设置 页面,点击 路由模式 将其更改为 \\b绕过局域网及大陆地址。
\",\"img_url\":\"https://i.loli.net/2019/11/21/Tf1AGoXZuhJrwOq.jpg\"},{\"default_area\":\"随后从侧边栏回到 配置文件 页面,点击右上角的省略号图标选择更新订阅。
\",\"img_url\":\"https://i.loli.net/2019/11/21/UtfPShQXupRmB4L.jpg\"},{\"img_url\":\"https://i.loli.net/2019/11/21/ZkbNsSrAg3m5Dny.jpg\",\"default_area\":\"点击选择您需要的节点,点击右下角的V字按钮即可连接。
\"}]', 1, 1577972534, 1577981610),
-(3, 2, 'ClashX', 'fab fa-2x fa-apple', '[{\"default_area\":\"下载 ClashX 客户端,安装后运行。
\",\"download_url\":\"/downloads/ClashX.dmg\",\"img_url\":\"https://i.loli.net/2019/11/20/uNGrjl2noCL1f5B.jpg\"},{\"default_area\":\"点击通知栏 ClashX 图标保持选中状态,按快捷键 ⌘+M(订阅快捷键),在弹出的窗口点击添加输入下方信息
\",\"safe_area\":\"Url:{{$subscribe_url}}
\\nConfig Name:{{$app_name}}
\",\"img_url\":\"https://i.loli.net/2019/11/20/8eB13mRbFuszwxg.jpg\"},{\"default_area\":\"点击通知栏 ClashX 图标保持选中状态,按快捷键 ⌘+S(设置为系统代理快捷键),即连接完成
\"}]', 1, 1577979855, 1577981646),
-(4, 3, 'Shadowrocket', 'fab fa-2x fa-apple', '[{\"default_area\":\"iOS上使用请在iOS浏览器中打开本页
\"},{\"default_area\":\"在 App Store 登录本站提供的美区 Apple ID 下载客户端。
为了保护您的隐私,请勿在手机设置里直接登录,仅在 App Store 登录即可。
登陆完成后点击下方下载会自动唤起下载。
\",\"safe_area\":\"Apple ID:{{$apple_id}}
密码:点击复制密码
\",\"download_url\":\"https://apps.apple.com/us/app/shadowrocket/id932747118\",\"img_url\":\"https://i.loli.net/2019/11/21/5idkjJ61stWgREV.jpg\"},{\"default_area\":\"待客户端安装完成后,点击下方一键订阅按钮会自动唤起并进行订阅
\",\"safe_area\":\"\",\"img_url\":\"https://i.loli.net/2019/11/21/ZcqlNMb3eg5Uhxd.jpg\",\"download_url\":\"shadowrocket://add/sub://{{$b64_subscribe_url}}?remark={{$app_name}}\"},{\"default_area\":\"选择节点进行链接,首次链接过程授权窗口请一路允许。
\",\"img_url\":\"https://i.loli.net/2019/11/21/9Zdxksr7Ey6hjlm.jpg\"}]', 1, 1577982016, 1577983283);
+(1, 1, ''V2rayN'', ''fab fa-2x fa-windows'', ''[{\"default_area\":\"下载 V2rayN 客户端。
下载完成后解压,解压完成后运行V2rayN
运行时请右键,以管理员身份运行
\",\"download_url\":\"/downloads/V2rayN.zip\"},{\"default_area\":\"点击订阅按钮,选择订阅设置点击添加,输入如下内容后点击确定保存
\",\"safe_area\":\"备注:{{$app_name}}
\\n地址(url):{{$subscribe_url}}
\",\"img_url\":\"https://i.loli.net/2019/11/21/UkcHNtERTnjLVS8.jpg\"},{\"default_area\":\"点击订阅后,从服务器列表选择服务器
\",\"img_url\":\"https://i.loli.net/2019/11/21/BgPGFQ3kCSuIRjJ.jpg\"},{\"default_area\":\"点击参数设置,找到Http代理,选择PAC模式后按确定保存即启动代理。
\",\"img_url\":\"https://i.loli.net/2019/11/21/vnVykKEFT8Lzo3f.jpg\"}]'', 1, 1577972408, 1577980882),
+(2, 4, ''V2rayNG'', ''fab fa-2x fa-android'', ''[{\"default_area\":\"下载 V2rayNG 客户端。
\",\"safe_area\":\"\",\"download_url\":\"/downloads/V2rayNG.apk\"},{\"default_area\":\"打开 V2rayNG 点击左上角的菜单图标打开侧边栏,随后点击 订阅设置,点击右上角的➕按钮新增订阅。
按照下方内容进行填写,填写完毕后点击右上角的☑️按钮。
\",\"safe_area\":\"备注:{{$app_name}}
\\n地址(url):{{$subscribe_url}}
\",\"download_url\":\"\",\"img_url\":\"https://i.loli.net/2019/11/21/ghuVkTe6LBqRxSO.jpg\"},{\"default_area\":\"再次从侧边栏进入 设置 页面,点击 路由模式 将其更改为 \\b绕过局域网及大陆地址。
\",\"img_url\":\"https://i.loli.net/2019/11/21/Tf1AGoXZuhJrwOq.jpg\"},{\"default_area\":\"随后从侧边栏回到 配置文件 页面,点击右上角的省略号图标选择更新订阅。
\",\"img_url\":\"https://i.loli.net/2019/11/21/UtfPShQXupRmB4L.jpg\"},{\"img_url\":\"https://i.loli.net/2019/11/21/ZkbNsSrAg3m5Dny.jpg\",\"default_area\":\"点击选择您需要的节点,点击右下角的V字按钮即可连接。
\"}]'', 1, 1577972534, 1577981610),
+(3, 2, ''ClashX'', ''fab fa-2x fa-apple'', ''[{\"default_area\":\"下载 ClashX 客户端,安装后运行。
\",\"download_url\":\"/downloads/ClashX.dmg\",\"img_url\":\"https://i.loli.net/2019/11/20/uNGrjl2noCL1f5B.jpg\"},{\"default_area\":\"点击通知栏 ClashX 图标保持选中状态,按快捷键 ⌘+M(订阅快捷键),在弹出的窗口点击添加输入下方信息
\",\"safe_area\":\"Url:{{$subscribe_url}}
\\nConfig Name:{{$app_name}}
\",\"img_url\":\"https://i.loli.net/2019/11/20/8eB13mRbFuszwxg.jpg\"},{\"default_area\":\"点击通知栏 ClashX 图标保持选中状态,按快捷键 ⌘+S(设置为系统代理快捷键),即连接完成
\"}]'', 1, 1577979855, 1577981646),
+(4, 3, ''Shadowrocket'', ''fab fa-2x fa-apple'', ''[{\"default_area\":\"iOS上使用请在iOS浏览器中打开本页
\"},{\"default_area\":\"在 App Store 登录本站提供的美区 Apple ID 下载客户端。
为了保护您的隐私,请勿在手机设置里直接登录,仅在 App Store 登录即可。
登陆完成后点击下方下载会自动唤起下载。
\",\"safe_area\":\"Apple ID:{{$apple_id}}
密码:点击复制密码
\",\"download_url\":\"https://apps.apple.com/us/app/shadowrocket/id932747118\",\"img_url\":\"https://i.loli.net/2019/11/21/5idkjJ61stWgREV.jpg\"},{\"default_area\":\"待客户端安装完成后,点击下方一键订阅按钮会自动唤起并进行订阅
\",\"safe_area\":\"\",\"img_url\":\"https://i.loli.net/2019/11/21/ZcqlNMb3eg5Uhxd.jpg\",\"download_url\":\"shadowrocket://add/sub://{{$b64_subscribe_url}}?remark={{$app_name}}\"},{\"default_area\":\"选择节点进行链接,首次链接过程授权窗口请一路允许。
\",\"img_url\":\"https://i.loli.net/2019/11/21/9Zdxksr7Ey6hjlm.jpg\"}]'', 1, 1577982016, 1577983283);
DROP TABLE IF EXISTS `v2_user`;
CREATE TABLE `v2_user` (
@@ -213,28 +213,27 @@ CREATE TABLE `v2_user` (
`email` varchar(64) NOT NULL,
`password` varchar(64) NOT NULL,
`password_algo` char(10) DEFAULT NULL,
- `balance` int(11) NOT NULL DEFAULT '0',
+ `balance` int(11) NOT NULL DEFAULT ''0'',
`discount` int(11) DEFAULT NULL,
`commission_rate` int(11) DEFAULT NULL,
- `commission_balance` int(11) NOT NULL DEFAULT '0',
- `t` int(11) NOT NULL DEFAULT '0',
- `u` bigint(20) NOT NULL DEFAULT '0',
- `d` bigint(20) NOT NULL DEFAULT '0',
- `transfer_enable` bigint(20) NOT NULL DEFAULT '0',
- `enable` tinyint(1) NOT NULL DEFAULT '1',
- `banned` tinyint(1) NOT NULL DEFAULT '0',
- `is_admin` tinyint(1) NOT NULL DEFAULT '0',
+ `commission_balance` int(11) NOT NULL DEFAULT ''0'',
+ `t` int(11) NOT NULL DEFAULT ''0'',
+ `u` bigint(20) NOT NULL DEFAULT ''0'',
+ `d` bigint(20) NOT NULL DEFAULT ''0'',
+ `transfer_enable` bigint(20) NOT NULL DEFAULT ''0'',
+ `enable` tinyint(1) NOT NULL DEFAULT ''1'',
+ `is_admin` tinyint(1) NOT NULL DEFAULT ''0'',
`last_login_at` int(11) DEFAULT NULL,
`last_login_ip` int(11) DEFAULT NULL,
`v2ray_uuid` varchar(36) NOT NULL,
- `v2ray_alter_id` tinyint(4) NOT NULL DEFAULT '2',
- `v2ray_level` tinyint(4) NOT NULL DEFAULT '0',
+ `v2ray_alter_id` tinyint(4) NOT NULL DEFAULT ''2'',
+ `v2ray_level` tinyint(4) NOT NULL DEFAULT ''0'',
`group_id` int(11) DEFAULT NULL,
`plan_id` int(11) DEFAULT NULL,
- `remind_expire` tinyint(4) DEFAULT '1',
- `remind_traffic` tinyint(4) DEFAULT '1',
+ `remind_expire` tinyint(4) DEFAULT ''1'',
+ `remind_traffic` tinyint(4) DEFAULT ''1'',
`token` char(32) NOT NULL,
- `expired_at` bigint(20) NOT NULL DEFAULT '0',
+ `expired_at` bigint(20) NOT NULL DEFAULT ''0'',
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL,
PRIMARY KEY (`id`),
@@ -242,4 +241,4 @@ CREATE TABLE `v2_user` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--- 2020-02-28 07:06:17
+-- 2020-02-28 08:19:57
diff --git a/database/update.sql b/database/update.sql
index ed01581e..18bf2115 100644
--- a/database/update.sql
+++ b/database/update.sql
@@ -178,3 +178,6 @@ CHANGE `quarter_price` `quarter_price` int(11) NULL AFTER `month_price`,
CHANGE `half_year_price` `half_year_price` int(11) NULL AFTER `quarter_price`,
CHANGE `year_price` `year_price` int(11) NULL AFTER `half_year_price`,
ADD `onetime_price` int(11) NULL AFTER `year_price`;
+
+ALTER TABLE `v2_user`
+DROP `banned`;