diff --git a/.gitignore b/.gitignore
index 617b82aa26819573350a1236386cc6d2f8263018..7a3e1957fd8bc61075b9a680c04da301e4ca39f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,5 @@ node_modules/
.project
unpackage/
.vscode/
+.idea
.DS_Store
diff --git a/README.md b/README.md
index 0cd25d6bea3a21867d1973bfec495a2f795ffa27..bd9b4b4a23e7ca083d78d59ef0239aef434a877b 100644
--- a/README.md
+++ b/README.md
@@ -14,9 +14,9 @@
## 扫码体验
-一套代码编译到7个平台,开发一次、多处运行,这不是梦想,而是现实。依次扫描7个二维码,亲自体验最全面的跨平台效果!
+一套代码编译到8个平台,开发一次、多处运行,这不是梦想,而是现实。依次扫描8个二维码,亲自体验最全面的跨平台效果!
-
+
*注: Appstore、百度、头条平台不能提交简单demo,故iOS、百度小程序、头条小程序版补充了一些其他功能。*
@@ -29,17 +29,17 @@
## 项目案例
-案例:[uniapp.dcloud.io/case](https://uniapp.dcloud.io/case)
+案例展示:[uniapp.dcloud.io/case](https://uniapp.dcloud.io/case)
-欢迎广大开发者踊跃提交自己的应用案例,[uni-app案例征集](https://github.com/dcloudio/uni-app/issues/6)
+欢迎提交你的应用,[uni-app案例征集](https://github.com/dcloudio/uni-app/issues/6)
## 需求墙
-`uni-app`计划支持的功能点,会在需求墙上进行展示,并允许开发者对需求进行投票,[前往投票](https://dev.dcloud.net.cn/wish/)。
+`uni-app`计划支持的功能点,会在需求墙上进行展示,征集开发者的投票意见,[前往投票](https://dev.dcloud.net.cn/wish/)。
## 更新日志
-`uni-app`一直保持极高的开发活跃度,详见[uni-app 更新日志](docs/release.md)。
+`uni-app`一直保持高频的更新迭代,详见[uni-app 更新日志](docs/release.md)。
## 论坛
diff --git a/docs/README.md b/docs/README.md
index f19ee09f45abacca10e39facc7be991de8c60ad2..febd45430d4b8cefc7afb4c66ee461edbab90905 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -7,7 +7,7 @@
一套代码编到7个平台,这不是梦想。眼见为实,扫描7个二维码,亲自体验最全面的跨平台效果!
+一套代码编到8个平台,这不是梦想。眼见为实,扫描8个二维码,亲自体验最全面的跨平台效果!
注:Appstore、百度、头条平台不能提交简单demo,故补充了一些其他功能。
diff --git a/docs/api/media/image.md b/docs/api/media/image.md
index f7fe4aebdfe56d00c8767cb12cdb1318c6b11c8e..3f4f6274727ae6fd33440542c6db108dbf717306 100644
--- a/docs/api/media/image.md
+++ b/docs/api/media/image.md
@@ -1,5 +1,9 @@
### uni.chooseImage(OBJECT)
-从本地相册选择图片或使用相机拍照。另外选择和上传非图像、视频文件参考:[https://ask.dcloud.net.cn/article/35547](https://ask.dcloud.net.cn/article/35547)。
+从本地相册选择图片或使用相机拍照。
+
+另外选择和上传非图像、视频文件参考:[https://ask.dcloud.net.cn/article/35547](https://ask.dcloud.net.cn/article/35547)。
+
+App端如需要更丰富的相机拍照API(如直接调用前置摄像头),参考[plus.camera](https://www.html5plus.org/doc/zh_cn/camera.html)
**OBJECT 参数说明**
@@ -55,7 +59,7 @@ uni.chooseImage({
|current|String/Number|详见下方说明|详见下方说明||
|urls|Array<String>|是|需要预览的图片链接列表||
|indicator|String|否|图片指示器样式,可取值:"default" - 底部圆点指示器; "number" - 顶部数字指示器; "none" - 不显示指示器。|5+App|
-|loop|Boolean|否|是否可循环预览,默认值为 false|5+App|
+|loop|Boolean|否|是否可循环预览,默认值为 false|5+App|
|longPressActions|Object|否|长按图片显示操作菜单,如不填默认为**保存相册**,1.9.5 起支持。|5+App|
|success|Function|否|接口调用成功的回调函数||
|fail|Function|否|接口调用失败的回调函数||
@@ -78,47 +82,47 @@ current 为当前显示图片的链接/索引值,不填或填写的值无效
- 传 B2 的链接,预览的结果是 B1,前一张是 A,下一张是 C。
- 传 B2 的索引值 3,预览的结果是 B2,前一张是 C,下一张是 D。此时在微信/百度/头条小程序平台,最终传入的 urls 是 `[A, C, B2, D]`,过滤掉了与 B2 重复的 B1。
-
-**longPressActions 参数说明**
-
-|参数|类型|必填|说明|
-|:-|:-|:-|:-|
-|itemList|Array<String>|是|按钮的文字数组|
-|itemColor|String|否|按钮的文字颜色,字符串格式,默认为"#000000"|
-|success|Function|否|接口调用成功的回调函数,详见返回参数说明|
-|fail|Function|否|接口调用失败的回调函数|
-|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
-
+
+**longPressActions 参数说明**
+
+|参数|类型|必填|说明|
+|:-|:-|:-|:-|
+|itemList|Array<String>|是|按钮的文字数组|
+|itemColor|String|否|按钮的文字颜色,字符串格式,默认为"#000000"|
+|success|Function|否|接口调用成功的回调函数,详见返回参数说明|
+|fail|Function|否|接口调用失败的回调函数|
+|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
+
**success 返回参数说明**
|参数|类型|说明|
-|:-|:-|:-|
+|:-|:-|:-|
|index|Number|用户长按图片的索引值|
-|tapIndex|Number|用户点击按钮列表的索引值|
-
+|tapIndex|Number|用户点击按钮列表的索引值|
+
**示例**
```javascript
// 从相册选择6张图
-uni.chooseImage({
- count: 6,
- sizeType: ['original', 'compressed'],
- sourceType: ['album'],
- success: function(res) {
- // 预览图片
- uni.previewImage({
- urls: res.tempFilePaths,
- longPressActions: {
- itemList: ['发送给朋友', '保存图片', '收藏'],
- success: function(data) {
- console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
- },
- fail: function(err) {
- console.log(err.errMsg);
- }
- }
- });
- }
+uni.chooseImage({
+ count: 6,
+ sizeType: ['original', 'compressed'],
+ sourceType: ['album'],
+ success: function(res) {
+ // 预览图片
+ uni.previewImage({
+ urls: res.tempFilePaths,
+ longPressActions: {
+ itemList: ['发送给朋友', '保存图片', '收藏'],
+ success: function(data) {
+ console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
+ },
+ fail: function(err) {
+ console.log(err.errMsg);
+ }
+ }
+ });
+ }
});
```
@@ -221,54 +225,54 @@ uni.chooseImage({
});
}
});
-```
-
-# uni.compressImage(OBJECT)
-
-压缩图片接口,可选压缩质量
-
+```
+
+# uni.compressImage(OBJECT)
+
+压缩图片接口,可选压缩质量
+
**平台差异说明**
|5+App|H5|微信小程序|支付宝小程序|百度小程序|头条小程序
|:-:|:-:|:-:|:-:|:-:|:-:|
-|1.9.7+ [自定义组件编译模式](https://ask.dcloud.net.cn/article/35843)|x|√|√|x|x|
-
-**OBJECT 参数说明**
-
-| 属性 | 类型 | 默认值 | 必填 | 说明 |
-| :- | :- | :- | :- | :- |
-| src | String | | 是 | 图片路径,图片的路径,可以是相对路径、临时文件路径、存储文件路径 |
-| quality | Number | 80 | 否 | 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效) |
-| success | Function | | 否 | 接口调用成功的回调函数 |
-| fail | Function | | 否 | 接口调用失败的回调函数 |
-| complete | Function | | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
-
-**success 返回参数说明**
-
-| 属性 | 类型 | 说明 |
-| :- | :- | :- |
-| tempFilePath | String | 压缩后图片的临时文件路径 |
-
-**示例代码:**
-
-```js
+|1.9.7+ [自定义组件编译模式](https://ask.dcloud.net.cn/article/35843)|x|√|√|x|x|
+
+**OBJECT 参数说明**
+
+| 属性 | 类型 | 默认值 | 必填 | 说明 |
+| :- | :- | :- | :- | :- |
+| src | String | | 是 | 图片路径,图片的路径,可以是相对路径、临时文件路径、存储文件路径 |
+| quality | Number | 80 | 否 | 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效) |
+| success | Function | | 否 | 接口调用成功的回调函数 |
+| fail | Function | | 否 | 接口调用失败的回调函数 |
+| complete | Function | | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
+
+**success 返回参数说明**
+
+| 属性 | 类型 | 说明 |
+| :- | :- | :- |
+| tempFilePath | String | 压缩后图片的临时文件路径 |
+
+**示例代码:**
+
+```js
uni.compressImage({
src: '/static/logo.jpg',
quality: 80,
success: res => {
console.log(res.tempFilePath)
}
-})
-```
-
-
-# wx.chooseMessageFile(OBJECT)
-
-从客户端会话选择文件。
-
-**平台差异说明**
-
-|5+App|H5|微信小程序|支付宝小程序|百度小程序|头条小程序|
-|:-:|:-:|:-:|:-:|:-:|:-:|
-|x|x|√|x|x|x|
-
+})
+```
+
+
+# wx.chooseMessageFile(OBJECT)
+
+从客户端会话选择文件。
+
+**平台差异说明**
+
+|5+App|H5|微信小程序|支付宝小程序|百度小程序|头条小程序|
+|:-:|:-:|:-:|:-:|:-:|:-:|
+|x|x|√|x|x|x|
+
diff --git a/docs/api/request/websocket.md b/docs/api/request/websocket.md
index 2c464fd48c97f72ce1193515c0ed721750df7747..5bc8a0b236c88d8fc6a466910f646ba42c970a9c 100644
--- a/docs/api/request/websocket.md
+++ b/docs/api/request/websocket.md
@@ -47,15 +47,17 @@ var socketTask = uni.connectSocket({
如果没有传入 success / fail / complete 参数,则会返回封装后的 Promise 对象:[Promise 封装](/api/README?id=promise-%E5%B0%81%E8%A3%85)
-**注意**
-- 网络请求的 ``超时时间`` 可以统一在 ``manifest.json`` 中配置 [networkTimeout](/collocation/manifest?id=networktimeout)。
-
-自定义组件模式下是基于 `weex` 的 `v8` 引擎运行,所有 `vue` 页面的 `js` 都是在同一个 `weex` 的 `js` 环境中运行。目前 `weex` 限制一个 `js` 环境中只支持一个 `websocket` 连接,所以导致所有 `vue` 页面只能使用一个 `websocket` 连接。
+**注意事项**
+
+- 网络请求的 ``超时时间`` 可以统一在 ``manifest.json`` 中配置 [networkTimeout](/collocation/manifest?id=networktimeout)。
+- 目前不支持 ``ArrayBuffer`` 类型的数据收发,可以使用 [plus-websocket](http://ext.dcloud.net.cn/plugin?id=647) 插件替代。
+- 自定义组件模式下是基于 `weex` 的 `v8` 引擎运行,所有 `vue` 页面的 `js` 都是在同一个 `weex` 的 `js` 环境中运行。目前 `weex` 限制一个 `js` 环境中只支持一个 `websocket` 连接,所以导致所有 `vue` 页面只能使用一个 `websocket` 连接。
**临时解决方案:**
- 回退使用非自定义组件模式(不推荐)
- - 多个websocket在独立的nvue页面中使用
+ - 多个 websocket 在独立的 nvue 页面中使用
+ - 使用 [plus-websocket](http://ext.dcloud.net.cn/plugin?id=647) 插件替代
后续我们会修改 `weex` 的限制,以支持多个 `websocket` 连接
diff --git a/docs/api/router.md b/docs/api/router.md
index aa75802bf11ce423a0b19768002b543d641a6ce4..0340c73b4a6cdee00945bbcf4a131da1c56c997a 100644
--- a/docs/api/router.md
+++ b/docs/api/router.md
@@ -16,12 +16,13 @@
**示例**
```javascript
+//在起始页面跳转到test.vue页面并传递参数
uni.navigateTo({
url: 'test?id=1&name=uniapp'
});
```
```javascript
-// test.vue
+// 在test.vue页面接受参数
export default {
onLoad: function (option) { //option为object类型,会序列化上个页面传递的参数
console.log(option.id); //打印出上个页面传递的参数。
@@ -30,11 +31,20 @@ export default {
}
```
+url有长度限制,太长的字符串会传递失败,可使用[窗体通信](https://uniapp.dcloud.io/collocation/frame/communication)、[全局变量](https://ask.dcloud.net.cn/article/35021),或`encodeURIComponent`等多种方式解决,如下为`encodeURIComponent`示例。
+```html
+