@cloudbase/weda-ui 0.2.14 → 0.2.17

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 (400) hide show
  1. package/README.md +41 -167
  2. package/package.json +51 -19
  3. package/src/configs/components/calendar.json +75 -0
  4. package/src/configs/components/carousel.json +273 -0
  5. package/src/configs/components/chart/bar.json +711 -0
  6. package/src/configs/components/chart/line.json +666 -0
  7. package/src/configs/components/chart/pie.json +487 -0
  8. package/src/configs/components/chart/statisticsCard.json +331 -0
  9. package/src/configs/components/dataView.json +139 -0
  10. package/src/configs/components/form/location.json +152 -0
  11. package/src/configs/components/form/uploaderFile.json +2 -1
  12. package/src/configs/components/graphicCard.json +399 -0
  13. package/src/configs/components/image.json +4 -0
  14. package/src/configs/components/link.json +2 -2
  15. package/src/configs/components/listView.json +231 -0
  16. package/src/configs/components/navLayout.json +350 -0
  17. package/src/configs/components/swiper.json +3 -3
  18. package/src/configs/index.js +23 -0
  19. package/src/mp/components/button/index.js +12 -13
  20. package/src/mp/components/button/index.wxml +1 -1
  21. package/src/{web/wedatheme/src/styles/assets → mp/components/calendar}/arrowright--line.svg +3 -4
  22. package/src/mp/components/calendar/index.js +238 -0
  23. package/src/mp/components/calendar/index.json +4 -0
  24. package/src/mp/components/calendar/index.wxml +37 -0
  25. package/src/mp/components/calendar/index.wxss +178 -0
  26. package/src/mp/components/carousel/index.js +88 -0
  27. package/src/mp/components/carousel/index.json +7 -0
  28. package/src/mp/components/carousel/index.wxml +6 -0
  29. package/src/mp/components/chart/bar/index.js +254 -0
  30. package/src/mp/components/chart/bar/index.json +6 -0
  31. package/src/mp/components/chart/bar/index.wxml +3 -0
  32. package/src/mp/components/chart/bar/index.wxss +9 -0
  33. package/src/mp/components/chart/common/config/bar.js +50 -0
  34. package/src/mp/components/chart/common/config/global.js +16 -0
  35. package/src/mp/components/chart/common/config/line.js +48 -0
  36. package/src/mp/components/chart/common/config/pie.js +36 -0
  37. package/src/mp/components/chart/common/core/eChartBar.js +262 -0
  38. package/src/mp/components/chart/common/core/eChartBase.js +371 -0
  39. package/src/mp/components/chart/common/core/eChartLine.js +228 -0
  40. package/src/mp/components/chart/common/core/eChartPie.js +166 -0
  41. package/src/mp/components/chart/common/lib/echarts.min.js +18 -0
  42. package/src/mp/components/chart/ec-canvas/ec-canvas.js +277 -0
  43. package/src/mp/components/chart/ec-canvas/ec-canvas.json +4 -0
  44. package/src/mp/components/chart/ec-canvas/ec-canvas.wxml +4 -0
  45. package/src/mp/components/chart/ec-canvas/ec-canvas.wxss +4 -0
  46. package/src/mp/components/chart/ec-canvas/wx-canvas.js +107 -0
  47. package/src/mp/components/chart/line/index.js +243 -0
  48. package/src/mp/components/chart/line/index.json +6 -0
  49. package/src/mp/components/chart/line/index.wxml +3 -0
  50. package/src/mp/components/chart/line/index.wxss +9 -0
  51. package/src/mp/components/chart/pie/index.js +178 -0
  52. package/src/mp/components/chart/pie/index.json +6 -0
  53. package/src/mp/components/chart/pie/index.wxml +4 -0
  54. package/src/mp/components/chart/pie/index.wxss +9 -0
  55. package/src/mp/components/chart/statisticsCard/index.js +226 -0
  56. package/src/mp/components/chart/statisticsCard/index.json +4 -0
  57. package/src/mp/components/chart/statisticsCard/index.wxml +9 -0
  58. package/src/mp/components/chart/statisticsCard/index.wxss +45 -0
  59. package/src/mp/components/container/index.js +4 -0
  60. package/src/mp/components/dataView/index.js +34 -0
  61. package/src/mp/components/dataView/index.json +7 -0
  62. package/src/mp/components/dataView/index.wxml +15 -0
  63. package/src/{web/wedatheme/src/styles/theme/_icon.scss → mp/components/dataView/index.wxss} +0 -0
  64. package/src/mp/components/form/location/components/mapChoose/index.js +201 -0
  65. package/src/mp/components/form/location/components/mapChoose/index.json +4 -0
  66. package/src/mp/components/form/location/components/mapChoose/index.wxml +42 -0
  67. package/src/mp/components/form/location/components/mapChoose/index.wxss +188 -0
  68. package/src/mp/components/form/location/index.js +341 -0
  69. package/src/mp/components/form/location/index.json +6 -0
  70. package/src/mp/components/form/location/index.wxml +25 -0
  71. package/src/mp/components/form/location/index.wxss +91 -0
  72. package/src/mp/components/form/radio/index.js +5 -0
  73. package/src/mp/components/form/select/index.wxml +4 -4
  74. package/src/mp/components/form/textarea/index.wxml +6 -5
  75. package/src/mp/components/form/uploader/index.js +64 -40
  76. package/src/mp/components/form/uploader/index.wxml +15 -3
  77. package/src/mp/components/form/uploaderFile/index.js +102 -27
  78. package/src/mp/components/graphicCard/chevron-right.svg +3 -0
  79. package/src/mp/components/graphicCard/index.js +203 -0
  80. package/src/mp/components/graphicCard/index.json +4 -0
  81. package/src/mp/components/graphicCard/index.wxml +29 -0
  82. package/src/mp/components/graphicCard/index.wxss +157 -0
  83. package/src/mp/components/image/index.js +53 -52
  84. package/src/mp/components/internals/listView/arrow-right-line.svg +3 -0
  85. package/src/mp/components/internals/listView/index.js +286 -0
  86. package/src/mp/components/internals/listView/index.json +4 -0
  87. package/src/mp/components/internals/listView/index.wxml +40 -0
  88. package/src/mp/components/internals/listView/index.wxss +150 -0
  89. package/src/mp/components/internals/listView/more-line.svg +3 -0
  90. package/src/mp/components/listView/arrow-right-line.svg +3 -0
  91. package/src/mp/components/listView/index.js +279 -0
  92. package/src/mp/components/listView/index.json +4 -0
  93. package/src/mp/components/listView/index.wxml +40 -0
  94. package/src/mp/components/listView/index.wxss +150 -0
  95. package/src/mp/components/listView/more-line.svg +3 -0
  96. package/src/mp/components/navLayout/index.js +123 -0
  97. package/src/mp/components/navLayout/index.json +7 -0
  98. package/src/mp/components/navLayout/index.wxml +25 -0
  99. package/src/mp/components/navLayout/index.wxss +1193 -0
  100. package/src/mp/components/swiper/index.wxml +2 -0
  101. package/src/mp/components/text/index.wxss +6 -6
  102. package/src/mp/index.json +12 -1
  103. package/src/mp/utils/debounce.js +133 -0
  104. package/src/mp/utils/dr_square_point.js +25 -0
  105. package/src/mp/utils/platform.js +15 -0
  106. package/src/mp/utils/qqmap-wx-jssdk1.2/qqmap-wx-jssdk.js +1336 -0
  107. package/src/mp/utils/spark-md5.js +776 -0
  108. package/src/mp/utils/tcb.js +18 -0
  109. package/src/setupTests.js +2 -1
  110. package/src/web/components/button/index.tsx +1 -1
  111. package/src/web/components/calendar/index.css +382 -0
  112. package/src/web/components/calendar/index.jsx +312 -0
  113. package/src/web/components/calendar/util.js +90 -0
  114. package/src/web/components/carousel/index.css +119 -0
  115. package/src/web/components/carousel/index.tsx +417 -0
  116. package/src/web/components/chart/bar/index.tsx +139 -0
  117. package/src/web/components/chart/common/config/bar.js +49 -0
  118. package/src/web/components/chart/common/config/global.js +16 -0
  119. package/src/web/components/chart/common/config/line.js +50 -0
  120. package/src/web/components/chart/common/config/pie.js +37 -0
  121. package/src/web/components/chart/common/core/eChartBar.js +264 -0
  122. package/src/web/components/chart/common/core/eChartBase.ts +379 -0
  123. package/src/web/components/chart/common/core/eChartLine.js +229 -0
  124. package/src/web/components/chart/common/core/eChartPie.js +170 -0
  125. package/src/web/components/chart/common/core/type.ts +34 -0
  126. package/src/web/components/chart/common/echart.css +106 -0
  127. package/src/web/components/chart/common/echarts.ts +33 -0
  128. package/src/web/components/chart/common/useChart.tsx +69 -0
  129. package/src/web/components/chart/line/index.tsx +135 -0
  130. package/src/web/components/chart/pie/index.tsx +99 -0
  131. package/src/web/components/chart/statisticsCard/index.css +62 -0
  132. package/src/web/components/chart/statisticsCard/index.tsx +286 -0
  133. package/src/web/components/chart/statisticsCard/interface.ts +14 -0
  134. package/src/web/components/dataView/index.tsx +20 -0
  135. package/src/web/components/dataView/interface.ts +6 -0
  136. package/src/web/components/form/input/index.css +5 -3
  137. package/src/web/components/form/input/index.tsx +1 -0
  138. package/src/web/components/form/location/common/mapChoose.css +178 -0
  139. package/src/web/components/form/location/common/mapChoose.jsx +343 -0
  140. package/src/web/components/form/location/common/mapView.jsx +190 -0
  141. package/src/web/components/form/location/common/propsConfig.js +54 -0
  142. package/src/web/components/form/location/common/selectModal.css +44 -0
  143. package/src/web/components/form/location/common/selectModal.jsx +82 -0
  144. package/src/web/components/form/location/common/useLocationInfo.js +100 -0
  145. package/src/web/components/form/location/components/LocationH5/index.css +243 -0
  146. package/src/web/components/form/location/components/LocationH5/location.h5.jsx +403 -0
  147. package/src/web/components/form/location/components/LocationPC/Header.jsx +109 -0
  148. package/src/web/components/form/location/components/LocationPC/index.css +44 -0
  149. package/src/web/components/form/location/components/LocationPC/location.PC.jsx +323 -0
  150. package/src/web/components/form/location/constants.js +4 -0
  151. package/src/web/{wedatheme/src/styles/theme/_timeline.scss → components/form/location/index.css} +0 -0
  152. package/src/web/components/form/location/index.jsx +25 -0
  153. package/src/web/components/form/select/h5.tsx +3 -1
  154. package/src/web/components/form/select/time.jsx +1 -0
  155. package/src/web/components/form/uploader/uploader.h5.tsx +10 -2
  156. package/src/web/components/form/uploader/uploader.pc.tsx +4 -3
  157. package/src/web/components/form/uploaderFile/uploadFile.h5.tsx +119 -106
  158. package/src/web/components/form/uploaderFile/uploadFile.pc.tsx +3 -6
  159. package/src/web/components/graphicCard/index.css +159 -0
  160. package/src/web/components/graphicCard/index.tsx +310 -0
  161. package/src/web/components/image/image.tsx +107 -94
  162. package/src/web/components/image/index.tsx +1 -1
  163. package/src/web/components/index.js +18 -3
  164. package/src/web/components/listView/arrow-right-line.svg +3 -0
  165. package/src/web/components/listView/index.css +139 -0
  166. package/src/web/components/listView/index.tsx +354 -0
  167. package/src/web/components/listView/interface.ts +98 -0
  168. package/src/web/components/navLayout/index.css +332 -0
  169. package/src/web/components/navLayout/index.tsx +247 -0
  170. package/src/web/components/swiper/index.css +4 -0
  171. package/src/web/components/swiper/index.tsx +9 -4
  172. package/src/web/components/tabs/index.tsx +2 -2
  173. package/src/web/components/tabs/tabs.h5.tsx +7 -4
  174. package/src/web/components/uploaderFileView/index.css +9 -9
  175. package/src/web/components/uploaderFileView/index.jsx +34 -25
  176. package/src/web/types.d.ts +15 -14
  177. package/src/web/utils/debounce.js +98 -0
  178. package/src/web/utils/platform.js +31 -0
  179. package/src/web/utils/tcb.js +23 -0
  180. package/src/web/utils/tmap.js +4 -0
  181. package/CHANGELOG.md +0 -240
  182. package/src/.DS_Store +0 -0
  183. package/src/configs/.DS_Store +0 -0
  184. package/src/mp/.gitignore +0 -10
  185. package/src/web/.DS_Store +0 -0
  186. package/src/web/wedatheme/.code.yml +0 -16
  187. package/src/web/wedatheme/.editorconfig +0 -9
  188. package/src/web/wedatheme/.eslintrc +0 -20
  189. package/src/web/wedatheme/.git +0 -1
  190. package/src/web/wedatheme/.gitignore +0 -5
  191. package/src/web/wedatheme/.npmrc +0 -1
  192. package/src/web/wedatheme/.orange-ci.yml +0 -55
  193. package/src/web/wedatheme/.vscode/extensions.json +0 -3
  194. package/src/web/wedatheme/.vscode/settings.json +0 -11
  195. package/src/web/wedatheme/README.md +0 -50
  196. package/src/web/wedatheme/i18n/README.md +0 -4
  197. package/src/web/wedatheme/i18n/translation/index.js +0 -10
  198. package/src/web/wedatheme/i18n/translation/zh.js +0 -15
  199. package/src/web/wedatheme/jsconfig.json +0 -15
  200. package/src/web/wedatheme/mock/app.js +0 -42
  201. package/src/web/wedatheme/mock/history-context.js +0 -8
  202. package/src/web/wedatheme/mock/index.js +0 -3
  203. package/src/web/wedatheme/mock/layout/AppLayout.jsx +0 -28
  204. package/src/web/wedatheme/mock/layout/MenuWithRouter.jsx +0 -50
  205. package/src/web/wedatheme/mock/layout/index.js +0 -1
  206. package/src/web/wedatheme/package-lock.json +0 -14335
  207. package/src/web/wedatheme/package.json +0 -61
  208. package/src/web/wedatheme/public/index.html +0 -19
  209. package/src/web/wedatheme/src/app.js +0 -22
  210. package/src/web/wedatheme/src/components/README.md +0 -4
  211. package/src/web/wedatheme/src/configs/menu.js +0 -9
  212. package/src/web/wedatheme/src/routes/wedatheme-index/Component.jsx +0 -402
  213. package/src/web/wedatheme/src/routes/wedatheme-index/Form.jsx +0 -729
  214. package/src/web/wedatheme/src/routes/wedatheme-index/FormItem.jsx +0 -18
  215. package/src/web/wedatheme/src/routes/wedatheme-index/WedathemeIndex.jsx +0 -1276
  216. package/src/web/wedatheme/src/routes/wedatheme-index/index.js +0 -1
  217. package/src/web/wedatheme/src/routes/weui2td/WEUI2TD.jsx +0 -3
  218. package/src/web/wedatheme/src/routes/weui2td/index.js +0 -1
  219. package/src/web/wedatheme/src/styles/_btn.scss +0 -24
  220. package/src/web/wedatheme/src/styles/_icon.scss +0 -653
  221. package/src/web/wedatheme/src/styles/_map.scss +0 -12
  222. package/src/web/wedatheme/src/styles/_middle.scss +0 -340
  223. package/src/web/wedatheme/src/styles/_upload.scss +0 -47
  224. package/src/web/wedatheme/src/styles/assets/alert-close.svg +0 -3
  225. package/src/web/wedatheme/src/styles/assets/and.svg +0 -12
  226. package/src/web/wedatheme/src/styles/assets/arrowdown--line.svg +0 -12
  227. package/src/web/wedatheme/src/styles/assets/arrowdown.svg +0 -12
  228. package/src/web/wedatheme/src/styles/assets/arrowleft--line.svg +0 -12
  229. package/src/web/wedatheme/src/styles/assets/arrowleft.svg +0 -12
  230. package/src/web/wedatheme/src/styles/assets/arrowright-blue--line.svg +0 -12
  231. package/src/web/wedatheme/src/styles/assets/arrowright.svg +0 -12
  232. package/src/web/wedatheme/src/styles/assets/arrowup--line.svg +0 -12
  233. package/src/web/wedatheme/src/styles/assets/arrowup.svg +0 -12
  234. package/src/web/wedatheme/src/styles/assets/bell-warning.svg +0 -3
  235. package/src/web/wedatheme/src/styles/assets/btnback.svg +0 -12
  236. package/src/web/wedatheme/src/styles/assets/calendar.svg +0 -12
  237. package/src/web/wedatheme/src/styles/assets/chartcolumn-1.svg +0 -12
  238. package/src/web/wedatheme/src/styles/assets/chartcolumn.svg +0 -12
  239. package/src/web/wedatheme/src/styles/assets/chartline-1.svg +0 -9
  240. package/src/web/wedatheme/src/styles/assets/chartline.svg +0 -9
  241. package/src/web/wedatheme/src/styles/assets/chartpie-1.svg +0 -12
  242. package/src/web/wedatheme/src/styles/assets/chartpie.svg +0 -12
  243. package/src/web/wedatheme/src/styles/assets/check-1.svg +0 -8
  244. package/src/web/wedatheme/src/styles/assets/check-2.svg +0 -1
  245. package/src/web/wedatheme/src/styles/assets/check.svg +0 -8
  246. package/src/web/wedatheme/src/styles/assets/close-1.svg +0 -8
  247. package/src/web/wedatheme/src/styles/assets/close.svg +0 -8
  248. package/src/web/wedatheme/src/styles/assets/consult.svg +0 -8
  249. package/src/web/wedatheme/src/styles/assets/convertip--blue.svg +0 -12
  250. package/src/web/wedatheme/src/styles/assets/convertip.svg +0 -12
  251. package/src/web/wedatheme/src/styles/assets/copy.svg +0 -12
  252. package/src/web/wedatheme/src/styles/assets/cur-active.svg +0 -12
  253. package/src/web/wedatheme/src/styles/assets/cur.svg +0 -12
  254. package/src/web/wedatheme/src/styles/assets/daily.svg +0 -13
  255. package/src/web/wedatheme/src/styles/assets/database.svg +0 -12
  256. package/src/web/wedatheme/src/styles/assets/datasheet.svg +0 -12
  257. package/src/web/wedatheme/src/styles/assets/delete-white.svg +0 -8
  258. package/src/web/wedatheme/src/styles/assets/delete.svg +0 -8
  259. package/src/web/wedatheme/src/styles/assets/detail.svg +0 -13
  260. package/src/web/wedatheme/src/styles/assets/dismiss.svg +0 -8
  261. package/src/web/wedatheme/src/styles/assets/download.svg +0 -12
  262. package/src/web/wedatheme/src/styles/assets/drop.svg +0 -15
  263. package/src/web/wedatheme/src/styles/assets/email-error.svg +0 -14
  264. package/src/web/wedatheme/src/styles/assets/email-warning.svg +0 -12
  265. package/src/web/wedatheme/src/styles/assets/email.svg +0 -14
  266. package/src/web/wedatheme/src/styles/assets/emailv.svg +0 -12
  267. package/src/web/wedatheme/src/styles/assets/error-1.svg +0 -8
  268. package/src/web/wedatheme/src/styles/assets/error-filled.svg +0 -3
  269. package/src/web/wedatheme/src/styles/assets/error.svg +0 -8
  270. package/src/web/wedatheme/src/styles/assets/externallink.svg +0 -12
  271. package/src/web/wedatheme/src/styles/assets/favorable.svg +0 -9
  272. package/src/web/wedatheme/src/styles/assets/filter.svg +0 -12
  273. package/src/web/wedatheme/src/styles/assets/firstpage.svg +0 -13
  274. package/src/web/wedatheme/src/styles/assets/folderclose.svg +0 -8
  275. package/src/web/wedatheme/src/styles/assets/folderopen.svg +0 -8
  276. package/src/web/wedatheme/src/styles/assets/fullscreenquit.svg +0 -12
  277. package/src/web/wedatheme/src/styles/assets/fullsreen.svg +0 -12
  278. package/src/web/wedatheme/src/styles/assets/globe-gray.svg +0 -12
  279. package/src/web/wedatheme/src/styles/assets/guide.svg +0 -9
  280. package/src/web/wedatheme/src/styles/assets/help.svg +0 -8
  281. package/src/web/wedatheme/src/styles/assets/hide.svg +0 -8
  282. package/src/web/wedatheme/src/styles/assets/info.svg +0 -8
  283. package/src/web/wedatheme/src/styles/assets/infoblue-1.svg +0 -8
  284. package/src/web/wedatheme/src/styles/assets/infoblue-filled.svg +0 -3
  285. package/src/web/wedatheme/src/styles/assets/infoblue.svg +0 -8
  286. package/src/web/wedatheme/src/styles/assets/jump-black.svg +0 -12
  287. package/src/web/wedatheme/src/styles/assets/jump.svg +0 -12
  288. package/src/web/wedatheme/src/styles/assets/lastpage.svg +0 -13
  289. package/src/web/wedatheme/src/styles/assets/loading.svg +0 -12
  290. package/src/web/wedatheme/src/styles/assets/local.svg +0 -10
  291. package/src/web/wedatheme/src/styles/assets/menu-fold-white.svg +0 -6
  292. package/src/web/wedatheme/src/styles/assets/menu-fold.svg +0 -6
  293. package/src/web/wedatheme/src/styles/assets/minus.svg +0 -12
  294. package/src/web/wedatheme/src/styles/assets/monitor.svg +0 -12
  295. package/src/web/wedatheme/src/styles/assets/more.svg +0 -8
  296. package/src/web/wedatheme/src/styles/assets/multi-line.svg +0 -12
  297. package/src/web/wedatheme/src/styles/assets/news.svg +0 -3
  298. package/src/web/wedatheme/src/styles/assets/not.svg +0 -12
  299. package/src/web/wedatheme/src/styles/assets/notice.svg +0 -8
  300. package/src/web/wedatheme/src/styles/assets/pencil.svg +0 -12
  301. package/src/web/wedatheme/src/styles/assets/pending-1.svg +0 -8
  302. package/src/web/wedatheme/src/styles/assets/pending-gray.svg +0 -8
  303. package/src/web/wedatheme/src/styles/assets/pending.svg +0 -8
  304. package/src/web/wedatheme/src/styles/assets/percent-blue.svg +0 -16
  305. package/src/web/wedatheme/src/styles/assets/percent.svg +0 -16
  306. package/src/web/wedatheme/src/styles/assets/phone-error.svg +0 -11
  307. package/src/web/wedatheme/src/styles/assets/phone-warning.svg +0 -9
  308. package/src/web/wedatheme/src/styles/assets/phone.svg +0 -12
  309. package/src/web/wedatheme/src/styles/assets/phonev.svg +0 -9
  310. package/src/web/wedatheme/src/styles/assets/plus.svg +0 -12
  311. package/src/web/wedatheme/src/styles/assets/qq.svg +0 -11
  312. package/src/web/wedatheme/src/styles/assets/realname.svg +0 -8
  313. package/src/web/wedatheme/src/styles/assets/realnamev.svg +0 -9
  314. package/src/web/wedatheme/src/styles/assets/refresh-blue.svg +0 -12
  315. package/src/web/wedatheme/src/styles/assets/refresh.svg +0 -12
  316. package/src/web/wedatheme/src/styles/assets/relationship-1.svg +0 -12
  317. package/src/web/wedatheme/src/styles/assets/relationship.svg +0 -12
  318. package/src/web/wedatheme/src/styles/assets/remind.svg +0 -8
  319. package/src/web/wedatheme/src/styles/assets/search.svg +0 -8
  320. package/src/web/wedatheme/src/styles/assets/setting.svg +0 -12
  321. package/src/web/wedatheme/src/styles/assets/shopcart.svg +0 -8
  322. package/src/web/wedatheme/src/styles/assets/show.svg +0 -8
  323. package/src/web/wedatheme/src/styles/assets/sort.svg +0 -12
  324. package/src/web/wedatheme/src/styles/assets/sortdown.svg +0 -12
  325. package/src/web/wedatheme/src/styles/assets/sortup.svg +0 -12
  326. package/src/web/wedatheme/src/styles/assets/success-1.svg +0 -8
  327. package/src/web/wedatheme/src/styles/assets/success-filled.svg +0 -3
  328. package/src/web/wedatheme/src/styles/assets/success.svg +0 -8
  329. package/src/web/wedatheme/src/styles/assets/table-1.svg +0 -12
  330. package/src/web/wedatheme/src/styles/assets/table.svg +0 -12
  331. package/src/web/wedatheme/src/styles/assets/tag.svg +0 -12
  332. package/src/web/wedatheme/src/styles/assets/time.svg +0 -12
  333. package/src/web/wedatheme/src/styles/assets/transfer.svg +0 -8
  334. package/src/web/wedatheme/src/styles/assets/trenddown.svg +0 -12
  335. package/src/web/wedatheme/src/styles/assets/trendup.svg +0 -12
  336. package/src/web/wedatheme/src/styles/assets/viewgrid.svg +0 -12
  337. package/src/web/wedatheme/src/styles/assets/viewlist.svg +0 -12
  338. package/src/web/wedatheme/src/styles/assets/warning-1.svg +0 -8
  339. package/src/web/wedatheme/src/styles/assets/warning-filled.svg +0 -3
  340. package/src/web/wedatheme/src/styles/assets/warning.svg +0 -8
  341. package/src/web/wedatheme/src/styles/assets/wechat-error.svg +0 -14
  342. package/src/web/wedatheme/src/styles/assets/wechat-warning.svg +0 -12
  343. package/src/web/wedatheme/src/styles/assets/wechat.svg +0 -12
  344. package/src/web/wedatheme/src/styles/assets/wechatv.svg +0 -12
  345. package/src/web/wedatheme/src/styles/assets/zoom-in-white.svg +0 -4
  346. package/src/web/wedatheme/src/styles/assets/zoom-in.svg +0 -4
  347. package/src/web/wedatheme/src/styles/assets/zoom-out-white.svg +0 -4
  348. package/src/web/wedatheme/src/styles/assets/zoom-out.svg +0 -4
  349. package/src/web/wedatheme/src/styles/index.scss +0 -18
  350. package/src/web/wedatheme/src/styles/main.css +0 -166
  351. package/src/web/wedatheme/src/styles/theme/_alert.scss +0 -73
  352. package/src/web/wedatheme/src/styles/theme/_badge.scss +0 -38
  353. package/src/web/wedatheme/src/styles/theme/_blank-page-v2.scss +0 -7
  354. package/src/web/wedatheme/src/styles/theme/_breadcrumb.scss +0 -8
  355. package/src/web/wedatheme/src/styles/theme/_bubble.scss +0 -24
  356. package/src/web/wedatheme/src/styles/theme/_button.scss +0 -212
  357. package/src/web/wedatheme/src/styles/theme/_card.scss +0 -12
  358. package/src/web/wedatheme/src/styles/theme/_cascader.scss +0 -43
  359. package/src/web/wedatheme/src/styles/theme/_checkbox&radio.scss +0 -83
  360. package/src/web/wedatheme/src/styles/theme/_datepicker.scss +0 -36
  361. package/src/web/wedatheme/src/styles/theme/_dialog.scss +0 -39
  362. package/src/web/wedatheme/src/styles/theme/_divider.scss +0 -1
  363. package/src/web/wedatheme/src/styles/theme/_drawer.scss +0 -15
  364. package/src/web/wedatheme/src/styles/theme/_dropdown.scss +0 -53
  365. package/src/web/wedatheme/src/styles/theme/_form.scss +0 -38
  366. package/src/web/wedatheme/src/styles/theme/_input&textarea&select.scss +0 -85
  367. package/src/web/wedatheme/src/styles/theme/_inputnumber.scss +0 -16
  368. package/src/web/wedatheme/src/styles/theme/_link.scss +0 -14
  369. package/src/web/wedatheme/src/styles/theme/_list.scss +0 -41
  370. package/src/web/wedatheme/src/styles/theme/_metrics-board.scss +0 -14
  371. package/src/web/wedatheme/src/styles/theme/_notification.scss +0 -27
  372. package/src/web/wedatheme/src/styles/theme/_pagination.scss +0 -22
  373. package/src/web/wedatheme/src/styles/theme/_popconfirm.scss +0 -4
  374. package/src/web/wedatheme/src/styles/theme/_progress.scss +0 -28
  375. package/src/web/wedatheme/src/styles/theme/_region-select.scss +0 -17
  376. package/src/web/wedatheme/src/styles/theme/_search.scss +0 -18
  377. package/src/web/wedatheme/src/styles/theme/_segment.scss +0 -69
  378. package/src/web/wedatheme/src/styles/theme/_slider.scss +0 -18
  379. package/src/web/wedatheme/src/styles/theme/_status.scss +0 -4
  380. package/src/web/wedatheme/src/styles/theme/_steps.scss +0 -68
  381. package/src/web/wedatheme/src/styles/theme/_switch.scss +0 -11
  382. package/src/web/wedatheme/src/styles/theme/_table.scss +0 -44
  383. package/src/web/wedatheme/src/styles/theme/_tabs.scss +0 -44
  384. package/src/web/wedatheme/src/styles/theme/_tag-search.scss +0 -9
  385. package/src/web/wedatheme/src/styles/theme/_tag.scss +0 -48
  386. package/src/web/wedatheme/src/styles/theme/_toast.scss +0 -3
  387. package/src/web/wedatheme/src/styles/theme/_transfer.scss +0 -9
  388. package/src/web/wedatheme/src/styles/theme/_tree.scss +0 -11
  389. package/src/web/wedatheme/src/styles/theme/_upload.scss +0 -14
  390. package/src/web/wedatheme/src/styles/theme/_variables.scss +0 -140
  391. package/src/web/wedatheme/src/styles/theme/index.scss +0 -91
  392. package/src/web/wedatheme/style-package/README.md +0 -31
  393. package/src/web/wedatheme/style-package/ef6fa527e24e354765d806b826b41391.svg +0 -627
  394. package/src/web/wedatheme/style-package/index.css +0 -3
  395. package/src/web/wedatheme/style-package/package.json +0 -15
  396. package/src/web/wedatheme/tea.config.js +0 -66
  397. package/src/web/wedatheme/webpack/css.config.js +0 -114
  398. package/src/web/wedatheme/webpack/plugins/css-package-plugin.js +0 -23
  399. package/src/web/wedatheme/webpack/plugins/inject-assets-plugin.js +0 -32
  400. package/src/web/wedatheme/webpack/plugins/package-json-plugin.js +0 -66
