App-Android(使用App+htnl5框架,解决消息推送兼容SignalR问题)
loulijun2021
2022-09-20 eb23a7c7faefe86330a88f9118b8211f6b86e75b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="HandheldFriendly" content="true">
<meta name="MobileOptimized" content="320">
<title>Zip Document</title>
<link rel="stylesheet" type="text/css" href="res/doc.css" charset="utf-8">
<link rel="stylesheet" type="text/css" href="res/prettify.sons.css" charset="utf-8">
<script type="text/javascript" src="res/doc.js" charset="utf-8"></script><script type="text/javascript" src="res/prettify.js" charset="utf-8"></script>
</head>
<body><div id="content" class="content">
<h1><a name="plus.zip">zip</a></h1>
<p>Zip模块管理文件压缩和解压,通过plus.zip可获取压缩管理对象。</p>
<h2>方法:</h2>
<ul>
<li>
<a href="#plus.zip.compress">compress</a>: 压缩生成Zip文件</li>
<li>
<a href="#plus.zip.decompress">decompress</a>: 解压缩Zip文件</li>
<li>
<a href="#plus.zip.compressImage">compressImage</a>: 图片压缩转换</li>
</ul>
<h2>对象:</h2>
<ul>
<li>
<a href="#plus.zip.CompressImageOptions">CompressImageOptions</a>: JSON对象,配置图片压缩转换的参数</li>
<li>
<a href="#plus.zip.ClipImageOptions">ClipImageOptions</a>: JSON对象,图片裁剪区域的参数</li>
</ul>
<h2>回调方法:</h2>
<ul>
<li>
<a href="#plus.zip.CompressImageSuccessCallback">CompressImageSuccessCallback</a>: 图片压缩转换操作成功回调接口</li>
<li>
<a href="#plus.zip.ZipSuccessCallback">ZipSuccessCallback</a>: 操作成功回调函数接口,在解压Zip文件或压缩成Zip文件成功时调用</li>
<li>
<a href="#plus.zip.ZipErrorCallback">ZipErrorCallback</a>: 操作错误回调函数接口,在解压Zip文件或压缩成Zip文件失败时调用</li>
</ul>
<h2>权限:</h2>
<p>5+功能模块(permissions)</p>
<pre class="prettyprint linenums">
{
// ...
"permissions":{
    // ...
    "Zip": {
        "description": "压缩与解压"
    }
}
}
            </pre>
<h1><a name="plus.zip.CompressImageOptions">CompressImageOptions</a></h1>
<p>JSON对象,配置图片压缩转换的参数</p>
<h2>说明:</h2>
<p class="des">
    设置width/height属性则表示需对图片进行缩放转换操作;
    设置rotate属性则表示需对图片进行旋转转换操作;
    设置clip属性则表示需对图片进行裁剪转换操作;
    如同时设置了多个转换操作,则按缩放、旋转、裁剪顺序进行操作。
                </p>
<h2>属性:</h2>
<ul>
<li>src: <em>(<font class="type">String</font>
    类型
)</em>压缩转换原始图片的路径<br><p>
    支持以下图片路径:
    相对路径 - 相对于当前页面的host位置,如"a.jpg",注意当前页面为网络地址则不支持;
    绝对路径 - 系统绝对路径,如Android平台"/storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/www/a.jpg",iOS平台"/var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/www/a.png";
    相对路径URL(RelativeURL) - 以"_"开头的相对路径,如"_www/a.jpg"、"_doc/b.jpg"、"_documents/c.jpg"、"_downloads/d.jpg";
    本地路径URL - 以“file://”开头,后面跟随系统绝对路径。
                        </p>
</li>
<li>dst: <em>(<font class="type">String</font>
    类型
)</em>压缩转换目标图片的路径<br><p>
    支持以下图片路径:
    绝对路径 - 系统绝对路径,如Android平台"/storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc/a.jpg",iOS平台"/var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/doc/a.png";
    相对路径URL(RelativeURL) - 以"_"开头的相对路径,如"_doc/b.jpg"、"_documents/c.jpg"、"_downloads/d.jpg",注意不支持"_www"开头的路径;
    本地路径URL - 以“file://”开头,后面跟随系统绝对路径。
    注意:如果设置的路径无权限访问,则返回失败。
                        </p>
</li>
<li>overwrite: <em>(<font class="type">Boolean</font>
    类型
)</em>覆盖生成新文件<br><p>
    仅在dst制定的路径文件存在时有效:
    true表示覆盖存在的文件;
    false表示不覆盖,如果文件存在,则返回失败。
    默认值为false。
                        </p>
</li>
<li>format: <em>(<font class="type">String</font>
    类型
)</em>压缩转换后的图片格式<br><p>
    支持"jpg"、"png",如果未指定则使用源图片的格式。
                        </p>
</li>
<li>quality: <em>(<font class="type">Number</font>
    类型
)</em>压缩图片的质量<br><p>
    取值范围为1-100,1表示使用最低的图片质量(转换后的图片文件最小)、100表示使用最高的图片质量(转换后的图片文件最大);
    默认值为50。
                        </p>
</li>
<li>width: <em>(<font class="type">String</font>
    类型
)</em>缩放图片的宽度<br><p>
    支持像素值(如"100px")、百分比(如"50%")、自动计算(如"auto",即根据height与源图高的缩放比例计算,若未设置height则使用源图高度);
    默认值为"auto"。
    注意:若设置了width属性值不合法(如"0px"),则不对图片进行缩放操作。
                        </p>
