漏刻有时数据可视化大屏引导页设计(php原生开发、主背景图片更换、标题设置)

简介: 漏刻有时数据可视化大屏引导页设计(php原生开发、主背景图片更换、标题设置)

在制作数据可视化大屏时,尤其是在触摸屏演示时,需要开发和设计对应的数据大屏引导页。基于常见场景,单独开发数据大屏引导页。

  1. 前端可自行配置大屏引导页背景图、标题信息;
  2. 前端可自行引导菜单(根据大屏的特殊要求,案例菜单最多6个,最少1个);
  3. 基于php原生代码开发,未使用任何模版引擎;
  4. 适合于菜鸟入门使用;


1.引入外部js库

项目使用到layui.js的图标和弹窗功能,因此作为常备js库引入页面;其他都外部文件为项目自定义文件。

 <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/functions.js"></script>
    <!--layui封装库-->
    <script src="js/layui/layui.js" charset="utf-8"></script>
    <link rel="stylesheet" href="js/layui/css/layui.css">
    <!--核心样式表-->
    <link rel="stylesheet" href="css/common.css">

2.HTML排版

  • 为实现大屏背景的自行配置,body的背景css直接写在了页面中,通过style="background: #0a0d26 url('./images/mainbg1.jpg')进行代码的切换。
<body style="background: #0a0d26 url('./images/mainbg1.jpg') no-repeat top center; ">
<div class="panel">
    <div class="title">
        <p>科为数据可视化服务中心</p>
        <p>Kewei Data Visualization Service Center</p>
    </div>
    <div class="guid_menu">
                                <a href="https://www.baidu.com/"><div class="subMenu sub_bg1">
                <p><i class="layui-icon layui-icon-website"></i></p>
                <p>数据中心</p>
                <p>Kewei Service</p>
            </div></a>
                                <a href="https://www.baidu.com/"><div class="subMenu sub_bg2">
                <p><i class="layui-icon layui-icon-upload-drag"></i></p>
                <p>用户中心</p>
                <p>Kewei Service</p>
            </div></a>
                                <a href="https://www.baidu.com/"><div class="subMenu sub_bg3">
                <p><i class="layui-icon layui-icon-user"></i></p>
                <p>后台管理</p>
                <p>Kewei Service</p>
            </div></a>
                                <a href="https://www.baidu.com/"><div class="subMenu sub_bg4">
                <p><i class="layui-icon layui-icon-set"></i></p>
                <p>服务支持</p>
                <p>Kewei Service</p>
            </div></a>
                                <a href="https://www.baidu.com/"><div class="subMenu sub_bg5">
                <p><i class="layui-icon layui-icon-app"></i></p>
                <p>产品概况</p>
                <p>Kewei Service</p>
            </div></a>
                                <a href="https://www.baidu.com/"><div class="subMenu sub_bg6">
                <p><i class="layui-icon layui-icon-tabs"></i></p>
                <p>城市管理</p>
                <p>Kewei Service</p>
            </div></a>
            </div>
</div>


3.项目配置文件

项目配置文件位置:conf/config.php。初始代码如下,可以通过表单进行全局更新。

<?php return [
    'sys_title' => '数据可视化服务中心',
    'sys_title_en' => 'Data Visualization Service Center',
    'sys_bg_img' => './images/mainbg3.jpg',
    'links' => [
        ['title' => '数据中心', 'links' => 'http://www.baidu.com/'],
        ['title' => '用户中心', 'links' => 'http://www.baidu.com/'],
        ['title' => '后台管理', 'links' => 'http://www.baidu.com/'],
        ['title' => '服务支持', 'links' => 'http://www.baidu.com/'],
        ['title' => '产品概况', 'links' => 'http://www.baidu.com/'],
        ['title' => '智慧城市', 'links' => 'http://www.baidu.com/']
    ]
];


4.菜单图标自动匹配

通过循环配置文件conf/config.php中’links’数据,来判断不同菜单的坐标显示方式。

function getIcon($num)
{
    switch ($num) {
        case 1:
            echo 'layui-icon-website';
            break;
        case 2:
            echo 'layui-icon-upload-drag';
            break;
        case 3:
            echo 'layui-icon-user';
            break;
        case 4:
            echo 'layui-icon-set';
            break;
        case 5:
            echo 'layui-icon-app';
            break;
        case 6:
            echo 'layui-icon-tabs';
            break;
        default:
            echo 'layui-icon-website';
    }
}


