第一次用apicloud做正式项目 ,下面把做的过程中用到的代码段列出来。。。。都是从文档里复制的代码,只是感觉官网那个文档好难找哦。。。

注:api.????的方法都是在APP中调用才行的,$api.???方法是引入那个JS后就可以调用了
取普通文本框的值:var mobile = $api.val($api.byId('mobile'));
取单选框的值:var sex = $api.val($api.dom("input[name='sex']:checked"))
设置顶部header向下移:$api.fixStatusBar($api.dom('header')); (在自己手机上发现iphone7 ios11.2 是会把header向下移,不会盖着信号栏,header上下边距一样,但是在魅族mx2 android5.0.1 下还是会下移,信号栏本来不会盖着的,但是他下移后造成header上下边距不一样了)
判断用户是否登录需要用:
if($api.getStorage('userid') ==undefined ){
api.openWin({
name: 'login',
url: 'html/login.html'
});
}
而不能是
var userid = $api.getStorage('userid')
ifuserid==undefined){
...
}
AJAX调用前弹出加载中框框:
api.showProgress({
title: '努力加载中...',
text: '先喝杯茶...',
modal: true
});
AJAX调用:(注:AJAX调用的URL地址中不能有_, 要不然在安卓机子上会出问题,弄了一天了才发现这个BUG)
api.ajax({
url: url,
method: 'post',
data: {
values: postdata
}
},function(ret, err){
api.hideProgress();
if (ret) {
$api.setStorage('userid', ret.userid);
$api.setStorage('username', ret.username);
$api.setStorage('useremail', ret.useremail);
$api.setStorage('usermobile', ret.usermobile);
$api.setStorage('useralipay', ret.useralipay);
$api.setStorage('userweixin', ret.userweixin);
$api.setStorage('usersex', ret.usersex);
$api.setStorage('useridcard', ret.useridcard);
api.closeWin();
console.log("登录后返回的userid:"+ret.userid);
} else {
alert( JSON.stringify( err ) );
}
});
上拉加载和下拉刷新:
var pageindex = 1;
apiready = function() {
$api.fixStatusBar($api.dom('header'));
//上拉加载
api.addEventListener({
name: 'scrolltobottom',
extra: {
threshold: 0 //设置距离底部多少距离时触发,默认值为0,数字类型
}
}, function(ret, err) {
console.log("加载第" + (++pageindex) + "页");
});
//下拉刷新
api.setRefreshHeaderInfo({
loadingImg: 'widget://image/refresh.png',
bgColor: '#ccc',
textColor: '#fff',
textDown: '下拉刷新...',
textUp: '松开刷新...'
}, function(ret, err) {
//在这里从服务器加载数据,加载完成后调用api.refreshHeaderLoadDone()方法恢复组件到默认状态
api.refreshHeaderLoadDone();
});
}
顶部那个返回按钮对应的方法:
/**
*该方法用来返回页面
* **/
function comeBack() {
api.historyBack({}, function(ret, err) {
if (!ret.status) {
api.closeWin();
}
});
}

apicloud开发笔记的更多相关文章

  1. [开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】

    原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目 ...

  2. EasyUI 开发笔记(二)

    接上篇 :EasyUI 开发笔记(一)  (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...

  3. EasyUI 开发笔记(一)

    由于某些原因,在公司做的后台需要改成类似于Ext.js 形式的后台,主要看好其中的 框架布局,以及tab开页面和弹出式内部窗体. 后来看看,改成EasyUI,较Ext.js 库小很多,也便于公司的初级 ...

  4. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

  5. Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例

    引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...

  6. Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境

    引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...

  7. 开发笔记:基于EntityFramework.Extended用EF实现指定字段的更新

    今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)? 原先调 ...

  8. Lucene/Solr搜索引擎开发笔记 - 第1章 Solr安装与部署(Jetty篇)

    一.为何开博客写<Lucene/Solr搜索引擎开发笔记> 本人毕业于2011年,2011-2014的三年时间里,在深圳前50强企业工作,从事工业控制领域的机器视觉方向,主要使用语言为C/ ...

  9. [openwrt 项目开发笔记]: 传送门

    “Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台 ...

随机推荐

  1. oracle列自增实现(1)-Sequence+Trigger实现Oracle列自增

    Sequence+Trigger实现Oracle列自增 序列的语法格式为: CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE ...

  2. Oracle Data Integrator学习资料

    http://docs.oracle.com/middleware/1213/odi/index.html https://docs.oracle.com/middleware/1213/core/O ...

  3. Guava的Supplier实现单例

    1.函数式编程: 2.第一次get时才会初始化: 3.可以实现单例或缓存. package suppliers; import com.google.common.base.Supplier; imp ...

  4. C# 7 out variables, tuples & other new features

    C# 7 out variables, tuples & other new features C# 7 is available on new Visual Studio 2017 and ...

  5. RHEL SHELL快捷键

    Shell快捷键 CTRL+a  调到命令行头  e  调到命令行尾 CTRL+u  光标前面的删除  k  光标后面的删除 CTRL+→词的头   词的尾 ESC+.   粘贴上个命令的尾词 杀掉远 ...

  6. Android 控件进阶修炼-仿360手机卫士波浪球进度控件

    技术:Android+java   概述 像360卫士的波浪球进度的效果,一般最常用的方法就是 画线的方式,先绘sin线或贝塞尔曲线,然后从左到右绘制竖线,然后再裁剪圆区域. 今天我这用图片bitma ...

  7. ios中创建自己的框架

    如果你是IOS的新手,并有.net开发的背景(就像我一样),你可能到处去找,哪里有dll呢? 其实,IOS平台是使用框架而不是dll,框架里面包含公共头文件和二进制文件.很不幸,XCode并不支持你自 ...

  8. Golang 如何从socket读出所有数据

    第一种: func read(conn *net.Conn) error { defer conn.Close() buf := make([]byte, 0, 4096) len := 0 for ...

  9. django日志使用TimeRotateFileHandler

    如果使用django的settings.py设置日志会产生一些问题. 问题描述 报错信息如下: Traceback (most recent call last): File "C:\Pyt ...

  10. 【LeetCode】227. Basic Calculator II

    Basic Calculator II Implement a basic calculator to evaluate a simple expression string. The express ...