1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-06-26 20:52:44 +08:00

增加静态文件版本号

This commit is contained in:
xiaochong0302 2020-04-08 16:42:36 +08:00
parent 7e9dc9d2db
commit 24f25c8867
25 changed files with 124 additions and 103 deletions

View File

@ -58,7 +58,7 @@
{{ partial('partials/cover_uploader') }} {{ partial('partials/cover_uploader') }}
{{ javascript_include('lib/xm-select.js') }} {{ js_include('lib/xm-select.js') }}
<script> <script>

View File

@ -17,7 +17,7 @@
</form> </form>
{{ javascript_include('admin/js/xm-course.js') }} {{ js_include('admin/js/xm-course.js') }}
<script> <script>
xmCourse({{ xm_courses|json_encode }}, '/admin/xm/course/all'); xmCourse({{ xm_courses|json_encode }}, '/admin/xm/course/all');

View File

@ -70,7 +70,7 @@
</form> </form>
{{ javascript_include('lib/xm-select.js') }} {{ js_include('lib/xm-select.js') }}
<script> <script>

View File

@ -6,11 +6,11 @@
<meta name="csrf-token-key" content="{{ security.getTokenKey() }}"> <meta name="csrf-token-key" content="{{ security.getTokenKey() }}">
<meta name="csrf-token-value" content="{{ security.getTokenValue() }}"> <meta name="csrf-token-value" content="{{ security.getTokenValue() }}">
<title>管理后台</title> <title>管理后台</title>
{{ stylesheet_link('lib/layui/css/layui.css') }} {{ css_link('lib/layui/css/layui.css') }}
{{ stylesheet_link('lib/layui/extends/dropdown.css') }} {{ css_link('lib/layui/extends/dropdown.css') }}
{{ stylesheet_link('admin/css/style.css') }} {{ css_link('admin/css/style.css') }}
{{ javascript_include('lib/layui/layui.js') }} {{ js_include('lib/layui/layui.js') }}
{{ javascript_include('admin/js/common.js') }} {{ js_include('admin/js/common.js') }}
</head> </head>
<body class="kg-body"> <body class="kg-body">
{{ content() }} {{ content() }}

View File

@ -5,10 +5,10 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>管理后台</title> <title>管理后台</title>
{{ stylesheet_link('lib/layui/css/layui.css') }} {{ css_link('lib/layui/css/layui.css') }}
{{ stylesheet_link('admin/css/style.css') }} {{ css_link('admin/css/style.css') }}
{{ javascript_include('lib/layui/layui.js') }} {{ js_include('lib/layui/layui.js') }}
{{ javascript_include('admin/js/index.js') }} {{ js_include('admin/js/index.js') }}
</head> </head>
<body class="layui-layout-body"> <body class="layui-layout-body">

View File

@ -61,8 +61,8 @@
</form> </form>
{{ javascript_include('lib/xm-select.js') }} {{ js_include('lib/xm-select.js') }}
{{ javascript_include('admin/js/xm-course.js') }} {{ js_include('admin/js/xm-course.js') }}
<script> <script>

View File

@ -1,4 +1,4 @@
{{ javascript_include('lib/vod-js-sdk-v6.min.js') }} {{ js_include('lib/vod-js-sdk-v6.min.js') }}
<script> <script>

View File

@ -17,7 +17,7 @@
</body> </body>
</html> </html>
{{ javascript_include('lib/jquery.min.js') }} {{ js_include('lib/jquery.min.js') }}
<script> <script>

View File

@ -35,8 +35,8 @@
</form> </form>
{{ javascript_include('lib/xm-select.js') }} {{ js_include('lib/xm-select.js') }}
{{ javascript_include('admin/js/xm-course.js') }} {{ js_include('admin/js/xm-course.js') }}
<script> <script>

View File

@ -1,18 +1,18 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>Phalcon</title>
{{ stylesheet_link("lib/layui/css/layui.css") }}
{{ javascript_include("lib/layui/layui.js") }}
</head>
<body class="layui-layout-body">
{{ content() }} <head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>Phalcon</title>
{{ css_link("lib/layui/css/layui.css") }}
{{ js_include("lib/layui/layui.js") }}
</head>
<body class="layui-layout-body">
{{ content() }}
</body>
</body>
</html> </html>

View File

@ -3,7 +3,7 @@
</div> </div>
{{ javascript_include('library/chplayer/chplayer.min.js') }} {{ js_include('library/chplayer/chplayer.min.js') }}
<script> <script>

View File

