电视直播功能增强
This commit is contained in:
parent
7368689b99
commit
291d1b31b5
3115
base/直播.txt
3115
base/直播.txt
File diff suppressed because it is too large
Load Diff
@ -552,3 +552,31 @@ def admin_lives():
|
|||||||
response = make_response(files)
|
response = make_response(files)
|
||||||
response.headers['Content-Type'] = 'text/plain; charset=utf-8'
|
response.headers['Content-Type'] = 'text/plain; charset=utf-8'
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
@admin.route('/lives_web')
|
||||||
|
def admin_lives_web():
|
||||||
|
if not verfy_token():
|
||||||
|
return R.failed('请登录后再试')
|
||||||
|
|
||||||
|
# host_url = request.host_url
|
||||||
|
def get_lives():
|
||||||
|
base_path = os.path.dirname(os.path.abspath(os.path.dirname(__file__))) # 上级目录
|
||||||
|
live_path = os.path.join(base_path, f'base/直播.txt')
|
||||||
|
with open(live_path,encoding='utf-8') as f:
|
||||||
|
text = f.read()
|
||||||
|
return text
|
||||||
|
|
||||||
|
text = get_lives()
|
||||||
|
# response = make_response(text)
|
||||||
|
# response.headers['Content-Type'] = 'text/plain; charset=utf-8'
|
||||||
|
# return response
|
||||||
|
lives = []
|
||||||
|
for line in text.split('\n'):
|
||||||
|
if ',http' in line:
|
||||||
|
lives.append({
|
||||||
|
'title':line.split(',')[0],
|
||||||
|
'url':line.split(',')[1],
|
||||||
|
})
|
||||||
|
print(lives)
|
||||||
|
# lsg = storage_service()
|
||||||
|
return render_template('lives.html',ver=getLocalVer(),lives=lives)
|
||||||
@ -71,15 +71,18 @@ def rules_to_view():
|
|||||||
def random_pics():
|
def random_pics():
|
||||||
id = getParmas('id')
|
id = getParmas('id')
|
||||||
# print(f'id:{id}')
|
# print(f'id:{id}')
|
||||||
pics = getPics()
|
base_path = os.path.dirname(os.path.abspath(os.path.dirname(__file__))) # 上级目录
|
||||||
|
path = 'images'
|
||||||
|
img_path = os.path.join(base_path, f'{path}')
|
||||||
|
pics = getPics(img_path)
|
||||||
# print(pics)
|
# print(pics)
|
||||||
new_conf = cfg
|
new_conf = cfg
|
||||||
lsg = storage_service()
|
lsg = storage_service()
|
||||||
store_conf_dict = lsg.getStoreConfDict()
|
store_conf_dict = lsg.getStoreConfDict()
|
||||||
new_conf.update(store_conf_dict)
|
new_conf.update(store_conf_dict)
|
||||||
if not new_conf.WALL_PAPER and len(pics) > 0:
|
if not new_conf.WALL_PAPER or (id and len(pics) > 0):
|
||||||
if id and f'images/{id}.jpg' in pics:
|
if id and f'{img_path}/{id}.jpg' in pics:
|
||||||
pic = f'images/{id}.jpg'
|
pic = f'{img_path}/{id}.jpg'
|
||||||
else:
|
else:
|
||||||
pic = random.choice(pics)
|
pic = random.choice(pics)
|
||||||
file = open(pic, "rb").read()
|
file = open(pic, "rb").read()
|
||||||
|
|||||||
@ -1,3 +1,6 @@
|
|||||||
|
###### 2023/11/22
|
||||||
|
- [X] 3.9.49beta1 增加网页直播功能
|
||||||
|
|
||||||
###### 2023/11/18
|
###### 2023/11/18
|
||||||
- [X] 修复腾云驾雾
|
- [X] 修复腾云驾雾
|
||||||
- [X] 增加手动升级功能,手动上传升级文件.zip后进行强制升级即可
|
- [X] 增加手动升级功能,手动上传升级文件.zip后进行强制升级即可
|
||||||
|
|||||||
BIN
images/odoo.jpg
Normal file
BIN
images/odoo.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 318 KiB |
BIN
images/zb.jpg
Normal file
BIN
images/zb.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 319 KiB |
@ -1 +1 @@
|
|||||||
3.9.48beta29
|
3.9.49beta1
|
||||||
@ -298,6 +298,10 @@
|
|||||||
$('#lives').click(function () {
|
$('#lives').click(function () {
|
||||||
location.href = '/admin/lives'
|
location.href = '/admin/lives'
|
||||||
});
|
});
|
||||||
|
$('#lives_web').click(function () {
|
||||||
|
location.href = '/admin/lives_web'
|
||||||
|
});
|
||||||
|
|
||||||
$("summary").click(function() {
|
$("summary").click(function() {
|
||||||
// console.log('summary被点击');
|
// console.log('summary被点击');
|
||||||
const details = $('details');
|
const details = $('details');
|
||||||
@ -360,6 +364,7 @@
|
|||||||
<li><a href="javascript:void(0);" class="funcbtn" id="update_lives">同步直播源</a></li>
|
<li><a href="javascript:void(0);" class="funcbtn" id="update_lives">同步直播源</a></li>
|
||||||
<li><a href="javascript:void(0);" class="funcbtn" id="use_py">已{% if pystate=='1' %}启用{% else %}关闭{% endif %}py源</a></li>
|
<li><a href="javascript:void(0);" class="funcbtn" id="use_py">已{% if pystate=='1' %}启用{% else %}关闭{% endif %}py源</a></li>
|
||||||
<li><a href="javascript:void(0);" class="funcbtn" id="lives">直播源列表</a></li>
|
<li><a href="javascript:void(0);" class="funcbtn" id="lives">直播源列表</a></li>
|
||||||
|
<li><a href="javascript:void(0);" class="funcbtn" id="lives_web">网页在线直播</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|||||||
63
templates/lives.html
Normal file
63
templates/lives.html
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>电视直播页面-{{ver}}</title>
|
||||||
|
<meta charset="UTF-8"> <!-- 设置字符编码为UTF-8 -->
|
||||||
|
<meta name="description" content="drpy在线电视直播by道长">
|
||||||
|
<meta name="author" content="道长" />
|
||||||
|
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">-->
|
||||||
|
<link rel="stylesheet" media="screen" href="/static/css/admin.css">
|
||||||
|
<link rel="icon" href="/static/img/logo.png" type="image/x-icon">
|
||||||
|
<script src="/static/js/jquery.min.js"></script>
|
||||||
|
<script src="/static/js/common.js"></script>
|
||||||
|
<script src="/static/js/grey.js"></script>
|
||||||
|
<style>
|
||||||
|
.container {
|
||||||
|
text-align: center; /* 设置文本居中对齐,将块水平居中 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.block {
|
||||||
|
display: inline-block; /* 将块设置为行内块元素,每行显示两个 */
|
||||||
|
width: 300px; /* 每个块的宽度,可以根据需要自定义 */
|
||||||
|
margin: 20px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 1px solid #d5d1d1;
|
||||||
|
border-radius: 10px; /* 设置圆角半径为10px */
|
||||||
|
text-align: center; /* 使块内文本左对齐 */
|
||||||
|
background: rgb(71, 143, 250,0.8); /* 背景颜色 */
|
||||||
|
opacity: 0.8; /* 透明度 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.block h2 {
|
||||||
|
color: rgb(254, 254, 254); /* 设置文字颜色为红色 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.block img {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto; /* 保持图片宽高比例 */
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background-image: url("/pics?id=zb"); /* 设置背景图像的URL */
|
||||||
|
background-size: cover; /* 使图像覆盖整个页面,不变形 */
|
||||||
|
background-repeat: no-repeat; /* 防止图像重复平铺 */
|
||||||
|
background-attachment: fixed; /* 固定背景图像,使其在滚动时保持固定 */
|
||||||
|
background-position: center center; /* 居中显示背景图像 */
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
{% for live in lives %}
|
||||||
|
<div class="block">
|
||||||
|
<a href="/web/player1?url={{ live.url }}" target="_blank">
|
||||||
|
<h2>{{ live.title }}</h2>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endfor %}
|
||||||
|
<!-- 可以根据需要添加更多块 -->
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
3061
txt/lives/zb_drpy.txt
Normal file
3061
txt/lives/zb_drpy.txt
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user