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


登录


教师管理和学生管理


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




活动管理模块


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




相关文章
|
21天前
|
前端开发 关系型数据库 MySQL
PHP外链网盘系统网站源码
> 本文将详细介绍如何从零构建一个基于PHP和MySQL的文件管理系统,分解项目代码并剖析每个模块的功能。我们将以`index.php`、`config.php`和`api.php`这三个核心文件为例,详细展示如何设计文件列表、数据库配置和文件上传接口,从而实现一个完整的文件管理系统。该文章可以作为学术研究和代码实现的参考。
149 98
|
5天前
|
API PHP
2025宝塔API一键建站系统PHP源码
2025宝塔API一键建站系统PHP源码
113 88
|
17天前
|
关系型数据库 MySQL PHP
免登录游客卡密发放系统PHP网站源码
这是一个简单易用的卡密验证系统,主要功能包括: 卡密管理和验证,多模板支持,响应式设计,验证码保护,防刷机制,简洁的用户界面, 支持自定义模板,移动端优化,安全性保护,易于部署和维护。
139 77
|
1月前
|
Linux PHP 数据安全/隐私保护
2024授权加密系统PHP网站源码
2024授权加密系统PHP网站源码
115 58
|
1月前
|
前端开发 PHP 数据安全/隐私保护
知识付费系统源码 PHP
在数字经济背景下,知识付费成为新兴领域,尤其在线教育平台的兴起,使更多教育者通过知识付费系统销售课程,实现数字化转型与收入提升。开发此类平台需考虑众多技术细节和业务需求,如使用PHP语言实现支付功能,确保安全性、性能和可扩展性,选择合适的技术方案至关重要。
56 4
知识付费系统源码 PHP
|
25天前
|
移动开发 小程序 前端开发
使用php开发圈子系统特点,如何获取圈子系统源码,社交圈子运营以及圈子系统的功能特点,圈子系统,允许二开,免费源码,APP 小程序 H5
开发一个圈子系统(也称为社交网络或社群系统)可以是一个复杂但非常有趣的项目。以下是一些关键特点和步骤,帮助你理解如何开发、获取源码以及运营一个圈子系统。
115 3
|
5月前
|
存储 安全 PHP
PHP中实现简单身份验证系统的步骤
【8月更文挑战第31天】在构建Web应用程序时,确保用户身份的合法性和数据的安全性是至关重要的。本文将引导你通过使用PHP语言来实现一个简单的身份验证系统,从数据库设计到前端登录界面的创建,再到后端逻辑的处理,我们将一步步地走过整个流程。无论你是PHP新手还是希望复习相关知识,这篇文章都将为你提供清晰的指导和实用的代码示例。
|
2月前
|
关系型数据库 MySQL PHP
骗子曝光系统网站PHP源码
骗子曝光系统网站PHP源码 PHP 7.0+ Mysql 5.6+ 上传访问域名/install安装
67 2
|
2月前
|
JavaScript PHP 数据安全/隐私保护
乞丐在线要饭系统PHP网站源码
在这个物欲横流、竞争激烈的时代,有时候我们真心觉得钱来得太不容易,甚至连最基本的生存都成了负担。于是,我们想出了一个特别“独特”的点子:用利息砸我,给我点施舍!
86 1
ly~
|
3月前
|
存储 安全 前端开发
php文件管理系统
PHP 文件管理系统是基于 PHP 开发的,用于管理文件和文件夹的应用。它支持文件上传、下载、浏览、搜索、编辑和删除,并提供权限管理和安全防护功能。适用于企业内部、网站和个人文件管理,确保文件的安全性、保密性和高效共享。
ly~
144 9