1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-07-03 15:36:48 +08:00

Merge branch 'develop' into demo

This commit is contained in:
xiaochong0302 2020-09-29 18:36:21 +08:00
commit 8cc06f6430
33 changed files with 294 additions and 271 deletions

View File

@ -84,7 +84,7 @@ class UserController extends Controller
$roles = $userService->getRoles();
if ($user->admin_role == RoleModel::ROLE_ROOT) {
$this->response->redirect(['action' => 'list']);
$this->response->redirect(['for' => 'admin.user.list']);
}
$this->view->setVar('user', $user);

View File

@ -4,17 +4,17 @@
{%- macro position_info(value) %}
{% if value == 1 %}
<span class="layui-badge layui-bg-green">顶部</span>
顶部
{% elseif value == 2 %}
<span class="layui-badge layui-bg-blue">底部</span>
底部
{% endif %}
{%- endmacro %}
{%- macro target_info(value) %}
{% if value == '_blank' %}
<span class="layui-badge layui-bg-green">新窗口</span>
新窗口
{% elseif value == '_self' %}
<span class="layui-badge layui-bg-blue">原窗口</span>
原窗口
{% endif %}
{%- endmacro %}

View File

@ -38,28 +38,28 @@
{%- macro item_type(value) %}
{% if value == 1 %}
<span class="layui-badge layui-bg-green">课程</span>
课程
{% elseif value == 2 %}
<span class="layui-badge layui-bg-blue">套餐</span>
套餐
{% elseif value == 3 %}
<span class="layui-badge layui-bg-red">赞赏</span>
赞赏
{% elseif value == 4 %}
<span class="layui-badge layui-bg-orange">会员</span>
会员
{% elseif value == 99 %}
<span class="layui-badge layui-bg-black">测试</span>
测试
{% endif %}
{%- endmacro %}
{%- macro order_status(value) %}
{% if value == 1 %}
<span class="layui-badge layui-bg-blue">待支付</span>
待支付
{% elseif value == 2 %}
<span class="layui-badge layui-bg-gray">发货中</span>
发货中
{% elseif value == 3 %}
<span class="layui-badge layui-bg-green">已完成</span>
已完成
{% elseif value == 4 %}
<span class="layui-badge layui-bg-cyan">已关闭</span>
已关闭
{% elseif value == 5 %}
<span class="layui-badge layui-bg-red">已退款</span>
已退款
{% endif %}
{%- endmacro %}

View File

@ -1,16 +1,16 @@
{%- macro refund_status(value) %}
{% if value == 1 %}
<span class="layui-badge layui-bg-blue">待处理</span>
待处理
{% elseif value == 2 %}
<span class="layui-badge layui-bg-gray">已取消</span>
已取消
{% elseif value == 3 %}
<span class="layui-badge layui-bg-orange">已审核</span>
已审核
{% elseif value == 4 %}
<span class="layui-badge layui-bg-red">已拒绝</span>
已拒绝
{% elseif value == 5 %}
<span class="layui-badge layui-bg-green">已完成</span>
已完成
{% elseif value == 6 %}
<span class="layui-badge layui-bg-cyan">已失败</span>
已失败
{% endif %}
{%- endmacro %}

View File

@ -3,10 +3,10 @@
{% block content %}
{%- macro type_info(value) %}
{% if value == 'system' %}
<span class="layui-badge layui-bg-green">内置</span>
{% elseif value == 'custom' %}
<span class="layui-badge layui-bg-blue">自定</span>
{% if value == 1 %}
内置
{% elseif value == 2 %}
自定义
{% endif %}
{%- endmacro %}
@ -43,7 +43,7 @@
{% set restore_url = url({'for':'admin.role.restore','id':item.id}) %}
<tr>
<td>{{ item.id }}</td>
<td><a href="javascript:" title="{{ item.summary }}">{{ item.name }}</a></td>
<td><a href="{{ edit_url }}" title="{{ item.summary }}">{{ item.name }}</a></td>
<td>{{ type_info(item.type) }}</td>
<td>
<a href="{{ user_list_url }}">

View File

@ -4,11 +4,11 @@
{%- macro target_info(value) %}
{% if value == 1 %}
<span class="layui-badge layui-bg-green">课程</span>
课程
{% elseif value == 2 %}
<span class="layui-badge layui-bg-blue">单页</span>
单页
{% elseif value == 3 %}
<span class="layui-badge layui-bg-gray">链接</span>
链接
{% endif %}
{%- endmacro %}