@ -2,6 +2,7 @@
use App\Services\Storage as StorageService; use App\Services\Storage as StorageService;
use Koogua\Ip2Region\Searcher as Ip2RegionSearcher; use Koogua\Ip2Region\Searcher as Ip2RegionSearcher;
use Phalcon\Di;
/** /**
* 获取字符长度 * 获取字符长度
@ -273,3 +274,51 @@ function kg_can($route = null)
{ {
return true; return true;
} }
/**
* 构造css路径
*
* @param $path
* @param bool $local
* @param string $version
* @return string
*/
function kg_css_link($path, $local = true, $version = null)
{
$config = Di::getDefault()->getShared('config');
$baseUri = rtrim($config->static_base_uri, '/');
$path = ltrim($path, '/');
$href = $local ? $baseUri . '/' . $path : $path;
$version = $version ? $version : $config->static_version;
if ($version) {
$href .= '?v=' . $version;
}
return '<link rel="stylesheet" type="text/css" href="' . $href . '" />' . PHP_EOL;
}
/**
* 构造js引入
*
* @param $path
* @param bool $local
* @param string $version
* @return string
*/
function kg_js_include($path, $local = true, $version = null)
{
$config = Di::getDefault()->getShared('config');
$baseUri = rtrim($config->static_base_uri, '/');
$path = ltrim($path, '/');
$src = $local ? $baseUri . '/' . $path : $path;
$version = $version ? $version : $config->static_version;
if ($version) {
$src .= '?v=' . $version;
}
return '<script type="text/javascript" src="' . $src . '"></script>' . PHP_EOL;
}

View File

@ -25,8 +25,6 @@ class Cache extends Provider
'port' => $config->redis->port, 'port' => $config->redis->port,
'auth' => $config->redis->auth, 'auth' => $config->redis->auth,
'index' => $config->redis->index, 'index' => $config->redis->index,
'prefix' => $config->redis->prefix,
'persistent' => $config->redis->persistent,
]); ]);
}); });
} }

View File

@ -20,9 +20,7 @@ class Session extends Provider
'port' => $config->redis->port, 'port' => $config->redis->port,
'auth' => $config->redis->auth, 'auth' => $config->redis->auth,
'index' => $config->redis->index, 'index' => $config->redis->index,
'prefix' => $config->session->prefix,
'lifetime' => $config->session->lifetime, 'lifetime' => $config->session->lifetime,
'persistent' => $config->redis->persistent,
]); ]);
$session->start(); $session->start();

View File

@ -17,9 +17,9 @@ class Url extends Provider
$url = new UrlResolver(); $url = new UrlResolver();
$url->setBaseUri($config->url->base); $url->setBaseUri($config->base_uri);
$url->setStaticBaseUri($config->url->static); $url->setStaticBaseUri($config->static_base_uri);
return $url; return $url;
}); });

View File

@ -22,6 +22,14 @@ class Volt extends Provider
$compiler = $volt->getCompiler(); $compiler = $volt->getCompiler();
$compiler->addFunction('css_link', function ($resolvedArgs) {
return 'kg_css_link(' . $resolvedArgs . ')';
});
$compiler->addFunction('js_include', function ($resolvedArgs) {
return 'kg_js_include(' . $resolvedArgs . ')';
});
$compiler->addFunction('substr', function ($resolvedArgs) { $compiler->addFunction('substr', function ($resolvedArgs) {
return 'kg_substr(' . $resolvedArgs . ')'; return 'kg_substr(' . $resolvedArgs . ')';
}); });

View File

@ -17,7 +17,7 @@ class Admin extends AuthService
$role = $roleRepo->findById($user->admin_role); $role = $roleRepo->findById($user->admin_role);
$root = $role->id == RoleModel::ROLE_ROOT ? 1 : 0; $root = $role->id == RoleModel::ROLE_ROOT;
$authInfo = [ $authInfo = [
'id' => $user->id, 'id' => $user->id,
@ -44,9 +44,9 @@ class Admin extends AuthService
$authInfo = $this->session->get($authKey); $authInfo = $this->session->get($authKey);
$items = $authInfo ? $authInfo : []; if (!$authInfo) return null;
return new Collection($items); return new Collection($authInfo);
} }
public function getAuthKey() public function getAuthKey()

View File

@ -63,9 +63,17 @@ class Api extends AuthService
$authInfo = $cache->get($key); $authInfo = $cache->get($key);
$items = $authInfo ? $authInfo : []; if (!$authInfo) return null;
return new Collection($items); return new Collection($authInfo);
}
/**
* @return RedisCache
*/
protected function getCache()
{
return $this->getDI()->get('cache');
} }
protected function getAuthToken() protected function getAuthToken()
@ -78,12 +86,4 @@ class Api extends AuthService
return "access_token:{$token}"; return "access_token:{$token}";
} }
/**
* @return RedisCache
*/
protected function getCache()
{
return $this->getDI()->get('cache');
}
} }

