最近公司突然给我们下了一个任务  一个星期要做出一个系统网站 外加手机app   2个同事负责 web开发  我负责手机app 的开发

今天终于初级版本做完了,记录一下手机app踩过的坑与优化之路

用到技术 mui+vue.js+webApi

  首先是侧滑菜单栏   类似于qq侧滑

1 <!-- 主界面不动、菜单移动 -->
2 <!-- 侧滑导航根容器 -->
3 <div class="mui-off-canvas-wrap mui-draggable mui-slide-in">
4 <!-- 菜单容器 -->
5 <aside class="mui-off-canvas-left" id="offCanvasSide">
6 <div class="mui-scroll-wrapper">
7 <div class="mui-scroll">
8 <!-- 菜单具体展示内容 -->
9
10 </div>
11 </div>
12 </aside>
13 <!-- 主页面容器 -->
14 <div class="mui-inner-wrap">
15 <!-- 主页面标题 -->
16 <header class="mui-bar mui-bar-nav">
17 <a class="mui-icon mui-action-menu mui-icon-bars mui-pull-left" href="#offCanvasSide"></a>
18 <h1 class="mui-title">标题</h1>
19 </header>
20 <nav class="mui-bar mui-bar-tab">
21 <a class="mui-tab-item mui-active">
22 <span class="mui-icon mui-icon-home"></span>
23 <span class="mui-tab-label">首页</span>
24 </a>
25 <a class="mui-tab-item">
26 <span class="mui-icon mui-icon-phone"></span>
27 <span class="mui-tab-label">电话</span>
28 </a>
29 <a class="mui-tab-item">
30 <span class="mui-icon mui-icon-email"></span>
31 <span class="mui-tab-label">邮件</span>
32 </a>
33 <a class="mui-tab-item">
34 <span class="mui-icon mui-icon-gear"></span>
35 <span class="mui-tab-label">设置</span>
36 </a>
37 </nav>
38 <div class="mui-content mui-scroll-wrapper">
39 <div class="mui-scroll">
40 <!-- 主界面具体展示内容 -->
41
42 </div>
43 </div>
44 <div class="mui-off-canvas-backdrop"></div>
45 </div>
46 </div>
快捷键 moff

第二个底部菜单 webview模式 

<!--描述:底部导航-->
<nav class="mui-bar mui-bar-tab">
<template v-for="(tab,index) in navTabs">
<a class="mui-tab-item" :class="index==tabIndex?'mui-active':''" @tap="showView(index,tab)">
<span class="mui-icon " :class="index==tabIndex?tab.iconActive:tab.icon"></span>
<span class="mui-tab-label">{{tab.name}}</span>
</a>
</template>
</nav>
 //选项卡页面对象
var barItemArray = [{
id: 'material',
name: '材料',
url: '../../water/material/index.html',
tips: 0,
icon: 'icon-cailiao',
iconActive:'icon-cailiaoActive'
},
{
id: 'parts',
name: '部件',
url: '../../water/parts/index.html',
tips: 0,
icon: 'icon-bujian',
iconActive:'icon-bujianActive'
},
{
id: 'production',
name: '生产作业',
url: '../../water/production/index.html',
tips: 0,
icon: 'icon-zuoye',
iconActive:'icon-zuoyeActive'
},
{
id: 'inspection',
name: '检验',
url: '../../water/inspection/index.html',
tips: 0,
icon: 'icon-jianyan',
iconActive:'icon-jianyanActive'
}
];
_selfView = plus.webview.currentWebview()
/*设置导航条的高度*/
var style1 = {
popGesture: 'none',
top: 20,
bottom: 0
};
var params = {
projectId: _selfView.projectId,
projTypeId: _selfView.projTypeId,
} _selfView.setStyle(style1);
for(var i in barItemArray) {
var sub = null;
var bar = barItemArray[i];
if(mui.os.ios) { //兼容ios
//创建新的webview页面
sub = plus.webview.create(barItemArray[i].url,
barItemArray[i].id,
style1,
params);
} else if(mui.os.android) {//兼容android
//创建新的webview页面
sub = plus.webview.create(barItemArray[i].url,
barItemArray[i].id, {
top: '44px',
bottom: '65px',
bounce: 'vertical',
},
params);
plus.webview.hide(barItemArray[i].id);
}
if(sub) {
_selfView.append(sub);
} }
//默认显示第一个页面
plus.webview.show(barItemArray[0].id);