</li>
<li>height: <em>(<font class="type">String</font>
    类型
)</em>缩放图片的高度<br><p>
    支持像素值(如"100px")、百分比(如"50%")、自动计算(如"auto",即根据width与源图宽的缩放比例计算,若未设置width则使用源图高度);
    默认值为"auto"。
    注意:若设置了height属性值不合法(如"0px"),则不对图片进行缩放操作。
                        </p>
</li>
<li>rotate: <em>(<font class="type">Number</font>
    类型
)</em>旋转图片的角度<br><p>
    支持值:90-表示旋转90度;180-表示旋转180度;270-表示旋转270度。
    注意:若设置rotate属性值不合法,则不对图片进行旋转操作。
                        </p>
</li>
<li>clip: <em>(<a href="#plus.zip.ClipImageOptions">ClipImageOptions</a>
    类型
)</em>裁剪图片的区域<br><p>
    值参考ClipImageOptions定义,若设置clip属性值不合法,则不对图片进行裁剪操作。
                        </p>
</li>
</ul>
<h1><a name="plus.zip.ClipImageOptions">ClipImageOptions</a></h1>
<p>JSON对象,图片裁剪区域的参数</p>
<h2>属性:</h2>
<ul>
<li>top: <em>(<font class="type">String</font>
    类型
)</em>图片裁剪区域与原图片上边界的偏移距离<br><p>
    支持像素值(如"10px")、百分比(如"10%");默认值为"0px"。
    注意:如果top值超出原图片高度,则图片裁剪失败。
                        </p>
</li>
<li>left: <em>(<font class="type">Stirng</font>
    类型
)</em>图片裁剪区域与原图片左边界的偏移距离<br><p>
    支持像素值(如"10px")、百分比(如"10%");默认值为"0px"。
    注意:如果left值超出原图片宽度,则图片裁剪失败。
                        </p>
</li>
<li>width: <em>(<font class="type">String</font>
    类型
)</em>图片裁剪区域的宽度<br><p>
    支持像素值(如"100px")、百分比(如"50%")、自动计算(如"auto",即从left位置到图片右边界的宽度);默认值为"auto"。
    注意:如果left值加width值超出原图片宽度,则使用"auto"值进行裁剪。
                        </p>
</li>
<li>height: <em>(<font class="type">String</font>
    类型
)</em>图片裁剪区域的高度<br><p>
    支持像素值(如"100px")、百分比(如"50%")、自动计算(如"auto",即从top位置到图片下边界的高度);默认值为"auto"。
    注意:如果top值加height值超出原图片高度,则使用"auto"值进行裁剪。
                        </p>
</li>
</ul>
<h1><a name="plus.zip.CompressImageSuccessCallback">CompressImageSuccessCallback</a></h1>
<p>图片压缩转换操作成功回调接口</p>
<pre class="prettyprint linenums">
void onSuccess( Event event ){
    // Code here
    var target = event.target; // 压缩转换后的图片url路径,以"file://"开头
    var size = event.size; // 压缩转换后图片的大小,单位为字节(Byte)
    var width = event.width; // 压缩转换后图片的实际宽度,单位为px
    var height = event.height; // 压缩转换后图片的实际高度,单位为px
}
                </pre>
<h2>参数:</h2>
<ul><li>event: 
        <em>(
            <font class="type">Event</font>
            )
            可选 </em>图片压缩转换后的图片信息<br>
    可通过event.target(String类型)获取压缩转换后的图片url路径,以"file://"开头,可直接在html页面中通过src属性引用,如Android平台"file:///storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc/a.jpg",iOS平台"file:///var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/doc/a.png";
    可通过event.size(Number类型)获取压缩转换后图片的大小,单位为字节(Byte);
    可通过event.width(Number类型)获取压缩转换后的图片的实际宽度,单位为px;
    可通过event.height(Number类型)获取压缩转换后的图片的实际高度,单位为px。
                        </li></ul>
<h2>返回值:</h2>
<font class="type">void</font>
            : 无<h1><a name="plus.zip.ZipSuccessCallback">ZipSuccessCallback</a></h1>
<p>操作成功回调函数接口,在解压Zip文件或压缩成Zip文件成功时调用</p>
<pre class="prettyprint linenums">
void onSuccess(){
    // Code here
}
                </pre>
<h2>参数:</h2>
<p>无</p>
<h2>返回值:</h2>
<font class="type">void</font>
            : 无<h1><a name="plus.zip.ZipErrorCallback">ZipErrorCallback</a></h1>
<p>操作错误回调函数接口,在解压Zip文件或压缩成Zip文件失败时调用</p>
<pre class="prettyprint linenums">
void onError(error){
    // Handle the error
    var code = error.code; // 错误编码
    var message = error.message; // 错误描述信息
}
                </pre>
<h2>参数:</h2>
<ul><li>error: 
        <em>(
            <font class="type">Exception</font>
            )
            可选 </em>Zip操作的错误信息<br>
    可通过error.code(Number类型)获取错误编码;
    可通过error.message(String类型)获取错误描述信息。
                        </li></ul>
<h2>返回值:</h2>
<font class="type">void</font>
            : 无<br><br>
</div></body>
</html>