5.php与html混排

示例代码为生产环境下,php和 html共同作用展示项目内容。

<body style="background: #0a0d26 url('<?php echo $DATA['sys_bg_img'] ?>') no-repeat top center; ">
<div class="panel">
    <div class="title">
        <p><?php echo $DATA['sys_title'] ?></p>
        <p><?php echo $DATA['sys_title_en'] ?></p>
    </div>
    <div class="guid_menu">
        <?php for ($i = 0; $i < count($DATA['links']); $i++) { ?>
            <?php if ($DATA['links'][$i]['title'] !="" && $DATA['links'][$i]['links'] !="") {?>
            <a href="<?php echo $DATA['links'][$i]['links'] ?>"><div class="subMenu sub_bg<?php echo ($i + 1) ?>">
                <p><i class="layui-icon <?php getIcon(($i + 1)) ?>"></i></p>
                <p><?php echo $DATA['links'][$i]['title'] ?></p>
                <p>Kewei Service</p>
            </div></a>
        <?php }} ?>
    </div>
    <div class="copyright"><p><span onclick="getZoomUrl('导航链接', 'links.php', '', '', '')"><i class="layui-icon layui-icon-component"></i> </span>  备案号:<a href="https://beian.miit.gov.cn/" target="_blank">粤ICP备2022021238号-2</a> </p></div>
</div>


6.CSS样式表

主要是导航菜单的CSS