下拉刷新  ios 和android 也有差异

 

 if(mui.os.android) { //如果是安卓 下拉刷新
_selfView.setPullToRefresh({
support: true,
height: '50px',
range: '100px',
style: 'circle',
offset: '1px'
}, loadDownData);
}
if(mui.os.android) { //如果是安卓
//结束刷新
_selfView.endPullToRefresh();
}

 

webAPP踩坑记录的更多相关文章

  1. unionId突然不能获取的踩坑记录

    昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...

  2. webapp填坑记录[更新中]

    网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...

  3. CentOS7.4安装MySQL踩坑记录

    CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...

  4. ubuntu 下安装docker 踩坑记录

    ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...

  5. SpringBoot + Shiro + shiro.ini 的踩坑记录

    0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业 ...

  6. 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密

    你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...

  7. google nmt 实验踩坑记录

       最近因为要做一个title压缩的任务,所以调研了一些text summary的方法.    text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word o ...

  8. ABP框架踩坑记录

    ABP框架踩坑记录 ASP.NET Boilerplate是一个专用于现代Web应用程序的通用应用程序框架. 它使用了你已经熟悉的工具,并根据它们实现最佳实践. 文章目录 使用MySQL 配置User ...

  9. SpringBoot+SpringSecurity+Thymeleaf认证失败返回错误信息踩坑记录

    Spring boot +Spring Security + Thymeleaf认证失败返回错误信息踩坑记录 步入8102年,现在企业开发追求快速,Springboot以多种优秀特性引领潮流,在众多使 ...

随机推荐

  1. [转载] 《Hadoop基础教程》之初识Hadoop

    转载自http://blessht.iteye.com/blog/2095675 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用 ...

  2. 插入排序-Python与PHP实现版

    插入排序Python实现 import random a=[random.randint(1,999) for x in range(0,36)] # 直接插入排序算法 def insertionSo ...

  3. swizzle method 和消息转发机制的实际使用

    我的工程结构,如图 1-0 图  1-0 在看具体实现以前,先捋以下 实现思路. ViewController 中有一个-(void)Amethod;A方法. -(void)Amethod{ NSLo ...

  4. TFboy养成记 tf.cast,tf.argmax,tf.reduce_sum

    referrence: 莫烦视频 先介绍几个函数 1.tf.cast() 英文解释: 也就是说cast的直译,类似于映射,映射到一个你制定的类型. 2.tf.argmax 原型: 含义:返回最大值所在 ...

  5. 从MVC到Ajax再到前后端分离的思考

    前言 一位小妹去面试前端,前端leader问了"什么是ajax?",答:"接收后台的数据,然后然后自己填充和渲染样式":一位小哥去面试后台,技术经理问了&quo ...

  6. 纯Socket(BIO)长链接编程的常见的坑和填坑套路

    本文章纯属个人经验总结,伪代码也是写文章的时候顺便白板编码的,可能有逻辑问题,请帮忙指正,谢谢. Internet(全球互联网)是无数台机器基于TCP/IP协议族相互通信产生的.TCP/IP协议族分了 ...

  7. RAC环境下误操作将数据文件添加到本地存储

    今天碰到个有意思的事情,有客户在Oracle RAC环境,误操作将新增的数据文件直接创建到了其中一个节点的本地存储上. 发现网上去搜的话这种问题还真不少,对应解决方案也各式各样,客户问我选择哪种方案可 ...

  8. Android-DataBinding入门1

    1.需要开启DataBinding功能: 在build.gradle配置: android{ dataBinding{ enabled = true } } 2.布局 布局中,根节点要以layout开 ...

  9. mysql常用的操作

    数据库的常用操作:create database db1; #创建数据库show databases; #查看所有数据库show create database db1;#查看创建的指定数据库alte ...

  10. epoll 惊群处理

    #include <sys/types.h> #include <sys/socket.h> #include <sys/epoll.h> #include < ...