当前位置:首页 > 影视资讯 > 批量设置视频更新

批量设置视频更新

4周前 (12-16)影视资讯114

在后台视频数据管理页面增加一个更新时间按钮,可以批量设置视频的更新时间,某些情况下还是挺好用的,一共涉及两处修改:

1、application/admin/controller/Vod.php

查找 public function field() 在这个函数上方新增

    public function updateTimeBatch()
    {
        $param = input();
        $ids = isset($param['ids']) ? $param['ids'] : '';
        $time = isset($param['time']) ? trim($param['time']) : '';

        if (empty($ids)) {
            return $this->error(lang('param_err'));
        }

        $timestamp = time();
        if (!empty($time)) {
            $tmp = strtotime($time);
            if ($tmp !== false) {
                $timestamp = $tmp;
            }
        }

        $where['vod_id'] = ['in', $ids];
        $update = ['vod_time' => $timestamp];
        $res = model('Vod')->fieldData($where, $update);
        if ($res['code'] > 1) {
            return $this->error($res['msg']);
        }
        return $this->success($res['msg']);
    }

2、application/admin/view/vod/index.html

查找

<a class="layui-btn layui-btn-primary j-iframe" data-checkbox="true" data-href="{:url('make/make?ac=info&tab=vod')}" href="javascript:;" title="{:lang('make_page')}"><i class="layui-icon">&#xe620;</i>{:lang('make_page')}</a>

在这段代码下方新增:

<a class="layui-btn layui-btn-primary" id="btnBatchUpdateTime" href="javascript:;" title="{:lang('update_time')}"><i class="layui-icon">&#xe637;</i>{:lang('update_time')}</a>


