Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

added overwrite_user_agent property to manifest #11

Closed
wants to merge 13 commits into from
Commits on Aug 7, 2012
  1. @CatChen
Commits on Sep 6, 2012
  1. @jiangnanjiaozhu @CatChen

    Update Doraemon/Developer Doc.md

    jiangnanjiaozhu authored CatChen committed
  2. @jiangnanjiaozhu @CatChen

    Update Doraemon/Developer Doc.md

    jiangnanjiaozhu authored CatChen committed
  3. @jiangnanjiaozhu @CatChen

    Update Microdata/App Microdata.md

    jiangnanjiaozhu authored CatChen committed
  4. @jiangnanjiaozhu @CatChen

    Update Microdata/App Microdata.md

    jiangnanjiaozhu authored CatChen committed
  5. @jiangnanjiaozhu @CatChen

    Update Microdata/App Microdata.md

    jiangnanjiaozhu authored CatChen committed
  6. @jiangnanjiaozhu @CatChen

    Update Microdata/App Microdata.md

    jiangnanjiaozhu authored CatChen committed
  7. @jiangnanjiaozhu @CatChen

    Update Doraemon/Developer Doc.md

    jiangnanjiaozhu authored CatChen committed
  8. @CatChen

    Add Android Intent

    xgao authored CatChen committed
  9. @CatChen

    Update Android Intent

    xgao authored CatChen committed
  10. @CatChen

    Update developer doc

    xgao authored CatChen committed
  11. @CatChen
Commits on Sep 7, 2012
  1. @CatChen
