基于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的后台开发框架。


登录


教师管理和学生管理


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




活动管理模块


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




相关文章
|
3月前
|
存储 安全 PHP
PHP中实现简单身份验证系统的步骤
【8月更文挑战第31天】在构建Web应用程序时,确保用户身份的合法性和数据的安全性是至关重要的。本文将引导你通过使用PHP语言来实现一个简单的身份验证系统,从数据库设计到前端登录界面的创建,再到后端逻辑的处理,我们将一步步地走过整个流程。无论你是PHP新手还是希望复习相关知识,这篇文章都将为你提供清晰的指导和实用的代码示例。
|
19天前
|
JavaScript PHP 数据安全/隐私保护
乞丐在线要饭系统PHP网站源码
在这个物欲横流、竞争激烈的时代,有时候我们真心觉得钱来得太不容易,甚至连最基本的生存都成了负担。于是,我们想出了一个特别“独特”的点子:用利息砸我,给我点施舍!
48 1
ly~
|
1月前
|
存储 安全 前端开发
php文件管理系统
PHP 文件管理系统是基于 PHP 开发的,用于管理文件和文件夹的应用。它支持文件上传、下载、浏览、搜索、编辑和删除,并提供权限管理和安全防护功能。适用于企业内部、网站和个人文件管理,确保文件的安全性、保密性和高效共享。
ly~
32 9
ly~
|
1月前
|
存储 自然语言处理 前端开发
有哪些常见的 PHP 文件管理系统?
elFinder:开源Web文件管理器,支持文件的基本操作及拖放管理,具备多种文件预览、权限管理功能,适用于网站后台文件管理和共享主机环境。 FileRun:多语言、易用的文件管理工具,提供强大的搜索和版本控制功能,支持外部存储集成,适用于企业内部文件共享与协作。 KCFinder:轻量级PHP文件管理器,易于集成,支持文件上传下载限制,与富文本编辑器兼容,适用于博客系统和内容编辑场景。 AjaXplorer:基于Ajax技术的文件管理系统,提供流畅体验和插件扩展,支持文件分类和共享,适用于团队协作和灵活文件分享场景。
ly~
55 1
|
1月前
|
前端开发 JavaScript 小程序
前端uni开发后端用PHP的圈子系统该 如何做源码?
圈子系统系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包生成APP
|
1月前
|
前端开发 JavaScript PHP
Thinkphp在线客服系统源码多语言外贸版_PHP客服系统源码Uniapp开发搭建+论文设计
Thinkphp在线客服系统源码多语言外贸版_PHP客服系统源码Uniapp开发搭建+论文设计
|
3月前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
56 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
2月前
|
PHP Apache 数据库
PHP做二次开发:本机安装ThinkCMF系统
文章详细说明了如何在本地环境中从零开始安装并配置ThinkCMF系统,包括环境准备、源代码获取、虚拟域名设置及数据库配置等步骤。
|
3月前
|
安全 BI PHP
php前后端分离,仓储模式r的医院不良事件上报系统源码
此医院安全不良事件管理系统采用前后端分离架构(PHP+Laravel8+Vue2+Element),实现事件上报至解决的全流程管理。系统支持结构化上报、数据自动引用、智能流程及预警,配备质控分析工具生成各类报表。通过PDCA闭环管理,确保事件得到有效处置并预防再发,同时提供便捷上报通道,优化上报效率。
php前后端分离,仓储模式r的医院不良事件上报系统源码
|
3月前
|
SQL 安全 API
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
93 4