@oxiaom/adoremix-linux-arm 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/index.js +24 -0
  2. package/native/.adoremix-native.json +1 -0
  3. package/native/AdoreMixV8.0.17_console_linuxarm +0 -0
  4. package/native/README.md +20 -0
  5. package/native/audio/libqtaudio_alsa.so +0 -0
  6. package/native/audio/libqtmedia_pulse.so +0 -0
  7. package/native/bearer/libqconnmanbearer.so +0 -0
  8. package/native/bearer/libqgenericbearer.so +0 -0
  9. package/native/bearer/libqnmbearer.so +0 -0
  10. package/native/etc/Demo1.ini +49 -0
  11. package/native/etc/docroot/bangzhu/.project +22 -0
  12. package/native/etc/docroot/bangzhu/css/app.css +21 -0
  13. package/native/etc/docroot/bangzhu/css/feedback.css +131 -0
  14. package/native/etc/docroot/bangzhu/css/icons-extra.css +63 -0
  15. package/native/etc/docroot/bangzhu/css/mui.dtpicker.css +136 -0
  16. package/native/etc/docroot/bangzhu/css/mui.imageviewer.css +123 -0
  17. package/native/etc/docroot/bangzhu/css/mui.indexedlist.css +112 -0
  18. package/native/etc/docroot/bangzhu/css/mui.listpicker.css +95 -0
  19. package/native/etc/docroot/bangzhu/css/mui.min.css +5 -0
  20. package/native/etc/docroot/bangzhu/css/mui.picker.all.css +285 -0
  21. package/native/etc/docroot/bangzhu/css/mui.picker.css +85 -0
  22. package/native/etc/docroot/bangzhu/css/mui.picker.min.css +7 -0
  23. package/native/etc/docroot/bangzhu/css/mui.poppicker.css +64 -0
  24. package/native/etc/docroot/bangzhu/examples/accordion.html +125 -0
  25. package/native/etc/docroot/bangzhu/examples/actionsheet-plus.html +128 -0
  26. package/native/etc/docroot/bangzhu/examples/actionsheet.html +153 -0
  27. package/native/etc/docroot/bangzhu/examples/ad.html +47 -0
  28. package/native/etc/docroot/bangzhu/examples/ajax.html +155 -0
  29. package/native/etc/docroot/bangzhu/examples/badges.html +54 -0
  30. package/native/etc/docroot/bangzhu/examples/beecloud.html +150 -0
  31. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/detail.html +104 -0
  32. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/list-to-detail.css +160 -0
  33. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/listview.html +326 -0
  34. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/vue.min.js +8 -0
  35. package/native/etc/docroot/bangzhu/examples/buttons-with-badges.html +48 -0
  36. package/native/etc/docroot/bangzhu/examples/buttons-with-block.html +50 -0
  37. package/native/etc/docroot/bangzhu/examples/buttons-with-icons.html +68 -0
  38. package/native/etc/docroot/bangzhu/examples/buttons-with-loading.html +86 -0
  39. package/native/etc/docroot/bangzhu/examples/buttons.html +89 -0
  40. package/native/etc/docroot/bangzhu/examples/card.html +97 -0
  41. package/native/etc/docroot/bangzhu/examples/checkbox.html +68 -0
  42. package/native/etc/docroot/bangzhu/examples/clouddb_wilddog.html +268 -0
  43. package/native/etc/docroot/bangzhu/examples/date.html +88 -0
  44. package/native/etc/docroot/bangzhu/examples/dialog.html +82 -0
  45. package/native/etc/docroot/bangzhu/examples/dtpicker.html +129 -0
  46. package/native/etc/docroot/bangzhu/examples/echarts.html +150 -0
  47. package/native/etc/docroot/bangzhu/examples/feedback.html +72 -0
  48. package/native/etc/docroot/bangzhu/examples/grid-default.html +61 -0
  49. package/native/etc/docroot/bangzhu/examples/grid-pagination.html +266 -0
  50. package/native/etc/docroot/bangzhu/examples/guide.html +269 -0
  51. package/native/etc/docroot/bangzhu/examples/icons-extra.html +161 -0
  52. package/native/etc/docroot/bangzhu/examples/icons.html +182 -0
  53. package/native/etc/docroot/bangzhu/examples/im-chat.html +711 -0
  54. package/native/etc/docroot/bangzhu/examples/imageviewer-native.html +90 -0
  55. package/native/etc/docroot/bangzhu/examples/imageviewer.html +197 -0
  56. package/native/etc/docroot/bangzhu/examples/indexed-list-select.html +459 -0
  57. package/native/etc/docroot/bangzhu/examples/indexed-list.html +265 -0
  58. package/native/etc/docroot/bangzhu/examples/info.html +119 -0
  59. package/native/etc/docroot/bangzhu/examples/input.html +108 -0
  60. package/native/etc/docroot/bangzhu/examples/lazyload-image.html +73 -0
  61. package/native/etc/docroot/bangzhu/examples/list-triplex-row.html +115 -0
  62. package/native/etc/docroot/bangzhu/examples/list-with-input.html +91 -0
  63. package/native/etc/docroot/bangzhu/examples/locker-dom.html +85 -0
  64. package/native/etc/docroot/bangzhu/examples/login.html +83 -0
  65. package/native/etc/docroot/bangzhu/examples/media-list.html +220 -0
  66. package/native/etc/docroot/bangzhu/examples/message-bottom.html +87 -0
  67. package/native/etc/docroot/bangzhu/examples/modals.html +45 -0
  68. package/native/etc/docroot/bangzhu/examples/nav-nativeObj.html +45 -0
  69. package/native/etc/docroot/bangzhu/examples/nav.html +135 -0
  70. package/native/etc/docroot/bangzhu/examples/nav_transparent.html +127 -0
  71. package/native/etc/docroot/bangzhu/examples/nav_transparent_native.html +121 -0
  72. package/native/etc/docroot/bangzhu/examples/numbox.html +114 -0
  73. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-down.html +384 -0
  74. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-left-plus-main.html +293 -0
  75. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-left-plus-menu.html +102 -0
  76. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-left.html +228 -0
  77. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-right-plus-main.html +292 -0
  78. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-right-plus-menu.html +111 -0
  79. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-right.html +220 -0
  80. package/native/etc/docroot/bangzhu/examples/pagination.html +236 -0
  81. package/native/etc/docroot/bangzhu/examples/picker.html +159 -0
  82. package/native/etc/docroot/bangzhu/examples/popovers.html +200 -0
  83. package/native/etc/docroot/bangzhu/examples/progressbar.html +171 -0
  84. package/native/etc/docroot/bangzhu/examples/pullrefresh.html +86 -0
  85. package/native/etc/docroot/bangzhu/examples/pullrefresh_main.html +46 -0
  86. package/native/etc/docroot/bangzhu/examples/pullrefresh_sub.html +101 -0
  87. package/native/etc/docroot/bangzhu/examples/pullrefresh_with_tab.html +586 -0
  88. package/native/etc/docroot/bangzhu/examples/radio.html +93 -0
  89. package/native/etc/docroot/bangzhu/examples/range.html +89 -0
  90. package/native/etc/docroot/bangzhu/examples/setting.html +910 -0
  91. package/native/etc/docroot/bangzhu/examples/slider-default.html +98 -0
  92. package/native/etc/docroot/bangzhu/examples/slider-native.html +43 -0
  93. package/native/etc/docroot/bangzhu/examples/slider-table-default.html +62 -0
  94. package/native/etc/docroot/bangzhu/examples/slider-table-pagination.html +74 -0
  95. package/native/etc/docroot/bangzhu/examples/slider-with-title.html +99 -0
  96. package/native/etc/docroot/bangzhu/examples/switches.html +92 -0
  97. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-1.html +131 -0
  98. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-2.html +131 -0
  99. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-3.html +56 -0
  100. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-4.html +110 -0
  101. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-5.html +131 -0
  102. package/native/etc/docroot/bangzhu/examples/tab-top-webview-main.html +183 -0
  103. package/native/etc/docroot/bangzhu/examples/tab-vertical-scroll.html +170 -0
  104. package/native/etc/docroot/bangzhu/examples/tab-webview-main.html +112 -0
  105. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-about.html +38 -0
  106. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-chat.html +127 -0
  107. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-contact.html +155 -0
  108. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-setting.html +79 -0
  109. package/native/etc/docroot/bangzhu/examples/tab-with-segmented-control-vertical.html +85 -0
  110. package/native/etc/docroot/bangzhu/examples/tab-with-segmented-control.html +195 -0
  111. package/native/etc/docroot/bangzhu/examples/tab-with-viewpagerindicator.html +203 -0
  112. package/native/etc/docroot/bangzhu/examples/tabbar-labels-only.html +44 -0
  113. package/native/etc/docroot/bangzhu/examples/tabbar-with-submenus.html +75 -0
  114. package/native/etc/docroot/bangzhu/examples/tabbar.html +247 -0
  115. package/native/etc/docroot/bangzhu/examples/tableviews-with-badges.html +78 -0
  116. package/native/etc/docroot/bangzhu/examples/tableviews-with-collapses.html +83 -0
  117. package/native/etc/docroot/bangzhu/examples/tableviews-with-swipe.html +184 -0
  118. package/native/etc/docroot/bangzhu/examples/tableviews.html +87 -0
  119. package/native/etc/docroot/bangzhu/examples/typography.html +41 -0
  120. package/native/etc/docroot/bangzhu/fonts/mui-icons-extra.ttf +0 -0
  121. package/native/etc/docroot/bangzhu/fonts/mui.ttf +0 -0
  122. package/native/etc/docroot/bangzhu/images/60x60.gif +0 -0
  123. package/native/etc/docroot/bangzhu/images/cbd.jpg +0 -0
  124. package/native/etc/docroot/bangzhu/images/login-1.png +0 -0
  125. package/native/etc/docroot/bangzhu/images/logo.png +0 -0
  126. package/native/etc/docroot/bangzhu/images/muwu.jpg +0 -0
  127. package/native/etc/docroot/bangzhu/images/qrcode.png +0 -0
  128. package/native/etc/docroot/bangzhu/images/shuijiao.jpg +0 -0
  129. package/native/etc/docroot/bangzhu/images/yuantiao.jpg +0 -0
  130. package/native/etc/docroot/bangzhu/index-menu.html +196 -0
  131. package/native/etc/docroot/bangzhu/index.html +414 -0
  132. package/native/etc/docroot/bangzhu/js/95516.js +32 -0
  133. package/native/etc/docroot/bangzhu/js/arttmpl.js +2 -0
  134. package/native/etc/docroot/bangzhu/js/beecloud.js +141 -0
  135. package/native/etc/docroot/bangzhu/js/city.data-3.js +11548 -0
  136. package/native/etc/docroot/bangzhu/js/city.data.js +1605 -0
  137. package/native/etc/docroot/bangzhu/js/feedback.js +234 -0
  138. package/native/etc/docroot/bangzhu/js/mui.dtpicker.js +471 -0
  139. package/native/etc/docroot/bangzhu/js/mui.imageViewer.js +268 -0
  140. package/native/etc/docroot/bangzhu/js/mui.indexedlist.js +187 -0
  141. package/native/etc/docroot/bangzhu/js/mui.js +8390 -0
  142. package/native/etc/docroot/bangzhu/js/mui.lazyload.img.js +116 -0
  143. package/native/etc/docroot/bangzhu/js/mui.lazyload.js +327 -0
  144. package/native/etc/docroot/bangzhu/js/mui.listpicker.js +399 -0
  145. package/native/etc/docroot/bangzhu/js/mui.locker.js +303 -0
  146. package/native/etc/docroot/bangzhu/js/mui.min.js +6 -0
  147. package/native/etc/docroot/bangzhu/js/mui.picker.all.js +1018 -0
  148. package/native/etc/docroot/bangzhu/js/mui.picker.js +389 -0
  149. package/native/etc/docroot/bangzhu/js/mui.picker.min.js +7 -0
  150. package/native/etc/docroot/bangzhu/js/mui.poppicker.js +160 -0
  151. package/native/etc/docroot/bangzhu/js/mui.previewimage.js +382 -0
  152. package/native/etc/docroot/bangzhu/js/mui.pullToRefresh.js +407 -0
  153. package/native/etc/docroot/bangzhu/js/mui.pullToRefresh.material.js +352 -0
  154. package/native/etc/docroot/bangzhu/js/mui.view.js +628 -0
  155. package/native/etc/docroot/bangzhu/js/mui.zoom.js +322 -0
  156. package/native/etc/docroot/bangzhu/js/update.js +45 -0
  157. package/native/etc/docroot/bangzhu/js/webviewGroup.js +286 -0
  158. package/native/etc/docroot/bangzhu/libs/echarts-all.js +35 -0
  159. package/native/etc/docroot/bangzhu/manifest.json +994 -0
  160. package/native/etc/docroot/index.html +1 -0
  161. package/native/etc/docroot/luyin2/index.html +145 -0
  162. package/native/etc/docroot/luyin2/js/jquery-1.10.1.min.js +6 -0
  163. package/native/etc/docroot/luyin2/js/jquery-1.5.min.js +16 -0
  164. package/native/etc/docroot/luyin2/js/jquery.js +18 -0
  165. package/native/etc/docroot/luyin2/js/jquery.multiselect.js +104 -0
  166. package/native/etc/docroot/luyin2/js/lame.min.js +308 -0
  167. package/native/etc/docroot/luyin2/js/recordmp3.js +239 -0
  168. package/native/etc/docroot/luyin2/js/worker-realtime.js +106 -0
  169. package/native/etc/docroot/luyin2//346/223/215/344/275/234/346/214/207/345/215/227.txt +3 -0
  170. package/native/etc/docroot/static/css/app.8421a6d597ba48619941ccd4e386fbb2.css +675 -0
  171. package/native/etc/docroot/static/css/app.8421a6d597ba48619941ccd4e386fbb2.css.map +1 -0
  172. package/native/etc/docroot/static/fonts/element-icons.535877f.woff +0 -0
  173. package/native/etc/docroot/static/fonts/element-icons.732389d.ttf +0 -0
  174. package/native/etc/docroot/static/img/login_bg.ad6b482.jpg +0 -0
  175. package/native/etc/docroot/static/js/app.eff1c2200a448936b027.js +2 -0
  176. package/native/etc/docroot/static/js/app.eff1c2200a448936b027.js.map +1 -0
  177. package/native/etc/docroot/static/js/manifest.400eada2d24447a4fc30.js +2 -0
  178. package/native/etc/docroot/static/js/manifest.400eada2d24447a4fc30.js.map +1 -0
  179. package/native/etc/docroot/static/js/vendor.ca4f735ec1dfe336a804.js +45 -0
  180. package/native/etc/docroot/static/js/vendor.ca4f735ec1dfe336a804.js.map +1 -0
  181. package/native/etc/docroot/tts.js +151 -0
  182. package/native/etc/docroot/xcx/Discover.html +156 -0
  183. package/native/etc/docroot/xcx/css/mui.css +5649 -0
  184. package/native/etc/docroot/xcx/css/mui.min.css +5 -0
  185. package/native/etc/docroot/xcx/devicelist.html +659 -0
  186. package/native/etc/docroot/xcx/fonts/mui.ttf +0 -0
  187. package/native/etc/docroot/xcx/index.html +75 -0
  188. package/native/etc/docroot/xcx/index.js +1 -0
  189. package/native/etc/docroot/xcx/js/axios.min.js +3 -0
  190. package/native/etc/docroot/xcx/js/axios.min.map +1 -0
  191. package/native/etc/docroot/xcx/js/js.cookie.js +8 -0
  192. package/native/etc/docroot/xcx/js/mui.js +8390 -0
  193. package/native/etc/docroot/xcx/js/mui.min.js +6 -0
  194. package/native/etc/docroot/xcx/main.html +85 -0
  195. package/native/etc/ssl/README.txt +5 -0
  196. package/native/etc/ssl/ca.crt +21 -0
  197. package/native/etc/ssl/ca.key +27 -0
  198. package/native/etc/ssl/client.crt +20 -0
  199. package/native/etc/ssl/client.key +28 -0
  200. package/native/etc/ssl/client.p12 +0 -0
  201. package/native/etc/ssl/server.crt +20 -0
  202. package/native/etc/ssl/server.key +28 -0
  203. package/native/etc/templates/demo-de.tpl +12 -0
  204. package/native/etc/templates/demo.tpl +12 -0
  205. package/native/etc/ttys/adore03.sql +426 -0
  206. package/native/etc/ttys/adore04.sql +426 -0
  207. package/native/etc/ttys/adore1.sql +859 -0
  208. package/native/etc/ttys/adore_mix22.sql +806 -0
  209. package/native/etc/ttys/sqlite.sql +1140 -0
  210. package/native/etc/ttys/sqlite3main.sql +434 -0
  211. package/native/etc/ttys/sqltest.sql +279 -0
  212. package/native/etc/ttys/tp3sql.sql +1412 -0
  213. package/native/find.js +529 -0
  214. package/native/findsc.js +701 -0
  215. package/native/iconengines/libqsvgicon.so +0 -0
  216. package/native/imageformats/libqgif.so +0 -0
  217. package/native/imageformats/libqico.so +0 -0
  218. package/native/imageformats/libqjpeg.so +0 -0
  219. package/native/imageformats/libqsvg.so +0 -0
  220. package/native/lib/libQt5Concurrent.so.5 +0 -0
  221. package/native/lib/libQt5Core.so.5 +0 -0
  222. package/native/lib/libQt5DBus.so.5 +0 -0
  223. package/native/lib/libQt5Multimedia.so.5 +0 -0
  224. package/native/lib/libQt5MultimediaGstTools.so.5 +0 -0
  225. package/native/lib/libQt5Network.so.5 +0 -0
  226. package/native/lib/libQt5Sql.so.5 +0 -0
  227. package/native/lib/libQt5Svg.so.5 +0 -0
  228. package/native/lib/libQt5WebSockets.so.5 +0 -0
  229. package/native/lib/libQt5Xml.so.5 +0 -0
  230. package/native/lib/libcrypto.so.3 +0 -0
  231. package/native/lib/libgcc_s.so.1 +0 -0
  232. package/native/lib/libmariadb.so.3 +0 -0
  233. package/native/lib/libmp3lame.so.0 +0 -0
  234. package/native/lib/libmp3lame.so.0.0.0 +0 -0
  235. package/native/lib/libopus.so.0 +0 -0
  236. package/native/lib/libopus.so.0.8.0 +0 -0
  237. package/native/lib/libopusfile.so.0 +0 -0
  238. package/native/lib/libopusfile.so.0.4.2 +0 -0
  239. package/native/lib/libopusurl.so.0 +0 -0
  240. package/native/lib/libopusurl.so.0.4.2 +0 -0
  241. package/native/lib/libsqlite3.so.0 +0 -0
  242. package/native/lib/libsqlite3.so.0.8.6 +0 -0
  243. package/native/lib/libssl.so.3 +0 -0
  244. package/native/lib/libstdc++.so.6 +0 -0
  245. package/native/lib/libstdc++.so.6.0.30 +0 -0
  246. package/native/mediaservice/libgstaudiodecoder.so +0 -0
  247. package/native/mediaservice/libgstcamerabin.so +0 -0
  248. package/native/mediaservice/libgstmediacapture.so +0 -0
  249. package/native/mediaservice/libgstmediaplayer.so +0 -0
  250. package/native/platforms/libqeglfs.so +0 -0
  251. package/native/platforms/libqlinuxfb.so +0 -0
  252. package/native/platforms/libqminimal.so +0 -0
  253. package/native/platforms/libqminimalegl.so +0 -0
  254. package/native/platforms/libqoffscreen.so +0 -0
  255. package/native/platforms/libqvnc.so +0 -0
  256. package/native/platforms/libqxcb.so +0 -0
  257. package/native/qt.conf +3 -0
  258. package/native/sqldrivers/libqsqlite.so +0 -0
  259. package/native/sqldrivers/libqsqlmysql.so +0 -0
  260. package/native/sqldrivers/libsqlitecipher.so +0 -0
  261. package/native/tts.js +151 -0
  262. package/package.json +23 -0
