网络最火的O2O应用,价值100亿美刀的滴滴拉屎APP源码。
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
css add code Mar 16, 2015
html side panel support panleft gesture Aug 25, 2015
icon add code Mar 16, 2015
image add side nav Mar 18, 2015
launch add code Mar 16, 2015
res update some functions Mar 28, 2015
script side panel support panleft gesture Aug 25, 2015
README.md improve readme Mar 19, 2015
config.xml add side nav Mar 18, 2015
didi-android.png update qrcode Mar 28, 2015
didi-ios.png update qrcode Mar 28, 2015
index.html add side nav Mar 18, 2015

README.md

#didiShit

网络最火的O2O应用,价值100亿美刀的滴滴拉屎APP源码。 相关新闻:滴滴拉屎 逆天App未出先火

本应用基于 APICloud 平台开发,本地运行及调试代码需要安装 APICloud IDE,API 可参考 相关开发文档,自己修改后的代码,需要到 APICloud 平台注册,并按步骤完成云编译,才能生成安卓、iOS 双平台应用。

#开发准备

#API 简介

简单介绍下本应用涉及的一些常用 API。

APICloud 应用特色之一:支持多窗口(每个页面是独立的 webview),跟单页 webApp 对应

结构关系:

APP > Window > Frame

等待 api 对象加载完毕

apiready = function(){}

打开全屏的 Window 窗口

api.openWin({
    name: 'dropping',   //窗口名字
    animation: {    //窗口切换动画
        type: 'movein',
        subType: 'from_right'
    },
    url: './html/win_dropping.html'     //窗口url
});

关闭 Window

api.closeWin()

打开随意大小的 Frame 窗口

api.openFrame({
    name: 'main',   //子窗口名字
    url: 'html/main.html',  //子窗口url
    bounces: false,     //禁止窗口弹动效果
    opaque: true,   //不透明
    bgColor: '#fff',    //窗口背景
    pageParam: {    //窗口间传参数,打开的窗口用 api.pageParam.headerH 接收
        headerH: headerPos.h
    },
    rect: {     //窗口坐标,宽高
        x: 0,
        y: 0,
        w: 'auto',  //宽度自适应
        h: 'auto'   //高度自适应
    }
});

关闭 Frame

api.closeFrame()

跨窗口执行脚本

api.execScript({
    name: 'root',   //主窗口名字
    frameName: 'main',  //子窗口名字
    script: 'fun();'    //要执行的方法名
});

监听设备事件

api.addEventListener('keyback',function(){
    //监听安卓 back 键
});

设置 iOS 状态栏风格

api.setStatusBarStyle({
    style: 'dark'
});

toast效果

api.toast({
    msg: '好吧,不聊了',
    duration:1000,
    location: 'middle'
});

百度地图模块

var bMap = api.require('baiduMap');
bMap.open();

语音识别模块

var obj = api.require('speechRecognizer');
obj.record();

设备 iOS7+ 状态栏

$api.fixIos7Bar()

减少300ms延迟,响应触摸时状态

tapmode + onclick,tapmode 属性值为 CSS class 名

<span class="cancel" tapmode="active" onclick="api.closeWin();">
    <i class="fa fa-angle-left"></i>
</span>

#真机调试

打开 APICloud IDE,手机通过 USB 连接电脑,随便打开一个文件,Ctrl + R,iPhone 需要自己点击 AppLoader 打开应用,安卓会自动打开,可以看到代码在手机上的效果。

#修改代码

  • 自己修改代码,需要申请自己的 baidu Key
  • 修改后的代码,需要打包成 widget.zip,里面包含一层 /widget/ 目录,上传到云端,上传代码 -> 选择文件 -> 保存。
  • 云端添加 speechRecognizer 模块。
  • 云编译 -> 选择平台 -> 云编译

#APP二维码

iOS 平台 Android 平台