基于mui和php实现一个乡土文化教学系统

简介: 基于mui和php实现一个乡土文化教学系统

1. mui简介


mui的官网定义是:一款最接近原生APP体验的高性能前端框架。

性能和体验的差距,一直困扰着开发者使用HTML5来开发移动端。一方面,浏览器天生的切页白屏、不忍直视的转页动画、浮动元素的抖动、无法流畅下拉刷新等问题, 另一方面,浏览器默认控件样式又少又丑,制作一个漂亮的控件非常麻烦,也有一些制作简单的ui框架但性能低下。

mui框架有效地解决了这些问题,它能够很方便快速的开发APP,也是目前最接近原生App效果的框架,相比于iOS/Android等开发上手非常容易。

mui提供了很多UI组件,如折叠面板、图片轮播、按钮等,可以很方便地使用组件进行开发。详细见mui官方文档。


2.mui实现底部导航栏


2.1 实现效果


点击哪个选项卡,对应的选项卡就激活,其余的变为未激活状态,并且切换到对应的页面。



2.2 实现代码


html部分


mui的底部标签栏代码,可以自定义选项卡的图标和文字。

<nav class="mui-bar mui-bar-tab" style="height:53px;">
    <a class="mui-tab-item mui-active">
        <span class="mui-icon iconfont icon-iconindexsel" style="font-size:32px;margin-left: -9px;"></span>
        <span class="mui-tab-label" style="font-size:10px;margin-bottom: 1px;">首页</span>
    </a>
    <a class="mui-tab-item">
        <span class="mui-icon iconfont icon-compass-discover-fill" style="font-size:32px;margin-left: -9px;"></span>
        <span class="mui-tab-label" style="font-size:10px;margin-bottom: 1px;">发现</span>
    </a>
    <a class="mui-tab-item">
       <img id="study_icon" src="images/study-grey.png" width="40px">
    </a>
    <a class="mui-tab-item">
        <span class="mui-icon iconfont icon-discoveryfill" style="font-size:30px;margin-left: -6px;"></span>
        <span class="mui-tab-label" style="font-size:10px;margin-bottom: 1px;">活动</span>
    </a>
  <a class="mui-tab-item">
      <span class="mui-icon iconfont icon-muying" style="font-size:32px;margin-left: -7px;"></span>
      <span class="mui-tab-label" style="font-size:10px;margin-bottom: 1px;">我的</span>
  </a>
</nav>


js部分

js控制页面切换,把底部选项卡对应的页面都配置在自己需要的地方,这里都放在了html文件夹下

mui.init();
mui.plusReady(function(){
  var pages = ["html/index.html","html/discovery.html","html/study.html","html/activity.html","html/me.html"];
  var arr = document.getElementsByClassName("mui-tab-item")
  var styles = {
    top:"82px",//修改subview的显示范围
    bottom:"53px"
  }
  var pageArr = [];
  var slef = plus.webview.currentWebview();
  var icon=document.getElementById("study_icon");
  for(var i=0; i<arr.length; i++){
    // 有几个选项卡,需要创建几个子页面
    var page = plus.webview.create(pages[i],pages[i],styles);
    pageArr.push(page);
    !function(i){
      arr[i].addEventListener("tap",function(){
        // 让当前页面(i)显示,不是当前页面隐藏
        for(var j=0; j<pageArr.length; j++){
          if(j!=i) pageArr[j].hide();
          else pageArr[j].show();
        }
        /* 让新创建的webview,追加合并到当前的窗口上。合并成一个窗口。
         * 目的:将父子窗口合并成一个页面,实现同开同关的效果。 避免点击返回安监室,子页面先关闭,而父页面的头部和尾部没有关闭的BUG。
         */
        slef.append(pageArr[i]);
        //根据页面来改变study图标
        if(i==2){
          icon.src="images/study.png";
        }else{
          icon.src="images/study-grey.png";
        }
        //根据页面来变化header
        if(i==3){
          normal.style.display="none";
          discovery.style.display="block";
          me.style.display="none";
        }
        else if(i==4){
          normal.style.display="none";
          discovery.style.display="none";
          me.style.display="block";
        }
        else{
          normal.style.display="block";
          discovery.style.display="none";
          me.style.display="none";
        }
      })
    }(i);
  }
  // 默认触发第0个选项卡的tap事件。
  mui.trigger(arr[0],"tap");
});

css部分

css代码,控制底部选项卡样式