@@ -0,0 +1,399 @@
1
+ /**
2
+ * 选择列表插件
3
+ * varstion 1.0.1
4
+ * by Houfeng
5
+ * Houfeng@DCloud.io
6
+ */
7
+
8
+ (function($, document) {
9
+
10
+ //创建 DOM
11
+ $.dom = function(str) {
12
+ if (typeof(str) !== 'string') {
13
+ if ((str instanceof Array) || (str[0] && str.length)) {
14
+ return [].slice.call(str);
15
+ } else {
16
+ return [str];
17
+ }
18
+ }
19
+ if (!$.__create_dom_div__) {
20
+ $.__create_dom_div__ = document.createElement('div');
21
+ }
22
+ $.__create_dom_div__.innerHTML = str;
23
+ return [].slice.call($.__create_dom_div__.childNodes);
24
+ };
25
+
26
+ var _listpickerId = 0;
27
+
28
+ var ListPicker = $.ListPicker = $.Class.extend({
29
+ init: function(box, options) {
30
+ var self = this;
31
+ if (!box) {
32
+ throw "构造 ListPicker 时找不到元素";
33
+ }
34
+ self.box = box;
35
+ //避免重复初始化开始
36
+ if (self.box.listpickerId) return;
37
+ self.listpickerId = self.box.listpickerId = "listpicker-" + (++_listpickerId);
38
+ //避免重复初始化结束
39
+ self.box.setAttribute('data-listpicker-id', self.box.listpickerId);
40
+ //处理 options
41
+ options = options || {};
42
+ options.fiexdDur = options.fiexdDur || 150;
43
+ options.highlightStyle = options.highlightStyle || 'color: green;';
44
+ //在 ios 上启用 h5 模式,
45
+ if ($.os.ios) {
46
+ options.enabledH5 = true;
47
+ }
48
+ //如果没有设定 enabled3d,将默认用 3d 模式
49
+ if (options.enabled3d === null || typeof options.enabled3d === 'undefined') {
50
+ options.enabled3d = $.os.ios;
51
+ }
52
+ //
53
+ self.options = options;
54
+ self._create();
55
+ self._handleShim();
56
+ self._bindEvent();
57
+ self._applyToBox();
58
+ self._handleHighlight();
59
+ },
60
+ _create: function() {
61
+ var self = this;
62
+ self.boxInner = $('.mui-listpicker-inner', self.box)[0];
63
+ self.boxHeight = self.box.offsetHeight;
64
+ self.list = $('ul', self.boxInner)[0];
65
+ //refresh 中会执行 self.itemElementArray = [].slice.call($('li', self.list));
66
+ self.refresh();
67
+ var firstItem = self.itemElementArray[0];
68
+ self.itemHeight = 0;
69
+ if (firstItem) {
70
+ self.itemHeight = firstItem.offsetHeight;
71
+ } else {
72
+ self.list.innerHTML = "<li>...</li>";
73
+ firstItem = $('li', self.list)[0];
74
+ self.itemHeight = firstItem.offsetHeight;
75
+ self.list.innerHTML = '';
76
+ }
77
+ self.list.style.paddingTop = self.list.style.paddingBottom = (self.boxHeight / 2 - self.itemHeight / 2) + 'px';
78
+ //创建中间选中项的高亮行
79
+ self.rule = $.dom('<div class="mui-listpicker-rule"> </div>')[0];
80
+ self.rule.style.height = self.itemHeight + 'px';
81
+ self.rule.style.marginTop = -(self.itemHeight / 2) + 'px';
82
+ self.box.appendChild(self.rule);
83
+ self.middle = self.boxInner.offsetHeight / 2;
84
+ self.showLine = parseInt((self.boxInner.offsetHeight / self.itemHeight).toFixed(0));
85
+ //是否启用 3d 效果
86
+ if (self.options.enabled3d) {
87
+ self.box.classList.add('three-dimensional');
88
+ }
89
+ },
90
+ //根据 options 处理不同平台兼容问题
91
+ _handleShim: function() {
92
+ var self = this;
93
+ if (self.options.enabledH5) {
94
+ self.options.fiexdDur *= 2;
95
+ self.boxInner.classList.add($.className('scroll-wrapper'));
96
+ self.list.classList.add($.className('scroll'));
97
+ self._scrollerApi = $(self.boxInner).scroll({
98
+ deceleration: 0.002
99
+ });
100
+ //增加惯性滚动时的 scroll 触发处理
101
+ //shimTetTranslate(self._scrollerApi);
102
+ //--
103
+ self.setScrollTop = function(y, dur, callback) {
104
+ self._scrollerApi.scrollTo(0, -y, dur);
105
+ };
106
+ self.getScrollTop = function() {
107
+ var self = this;
108
+ if (self._scrollerApi.lastY > 0) {
109
+ return 0
110
+ } else {
111
+ return Math.abs(self._scrollerApi.lastY);
112
+ }
113
+ };
114
+ } else {
115
+ //alert(0);
116
+ //为 boxInner 增加 scrollend 事件 (没有原生 scrollend 事件)
117
+ self.boxInner.addEventListener('scroll', function(event) {
118
+ if (self.disabledScroll) return;
119
+ self.isScrolling = true;
120
+ if (self.scrollTimer) {
121
+ clearTimeout(self.scrollTimer);
122
+ }
123
+ self.scrollTimer = setTimeout(function() {
124
+ self.isScrolling = false;
125
+ if (!self.isTouchDown || !$.os.ios) {
126
+ $.trigger(self.boxInner, 'scrollend');
127
+ }
128
+ }, 150);
129
+ }, false);
130
+ self.aniScrollTop = function(y, dur, callback) {
131
+ self.disabledScroll = true;
132
+ var stepNum = dur > 0 ? dur / 10 : 1;
133
+ var stepSize = (y - self.boxInner.scrollTop) / stepNum;
134
+ self._lastScrollTop = self.boxInner.scrollTop; //记录最后的位置
135
+ self._aniScrollTop(y, 0, stepNum, stepSize, callback);
136
+ };
137
+ self._aniScrollTop = function(y, stepIndex, stepNum, stepSize, callback) {
138
+ self.boxInner.scrollTop = self._lastScrollTop + stepSize * stepIndex;
139
+ if (stepIndex < stepNum) {
140
+ setTimeout(function() {
141
+ self._aniScrollTop(y, ++stepIndex, stepNum, stepSize);
142
+ }, 10);
143
+ } else {
144
+ //self.boxInner.scrollTop = y;
145
+ self.disabledScroll = false;
146
+ if (callback) callback();
147
+ }
148
+ };
149
+ self.setScrollTop = function(y, dur, callback) {
150
+ self.aniScrollTop(y, dur);
151
+ };
152
+ self.getScrollTop = function() {
153
+ var self = this;
154
+ return self.boxInner.scrollTop;
155
+ };
156
+ //在 ios 上手指不弹起时,防止定位抖动开始
157
+ if ($.os.ios) {
158
+ self.boxInner.addEventListener('touchstart', function(event) {
159
+ var self = this;
160
+ self.isTouchDown = true;
161
+ }, false);
162
+ self.boxInner.addEventListener('touchend', function(event) {
163
+ self.isTouchDown = false;
164
+ if (!self.isScrolling) {
165
+ setTimeout(function() {
166
+ $.trigger(self.boxInner, 'scrollend');
167
+ }, 0);
168
+ }
169
+ }, false);
170
+ }
171
+ //在 ios 上手指不弹起时,防止定位抖动结束
172
+ }
173
+ },
174
+ _handleHighlight: function() {
175
+ var self = this;
176
+ var scrollTop = self.getScrollTop();
177
+ var fiexd = parseInt((scrollTop / self.itemHeight).toFixed(0));
178
+ var lastIndex = self.itemElementArray.length - 1;
179
+ var displayRange = parseInt((self.showLine / 2).toFixed(0));
180
+ var displayBegin = fiexd - displayRange;
181
+ var displayEnd = fiexd + displayRange;
182
+ if (displayBegin < 0) {
183
+ displayBegin = 0;
184
+ }
185
+ if (displayEnd > lastIndex) {
186
+ displayEnd = lastIndex;
187
+ }
188
+ //高亮选中行开始
189
+ for (var index = displayBegin; index <= displayEnd; index++) {
190
+ var itemElement = self.itemElementArray[index];
191
+ if (index == fiexd) {
192
+ itemElement.classList.add($.className('listpicker-item-selected'));
193
+ //itemElement.classList.remove($.className('listpicker-item-before'));
194
+ //itemElement.classList.remove($.className('listpicker-item-after'));
195
+ } else {
196
+ //itemElement.classList.add($.className('listpicker-item-' + (fiexd > index ? 'before' : 'after')));
197
+ itemElement.classList.remove($.className('listpicker-item-selected'));
198
+ }
199
+ if (self.options.enabled3d) {
200
+ //3d 处理开始
201
+ var itemOffset = self.middle - (itemElement.offsetTop - scrollTop + self.itemHeight / 2) + 1;
202
+ var percentage = itemOffset / self.itemHeight;
203
+ var angle = (18 * percentage);
204
+ //if (angle > 180) angle = 180;
205
+ //if (angle < -180) angle = -180;
206
+ itemElement.style.webkitTransform = 'rotateX(' + angle + 'deg) translate3d(0px,0px,' + (0 - Math.abs(percentage * 12)) + 'px)';
207
+ //3d 处理结束
208
+ }
209
+ }
210
+ },
211
+ _triggerChange: function() {
212
+ var self = this;
213
+ $.trigger(self.box, 'change', {
214
+ index: self.getSelectedIndex(),
215
+ value: self.getSelectedValue(),
216
+ text: self.getSelectedText(),
217
+ item: self.getSelectedItem(),
218
+ element: self.getSelectedElement()
219
+ });
220
+ },
221
+ _scrollEndHandle: function() {
222
+ var self = this;
223
+ var scrollTop = self.getScrollTop();
224
+ var fiexd = (scrollTop / self.itemHeight).toFixed(0);
225
+ self.disabledScrollEnd = true;
226
+ self.setSelectedIndex(fiexd);
227
+ self._triggerChange();
228
+ self._handleHighlight();
229
+ setTimeout(function() {
230
+ self.disabledScrollEnd = false;
231
+ self._handleHighlight();
232
+ }, self.options.fiexdDur);
233
+ },
234
+ _bindEvent: function() {
235
+ var self = this;
236
+ //滚动处理高亮
237
+ self.boxInner.addEventListener('scroll', function(event) {
238
+ self._handleHighlight(event);
239
+ }, false);
240
+ //处理滚动结束
241
+ self.disabledScrollEnd = false;
242
+ self.boxInner.addEventListener('scrollend', function(event) {
243
+ if (self.disabledScrollEnd) return;
244
+ self.disabledScrollEnd = true;
245
+ self._scrollEndHandle();
246
+ }, false);
247
+ //绑定项 tap 事件
248
+ $(self.boxInner).on('tap', 'li', function(event) {
249
+ var tapItem = this;
250
+ var items = [].slice.call($('li', self.list));
251
+ for (var i in items) {
252
+ var item = items[i];
253
+ if (item == tapItem) {
254
+ self.setSelectedIndex(i);
255
+ return;
256
+ }
257
+ };
258
+ });
259
+ },
260
+ getSelectedIndex: function() {
261
+ var self = this;
262
+ return (self.getScrollTop() / self.itemHeight).toFixed(0);
263
+ },
264
+ setSelectedIndex: function(index, noAni) {
265
+ var self = this;
266
+ index = (index || 0);
267
+ self.setScrollTop(self.itemHeight * index, noAni ? 0 : self.options.fiexdDur);
268
+ },
269
+ getSelectedElement: function() {
270
+ var self = this;
271
+ var index = self.getSelectedIndex();
272
+ return $('li', self.list)[index];
273
+ },
274
+ getSelectedItem: function() {
275
+ var self = this;
276
+ var itemElement = self.getSelectedElement();
277
+ if (!itemElement) return null;
278
+ var itemJson = itemElement.getAttribute('data-item');
279
+ return itemJson ? JSON.parse(itemJson) : {
280
+ text: itemElement.innerText,
281
+ value: itemElement.getAttribute('data-value')
282
+ };
283
+ },
284
+ refresh: function() {
285
+ var self = this;
286
+ self.itemElementArray = [].slice.call($('li', self.list));
287
+ },
288
+ setItems: function(items) {
289
+ var self = this;
290
+ var buffer = [];
291
+ for (index in items) {
292
+ var item = items[index] || {
293
+ text: 'null',
294
+ value: 'null' + index
295
+ };
296
+ var itemJson = JSON.stringify(item);
297
+ buffer.push("<li data-value='" + item.value + "' data-item='" + itemJson + "'>" + item.text + "</li>");
298
+ };
299
+ self.list.innerHTML = buffer.join('');
300
+ if (self._scrollerApi && self._scrollerApi.refresh) {
301
+ self._scrollerApi.refresh();
302
+ }
303
+ self.refresh();
304
+ self._handleHighlight();
305
+ self._triggerChange();
306
+ },
307
+ getItems: function() {
308
+ var self = this;
309
+ var items = [];
310
+ var itemElements = $('li', self.list);
311
+ for (index in itemElements) {
312
+ var itemElement = itemElements[index];
313
+ var itemJson = itemElement.getAttribute('data-item');
314
+ items.push(itemJson ? JSON.parse(itemJson) : {
315
+ text: itemElement.innerText,
316
+ value: itemElement.getAttribute('data-value')
317
+ });
318
+ }
319
+ return items;
320
+ },
321
+ getSelectedValue: function() {
322
+ var self = this;
323
+ var item = self.getSelectedItem();
324
+ if (!item) return null;
325
+ return item.value;
326
+ },
327
+ getSelectedText: function() {
328
+ var self = this;
329
+ var item = self.getSelectedItem();
330
+ if (!item) return null;
331
+ return item.text;
332
+ },
333
+ setSelectedValue: function(value, noAni) {
334
+ var self = this;
335
+ var itemElements = $('li', self.list);
336
+ for (index in itemElements) {
337
+ var itemElement = itemElements[index];
338
+ if (!itemElement || !itemElement.getAttribute) {
339
+ continue;
340
+ }
341
+ if (itemElement.getAttribute('data-value') == value) {
342
+ self.setSelectedIndex(index, noAni);
343
+ return;
344
+ }
345
+ }
346
+ },
347
+ _applyToBox: function() {
348
+ var self = this;
349
+ var memberArray = [
350
+ "getSelectedIndex",
351
+ "setSelectedIndex",
352
+ "getSelectedElement",
353
+ "getSelectedItem",
354
+ "setItems",
355
+ "getItems",
356
+ "getSelectedValue",
357
+ "getSelectedText",
358
+ "setSelectedValue"
359
+ ];
360
+ var _clone = function(name) {
361
+ if (typeof self[name] === 'function') {
362
+ self.box[name] = function() {
363
+ return self[name].apply(self, arguments);
364
+ };
365
+ } else {
366
+ self.box[name] = self[name];
367
+ }
368
+ };
369
+ for (var i in memberArray) {
370
+ var name = memberArray[i];
371
+ _clone(name);
372
+ }
373
+ }
374
+ });
375
+
376
+ //添加 locker 插件
377
+ $.fn.listpicker = function(options) {
378
+ //遍历选择的元素
379
+ this.each(function(i, element) {
380
+ if (options) {
381
+ new ListPicker(element, options);
382
+ } else {
383
+ var optionsText = element.getAttribute('data-listpicker-options');
384
+ var _options = optionsText ? JSON.parse(optionsText) : {};
385
+ _options.enabledH5 = element.getAttribute('data-listpicker-enabledh5') || _options.enabledH5;
386
+ _options.enabled3d = element.getAttribute('data-listpicker-enabled3d') || _options.enabled3d;
387
+ _options.fixedDur = element.getAttribute('data-listpicker-fixddur') || _options.fixedDur;
388
+ new ListPicker(element, _options);
389
+ }
390
+ });
391
+ return this;
392
+ };
393
+
394
+ //自动初始化
395
+ $.ready(function() {
396
+ $('.mui-listpicker').listpicker();
397
+ });
398
+
399
+ })(mui, document);
@@ -0,0 +1,303 @@
1
+ /**
2
+ * 手势锁屏插件
3
+ * varstion 1.0.5
4
+ * by Houfeng
5
+ * Houfeng@DCloud.io
6
+ */
7
+
8
+ (function($, doc) {
9
+
10
+ var touchSupport = ('ontouchstart' in document);
11
+ var startEventName = touchSupport ? $.EVENT_START : 'mousedown';
12
+ var moveEventName = touchSupport ? $.EVENT_MOVE : 'mousemove';
13
+ var endEventName = touchSupport ? $.EVENT_END : 'mouseup';
14
+ var lockerHolderClassName = $.className('locker-holder');
15
+ var lockerClassName = $.className('locker');
16
+
17
+ var styleHolder = doc.querySelector('head') || doc.querySelector('body');
18
+ styleHolder.innerHTML += "<style>.mui-locker-holder{overflow:hidden;position:relative;padding:0px;}.mui-locker-holder canvas{width:100%;height:100%;}</style>";
19
+
20
+ var times = 2;
21
+
22
+ function getElementLeft(element) {    
23
+ var actualLeft = element.offsetLeft;    
24
+ var current = element.offsetParent;    
25
+ while (current !== null) {      
26
+ actualLeft += current.offsetLeft;      
27
+ current = current.offsetParent;    
28
+ }    
29
+ return actualLeft;  
30
+ }  
31
+
32
+ function getElementTop(element) {    
33
+ var actualTop = element.offsetTop;    
34
+ var current = element.offsetParent;    
35
+ while (current !== null) {      
36
+ actualTop += current.offsetTop;      
37
+ current = current.offsetParent;    
38
+ }    
39
+ return actualTop;  
40
+ }
41
+
42
+ //定义 Locker 类
43
+ var Locker = $.Locker = $.Class.extend({
44
+ R: 26,
45
+ CW: 400,
46
+ CH: 320,
47
+ OffsetX: 30,
48
+ OffsetY: 30,
49
+
50
+ /**
51
+ * 构造函数
52
+ * */
53
+ init: function(holder, options) {
54
+ var self = this;
55
+ if (!holder) {
56
+ throw "构造 Locker 时缺少容器元素";
57
+ }
58
+ self.holder = holder;
59
+ //
60
+ options = options || {};
61
+ options.callback = options.callback || options.done || $.noop;
62
+ options.times = options.times || times;
63
+ self.options = options;
64
+ self.holder.innerHTML = '<canvas></canvas>';
65
+ //
66
+ self.holder.classList.add(lockerHolderClassName);
67
+ //初始化
68
+ var canvas = self.canvas = $.qsa('canvas', self.holder)[0];
69
+ canvas.on = canvas.addEventListener || function(name, handler, capture) {
70
+ canvas.attachEvent('on' + name, handler, capture);
71
+ };
72
+ canvas.off = canvas.removeEventListener || function(name, handler, capture) {
73
+ canvas.detachEvent('on' + name, handler, capture);
74
+ };
75
+ //
76
+ if (self.options.width) self.holder.style.width = self.options.width + 'px';
77
+ if (self.options.height) self.holder.style.height = self.options.height + 'px';
78
+ self.CW = self.options.width || self.holder.offsetWidth || self.CW;
79
+ self.CH = self.options.height || self.holder.offsetHeight || self.CH;
80
+ //处理 “宽、高” 等数值, 全部扩大 times 倍
81
+ self.R *= self.options.times;
82
+ self.CW *= self.options.times;
83
+ self.CH *= self.options.times;
84
+ self.OffsetX *= self.options.times;
85
+ self.OffsetY *= self.options.times;
86
+ //
87
+ canvas.width = self.CW;
88
+ canvas.height = self.CH;
89
+ var cxt = self.cxt = canvas.getContext("2d");
90
+ //两个圆之间的外距离 就是说两个圆心的距离去除两个半径
91
+ var X = (self.CW - 2 * self.OffsetX - self.R * 2 * 3) / 2;
92
+ var Y = (self.CH - 2 * self.OffsetY - self.R * 2 * 3) / 2;
93
+ self.pointLocationArr = self.caculateNinePointLotion(X, Y);
94
+ self.initEvent(canvas, cxt, self.holder);
95
+ //console.log(X);
96
+ self.draw(cxt, self.pointLocationArr, [], null);
97
+ setTimeout(function() {
98
+ self.draw(cxt, self.pointLocationArr, [], null);
99
+ }, 0);
100
+ },
101
+
102
+ /**
103
+ * 计算
104
+ */
105
+ caculateNinePointLotion: function(diffX, diffY) {
106
+ var self = this;
107
+ var Re = [];
108
+ for (var row = 0; row < 3; row++) {
109
+ for (var col = 0; col < 3; col++) {
110
+ var Point = {
111
+ X: (self.OffsetX + col * diffX + (col * 2 + 1) * self.R),
112
+ Y: (self.OffsetY + row * diffY + (row * 2 + 1) * self.R)
113
+ };
114
+ Re.push(Point);
115
+ }
116
+ }
117
+ return Re;
118
+ },
119
+
120
+ /**
121
+ * 绘制
122
+ */
123
+ draw: function(cxt, _PointLocationArr, _LinePointArr, touchPoint) {
124
+ var self = this;
125
+ var R = self.R;
126
+ if (_LinePointArr.length > 0) {
127
+ cxt.beginPath();
128
+ for (var i = 0; i < _LinePointArr.length; i++) {
129
+ var pointIndex = _LinePointArr[i];
130
+ cxt.lineTo(_PointLocationArr[pointIndex].X, _PointLocationArr[pointIndex].Y);
131
+ }
132
+ cxt.lineWidth = (self.options.lindeWidth || 2) * self.options.times;
133
+ cxt.strokeStyle = self.options.lineColor || "#999"; //连结线颜色
134
+ cxt.stroke();
135
+ cxt.closePath();
136
+ if (touchPoint != null) {
137
+ var lastPointIndex = _LinePointArr[_LinePointArr.length - 1];
138
+ var lastPoint = _PointLocationArr[lastPointIndex];
139
+ cxt.beginPath();
140
+ cxt.moveTo(lastPoint.X, lastPoint.Y);
141
+ cxt.lineTo(touchPoint.X, touchPoint.Y);
142
+ cxt.stroke();
143
+ cxt.closePath();
144
+ }
145
+ }
146
+ for (var i = 0; i < _PointLocationArr.length; i++) {
147
+ var Point = _PointLocationArr[i];
148
+ cxt.fillStyle = self.options.ringColor || "#888"; //圆圈边框颜色
149
+ cxt.beginPath();
150
+ cxt.arc(Point.X, Point.Y, R, 0, Math.PI * 2, true);
151
+ cxt.closePath();
152
+ cxt.fill();
153
+ cxt.fillStyle = self.options.fillColor || "#f3f3f3"; //圆圈填充颜色
154
+ cxt.beginPath();
155
+ cxt.arc(Point.X, Point.Y, R - ((self.options.ringWidth || 2) * self.options.times), 0, Math.PI * 2, true);
156
+ cxt.closePath();
157
+ cxt.fill();
158
+ if (_LinePointArr.indexOf(i) >= 0) {
159
+ cxt.fillStyle = self.options.pointColor || "#777"; //圆圈中心点颜色
160
+ cxt.beginPath();
161
+ cxt.arc(Point.X, Point.Y, R - ((self.options.pointWidth || 16) * self.options.times), 0, Math.PI * 2, true);
162
+ cxt.closePath();
163
+ cxt.fill();
164
+ }
165
+ }
166
+ },
167
+
168
+ isPointSelect: function(touches, linePoint) {
169
+ var self = this;
170
+ for (var i = 0; i < self.pointLocationArr.length; i++) {
171
+ var currentPoint = self.pointLocationArr[i];
172
+ var xdiff = Math.abs(currentPoint.X - touches.elementX);
173
+ var ydiff = Math.abs(currentPoint.Y - touches.elementY);
174
+ var dir = Math.pow((xdiff * xdiff + ydiff * ydiff), 0.5);
175
+ if (dir < self.R) {
176
+ if (linePoint.indexOf(i) < 0) {
177
+ linePoint.push(i);
178
+ }
179
+ break;
180
+ }
181
+ }
182
+ },
183
+
184
+ initEvent: function(canvas, cxt, holder) {
185
+ var self = this;
186
+ var linePoint = [];
187
+ var isDown = false; //针对鼠标事件
188
+ //start
189
+ self._startHandler = function(e) {
190
+ e.point = event.changedTouches ? event.changedTouches[0] : event;
191
+ e.point.elementX = (e.point.pageX - getElementLeft(holder)) * self.options.times;
192
+ e.point.elementY = (e.point.pageY - getElementTop(holder)) * self.options.times;
193
+ self.isPointSelect(e.point, linePoint);
194
+ isDown = true;
195
+ };
196
+ canvas.on(startEventName, self._startHandler, false);
197
+ //move
198
+ self._moveHanlder = function(e) {
199
+ if (!isDown) return;
200
+ e.preventDefault();
201
+ e.point = event.changedTouches ? event.changedTouches[0] : event;
202
+ e.point.elementX = (e.point.pageX - getElementLeft(holder)) * self.options.times;
203
+ e.point.elementY = (e.point.pageY - getElementTop(holder)) * self.options.times;
204
+ var touches = e.point;
205
+ self.isPointSelect(touches, linePoint);
206
+ cxt.clearRect(0, 0, self.CW, self.CH);
207
+ self.draw(cxt, self.pointLocationArr, linePoint, {
208
+ X: touches.elementX,
209
+ Y: touches.elementY
210
+ });
211
+ };
212
+ canvas.on(moveEventName, self._moveHanlder, false);
213
+ //end
214
+ self._endHandler = function(e) {
215
+ e.point = event.changedTouches ? event.changedTouches[0] : event;
216
+ e.point.elementX = (e.point.pageX - getElementLeft(holder)) * self.options.times;
217
+ e.point.elementY = (e.point.pageY - getElementTop(holder)) * self.options.times;
218
+ cxt.clearRect(0, 0, self.CW, self.CH);
219
+ self.draw(cxt, self.pointLocationArr, linePoint, null);
220
+ //事件数据
221
+ var eventData = {
222
+ sender: self,
223
+ points: linePoint
224
+ };
225
+ /*
226
+ * 回调完成事件
227
+ *
228
+ * 备注:
229
+ * 比较理想的做法是为 Locker 的实例启用事件机制,比如 locker.on('done',handler);
230
+ * 在 mui 没有完整的公共事件模块前,此版本中 locker 实例暂通过 options.callback 处理
231
+ */
232
+ self.options.callback(eventData);
233
+ //触发声明的DOM的自定义事件(暂定 done 为事件名,可以考虑更有针对的事件名 )
234
+ $.trigger(self.holder, 'done', eventData);
235
+ //-
236
+ linePoint = [];
237
+ isDown = false;
238
+ };
239
+ canvas.on(endEventName, self._endHandler, false);
240
+ },
241
+
242
+ pointLocationArr: [],
243
+
244
+ /**
245
+ * 清除图形
246
+ * */
247
+ clear: function() {
248
+ var self = this;
249
+ //self.pointLocationArr = [];
250
+ if (self.cxt) {
251
+ self.cxt.clearRect(0, 0, self.CW, self.CH);
252
+ self.draw(self.cxt, self.pointLocationArr, [], {
253
+ X: 0,
254
+ Y: 0
255
+ });
256
+ }
257
+ },
258
+
259
+ /**
260
+ * 释放资源
261
+ * */
262
+ dispose: function() {
263
+ var self = this;
264
+ self.cxt = null;
265
+ self.canvas.off(startEventName, self._startHandler);
266
+ self.canvas.off(moveEventName, self._moveHandler);
267
+ self.canvas.off(endEventName, self._endHandler);
268
+ self.holder.innerHTML = '';
269
+ self.canvas = null;
270
+ }
271
+ });
272
+
273
+ //添加 locker 插件
274
+ $.fn.locker = function(options) {
275
+ //遍历选择的元素
276
+ this.each(function(i, element) {
277
+ if (element.locker) return;
278
+ if (options) {
279
+ element.locker = new Locker(element, options);
280
+ } else {
281
+ var optionsText = element.getAttribute('data-locker-options');
282
+ var _options = optionsText ? JSON.parse(optionsText) : {};
283
+ _options.lineColor = element.getAttribute('data-locker-line-color') || _options.lineColor;
284
+ _options.ringColor = element.getAttribute('data-locker-ring-color') || _options.ringColor;
285
+ _options.fillColor = element.getAttribute('data-locker-fill-color') || _options.fillColor;
286
+ _options.pointColor = element.getAttribute('data-locker-point-color') || _options.pointColor;
287
+ _options.width = element.getAttribute('data-locker-width') || _options.width;
288
+ _options.height = element.getAttribute('data-locker-height') || _options.height;
289
+ element.locker = new Locker(element, _options);
290
+ }
291
+ });
292
+ return this[0] ? this[0].locker : null;
293
+ };
294
+
295
+ //自动处理 class='mui-locker' 的 dom
296
+ try {
297
+ $('.' + lockerClassName).locker();
298
+ } catch (ex) {}
299
+ $.ready(function() {
300
+ $('.' + lockerClassName).locker();
301
+ });
302
+
303
+ }(mui, document));