@kyfe/ks-query-table 0.0.22 → 0.0.23

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 (311) hide show
  1. package/index.js +11 -0
  2. package/package.json +10 -81
  3. package/.bitmap +0 -38
  4. package/.editorconfig +0 -5
  5. package/.env.dev +0 -2
  6. package/.env.gray +0 -2
  7. package/.env.prod +0 -2
  8. package/.env.stg +0 -3
  9. package/.env.uat +0 -2
  10. package/.eslintignore +0 -1
  11. package/.eslintrc.js +0 -25
  12. package/.gitmodules +0 -4
  13. package/.prettierrc +0 -11
  14. package/README.md +0 -15
  15. package/babel.config.js +0 -10
  16. package/build-apm.sh +0 -9
  17. package/build.sh +0 -16
  18. package/config/index.js +0 -20
  19. package/jsconfig.json +0 -7
  20. package/kuasheng-sdk/index.js +0 -80
  21. package/kuasheng-sdk/lib/assets.js +0 -304
  22. package/kuasheng-sdk/lib/context.js +0 -199
  23. package/kuasheng-sdk/lib/layout.js +0 -346
  24. package/kuasheng-sdk/lib/location.js +0 -46
  25. package/kuasheng-sdk/lib/media.js +0 -342
  26. package/kuasheng-sdk/lib/navigation.js +0 -30
  27. package/kuasheng-sdk/lib/request.js +0 -76
  28. package/kuasheng-sdk/lib/system.js +0 -190
  29. package/kuasheng-sdk/lib/userinfo.js +0 -98
  30. package/kuasheng-sdk/util/check.js +0 -102
  31. package/kuasheng-sdk/util/config.js +0 -47
  32. package/kuasheng-sdk/util/device.js +0 -25
  33. package/kuasheng-sdk/util/error.js +0 -19
  34. package/kuasheng-sdk/util/funtional.js +0 -153
  35. package/kuasheng-sdk/util/mixin.js +0 -36
  36. package/kuasheng-sdk/util/requestUtil.js +0 -41
  37. package/kuasheng-sdk/util/response.js +0 -33
  38. package/kuasheng-sdk/util/warn.js +0 -35
  39. package/kuasheng-ui/CHANGELOG.md +0 -9
  40. package/kuasheng-ui/components/card.vue +0 -57
  41. package/kuasheng-ui/components/ks-area-select/README.md +0 -43
  42. package/kuasheng-ui/components/ks-area-select/area-picker.vue +0 -554
  43. package/kuasheng-ui/components/ks-area-select/area-search.vue +0 -363
  44. package/kuasheng-ui/components/ks-area-select/areas-pop.vue +0 -56
  45. package/kuasheng-ui/components/ks-area-select/common.js +0 -183
  46. package/kuasheng-ui/components/ks-area-select/index.vue +0 -355
  47. package/kuasheng-ui/components/ks-area-select/mixins.js +0 -216
  48. package/kuasheng-ui/components/ks-area-single-select/README.md +0 -50
  49. package/kuasheng-ui/components/ks-area-single-select/hot-city.js +0 -45
  50. package/kuasheng-ui/components/ks-area-single-select/index.vue +0 -324
  51. package/kuasheng-ui/components/ks-calendar/index.vue +0 -269
  52. package/kuasheng-ui/components/ks-call-phone/call-tips.vue +0 -70
  53. package/kuasheng-ui/components/ks-call-phone/call.vue +0 -178
  54. package/kuasheng-ui/components/ks-call-phone/index.js +0 -48
  55. package/kuasheng-ui/components/ks-call-phone/index.vue +0 -131
  56. package/kuasheng-ui/components/ks-call-phone//345/221/274/345/217/253/347/273/204/344/273/266.md +0 -0
  57. package/kuasheng-ui/components/ks-date-picker/README.md +0 -23
  58. package/kuasheng-ui/components/ks-date-picker/date-picker-bottom.vue +0 -123
  59. package/kuasheng-ui/components/ks-date-picker/date-picker-dropdown.vue +0 -80
  60. package/kuasheng-ui/components/ks-date-picker/date-picker-right.vue +0 -87
  61. package/kuasheng-ui/components/ks-date-picker/date-picker-top.vue +0 -88
  62. package/kuasheng-ui/components/ks-date-picker/date-picker.js +0 -15
  63. package/kuasheng-ui/components/ks-date-picker/date-range-select.vue +0 -92
  64. package/kuasheng-ui/components/ks-date-picker/date-select.vue +0 -65
  65. package/kuasheng-ui/components/ks-date-picker/date-week-month.vue +0 -131
  66. package/kuasheng-ui/components/ks-date-picker/index.js +0 -12
  67. package/kuasheng-ui/components/ks-date-picker/mixin.js +0 -92
  68. package/kuasheng-ui/components/ks-date-picker/month-range-select.vue +0 -129
  69. package/kuasheng-ui/components/ks-date-picker/month-select.vue +0 -85
  70. package/kuasheng-ui/components/ks-date-picker/quarter-select.vue +0 -94
  71. package/kuasheng-ui/components/ks-date-picker/style.less +0 -121
  72. package/kuasheng-ui/components/ks-date-picker/utils.js +0 -109
  73. package/kuasheng-ui/components/ks-date-picker/week-select.vue +0 -99
  74. package/kuasheng-ui/components/ks-decrypt/index.vue +0 -159
  75. package/kuasheng-ui/components/ks-employee/README.md +0 -78
  76. package/kuasheng-ui/components/ks-employee/employee-input.vue +0 -173
  77. package/kuasheng-ui/components/ks-employee/employee-list.vue +0 -662
  78. package/kuasheng-ui/components/ks-employee/employee-popup.vue +0 -197
  79. package/kuasheng-ui/components/ks-employee/employee-search.vue +0 -250
  80. package/kuasheng-ui/components/ks-employee/employee-selected.vue +0 -173
  81. package/kuasheng-ui/components/ks-employee/index.js +0 -17
  82. package/kuasheng-ui/components/ks-employee/package-lock.json +0 -5
  83. package/kuasheng-ui/components/ks-employee/package.json +0 -15
  84. package/kuasheng-ui/components/ks-employee/yarn.lock +0 -4
  85. package/kuasheng-ui/components/ks-field-money/index.js +0 -8
  86. package/kuasheng-ui/components/ks-field-money/index.vue +0 -212
  87. package/kuasheng-ui/components/ks-field-money/package.json +0 -11
  88. package/kuasheng-ui/components/ks-field-money/utils.js +0 -65
  89. package/kuasheng-ui/components/ks-field-money//351/207/221/351/242/235/350/275/254/346/215/242/345/231/250.md +0 -0
  90. package/kuasheng-ui/components/ks-history-search/history-input.vue +0 -131
  91. package/kuasheng-ui/components/ks-history-search/history-list.vue +0 -188
  92. package/kuasheng-ui/components/ks-history-search/img/delete.png +0 -0
  93. package/kuasheng-ui/components/ks-history-search/index.js +0 -9
  94. package/kuasheng-ui/components/ks-history-search/index.vue +0 -125
  95. package/kuasheng-ui/components/ks-history-search/package-lock.json +0 -5
  96. package/kuasheng-ui/components/ks-history-search/package.json +0 -15
  97. package/kuasheng-ui/components/ks-history-search/utils.js +0 -35
  98. package/kuasheng-ui/components/ks-input-search/index.vue +0 -106
  99. package/kuasheng-ui/components/ks-list/index.vue +0 -75
  100. package/kuasheng-ui/components/ks-loading/index.js +0 -16
  101. package/kuasheng-ui/components/ks-month/index.vue +0 -47
  102. package/kuasheng-ui/components/ks-month/package.json +0 -3
  103. package/kuasheng-ui/components/ks-month/range.vue +0 -172
  104. package/kuasheng-ui/components/ks-month/single.vue +0 -136
  105. package/kuasheng-ui/components/ks-month/style.less +0 -125
  106. package/kuasheng-ui/components/ks-month/utils.js +0 -35
  107. package/kuasheng-ui/components/ks-nav/index.vue +0 -264
  108. package/kuasheng-ui/components/ks-nav-bar.js +0 -35
  109. package/kuasheng-ui/components/ks-org/ks-org-tree.vue +0 -247
  110. package/kuasheng-ui/components/ks-org/ks-popup-tree.vue +0 -154
  111. package/kuasheng-ui/components/ks-org/ks-tree-input.vue +0 -240
  112. package/kuasheng-ui/components/ks-org/ks-tree-node.vue +0 -94
  113. package/kuasheng-ui/components/ks-org/ks-tree.vue +0 -229
  114. package/kuasheng-ui/components/ks-org/utils.js +0 -54
  115. package/kuasheng-ui/components/ks-popover/index.vue +0 -457
  116. package/kuasheng-ui/components/ks-popover/mixin.js +0 -28
  117. package/kuasheng-ui/components/ks-popover/utils.js +0 -60
  118. package/kuasheng-ui/components/ks-pull-refresh/index.vue +0 -43
  119. package/kuasheng-ui/components/ks-quarter/index.vue +0 -256
  120. package/kuasheng-ui/components/ks-table/README.md +0 -103
  121. package/kuasheng-ui/components/ks-table/cell.vue +0 -31
  122. package/kuasheng-ui/components/ks-table/index.js +0 -8
  123. package/kuasheng-ui/components/ks-table/index.less +0 -486
  124. package/kuasheng-ui/components/ks-table/index.vue +0 -1088
  125. package/kuasheng-ui/components/ks-table/package.json +0 -12
  126. package/kuasheng-ui/components/ks-table/release.md +0 -7
  127. package/kuasheng-ui/components/ks-toast.js +0 -35
  128. package/kuasheng-ui/components/ks-upload/index.vue +0 -174
  129. package/kuasheng-ui/components/ks-user-access.vue +0 -229
  130. package/kuasheng-ui/components/no-data/README.md +0 -45
  131. package/kuasheng-ui/components/no-data/image.js +0 -1
  132. package/kuasheng-ui/components/no-data/index.vue +0 -83
  133. package/kuasheng-ui/components/notice-bar.vue +0 -16
  134. package/kuasheng-ui/components/steps.js +0 -11
  135. package/kuasheng-ui/components/tabs.vue +0 -40
  136. package/kuasheng-ui/index.js +0 -239
  137. package/kuasheng-ui/patch/datetime-picker/datetimePicker.md +0 -0
  138. package/kuasheng-ui/patch/datetime-picker/index.js +0 -46
  139. package/kuasheng-ui/patch/datetime-picker/utils.js +0 -78
  140. package/kuasheng-ui/patch/field/field.md +0 -1
  141. package/kuasheng-ui/patch/field/index.js +0 -122
  142. package/kuasheng-ui/patch/field/utils.js +0 -36
  143. package/kuasheng-ui/patch/form/form.md +0 -7
  144. package/kuasheng-ui/patch/form/index.js +0 -106
  145. package/kuasheng-ui/patch/index.js +0 -12
  146. package/kuasheng-ui/patch/pagination/index.js +0 -78
  147. package/kuasheng-ui/style/animation-ui.less +0 -31
  148. package/kuasheng-ui/style/font/number/font-number1.otf +0 -0
  149. package/kuasheng-ui/style/font/number/font-number2.ttf +0 -0
  150. package/kuasheng-ui/style/images/checked.svg +0 -1
  151. package/kuasheng-ui/style/images/success.svg +0 -1
  152. package/kuasheng-ui/style/index.less +0 -6
  153. package/kuasheng-ui/style/kuasheng-ui.less +0 -207
  154. package/kuasheng-ui/style/reset-vant.less +0 -307
  155. package/kuasheng-ui/style/vant-var.less +0 -138
  156. package/kuasheng-ui/utils/apis.js +0 -17
  157. package/kuasheng-ui/utils/axios-adapter.js +0 -47
  158. package/kuasheng-ui/utils/bem.js +0 -39
  159. package/kuasheng-ui/utils/bus.js +0 -97
  160. package/kuasheng-ui/utils/common.js +0 -88
  161. package/kuasheng-ui/utils/decrypt/config.js +0 -12
  162. package/kuasheng-ui/utils/decrypt/decrypt-api.js +0 -139
  163. package/kuasheng-ui/utils/decrypt/index.js +0 -6
  164. package/kuasheng-ui/utils/decrypt/mask.js +0 -36
  165. package/kuasheng-ui/utils/decrypt/virtual.js +0 -44
  166. package/kuasheng-ui/utils/directive.js +0 -57
  167. package/kuasheng-ui/utils/directive.md +0 -23
  168. package/kuasheng-ui/utils/drcheck-plugin.js +0 -219
  169. package/kuasheng-ui/utils/error-plugin.js +0 -88
  170. package/kuasheng-ui/utils/filter.js +0 -149
  171. package/kuasheng-ui/utils/http-interceptors.js +0 -18
  172. package/kuasheng-ui/utils/http.js +0 -140
  173. package/kuasheng-ui/utils/index.js +0 -5
  174. package/kuasheng-ui/utils/init-event.js +0 -20
  175. package/kuasheng-ui/utils/log.js +0 -309
  176. package/kuasheng-ui/utils/token.js +0 -9
  177. package/kuasheng-ui/utils/type.js +0 -45
  178. package/kuasheng-ui/utils/validate.js +0 -20
  179. package/kuasheng-ui/utils/watermark.js +0 -67
  180. package/kuasheng-ui/version.js +0 -1
  181. package/ky-apm/client.js +0 -37
  182. package/ky-apm/customHttp.js +0 -38
  183. package/ky-apm/index.js +0 -68
  184. package/ky-apm/plugins/performance.js +0 -84
  185. package/ky-apm/plugins/self-error.js +0 -26
  186. package/ky-apm/warn-log.js +0 -3
  187. package/plugin/ks-chii-webpack-html/index.js +0 -53
  188. package/plugin/ks-chii-webpack-html/package.json +0 -16
  189. package/postcss.config.js +0 -15
  190. package/public/capsule-positon.js +0 -50
  191. package/public/fonts/DingTalkJinBuTi.ttf +0 -0
  192. package/public/framework/axios@0.19.0.min.js +0 -9
  193. package/public/framework/fastclick@1.0.6.min.js +0 -1
  194. package/public/framework/iconfont/iconfont.css +0 -91
  195. package/public/framework/iconfont/iconfont.js +0 -1
  196. package/public/framework/iconfont/iconfont.json +0 -142
  197. package/public/framework/iconfont/iconfont.ttf +0 -0
  198. package/public/framework/iconfont/iconfont.woff +0 -0
  199. package/public/framework/iconfont/iconfont.woff2 +0 -0
  200. package/public/framework/vant@2.5.6.min.js +0 -7
  201. package/public/framework/vue-router@3.1.3.min.js +0 -6
  202. package/public/framework/vue@2.6.10.runtime.min.js +0 -6
  203. package/public/framework/vuex@3.1.1.min.js +0 -6
  204. package/public/index.html +0 -260
  205. package/public/ks@3.0.8.umd.min.js +0 -1
  206. package/public/ksui@4.0.27.umd.min.js +0 -10
  207. package/public/status-bar-preset.js +0 -39
  208. package/qt-npm/index.js +0 -11
  209. package/qt-npm/package.json +0 -13
  210. package/src/App.vue +0 -204
  211. package/src/README.md +0 -15
  212. package/src/common/README.md +0 -94
  213. package/src/common/http/axios-adapter.js +0 -47
  214. package/src/common/http/common.js +0 -88
  215. package/src/common/http/http-interceptors.js +0 -18
  216. package/src/common/http/http-lock.js +0 -45
  217. package/src/common/http/index.js +0 -163
  218. package/src/common/http/token.js +0 -9
  219. package/src/common/styles/font/AlibabaSans102Ver2-Md.ttf +0 -0
  220. package/src/common/styles/font.less +0 -12
  221. package/src/common/styles/variables.less +0 -43
  222. package/src/common/utils/index.js +0 -1
  223. package/src/common/utils/platform/README.md +0 -1
  224. package/src/common/utils/platform/android/.gitkeep +0 -0
  225. package/src/common/utils/platform/core/index.js +0 -24
  226. package/src/common/utils/platform/index.js +0 -164
  227. package/src/common/utils/platform/ios/.gitkeep +0 -0
  228. package/src/common/utils/platform/subscribe/helper.js +0 -38
  229. package/src/common/utils/platform/subscribe/index.js +0 -204
  230. package/src/common/utils/platform/subscribe/table-animation.js +0 -75
  231. package/src/config/index.js +0 -31
  232. package/src/config.js +0 -1
  233. package/src/main.js +0 -73
  234. package/src/router.js +0 -52
  235. package/src/view/home/config.js +0 -101
  236. package/src/view/home/demo1.vue +0 -223
  237. package/src/view/home/demo2.vue +0 -124
  238. package/src/view/home/demo3.vue +0 -51
  239. package/src/view/home/demo4.vue +0 -140
  240. package/src/view/home/index.vue +0 -97
  241. package/src/view/home/query-table/README.md +0 -45
  242. package/src/view/home/query-table/api/index.js +0 -12
  243. package/src/view/home/query-table/assets/horizontal-back.svg +0 -1
  244. package/src/view/home/query-table/components/pe-table/cell.js +0 -181
  245. package/src/view/home/query-table/components/pe-table/collapse.js +0 -334
  246. package/src/view/home/query-table/components/pe-table/empty.vue +0 -48
  247. package/src/view/home/query-table/components/pe-table/header.js +0 -328
  248. package/src/view/home/query-table/components/pe-table/images/abnormal.png +0 -0
  249. package/src/view/home/query-table/components/pe-table/images/empty.png +0 -0
  250. package/src/view/home/query-table/components/pe-table/images/fold.svg +0 -1
  251. package/src/view/home/query-table/components/pe-table/images/sort.svg +0 -1
  252. package/src/view/home/query-table/components/pe-table/images/sorting.svg +0 -1
  253. package/src/view/home/query-table/components/pe-table/images/unfold.svg +0 -1
  254. package/src/view/home/query-table/components/pe-table/index.vue +0 -847
  255. package/src/view/home/query-table/components/pe-table/load-more.js +0 -46
  256. package/src/view/home/query-table/components/pe-table/props/index.js +0 -193
  257. package/src/view/home/query-table/components/pe-table/row.vue +0 -118
  258. package/src/view/home/query-table/components/pe-table/scrollbar.js +0 -424
  259. package/src/view/home/query-table/components/pe-table/stretch-damping.js +0 -112
  260. package/src/view/home/query-table/components/pe-table/style/cell.less +0 -89
  261. package/src/view/home/query-table/components/pe-table/style/empty.less +0 -48
  262. package/src/view/home/query-table/components/pe-table/style/header.less +0 -141
  263. package/src/view/home/query-table/components/pe-table/style/index.less +0 -88
  264. package/src/view/home/query-table/components/pe-table/style/load-more.less +0 -61
  265. package/src/view/home/query-table/components/pe-table/style/row.less +0 -6
  266. package/src/view/home/query-table/components/pe-table/table-loading.vue +0 -120
  267. package/src/view/home/query-table/components/pe-table/table-total.vue +0 -57
  268. package/src/view/home/query-table/components/pe-table/utils/animate.js +0 -80
  269. package/src/view/home/query-table/components/pe-table/utils/columns.js +0 -290
  270. package/src/view/home/query-table/components/pe-table/utils/data.js +0 -12
  271. package/src/view/home/query-table/components/pe-table/utils/fixed.js +0 -69
  272. package/src/view/home/query-table/components/pe-table/utils/formatter.js +0 -327
  273. package/src/view/home/query-table/components/pe-table/utils/render-cells.js +0 -424
  274. package/src/view/home/query-table/components/pe-table/utils/slot.js +0 -28
  275. package/src/view/home/query-table/components/pe-table/utils/tools.js +0 -84
  276. package/src/view/home/query-table/components/pe-table/utils/touch-scroll.js +0 -417
  277. package/src/view/home/query-table/components/query-table/index.vue +0 -497
  278. package/src/view/home/query-table/components/query-table/mixins/column-mixin.js +0 -102
  279. package/src/view/home/query-table/components/query-table/mixins/column-setting.js +0 -143
  280. package/src/view/home/query-table/components/query-table/mixins/data-mixin.js +0 -519
  281. package/src/view/home/query-table/components/query-table/mixins/pagination-mixin.js +0 -26
  282. package/src/view/home/query-table/components/query-table/mixins/table-fixed.js +0 -130
  283. package/src/view/home/query-table/components/query-table/mixins/table-horizontal.js +0 -119
  284. package/src/view/home/query-table/components/table-horizontal.vue +0 -99
  285. package/src/view/home/query-table/components/table-pagination.vue +0 -32
  286. package/src/view/home/query-table/components/table-settings/assets/arrpw-up.svg +0 -1
  287. package/src/view/home/query-table/components/table-settings/assets/disabled-down.svg +0 -1
  288. package/src/view/home/query-table/components/table-settings/assets/disabled-up.svg +0 -1
  289. package/src/view/home/query-table/components/table-settings/assets/down.svg +0 -1
  290. package/src/view/home/query-table/components/table-settings/assets/up.svg +0 -1
  291. package/src/view/home/query-table/components/table-settings/index.less +0 -294
  292. package/src/view/home/query-table/components/table-settings/index.vue +0 -260
  293. package/src/view/home/query-table/components/table-settings/settings.vue +0 -479
  294. package/src/view/home/query-table/components/table-settings/test.js +0 -626
  295. package/src/view/home/query-table/components/table-settings//344/270/252/346/200/247/350/256/276/347/275/256.md +0 -0
  296. package/src/view/home/query-table/components/tooltip.js +0 -124
  297. package/src/view/home/query-table/hooks/use-cache-promise.js +0 -27
  298. package/src/view/home/query-table/hooks/use-column-config.js +0 -190
  299. package/src/view/home/query-table/hooks/use-encryption.js +0 -0
  300. package/src/view/home/query-table/hooks/use-generic-search.js +0 -95
  301. package/src/view/home/query-table/index.js +0 -7
  302. package/src/view/home/query-table/store/column-store.js +0 -0
  303. package/src/view/home/query-table/styles/table.less +0 -24
  304. package/src/view/home/query-table/utils/column.js +0 -36
  305. package/src/view/home/query-table/utils/config.js +0 -12
  306. package/src/view/home/query-table/utils/encryption.js +0 -32
  307. package/src/view/home/query-table/utils/http.js +0 -1
  308. package/src/view/home/query-table/utils/localStorage.js +0 -35
  309. package/src/view/home//351/246/226/351/241/265.md +0 -0
  310. package/src/web.js +0 -99
  311. package/vue.config.js +0 -131