@@ -0,0 +1,178 @@
1
+ /* mapChoose组件 */
2
+ .weda-ui_map-choose {
3
+ width: 100%;
4
+ height: 100%;
5
+ }
6
+ .map-choose-pc {
7
+ display: flex;
8
+ }
9
+ .map-choose-pc-left {
10
+ width: 45%;
11
+ position: relative;
12
+ }
13
+ .map-choose-pc-right {
14
+ width: 55%;
15
+ }
16
+ .map-choose-header {
17
+ width: 100%;
18
+ padding: 8px 15px;
19
+ position: relative;
20
+ border-bottom: 1px solid #d3d3d3;
21
+ }
22
+ .map-choose-header_focus {
23
+ padding-right: 60px;
24
+ }
25
+ .map-choose-header_focus .map-choose-header_search_cancel {
26
+ display: block;
27
+ }
28
+ .map-choose-header_focus .map-choose-header_search_place {
29
+ left: 10px;
30
+ transform: translate(0, 0);
31
+ }
32
+ .map-choose-header_search {
33
+ height: 30px;
34
+ background-color: #ebebeb;
35
+ padding-left: 10px;
36
+ padding-right: 10px;
37
+ color: #b4b4b4;
38
+ font-size: 15px;
39
+ line-height: 31px;
40
+ border-radius: 5px;
41
+ overflow: hidden;
42
+ white-space: nowrap;
43
+ text-overflow: ellipsis;
44
+ position: relative;
45
+ }
46
+ .map-choose-header_search_place {
47
+ position: absolute;
48
+ top: 0;
49
+ left: 50%;
50
+ display: flex;
51
+ align-items: center;
52
+ transform: translate(-50%, 0);
53
+ }
54
+ .map-choose-header_search_cancel {
55
+ position: absolute;
56
+ top: 0;
57
+ right: 0;
58
+ width: 55px;
59
+ height: 46px;
60
+ line-height: 46px;
61
+ text-align: center;
62
+ font-size: 16px;
63
+ color: #0079ff;
64
+ background-color: #fff;
65
+ cursor: pointer;
66
+ display: none;
67
+ }
68
+ .map-choose-header_search img {
69
+ width: 16px;
70
+ height: 16px;
71
+ margin-right: 4px;
72
+ }
73
+ .map-choose-header_search input {
74
+ display: block;
75
+ width: 100%;
76
+ padding-top: 6px;
77
+ padding-bottom: 6px;
78
+ border: 0;
79
+ font-size: 14px;
80
+ line-height: 18px;
81
+ background: 0 0;
82
+ position: relative;
83
+ z-index: 1;
84
+ }
85
+
86
+ .map-choose-con {
87
+ width: 100%;
88
+ height: calc(100% - 50px);
89
+ position: relative;
90
+ }
91
+ .map-choose-warp,
92
+ .map-choose-explore {
93
+ width: 100%;
94
+ height: 100%;
95
+ }
96
+ .map-choose-explore-pc {
97
+ height: calc(100% - 47px);
98
+ }
99
+ .map-choose-explore {
100
+ display: none;
101
+ }
102
+ .map-choose-explore_show {
103
+ display: block;
104
+ position: absolute;
105
+ z-index: 1000;
106
+ top: 0;
107
+ left: 0;
108
+ background-color: #fff;
109
+ overflow: hidden;
110
+ }
111
+ .map-choose-explore_show-pc {
112
+ top: 47px;
113
+ }
114
+
115
+ .map-choose-warp_sugges {
116
+ height: 55%;
117
+ width: 100%;
118
+ }
119
+ .map-choose-warp_sugges-pc {
120
+ height: calc(100% - 47px);
121
+ width: 100%;
122
+ }
123
+ .map-choose-warp_sugges ul,
124
+ .map-choose-explore_show ul {
125
+ width: 100%;
126
+ height: 100%;
127
+ padding: 0;
128
+ overflow: scroll;
129
+ overflow-x: hidden;
130
+ }
131
+ .map-choose-warp_sugges li,
132
+ .map-choose-explore_show li {
133
+ width: 100%;
134
+ height: 59px;
135
+ padding-top: 6px;
136
+ position: relative;
137
+ border-bottom: 1px solid #d3d3d3;
138
+ cursor: pointer;
139
+ position: relative;
140
+ }
141
+ .map-choose-warp_sugges li span {
142
+ display: none;
143
+ }
144
+ .map-choose-warp_sugges_choosed span {
145
+ position: absolute;
146
+ right: 20px;
147
+ top: 50%;
148
+ transform: translate(0, -50%);
149
+ width: 16px;
150
+ height: 16px;
151
+ display: block !important;
152
+ background-image: url('https://qcloudimg.tencent-cloud.cn/raw/354c15c0cb845120ac3e9c474e6737b3.png');
153
+ background-size: 100% 100%;
154
+ background-repeat: no-repeat;
155
+ }
156
+ .map-choose-warp_sugges li div,
157
+ .map-choose-explore_show li div {
158
+ text-overflow: ellipsis;
159
+ white-space: nowrap;
160
+ overflow: hidden;
161
+ width: 98%;
162
+ }
163
+ .map-choose-warp_sugges_title,
164
+ .map-choose-explore_title {
165
+ font-size: 14px;
166
+ line-height: 27px;
167
+ color: #333;
168
+ font-weight: 400;
169
+ display: block;
170
+ }
171
+
172
+ .map-choose-explore_show_inSearch {
173
+ display: none;
174
+ }
175
+ .map-choose-explore_show-h5 {
176
+ height: auto;
177
+ min-height: 75vh;
178
+ }
@@ -0,0 +1,343 @@
1
+ import * as React from 'react';
2
+ import * as PropTypes from 'prop-types';
3
+ import classNames from '../../../../utils/classnames';
4
+ import debounce from '../../../../utils/debounce';
5
+ import { tmapApiUrl } from '../constants';
6
+ import { getTMap } from '../../../../utils/tmap';
7
+ import './mapChoose.css';
8
+
9
+ const { useEffect, useState, useRef } = React;
10
+
11
+ export default function MapChoose({
12
+ changeLocation,
13
+ latlng = {
14
+ lat: null,
15
+ lng: null,
16
+ },
17
+ isPC,
18
+ APIKEY = '',
19
+ }) {
20
+ const { lat, lng } = latlng;
21
+
22
+ const mapRef = useRef();
23
+ const markerRef = useRef();
24
+ const centerRef = useRef();
25
+
26
+ const [isSearch, setIsSearch] = useState(false);
27
+ const [searchValue, setSearchValue] = useState('');
28
+ const [chooseLoc, setChooseLoc] = useState({
29
+ location: {
30
+ lat: null,
31
+ lng: null,
32
+ },
33
+ title: '',
34
+ address: '',
35
+ id: '',
36
+ });
37
+ const [exploreList, setExploreList] = useState([]);
38
+ const [searchList, setSearchList] = useState([]);
39
+ const [mapDomName, setMapDomName] = useState(new Date().getTime());
40
+
41
+ useEffect(() => {
42
+ if (!APIKEY || APIKEY == '这里是示例') return;
43
+ function loadScript() {
44
+ const script = document.createElement('script');
45
+ script.type = 'text/javascript';
46
+ script.src = `${tmapApiUrl}?v=2.exp&key=${APIKEY}&callback=init&libraries=service`;
47
+ script.onload = () => {
48
+ initMap();
49
+ };
50
+ script.onerror = (error) => {
51
+ console.log(' load mapchoose error success', APIKEY);
52
+ };
53
+ document.body.appendChild(script);
54
+ }
55
+ if (getTMap()) {
56
+ initMap();
57
+ } else {
58
+ loadScript();
59
+ }
60
+ exploreNear();
61
+ return () => {
62
+ // @ts-ignore
63
+ mapRef.current && mapRef.current.destroy();
64
+ };
65
+ }, [APIKEY]);
66
+
67
+ const initMap = () => {
68
+ if (!getTMap()) return;
69
+ const TMap = getTMap();
70
+ //定义地图中心点坐标
71
+ const center = new TMap.LatLng(lat, lng);
72
+ //定义map变量,调用 TMap.Map() 构造函数创建地图
73
+ mapRef.current = new TMap.Map(
74
+ document.getElementById(`form-map-choose-${mapDomName}`),
75
+ {
76
+ center, //设置地图中心点坐标
77
+ zoom: 16, //设置地图缩放级别
78
+ }
79
+ );
80
+ initMarker(getTMap(), mapRef.current);
81
+ };
82
+
83
+ const initMarker = (TMap, map) => {
84
+ const canLoad = lat && lng && TMap && map;
85
+ if (canLoad) {
86
+ const position = new TMap.LatLng(lat, lng);
87
+ markerRef.current = new TMap.MultiMarker({
88
+ map: mapRef.current,
89
+ styles: {
90
+ pointer: new TMap.MarkerStyle({
91
+ width: 26,
92
+ height: 35,
93
+ }),
94
+ },
95
+ geometries: [
96
+ {
97
+ id: `pointer-origin-${mapDomName}`,
98
+ styleId: 'pointer',
99
+ position,
100
+ },
101
+ {
102
+ id: `pointer-${mapDomName}`,
103
+ styleId: 'pointer',
104
+ position,
105
+ },
106
+ ],
107
+ });
108
+ // 监听中心点变化事件,更新marker的位置
109
+ map.on('center_changed', updateCenter);
110
+ }
111
+ };
112
+
113
+ const updateCenter = () => {
114
+ const TMap = getTMap();
115
+ const canLoad = TMap && lat && lng && mapRef.current;
116
+ if (canLoad) {
117
+ const nowPosition = new TMap.LatLng(lat, lng);
118
+ // @ts-ignore
119
+ let centerPosition = mapRef.current.getCenter();
120
+ centerRef.current = centerPosition;
121
+ // @ts-ignore
122
+ markerRef.current.updateGeometries([
123
+ {
124
+ id: `pointer-origin-${mapDomName}`,
125
+ styleId: 'pointer',
126
+ position: nowPosition,
127
+ },
128
+ {
129
+ id: `pointer-${mapDomName}`,
130
+ styleId: 'pointer',
131
+ // @ts-ignore
132
+ position: mapRef.current.getCenter(),
133
+ },
134
+ ]);
135
+ exploreNear();
136
+ }
137
+ };
138
+
139
+ const handleFocus = (value) => {
140
+ setIsSearch(value);
141
+ };
142
+
143
+ const exploreNear = debounce(() => {
144
+ const { lat, lng } = centerRef.current || latlng;
145
+ let TMap = getTMap();
146
+ let search = new TMap.service.Search({ pageSize: 20 }); // 新建一个地点搜索类
147
+ search
148
+ .explore({
149
+ center: new TMap.LatLng(lat, lng),
150
+ policy: 1,
151
+ radius: 2000,
152
+ pageIndex: 1,
153
+ })
154
+ .then((res) => {
155
+ res.data && setExploreList(res.data);
156
+ });
157
+ }, 500);
158
+
159
+ const chooseLoction = (value, type) => {
160
+ const TMap = getTMap();
161
+ //定义地图中心点坐标
162
+ const center = new TMap.LatLng(value.location.lat, value.location.lng);
163
+ // @ts-ignore
164
+ mapRef.current.setCenter(center);
165
+ setChooseLoc(value);
166
+ changeLocation(value);
167
+ type && cancleSearch();
168
+ };
169
+
170
+ const changeSearchValue = (event) => {
171
+ if (event.target.value) {
172
+ setSearchValue(event.target.value);
173
+ let TMap = getTMap();
174
+ let search = new TMap.service.Search({ pageSize: 10 }); // 新建一个地点搜索类
175
+ search
176
+ .searchNearby({
177
+ keyword: event.target.value,
178
+ center: new TMap.LatLng(lat, lng),
179
+ radius: 2000,
180
+ pageIndex: 1,
181
+ })
182
+ .then((res) => {
183
+ setSearchList(res.data);
184
+ })
185
+ .catch((error) => {
186
+ console.log('error', error);
187
+ });
188
+ } else {
189
+ setSearchValue('');
190
+ setTimeout(() => {
191
+ setSearchList([]);
192
+ }, 300);
193
+ }
194
+ };
195
+
196
+ const cancleSearch = () => {
197
+ handleFocus(false);
198
+ setSearchValue('');
199
+ setSearchList([]);
200
+ };
201
+
202
+ const renderHeader = () => {
203
+ return (
204
+ <div
205
+ className={classNames({
206
+ 'map-choose-header': true,
207
+ 'map-choose-header_focus': isSearch,
208
+ })}
209
+ >
210
+ <div className="map-choose-header_search">
211
+ <input
212
+ type="text"
213
+ onFocus={() => {
214
+ handleFocus(true);
215
+ }}
216
+ onChange={changeSearchValue}
217
+ value={searchValue}
218
+ />
219
+ {!searchValue && (
220
+ <div className="map-choose-header_search_place">
221
+ <img
222
+ src="https://qcloudimg.tencent-cloud.cn/raw/388c48cdcbe9ca07f5682fb10d05ebdd.png"
223
+ alt=""
224
+ />
225
+ <span>搜索地点</span>
226
+ </div>
227
+ )}
228
+ </div>
229
+ <span
230
+ className="map-choose-header_search_cancel"
231
+ onClick={cancleSearch}
232
+ >
233
+ 取消
234
+ </span>
235
+ </div>
236
+ );
237
+ };
238
+ const renderMapView = () => {
239
+ return (
240
+ <div
241
+ id={`form-map-choose-${mapDomName}`}
242
+ style={{ height: isPC ? '100%' : '45%', width: '100%' }}
243
+ ></div>
244
+ );
245
+ };
246
+ const renderSuggestList = () => {
247
+ return (
248
+ <div
249
+ className={classNames({
250
+ 'map-choose-warp_sugges': true,
251
+ 'map-choose-explore_show_inSearch': isSearch,
252
+ 'map-choose-warp_sugges-pc': isPC,
253
+ })}
254
+ >
255
+ <ul>
256
+ {exploreList.map((item, index) => (
257
+ <li
258
+ key={index}
259
+ onClick={() => {
260
+ chooseLoction(item);
261
+ }}
262
+ className={classNames({
263
+ 'map-choose-warp_sugges_choosed': chooseLoc.id == item.id,
264
+ })}
265
+ >
266
+ <div className="map-choose-warp_sugges_title">{item.title}</div>
267
+ <div>{item.address}</div>
268
+ <span />
269
+ </li>
270
+ ))}
271
+ </ul>
272
+ </div>
273
+ );
274
+ };
275
+ const renderExplore = () => {
276
+ return (
277
+ <div
278
+ className={classNames({
279
+ 'map-choose-explore': true,
280
+ 'map-choose-explore_show': isSearch,
281
+ 'map-choose-explore_show-h5': isSearch && !isPC,
282
+ 'map-choose-explore-pc': isPC,
283
+ 'map-choose-explore_show-pc': isPC,
284
+ })}
285
+ >
286
+ <ul>
287
+ {searchList.map((item, index) => (
288
+ <li
289
+ key={index}
290
+ onClick={() => {
291
+ chooseLoction(item, true);
292
+ }}
293
+ className={classNames({
294
+ 'map-choose-explore_choosed': chooseLoc.id == item.id,
295
+ })}
296
+ >
297
+ <div className="map-choose-explore_title">{item.title}</div>
298
+ <div>{item.address}</div>
299
+ <span />
300
+ </li>
301
+ ))}
302
+ </ul>
303
+ </div>
304
+ );
305
+ };
306
+ if (isPC) {
307
+ return (
308
+ <div
309
+ className={classNames(
310
+ 'map-choose',
311
+ 'map-choose-pc',
312
+ 'weda-ui_map-choose'
313
+ )}
314
+ >
315
+ <div className="map-choose-pc-left">
316
+ {renderHeader()}
317
+ {renderSuggestList()}
318
+ {renderExplore()}
319
+ </div>
320
+ <div className="map-choose-pc-right">{renderMapView()}</div>
321
+ </div>
322
+ );
323
+ }
324
+ return (
325
+ <div className="map-choose weda-ui_map-choose">
326
+ {renderHeader()}
327
+ <div className="map-choose-con">
328
+ <div className="map-choose-warp">
329
+ {renderMapView()}
330
+ {renderSuggestList()}
331
+ </div>
332
+ {renderExplore()}
333
+ </div>
334
+ </div>
335
+ );
336
+ }
337
+
338
+ MapChoose.propTypes = {
339
+ APIKEY: PropTypes.string,
340
+ latlng: PropTypes.object,
341
+ changeLocation: PropTypes.func,
342
+ isPC: PropTypes.bool,
343
+ };
@@ -0,0 +1,190 @@
1
+ import * as React from 'react';
2
+ import * as PropTypes from 'prop-types';
3
+ import { tmapApiUrl } from '../constants';
4
+ import { getTMap } from '../../../../utils/tmap';
5
+
6
+ const { useEffect, useRef, useState } = React;
7
+
8
+ export default function MapView({
9
+ APIKEY = '',
10
+ drag = true,
11
+ zoom = true,
12
+ latlng = {
13
+ lat: null,
14
+ lng: null,
15
+ },
16
+ }) {
17
+ const mapRef = useRef();
18
+ const markerRef = useRef();
19
+ const mapDom = useRef();
20
+ const mapDomName = useRef(new Date().getTime());
21
+ const [mapStatus, setMapStatus] = useState(false);
22
+ const { lat, lng } = latlng;
23
+
24
+ const initMap = () => {
25
+ if (mapRef.current || !mapDom.current) return;
26
+ try {
27
+ const TMap = getTMap();
28
+ //定义地图中心点坐标
29
+ const center = new TMap.LatLng(lat, lng);
30
+ //定义map变量,调用 TMap.Map() 构造函数创建地图
31
+ mapRef.current = new TMap.Map(mapDom.current, {
32
+ center, //设置地图中心点坐标
33
+ zoom: 16, //设置地图缩放级别
34
+ minZoom: 3,
35
+ maxZoom: 20,
36
+ });
37
+ // @ts-ignore
38
+ mapRef.current.setDraggable(drag);
39
+ removeOrAddZoom(mapRef.current, TMap);
40
+ initMarker();
41
+ setMapStatus(true);
42
+ } catch (error) {
43
+ console.log('initMap error', error);
44
+ }
45
+ };
46
+
47
+ const initMarker = () => {
48
+ try {
49
+ const TMap = getTMap();
50
+ const canLoad = TMap && lat && lng && mapRef.current;
51
+ if (canLoad) {
52
+ const position = new TMap.LatLng(lat, lng);
53
+ markerRef.current = new TMap.MultiMarker({
54
+ map: mapRef.current,
55
+ styles: {
56
+ pointer: new TMap.MarkerStyle({
57
+ width: 26,
58
+ height: 35,
59
+ }),
60
+ },
61
+ geometries: [
62
+ {
63
+ id: `pointer-${mapDomName.current}`,
64
+ styleId: 'pointer',
65
+ position,
66
+ },
67
+ ],
68
+ });
69
+ }
70
+ } catch (err) {
71
+ console.log('initMarker err', err);
72
+ }
73
+ };
74
+
75
+ useEffect(() => {
76
+ if (!APIKEY || APIKEY == '这里是示例') return;
77
+ function loadScript() {
78
+ // 移除之前的
79
+ if (document.getElementById('tmap-script')) {
80
+ document.body.removeChild(document.getElementById('tmap-script'));
81
+ }
82
+ const script = document.createElement('script');
83
+ script.type = 'text/javascript';
84
+ script.src = `${tmapApiUrl}?v=2.exp&key=${APIKEY}&callback=init&libraries=service`;
85
+ script.setAttribute('id', 'tmap-script');
86
+ script.onload = () => {
87
+ initMap();
88
+ };
89
+ script.onerror = (err) => {
90
+ console.log('loadScript err', err);
91
+ };
92
+ document.body.appendChild(script);
93
+ }
94
+ setTimeout(() => {
95
+ loadScript();
96
+ }, 1000);
97
+ return () => {
98
+ // @ts-ignore
99
+ mapRef.current && mapRef.current.destroy();
100
+ mapRef.current = null;
101
+ setMapStatus(false);
102
+ };
103
+ }, [APIKEY]);
104
+
105
+ useEffect(() => {
106
+ // @ts-ignore
107
+ mapRef.current && mapRef.current.setDraggable(drag);
108
+ }, [drag, mapRef.current]);
109
+
110
+ useEffect(() => {
111
+ mapRef.current && getTMap() && removeOrAddZoom(mapRef.current, getTMap());
112
+ }, [zoom, mapRef.current]);
113
+
114
+ useEffect(() => {
115
+ const TMap = getTMap();
116
+ const canLoad = TMap && lat && lng && mapRef.current && mapStatus;
117
+ if (canLoad) {
118
+ try {
119
+ const newLatLng = new TMap.LatLng(lat, lng);
120
+ // @ts-ignore
121
+ mapRef.current.setCenter(newLatLng);
122
+ // @ts-ignore
123
+ mapRef.current.panTo(newLatLng);
124
+ // @ts-ignore
125
+ markerRef.current.updateGeometries([
126
+ {
127
+ styleId: 'pointer',
128
+ id: `pointer-${mapDomName.current}`,
129
+ position: newLatLng,
130
+ },
131
+ ]);
132
+ } catch (error) {
133
+ console.log('updateGeometries error view', error);
134
+ }
135
+ }
136
+ }, [lat, lng, mapStatus]);
137
+
138
+ // 缩放事件
139
+ const removeOrAddZoom = (map, TMap) => {
140
+ try {
141
+ let level = map.getZoom();
142
+ map.setScrollable(zoom);
143
+ map.setDoubleClickZoom(zoom);
144
+ // 缩放控件
145
+ if (zoom) {
146
+ addControl(map, TMap);
147
+ map.setMaxZoom(20);
148
+ map.setMinZoom(3);
149
+ } else {
150
+ removeControl(map, TMap);
151
+ map.setMaxZoom(level);
152
+ map.setMinZoom(level);
153
+ }
154
+ } catch (error) {
155
+ console.log('removeOrAddZoom error', error);
156
+ }
157
+ };
158
+
159
+ // 移除缩放控件
160
+ const removeControl = (map, TMap) => {
161
+ if (!map.getControl(TMap.constants.DEFAULT_CONTROL_ID.ZOOM)) {
162
+ return;
163
+ }
164
+ map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.ZOOM);
165
+ };
166
+
167
+ // 缩放控件添加到地图上
168
+ const addControl = (map, TMap) => {
169
+ let control = map.getControl(TMap.constants.DEFAULT_CONTROL_ID.ZOOM);
170
+ if (!control) {
171
+ map.addControl(control);
172
+ control.setPosition(TMap.constants.CONTROL_POSITION.BOTTOM_RIGHT);
173
+ }
174
+ };
175
+
176
+ return (
177
+ <div
178
+ ref={mapDom}
179
+ id={`form-location-map-${mapDomName.current}`}
180
+ style={{ height: '100%', width: '100%' }}
181
+ ></div>
182
+ );
183
+ }
184
+
185
+ MapView.propTypes = {
186
+ APIKEY: PropTypes.string,
187
+ drag: PropTypes.bool,
188
+ zoom: PropTypes.bool,
189
+ latlng: PropTypes.object,
190
+ };