View File

@ -4,11 +4,11 @@
{%- macro source_type_info(value) %}
{% if value == 1 %}
<span class="layui-badge layui-bg-green">免费</span>
免费
{% elseif value == 2 %}
<span class="layui-badge layui-bg-orange">付费</span>
{% elseif value == 3 %}
<span class="layui-badge layui-bg-blue">导入</span>
导入
{% endif %}
{%- endmacro %}

View File

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="zh-CN-Hans">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="csrf-token" content="{{ csrfToken.getToken() }}">

View File

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="zh-CN-Hans">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="csrf-token" content="{{ csrfToken.getToken() }}">

View File

@ -1,20 +1,20 @@
{%- macro channel_type(value) %}
{% if value == 1 %}
<span class="layui-badge layui-bg-blue">支付宝</span>
支付宝
{% elseif value == 2 %}
<span class="layui-badge layui-bg-green">微信</span>
微信
{% endif %}
{%- endmacro %}
{%- macro trade_status(value) %}
{% if value == 1 %}
<span class="layui-badge layui-bg-blue">待支付</span>
待支付
{% elseif value == 2 %}
<span class="layui-badge layui-bg-green">已完成</span>
已完成
{% elseif value == 3 %}
<span class="layui-badge layui-bg-cyan">已关闭</span>
已关闭
{% elseif value == 4 %}
<span class="layui-badge layui-bg-red">已退款</span>
已退款
{% endif %}
{%- endmacro %}

View File

@ -4,25 +4,25 @@
{%- macro gender_info(value) %}
{% if value == 1 %}
<span class="layui-badge layui-bg-gray"></span>
{% elseif value == 2 %}
<span class="layui-badge layui-bg-gray"></span>
{% elseif value == 3 %}
<span class="layui-badge layui-bg-gray"></span>
{% endif %}
{%- endmacro %}
{%- macro edu_role_info(user) %}
{% if user.edu_role.id == 1 %}
<span class="layui-badge layui-bg-gray">学员</span>
学员
{% elseif user.edu_role.id == 2 %}
<span class="layui-badge layui-bg-blue">讲师</span>
<a href="{{ url({'for':'admin.user.list'},{'edu_role':user.edu_role.id}) }}">讲师</a>
{% endif %}
{%- endmacro %}
{%- macro admin_role_info(user) %}
{% if user.admin_role.id %}
<span class="layui-badge layui-bg-gray">{{ user.admin_role.name }}</span>
{% if user.admin_role.id > 0 %}
<a href="{{ url({'for':'admin.user.list'},{'admin_role':user.admin_role.id}) }}">{{ user.admin_role.name }}</a>
{% endif %}
{%- endmacro %}

View File

@ -7,11 +7,7 @@ use App\Services\Logic\Account\EmailUpdate as EmailUpdateService;
use App\Services\Logic\Account\PasswordReset as PasswordResetService;
use App\Services\Logic\Account\PasswordUpdate as PasswordUpdateService;
use App\Services\Logic\Account\PhoneUpdate as PhoneUpdateService;
use Phalcon\Mvc\View;
/**
* @RoutePrefix("/account")
*/
class AccountController extends Controller
{
@ -24,12 +20,12 @@ class AccountController extends Controller
$this->response->redirect('/');
}
$returnUrl = $this->request->getHTTPReferer();
$service = new AccountService();
$captcha = $service->getSettings('captcha');
$returnUrl = $this->request->getHTTPReferer();
$this->view->setVar('return_url', $returnUrl);
$this->view->setVar('captcha', $captcha);
}
@ -137,60 +133,6 @@ class AccountController extends Controller
$this->view->setVar('captcha', $captcha);
}
/**
* @Get("/password/edit", name="home.account.edit_pwd")
*/
public function editPasswordAction()
{
if ($this->authUser->id == 0) {
$this->response->redirect(['for' => 'home.account.login']);
}
$service = new AccountService();
$captcha = $service->getSettings('captcha');
$this->view->setRenderLevel(View::LEVEL_ACTION_VIEW);
$this->view->pick('account/edit_password');
$this->view->setVar('captcha', $captcha);
}
/**
* @Get("/phone/edit", name="home.account.edit_phone")
*/
public function editPhoneAction()
{
if ($this->authUser->id == 0) {
$this->response->redirect(['for' => 'home.account.login']);
}
$service = new AccountService();
$captcha = $service->getSettings('captcha');
$this->view->setRenderLevel(View::LEVEL_ACTION_VIEW);
$this->view->pick('account/edit_phone');
$this->view->setVar('captcha', $captcha);
}
/**
* @Get("/email/edit", name="home.account.edit_email")
*/
public function editEmailAction()
{
if ($this->authUser->id == 0) {
$this->response->redirect(['for' => 'home.account.login']);
}
$service = new AccountService();
$captcha = $service->getSettings('captcha');
$this->view->setRenderLevel(View::LEVEL_ACTION_VIEW);
$this->view->pick('account/edit_email');
$this->view->setVar('captcha', $captcha);
}
/**
* @Post("/password/reset", name="home.account.reset_pwd")
*/
@ -219,7 +161,12 @@ class AccountController extends Controller
$service->handle();
$content = ['msg' => '更新手机成功'];
$location = $this->url->get(['for' => 'home.uc.account']);
$content = [
'location' => $location,
'msg' => '更新手机成功',
];
return $this->jsonSuccess($content);
}
@ -233,7 +180,12 @@ class AccountController extends Controller
$service->handle();
$content = ['msg' => '更新邮箱成功'];
$location = $this->url->get(['for' => 'home.uc.account']);
$content = [
'location' => $location,
'msg' => '更新邮箱成功',
];
return $this->jsonSuccess($content);
}
@ -247,7 +199,12 @@ class AccountController extends Controller
$service->handle();
$content = ['msg' => '更新密码成功'];
$location = $this->url->get(['for' => 'home.uc.account']);
$content = [
'location' => $location,
'msg' => '更新密码成功',
];
return $this->jsonSuccess($content);
}