View File

@ -34,9 +34,9 @@ class Html5 extends AuthService
$authInfo = $this->session->get($authKey); $authInfo = $this->session->get($authKey);
$items = $authInfo ? $authInfo : []; if (!$authInfo) return null;
return new Collection($items); return new Collection($authInfo);
} }
public function getAuthKey() public function getAuthKey()

View File

@ -9,11 +9,6 @@ use Yansongda\Supports\Collection;
class Web extends AuthService class Web extends AuthService
{ {
/**
* 写入会话
*
* @param UserModel $user
*/
public function saveAuthInfo(UserModel $user) public function saveAuthInfo(UserModel $user)
{ {
$authKey = $this->getAuthKey(); $authKey = $this->getAuthKey();
@ -26,9 +21,6 @@ class Web extends AuthService
$this->session->set($authKey, $authInfo); $this->session->set($authKey, $authInfo);
} }
/**
* 清除会话
*/
public function clearAuthInfo() public function clearAuthInfo()
{ {
$authKey = $this->getAuthKey(); $authKey = $this->getAuthKey();
@ -36,27 +28,17 @@ class Web extends AuthService
$this->session->remove($authKey); $this->session->remove($authKey);
} }
/**
* 读取会话
*
* @return Collection
*/
public function getAuthInfo() public function getAuthInfo()
{ {
$authKey = $this->getAuthKey(); $authKey = $this->getAuthKey();
$authInfo = $this->session->get($authKey); $authInfo = $this->session->get($authKey);
$items = $authInfo ? $authInfo : []; if (!$authInfo) return null;
return new Collection($items); return new Collection($authInfo);
} }
/**
* 获取会话键值
*
* @return string
*/
public function getAuthKey() public function getAuthKey()
{ {
return 'web_auth_info'; return 'web_auth_info';

View File

@ -32,8 +32,6 @@ class Service extends Component
$validator->checkAuthUser($authUser); $validator->checkAuthUser($authUser);
dd($authUser);
$userRepo = new UserRepo(); $userRepo = new UserRepo();
return $userRepo->findById($authUser['id']); return $userRepo->findById($authUser['id']);

View File

@ -9,13 +9,11 @@ use Phalcon\Mvc\User\Component;
class Validator extends Component class Validator extends Component
{ {
public function checkAuthUser($user) public function checkAuthUser($authUser)
{ {
if (empty($user['id'])) { if (empty($authUser['id'])) {
throw new UnauthorizedException('sys.auth_user_failed'); throw new UnauthorizedException('sys.auth_failed');
} }
return $user;
} }
public function checkOwner($userId, $ownerId) public function checkOwner($userId, $ownerId)

View File

@ -20,12 +20,17 @@ $config['timezone'] = 'Asia/Shanghai';
/** /**
* 网站根地址,必须以"/"结尾 * 网站根地址,必须以"/"结尾
*/ */
$config['url']['base'] = '/'; $config['base_uri'] = '/';
/** /**
* 静态资源地址,必须以"/"结尾 * 静态资源地址,必须以"/"结尾
*/ */
$config['url']['static'] = '/static/'; $config['static_base_uri'] = '/static/';
/**
* 静态资源版本
*/
$config['static_version'] = '202004080830';
/** /**
* 数据库主机名 * 数据库主机名
@ -78,24 +83,9 @@ $config['redis']['auth'] = '1qaz2wsx3edc';
$config['redis']['index'] = 0; $config['redis']['index'] = 0;
/** /**
* redis长链接 * 缓存有效期(秒)
*/ */
$config['redis']['persistent'] = false; $config['redis']['lifetime'] = 24 * 3600;
/**
* redis键前缀
*/
$config['redis']['prefix'] = '';
/**
* redis有限期
*/
$config['redis']['lifetime'] = 7 * 86400;
/**
* 会话键前缀
*/
$config['session']['prefix'] = ':session:';
/** /**
* 会话有效期(秒) * 会话有效期(秒)

View File

@ -6,9 +6,9 @@ $error = [];
* 通用相关 * 通用相关
*/ */
$error['sys.uri_not_found'] = '资源地址不存在'; $error['sys.uri_not_found'] = '资源地址不存在';
$error['sys.invalid_referer'] = '无效的请求来源'; $error['sys.invalid_referer'] = '非法的请求来源';
$error['sys.auth_user_failed'] = '用户认证失败'; $error['sys.auth_failed'] = '认证失败';
$error['sys.access_denied'] = '访问被拒绝'; $error['sys.access_denied'] = '拒绝访问';
$error['sys.unknown_error'] = '未知错误'; $error['sys.unknown_error'] = '未知错误';
/** /**