fix:优化auth权限,登录逻辑获取信息
This commit is contained in:
@@ -62,10 +62,10 @@ class Ajax extends HomeController
|
||||
return $this->error(__('发送频繁'));
|
||||
}
|
||||
|
||||
$userData = User::getByMobile($mobile);
|
||||
if (in_array($event, ['register', 'changer']) && $userData) {
|
||||
$user = User::getByMobile($mobile);
|
||||
if (in_array($event, ['register', 'changer']) && $user) {
|
||||
return $this->error('当前手机号已被占用');
|
||||
} else if ($event == 'forgot' && !$userData) {
|
||||
} else if ($event == 'forgot' && !$user) {
|
||||
return $this->error('当前手机号未注册');
|
||||
}
|
||||
|
||||
@@ -103,10 +103,10 @@ class Ajax extends HomeController
|
||||
return $this->error(__('发送频繁'));
|
||||
}
|
||||
|
||||
$userData = User::getByEmail($email);
|
||||
if (in_array($event, ['register', 'changer']) && $userData) {
|
||||
$user = User::getByEmail($email);
|
||||
if (in_array($event, ['register', 'changer']) && $user) {
|
||||
return $this->error('当前邮箱已被注册');
|
||||
} else if ($event == 'forgot' && !$userData) {
|
||||
} else if ($event == 'forgot' && !$user) {
|
||||
return $this->error('当前邮箱不存在');
|
||||
}
|
||||
|
||||
|
||||
@@ -99,40 +99,37 @@ class Third extends HomeController
|
||||
} catch (\Exception $e) {
|
||||
return $this->error($e->getMessage());
|
||||
}
|
||||
$userData = $this->oauth->getUserInfo();
|
||||
if (!empty($userData) && !$this->auth->isLogin()) {
|
||||
return $this->register($userData, $this->type);
|
||||
$user = $this->oauth->getUserInfo();
|
||||
if (!empty($user) && !$this->auth->isLogin()) {
|
||||
return $this->register($user, $this->type);
|
||||
} else if ($this->auth->isLogin()) { // 绑定用户
|
||||
return $this->doBind($userData, $this->type);
|
||||
return $this->doBind($user, $this->type);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户注册操作
|
||||
* @param array $userDatas
|
||||
* @param array $info
|
||||
* @param string|null $type
|
||||
* @return Response
|
||||
* @throws DataNotFoundException
|
||||
* @throws DbException
|
||||
* @throws ModelNotFoundException
|
||||
*/
|
||||
protected function register(array $userDatas = [], string $type = null)
|
||||
protected function register(array $info = [], string $type = null)
|
||||
{
|
||||
$openid = $userDatas['openid'] ?? $userDatas['id'];
|
||||
$nickname = $userDatas['userData']['name'] ?? $userDatas['userData']['nickname'];
|
||||
$userData = UserThird::alias('th')
|
||||
->view('user', '*', 'user.id=th.user_id')
|
||||
->where(['openid' => $openid, 'type' => $type])
|
||||
->find();
|
||||
$openid = $info['openid'] ?? $info['id'];
|
||||
$nickname = $info['userData']['name'] ?? $info['userData']['nickname'];
|
||||
$userInfo = UserThird::alias('th')->view('user', '*', 'user.id=th.user_id')->where(['openid' => $openid, 'type' => $type])->find();
|
||||
|
||||
if (!empty($userData)) {
|
||||
$array['id'] = $userData['id'];
|
||||
if (!empty($userInfo)) {
|
||||
$array['id'] = $userInfo['id'];
|
||||
$array['login_time'] = time();
|
||||
$array['login_ip'] = request()->getRealIp();
|
||||
$array['login_count'] = $userData['login_count'] + 1;
|
||||
$array['login_count'] = $userInfo['login_count'] + 1;
|
||||
|
||||
if (User::update($array)) {
|
||||
$response = $this->auth->responseToken($userData);
|
||||
$response = $this->auth->responseToken($userInfo);
|
||||
$response->withBody(json_encode(ResultCode::LOGINSUCCESS))->redirect(request()->cookie('redirectUrl', '/'));
|
||||
}
|
||||
|
||||
@@ -140,7 +137,7 @@ class Third extends HomeController
|
||||
|
||||
// 注册本地用户
|
||||
$data['nickname'] = $nickname;
|
||||
$data['avatar'] = $userDatas['userData']['avatar'];
|
||||
$data['avatar'] = $info['userData']['avatar'];
|
||||
if (User::getByNickname($nickname)) {
|
||||
$data['nickname'] .= Random::alpha(3);
|
||||
}
|
||||
@@ -155,11 +152,11 @@ class Third extends HomeController
|
||||
'user_id' => $result['id'],
|
||||
'openid' => $openid,
|
||||
'nickname' => $nickname,
|
||||
'access_token' => $userDatas['access_token'],
|
||||
'refresh_token' => $userDatas['refresh_token'],
|
||||
'expires_in' => $userDatas['expires_in'],
|
||||
'access_token' => $info['access_token'],
|
||||
'refresh_token' => $info['refresh_token'],
|
||||
'expires_in' => $info['expires_in'],
|
||||
'login_time' => time(),
|
||||
'expiretime' => time() + $userDatas['expires_in'],
|
||||
'expiretime' => time() + $info['expires_in'],
|
||||
];
|
||||
}
|
||||
|
||||
@@ -207,7 +204,7 @@ class Third extends HomeController
|
||||
}
|
||||
if ($this->auth->isLogin()) {
|
||||
|
||||
$result = $this->auth->userData;
|
||||
$result = $this->auth->userInfo;
|
||||
if (!empty($result)) {
|
||||
|
||||
if (empty($result['email']) || empty($result['pwd'])) {
|
||||
@@ -227,18 +224,18 @@ class Third extends HomeController
|
||||
|
||||
/**
|
||||
* 用户绑定操作实例
|
||||
* @param array $userDatas
|
||||
* @param array $info
|
||||
* @param string|null $type
|
||||
* @return Response|null
|
||||
* @throws DataNotFoundException
|
||||
* @throws DbException
|
||||
* @throws ModelNotFoundException
|
||||
*/
|
||||
protected function doBind(array $userDatas = [], string $type = null)
|
||||
protected function doBind(array $info = [], string $type = null)
|
||||
{
|
||||
|
||||
$openid = $userDatas['openid'] ?? $userDatas['id'];
|
||||
$nickname = $userDatas['userData']['name'] ?? $userDatas['userData']['nickname'];
|
||||
$openid = $info['openid'] ?? $info['id'];
|
||||
$nickname = $info['userData']['name'] ?? $info['userData']['nickname'];
|
||||
|
||||
// 查询是否被注册
|
||||
$where['openid'] = $openid;
|
||||
@@ -251,11 +248,11 @@ class Third extends HomeController
|
||||
'user_id' => request()->cookie('uid'),
|
||||
'openid' => $openid,
|
||||
'nickname' => $nickname,
|
||||
'access_token' => $userDatas['access_token'],
|
||||
'refresh_token' => $userDatas['refresh_token'],
|
||||
'expires_in' => $userDatas['expires_in'],
|
||||
'access_token' => $info['access_token'],
|
||||
'refresh_token' => $info['refresh_token'],
|
||||
'expires_in' => $info['expires_in'],
|
||||
'login_time' => time(),
|
||||
'expiretime' => time() + $userDatas['expires_in'],
|
||||
'expiretime' => time() + $info['expires_in'],
|
||||
];
|
||||
|
||||
if (UserThird::create($third)) {
|
||||
@@ -283,6 +280,4 @@ class Third extends HomeController
|
||||
request()->cookie('redirectUrl', null,1);
|
||||
return $this->redirect($referer);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ class User extends HomeController
|
||||
public function index(): Response
|
||||
{
|
||||
// 未读短消息
|
||||
$unread = UserNotice::where('user_id', \request()->user_id)->where('status', 0)->count();
|
||||
$unread = UserNotice::where('user_id', get_user_id())->where('status', 0)->count();
|
||||
return view('/user/index', [
|
||||
'unread' => $unread,
|
||||
]);
|
||||
@@ -165,16 +165,15 @@ class User extends HomeController
|
||||
}
|
||||
|
||||
$where = $email ? ['email' => $email] : ['mobile' => $mobile];
|
||||
$userData = $this->model->where($where)->find();
|
||||
if (!$userData) {
|
||||
$user = $this->model->where($where)->find();
|
||||
if (!$user) {
|
||||
return $this->error('用户不存在');
|
||||
}
|
||||
|
||||
try {
|
||||
$salt = Random::alpha();
|
||||
$pwd = encryptPwd($pwd, $salt);
|
||||
$this->model->update(['id' => $userData['id'], 'pwd' => $pwd, 'salt' => $salt]);
|
||||
|
||||
$this->model->update(['id' => $user['id'], 'pwd' => $pwd, 'salt' => $salt]);
|
||||
} catch (\Exception $e) {
|
||||
return $this->error('修改密码失败,请联系管理员');
|
||||
}
|
||||
@@ -207,7 +206,7 @@ class User extends HomeController
|
||||
return $this->error('当前昵称已被占用,请更换!');
|
||||
}
|
||||
|
||||
if ($this->model->update(['id' => $request->user_id, 'nickname' => $nickname])) {
|
||||
if ($this->model->update(['id' => get_user_id(), 'nickname' => $nickname])) {
|
||||
return $this->success('修改昵称成功!', (string)url('/user/index'));
|
||||
}
|
||||
|
||||
@@ -231,7 +230,7 @@ class User extends HomeController
|
||||
return view('/user/center', [
|
||||
'newsHtml' => $result ?? '服务器错误',
|
||||
'userList' => $this->model->order('login_count', 'desc')->limit(12)->select()->toArray(),
|
||||
'invite_count' => $this->model->where('invite_id', $request->user_id)->count(),
|
||||
'invite_count' => $this->model->where('invite_id', get_user_id())->count(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -254,7 +253,7 @@ class User extends HomeController
|
||||
$where[] = ['status', '=', $status];
|
||||
}
|
||||
|
||||
$where[] = ['user_id', '=', \request()->user_id];
|
||||
$where[] = ['user_id', '=', get_user_id()];
|
||||
$count = UserNotice::where($where)->count();
|
||||
$page = ($count <= $limit) ? 1 : $page;
|
||||
$list = UserNotice::where($where)->order('id', 'desc')->limit((int)$limit)->page((int)$page)->select()->toArray();
|
||||
@@ -279,7 +278,7 @@ class User extends HomeController
|
||||
return $this->error('消息不存在');
|
||||
}
|
||||
|
||||
if ($info['user_id'] != \request()->user_id) {
|
||||
if ($info['user_id'] != get_user_id()) {
|
||||
return $this->error('非法操作');
|
||||
}
|
||||
|
||||
@@ -293,7 +292,7 @@ class User extends HomeController
|
||||
}
|
||||
|
||||
// 更新未读
|
||||
$unread = UserNotice::where(['user_id' => \request()->user_id, 'status' => 0])->count();
|
||||
$unread = UserNotice::where(['user_id' => get_user_id(), 'status' => 0])->count();
|
||||
return view('/user/viewMessage', [
|
||||
'info' => $info,
|
||||
'unread' => $unread,
|
||||
@@ -311,7 +310,7 @@ class User extends HomeController
|
||||
$ids = input('id');
|
||||
$type = input('type', 'del');
|
||||
$where[] = ['id', 'in', implode(',', $ids)];
|
||||
$where[] = ['user_id', '=', \request()->user_id];
|
||||
$where[] = ['user_id', '=', get_user_id()];
|
||||
if ($type === 'del') {
|
||||
if (UserNotice::where($where)->delete()) {
|
||||
return $this->success('删除成功');
|
||||
@@ -346,14 +345,14 @@ class User extends HomeController
|
||||
return $this->error($post);
|
||||
}
|
||||
|
||||
if ($nickname != \request()->userData['nickname']
|
||||
if ($nickname != get_user_info()['nickname']
|
||||
&&$this->model->where('nickname', $nickname)->find()) {
|
||||
return $this->error('当前昵称已被占用,请更换!');
|
||||
}
|
||||
|
||||
unset($post['money']);
|
||||
unset($post['score']);
|
||||
$user = $this->model->find(\request()->user_id);
|
||||
$user = $this->model->find(get_user_id());
|
||||
if ($user->save($post)) {
|
||||
return $this->success('更新资料成功');
|
||||
}
|
||||
@@ -361,9 +360,7 @@ class User extends HomeController
|
||||
return $this->error();
|
||||
}
|
||||
|
||||
return view('/user/profile',[
|
||||
'user' => \request()->userData,
|
||||
]);
|
||||
return view('/user/profile');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -372,14 +369,14 @@ class User extends HomeController
|
||||
*/
|
||||
public function certification(): Response
|
||||
{
|
||||
|
||||
$userInfo = get_user_info();
|
||||
if (request()->isPost()) {
|
||||
$name = input('name');
|
||||
$mobile = input('mobile');
|
||||
$idCard = input('idCard');
|
||||
$captcha = input('captcha');
|
||||
|
||||
if (!empty(\request()->userData['prove'])) {
|
||||
if (!empty($userInfo['prove'])) {
|
||||
return $this->error('您已经实名认证过了!');
|
||||
}
|
||||
|
||||
@@ -405,7 +402,7 @@ class User extends HomeController
|
||||
}
|
||||
|
||||
// 更新系统认证信息
|
||||
$this->model->where('id', \request()->user_id)->update([
|
||||
$this->model->where('id', get_user_id())->update([
|
||||
'prove' => 1,
|
||||
'name' => $name,
|
||||
'idCard' => $idCard,
|
||||
@@ -420,7 +417,7 @@ class User extends HomeController
|
||||
return $this->success('实名认证成功!');
|
||||
}
|
||||
|
||||
return view('/user/certification',['prove' => \request()->userData['prove']]);
|
||||
return view('/user/certification',['prove' => $userInfo['prove']]);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -437,7 +434,7 @@ class User extends HomeController
|
||||
// 获取数据
|
||||
$page = input('page', 1);
|
||||
$limit = input('limit', 1);
|
||||
$where[] = ['login_id', '=', \request()->user_id];
|
||||
$where[] = ['login_id', '=', get_user_id()];
|
||||
$count = UserLog::where($where)->count();
|
||||
$page = ($count <= $limit) ? 1 : $page;
|
||||
$list = UserLog::where($where)->order('id', 'desc')->limit((int)$limit)->page((int)$page)->select()->toArray();
|
||||
@@ -460,15 +457,16 @@ class User extends HomeController
|
||||
// 获取参数
|
||||
$pwd = input('pwd');
|
||||
$oldPwd = input('oldpwd');
|
||||
$yPwd = encryptPwd($oldPwd, $request->userData->salt);
|
||||
$userInfo = get_user_info();
|
||||
$yPwd = encryptPwd($oldPwd, $userInfo['salt']);
|
||||
|
||||
if ($yPwd != $request->userData->pwd) {
|
||||
if ($yPwd != $userInfo['pwd']) {
|
||||
return $this->error('原密码输入错误!');
|
||||
}
|
||||
|
||||
$salt = Random::alpha();
|
||||
$pwd = encryptPwd($pwd, $salt);
|
||||
$result = $this->model->update(['id' => $request->user_id, 'pwd' => $pwd, 'salt' => $salt]);
|
||||
$result = $this->model->update(['id' => get_user_id(), 'pwd' => $pwd, 'salt' => $salt]);
|
||||
if (!empty($result)) {
|
||||
return $this->success('修改密码成功!');
|
||||
}
|
||||
@@ -487,8 +485,8 @@ class User extends HomeController
|
||||
{
|
||||
if (request()->isPost()) {
|
||||
$data = array();
|
||||
$data['id'] = $request->user_id;
|
||||
$data['app_id'] = 10000 + $request->user_id;
|
||||
$data['id'] = get_user_id();
|
||||
$data['app_id'] = 10000 + get_user_id();
|
||||
$data['app_secret'] = Random::alpha(22);
|
||||
if ($this->model->update($data)) {
|
||||
return $this->success();
|
||||
@@ -527,7 +525,7 @@ class User extends HomeController
|
||||
if (!empty($email) && !empty($captcha)) {
|
||||
|
||||
if ($Ems->check($email, $captcha, $event)) {
|
||||
$this->model->update(['id' => $request->user_id, 'email' => $email]);
|
||||
$this->model->update(['id' => get_user_id(), 'email' => $email]);
|
||||
return $this->success('修改邮箱成功!');
|
||||
}
|
||||
|
||||
@@ -578,7 +576,7 @@ class User extends HomeController
|
||||
if (!empty($mobile) && !empty($captcha)) {
|
||||
|
||||
if ($Sms->check($mobile, $captcha, $event)) {
|
||||
$this->model->update(['id' => $request->user_id, 'mobile' => (int)$mobile]);
|
||||
$this->model->update(['id' => get_user_id(), 'mobile' => (int)$mobile]);
|
||||
return $this->success('修改手机号成功!');
|
||||
}
|
||||
|
||||
@@ -627,9 +625,10 @@ class User extends HomeController
|
||||
}
|
||||
|
||||
try {
|
||||
$request->userData->question = $question;
|
||||
$request->userData->answer = $answer;
|
||||
$request->userData->save();
|
||||
$userInfo = get_user_info();
|
||||
$userInfo->question = $question;
|
||||
$userInfo->answer = $answer;
|
||||
$userInfo->save();
|
||||
} catch (\Throwable $th) {
|
||||
return $this->error();
|
||||
}
|
||||
@@ -651,20 +650,21 @@ class User extends HomeController
|
||||
{
|
||||
$maxProgress = 5;
|
||||
$thisProgress = 1;
|
||||
$userInfo = get_user_info();
|
||||
|
||||
if ($request->userData->email) {
|
||||
if ($userInfo->email) {
|
||||
$thisProgress++;
|
||||
}
|
||||
|
||||
if ($request->userData->mobile) {
|
||||
if ($userInfo->mobile) {
|
||||
$thisProgress++;
|
||||
}
|
||||
|
||||
if ($request->userData->answer) {
|
||||
if ($userInfo->answer) {
|
||||
$thisProgress++;
|
||||
}
|
||||
|
||||
if ($request->userData->wechat) {
|
||||
if ($userInfo->wechat) {
|
||||
$thisProgress++;
|
||||
}
|
||||
|
||||
@@ -691,8 +691,9 @@ class User extends HomeController
|
||||
if (!$response) {
|
||||
return $this->error(Upload::instance()->getError());
|
||||
}
|
||||
$request->userData->avatar = $response['url'] . '?' . Random::alpha(12);
|
||||
if ($request->userData->save()) {
|
||||
$userInfo = get_user_info();
|
||||
$userInfo->avatar = $response['url'] . '?' . Random::alpha(12);
|
||||
if ($userInfo->save()) {
|
||||
return json($response);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,50 +38,45 @@ class IndexPermissions implements MiddlewareInterface
|
||||
* 跳转URL地址
|
||||
* @var string
|
||||
*/
|
||||
public string $JumpUrl = '/user/index';
|
||||
public string $JumpUrl = '/index/user/index';
|
||||
|
||||
/**
|
||||
* 校验权限
|
||||
* @param Request $request
|
||||
* @param callable $handler
|
||||
* @return Response
|
||||
* @throws \ReflectionException
|
||||
*/
|
||||
public function process(Request $request, callable $handler): Response
|
||||
{
|
||||
$app = request()->getApp();
|
||||
$app = request()->getApp();
|
||||
$controller = request()->getController();
|
||||
$action = request()->getAction();
|
||||
$action = request()->getAction();
|
||||
|
||||
// 控制器是否存在
|
||||
$className = '\app' . $app . '\\controller\\' . $controller;
|
||||
$className = str_replace('/', '\\', $className);
|
||||
|
||||
if (class_exists($className)) {
|
||||
$refClass = new \ReflectionClass($className);
|
||||
$property = $refClass->getDefaultProperties();
|
||||
$this->needLogin = $property['needLogin'] ?? false;
|
||||
$this->noNeedAuth = $property['noNeedAuth'] ?? [];
|
||||
$this->repeatLogin = $property['repeatLogin'] ?? ['login', 'register'];
|
||||
$this->JumpUrl = $property['JumpUrl'] ?? '/user/index';
|
||||
}
|
||||
$refClass = new \ReflectionClass($request->controller);
|
||||
$property = $refClass->getDefaultProperties();
|
||||
$this->needLogin = $property['needLogin'] ?? false;
|
||||
$this->noNeedAuth = $property['noNeedAuth'] ?? $this->noNeedAuth;
|
||||
$this->repeatLogin = $property['repeatLogin'] ?? $this->repeatLogin;
|
||||
$this->JumpUrl = $property['JumpUrl'] ?? $this->JumpUrl;
|
||||
|
||||
// 是否验证登录器
|
||||
$auth = Auth::instance();
|
||||
if ($auth->isLogin()) {
|
||||
$request->user_id = $auth->userData['id'];
|
||||
$request->userData = $auth->userData;
|
||||
|
||||
// 禁止重复登录
|
||||
if (in_array($action, $this->repeatLogin)) {
|
||||
return redirect($this->JumpUrl);
|
||||
}
|
||||
|
||||
View::assign('user', $auth->userData);
|
||||
View::assign('user', $auth->userInfo);
|
||||
} else {
|
||||
|
||||
if ($this->needLogin && !in_array($action, $this->noNeedAuth)) {
|
||||
if (\request()->isAjax()) {
|
||||
return json(ResultCode::PLEASELOGININ);
|
||||
} else {
|
||||
return redirect('/user/login');
|
||||
return redirect('/index/user/login');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,12 +5,11 @@
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<link rel="stylesheet" href="/static/js/layui/css/layui.css">
|
||||
<!-- // 加载font-awesome图标 -->
|
||||
<link href="/static/js/layui/css/font-awesome.css?v={:config('app.version')}" rel="stylesheet" type="text/css" />
|
||||
<link rel="stylesheet" href="/static/css/center.css?v={:release()}">
|
||||
<script src="/static/js/layui/layui.js"></script>
|
||||
<script src="/static/js/common.js?v={:release()}"></script>
|
||||
<!-- // 加载font-awesome图标 -->
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
||||
@@ -21,6 +20,6 @@
|
||||
.layui-layout-admin .layui-layout-left,
|
||||
.layui-layout-admin .layui-body,
|
||||
.layui-layout-admin .layui-footer{left: 0;}
|
||||
.layui-layout-admin .layui-side{width: 0px;}
|
||||
.layui-layout-admin .layui-side{width: 0;}
|
||||
}
|
||||
</style>
|
||||
@@ -56,21 +56,22 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
|
||||
<label class="layui-form-label"><span class="red">*</span> 手机号码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input layui-disabled" disabled value="{$user.mobile|default='未绑定'}">
|
||||
</div>
|
||||
<label class="layui-form-label"><span class="red">*</span> 性别</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="gender" type="radio" value="1" title="男" <eq name="$user['gender']" value="1">checked</eq>>
|
||||
<input name="gender" type="radio" value="0" title="女" <eq name="$user['gender']" value="0">checked</eq>>
|
||||
</div>
|
||||
<label class="layui-form-label"><span class="red">*</span> 身份证号码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="idcard" placeholder="请输入身份证号" class="layui-input" value="{$user.idcard}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="red">*</span> 手机号码</label>
|
||||
<label class="layui-form-label"><span class="red">*</span> 身份证号码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input layui-disabled" disabled value="{$user.mobile|default='未绑定'}">
|
||||
<input name="idcard" placeholder="请输入身份证号" class="layui-input" value="{$user.idcard}">
|
||||
</div>
|
||||
<label class="layui-form-label"><span class="red">*</span> 邮箱地址</label>
|
||||
<div class="layui-input-inline">
|
||||
@@ -99,8 +100,8 @@
|
||||
<div class="layui-form-item" style="margin-top: 22px;text-align: center">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="submit">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
<button type="submit" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="submit">立即提交</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user