/*导航菜单*/
.guid_menu {
    text-align: center;
    margin: 5% 0 10% 0;
    width: 100%;
}
.subMenu {
    display: inline-block;
    color: #fff;
    text-align: center;
    padding: 2%;
    margin: 0 1%;
    border-radius: 5%;
}
.sub_bg1 {
    background-image: linear-gradient(-120deg, #c8d138, #51933b);
}
.sub_bg2 {
    background-image: linear-gradient(-120deg, #31c9a3, #107392);
}
.sub_bg3 {
    background-image: linear-gradient(-120deg, #4ccaf3, #326eea);
}
.sub_bg4 {
    background-image: linear-gradient(-120deg, #4a8fea, #1749bc);
}
.sub_bg5 {
    background-image: linear-gradient(-120deg, #5451e8, #611eb9);
}
.sub_bg6 {
    background-image: linear-gradient(-120deg, #bb3a8c, #ba6e3d);
}
.subMenu:hover {
    background: #cc0058;
    cursor: pointer;
}
.subMenu > p {
    margin: 8px 0;
    font-family: "宋体";
}
.subMenu > p:first-child > i {
    font-size: 26px;
}
.subMenu > p:nth-child(2) {
    font-size: 18px;
    font-weight: bold;
}
.subMenu > p:nth-child(3) {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.5);
    font-family: "Arial";
}


7.添加/编辑信息

<div class="layui-fluid" style="margin-top: 20px;">
    <form class="layui-form layui-form-pane" lay-filter="component-form-group">
        <div class="layui-card">
            <div class="layui-card-header" style="font-weight: bold;text-align: center;">导航链接配置</div>
            <div class="layui-card-body" style="padding: 15px;">
                <div class="layui-form-item">
                    <label class="layui-form-label">系统标题<span class="x-red">*</span></label>
                    <div class="layui-input-inline"><input type="text" id="sys_title" name="sys_title" autocomplete="off" lay-verify="required" class="layui-input" value="科为数据可视化服务中心"></div>
                    <label class="layui-form-label">英文标题<span class="x-red">*</span></label>
                    <div class="layui-input-inline"><input type="text" id="sys_title_en" name="sys_title_en" autocomplete="off" lay-verify="required" class="layui-input" value="Kewei Data Visualization Service Center"></div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">背景图片<span class="x-red">*</span></label>
                    <div class="layui-input-inline">
                        <select name="sys_bg_img" id="sys_bg_img" class="layui-select">
                            <option value="./images/mainbg1.jpg" selected>mainbg1.jpg</option>
                            <option value="./images/mainbg2.jpg" >mainbg2.jpg</option>
                            <option value="./images/mainbg3.jpg" >mainbg3.jpg</option>
                        </select>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">链接名称1<span class="x-red">*</span></label>
                    <div class="layui-input-inline"><input type="text" id="title1" name="title1" autocomplete="off" lay-verify="required" class="layui-input" value="数据中心"></div>
                    <label class="layui-form-label">链接地址1<span class="x-red">*</span></label>
                    <div class="layui-input-inline"><input type="text" id="links1" name="links1" autocomplete="off" lay-verify="required" class="layui-input" value="https://www.baidu.com/"></div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">链接名称2</label>
                    <div class="layui-input-inline"><input type="text" id="title2" name="title2" autocomplete="off" class="layui-input" value="用户中心"></div>
                    <label class="layui-form-label">链接地址2</label>
                    <div class="layui-input-inline"><input type="text" id="links2" name="links2" autocomplete="off" class="layui-input" value="https://www.baidu.com/"></div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">链接名称3</label>
                    <div class="layui-input-inline"><input type="text" id="title3" name="title3" autocomplete="off" class="layui-input" value="后台管理"></div>
                    <label class="layui-form-label">链接地址3</label>
                    <div class="layui-input-inline"><input type="text" id="links3" name="links3" autocomplete="off" class="layui-input" value="https://www.baidu.com/"></div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">链接名称4</label>
                    <div class="layui-input-inline"><input type="text" id="title4" name="title4" autocomplete="off" class="layui-input" value="服务支持"></div>
                    <label class="layui-form-label">链接地址4</label>
                    <div class="layui-input-inline"><input type="text" id="links4" name="links4" autocomplete="off" class="layui-input" value="https://www.baidu.com/"></div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">链接名称5</label>
                    <div class="layui-input-inline"><input type="text" id="title5" name="title5" autocomplete="off" class="layui-input" value="产品概况"></div>
                    <label class="layui-form-label">链接地址5</label>
                    <div class="layui-input-inline"><input type="text" id="links5" name="links5" autocomplete="off" class="layui-input" value="https://www.baidu.com/"></div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">链接名称6</label>
                    <div class="layui-input-inline"><input type="text" id="title6" name="title6" autocomplete="off" class="layui-input" value="城市管理"></div>
                    <label class="layui-form-label">链接地址6</label>
                    <div class="layui-input-inline"><input type="text" id="links6" name="links6" autocomplete="off" class="layui-input" value="https://www.baidu.com/"></div>
                </div>
                <div class="layui-form-item">
                    <a class="layui-btn layui-btn-fluid layui-btn-normal" lay-filter="save" id="L_add" lay-submit=""><i class="layui-icon layui-icon-search"></i> 确定配置 </a>
                </div>
            </div>
        </div>
    </form>
</div>


8.生成配置文件

$act = $_GET['act'];
if ($act == "annual") {
    $sys_title = $_POST['sys_title'];
    $sys_title_en = $_POST['sys_title_en'];
    $sys_bg_img = $_POST['sys_bg_img'];
    $title1 = $_POST['title1'];
    $links1 = $_POST['links1'];
    $title2 = $_POST['title2'];
    $links2 = $_POST['links2'];
    $title3 = $_POST['title3'];
    $links3 = $_POST['links3'];
    $title4 = $_POST['title4'];
    $links4 = $_POST['links4'];
    $title5 = $_POST['title5'];
    $links5 = $_POST['links5'];
    $title6 = $_POST['title6'];
    $links6 = $_POST['links6'];
    //生成数据分表的配置文件config.sys.php
    $config_table = "<?php return [
    'sys_title' => '" . $sys_title . "',
    'sys_title_en' => '" . $sys_title_en . "',
    'sys_bg_img' => '" . $sys_bg_img . "',
    'links' => [
        ['title' => '" . $title1 . "','links' =>'" . $links1 . "'],
        ['title' => '" . $title2 . "','links' =>'" . $links2 . "'],
        ['title' => '" . $title3 . "','links' =>'" . $links3 . "'],
        ['title' => '" . $title4 . "','links' =>'" . $links4 . "'],
        ['title' => '" . $title5 . "','links' =>'" . $links5 . "'],
        ['title' => '" . $title6 . "','links' =>'" . $links6 . "']
        ]
    ];";
    //对应文件夹具备权限;
    @file_put_contents('conf/config.php', $config_table);
    $res['code'] = 1;
    $res['msg'] = "配置成功";
    die(json_encode($res));


@漏刻有时

相关文章
|
18天前
|
数据采集 存储 缓存
PHP爬虫的使用与开发
本文深入探讨了PHP爬虫的使用与开发,涵盖基本原理、关键技术、开发实践及优化策略。从发送HTTP请求、解析HTML到数据存储,再到处理反爬机制,全面指导读者构建高效可靠的爬虫程序。
37 3
ly~
|
3月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
86 6
|
3月前
|
设计模式 算法 数据库连接
PHP中的设计模式:提高代码的可维护性与扩展性本文旨在探讨PHP中常见的设计模式及其应用,帮助开发者编写出更加灵活、可维护和易于扩展的代码。通过深入浅出的解释和实例演示,我们将了解如何使用设计模式解决实际开发中的问题,并提升代码质量。
在软件开发过程中,设计模式是一套经过验证的解决方案模板,用于处理常见的软件设计问题。PHP作为流行的服务器端脚本语言,也有其特定的设计模式应用。本文将重点介绍几种PHP中常用的设计模式,包括单例模式、工厂模式和策略模式,并通过实际代码示例展示它们的具体用法。同时,我们还将讨论如何在实际项目中合理选择和应用这些设计模式,以提升代码的可维护性和扩展性。
70 4
|
11天前
|
移动开发 小程序 PHP
校园圈子论坛系统采取的PHP语音和uni账号开发的小程序APP公众号H5是否只需要4800元?是的,就是只需要4800元
关于校园圈子论坛系统采用PHP语言和uni-app开发的小程序、APP、公众号和H5是否仅需4800元这个问题,实际上很难给出一个确定的答案。这个价格可能受到多种因素的影响
47 8
|
1月前
|
XML JSON API
【PHP开发专栏】PHP RESTful API设计与开发
随着互联网技术的发展,前后端分离成为Web开发的主流模式。本文介绍RESTful API的基本概念、设计原则及在PHP中的实现方法。RESTful API是一种轻量级、无状态的接口设计风格,通过HTTP方法(GET、POST、PUT、DELETE)操作资源,使用JSON或XML格式传输数据。在PHP中,通过定义路由、创建控制器、处理HTTP请求和响应等步骤实现RESTful API,并强调了安全性的重要性。
33 2
|
1月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
2月前
|
SQL 关系型数据库 MySQL
PHP与MySQL协同工作的艺术:开发高效动态网站
在这个后端技术迅速迭代的时代,PHP和MySQL的组合仍然是创建动态网站和应用的主流选择之一。本文将带领读者深入理解PHP后端逻辑与MySQL数据库之间的协同工作方式,包括数据的检索、插入、更新和删除操作。文章将通过一系列实用的示例和最佳实践,揭示如何充分利用这两种技术的优势,构建高效、安全且易于维护的动态网站。
|
2月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
53 3
|
3月前
|
Web App开发 PHP iOS开发
易优CMS PHP原生标签调用
这段代码实现了一个自动化工具,用于从指定的漫画网站下载章节内容,并将其转换为PDF格式。它首先通过用户输入的链接获取网页信息,然后根据用户的选择下载整个章节或特定章节的图片,并保存到本地文件夹中。下载完成后,工具会将这些图片合并成一个PDF文件,并添加书签以便于浏览。此外,代码还包含了异常处理机制,确保在网络不稳定时能够重试下载。
39 4
|
5月前
|
安全 IDE 编译器
深入理解PHP 7的新特性及其对现代Web开发的影响
【7月更文挑战第30天】本文将深入探索PHP 7版本中引入的关键新特性,并分析这些改进如何优化现代Web开发实践。通过对比PHP 5和PHP 7的性能差异,我们将揭示PHP 7如何提升应用响应速度和资源利用效率。此外,本文还将讨论PHP 7对开发者工作流程的影响,包括新的语言特性、错误处理机制以及内置函数的增强,旨在为读者提供全面了解PHP 7所带来的变革性影响。