@@ -1,199 +0,0 @@
1
- /*
2
- * @Author: 吴焕隆
3
- * @Date: 2019-09-10 17:42:17
4
- * @Last Modified by: 吴焕隆
5
- * @Last Modified time: 2020-03-20 14:40:25
6
- * @desc 方法注册器,将js方法注册到原生的方法暴露出来
7
- */
8
-
9
- import { throwError, info } from '../util/warn'
10
- import KsBridgeError from '../util/error'
11
- import { KS_BRIDGE, KSEXPROT_RPCNAME, KSBridgeLogErrorCodes, KSBridgeLogPrefix, KS_BRIDGE_VERSION } from '../util/config'
12
- import device from '../util/device'
13
- import { isType } from '../util/check'
14
-
15
-
16
- const sendReq = (cmd, resolve, reject) => {
17
- // 创建一个临时的callback, 给cmd上自动拼接一个callback
18
- const ID = `__callback__${new Date().getTime() + (Math.random() * 10).toFixed(5).toString().replace('.', '')}`
19
- const version = cmd.version || KS_BRIDGE_VERSION
20
- const method = cmd.method
21
- const params = cmd.params || {}
22
-
23
- const request = {
24
- ID,
25
- version,
26
- method,
27
- params
28
- }
29
-
30
- try {
31
- if (device.isAndroid || device.isAndroidPad) {
32
- const promot = 'ksjsbridge://dispatch/' + JSON.stringify(request)
33
- if (window.kyeAndroid && window.kyeAndroid.callAction) {
34
- window.kyeAndroid.callAction(promot)
35
- } else {
36
- window.prompt(promot)
37
- }
38
- } else if (device.isIphone || device.isIpod || device.isIpad) {
39
- window[KSEXPROT_RPCNAME].jsContext.postMessage(window.JSON.stringify(request))
40
- }
41
-
42
- window[KSEXPROT_RPCNAME].sendCmdPools[ID] = {
43
- resolve,
44
- reject
45
- }
46
- } catch (e) {
47
- // const err = new KsBridgeError(`请求解析出错,请联系跨声开发${e.message}`, KSBridgeLogErrorCodes.PARSE_REQUEST_ERR)
48
- throwError(new Error)
49
- }
50
- }
51
-
52
- const plugin = {
53
- callFunc: (cmd = null, callOpt = {}) => {
54
- if (!window[KSEXPROT_RPCNAME].canUseJsbridgeInterface) {
55
- const callMethod = cmd.method
56
- const mock = window[KSEXPROT_RPCNAME]._mockData && window[KSEXPROT_RPCNAME]._mockData[callMethod]
57
- if (mock) {
58
- console.log(`${KSBridgeLogPrefix}${callMethod}调用mock`)
59
- return Promise.resolve(mock)
60
- } else {
61
- console.log(`${KSBridgeLogPrefix}${callMethod}调用失败`)
62
- const err = new KsBridgeError('不支持当前环境运行,请确认开发配置', KSBridgeLogErrorCodes.EVN_NOT_SUPPORT)
63
- throwError(err)
64
- return Promise.reject(err)
65
- }
66
- } else {
67
- const fun = (resolve, reject) => {
68
- // 支持持续回调
69
- if (callOpt && callOpt.keepCall) {
70
- resolve.keepCall = true
71
- }
72
- try {
73
- if (device.isAndroid || device.isAndroidPad) {
74
- // 验证android环境
75
- sendReq(cmd, resolve, reject)
76
- } else if (device.isIphone || device.isIpod || device.isIpad) {
77
- // 验证iOS环境
78
- if (typeof cmd != 'object') {
79
- const err = new KsBridgeError('当前cmd协议不是一个有效的对象', KSBridgeLogErrorCodes.CMD_IS_NOT_AN_OBJ)
80
- throwError(err)
81
- reject(err)
82
- } else {
83
- sendReq(cmd, resolve, reject)
84
- }
85
- } else {
86
- throwError(new KsBridgeError('不支持当前运行环境', KSBridgeLogErrorCodes.EVN_NOT_SUPPORT))
87
- }
88
- } catch (error) {
89
- switch (error.message) {
90
- case "Cannot read property 'event' of undefined":
91
- window[KSEXPROT_RPCNAME].canUseJsbridgeInterface = false
92
- break;
93
-
94
- default:
95
- break;
96
- }
97
-
98
- throwError(new KsBridgeError('请求客户端出错', `${KSBridgeLogPrefix}${error.message}`))
99
- reject(error)
100
- }
101
- }
102
-
103
- const { callType = 'promise', success, fail } = callOpt
104
- if (callType == 'callback') {
105
- return fun(success, fail)
106
- } else {
107
- return new Promise(fun)
108
- }
109
- }
110
- },
111
-
112
- // 原生统一回调
113
- rpcCallback: () => {
114
- window[KSEXPROT_RPCNAME].rpcCallback = (resp) => {
115
- if (typeof resp != 'object') {
116
- const err = new KsBridgeError(`请求结果解析出错,请联系跨声开发`, KSBridgeLogErrorCodes.PARSE_RESPONSE_ERR)
117
- throwError(err)
118
- return
119
- }
120
- const ID = resp.ID || resp.iD
121
- if (resp.code != null && ID) {
122
- const { resolve, reject } = window[KSEXPROT_RPCNAME].sendCmdPools[ID]
123
-
124
- const response = {
125
- data: resp.data,
126
- msg: resp.msg,
127
- code: resp.code
128
- }
129
- if (resp.code == 0) {
130
-
131
- resolve(response.data)
132
- } else {
133
- reject(response)
134
- }
135
-
136
- if (resolve.keepCall !== true) {
137
- delete window[KSEXPROT_RPCNAME].sendCmdPools[ID]
138
- }
139
- } else {
140
- const err = new KsBridgeError(`请求结果解析出错,请联系跨声开发`, KSBridgeLogErrorCodes.PARSE_RESPONSE_ERR)
141
- throwError(err)
142
- }
143
- }
144
- },
145
-
146
- // 安卓底部返回按钮监听是否可以点击返回
147
- registerAndroidToolBarBackHandler: () => {
148
- window[KSEXPROT_RPCNAME].registerAndroidToolBarBackHandler = () => {
149
- if (window[KSEXPROT_RPCNAME].androidToolBarBackHandler && typeof window[KSEXPROT_RPCNAME].androidToolBarBackHandler == 'function') {
150
- return window[KSEXPROT_RPCNAME].androidToolBarBackHandler()
151
- } else {
152
- // 默认可以返回
153
- return true
154
- }
155
- }
156
- }
157
- }
158
-
159
-
160
- export const install = ({
161
- jsBridge: {
162
- context: {
163
- name = KS_BRIDGE
164
- } = {}
165
- } = {} }) => {
166
-
167
- if (device.isIpad || device.isIphone || device.isIpod) {
168
- if (!global.webkit || !global.webkit.messageHandlers) {
169
- throwError(new KsBridgeError('iOS/iPad/iPod客户端没有配置上下文执行环境', KSBridgeLogErrorCodes.ENV_NOT_SUPPORT_WEBKIT_OR_WEBKIT_MESSAGEHANDLERS), null, true)
170
- window[KSEXPROT_RPCNAME].canUseJsbridgeInterface = false
171
- } else {
172
- window[KSEXPROT_RPCNAME].jsContext = global.webkit.messageHandlers[name]
173
-
174
- if (!isType(window[KSEXPROT_RPCNAME].jsContext, 'UserMessageHandler')) {
175
- throwError(new KsBridgeError(`iOS客户端没有配置上下文:${name}`, KSBridgeLogErrorCodes.IOS_NATIVE_CONTEXT_NOT_FOUND), null, true)
176
- window[KSEXPROT_RPCNAME].canUseJsbridgeInterface = false
177
- }
178
- }
179
- } else if (device.isAndroid || device.isAndroidPad) {
180
- // window[KSEXPROT_RPCNAME].jsContext = global[name]
181
- // if (typeof window[KSEXPROT_RPCNAME].jsContext == 'Object') {
182
- // throwError(new KsBridgeError(`android客户端没有配置上下文:${name}`, KSBridgeLogErrorCodes.ANDROID_NATIVE_CONTEXT_NOT_FOUND), null, true)
183
- // canUseJsbridgeInterface = false
184
- // }
185
- } else {
186
- throwError(new KsBridgeError('此jssdk不支持当前运行环境', KSBridgeLogErrorCodes.EVN_NOT_SUPPORT))
187
- window[KSEXPROT_RPCNAME].canUseJsbridgeInterface = false
188
- }
189
-
190
- // 注册原生返回的结果事件
191
- plugin.rpcCallback()
192
-
193
- // 注册安卓返回按钮的监听
194
- if (device.isAndroid || device.isAndroidPad) {
195
- plugin.registerAndroidToolBarBackHandler()
196
- }
197
-
198
- return plugin.callFunc
199
- }
@@ -1,346 +0,0 @@
1
- /*
2
- * @Author: 吴焕隆
3
- * @Date: 2019-09-24 17:07:52
4
- * @Last Modified by: 吴焕隆
5
- * @Last Modified time: 2020-03-10 15:47:44
6
- * 页面布局模块
7
- */
8
-
9
- import { KSEXPROT_RPCNAME, KSThrottle_MaxWait, KSThrottle_Option, KSBridgeLogErrorCodes } from '../util/config'
10
- import { throttle } from '../util/funtional'
11
- import { throwError } from '../util/warn'
12
- import KsBridgeError from '../util/error'
13
-
14
- const plugin = {
15
- moduleName: 'layout',
16
- desc: '用来监听设置页面布局(不需要验证签名也能调用)',
17
-
18
- // 是否要设置网页全屏, 默认为false
19
- setFullScreen: throttle(
20
- ({ isFullScreen = false }) =>
21
- window[KSEXPROT_RPCNAME].callFunc({
22
- method: 'setFullScreen',
23
- params: {
24
- isFullScreen
25
- }
26
- }),
27
- KSThrottle_MaxWait,
28
- KSThrottle_Option
29
- ),
30
-
31
- // 设置文字标题
32
- // subTitle暂不可用
33
- setTitle: throttle(
34
- ({ title = '', subTitle = '' }) =>
35
- window[KSEXPROT_RPCNAME].callFunc({
36
- method: 'setTitle',
37
- params: {
38
- title,
39
- subTitle
40
- }
41
- }),
42
- KSThrottle_MaxWait,
43
- KSThrottle_Option
44
- ),
45
-
46
- // 设置android状态栏: color 背景颜色; statusBarFontColor:文字颜色; statusBarType: 类型,是否全屏;
47
- // 返回值: statusBarHeight 状态栏高度
48
- setStatusBar: throttle(
49
- ({ color = '', statusBarType = '', statusBarFontColor = '' }) =>
50
- window[KSEXPROT_RPCNAME].callFunc({
51
- method: 'setStatusBar',
52
- params: {
53
- color,
54
- statusBarType,
55
- statusBarFontColor
56
- }
57
- }),
58
- KSThrottle_MaxWait,
59
- KSThrottle_Option
60
- ),
61
-
62
- // 吐司
63
- toast: throttle(
64
- msg =>
65
- window[KSEXPROT_RPCNAME].callFunc({
66
- method: 'toast',
67
- params: {
68
- content: msg
69
- }
70
- }),
71
- 300,
72
- KSThrottle_Option
73
- ),
74
-
75
- // 警告框
76
- alert: throttle(
77
- ({ title = '温馨提示', message = '', btnName = '确定' }) =>
78
- new Promise((resolve, reject) => {
79
- window[KSEXPROT_RPCNAME].callFunc({
80
- method: 'alert',
81
- params: {
82
- title,
83
- message,
84
- btnName
85
- }
86
- })
87
- .then(resp => {
88
- resolve(resp.index)
89
- })
90
- .catch(err => {
91
- reject(err)
92
- })
93
- }),
94
- 300,
95
- KSThrottle_Option
96
- ),
97
-
98
- // 确认框
99
- confirm: throttle(
100
- ({ title = '温馨提示', message = '', confirmName = '确定', cancelName = '取消' }) =>
101
- new Promise((resolve, reject) => {
102
- window[KSEXPROT_RPCNAME].callFunc({
103
- method: 'confirm',
104
- params: {
105
- title,
106
- message,
107
- confirmName,
108
- cancelName
109
- }
110
- })
111
- .then(resp => {
112
- resolve(resp.index)
113
- })
114
- .catch(err => {
115
- reject(err)
116
- })
117
- }),
118
- 300,
119
- KSThrottle_Option
120
- ),
121
-
122
- // 底部弹出选择框
123
- bottomSheet: throttle(
124
- ({ title = '温馨提示', items = [], cancelName = '取消' }) =>
125
- new Promise((resolve, reject) => {
126
- window[KSEXPROT_RPCNAME].callFunc({
127
- method: 'bottomSheet',
128
- params: {
129
- title,
130
- cancelName,
131
- items
132
- }
133
- })
134
- .then(resp => {
135
- resolve(resp.index)
136
- })
137
- .catch(err => {
138
- reject(err)
139
- })
140
- }),
141
- KSThrottle_MaxWait,
142
- KSThrottle_Option
143
- ),
144
-
145
- // 全局覆盖loading
146
- showLoading: ({ isShow = false }) =>
147
- window[KSEXPROT_RPCNAME].callFunc({
148
- method: 'showLoading',
149
- params: {
150
- isShow
151
- }
152
- }),
153
- // 打开跨声内某个设置页面,不同的type打开不同的设置页面
154
- openGeneralSetting: ({ type = '' }) =>
155
- window[KSEXPROT_RPCNAME].callFunc({
156
- method: 'openGeneralSetting',
157
- params: {
158
- type
159
- }
160
- }),
161
- // 强制退出模块
162
- forceBack: throttle(
163
- () =>
164
- window[KSEXPROT_RPCNAME].callFunc({
165
- method: 'forceBack',
166
- params: {}
167
- }),
168
- KSThrottle_MaxWait,
169
- KSThrottle_Option
170
- ),
171
-
172
- // 退出h5调起的模块(比如扫一扫)
173
- closeWindow: throttle(
174
- () =>
175
- window[KSEXPROT_RPCNAME].callFunc({
176
- method: 'closeWindow',
177
- params: {}
178
- }),
179
- KSThrottle_MaxWait,
180
- KSThrottle_Option
181
- ),
182
-
183
- // 设置横竖屏,android版本:v2.13+ iOS v2.13+
184
- // orientation: 0: 竖屏 1: 竖屏
185
- setInterfaceOrientation: throttle(
186
- ({ orientation = 0 }) =>
187
- window[KSEXPROT_RPCNAME].callFunc({
188
- method: 'setInterfaceOrientation',
189
- params: {
190
- orientation
191
- }
192
- }),
193
- KSThrottle_MaxWait,
194
- KSThrottle_Option
195
- ),
196
-
197
- // 设置是否测禁用滑返回
198
- // iOS Only
199
- setGestureBack: throttle(
200
- ({ disabled = false }) =>
201
- window[KSEXPROT_RPCNAME].callFunc({
202
- method: 'setGestureBack',
203
- params: {
204
- disabled
205
- }
206
- }),
207
- KSThrottle_MaxWait,
208
- KSThrottle_Option
209
- ),
210
-
211
- // 监听截屏任务
212
- // 暂不可用
213
- observeTakeScreenshot: throttle(
214
- func => {
215
- window[KSEXPROT_RPCNAME].callFunc({
216
- method: 'observeTakeScreenshot',
217
- params: {}
218
- }).then(() => {
219
- func && func()
220
- })
221
- },
222
- KSThrottle_MaxWait,
223
- KSThrottle_Option
224
- ),
225
-
226
- // 停止监听截屏
227
- // 暂不可用
228
- stopTakeScreenshot: throttle(
229
- () => {
230
- window[KSEXPROT_RPCNAME].callFunc({
231
- method: 'stopTakeScreenshot',
232
- params: {}
233
- })
234
- },
235
- KSThrottle_MaxWait,
236
- KSThrottle_Option
237
- ),
238
-
239
- // 设置安卓的toolbar的按钮监听
240
- // 返回为true时,可以返回,返回false时拦截
241
- setAndroidToolBarBackLinstener: func => {
242
- if (typeof func == 'function') {
243
- window[KSEXPROT_RPCNAME].androidToolBarBackHandler = func
244
- } else {
245
- throwError(new KsBridgeError(`setAndroidToolBarBackLinstener必须传递一个函数`, KSBridgeLogErrorCodes.PARAMS_IS_TYPE_ERR), null, true)
246
- }
247
- },
248
-
249
- // 取消安卓toolbar的按钮监听
250
- cancelAndroidToolBarBackLinstener: () => {
251
- window[KSEXPROT_RPCNAME].androidToolBarBackHandler = null
252
- },
253
-
254
- // 打开外部链接,非跨越链接
255
- // 需要:跨声版本 > 2.15
256
- openBrowser: ({ url }) => {
257
- if (!url) {
258
- throwError(new KsBridgeError(`openBrowser必须传递一个函数`, KSBridgeLogErrorCodes.PARAMS_IS_NOT_EMPTY), null, true)
259
- return
260
- }
261
-
262
- window[KSEXPROT_RPCNAME].callFunc({
263
- method: 'openBrowser',
264
- params: {
265
- url
266
- }
267
- })
268
- },
269
-
270
- // iOS禁止键盘自动上顶,默认会自动上顶
271
- disableKeyBoardAutoFit: () => {
272
- window[KSEXPROT_RPCNAME].callFunc({
273
- method: 'disableKeyBoardAutoFit',
274
- params: {}
275
- })
276
- },
277
-
278
- // 获取定位信息
279
- getLocation: throttle(
280
- () => {
281
- return new Promise((resolve, reject) => {
282
- window[KSEXPROT_RPCNAME].callFunc({
283
- method: 'getLocation',
284
- params: {}
285
- })
286
- .then(resp => {
287
- resolve(resp)
288
- })
289
- .catch(err => {
290
- reject(err)
291
- })
292
- })
293
- },
294
- 300,
295
- KSThrottle_Option
296
- ),
297
-
298
- // 获取GCJ02经纬度
299
- getLocationByGCJ02: throttle(
300
- () => {
301
- return new Promise((resolve, reject) => {
302
- window[KSEXPROT_RPCNAME].callFunc({
303
- method: 'getLocationByGCJ02',
304
- params: {}
305
- })
306
- .then(resp => {
307
- resolve(resp)
308
- })
309
- .catch(err => {
310
- reject(err)
311
- })
312
- })
313
- },
314
- 300,
315
- KSThrottle_Option
316
- ),
317
-
318
- // 隐藏右上角关闭按钮
319
- setCloseButton: ({ isShow = false }) =>
320
- window[KSEXPROT_RPCNAME].callFunc({
321
- method: 'setCloseButton',
322
- params: {
323
- isShow
324
- }
325
- }),
326
- // 隐藏右上角关闭按钮
327
- setCloseStyle: ({ isShow = false }) =>
328
- window[KSEXPROT_RPCNAME].callFunc({
329
- method: 'setCloseStyle',
330
- params: {
331
- isShow
332
- }
333
- }),
334
- // 隐藏右上角反馈按钮
335
- setReportDriftViewButton: ({ isShow = false }) =>
336
- window[KSEXPROT_RPCNAME].callFunc({
337
- method: 'setReportDriftViewButton',
338
- params: {
339
- isShow
340
- }
341
- })
342
- }
343
-
344
- export const install = () => {
345
- return plugin
346
- }
@@ -1,46 +0,0 @@
1
- /*
2
- * @Author: 吴焕隆
3
- * @Date: 2019-10-24 14:13:13
4
- * @Last Modified by: 吴焕隆
5
- * @Last Modified time: 2020-03-10 17:55:25
6
- */
7
-
8
- import { KSEXPROT_RPCNAME, KSThrottle_MaxWait, KSThrottle_Option } from '../util/config'
9
- import { throttle } from '../util/funtional'
10
-
11
- const plugin = {
12
- moduleName: 'location',
13
- desc: '定位相关',
14
-
15
- // 选择地理位置
16
- // 需要:跨声版本 > 2.15
17
- selectLocation: throttle(() => new Promise((resolve, reject) => {
18
- window[KSEXPROT_RPCNAME].callFunc({
19
- method: 'selectLocation',
20
- params: {
21
- }
22
- }).then(resp => {
23
- resolve(resp)
24
- }).catch(err => {
25
- reject(err)
26
- })
27
- }), KSThrottle_MaxWait, KSThrottle_Option),
28
-
29
- // 第三方地图打开位置
30
- openThirdMap: throttle(({ latitude = '', longitude = '', address = '' }) => {
31
- window[KSEXPROT_RPCNAME].callFunc({
32
- method: 'openThirdMap',
33
- params: {
34
- latitude,
35
- longitude,
36
- address
37
- }
38
- })
39
- }, KSThrottle_MaxWait, KSThrottle_Option),
40
-
41
-
42
- }
43
-
44
- export const install = () => {
45
- return plugin
46
- }