.mui-bar-tab .mui-tab-item.mui-active { /*底部菜单栏点击颜色*/
    color: #39d5e3;
}
body{       /*调节底部菜单栏图标位置*/ 
  line-height: 19px;
}
.mui-bar {    /*底部菜单栏和顶部栏颜色*/
    position: fixed;
    z-index: 10;
    right: 0;
    left: 0;
    height: 82px;/*修改上下导航栏的高度,但是实际显示的部分是没有被sunview遮住的部分*/
    padding-right: 10px;
    padding-left: 10px;
    border-bottom: 0;
    background-color: #ffffff;
    -webkit-box-shadow: 0 0 1px rgba(0,0,0,.85);
    box-shadow: 0 0 0px rgba(0,0,0,.85);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}


3. 乡土文化教学系统的实现


3.1 学生移动端

移动端部分采用mui框架来开发完成,主要有首页、发现、学习、活动等模块。


首页



个人中心模块




活动模块




发现模块




3.2 后端管理系统


后台管理部分使用fastadmin来完成,这是一个基于thinkphp和bootstrap的后台开发框架。


登录


教师管理和学生管理


主要是管理老师和学生的个人信息,可以进行人员的增删改查。




活动管理模块


用于发布和管理活动,发布活动后就可以在移动端进行展示。




相关文章
|
20天前
|
存储 安全 PHP
PHP中实现简单身份验证系统的步骤
【8月更文挑战第31天】在构建Web应用程序时,确保用户身份的合法性和数据的安全性是至关重要的。本文将引导你通过使用PHP语言来实现一个简单的身份验证系统,从数据库设计到前端登录界面的创建,再到后端逻辑的处理,我们将一步步地走过整个流程。无论你是PHP新手还是希望复习相关知识,这篇文章都将为你提供清晰的指导和实用的代码示例。
|
29天前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
37 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
1月前
|
安全 BI PHP
php前后端分离,仓储模式r的医院不良事件上报系统源码
此医院安全不良事件管理系统采用前后端分离架构(PHP+Laravel8+Vue2+Element),实现事件上报至解决的全流程管理。系统支持结构化上报、数据自动引用、智能流程及预警,配备质控分析工具生成各类报表。通过PDCA闭环管理,确保事件得到有效处置并预防再发,同时提供便捷上报通道,优化上报效率。
php前后端分离,仓储模式r的医院不良事件上报系统源码
|
1月前
|
SQL 安全 API
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
53 4
|
1月前
|
前端开发 测试技术 API
品读:PHP搭建cn2you逆向海淘代购系统攻略
搭建CN2YOU淘宝代购集运系统需经过细致规划与实施。首先,通过市场调研明确目标市场和服务定位;随后规划核心功能与技术选型,确保系统可扩展性。集成电商平台API实现商品信息同步,并构建安全的用户注册、登录体系。实现购物车、订单管理和支付接口集成,支持多种支付方式。整合物流合作伙伴,提供物流跟踪服务。优化用户体验,支持多语言,并通过社交媒体营销提升品牌曝光。最后,进行系统测试与维护,确保稳定运行。
|
22天前
|
前端开发 关系型数据库 MySQL
最新黑名单查询录入系统PHP网站源码
最新黑名单查询录入系统PHP网站源码 前端html 后端layui 操作部分都采用API接口的方式实线 集结了layui表格的多数据操作,添加,批量删除,分页,单项删除 后台数据修改采用绑定参数的形式来进行修改可以很好的预防数据库注入,当然如果你想要测试这个防注入的你也可以尝试一下 PHP版本70+ 数据库Mysql 5.6 上传程序访问 http://你的域名/install 安装
45 0
|
1月前
|
关系型数据库 Linux 网络安全
"Linux系统实战:从零开始部署Apache+PHP Web项目,轻松搭建您的在线应用"
【8月更文挑战第9天】Linux作为服务器操作系统,凭借其稳定性和安全性成为部署Web项目的优选平台。本文以Apache Web服务器和PHP项目为例,介绍部署流程。首先,通过包管理器安装Apache与PHP;接着创建项目目录,并上传项目文件至该目录;根据需要配置Apache虚拟主机;最后重启Apache服务并测试项目。确保防火墙允许HTTP流量,正确配置数据库连接,并定期更新系统以维持安全。随着项目复杂度提升,进一步学习高级配置将变得必要。
82 0
|
2月前
|
小程序 PHP
全新UI自助图文打印系统小程序源码 PHP后端 附教程
全新UI自助图文打印系统小程序源码 PHP后端 附教程
175 2
|
2月前
|
移动开发 前端开发 应用服务中间件
挂售转卖竞拍商城系统源码/竞拍系统/转拍闪拍系统/后端PHP+前端UNiapp源码
挂售转卖竞拍商城系统源码/竞拍系统/转拍闪拍系统/后端PHP+前端UNiapp源码 亲测可用
73 1
|
3月前
|
PHP
PHP微信公众号投票活动系统源码
PHP微信公众号投票活动系统源码
151 11