View File

@ -24,7 +24,7 @@ class ImController extends Controller
}
/**
* @Get("/index", name="home.im.index")
* @Get("/", name="home.im.index")
*/
public function indexAction()
{

View File

@ -1,6 +1,5 @@
<?php
namespace App\Http\Home\Controllers;
use App\Services\Logic\Teacher\Console\ConsultList as ConsultListService;
@ -28,7 +27,7 @@ class TeacherConsoleController extends Controller
}
/**
* @Get("/index", name="home.tc.index")
* @Get("/", name="home.tc.index")
*/
public function indexAction()
{
@ -95,7 +94,7 @@ class TeacherConsoleController extends Controller
'stream_code' => substr($pushUrl, $pos + 1),
];
$this->view->pick('teacher/console/live_push');
$this->view->pick('teacher/console/live');
$this->view->setVar('qrcode', $qrcode);
$this->view->setVar('obs', $obs);
}

View File

@ -34,7 +34,7 @@ class UserConsoleController extends Controller
}
/**
* @Get("/index", name="home.uc.index")
* @Get("/", name="home.uc.index")
*/
public function indexAction()
{
@ -61,9 +61,23 @@ class UserConsoleController extends Controller
{
$service = new AccountInfoService();
$captcha = $service->getSettings('captcha');
$account = $service->handle();
$this->view->pick('user/console/account');
$type = $this->request->getQuery('type', 'string', 'info');
if ($type == 'info') {
$this->view->pick('user/console/account_info');
} elseif ($type == 'phone') {
$this->view->pick('user/console/account_phone');
} elseif ($type == 'email') {
$this->view->pick('user/console/account_email');
} elseif ($type == 'password') {
$this->view->pick('user/console/account_password');
}
$this->view->setVar('captcha', $captcha);
$this->view->setVar('account', $account);
}
@ -183,8 +197,10 @@ class UserConsoleController extends Controller
$service->handle();
$location = $this->url->get(['for' => 'home.uc.profile']);
$content = [
'location' => $this->request->getHTTPReferer(),
'location' => $location,
'msg' => '更新资料成功',
];

View File

@ -1,42 +0,0 @@
{% extends 'templates/layer.volt' %}
{% block content %}
<form class="layui-form account-form" method="POST" action="{{ url({'for':'home.account.update_email'}) }}">
<br><br>
<div class="layui-form-item">
<div class="layui-input-block">
<input class="layui-input" type="password" name="login_password" placeholder="登录密码" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<input id="cv-account" class="layui-input" type="text" name="email" placeholder="邮箱地址" data-type="email" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<div class="verify-input-inline">
<input class="layui-input" type="text" name="verify_code" placeholder="验证码" lay-verify="required">
</div>
<div class="verify-btn-inline">
<button id="cv-verify-emit" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">立即绑定</button>
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
<input id="cv-ticket" type="hidden" name="ticket">
<input id="cv-rand" type="hidden" name="rand">
</div>
</div>
</form>
{% endblock %}
{% block include_js %}
{{ js_include('https://ssl.captcha.qq.com/TCaptcha.js',false) }}
{{ js_include('home/js/captcha.verify.js') }}
{% endblock %}

View File

@ -1,29 +0,0 @@
{% extends 'templates/layer.volt' %}
{% block content %}
<form class="layui-form account-form" method="POST" action="{{ url({'for':'home.account.update_pwd'}) }}">
<br>
<div class="layui-form-item">
<div class="layui-input-block">
<input class="layui-input" type="password" name="origin_password" placeholder="原始密码" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<input class="layui-input" type="password" name="new_password" placeholder="新设密码" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<input class="layui-input" type="password" name="confirm_password" placeholder="确认密码" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn layui-btn-fluid" lay-submit="true" lay-filter="go">提交</button>
</div>
</div>
</form>
{% endblock %}

View File

@ -1,42 +0,0 @@
{% extends 'templates/layer.volt' %}
{% block content %}
<form class="layui-form account-form" method="POST" action="{{ url({'for':'home.account.update_phone'}) }}">
<br><br>
<div class="layui-form-item">
<div class="layui-input-block">
<input class="layui-input" type="password" name="login_password" placeholder="登录密码" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<input id="cv-account" class="layui-input" type="text" name="phone" placeholder="手机号码" data-type="phone" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<div class="verify-input-inline">
<input class="layui-input" type="text" name="verify_code" placeholder="验证码" lay-verify="required">
</div>
<div class="verify-btn-inline">
<button id="cv-verify-emit" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">立即绑定</button>
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
<input id="cv-ticket" type="hidden" name="ticket">
<input id="cv-rand" type="hidden" name="rand">
</div>
</div>
</form>
{% endblock %}
{% block include_js %}
{{ js_include('https://ssl.captcha.qq.com/TCaptcha.js',false) }}
{{ js_include('home/js/captcha.verify.js') }}
{% endblock %}

View File

@ -16,20 +16,20 @@
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<input class="layui-input" type="password" name="new_password" autocomplete="off" placeholder="新密码" lay-verify="required">
<input class="layui-input" type="password" name="new_password" autocomplete="off" placeholder="新密码字母数字特殊字符6-16位" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<div class="verify-input-inline">
<div class="layui-input-inline verify-input-inline">
<input class="layui-input" type="text" name="verify_code" placeholder="验证码" lay-verify="required">
</div>
<div class="verify-btn-inline">
<div class="layui-input-inline verify-btn-inline">
<button id="cv-verify-emit" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">立即重置</button>
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">重置密码</button>
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
<input id="cv-ticket" type="hidden" name="ticket">
<input id="cv-rand" type="hidden" name="rand">

View File

@ -5,10 +5,10 @@
</div>
</div>
<div class="layui-form-item">
<div class="verify-input-inline">
<div class="layui-input-inline verify-input-inline">
<input class="layui-input" type="text" name="verify_code" placeholder="验证码" lay-verify="required">
</div>
<div class="verify-btn-inline">
<div class="layui-input-inline verify-btn-inline">
<button id="cv-verify-emit" class="layui-btn layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
</div>
</div>

View File

@ -16,20 +16,20 @@
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<input class="layui-input" type="password" name="password" autocomplete="off" placeholder="密码" lay-verify="required">
<input class="layui-input" type="password" name="password" autocomplete="off" placeholder="密码字母数字特殊字符6-16位" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<div class="verify-input-inline">
<div class="layui-input-inline verify-input-inline">
<input class="layui-input" type="text" name="verify_code" placeholder="验证码" lay-verify="required">
</div>
<div class="verify-btn-inline">
<div class="layui-input-inline verify-btn-inline">
<button id="cv-verify-emit" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">立即注册</button>
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">注册帐号</button>
<input type="hidden" name="return_url" value="{{ return_url }}">
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
<input id="cv-ticket" type="hidden" name="ticket">

View File

@ -8,7 +8,8 @@
<div class="breadcrumb">
<span class="layui-breadcrumb">
<a href="{{ url({'for':'home.group.list'}) }}">群组列表</a>
<a href="/">首页</a>
<a href="{{ url({'for':'home.group.list'}) }}">群组</a>
<a><cite>{{ group.name }}</cite></a>
</span>
</div>

View File

@ -1,7 +1,8 @@
<!DOCTYPE html>
<html lang="zh-CN-Hans">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>出错啦</title>
{{ icon_link("favicon.ico") }}

View File

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="zh-CN-Hans">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="csrf-token" content="{{ csrfToken.getToken() }}">

View File

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="zh-CN-Hans">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="keywords" content="{{ seo.getKeywords() }}">

View File

@ -0,0 +1,54 @@
{% extends 'templates/main.volt' %}
{% block content %}
<div class="layout-main clearfix">
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
<div class="my-content">
<div class="wrap">
<div class="my-nav">
<span class="title">账号安全 - 修改邮箱</span>
</div>
<form class="layui-form security-form" method="POST" action="{{ url({'for':'home.account.update_email'}) }}">
<div class="layui-form-item">
<label class="layui-form-label">登录密码</label>
<div class="layui-input-block">
<input class="layui-input" type="password" name="login_password" autocomplete="off" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">邮箱地址</label>
<div class="layui-input-block">
<input id="cv-account" class="layui-input" type="text" name="email" data-type="email" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">验证码</label>
<div class="layui-input-inline verify-input-inline">
<input class="layui-input" type="text" name="verify_code" lay-verify="required">
</div>
<div class="layui-input-inline verify-btn-inline">
<button id="cv-verify-emit" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">提交修改</button>
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
<input id="cv-ticket" type="hidden" name="ticket">
<input id="cv-rand" type="hidden" name="rand">
</div>
</div>
</form>
</div>
</div>
</div>
{% endblock %}
{% block include_js %}
{{ js_include('https://ssl.captcha.qq.com/TCaptcha.js',false) }}
{{ js_include('home/js/captcha.verify.js') }}
{% endblock %}

View File

@ -2,9 +2,9 @@
{% block content %}
{% set edit_pwd_url = url({'for':'home.account.edit_pwd'}) %}
{% set edit_phone_url = url({'for':'home.account.edit_phone'}) %}
{% set edit_email_url = url({'for':'home.account.edit_email'}) %}
{% set edit_pwd_url = url({'for':'home.uc.account'},{'type':'password'}) %}
{% set edit_phone_url = url({'for':'home.uc.account'},{'type':'phone'}) %}
{% set edit_email_url = url({'for':'home.uc.account'},{'type':'email'}) %}
<div class="layout-main clearfix">
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
@ -18,17 +18,17 @@
<span class="icon"><i class="layui-icon layui-icon-password"></i></span>
<span class="title">登录密码</span>
<span class="summary">经常更改密码有助于保护您的帐号安全</span>
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-pwd" href="javascript:" data-url="{{ edit_pwd_url }}">修改</a></span>
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-pwd" href="{{ edit_pwd_url }}">修改</a></span>
</div>
<div class="security-item">
<span class="icon"><i class="layui-icon layui-icon-cellphone"></i></span>
<span class="title">手机绑定</span>
{% if account.phone %}
<span class="summary">已绑定手机:{{ account.phone|anonymous }}</span>
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-phone" href="javascript:" data-url="{{ edit_phone_url }}">修改</a></span>
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-phone" href="{{ edit_phone_url }}">修改</a></span>
{% else %}
<span class="summary">可用于登录和重置密码</span>
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-phone" href="javascript:" data-url="{{ edit_phone_url }}">绑定</a></span>
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-phone" href="{{ edit_phone_url }}">绑定</a></span>
{% endif %}
</div>
<div class="security-item">
@ -36,10 +36,10 @@
<span class="title">邮箱绑定</span>
{% if account.phone %}
<span class="summary">已绑定邮箱:{{ account.email|anonymous }}</span>
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-email" href="javascript:" data-url="{{ edit_email_url }}">修改</a></span>
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-email" href="{{ edit_email_url }}">修改</a></span>
{% else %}
<span class="summary">可用于登录和重置密码</span>
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-email" href="javascript:" data-url="{{ edit_email_url }}">绑定</a></span>
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-email" href="{{ edit_email_url }}">绑定</a></span>
{% endif %}
</div>
</div>
@ -47,10 +47,4 @@
</div>
</div>
{% endblock %}
{% block include_js %}
{{ js_include('home/js/user.console.account.js') }}
{% endblock %}

View File

@ -0,0 +1,44 @@
{% extends 'templates/main.volt' %}
{% block content %}
<div class="layout-main clearfix">
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
<div class="my-content">
<div class="wrap">
<div class="my-nav">
<span class="title">账号安全 - 修改密码</span>
</div>
<form class="layui-form security-form" method="POST" action="{{ url({'for':'home.account.update_pwd'}) }}">
<div class="layui-form-item">
<label class="layui-form-label">原始密码</label>
<div class="layui-input-block">
<input class="layui-input" type="password" name="origin_password" autocomplete="off" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">新设密码</label>
<div class="layui-input-block">
<input class="layui-input" type="password" name="new_password" placeholder="字母数字特殊字符6-16位" autocomplete="off" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">确认密码</label>
<div class="layui-input-block">
<input class="layui-input" type="password" name="confirm_password" placeholder="字母数字特殊字符6-16位" autocomplete="off" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-block">
<button class="layui-btn" lay-submit="true" lay-filter="go">提交</button>
<button class="layui-btn layui-btn-primary" type="reset">重置</button>
</div>
</div>
</form>
</div>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,54 @@
{% extends 'templates/main.volt' %}
{% block content %}
<div class="layout-main clearfix">
<div class="my-sidebar">{{ partial('user/console/menu') }}</div>
<div class="my-content">
<div class="wrap">
<div class="my-nav">
<span class="title">账号安全 - 修改手机</span>
</div>
<form class="layui-form security-form" method="POST" action="{{ url({'for':'home.account.update_phone'}) }}">
<div class="layui-form-item">
<label class="layui-form-label">登录密码</label>
<div class="layui-input-block">
<input class="layui-input" type="password" name="login_password" autocomplete="off" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">手机号码</label>
<div class="layui-input-block">
<input id="cv-account" class="layui-input" type="text" name="phone" data-type="phone" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">验证码</label>
<div class="layui-input-inline verify-input-inline">
<input class="layui-input" type="text" name="verify_code" lay-verify="required">
</div>
<div class="layui-input-inline verify-btn-inline">
<button id="cv-verify-emit" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">提交修改</button>
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
<input id="cv-ticket" type="hidden" name="ticket">
<input id="cv-rand" type="hidden" name="rand">
</div>
</div>
</form>
</div>
</div>
</div>
{% endblock %}
{% block include_js %}
{{ js_include('https://ssl.captcha.qq.com/TCaptcha.js',false) }}
{{ js_include('home/js/captcha.verify.js') }}
{% endblock %}

View File

@ -90,7 +90,7 @@ class Common
public static function password($str)
{
$pattern = '/^[A-Za-z0-9]{6,16}$/';
$pattern = '/^[[:graph:]]{6,16}$/';
return preg_match($pattern, $str) ? true : false;
}

View File

@ -43,24 +43,24 @@ function xmCourse(data, url) {
{field: 'title', title: '标题', width: 390},
{
field: 'model', title: '类型', width: 50, templet: function (d) {
if (d.model === 'vod') {
if (d.model === 1) {
return '点播';
} else if (d.model === 'live') {
} else if (d.model === 2) {
return '直播';
} else if (d.model === 'read') {
} else if (d.model === 3) {
return '图文';
}
}
},
{
field: 'level', title: '难度', width: 50, templet: function (d) {
if (d.level === 'entry') {
if (d.level === 1) {
return '入门';
} else if (d.level === 'junior') {
} else if (d.level === 2) {
return '初级';
} else if (d.level === 'medium') {
} else if (d.level === 3) {
return '中级';
} else if (d.level === 'senior') {
} else if (d.level === 4) {
return '高级';
}
}

View File

@ -1161,18 +1161,18 @@
}
.account-form .verify-input-inline {
display: inline-block;
width: 283px;
margin-right: 5px;
width: 280px;
margin-right: 10px;
}
.account-form .verify-btn-inline {
display: inline-block;
vertical-align: top;
width: 110px;
margin-right: 0;
}
.verify-btn-inline button {
min-width: 108px;
min-width: 100px;
width: 100%;
}
.login-tab {
@ -1523,6 +1523,19 @@
word-wrap: break-word;
}
.security-form {
width: 600px;
}
.security-form .verify-input-inline {
width: 360px;
}
.security-form .verify-btn-inline {
width: 120px;
margin-right: 0;
}
.security-item {
padding: 15px;
line-height: 50px;

View File

@ -1,5 +1,7 @@
layui.use(['jquery'], function () {
var $ = layui.jquery;
var captcha = new TencentCaptcha(
$('#captcha-btn')[0],
$('#captcha-btn').data('app-id'),
@ -12,4 +14,5 @@ layui.use(['jquery'], function () {
}
}
);
});