找到页面底部的js脚本里的
layui.use(['laypage', 'layer','form'], function() {
改为
layui.use(['laypage', 'layer','form','laydate'], function() {


找到
form = layui.form;
改为
form = layui.form,
laydate = layui.laydate;


找到
// 小屏幕下名称问题
if ($('body').width() <= 600) {
$('#table_th_vod_name').attr('width', '300');
}
在下方新增

$('#btnBatchUpdateTime').on('click', function () {
            var ids = [];
            $('.checkbox-ids:checked').each(function (index, item) {
                if (item.checked) {
                    ids.push(item.value);
                }
            });
            if (ids.length < 1) {
                layer.msg('{:lang('请先选择视频')}');
                return false;
            }

            var content = '<div style="padding:15px 20px 0 20px;">' +
                '<input type="text" class="layui-input" id="batchUpdateTimeInput" placeholder="{:lang('update_time')}">' +
                '<p style="margin-top:8px;color:#999;">{:lang('批量设置视频')} {:lang('update_time')}</p>' +
                '</div>';

            var openIndex = layer.open({
                type: 1,
                title: '{:lang('update_time')}',
                area: ['360px', '200px'],
                content: content,
                btn: ['{:lang('确定')}','{:lang('取消')}'],
                success: function () {
                    laydate.render({
                        elem: '#batchUpdateTimeInput',
                        type: 'datetime',
                        value: new Date()
                    });
                },
                yes: function () {
                    var timeVal = $('#batchUpdateTimeInput').val();
                    layer.msg('{:lang('wait_submit')}', {time: 500000});
                    $.post("{:url('updateTimeBatch')}", {ids: ids.join(','), time: timeVal}, function (res) {
                        layer.msg(res.msg, {}, function () {
                            if (res.code == 1) {
                                location.reload();
                            }
                        });
                    });
                    layer.close(openIndex);
                }
            });
        });

完整的js脚本代码为:

<script type="text/javascript">
    var curUrl="{:url('vod/data',$param)}";
    layui.use(['laypage', 'layer','form','laydate'], function() {
        var laypage = layui.laypage
                , layer = layui.layer,
                form = layui.form,
                laydate = layui.laydate;
                $ = layui.jquery;

        laypage.render({
            elem: 'pages'
            ,count: {$total}
            ,limit: {$limit}
            ,curr: {$page}
            ,layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
            ,jump: function(obj,first){
                if(!first){
                    location.href = curUrl.replace('%7Bpage%7D',obj.curr).replace('%7Blimit%7D',obj.limit);
                }
            }
        });

        // 小屏幕下名称问题
        if ($('body').width() <= 600) {
            $('#table_th_vod_name').attr('width', '300');
        }

        $('#btnBatchUpdateTime').on('click', function () {
            var ids = [];
            $('.checkbox-ids:checked').each(function (index, item) {
                if (item.checked) {
                    ids.push(item.value);
                }
            });
            if (ids.length < 1) {
                layer.msg('{:lang('请先选择视频')}');
                return false;
            }

            var content = '<div style="padding:15px 20px 0 20px;">' +
                '<input type="text" class="layui-input" id="batchUpdateTimeInput" placeholder="{:lang('update_time')}">' +
                '<p style="margin-top:8px;color:#999;">{:lang('批量设置视频')} {:lang('update_time')}</p>' +
                '</div>';

            var openIndex = layer.open({
                type: 1,
                title: '{:lang('update_time')}',
                area: ['360px', '200px'],
                content: content,
                btn: ['{:lang('确定')}','{:lang('取消')}'],
                success: function () {
                    laydate.render({
                        elem: '#batchUpdateTimeInput',
                        type: 'datetime',
                        value: new Date()
                    });
                },
                yes: function () {
                    var timeVal = $('#batchUpdateTimeInput').val();
                    layer.msg('{:lang('wait_submit')}', {time: 500000});
                    $.post("{:url('updateTimeBatch')}", {ids: ids.join(','), time: timeVal}, function (res) {
                        layer.msg(res.msg, {}, function () {
                            if (res.code == 1) {
                                location.reload();
                            }
                        });
                    });
                    layer.close(openIndex);
                }
            });
        });

    });
</script>


扫描二维码推送至手机访问。

版权声明:本文由沁馨影视网发布,如需转载请注明出处。

本文链接:https://qinxin.qxnnn.com/yszx/542.html

分享给朋友:

相关文章

《哪吒之魔童闹海》新神话美学的视觉革命

《哪吒之魔童闹海》新神话美学的视觉革命

颠覆与传承:新神话美学的视觉革命影片开篇即以震撼的"元神觉醒"场景打破传统认知——哪吒不再是脚踏风火轮的少年英雄,而是身着机甲战衣、手持量子火尖枪的赛博朋克形象。导演饺子通过2000余个特效镜头,将《封神演义》的古典元素与量子物理、全息投影等科幻概念熔铸成全新的视觉体系。尤为惊艳...

《南京照相馆》历史厚重感与人性的光辉!

《南京照相馆》历史厚重感与人性的光辉!

一、历史洪流中的个体叙事影片以1937年南京城一家照相馆为叙事中心,通过掌柜陈默(张译饰)为不同阶层人物拍照的视角,展现战争前夕的市井百态。导演采用"照相馆"这一封闭空间作为历史显微镜,既规避了宏大叙事的说教感,又通过相片这一载体实现了"瞬间即永恒"的艺术表达...

《窗外是蓝星》:当科幻成为人性的镜与窗

《窗外是蓝星》:当科幻成为人性的镜与窗

一、引言:一次颠覆传统的太空叙事在2025年这个太空探索技术突飞猛进的时代,《窗外是蓝星》以独特的视角重构了科幻电影范式。导演艾丽西亚·维特通过一艘孤独的深空探测船"蓝星号",将镜头对准舷窗后那片蔚蓝色星球,用近乎执拗的镜头语言探讨了人类对母星的复杂情感。这部作品既非传统意义上的...

《小人物2》的深层价值,既满足动作片爱好者的娱乐期待,又为文艺片观众提供解读空间!

《小人物2》的深层价值,既满足动作片爱好者的娱乐期待,又为文艺片观众提供解读空间!

暴力循环中的存在主义镜像当鲍勃·苏尔维斯(鲍勃·奥登科克 饰)再次举起扳手,观众看到的不仅是动作片的血脉贲张,更是一个现代西西弗斯对荒诞命运的反抗。续作延续了前作暴烈外壳下的存在主义内核,将小人物困境升级为系统性的生存危机。导演伊利亚·舒伯特用霓虹色调的暴力场景构建出存在主义实验室,每个爆头瞬间都在...

《招魂 4:终章》:以爱为咒,为十年黑暗谢幕

《招魂 4:终章》:以爱为咒,为十年黑暗谢幕

当 1986 年宾夕法尼亚郊区的月光透过教堂彩窗,在沃伦夫妇布满岁月痕迹的脸上投下斑驳光影时,《招魂 4:终章》用一声熟悉的地板吱呀声,为长达十二年的 “招魂宇宙” 拉开了告别序曲。这部由温子仁监制、迈克尔・查维斯执导的收官之作,没有沉溺于血浆与尖叫的感官刺激,而是将驱魔故事根植于家庭温情的土壤,让...

《周四推理俱乐部》:老派智慧与时光温情的悬疑盛宴

《周四推理俱乐部》:老派智慧与时光温情的悬疑盛宴

当英国乡间养老社区的晨雾漫过修剪整齐的灌木丛,四位平均年龄 77.5 岁的老人围坐在活动室的橡木桌前,翻开尘封的悬案卷宗,《周四推理俱乐部》用一场充满英式幽默的探案历险,为悬疑类型片注入了久违的温情与厚重。这部由 “哈利・波特” 系列导演克里斯・哥伦布执导,海伦・米伦、皮尔斯・布鲁斯南等戏骨领衔的作...