This page is out of date. Refresh to see the latest.
View
83 Doraemon/Android Intent.md
@@ -0,0 +1,83 @@
+Android Intent
+============
+
+1. Overview
+------
+
+ * Android Intent的目的是为了给开发者提供一个通过js调用在android手机上启动一个intent的方法。
+ * Web Intent:
+ Web Intent是类似与android intent的一个机制,但是它的目的还是用于web,即在web上模拟android intent。
+ * Android Intent:
+ Android Intent是一个在android手机上启动intent的方式。
+ * 对于豌豆荚百宝袋而言,需要综合两种的特点,实现一种通过js的方式来在手机上启动一个intent。
+
+2. Design
+------
+
+
+ interface AndroidIntent {
+ attribute DOMString action;
+ attribute DOMString type;
+ attribute DOMString data;
+ attribute DOMString category;
+ attribute DOMString component;
+ attribute DOMString extras;
+ attribute long flags;
+
+ void startActivity();
+ };
+
+3. Implementation
+--------
+
+ var component = "com.wandoujia.phoenix2/com.wandoujia.phoenix2.ui.WelcomeActivity";
+ var extras = [];
+
+ var item = {};
+ item.key = "phoenix.intent.extra.USER_AGENT";
+ item.value = "wandoujia";
+ extras.push(item);
+
+ var i = new AndroidIntent("","","",
+ JSON.stringify(category),
+ component,
+ JSON.stringify(extras));
+ // i.setFlags(0);
+
+ i.startActivity();
+
+4. 各个参数的含义与android intent的含义一致:
+----
+* action
+ - ACTION_CALL
+ - ACTION_EDIT
+ - ACTION_MAIN
+ - ACTION_SYNC
+ - ACTION_BATTERY_LOW
+ - ACTION_HEADSET_PLUG
+ - ACTION_SCREEN_ON
+ - ACTION_TIMEZONE_CHANGED
+
+* type
+ - 显式指定Intent的数据类型(MIME)
+* data
+ - 执行动作要操作的数据
+* category
+ - 被执行动作的附加信息,格式为json
+
+* Constant
+ - CATEGORY_BROWSABLE
+ - CATEGORY_GADGET
+ - CATEGORY_HOME
+ - CATEGORY_LAUNCHER
+ - CATEGORY_PREFERENCE
+
+
+
+* component
+ - 指定Intent的的目标组件的类名称
+* extras
+ - 其它所有附加信息的集合,格式为json
+* flags
+ - 控制启动参数
+
View
15 Doraemon/Developer Doc.md
@@ -13,18 +13,18 @@
每一个扩展对应着一个内容站。扩展系统使开发者有能力快速、大量的提供适合展现在豌豆荚的内容。
-### 2.1 如果您是网站站长
+### 2.1 开发者工程文档
* MicroData介绍:文档《[MicroData]》
* Manifest.json介绍:文档《[manifest files]》
-
-### 2.2 如果您是第三方开发者
-* Manifest.json介绍:文档《[manifest files]》
* Download介绍:文档《[Download Link]》
-### 2.3 目前扩展中webkit/css支持的特性(通用)
+### 2.2 目前扩展中webkit/css支持的特性(通用)
* 《[Wandoujia Supported Specifications]》
+* 从豌豆荚2.20版本开始,支持[Android Intent API]
+* 从豌豆荚2.20版本开始,支持Web Fonts
+* 从豌豆荚2.20版本开始,支持支付宝支付
-### 2.4 开发扩展系统时Content Script的Guideline
+### 2.3 开发扩展系统时Content Script的Guideline
* 页面宽度修改为适应豌豆荚的默认宽度:780px(考虑会有滚动条,建议控制在760px内)
* 新扩展不允许篡改已经在线上的其它开发者开发的扩展
@@ -95,7 +95,7 @@
"app": {
"launch": {
"web_url": "http://apps.wandoujia.com/"
- }
+ },
"navigation": [
{
"label": "全部应用",
@@ -195,6 +195,7 @@
[Download Link]: https://github.com/wandoulabs/developer-documents/blob/master/Doraemon/Download%20Link.md
[MicroData]: https://github.com/wandoulabs/developer-documents/blob/master/Microdata/App%20Microdata.md
[Wandoujia Supported Specifications]: https://github.com/wandoulabs/developer-documents/blob/master/Doraemon/Wandoujia%20Supported%20Specifications.md
+ [Android Intent API]: https://github.com/wandoulabs/developer-documents/blob/master/Doraemon/Android%20Intent.md
[register]: https://github.com/wandoulabs/developer-documents/blob/master/Doraemon/pictures/register.jpg?raw=true
[settings_1]: https://github.com/wandoulabs/developer-documents/blob/master/Doraemon/pictures/settings_1.jpg?raw=true
[settings_2]: https://github.com/wandoulabs/developer-documents/blob/master/Doraemon/pictures/settings_2.jpg?raw=true
View
4 Doraemon/Manifest Files.md
@@ -178,6 +178,10 @@ JavaScript 文件何时插入,可选的值包括:`'document_start'`、`'docu
控制插入内容是只插入到 `top` frame 还是所有的 frame。默认值为 `false`
+#### overwrite_user_agent
+
+覆盖浏览器 user agent 名称。如果提供此参数,则在请求匹配页面及其资源时 HTTP 头部的 User-Agent 和 JavaScript 中的 `window.navigator.userAgent` 都会被覆盖为指定的值。
+
### homepage_url
扩展首页地址。如果扩展通过扩展商店发布,则默认指向扩展商店详情页。
View
45 Doraemon/Message Protocol.md
@@ -0,0 +1,45 @@
+# Message Protocol
+
+豌豆荚扩展可以调用豌豆荚操作用户手机联系人、短信、应用等信息,并且也可以通过订阅豌豆荚相关事件以得知上述信息的变更。本文档用于描述扩展与豌豆荚互操作所使用的数据格式。
+
+扩展与豌豆荚通信主要有两种方式,一种是操作资源,另一种是订阅事件。
+
+## 操作资源
+
+ snappea.request({
+ resource: "snappea://contacts/1",
+ method: "get"
+ }, function(response) {
+ console.log(response.statusCode);
+ console.log(response.data);
+ });
+
+扩展操作豌豆荚资源的方式,本质上跟请求一个 URI 的资源无异,最基本的元素是资源(`resource`)与方法(`method`)。返回也跟一个 HTTP 返回类似,状态码(`statusCode`)表示操作结果状态,同时还可能有更详细的返回数据(`data`)。
+
+### 参数和数据
+
+请求除去资源与方法外,还可以带上参数(`meta`)和数据(`data`)。特定资源允许使用的方法及对应参数、数据请参考该资源文档。返回同样可能带有参数(`meta`),这些参数能够帮助你更好地处理返回。
+
+### 方法快捷方式
+
+对资源常见的操作方法都有对应的快捷方式,使得你可以在调用时省略 `method` 属性:
+
+* `snappea.get`
+* `snappea.post`
+* `snappea.put`
+* `snappea['delete']`
+
+## 订阅事件
+
+ snappea.subscribe({
+ resource: "snappea://messages/",
+ }, function(event) {
+ console.log(event.data);
+ });
+
+
+扩展订阅豌豆荚事件的方式,本质上跟订阅 Atom 事件无异。豌豆荚提供的事件接口封装为类似 DOM 事件的形式,使得你无需关注资源的刷新,只需要订阅更新的事件即可。
+
+### 参数
+
+订阅事件同样可以加上参数(`meta`),同时事件在调用你的处理函数时也可能带上参数。
View
9 Microdata/App Microdata.md
@@ -20,6 +20,10 @@
</div>
所有跟应用相关的操作都使用 `*[itemscope]` 标签,具体信息由 `class` 属性及里面的 `*[itemprop]` 元素给出。
+微格式sample:
+* 文档1《[microdata-to-download-link-processor-demo.html]》
+* 文档2《[microdata-to-download-link-processor.js]》
+
### class
@@ -68,3 +72,8 @@
### 其他
除去上述必要的属性外,其它自定义属性可以参考 [Schema.org 的文档](http://schema.org/SoftwareApplication)。
+
+
+
+ [microdata-to-download-link-processor-demo.html]:https://github.com/wandoulabs/developer-documents/blob/master/Microdata/microdata-to-download-link-processor-demo.html
+ [microdata-to-download-link-processor.js]:https://github.com/wandoulabs/developer-documents/blob/master/Microdata/microdata-to-download-link-processor.js
Something went wrong with that request. Please try again.