jufubao-base 1.0.21 → 1.0.23-beta2

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 (589) hide show
  1. package/commands.all.js +78 -0
  2. package/commands.js +60 -23
  3. package/commands.update.change.js +103 -0
  4. package/get.package.path.js +2 -2
  5. package/get.package.path.js.tpl +2 -2
  6. package/package.json +12 -8
  7. package/src/ICONS.js +1128 -0
  8. package/src/common/ICB.SDK.js +78 -0
  9. package/src/common/authorize.js +418 -27
  10. package/src/common/getBusinessImageUrl.js +4 -1
  11. package/src/common/getServiceUrl.js +38 -0
  12. package/src/common/paysdk/jweixin.js +98 -0
  13. package/src/components/JfbBaseAddress/Api.js +129 -0
  14. package/src/components/JfbBaseAddress/Attr.js +137 -0
  15. package/src/components/JfbBaseAddress/JfbBaseAddress.vue +802 -0
  16. package/src/components/JfbBaseAddress/JfbBaseAddressLess.less +79 -0
  17. package/src/components/JfbBaseAddress/JfbBaseAddressMixin.js +30 -0
  18. package/src/components/JfbBaseAddress/Mock.js +127 -0
  19. package/src/components/JfbBaseAddress/XdAddress.vue +703 -0
  20. package/src/components/JfbBaseAddress/XdTfkItem.vue +117 -0
  21. package/src/components/JfbBaseAfterOrderDetail/Api.js +25 -0
  22. package/src/components/JfbBaseAfterOrderDetail/Attr.js +156 -0
  23. package/src/components/JfbBaseAfterOrderDetail/JfbBaseAfterOrderDetail.vue +433 -0
  24. package/src/components/JfbBaseAfterOrderDetail/JfbBaseAfterOrderDetailLess.less +79 -0
  25. package/src/components/JfbBaseAfterOrderDetail/JfbBaseAfterOrderDetailMixin.js +30 -0
  26. package/src/components/JfbBaseAfterOrderDetail/Mock.js +51 -0
  27. package/src/components/JfbBaseAfterOrderList/Api.js +3 -39
  28. package/src/components/JfbBaseAfterOrderList/Attr.js +166 -146
  29. package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderList.vue +359 -146
  30. package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderListLess.less +30 -8
  31. package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderListMixin.js +3 -195
  32. package/src/components/JfbBaseAfterOrderList/Mock.js +448 -0
  33. package/src/components/JfbBaseBack/Attr.js +14 -0
  34. package/src/components/JfbBaseBack/JfbBaseBack.vue +150 -0
  35. package/src/components/{JfbBaseCardMy/JfbBaseCardMyLess.less → JfbBaseBack/JfbBaseBackLess.less} +31 -9
  36. package/src/components/JfbBaseBack/JfbBaseBackMixin.js +30 -0
  37. package/src/components/JfbBaseBackground/Api.js +19 -0
  38. package/src/components/JfbBaseBackground/Attr.js +224 -0
  39. package/src/components/JfbBaseBackground/JfbBaseBackground.vue +113 -0
  40. package/src/components/JfbBaseBackground/JfbBaseBackgroundLess.less +79 -0
  41. package/src/components/JfbBaseBackground/JfbBaseBackgroundMixin.js +30 -0
  42. package/src/components/JfbBaseBlock/Attr.js +26 -37
  43. package/src/components/JfbBaseBlock/JfbBaseBlock.vue +17 -33
  44. package/src/components/JfbBaseBlock/JfbBaseBlockLess.less +30 -8
  45. package/src/components/JfbBaseBlock/JfbBaseBlockMixin.js +3 -195
  46. package/src/components/JfbBaseBottomNotice/Attr.js +106 -0
  47. package/src/components/JfbBaseBottomNotice/JfbBaseBottomNotice.vue +105 -0
  48. package/src/components/JfbBaseBottomNotice/JfbBaseBottomNoticeLess.less +79 -0
  49. package/src/components/JfbBaseBottomNotice/JfbBaseBottomNoticeMixin.js +30 -0
  50. package/src/components/JfbBaseBottomNotice/Mock.js +5 -0
  51. package/src/components/JfbBaseCard/Api.js +17 -2
  52. package/src/components/JfbBaseCard/Attr.js +465 -139
  53. package/src/components/JfbBaseCard/JfbBaseCard.vue +814 -318
  54. package/src/components/JfbBaseCard/JfbBaseCardLess.less +30 -8
  55. package/src/components/JfbBaseCard/JfbBaseCardMixin.js +3 -195
  56. package/src/components/JfbBaseCard/Mock.js +114 -0
  57. package/src/components/JfbBaseCardBind/Attr.js +34 -147
  58. package/src/components/JfbBaseCardBind/JfbBaseCardBind.vue +139 -106
  59. package/src/components/JfbBaseCardBind/JfbBaseCardBindLess.less +30 -8
  60. package/src/components/JfbBaseCardBind/JfbBaseCardBindMixin.js +3 -195
  61. package/src/components/JfbBaseCardBindV2/Api.js +37 -0
  62. package/src/components/JfbBaseCardBindV2/Attr.js +25 -0
  63. package/src/components/JfbBaseCardBindV2/JfbBaseCardBindV2.vue +298 -0
  64. package/src/components/JfbBaseCardBindV2/JfbBaseCardBindV2Less.less +79 -0
  65. package/src/components/JfbBaseCardBindV2/JfbBaseCardBindV2Mixin.js +30 -0
  66. package/src/components/JfbBaseCardBindV2/Mock.js +5 -0
  67. package/src/components/JfbBaseCardDelay/Api.js +47 -0
  68. package/src/components/JfbBaseCardDelay/Attr.js +260 -0
  69. package/src/components/JfbBaseCardDelay/JfbBaseCardDelay.vue +312 -0
  70. package/src/components/JfbBaseCardDelay/JfbBaseCardDelayLess.less +79 -0
  71. package/src/components/JfbBaseCardDelay/JfbBaseCardDelayMixin.js +30 -0
  72. package/src/components/JfbBaseCardDelay/Mock.js +13 -0
  73. package/src/components/JfbBaseCardDetail/Api.js +3 -3
  74. package/src/components/JfbBaseCardDetail/Attr.js +17 -147
  75. package/src/components/JfbBaseCardDetail/JfbBaseCardDetail.vue +517 -467
  76. package/src/components/JfbBaseCardDetail/JfbBaseCardDetailLess.less +30 -8
  77. package/src/components/JfbBaseCardDetail/JfbBaseCardDetailMixin.js +3 -195
  78. package/src/components/JfbBaseCardDetail/Mock.js +6 -0
  79. package/src/components/JfbBaseCardDetail/XdEditPwd.vue +299 -0
  80. package/src/components/JfbBaseCardDetail/XdPwPay.vue +214 -0
  81. package/src/components/JfbBaseCardDetailEntry/Api.js +58 -0
  82. package/src/components/JfbBaseCardDetailEntry/Attr.js +66 -0
  83. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +979 -0
  84. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntryLess.less +79 -0
  85. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntryMixin.js +30 -0
  86. package/src/components/JfbBaseCardDetailEntry/Mock.js +6 -0
  87. package/src/components/JfbBaseCardDetailEntry/XdEditPwd.vue +299 -0
  88. package/src/components/JfbBaseCardDetailEntry/XdPwPay.vue +214 -0
  89. package/src/components/JfbBaseCardDisabled/Api.js +34 -0
  90. package/src/components/JfbBaseCardDisabled/Attr.js +12 -0
  91. package/src/components/JfbBaseCardDisabled/JfbBaseCardDisabled.vue +324 -0
  92. package/src/components/JfbBaseCardDisabled/JfbBaseCardDisabledLess.less +79 -0
  93. package/src/components/JfbBaseCardDisabled/JfbBaseCardDisabledMixin.js +30 -0
  94. package/src/components/JfbBaseCardDisabled/Mock.js +370 -0
  95. package/src/components/JfbBaseCardDisabledEntry/Api.js +39 -0
  96. package/src/components/JfbBaseCardDisabledEntry/Attr.js +14 -0
  97. package/src/components/JfbBaseCardDisabledEntry/JfbBaseCardDisabledEntry.vue +668 -0
  98. package/src/components/JfbBaseCardDisabledEntry/JfbBaseCardDisabledEntryLess.less +79 -0
  99. package/src/components/JfbBaseCardDisabledEntry/JfbBaseCardDisabledEntryMixin.js +30 -0
  100. package/src/components/JfbBaseCardDisabledEntry/Mock.js +226 -0
  101. package/src/components/JfbBaseCardDisabledEntry/cardListMixins.js +157 -0
  102. package/src/components/JfbBaseCardEntry/Api.js +43 -0
  103. package/src/components/JfbBaseCardEntry/Attr.js +500 -0
  104. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +1471 -0
  105. package/src/components/JfbBaseCardEntry/JfbBaseCardEntryLess.less +79 -0
  106. package/src/components/JfbBaseCardEntry/JfbBaseCardEntryMixin.js +30 -0
  107. package/src/components/JfbBaseCardEntry/Mock.js +244 -0
  108. package/src/components/JfbBaseCardEntry/XdCardNew.vue +135 -0
  109. package/src/components/JfbBaseCardGive/Api.js +42 -0
  110. package/src/components/JfbBaseCardGive/Attr.js +66 -0
  111. package/src/components/JfbBaseCardGive/JfbBaseCardGive.vue +534 -0
  112. package/src/components/JfbBaseCardGive/JfbBaseCardGiveLess.less +79 -0
  113. package/src/components/JfbBaseCardGive/JfbBaseCardGiveMixin.js +30 -0
  114. package/src/components/JfbBaseCardGive/Mock.js +6 -0
  115. package/src/components/JfbBaseCardInfo/Api.js +5 -5
  116. package/src/components/JfbBaseCardInfo/Attr.js +60 -146
  117. package/src/components/JfbBaseCardInfo/JfbBaseCardInfo.vue +477 -215
  118. package/src/components/JfbBaseCardInfo/JfbBaseCardInfoLess.less +30 -8
  119. package/src/components/JfbBaseCardInfo/JfbBaseCardInfoMixin.js +3 -195
  120. package/src/components/JfbBaseCardInfo/Mock.js +23 -0
  121. package/src/components/JfbBaseCardInfoEntry/Api.js +71 -0
  122. package/src/components/JfbBaseCardInfoEntry/Attr.js +85 -0
  123. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +864 -0
  124. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntryLess.less +79 -0
  125. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntryMixin.js +30 -0
  126. package/src/components/JfbBaseCardInfoEntry/Mock.js +122 -0
  127. package/src/components/JfbBaseCardMerge/Api.js +61 -0
  128. package/src/components/JfbBaseCardMerge/Attr.js +250 -0
  129. package/src/components/JfbBaseCardMerge/JfbBaseCardMerge.vue +317 -0
  130. package/src/components/JfbBaseCardMerge/JfbBaseCardMergeLess.less +79 -0
  131. package/src/components/JfbBaseCardMerge/JfbBaseCardMergeMixin.js +30 -0
  132. package/src/components/JfbBaseCardMerge/Mock.js +5 -0
  133. package/src/components/JfbBaseCardMergeEntry/Api.js +61 -0
  134. package/src/components/JfbBaseCardMergeEntry/Attr.js +251 -0
  135. package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntry.vue +451 -0
  136. package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntryLess.less +79 -0
  137. package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntryMixin.js +30 -0
  138. package/src/components/JfbBaseCardMergeEntry/Mock.js +32 -0
  139. package/src/components/JfbBaseCardReceive/Api.js +32 -0
  140. package/src/components/JfbBaseCardReceive/Attr.js +28 -0
  141. package/src/components/JfbBaseCardReceive/JfbBaseCardReceive.vue +434 -0
  142. package/src/components/JfbBaseCardReceive/JfbBaseCardReceiveLess.less +79 -0
  143. package/src/components/JfbBaseCardReceive/JfbBaseCardReceiveMixin.js +30 -0
  144. package/src/components/JfbBaseCardReceive/Mock.js +7 -0
  145. package/src/components/JfbBaseCardReceiveCover/Api.js +20 -0
  146. package/src/components/JfbBaseCardReceiveCover/Attr.js +147 -0
  147. package/src/components/JfbBaseCardReceiveCover/JfbBaseCardReceiveCover.vue +218 -0
  148. package/src/components/JfbBaseCardReceiveCover/JfbBaseCardReceiveCoverLess.less +79 -0
  149. package/src/components/JfbBaseCardReceiveCover/JfbBaseCardReceiveCoverMixin.js +30 -0
  150. package/src/components/JfbBaseCardReceiveCover/Mock.js +5 -0
  151. package/src/components/JfbBaseCardShift/Api.js +17 -2
  152. package/src/components/JfbBaseCardShift/Attr.js +245 -146
  153. package/src/components/JfbBaseCardShift/JfbBaseCardShift.vue +266 -182
  154. package/src/components/JfbBaseCardShift/JfbBaseCardShiftLess.less +30 -8
  155. package/src/components/JfbBaseCardShift/JfbBaseCardShiftMixin.js +3 -195
  156. package/src/components/JfbBaseCardShift/Mock.js +21 -0
  157. package/src/components/JfbBaseCardShiftEntry/Api.js +51 -0
  158. package/src/components/JfbBaseCardShiftEntry/Attr.js +245 -0
  159. package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntry.vue +627 -0
  160. package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntryLess.less +79 -0
  161. package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntryMixin.js +30 -0
  162. package/src/components/JfbBaseCardShiftEntry/Mock.js +6 -0
  163. package/src/components/JfbBaseCardSweepInfo/Api.js +47 -0
  164. package/src/components/JfbBaseCardSweepInfo/Attr.js +31 -0
  165. package/src/components/JfbBaseCardSweepInfo/JfbBaseCardSweepInfo.vue +392 -0
  166. package/src/components/JfbBaseCardSweepInfo/JfbBaseCardSweepInfoLess.less +79 -0
  167. package/src/components/JfbBaseCardSweepInfo/JfbBaseCardSweepInfoMixin.js +30 -0
  168. package/src/components/JfbBaseCardSweepInfo/Mock.js +19 -0
  169. package/src/components/JfbBaseCardV2/Api.js +35 -0
  170. package/src/components/JfbBaseCardV2/Attr.js +112 -0
  171. package/src/components/JfbBaseCardV2/JfbBaseCardV2.vue +432 -0
  172. package/src/components/JfbBaseCardV2/JfbBaseCardV2Less.less +79 -0
  173. package/src/components/JfbBaseCardV2/JfbBaseCardV2Mixin.js +30 -0
  174. package/src/components/JfbBaseCardV2/Mock.js +114 -0
  175. package/src/components/JfbBaseCardV3/Api.js +34 -0
  176. package/src/components/JfbBaseCardV3/Attr.js +75 -0
  177. package/src/components/JfbBaseCardV3/JfbBaseCardV3.vue +252 -0
  178. package/src/components/JfbBaseCardV3/JfbBaseCardV3Less.less +79 -0
  179. package/src/components/JfbBaseCardV3/JfbBaseCardV3Mixin.js +30 -0
  180. package/src/components/JfbBaseCardV3/Mock.js +5 -0
  181. package/src/components/JfbBaseCity/Api.js +49 -0
  182. package/src/components/JfbBaseCity/Attr.js +14 -0
  183. package/src/components/JfbBaseCity/JfbBaseCity.vue +146 -0
  184. package/src/components/JfbBaseCity/JfbBaseCityLess.less +79 -0
  185. package/src/components/JfbBaseCity/JfbBaseCityMixin.js +30 -0
  186. package/src/components/JfbBaseCity/Mock.js +5 -0
  187. package/src/components/JfbBaseCity/cityData.js +7 -0
  188. package/src/components/JfbBaseClear/Attr.js +17 -0
  189. package/src/components/JfbBaseClear/JfbBaseClear.vue +141 -0
  190. package/src/components/JfbBaseClear/JfbBaseClearLess.less +79 -0
  191. package/src/components/JfbBaseClear/JfbBaseClearMixin.js +30 -0
  192. package/src/components/JfbBaseConDialog/Api.js +66 -0
  193. package/src/components/JfbBaseConDialog/Attr.js +82 -0
  194. package/src/components/JfbBaseConDialog/JfbBaseConDialog.vue +580 -0
  195. package/src/components/JfbBaseConDialog/JfbBaseConDialogLess.less +79 -0
  196. package/src/components/JfbBaseConDialog/JfbBaseConDialogMixin.js +30 -0
  197. package/src/components/JfbBaseConDialog/Mock.js +49 -0
  198. package/src/components/JfbBaseConDialog/XdCouCardBind.vue +307 -0
  199. package/src/components/JfbBaseConList/Api.js +70 -0
  200. package/src/components/JfbBaseConList/Attr.js +171 -0
  201. package/src/components/JfbBaseConList/JfbBaseConList.vue +818 -0
  202. package/src/components/JfbBaseConList/JfbBaseConListLess.less +79 -0
  203. package/src/components/JfbBaseConList/JfbBaseConListMixin.js +30 -0
  204. package/src/components/JfbBaseConList/Mock.js +26 -0
  205. package/src/components/JfbBaseConPhone/Api.js +80 -0
  206. package/src/components/JfbBaseConPhone/Attr.js +10 -0
  207. package/src/components/JfbBaseConPhone/JfbBaseConPhone.vue +707 -0
  208. package/src/components/JfbBaseConPhone/JfbBaseConPhoneLess.less +79 -0
  209. package/src/components/JfbBaseConPhone/JfbBaseConPhoneMixin.js +30 -0
  210. package/src/components/JfbBaseConPhone/Mock.js +26 -0
  211. package/src/components/JfbBaseEntry/Api.js +14 -0
  212. package/src/components/JfbBaseEntry/Attr.js +85 -0
  213. package/src/components/JfbBaseEntry/JfbBaseEntry.vue +286 -0
  214. package/src/components/JfbBaseEntry/JfbBaseEntryLess.less +79 -0
  215. package/src/components/JfbBaseEntry/JfbBaseEntryMixin.js +30 -0
  216. package/src/components/JfbBaseEntry/Mock.js +177 -0
  217. package/src/components/JfbBaseExpressDetail/Api.js +25 -0
  218. package/src/components/JfbBaseExpressDetail/Attr.js +12 -0
  219. package/src/components/JfbBaseExpressDetail/JfbBaseExpressDetail.vue +125 -0
  220. package/src/components/JfbBaseExpressDetail/JfbBaseExpressDetailLess.less +79 -0
  221. package/src/components/JfbBaseExpressDetail/JfbBaseExpressDetailMixin.js +30 -0
  222. package/src/components/JfbBaseExpressDetail/Mock.js +5 -0
  223. package/src/components/JfbBaseExpressDetail/XdExpressTimeLine/XdExpressTimeLine.vue +310 -0
  224. package/src/components/JfbBaseFastLink/Api.js +7 -0
  225. package/src/components/JfbBaseFastLink/Attr.js +306 -0
  226. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +292 -0
  227. package/src/components/JfbBaseFastLink/JfbBaseFastLinkLess.less +79 -0
  228. package/src/components/JfbBaseFastLink/JfbBaseFastLinkMixin.js +30 -0
  229. package/src/components/JfbBaseFastLink/Mock.js +5 -0
  230. package/src/components/JfbBaseFastLink/XdFastNav.vue +201 -0
  231. package/src/components/JfbBaseFooter/Attr.js +139 -70
  232. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +93 -34
  233. package/src/components/JfbBaseFooter/JfbBaseFooterLess.less +30 -8
  234. package/src/components/JfbBaseFooter/JfbBaseFooterMixin.js +3 -195
  235. package/src/components/JfbBaseHeader/Api.js +38 -0
  236. package/src/components/JfbBaseHeader/Attr.js +372 -0
  237. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +425 -0
  238. package/src/components/JfbBaseHeader/JfbBaseHeaderLess.less +79 -0
  239. package/src/components/JfbBaseHeader/JfbBaseHeaderMixin.js +30 -0
  240. package/src/components/JfbBaseHeader/Mock.js +15 -0
  241. package/src/components/JfbBaseHeaderElephant/Api.js +22 -0
  242. package/src/components/JfbBaseHeaderElephant/Attr.js +510 -0
  243. package/src/components/JfbBaseHeaderElephant/JfbBaseHeaderElephant.vue +464 -0
  244. package/src/components/JfbBaseHeaderElephant/JfbBaseHeaderElephantLess.less +79 -0
  245. package/src/components/JfbBaseHeaderElephant/JfbBaseHeaderElephantMixin.js +30 -0
  246. package/src/components/JfbBaseHeaderElephant/Mock.js +5 -0
  247. package/src/components/JfbBaseImageBlock/Attr.js +85 -0
  248. package/src/components/JfbBaseImageBlock/JfbBaseImageBlock.vue +126 -0
  249. package/src/components/JfbBaseImageBlock/JfbBaseImageBlockLess.less +79 -0
  250. package/src/components/JfbBaseImageBlock/JfbBaseImageBlockMixin.js +30 -0
  251. package/src/components/JfbBaseLogin/Api.js +30 -10
  252. package/src/components/JfbBaseLogin/Attr.js +1239 -16
  253. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +1294 -554
  254. package/src/components/JfbBaseLogin/JfbBaseLoginLess.less +30 -8
  255. package/src/components/JfbBaseLogin/JfbBaseLoginMixin.js +3 -195
  256. package/src/components/JfbBaseLogin/Mock.js +17 -0
  257. package/src/components/JfbBaseLogin/privacyMixins.js +0 -0
  258. package/src/components/JfbBaseLoginForgetPwd/Api.js +36 -0
  259. package/src/components/JfbBaseLoginForgetPwd/Attr.js +61 -0
  260. package/src/components/JfbBaseLoginForgetPwd/JfbBaseLoginForgetPwd.vue +267 -0
  261. package/src/components/JfbBaseLoginForgetPwd/JfbBaseLoginForgetPwdLess.less +79 -0
  262. package/src/components/JfbBaseLoginForgetPwd/JfbBaseLoginForgetPwdMixin.js +30 -0
  263. package/src/components/JfbBaseLoginSetPwd/Api.js +40 -0
  264. package/src/components/JfbBaseLoginSetPwd/Attr.js +32 -0
  265. package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwd.vue +205 -0
  266. package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwdLess.less +79 -0
  267. package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwdMixin.js +30 -0
  268. package/src/components/JfbBaseMapOverlay/Api.js +17 -0
  269. package/src/components/JfbBaseMapOverlay/Attr.js +14 -0
  270. package/src/components/JfbBaseMapOverlay/JfbBaseMapOverlay.vue +239 -0
  271. package/src/components/JfbBaseMapOverlay/JfbBaseMapOverlayLess.less +79 -0
  272. package/src/components/JfbBaseMapOverlay/JfbBaseMapOverlayMixin.js +30 -0
  273. package/src/components/JfbBaseMapOverlay/Mock.js +65 -0
  274. package/src/components/JfbBaseMapOverlay/XdBaiduOverlay.vue +345 -0
  275. package/src/components/JfbBaseMapOverlay/XdMapOverlay.vue +156 -0
  276. package/src/components/JfbBaseMapSearch/Api.js +15 -0
  277. package/src/components/JfbBaseMapSearch/Attr.js +14 -0
  278. package/src/components/JfbBaseMapSearch/JfbBaseMapSearch.vue +104 -0
  279. package/src/components/JfbBaseMapSearch/JfbBaseMapSearchLess.less +79 -0
  280. package/src/components/JfbBaseMapSearch/JfbBaseMapSearchMixin.js +30 -0
  281. package/src/components/JfbBaseMapSearch/MapSearchH5.vue +362 -0
  282. package/src/components/JfbBaseMapSearch/MapSearchMp.vue +164 -0
  283. package/src/components/JfbBaseMapSearch/Mock.js +5 -0
  284. package/src/components/JfbBaseMapSearch/bmap-wx.js +195 -0
  285. package/src/components/JfbBaseMergeUserCard/Api.js +32 -0
  286. package/src/components/JfbBaseMergeUserCard/Attr.js +26 -0
  287. package/src/components/JfbBaseMergeUserCard/JfbBaseMergeUserCard.vue +311 -0
  288. package/src/components/JfbBaseMergeUserCard/JfbBaseMergeUserCardLess.less +79 -0
  289. package/src/components/JfbBaseMergeUserCard/JfbBaseMergeUserCardMixin.js +30 -0
  290. package/src/components/JfbBaseMergeUserCard/Mock.js +5 -0
  291. package/src/components/JfbBaseMultipleExpress/Api.js +25 -0
  292. package/src/components/JfbBaseMultipleExpress/Attr.js +34 -0
  293. package/src/components/JfbBaseMultipleExpress/JfbBaseMultipleExpress.vue +355 -0
  294. package/src/components/JfbBaseMultipleExpress/JfbBaseMultipleExpressLess.less +79 -0
  295. package/src/components/JfbBaseMultipleExpress/JfbBaseMultipleExpressMixin.js +30 -0
  296. package/src/components/JfbBaseMultipleExpress/Mock.js +93 -0
  297. package/src/components/JfbBaseMy/Api.js +1 -46
  298. package/src/components/JfbBaseMy/Attr.js +81 -16
  299. package/src/components/JfbBaseMy/JfbBaseMy.vue +86 -39
  300. package/src/components/JfbBaseMy/JfbBaseMyLess.less +30 -8
  301. package/src/components/JfbBaseMy/JfbBaseMyMixin.js +3 -195
  302. package/src/components/JfbBaseMySetting/Api.js +43 -0
  303. package/src/components/JfbBaseMySetting/Attr.js +24 -0
  304. package/src/components/JfbBaseMySetting/JfbBaseMySetting.vue +216 -0
  305. package/src/components/JfbBaseMySetting/JfbBaseMySettingLess.less +79 -0
  306. package/src/components/JfbBaseMySetting/JfbBaseMySettingMixin.js +30 -0
  307. package/src/components/JfbBaseMySetting/Mock.js +6 -0
  308. package/src/components/JfbBaseMySetting/XdListItem.vue +135 -0
  309. package/src/components/JfbBaseNotice/Api.js +18 -0
  310. package/src/components/JfbBaseNotice/Attr.js +476 -0
  311. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +560 -0
  312. package/src/components/JfbBaseNotice/JfbBaseNoticeLess.less +79 -0
  313. package/src/components/JfbBaseNotice/JfbBaseNoticeMixin.js +30 -0
  314. package/src/components/JfbBaseNotice/Mock.js +5 -0
  315. package/src/components/JfbBaseNotice/XdNoticeBar.vue +535 -0
  316. package/src/components/JfbBaseNoticeBottom/Api.js +60 -0
  317. package/src/components/JfbBaseNoticeBottom/Attr.js +106 -0
  318. package/src/components/JfbBaseNoticeBottom/JfbBaseNoticeBottom.vue +73 -0
  319. package/src/components/JfbBaseNoticeBottom/JfbBaseNoticeBottomLess.less +79 -0
  320. package/src/components/JfbBaseNoticeBottom/JfbBaseNoticeBottomMixin.js +30 -0
  321. package/src/components/JfbBaseNoticeBottom/Mock.js +5 -0
  322. package/src/components/JfbBaseNoticeTop/Api.js +60 -0
  323. package/src/components/JfbBaseNoticeTop/Attr.js +106 -0
  324. package/src/components/JfbBaseNoticeTop/JfbBaseNoticeTop.vue +106 -0
  325. package/src/components/JfbBaseNoticeTop/JfbBaseNoticeTopLess.less +79 -0
  326. package/src/components/JfbBaseNoticeTop/JfbBaseNoticeTopMixin.js +30 -0
  327. package/src/components/JfbBaseNoticeTop/Mock.js +5 -0
  328. package/src/components/JfbBaseOrderDetail/Api.js +54 -0
  329. package/src/components/JfbBaseOrderDetail/Attr.js +630 -0
  330. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +1921 -0
  331. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetailLess.less +79 -0
  332. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetailMixin.js +30 -0
  333. package/src/components/JfbBaseOrderDetail/Mock.js +106 -0
  334. package/src/components/JfbBaseOrderDetail/bizMock.js +382 -0
  335. package/src/components/JfbBaseOrderList/Api.js +11 -33
  336. package/src/components/JfbBaseOrderList/Attr.js +262 -146
  337. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +694 -212
  338. package/src/components/JfbBaseOrderList/JfbBaseOrderListLess.less +30 -8
  339. package/src/components/JfbBaseOrderList/JfbBaseOrderListMixin.js +3 -195
  340. package/src/components/JfbBaseOrderList/Mock.js +195 -0
  341. package/src/components/JfbBaseOrderList/XdTfkOrderItem.vue +267 -0
  342. package/src/components/JfbBasePay/Api.js +71 -0
  343. package/src/components/JfbBasePay/Attr.js +38 -0
  344. package/src/components/JfbBasePay/JfbBasePay.vue +642 -0
  345. package/src/components/{JfbBaseLine/JfbBaseLineLess.less → JfbBasePay/JfbBasePayLess.less} +31 -9
  346. package/src/components/JfbBasePay/JfbBasePayMixin.js +30 -0
  347. package/src/components/JfbBasePay/Mock.js +39 -0
  348. package/src/components/JfbBasePhoneCollect/Api.js +39 -0
  349. package/src/components/JfbBasePhoneCollect/Attr.js +988 -0
  350. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +644 -0
  351. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollectLess.less +79 -0
  352. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollectMixin.js +30 -0
  353. package/src/components/JfbBasePhoneLogin/Api.js +41 -0
  354. package/src/components/JfbBasePhoneLogin/Attr.js +932 -0
  355. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +762 -0
  356. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLoginLess.less +79 -0
  357. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLoginMixin.js +30 -0
  358. package/src/components/JfbBasePoster/Api.js +19 -0
  359. package/src/components/JfbBasePoster/Attr.js +460 -0
  360. package/src/components/JfbBasePoster/JfbBasePoster.vue +733 -0
  361. package/src/components/JfbBasePoster/JfbBasePosterLess.less +79 -0
  362. package/src/components/JfbBasePoster/JfbBasePosterMixin.js +30 -0
  363. package/src/components/JfbBasePoster/Mock.js +5 -0
  364. package/src/components/JfbBasePoster/MoreScreen.vue +404 -0
  365. package/src/components/JfbBasePoster/XdSwiperDot.vue +234 -0
  366. package/src/components/JfbBasePosterBigSmall/Api.js +28 -0
  367. package/src/components/JfbBasePosterBigSmall/Attr.js +1046 -0
  368. package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +886 -0
  369. package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmallLess.less +79 -0
  370. package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmallMixin.js +30 -0
  371. package/src/components/JfbBasePosterBigSmall/Mock.js +5 -0
  372. package/src/components/JfbBasePosterBigSmall/XdSwiperDot.vue +234 -0
  373. package/src/components/JfbBasePosterBigSmall/getWidthHeight.js +16 -0
  374. package/src/components/JfbBasePosterEntry/Api.js +18 -0
  375. package/src/components/JfbBasePosterEntry/Attr.js +310 -0
  376. package/src/components/JfbBasePosterEntry/JfbBasePosterEntry.vue +363 -0
  377. package/src/components/JfbBasePosterEntry/JfbBasePosterEntryLess.less +79 -0
  378. package/src/components/JfbBasePosterEntry/JfbBasePosterEntryMixin.js +30 -0
  379. package/src/components/JfbBasePosterEntry/Mock.js +5 -0
  380. package/src/components/JfbBasePosterType/Api.js +18 -0
  381. package/src/components/JfbBasePosterType/Attr.js +453 -0
  382. package/src/components/JfbBasePosterType/FourScreen.vue +575 -0
  383. package/src/components/JfbBasePosterType/JfbBasePosterType.vue +291 -0
  384. package/src/components/JfbBasePosterType/JfbBasePosterTypeLess.less +79 -0
  385. package/src/components/JfbBasePosterType/JfbBasePosterTypeMixin.js +30 -0
  386. package/src/components/JfbBasePosterType/Mock.js +5 -0
  387. package/src/components/JfbBasePosterType/XdSwiperDot.vue +234 -0
  388. package/src/components/JfbBaseRecharge/Api.js +74 -0
  389. package/src/components/JfbBaseRecharge/Attr.js +271 -0
  390. package/src/components/JfbBaseRecharge/JfbBaseRecharge.vue +369 -0
  391. package/src/components/JfbBaseRecharge/JfbBaseRechargeLess.less +79 -0
  392. package/src/components/JfbBaseRecharge/JfbBaseRechargeMixin.js +30 -0
  393. package/src/components/JfbBaseRecharge/Mock.js +5 -0
  394. package/src/components/JfbBaseRechargeNew/Api.js +35 -0
  395. package/src/components/JfbBaseRechargeNew/Attr.js +35 -0
  396. package/src/components/JfbBaseRechargeNew/JfbBaseRechargeNew.vue +283 -0
  397. package/src/components/JfbBaseRechargeNew/JfbBaseRechargeNewLess.less +79 -0
  398. package/src/components/JfbBaseRechargeNew/JfbBaseRechargeNewMixin.js +30 -0
  399. package/src/components/JfbBaseRechargeNew/Mock.js +14 -0
  400. package/src/components/JfbBaseRechargeOrder/Api.js +37 -0
  401. package/src/components/JfbBaseRechargeOrder/Attr.js +180 -0
  402. package/src/components/JfbBaseRechargeOrder/JfbBaseRechargeOrder.vue +388 -0
  403. package/src/components/JfbBaseRechargeOrder/JfbBaseRechargeOrderLess.less +79 -0
  404. package/src/components/JfbBaseRechargeOrder/JfbBaseRechargeOrderMixin.js +30 -0
  405. package/src/components/JfbBaseRechargeOrder/Mock.js +5 -0
  406. package/src/components/JfbBaseRechargeOrderDetail/Api.js +36 -0
  407. package/src/components/JfbBaseRechargeOrderDetail/Attr.js +14 -0
  408. package/src/components/JfbBaseRechargeOrderDetail/JfbBaseRechargeOrderDetail.vue +319 -0
  409. package/src/components/JfbBaseRechargeOrderDetail/JfbBaseRechargeOrderDetailLess.less +79 -0
  410. package/src/components/JfbBaseRechargeOrderDetail/JfbBaseRechargeOrderDetailMixin.js +30 -0
  411. package/src/components/JfbBaseRechargeOrderDetail/Mock.js +5 -0
  412. package/src/components/JfbBaseRechargeSuccess/Api.js +36 -0
  413. package/src/components/JfbBaseRechargeSuccess/Attr.js +38 -0
  414. package/src/components/JfbBaseRechargeSuccess/JfbBaseRechargeSuccess.vue +207 -0
  415. package/src/components/JfbBaseRechargeSuccess/JfbBaseRechargeSuccessLess.less +79 -0
  416. package/src/components/JfbBaseRechargeSuccess/JfbBaseRechargeSuccessMixin.js +30 -0
  417. package/src/components/JfbBaseRechargeSuccess/Mock.js +5 -0
  418. package/src/components/JfbBaseSearch/Attr.js +12 -0
  419. package/src/components/JfbBaseSearch/JfbBaseSearch.vue +98 -0
  420. package/src/components/JfbBaseSearch/JfbBaseSearchLess.less +79 -0
  421. package/src/components/JfbBaseSearch/JfbBaseSearchMixin.js +30 -0
  422. package/src/components/JfbBaseSearch/XdBaiduSearch.vue +354 -0
  423. package/src/components/JfbBaseSetPwd/Attr.js +6 -147
  424. package/src/components/JfbBaseSetPwd/JfbBaseSetPwd.vue +63 -49
  425. package/src/components/JfbBaseSetPwd/JfbBaseSetPwdLess.less +30 -8
  426. package/src/components/JfbBaseSetPwd/JfbBaseSetPwdMixin.js +3 -195
  427. package/src/components/JfbBaseSuccess/Api.js +35 -0
  428. package/src/components/JfbBaseSuccess/Attr.js +328 -60
  429. package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +911 -284
  430. package/src/components/JfbBaseSuccess/JfbBaseSuccessLess.less +30 -8
  431. package/src/components/JfbBaseSuccess/JfbBaseSuccessMixin.js +3 -195
  432. package/src/components/JfbBaseSuccess/Mock.js +80 -0
  433. package/src/components/JfbBaseSweep/Attr.js +34 -0
  434. package/src/components/JfbBaseSweep/JfbBaseSweep.vue +375 -0
  435. package/src/components/JfbBaseSweep/JfbBaseSweepLess.less +79 -0
  436. package/src/components/JfbBaseSweep/JfbBaseSweepMixin.js +30 -0
  437. package/src/components/JfbBaseSweep/Mock.js +3 -0
  438. package/src/components/JfbBaseTestApi/Api.js +11 -0
  439. package/src/components/JfbBaseTestApi/JfbBaseTestApi.vue +85 -17
  440. package/src/components/JfbBaseTestApi/JfbBaseTestApiLess.less +30 -8
  441. package/src/components/JfbBaseTestApi/JfbBaseTestApiMixin.js +3 -195
  442. package/src/components/JfbBaseTestApi/Mock.js +25 -0
  443. package/src/components/JfbBaseTestBody/JfbBaseTestBody.vue +9 -6
  444. package/src/components/JfbBaseTestBody/JfbBaseTestBodyLess.less +30 -8
  445. package/src/components/JfbBaseTestBody/JfbBaseTestBodyMixin.js +3 -195
  446. package/src/components/JfbBaseTestBottom/JfbBaseTestBottom.vue +9 -6
  447. package/src/components/JfbBaseTestBottom/JfbBaseTestBottomLess.less +30 -8
  448. package/src/components/JfbBaseTestBottom/JfbBaseTestBottomMixin.js +3 -195
  449. package/src/components/JfbBaseTestNotice/Api.js +60 -0
  450. package/src/components/JfbBaseTestNotice/Attr.js +277 -0
  451. package/src/components/JfbBaseTestNotice/JfbBaseTestNotice.vue +105 -0
  452. package/src/components/JfbBaseTestNotice/JfbBaseTestNoticeLess.less +79 -0
  453. package/src/components/JfbBaseTestNotice/JfbBaseTestNoticeMixin.js +30 -0
  454. package/src/components/JfbBaseTestNotice/Mock.js +5 -0
  455. package/src/components/JfbBaseTestTop/JfbBaseTestTop.vue +18 -9
  456. package/src/components/JfbBaseTestTop/JfbBaseTestTopLess.less +30 -8
  457. package/src/components/JfbBaseTestTop/JfbBaseTestTopMixin.js +3 -195
  458. package/src/components/JfbBaseTfkCardBind/Api.js +77 -0
  459. package/src/components/JfbBaseTfkCardBind/Attr.js +728 -0
  460. package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +858 -0
  461. package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBindLess.less +79 -0
  462. package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBindMixin.js +30 -0
  463. package/src/components/JfbBaseTfkCardBind/Mock.js +23 -0
  464. package/src/components/JfbBaseTfkCardDetail/Api.js +45 -0
  465. package/src/components/JfbBaseTfkCardDetail/Attr.js +541 -0
  466. package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +734 -0
  467. package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetailLess.less +79 -0
  468. package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetailMixin.js +30 -0
  469. package/src/components/JfbBaseTfkCardDetail/Mock.js +155 -0
  470. package/src/components/JfbBaseTfkCardLogin/Api.js +43 -0
  471. package/src/components/JfbBaseTfkCardLogin/Attr.js +1120 -0
  472. package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +897 -0
  473. package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLoginLess.less +79 -0
  474. package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLoginMixin.js +30 -0
  475. package/src/components/JfbBaseTfkCardLogin/Mock.js +193 -0
  476. package/src/components/JfbBaseTfkCardLogin/XdCouponItem.vue +275 -0
  477. package/src/components/JfbBaseTfkCardLogin/XdNotice.vue +550 -0
  478. package/src/components/JfbBaseTfkSearch/AllList.vue +347 -0
  479. package/src/components/JfbBaseTfkSearch/Api.js +27 -0
  480. package/src/components/JfbBaseTfkSearch/Attr.js +370 -0
  481. package/src/components/JfbBaseTfkSearch/ContentCinema.vue +159 -0
  482. package/src/components/JfbBaseTfkSearch/ContentFilm.vue +230 -0
  483. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +340 -0
  484. package/src/components/JfbBaseTfkSearch/ContentShop.vue +199 -0
  485. package/src/components/JfbBaseTfkSearch/CusAttr.js +213 -0
  486. package/src/components/JfbBaseTfkSearch/CustomList.vue +475 -0
  487. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +374 -0
  488. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearchLess.less +79 -0
  489. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearchMixin.js +30 -0
  490. package/src/components/JfbBaseTfkSearch/Mock.js +225 -0
  491. package/src/components/JfbBaseTfkSearch/SkeletonCinema.vue +45 -0
  492. package/src/components/JfbBaseTfkSearch/SkeletonFilm.vue +109 -0
  493. package/src/components/JfbBaseTfkSearch/SkeletonProduct.vue +246 -0
  494. package/src/components/JfbBaseTfkSearch/SkeletonShop.vue +81 -0
  495. package/src/components/JfbBaseTfkSearch/handleKeyword.js +24 -0
  496. package/src/components/JfbBaseTfkSearch/listMixins.js +188 -0
  497. package/src/components/JfbBaseUserCenter/Api.js +60 -0
  498. package/src/components/JfbBaseUserCenter/Attr.js +531 -0
  499. package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +335 -0
  500. package/src/components/JfbBaseUserCenter/JfbBaseUserCenterLess.less +79 -0
  501. package/src/components/JfbBaseUserCenter/JfbBaseUserCenterMixin.js +30 -0
  502. package/src/components/JfbBaseUserCenter/Mock.js +5 -0
  503. package/src/components/JfbBaseUserInfo/Api.js +18 -0
  504. package/src/components/JfbBaseUserInfo/Attr.js +470 -0
  505. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +426 -0
  506. package/src/components/JfbBaseUserInfo/JfbBaseUserInfoLess.less +79 -0
  507. package/src/components/JfbBaseUserInfo/JfbBaseUserInfoMixin.js +30 -0
  508. package/src/components/JfbBaseUserInfo/Mock.js +20 -0
  509. package/src/components/JfbBaseUserOrder/Api.js +19 -0
  510. package/src/components/JfbBaseUserOrder/Attr.js +551 -0
  511. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +434 -0
  512. package/src/components/JfbBaseUserOrder/JfbBaseUserOrderLess.less +79 -0
  513. package/src/components/JfbBaseUserOrder/JfbBaseUserOrderMixin.js +30 -0
  514. package/src/components/JfbBaseVideo/Api.js +19 -0
  515. package/src/components/JfbBaseVideo/Attr.js +312 -0
  516. package/src/components/JfbBaseVideo/JfbBaseVideo.vue +206 -0
  517. package/src/components/JfbBaseVideo/JfbBaseVideoLess.less +79 -0
  518. package/src/components/JfbBaseVideo/JfbBaseVideoMixin.js +30 -0
  519. package/src/components/JfbBaseVideo/Mock.js +3 -0
  520. package/src/components/JfbBaseVideo/XdVideo.vue +170 -0
  521. package/src/components/JfbBaseWallet/Api.js +60 -0
  522. package/src/components/JfbBaseWallet/Attr.js +479 -0
  523. package/src/components/JfbBaseWallet/JfbBaseWallet.vue +430 -0
  524. package/src/components/JfbBaseWallet/JfbBaseWalletLess.less +79 -0
  525. package/src/components/JfbBaseWallet/JfbBaseWalletMixin.js +30 -0
  526. package/src/components/JfbBaseWallet/Mock.js +6 -0
  527. package/src/components/JfbBaseWalletDetail/Api.js +26 -0
  528. package/src/components/JfbBaseWalletDetail/Attr.js +12 -0
  529. package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetail.vue +172 -0
  530. package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetailLess.less +79 -0
  531. package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetailMixin.js +30 -0
  532. package/src/components/JfbBaseWalletDetail/Mock.js +6 -0
  533. package/src/components/JfbBaseWalletEffective/Api.js +27 -0
  534. package/src/components/JfbBaseWalletEffective/Attr.js +15 -0
  535. package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffective.vue +173 -0
  536. package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffectiveLess.less +79 -0
  537. package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffectiveMixin.js +30 -0
  538. package/src/components/JfbBaseWalletEffective/Mock.js +21 -0
  539. package/src/components/JfbBaseWalletIndex/Api.js +48 -0
  540. package/src/components/JfbBaseWalletIndex/Attr.js +35 -0
  541. package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndex.vue +814 -0
  542. package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndexLess.less +79 -0
  543. package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndexMixin.js +30 -0
  544. package/src/components/JfbBaseWalletIndex/Mock.js +7 -0
  545. package/src/components/JfbBaseWalletItem/Api.js +37 -0
  546. package/src/components/JfbBaseWalletItem/Attr.js +35 -0
  547. package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +493 -0
  548. package/src/components/JfbBaseWalletItem/JfbBaseWalletItemLess.less +79 -0
  549. package/src/components/JfbBaseWalletItem/JfbBaseWalletItemMixin.js +30 -0
  550. package/src/components/JfbBaseWalletItem/Mock.js +7 -0
  551. package/src/components/JfbBaseWebview/Attr.js +10 -0
  552. package/src/components/JfbBaseWebview/JfbBaseWebview.vue +102 -0
  553. package/src/components/JfbBaseWebview/JfbBaseWebviewLess.less +79 -0
  554. package/src/components/JfbBaseWebview/JfbBaseWebviewMixin.js +30 -0
  555. package/src/components/JfbBaseWxAuthorize/Api.js +45 -0
  556. package/src/components/JfbBaseWxAuthorize/Attr.js +526 -0
  557. package/src/components/JfbBaseWxAuthorize/JfbBaseWxAuthorize.vue +364 -0
  558. package/src/components/JfbBaseWxAuthorize/JfbBaseWxAuthorizeLess.less +79 -0
  559. package/src/components/JfbBaseWxAuthorize/JfbBaseWxAuthorizeMixin.js +30 -0
  560. package/src/components/JfbBaseWxAuthorize/Mock.js +46 -0
  561. package/src/components/JfbBaseWxAuthorizeError/Api.js +29 -0
  562. package/src/components/JfbBaseWxAuthorizeError/Attr.js +265 -0
  563. package/src/components/JfbBaseWxAuthorizeError/JfbBaseWxAuthorizeError.vue +153 -0
  564. package/src/components/JfbBaseWxAuthorizeError/JfbBaseWxAuthorizeErrorLess.less +79 -0
  565. package/src/components/JfbBaseWxAuthorizeError/JfbBaseWxAuthorizeErrorMixin.js +30 -0
  566. package/src/components/JfbBaseWxAuthorizeError/Mock.js +5 -0
  567. package/src/config.app.plus.js +6 -0
  568. package/src/config.h5.js +13 -0
  569. package/src/config.mp.weixin.js +13 -0
  570. package/src/config.project.js +15 -0
  571. package/src/mixins/colorCardMixins.js +122 -0
  572. package/src/mixins/componentsMixins.js +833 -0
  573. package/src/mixins/extsMixins.js +3 -0
  574. package/src/mixins/posterMixins.js +122 -0
  575. package/src/mocks.js +4 -0
  576. package/build.json.tpl +0 -103
  577. package/src/business/12121.png +0 -0
  578. package/src/business/base_download.png +0 -0
  579. package/src/business/base_icon_vip_3x.png +0 -0
  580. package/src/business/base_qr.png +0 -0
  581. package/src/business/business_store.png +0 -0
  582. package/src/components/JfbBaseCardMy/Attr.js +0 -150
  583. package/src/components/JfbBaseCardMy/JfbBaseCardMy.vue +0 -220
  584. package/src/components/JfbBaseCardMy/JfbBaseCardMyMixin.js +0 -222
  585. package/src/components/JfbBaseLine/Attr.js +0 -59
  586. package/src/components/JfbBaseLine/JfbBaseLine.vue +0 -102
  587. package/src/components/JfbBaseLine/JfbBaseLineMixin.js +0 -222
  588. /package/src/components/{JfbBaseCardMy → JfbBaseBottomNotice}/Api.js +0 -0
  589. /package/src/components/{JfbBaseCardBind → JfbBaseSweep}/Api.js +0 -0
@@ -1,672 +1,1412 @@
1
1
  <template>
2
2
  <view
3
3
  class="jfb-base-login"
4
- @click="handleSelect"
5
- :class="{ editx : isEditx && active }"
4
+ @click="handleEditxSelect"
5
+ :class="{
6
+ editx: isEditx && active,
7
+ noBorder: noBorder,
8
+ }"
6
9
  >
7
10
  <!--#ifdef H5-->
8
11
  <view
9
12
  class="jfb-base-login__edit"
10
- :class="{ editx : isEditx && active }"
11
- v-if="isEditx && active"
13
+ :class="{ editx: isEditx && active }"
14
+ v-if="isEditx && active && !noBorder"
12
15
  >
13
16
  <view class="jfb-base-login__edit-icon" @click="delEdit">删除</view>
14
17
  </view>
15
18
  <!-- #endif -->
16
- <view class="jfb-base-login__body">
17
- <view v-if="showStep == 1" class="panel-login-auth">
18
- <view class="logo-wrap">
19
- <image
20
- mode="aspectFit"
21
- src="https://sandbox-jfb-public-images-common.oss-cn-qingdao.aliyuncs.com/uploads/20220824/3580302c0264f06ba7739f245339249b.png"
22
- />
23
- </view>
24
- <view class="login_types">
25
- <!--#ifdef MP-->
19
+ <view class="jfb-base-login__body" :style="{
20
+ '--agreement-align': agreementAlign
21
+ }">
22
+
23
+ <view v-if="showLogo === 'Y'" class="logo-wrap" :style="{
24
+ height: logoWrapHeight + 'rpx',
25
+ }">
26
+ <image :style="logoStyle" mode="heightFix" :src="logo" @click="openDebugger()" />
27
+ <view v-if="isShowSiteName === 'Y'" :style="{ color: logoTextColor, }" >{{ partnerName }}</view>
28
+ </view>
29
+
30
+ <view v-if="showStep === 1" class="panel-login-auth">
31
+ <view class="login_types" :style="authBtnBoxStyle">
32
+ <!--#ifdef H5-->
26
33
  <xd-button
27
34
  v-if="hasAuthLogin"
35
+ :disabled="!panelIsChecked"
28
36
  type="primary"
29
- radius="10rpx"
30
- open-type="getUserInfo"
31
- @getuserinfo="getuserinfo"
32
- >快捷登录</xd-button>
37
+ :radius="btnRadius + 'rpx'"
38
+ @click="doLoginAuth"
39
+ >
40
+ <!-- 快捷登录 -->
41
+ <xd-font-icon v-if="authLoginBtnIcon"
42
+ style="display: inline-flex;margin-right: 12rpx;"
43
+ :icon="authLoginBtnIcon"
44
+ ></xd-font-icon>{{h5FastLoginName}}
45
+ </xd-button>
33
46
  <!-- #endif -->
47
+ <!--#ifdef MP-->
34
48
  <xd-button
35
- v-if="hasAccountLogin"
36
- style="margin-top: 40rpx"
49
+ v-if="hasAuthLogin"
37
50
  :disabled="!panelIsChecked"
38
51
  type="primary"
39
- radius="10rpx"
40
- @click="doLoginAccount"
41
- >账号登录</xd-button>
42
- <view class="protocol">
43
- <xd-form-checkbox
44
- class="xd-form-checkbox"
45
- v-model="panel_1_checked"
46
- mode="default"
47
- multiple
48
- :localdata="[{value: 1, text: '请阅读并同意《隐私政策》《用户服务协议》'}]"
49
- ></xd-form-checkbox>
52
+ :radius="btnRadius + 'rpx'"
53
+ @click="doWxMpLogin"
54
+ >
55
+ <!-- 快捷登录 -->
56
+ <xd-font-icon v-if="authLoginBtnIcon"
57
+ style="display: inline-flex;margin-right: 12rpx;"
58
+ :icon="authLoginBtnIcon"
59
+ ></xd-font-icon>
60
+ {{ authLoginBtnText }}
61
+ </xd-button>
62
+ <!-- #endif -->
63
+ <view class="login-pub">
64
+ <xd-button
65
+ v-if="hasAccountLogin"
66
+ :disabled="!panelIsChecked"
67
+ type="primary"
68
+ :radius="btnRadius + 'rpx'"
69
+ @click="doLoginAccount"
70
+ >
71
+ <!-- 账号登录 -->
72
+ <xd-font-icon v-if="accountLoginBtnIcon"
73
+ style="display: inline-flex;margin-right: 12rpx;"
74
+ :icon="accountLoginBtnIcon"
75
+ ></xd-font-icon>
76
+ {{ accountLoginBtnText }}
77
+ </xd-button>
50
78
  </view>
51
79
  </view>
80
+ <view class="protocol" :style="authAgreementBoxStyle">
81
+ <xd-form-checkbox
82
+ class="xd-form-checkbox"
83
+ v-model="panel_1_checked"
84
+ mode="default"
85
+ multiple
86
+ :localdata="[{ value: 1, text: '请阅读并同意《隐私政策》《用户服务协议》' },]"
87
+ >
88
+ <template slot="a1">
89
+ <view class="text-content" :style="agreeFont">
90
+ <template v-for="item in agreementTextElement">
91
+ <text v-if="item === 'privacy'"
92
+ @click.stop="handlePrivacy('privacy_privacy')"
93
+ :style="privacyFont">《隐私政策》</text>
94
+ <text v-else-if="item === 'service'"
95
+ @click.stop="handlePrivacy('privacy_service')"
96
+ :style="privacyFont">《用户服务协议》</text>
97
+ <text v-else>{{ item }}</text>
98
+ </template>
99
+ </view>
100
+ </template>
101
+ </xd-form-checkbox>
102
+ </view>
52
103
  </view>
53
- <view
54
- v-if="showStep == 2"
55
- class="panel-login-password"
56
- >
57
- <view class="phone-login-type">
104
+ <view v-if="showStep === 2" class="panel-login-password">
105
+ <view class="phone-login-type" :style="accountLoginTypeBoxStyle">
58
106
  <view
59
107
  v-if="phoneLogin"
60
108
  class="_item"
61
- :class="{active:accountLoginType=='phone'}"
109
+ :class="{ active: accountLoginType === 'phone' }"
62
110
  @click="setAccountLoginType('phone')"
63
- >验证码登录<text :style="{background: mainColor}"></text></view>
111
+ >验证码登录<text :style="{ background: mainColor }"></text
112
+ ></view>
64
113
  <view
65
114
  v-if="pwdLogin"
66
115
  class="_item"
67
- :class="{active:accountLoginType=='pwd'}"
116
+ :class="{ active: accountLoginType === 'pwd' }"
68
117
  @click="setAccountLoginType('pwd')"
69
- >密码登录<text :style="{background: mainColor}"></text></view>
118
+ >密码登录<text :style="{ background: mainColor }"></text
119
+ ></view>
70
120
  </view>
71
-
72
- <xd-form label-width="128"
73
- style="margin-top: 40rpx;"
74
- label-align="right"
75
- content-align="left"
76
- :border="true"
77
- >
78
- <xd-form-item
79
- label="手机号"
80
- content-align="left"
81
- >
82
- <xd-form-input
83
- v-model="accountForm.phone_number"
84
- placeholder="请输入11位手机号"
85
- />
86
- </xd-form-item>
87
- <xd-form-item
88
- v-if="accountLoginType=='phone'"
89
- label="验证码"
90
- content-align="left"
121
+ <view :style="loginFormStyle">
122
+ <xd-form
123
+ :label-align="labelAlign"
124
+ :labelPosition="labelPosition"
125
+ :border="true"
126
+ :key="formRenderKey"
127
+ paddingBetween="0"
128
+ :style="{
129
+ '--form-border-color': formBorderColor,
130
+ '--form-border-width': formBorderWidth + 'px',
131
+ '--label-font-size': ($rpxNum * parseInt(labelFont.fontSize)) + 'px',
132
+ '--label-font-color': labelFont.color,
133
+ '--label-font-weight': labelFont.fontWeight,
134
+ '--content-font-size': ($rpxNum * parseInt(contentFont.fontSize)) + 'px',
135
+ '--content-font-color': contentFont.color,
136
+ '--content-font-weight': contentFont.fontWeight,
137
+ '--placeholder-font-size': ($rpxNum * parseInt(placeholderFont.fontSize)) + 'px',
138
+ '--placeholder-font-color': placeholderFont.color,
139
+ '--placeholder-font-weight': placeholderFont.fontWeight,
140
+ }"
91
141
  >
92
- <view class="flex align-center">
142
+ <xd-form-item class="form-item"
143
+ :class="[inputStyle]"
144
+ label="手机号"
145
+ :leftIcon="phoneIcon"
146
+ :labelWidth="labelWidth"
147
+ content-align="left">
93
148
  <xd-form-input
94
- v-model="accountForm.verification_code"
95
- placeholder="请输入验证码"
149
+ v-model="accountForm.phone_number"
150
+ :placeholder="phonePlaceholder"
96
151
  />
97
- <view
98
- class="get_code"
99
- @click="reGetCode"
100
- :style="{color: mainColor}"
101
- >{{time ? time + '秒后获取':'获取验证码'}}</view>
102
- </view>
103
- </xd-form-item>
104
- <xd-form-item
105
- v-if="accountLoginType=='pwd'"
106
- label="密码"
107
- content-align="left"
152
+ </xd-form-item>
153
+ <xd-form-item
154
+ v-if="accountLoginType === 'phone'"
155
+ class="form-item"
156
+ :class="[inputStyle]"
157
+ label="验证码"
158
+ :leftIcon="codeIcon"
159
+ :labelWidth="labelWidth"
160
+ content-align="left"
161
+ >
162
+ <view class="flex align-center">
163
+ <xd-form-input
164
+ v-model="accountForm.verification_code"
165
+ :placeholder="codePlaceholder"
166
+ />
167
+ <view
168
+ class="get_code"
169
+ @click="reGetCode"
170
+ :style="getCodeStyle"
171
+ >{{ time ? time + "秒后获取" : "获取验证码" }}
172
+ </view>
173
+ </view>
174
+ </xd-form-item>
175
+ <xd-form-item
176
+ v-if="accountLoginType === 'pwd'"
177
+ class="form-item password-form-item"
178
+ :class="[inputStyle]"
179
+ label="密码"
180
+ :leftIcon="passwordIcon"
181
+ :labelWidth="labelWidth"
182
+ content-align="left"
183
+ >
184
+ <xd-form-input
185
+ type="password"
186
+ v-model="accountForm.password"
187
+ placeholder="请输入密码"
188
+ />
189
+ </xd-form-item>
190
+ </xd-form>
191
+ </view>
192
+
193
+ <view class="form-group" :style="btnWrapStyle">
194
+ <xd-button
195
+ style="flex: 1"
196
+ type="primary"
197
+ :radius="btnRadius + 'rpx'"
198
+ :bg-color="btnColor"
199
+ :disabled="!panelTwoIsChecked"
200
+ @click="doLoginForm"
201
+ >
202
+ <xd-font-icon v-if="phoneLoginBtnIcon"
203
+ style="display: inline-flex;margin-right: 12rpx;"
204
+ :icon="phoneLoginBtnIcon"
205
+ ></xd-font-icon>
206
+ {{ phoneLoginBtnText }}
207
+ </xd-button
108
208
  >
109
- <xd-form-input
110
- type="password"
111
- v-model="accountForm.password"
112
- placeholder="请输入密码"
113
- />
114
- </xd-form-item>
115
- </xd-form>
116
- <view class="form-group">
209
+ </view>
210
+ <view class="form-group" :style="agreementBoxStyle">
117
211
  <xd-form-checkbox
118
212
  class="xd-form-checkbox"
119
- v-model="panel_1_checked"
213
+ v-model="panel_2_checked"
120
214
  mode="default"
121
215
  multiple
122
- :localdata="[{value: 1, text: '登录即同意《隐私政策》《用户服务协议》'}]"
123
- ></xd-form-checkbox>
124
- </view>
125
- <view class="form-group">
126
- <xd-button
127
- style="flex: 1;"
128
- type="primary"
129
- radius="10rpx"
130
- @click="doLoginForm"
131
- >登录</xd-button>
216
+ :localdata="[{ value: 1, text: '登录即同意《隐私政策》《用户服务协议》' },]"
217
+ >
218
+ <template slot="a1">
219
+ <view class="text-content" :style="agreeFont">
220
+ <template v-for="item in agreementTextElement">
221
+ <text v-if="item === 'privacy'"
222
+ @click.stop="handlePrivacy('privacy_privacy')"
223
+ :style="privacyFont">《隐私政策》</text>
224
+ <text v-else-if="item === 'service'"
225
+ @click.stop="handlePrivacy('privacy_service')"
226
+ :style="privacyFont">《用户服务协议》</text>
227
+ <text v-else>{{ item }}</text>
228
+ </template>
229
+ </view>
230
+ </template>
231
+ </xd-form-checkbox>
132
232
  </view>
133
233
  <view
134
- v-if="accountLoginType=='pwd'"
234
+ v-if="accountLoginType === 'pwd'"
135
235
  class="forget_password"
136
236
  @click="toValidPhone"
137
237
  >忘记密码</view>
138
- <view
139
- class="not_login"
140
- :style="{color: mainColor}"
141
- @click="toNotLoginHome"
142
- >暂不登录,去逛逛</view>
143
238
  </view>
144
- <view
145
- v-if="showStep == 3"
146
- class="panel-forget-password"
147
- >
148
- <view class="form-group">
149
- <view style="font-size: 36rpx;">请输入手机号</view>
150
- <view style="font-size:26rpx;color: #A6A6A6;">为了您的账号安全,请先验证手机号</view>
151
- </view>
152
- <xd-form
153
- label-width="120"
154
- style="margin-top: 40rpx;"
155
- label-align="right"
156
- content-align="left"
157
- :border="true"
158
- >
159
- <xd-form-item
160
- label="手机号"
161
- content-align="left"
162
- >
163
- <xd-form-input
164
- v-model="resetForm.phone_number"
165
- placeholder="请输入11位手机号"
166
- />
167
- </xd-form-item>
168
- <xd-form-item
169
- label="验证码"
170
- content-align="left"
171
- >
172
- <view class="flex align-center">
173
- <xd-form-input
174
- v-model="resetForm.verification_code"
175
- placeholder="请输入验证码"
176
- />
177
- <view
178
- class="get_code"
179
- @click="reGetCode"
180
- style="{color:mainColor}"
181
- >{{time ? time + '秒后获取':'获取验证码'}}</view>
182
- </view>
183
- </xd-form-item>
184
- </xd-form>
185
- <view class="form-group">
186
- <xd-button
187
- type="primary"
188
- radius="10rpx"
189
- @click="toResetPassword"
190
- >确定</xd-button>
191
- </view>
192
- <view class="forget_tip">
193
- <view>亲爱的用户,为了您的账户安全请联系管理员,或拨打客服热线</view>
194
- <view class="contact_phone">400-800-9503</view>
195
- <xd-button
196
- type="primary"
197
- style="width: 360rpx;"
198
- >知道了</xd-button>
199
- </view>
239
+ <view class="bottom_btn" :style="prod_bottom" v-if="isPreview === 'Y' || isDebugPreview">
240
+ <view
241
+ @click="dialogPreview = true"
242
+ :style="{
243
+ color: mainColor,
244
+ border: `1px solid ${mainColor}`
245
+ }"
246
+ >进入体验 ></view>
200
247
  </view>
201
- <view
202
- v-if="showStep == 4"
203
- class="panel-reset-password"
248
+ <xd-dailog
249
+ v-if="dialogPreview"
250
+ title="体验码"
251
+ :show.sync="dialogPreview"
252
+ :cancel="false"
253
+ confirm-text="进入体验模式"
254
+ @onBtn="handlePreview"
255
+ @close="previewAccout=''"
204
256
  >
205
- <view class="form-group">
206
- <view style="font-size: 36rpx;">手机号{{resetForm.phone_number}}</view>
207
- <view style="font-size:26rpx;color: #A6A6A6;">请输入新密码并牢记</view>
257
+ <view class="preview-login">
258
+ <input v-model="previewAccout" type="text" class="preview-login-input" placeholder="请输入体验码">
208
259
  </view>
209
- <xd-form
210
- label-width="220rpx"
211
- style="margin-top: 40rpx;"
212
- label-align="right"
213
- content-align="left"
214
- :border="true"
215
- >
216
- <xd-form-item
217
- label="输入新密码"
218
- content-align="left"
219
- >
220
- <xd-form-input
221
- v-model="resetForm.password"
222
- type="password"
223
- placeholder="请输入新密码"
224
- />
225
- </xd-form-item>
226
- <xd-form-item
227
- label="确认新密码"
228
- content-align="left"
229
- >
230
- <view class="flex align-center">
231
- <xd-form-input
232
- v-model="resetForm.confirm_password"
233
- type="password"
234
- placeholder="请再次输入新密码"
235
- />
236
- </view>
237
- </xd-form-item>
238
- </xd-form>
239
- <view class="form-group">
240
- <xd-button
241
- type="primary"
242
- radius="10rpx"
243
- @click="doResetPassword"
244
- >确定</xd-button>
245
- </view>
246
- </view>
260
+ </xd-dailog>
247
261
  </view>
248
262
  </view>
249
263
  </template>
250
264
 
251
265
 
266
+
252
267
  <script>
253
- // TODO: h5授权地址、小程序授权获取用户信息、手机号登录(验证码、密码)、发送验证码、验证手机号、重新设置密码
254
- import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
255
- import { jfbRootExec } from "@/utils/xd.event";
256
- import JfbBaseLoginMixin from "./JfbBaseLoginMixin";
257
- import XdButton from "@/components/XdButton/XdButton";
258
- import XdFormCheckbox from "@/components/XdFormCheckbox/XdFormCheckbox"
259
- import XdFormInput from '@/components/XdFormInput/XdFormInput';
260
- import XdForm from "@/components/XdForm/XdForm";
261
- import XdFormItem from "@/components/XdFormItem/XdFormItem";
262
- import {getContainerPropsValue} from "@/utils/xd.base";
263
- export default {
264
- name: "JfbBaseLogin",
265
- components: {
266
- XdFontIcon,
267
- XdButton,
268
- XdFormCheckbox,
269
- XdFormInput,
270
- XdForm,
271
- XdFormItem
272
- },
273
- mixins: [
274
- JfbBaseLoginMixin
275
- ],
276
- data() {
277
- return {
278
- showStep: 1,
279
- panel_1_checked: "",
268
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
269
+ import { jfbRootExec } from "@/utils/xd.event";
270
+ import JfbBaseLoginMixin from "./JfbBaseLoginMixin";
271
+ import componentsMixins from "@/mixins/componentsMixins";
272
+ import openDebuggerMixins from "@/mixins/openDebuggerMixins";
273
+ import extsMixins from "@/mixins/extsMixins";
274
+ import XdButton from "@/components/XdButton/XdButton";
275
+ import XdFormCheckbox from "@/components/XdFormCheckbox/XdFormCheckbox";
276
+ import XdFormInput from "@/components/XdFormInput/XdFormInput";
277
+ import XdForm from "@/components/XdForm/XdForm";
278
+ import XdFormItem from "@/components/XdFormItem/XdFormItem";
279
+ import XdDailog from "@/components/XdDailog/XdDailog.vue";
280
+ import { Base64 } from "js-base64";
281
+ import { mapState } from "vuex";
282
+ import getServiceUrl from "@/common/getServiceUrl";
283
+ import privacyMixins from './privacyMixins'
284
+ import {
285
+ AttrToTargetValues,
286
+ getContainerPropsValue,
287
+ getAllPath,
288
+ getDomainAllPath,
289
+ getLocalJumpOutSiteCallbackUrl,
290
+ isThirdLogin
291
+ } from "@/utils/xd.base";
292
+
293
+ export default {
294
+ // #ifdef MP-WEIXIN
295
+ options: { styleIsolation: 'shared' },
296
+ // #endif
297
+
298
+ name: "JfbBaseLogin",
299
+ components: {
300
+ XdFontIcon,
301
+ XdButton,
302
+ XdFormCheckbox,
303
+ XdFormInput,
304
+ XdForm,
305
+ XdFormItem,
306
+ XdDailog
307
+ },
308
+ mixins: [componentsMixins, extsMixins, JfbBaseLoginMixin, privacyMixins,openDebuggerMixins],
309
+ data() {
310
+ return {
311
+ //体验模式
312
+ dialogPreview: false,
313
+ previewAccout: '',
314
+ h5FastLoginName:'快捷登录',
315
+
316
+ showStep: 1,
317
+ panel_1_checked: "",
318
+ panel_2_checked: "",
319
+ password: "",
320
+ accountLoginType: "phone", //phone: 验证码登录 pwd: 密码登录
321
+ accountForm: {
322
+ phone_number: "", //15801505541
323
+ verification_code: "",
324
+ password: "", //123456
325
+ },
326
+ resetForm: {
327
+ phone_number: "",
328
+ verification_code: "",
280
329
  password: "",
281
- //todo
282
- accountLoginType: 'phone', //phone: 验证码登录 pwd: 密码登录
283
- accountForm: {
284
- phone_number: '',
285
- verification_code: '',
286
- password: ""
287
- },
288
- resetForm: {
289
- phone_number: "",
290
- verification_code: "",
291
- password: "",
292
- confirm_password: ""
293
- },
294
- time: 0,
295
- interval: null,
296
-
297
- hasAuthLogin: false, //是否有授权登录
298
- hasAccountLogin: false, //是否有账号登录 包含 验证码、密码登录
299
- phoneLogin: null,
300
- pwdLogin: null,
301
- loginPlatform: {
302
- "wx_pub": "微信公众号授权登录",
303
- "wx_miniprogram": "微信小程序授权登录",
304
- "phone_number": "手机号登录",
305
- "account": "用户登录",
306
- "dingding": "钉钉登录"
307
- },
308
- quickLogin: null
330
+ confirm_password: "",
331
+ },
332
+ time: 0,
333
+ interval: null,
334
+
335
+ hasAuthLogin: false, //是否有授权登录
336
+ hasAccountLogin: false, //是否有账号登录 包含 验证码、密码登录
337
+ phoneLogin: null,
338
+ pwdLogin: null,
339
+ loginPlatform: {
340
+ wx_pub: "微信公众号授权登录",
341
+ wx_miniprogram: "微信小程序授权登录",
342
+ phone_number: "手机号登录",
343
+ account: "用户登录",
344
+ dingding: "钉钉登录",
345
+ },
346
+ quickLogin: null,
347
+ redirect_url: "", //401回跳地址
348
+ callback_url: "", //面板配置登录完跳转地址
349
+ phone_number_login_url: "", //授权登录后的手机登录地址
350
+ phone_number_collect_url: "", //授权登录后的手机号手机地址
351
+ forget_pwd_url: "", //忘记密码跳转地址
352
+ error_callback_url:'', //快速授权失败访问地址
353
+ base: "",
354
+
355
+ logo: "",
356
+ partnerName: "",
357
+ logoTextColor: "",
358
+ isPreview:'N', //是否启用体验码模式
359
+ isDebugPreview: false,
360
+
361
+ isFastLoginStatus: false,
362
+ mpAuthPhoneUrl: "",
363
+
364
+ previewCurrent: 'auth', //当前预览调试模块,auth:授权登录 account:账号登录
365
+
366
+ //logo样式设置
367
+ logoWrapHeight: 480,
368
+ logoHeight: 180,
369
+ logoRadius: 0,
370
+ isShowSiteName: "Y",
371
+
372
+ //协议
373
+ agreementText: "",
374
+
375
+ //按钮
376
+ authLoginBtnText: "快捷登录", //授权登录按钮文案
377
+ authLoginBtnIcon: "", //授权登录按钮图标
378
+ accountLoginBtnText: "账号登录", //账号登录按钮文案
379
+ accountLoginBtnIcon: "", //账号登录按钮图标
380
+ phoneLoginBtnText: "登录", //手机号登录按钮文案
381
+ phoneLoginBtnIcon: "", //手机号登录按钮图标
382
+ btnColor: "", //按钮颜色
383
+ btnRadius: 20, //按钮圆角
384
+ btnMargin: {},
385
+
386
+ phonePlaceholder: "", //手机号登录输入框占位符
387
+ codePlaceholder: "", //验证码登录输入框占位符
388
+ getCodeShowType: "text", //获取验证码展示方式
389
+
390
+ //表单样式
391
+ formRenderKey: "formRenderKey",
392
+ formBgColor: "", //表单背景颜色
393
+ labelAlign: "left", //表单label对齐方式
394
+ labelWidth: 160, //表单label宽度
395
+ labelPosition: "left", //表单label位置
396
+ formPadding: {
397
+ top: 0,
398
+ left: 0,
399
+ right: 0,
400
+ bottom: 0
401
+ },
402
+ phoneIcon: "", //手机号登录输入框图标
403
+ codeIcon: "", //验证码登录输入框图标
404
+ passwordIcon: "", //密码登录输入框图标
405
+ inputStyle: "linear", //输入框样式 linear:线性 face: 面性
406
+ formBorderColor: "#F9F9F9", //
407
+ formBorderWidth: 1, //表单边框宽度
408
+ labelFont: { //表单label字体
409
+ color: "#333",
410
+ fontSize: "24rpx",
411
+ fontWeight: "normal",
412
+ },
413
+ contentFont: { //表单内容字体
414
+ color: "#333",
415
+ fontSize: "24rpx",
416
+ fontWeight: "normal",
417
+ },
418
+ placeholderFont: {
419
+ color: "#d4d4d4",
420
+ fontSize: "24rpx",
421
+ fontWeight: "normal",
422
+ },
423
+ getCodeFont: {
424
+ color: "#ff5a39",
425
+ fontSize: "24rpx",
426
+ fontWeight: "normal",
427
+ },
428
+ agreeFont: {}, //条款字体
429
+ privacyFont: {}, //隐私字体
430
+ agreementAlign: "center", //条款对齐方式
431
+ agreePadding: {
432
+ top: 0,
433
+ left: 0,
434
+ right: 0,
435
+ bottom: 0
436
+ }, //条款内边距
437
+ authAgreePadding: {}, //授权登录条款内边距
438
+ authBtnPadding: {}, //授权登录按钮内边距
439
+ showLogo: "Y", //是否显示logo
440
+ customLogoUrl: {}, //自定义logo地址
441
+ loginMenuMargin: {},
442
+ };
443
+ },
444
+ computed: {
445
+ ...mapState(["jfbAuthorize","siteInfo",'loginParams']),
446
+ panelIsChecked() {
447
+ return this.panel_1_checked.includes(1);
448
+ },
449
+ panelTwoIsChecked() {
450
+ return this.panel_2_checked.includes(1);
451
+ },
452
+ prod_bottom() {
453
+ return this.fixedStyle({ height: 0, zIndex: 111 });
454
+ },
455
+ logoStyle(){
456
+ return this.styleObjectToString({
457
+ height: this.logoHeight + 'rpx',
458
+ borderRadius: this.logoRadius + 'rpx',
459
+ })
460
+ },
461
+ loginFormStyle(){
462
+ let padding = `${this.checkValue(this.formPadding.top, 20)}rpx`;
463
+ padding = `${padding} ${this.checkValue(this.formPadding.right, 20)}rpx`;
464
+ padding = `${padding} ${this.checkValue(this.formPadding.bottom, 20)}rpx`;
465
+ padding = `${padding} ${this.checkValue(this.formPadding.left, 20)}rpx`;
466
+
467
+ return this.styleObjectToString({
468
+ background: this.formBgColor,
469
+ padding: padding,
470
+ })
471
+ },
472
+ agreementBoxStyle(){
473
+ let padding = `${this.checkValue(this.agreePadding.top, 20)}rpx`;
474
+ padding = `${padding} ${this.checkValue(this.agreePadding.right, 20)}rpx`;
475
+ padding = `${padding} ${this.checkValue(this.agreePadding.bottom, 20)}rpx`;
476
+ padding = `${padding} ${this.checkValue(this.agreePadding.left, 20)}rpx`;
477
+ return this.styleObjectToString({
478
+ padding: padding,
479
+ })
480
+ },
481
+ authAgreementBoxStyle(){
482
+ let padding = `${this.checkValue(this.authAgreePadding.top, 20)}rpx`;
483
+ padding = `${padding} ${this.checkValue(this.authAgreePadding.right, 20)}rpx`;
484
+ padding = `${padding} ${this.checkValue(this.authAgreePadding.bottom, 20)}rpx`;
485
+ padding = `${padding} ${this.checkValue(this.authAgreePadding.left, 20)}rpx`;
486
+ return this.styleObjectToString({
487
+ padding: padding,
488
+ })
489
+ },
490
+ authBtnBoxStyle(){
491
+ let padding = `${this.checkValue(this.authBtnPadding.top, 20)}rpx`;
492
+ padding = `${padding} ${this.checkValue(this.authBtnPadding.right, 40)}rpx`;
493
+ padding = `${padding} ${this.checkValue(this.authBtnPadding.bottom, 20)}rpx`;
494
+ padding = `${padding} ${this.checkValue(this.authBtnPadding.left, 40)}rpx`;
495
+ return this.styleObjectToString({
496
+ padding: padding,
497
+ })
498
+ },
499
+ btnWrapStyle(){
500
+ let padding = `${this.checkValue(this.btnMargin.top, 20)}rpx`;
501
+ padding = `${padding} ${this.checkValue(this.btnMargin.right, 20)}rpx`;
502
+ padding = `${padding} ${this.checkValue(this.btnMargin.bottom, 20)}rpx`;
503
+ padding = `${padding} ${this.checkValue(this.btnMargin.left, 20)}rpx`;
504
+ return this.styleObjectToString({
505
+ padding: padding,
506
+ })
507
+ },
508
+ accountLoginTypeBoxStyle(){
509
+ let padding = `${this.checkValue(this.loginMenuMargin.top, 20)}rpx`;
510
+ padding = `${padding} ${this.checkValue(this.loginMenuMargin.right, 20)}rpx`;
511
+ padding = `${padding} ${this.checkValue(this.loginMenuMargin.bottom, 20)}rpx`;
512
+ padding = `${padding} ${this.checkValue(this.loginMenuMargin.left, 20)}rpx`;
513
+ return this.styleObjectToString({
514
+ padding: padding,
515
+ })
516
+ },
517
+ getCodeStyle(){
518
+ return this.styleObjectToString({
519
+ color: this.getCodeFont.color,
520
+ borderColor: this.getCodeShowType === 'button' ? this.getCodeFont.color : 'transparent',
521
+ fontSize: this.getCodeFont.fontSize,
522
+ fontWeight: this.getCodeFont.fontWeight,
523
+ })
524
+ },
525
+ agreementTextElement(){
526
+ let agree = this.agreementText;
527
+ console.log(agree, 'agreementTextElement')
528
+ if(!agree) return [];
529
+ let matches = agree.match(/\{\{(\w+)\}\}/g) || [];
530
+ const keys = matches.map(match => match.slice(2, -2));
531
+ let eleArr2 = agree.split(/{{\w+}}/);
532
+ let ele = [];
533
+ for(let i = 0;i<eleArr2.length;i++){
534
+ ele.push(eleArr2[i])
535
+ if(keys[i]) ele.push(keys[i])
309
536
  }
537
+ return ele.filter(i => i);
538
+ }
539
+ },
540
+ watch: {
541
+ container(value,oldValue) {
542
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
543
+ if (this.$configProject['isPreview']) this.init(value)
310
544
  },
311
- computed: {
312
- panelIsChecked(){
313
- return this.panel_1_checked.includes(1);
545
+ "accountForm.verification_code"(value){
546
+ if (value && value.length >= 8 && value.length % 2 === 0) {
547
+ let start = value.slice(0, value.length / 2);
548
+ let end = value.slice(value.length / 2);
549
+ if (start === end) {
550
+ this.accountForm.verification_code = start;
551
+ }
314
552
  }
553
+ }
554
+ },
555
+
556
+ created() {
557
+ this.init(this.container);
558
+ this.base = this.jfbAuthorize.getBasePath(this);
559
+ this.site_logo = getServiceUrl(this.projectAttr["site_logo"]);
560
+ this.$xdLog.setProject('JfbBaseLogin', 'JfbBaseLogin.create.done');
561
+ },
562
+
563
+ methods: {
564
+ handlePrivacy(code){
565
+ let params = `page_id=${this.pageAttr["page_id"]}`;
566
+ params = `${params}&container_id=${this.containerId}${code}`;
567
+ this.$xdUniHelper.navigateTo({
568
+ url: `/pages/content/content?${params}`
569
+ })
570
+ },
571
+
572
+ loginPreview(experience_code){
573
+ return new Promise((resolve,reject)=>{
574
+ jfbRootExec("loginExperience", {
575
+ vm: this,
576
+ data: {experience_code},
577
+ }).then(res=>{
578
+ resolve(res)
579
+ }).catch(err=>{
580
+ reject(err)
581
+ })
582
+ })
315
583
  },
316
- watch: {
317
- container(value) {
318
- this.init(value)
584
+
585
+ async handlePreview(){
586
+ if(!this.previewAccout) {
587
+ this.$xdAlert({
588
+ content: '请输入体验码',
589
+ type:'error'
590
+ });
591
+ return;
592
+ }
593
+ this.$xdShowLoading({});
594
+ try{
595
+ const res = await this.loginPreview(this.previewAccout);
596
+ if(res){
597
+ this.jfbAuthorize.setAllToken(res);
598
+ this.jfbAuthorize.setCardToken(res['login_card_result'])
599
+ }
600
+ this.toHomeAfterLogin();
601
+ this.$xdHideLoading();
602
+ }catch (e){
603
+ this.$xdHideLoading();
319
604
  }
320
605
  },
321
606
 
322
- created() {
323
- this.init(this.container);
324
- //todo
325
- // this.p_getListProviders();
607
+ onJfbLoad(options) {
608
+ this.$xdLog.setProject('JfbBaseLogin', 'JfbBaseLogin.onJfbLoad.start')
609
+ this.redirect_url = options.redirect_url ? Base64.decode(options.redirect_url): '';
610
+ this.isDebugPreview = options['x-test'] === 'jfb-tiyan';
611
+ // #ifdef MP-WEIXIN
612
+ this.authWxMpListProviders();
613
+ // #endif
614
+
615
+ // #ifdef H5
616
+ try{ this.authH5ListProviders();}
617
+ catch (error) {
618
+ this.$xdLog.setProject('JfbBaseLogin', 'JfbBaseLogin.onJfbLoad.error');
619
+ this.$xdLog.setARMSError(error);
620
+ }
621
+ //#endif
326
622
  },
327
-
328
- methods: {
329
- init(value) {
330
- console.log("init: ", value);
331
- console.log("content", value.component.props.content);
332
- },
333
- p_getListProviders(){
334
- let providers = this.projectAttr.login_providers || '62fde99f2583a19c58fd937b,62fde9432583a19c58fd937a';
335
- jfbRootExec("listSiteProvider", {
336
- vm: this,
337
- data: {
338
- providers: providers,
339
- callback_url: 'http://sandbox-editx.jufubao.cn/editx',
340
- phone_number_login_url: 'http://sandbox-editx.jufubao.cn/editx',
341
- phone_number_collect_url: 'http://sandbox-editx.jufubao.cn/editx'
342
- }
343
- }).then(res => {
344
- if(res.quick_enabled){
345
- this.hasAuthLogin = true;
346
- this.quickLogin = res.quick;
623
+
624
+ /**
625
+ * @description 设置页面属性
626
+ */
627
+ init(value) {
628
+ let name, logo;
629
+ if (this.projectAttr["site_name"]) name = this.projectAttr["site_name"];
630
+ if (
631
+ this["siteInfo"] &&
632
+ this["siteInfo"]["mapping"] &&
633
+ this["siteInfo"]["mapping"]["site_name"]
634
+ )
635
+ name = this["siteInfo"]["mapping"]["site_name"];
636
+ if (this.projectAttr["site_logo"])
637
+ logo = getServiceUrl(this.projectAttr["site_logo"], "size3");
638
+
639
+ this.partnerName = name || "聚福宝福利";
640
+ this.logoTextColor = getContainerPropsValue(value, "content.logoTextColor", "#333");
641
+ this.callback_url = getContainerPropsValue(value, "content.callback_url", {value: ''}).value;
642
+ this.phone_number_login_url = getContainerPropsValue(value, "content.phone_number_login_url", {value: ''}).value;
643
+ this.phone_number_collect_url = getContainerPropsValue(value, "content.phone_number_collect_url", {value: ''}).value;
644
+ this.forget_pwd_url = getContainerPropsValue(value, "content.forget_pwd_url", {value: ''}).value;
645
+ this.error_callback_url = getContainerPropsValue(value, "content.error_url", {value: ''}).value;
646
+ this.mpAuthPhoneUrl = getContainerPropsValue(value, "content.mpAuthPhoneUrl", {value: '/system/login/wxauthorize'}).value;
647
+ this.isPreview = getContainerPropsValue(value, "content.isPreview", 'N');
648
+ this.logoHeight = getContainerPropsValue(value, "content.logoHeight", '180');
649
+ this.logoRadius = getContainerPropsValue(value, "content.logoRadius", '0');
650
+ this.logoWrapHeight = getContainerPropsValue(value, "content.logoWrapHeight", '480');
651
+ this.isShowSiteName = getContainerPropsValue(value, "content.isShowSiteName", 'Y');
652
+ this.agreementText = getContainerPropsValue(value, "content.agreementText", '请阅读并同意{{privacy}}{{service}}');
653
+ this.authLoginBtnText = getContainerPropsValue(value, "content.authLoginBtnText", '快捷登录');
654
+ this.h5FastLoginName = this.authLoginBtnText;
655
+ this.authLoginBtnIcon = getContainerPropsValue(value, "content.authLoginBtnIcon", '');
656
+ this.accountLoginBtnText = getContainerPropsValue(value, "content.accountLoginBtnText", '账号登录');
657
+ this.accountLoginBtnIcon = getContainerPropsValue(value, "content.accountLoginBtnIcon", '');
658
+ this.phoneLoginBtnText = getContainerPropsValue(value, "content.phoneLoginBtnText", '登录');
659
+ this.phoneLoginBtnIcon = getContainerPropsValue(value, "content.phoneLoginBtnIcon", '');
660
+ this.btnColor = getContainerPropsValue(value, "content.btnColor", '');
661
+ this.btnRadius = getContainerPropsValue(value, "content.btnRadius", '20');
662
+ this.btnMargin = getContainerPropsValue(value, "content.btnMargin", {});
663
+ this.previewCurrent = getContainerPropsValue(value, "content.previewCurrent", 'auth');
664
+ this.phonePlaceholder = getContainerPropsValue(value, "content.phonePlaceholder", '请输入手机号');
665
+ this.codePlaceholder = getContainerPropsValue(value, "content.codePlaceholder", '请输入验证码');
666
+ this.getCodeShowType = getContainerPropsValue(value, "content.getCodeShowType", 'text');
667
+ this.formBgColor = getContainerPropsValue(value, "content.formBgColor", '#FFFFFF');
668
+ this.labelAlign = getContainerPropsValue(value, "content.labelAlign", 'left');
669
+ this.labelWidth = getContainerPropsValue(value, "content.labelWidth", '180');
670
+ this.labelPosition = getContainerPropsValue(value, "content.labelPosition", 'left');
671
+ this.formPadding = getContainerPropsValue(value, "content.formPadding", {top: 20, left: 20, right: 20, bottom: 20});
672
+ this.agreePadding = getContainerPropsValue(value, "content.agreePadding", {});
673
+ this.authAgreePadding = getContainerPropsValue(value, "content.authAgreePadding", {top: 20, left: 20, right: 20, bottom: 20});
674
+ this.authBtnPadding = getContainerPropsValue(value, "content.authBtnPadding", {top: 20, left: 20, right: 20, bottom: 20});
675
+ this.phoneIcon = getContainerPropsValue(value, "content.phoneIcon", '');
676
+ this.codeIcon = getContainerPropsValue(value, "content.codeIcon", '');
677
+ this.passwordIcon = getContainerPropsValue(value, "content.passwordIcon", '');
678
+ this.inputStyle = getContainerPropsValue(value, "content.inputStyle", 'linear');
679
+ this.formBorderColor = getContainerPropsValue(value, "content.formBorderColor", '#F9F9F9');
680
+ this.formBorderWidth = getContainerPropsValue(value, "content.formBorderWidth", '1');
681
+ this.labelFont = getContainerPropsValue(value, "content.labelFont", {});
682
+ this.contentFont = getContainerPropsValue(value, "content.contentFont", {});
683
+ this.placeholderFont = getContainerPropsValue(value, "content.placeholderFont", {});
684
+ this.getCodeFont = getContainerPropsValue(value, "content.getCodeFont", {});
685
+ this.showLogo = getContainerPropsValue(value, "content.showLogo", 'Y');
686
+ this.customLogoUrl = getContainerPropsValue(value, "content.customLogoUrl", {});
687
+ this.loginMenuMargin = getContainerPropsValue(value, "content.loginMenuMargin", {});
688
+
689
+ if(this.customLogoUrl && this.customLogoUrl.path){
690
+ logo = this.customLogoUrl.path;
691
+ }
692
+ this.logo = logo || "//dummyimage.com/100x100";
693
+
694
+ let agreeFont = getContainerPropsValue(value, "content.agreeFont", {});
695
+ if(!agreeFont.color) {
696
+ agreeFont.color = '#666'
697
+ }
698
+ this.agreeFont = agreeFont;
699
+ let privacyFont = getContainerPropsValue(value, "content.privacyFont", {});
700
+ if(!privacyFont.color) {
701
+ privacyFont.color = this.mainColor
702
+ }
703
+ this.privacyFont = privacyFont;
704
+
705
+ this.agreementAlign = getContainerPropsValue(value, "content.agreementAlign", 'center');
706
+ console.log(this.customLogoUrl, 'this.customLogoUrl');
707
+ if(this.inputStyle === 'face'){
708
+ this.labelPosition = 'top';
709
+ this.labelAlign = 'left';
710
+ }
711
+ if(this.$configProject.isPreview){
712
+ if(this.previewCurrent === 'account') this.showStep = 2;
713
+ else this.showStep = 1;
714
+ this.formRenderKey = Date.now();
715
+ }
716
+ },
717
+ /**
718
+ * @description 获取到登录方式之后处理
719
+ */
720
+ handleAuthResult(res) {
721
+ if (res.quick_enabled) {
722
+ this.hasAuthLogin = true;
723
+ this.quickLogin = res.quick;
724
+
725
+ //工行处理
726
+ if(this.quickLogin.login_platform_code === 'icbc') {
727
+ this.h5FastLoginName = '工银e生活登录'
728
+ }
729
+ }
730
+ if (res.others.length > 0) {
731
+ this.hasAccountLogin = true;
732
+ res.others.forEach((item) => {
733
+ if (item.login_platform_code === "phone_number") {
734
+ this.phoneLogin = item;
735
+ } else if (item.login_platform_code === "account") {
736
+ this.pwdLogin = item;
347
737
  }
348
- if(res.others.length > 0){
349
- this.hasAccountLogin = true;
350
- res.others.forEach(item => {
351
- if(item.login_platform_code=="phone_number"){
352
- this.phoneLogin = item;
353
- }else if(item.login_platform_code == "account"){
354
- this.pwdLogin = item;
738
+ });
739
+ if (!this.phoneLogin) this.accountLoginType = "pwd";
740
+ }
741
+ },
742
+
743
+ /**
744
+ * @description 微信获取登录方式
745
+ */
746
+ authWxMpListProviders() {
747
+ let providers = this.projectAttr["login_providers"] || [
748
+ "62fde99f2583a19c58fd937b",
749
+ "62fde9432583a19c58fd937a",
750
+ ];
751
+ let { redirect_url, callback_url } = this;
752
+
753
+ jfbRootExec("listSiteProvider", {
754
+ vm: this,
755
+ data: {
756
+ providers: providers.join(","),
757
+ callback_url: redirect_url || this.$settings.index,
758
+ phone_number_login_url: this.phone_number_login_url,
759
+ phone_number_collect_url: this.phone_number_collect_url,
760
+ error_callback_url: this.error_callback_url,
761
+ },
762
+ })
763
+ .then((res) => {
764
+ this.handleAuthResult(res);
765
+ })
766
+ .catch((error) => {
767
+ console.log(error);
768
+ this.$xdLog.setARMSError(error)
769
+ });
770
+ },
771
+
772
+ doWxMpLogin() {
773
+ this.$xdShowLoading({});
774
+ uni.login({
775
+ provider: "weixin",
776
+ success: (loginRes) => {
777
+ console.log("doWxMpLogin", loginRes);
778
+ jfbRootExec("loginThirdLogin", {
779
+ vm: this,
780
+ data: {
781
+ third_auth_code: loginRes.code,
782
+ provider_id: this.quickLogin.provider_id,
783
+ },
784
+ })
785
+ .then((res) => {
786
+ let { redirect_url, callback_url } = this;
787
+ //if (redirect_url) redirect_url = redirect_url;
788
+ let url = Base64.encodeURI(redirect_url || callback_url || this.settings.index);
789
+ //需要授权操作
790
+ if (res.auth_code) {
791
+ this.$xdUniHelper.navigateTo({
792
+ url: `${this.mpAuthPhoneUrl}?auth_code=${res.auth_code}&provider_id=${this.quickLogin.provider_id}&url=${url}`,
793
+ });
794
+ }
795
+ //无需授权直接进行登录
796
+ else {
797
+ if (this.jfbAuthorize !== null) {
798
+ this.jfbAuthorize.setAllToken(res["login_info"], () => {
799
+ //需要收集手机号码
800
+ if(res['is_collect_phone_number'] === 'Y'){
801
+ this.$xdUniHelper.navigateTo({
802
+ url: `${this.mpAuthPhoneUrl}?provider_id=${this.quickLogin.provider_id}&url=${url}`,
803
+ });
804
+ }
805
+ else{
806
+ this.toHomeAfterLogin();
807
+ }
808
+ });
809
+ }
355
810
  }
811
+ this.$xdHideLoading();
356
812
  })
357
- if(!this.phoneLogin) this.accountLoginType = "pwd";
358
- }
813
+ .catch((error) => {
814
+ this.$xdHideLoading();
815
+ console.error(error);
816
+ });
817
+ },
818
+ fail: (error) => {
819
+ console.error(error);
820
+ this.$xdHideLoading();
821
+ },
822
+ });
823
+ },
824
+
825
+ /**
826
+ * @description h5获取登录方式
827
+ */
828
+ authH5ListProviders() {
829
+ this.$xdLog.setProject('JfbBaseLogin', 'JfbBaseLogin.onJfbLoad.loading.')
830
+ let providers = this.projectAttr["login_providers"] || [
831
+ "62fde99f2583a19c58fd937b",
832
+ "62fde9432583a19c58fd937a",
833
+ ];
834
+
835
+ let { redirect_url, callback_url } = this;
836
+
837
+ redirect_url = redirect_url || callback_url || this.$settings.index;
838
+
839
+ //不同项目直接域名替换
840
+ if (/^(@site_domain@).+$/.test(redirect_url)) {
841
+ redirect_url = redirect_url.replace(/@site_domain@/, location.origin)
842
+ }
843
+
844
+ try {
845
+ let redirectURL = new URL(redirect_url);
846
+ redirect_url = redirectURL.href;
847
+ } catch (e) {
848
+ redirect_url = location.origin + this.base + redirect_url;
849
+ }
850
+
851
+
852
+ let params = {
853
+ providers: providers.join(","),
854
+ callback_url: redirect_url,
855
+ phone_number_login_url: location.origin + this.base + this.phone_number_login_url,
856
+ phone_number_collect_url: location.origin + this.base + this.phone_number_collect_url,
857
+ error_callback_url: location.origin + this.base + this.error_callback_url,
858
+ };
859
+
860
+ this.$xdLog.setProject('JfbBaseLogin', 'JfbBaseLogin.onJfbLoad.loading..');
861
+ jfbRootExec("listSiteProvider", {
862
+ vm: this,
863
+ data: params,
864
+ })
865
+ .then((res) => {
866
+ console.log('listSiteProvider',res)
867
+ this.handleAuthResult(res);
359
868
  })
360
- },
361
- reGetCode(){
362
- if(this.time > 0) return;
363
- const { phone_number } = this.accountForm;
869
+ .catch((error) => {
870
+ if (this.$xdUniHelper.checkVarType(error) === 'object') {
871
+ this.$xdLog.setARMSCustomError('list_site_provider_error', {...params, fn:'listSiteProvider', error})
872
+ } else {
873
+ this.$xdLog.setARMSError(error)
874
+ }
875
+ });
876
+ },
364
877
 
365
- console.log("jfbRootExec: sendMsg");
366
- jfbRootExec('sendMsg', {
367
- vm: this,
368
- data: {
369
- phone_number
878
+ reGetCode() {
879
+ if (this.time > 0) return;
880
+ const { phone_number } = this.accountForm;
881
+ if (!/^1[3-9]\d{9}$/.test(phone_number)) {
882
+ uni.showToast({
883
+ title: "请填写正确的手机号",
884
+ icon: "none",
885
+ });
886
+ return false;
887
+ }
888
+ this.$xdShowLoading({});
889
+ jfbRootExec("sendMsg", {
890
+ vm: this,
891
+ data: {
892
+ phone_number,
893
+ biz_name: "login",
894
+ },
895
+ }).then((res) => {
896
+ this.$xdHideLoading();
897
+ this.time = 120;
898
+ this.interval = setInterval(() => {
899
+ this.time--;
900
+ if (this.time === 0) {
901
+ clearTimeout(this.interval);
370
902
  }
371
- }).then(res => {
372
- this.time = 120;
373
- this.interval = setInterval(() => {
374
- this.time--;
375
- if(this.time == 0){
376
- clearTimeout(this.interval);
377
- }
378
- }, 1000)
903
+ }, 1000);
904
+ }).catch((error) => {
905
+ this.$xdHideLoading();
906
+ console.error(error);
907
+ this.$xdLog.catch(error)
908
+ });
909
+ },
910
+
911
+ setAccountLoginType(type) {
912
+ this.accountLoginType = type;
913
+ },
914
+
915
+ /**
916
+ * @description 工行e生活处理
917
+ */
918
+ icbcLogin(loginParams){
919
+
920
+ //无三方用户登录信息
921
+ if(!loginParams) {
922
+ this.status = false;
923
+ console.warn(`无三方用户登录信息`);
924
+ throw new Error('无三方用户登录信息');
925
+ }
926
+
927
+ console.warn(`LoginParams.use: ${loginParams}`)
928
+ this.$xdShowLoading({});
929
+ jfbRootExec("userBaseLoginIcb", {
930
+ vm: this,
931
+ data:{
932
+ encrypted_params: loginParams,
933
+ provider_id: this.quickLogin.provider_id
934
+ },
935
+ })
936
+ .then(res=>{
937
+ this.$xdHideLoading();
938
+ this.$xdUniHelper.redirectTo({
939
+ url: this.redirect_url || this.$settings.index,
940
+ },false, true);
941
+ })
942
+ .catch(err=>{
943
+ this.$xdHideLoading();
944
+ console.error(err);
379
945
  })
946
+ },
380
947
 
381
- },
382
- setAccountLoginType(type){
383
- this.accountLoginType = type;
384
- },
385
- //h5授权登录
386
- doLoginAuth(){
387
- const { provider_id, login_platform_code, is_redirect, redirect_url } = this.quickLogin;
388
- //授权地址
948
+ //h5授权登录
949
+ doLoginAuth() {
950
+ if(this.isFastLoginStatus) return;
951
+ this.isFastLoginStatus = true;
952
+
953
+ //工行处理
954
+ if(this.quickLogin && this.quickLogin.login_platform_code === 'icbc'){
955
+ window['ICBC_SDK']['merLogin']((res)=>{
956
+ console.warn(`get.ICBC_SDK:${res}`);
957
+ this.icbcLogin(res)
958
+ })
959
+ return;
960
+ }
961
+
962
+ //跳转到第三方进行授权
963
+ if(this.quickLogin.is_redirect === 'Y') {
964
+ const { redirect_url } = this.quickLogin;
389
965
  location.href = redirect_url;
390
- },
391
- //小程序授权登录
392
- getuserinfo(e){
393
- //获取用户信息
394
- let {iv, encryptedData} = e.detail;
395
- let raw_data = JSON.stringify({iv, encryptedData});
396
- const { provider_id, login_platform_code, is_redirect, redirect_url } = this.quickLogin;
397
- jfbRootExec('phoneLogin', {
966
+ }
967
+
968
+ },
969
+
970
+ //小程序授权登录
971
+ getuserinfo(e) {
972
+ //获取用户信息
973
+ let { iv, encryptedData } = e.detail;
974
+ let raw_data = JSON.stringify({ iv, encryptedData });
975
+ const { provider_id, login_platform_code, is_redirect, redirect_url } = this.quickLogin;
976
+ jfbRootExec("phoneLogin", {
977
+ vm: this,
978
+ data: {
979
+ raw_data,
980
+ provider_id,
981
+ },
982
+ })
983
+ .then(() => {
984
+ location.href = redirect_url;
985
+ })
986
+ .catch();
987
+ //首页地址
988
+ //确认授权登录信息 => 跳转回调地址 cbUrl
989
+ },
990
+
991
+ //账号登录 -> 跳转第二步
992
+ doLoginAccount() {
993
+ console.log("doLoginAccount", this.panel_1_checked);
994
+ if (this.panel_1_checked.includes(1)) {
995
+ this.showStep = 2;
996
+ } else {
997
+ this.$xdConfirm({
998
+ content: "请阅读并勾选读用户协议与隐私协议",
999
+ cancel: false,
1000
+ confirmText: "我知道了",
1001
+ styles: this.styles,
1002
+ });
1003
+ return;
1004
+ }
1005
+ },
1006
+
1007
+ //手机、验证码 | 密码登录 user form
1008
+ doLoginForm() {
1009
+ const { accountLoginType } = this;
1010
+ const { phone_number, verification_code, password } = this.accountForm;
1011
+ let err_tip = "";
1012
+ if (!phone_number) err_tip = "手机号不能为空";
1013
+ else if (accountLoginType === "phone" && !verification_code)
1014
+ err_tip = "验证码不能为空";
1015
+ else if (accountLoginType === "pwd" && !password)
1016
+ err_tip = "密码不能为空";
1017
+ if (err_tip) {
1018
+ return uni.showToast({
1019
+ title: err_tip,
1020
+ icon: "none",
1021
+ });
1022
+ }
1023
+
1024
+ if (accountLoginType === "phone") {
1025
+ //表单接口登录
1026
+ this.$xdShowLoading({})
1027
+ jfbRootExec("phoneLogin", {
398
1028
  vm: this,
399
1029
  data: {
400
- raw_data,
401
- provider_id
402
- }
403
- }).then(()=>{
404
- location.href = redirect_url
405
- }).catch()
406
- //首页地址
407
- //确认授权登录信息 => 跳转回调地址 cbUrl
408
- },
409
- //账号登录 -> 跳转第二步
410
- doLoginAccount(){
411
- console.log("doLoginAccount", this.panel_1_checked);
412
- if(this.panel_1_checked.includes(1)){
413
- this.showStep = 2;
414
- }else{
415
- this.$xdConfirm({
416
- content: '请阅读并勾选读用户协议与隐私协议',
417
- cancel:false,
418
- confirmText: '我知道了'
419
- });
420
- return;
421
- }
422
- },
423
- //手机、验证码 | 密码登录 user form
424
- doLoginForm(){
425
- const { accountLoginType } = this;
426
- const { phone_number, verification_code, password } = this.accountForm;
427
- if(accountLoginType == "phone"){
428
- //表单接口登录
429
- jfbRootExec('phoneLogin', {
430
- vm: this,
431
- data: {
432
- provider_id: this.phoneLogin.provider_id,
433
- phone_number,
434
- verification_code
435
- },
436
- }).then(res => {
437
- // location.href = this.phoneLogin.redirect_url;
1030
+ provider_id: this.phoneLogin.provider_id,
1031
+ phone_number,
1032
+ verification_code,
1033
+ },
1034
+ })
1035
+ .then((res) => {
1036
+ this.$xdHideLoading()
1037
+ this.jfbAuthorize.setAllToken(res);
438
1038
  this.toHomeAfterLogin();
439
1039
  })
440
- }else if(accountLoginType == "pwd"){
441
- jfbRootExec("accountLogin", {
442
- vm: this,
443
- data: {
444
- provider_id: this.pwdLogin.provider_id,
445
- account_name: phone_number,
446
- password: password
447
- }
448
- }).then(res => {
449
- // location.href = this.pwdLogin.redirect_url;
1040
+ .catch(error=>{
1041
+ this.$xdHideLoading()
1042
+ this.$xdLog.catch(error)
1043
+ });
1044
+ }
1045
+ else if (accountLoginType === "pwd") {
1046
+ this.$xdShowLoading({})
1047
+ jfbRootExec("accountLogin", {
1048
+ vm: this,
1049
+ data: {
1050
+ provider_id: this.pwdLogin.provider_id,
1051
+ account_name: phone_number,
1052
+ password: password,
1053
+ },
1054
+ })
1055
+ .then((res) => {
1056
+ this.$xdHideLoading()
1057
+ this.jfbAuthorize.setAllToken(res);
450
1058
  this.toHomeAfterLogin();
451
1059
  })
452
- }
1060
+ .catch(error => {
1061
+ this.$xdHideLoading()
1062
+ this.$xdLog.catch(error)
1063
+ });
1064
+ }
1065
+ },
453
1066
 
454
- },
455
- toHomeAfterLogin(){
456
- let {redirect_url} = this.$route.query;
457
- if(redirect_url) redirect_url = decodeURIComponent(redirect_url);
458
- redirect_url = redirect_url || this.settings.index;
459
- this.$xdUniHelper.redirectTo({
460
- url: redirect_url
461
- })
462
- },
463
-
464
- //暂不登录, 去逛逛
465
- toNotLoginHome(){
466
- //location.href = not_login_home_url;
467
- },
468
- //验证手机号通过 -> 去重新设置密码
469
- toResetPassword(){
470
- this.showStep = 4;
471
- // const {verification_code, phone_number} = this.resetForm;
472
- // jfbRootExec('verifyPhoneCode', {
473
- // vm: this,
474
- // data: {
475
- // verification_code,
476
- // phone_number
477
- // }
478
- // }).then(res => {
479
- // this.showStep = 4;
480
- // })
1067
+ toHomeAfterLogin() {
1068
+ let { redirect_url, callback_url } = this;
1069
+ this.$xdUniHelper.redirectTo({
1070
+ url: redirect_url || callback_url || this.settings.index,
1071
+ });
1072
+ },
481
1073
 
482
- },
483
- //接口重设密码
484
- doResetPassword(){
485
- jfbRootExec("forgetPwd", {
486
- vm: this,
487
- data: this.resetForm
488
- }).then(res => {
489
- //重新设置成功
490
- })
1074
+ //暂不登录, 去逛逛
1075
+ toNotLoginHome() {
1076
+ //location.href = not_login_home_url;
1077
+ },
491
1078
 
492
- },
493
- //跳转验证手机号页面
494
- toValidPhone(){
495
- this.showStep = 3;
496
- },
497
- onJfbLoad(options) {
498
- console.log('event.onJfbLoad');
499
- this.p_getListProviders();
500
- },
501
- onJfbScroll(options) {
502
- console.log('event.onJfbScroll', options)
503
- },
504
- onJfbReachBottom(options) {
505
- console.log('event.onJfbReachBottom', options)
506
- },
507
- onJfbShow(options) {
508
- console.log('event.onJfbShow', options)
509
- },
510
- onJfbHide(options) {
511
- console.log('event.onJfbHide', options)
512
- },
513
- onJfbBack(options) {
514
- console.log('event.onJfbBack', options);
515
- if(this.showStep > 1) this.showStep--;
516
- },
517
- }
518
- }
1079
+ //跳转验证手机号页面
1080
+ toValidPhone() {
1081
+ this.$xdUniHelper.navigateTo({
1082
+ url: this.forget_pwd_url,
1083
+ });
1084
+ },
519
1085
 
1086
+ onJfbBack(options) {
1087
+ console.log("event.onJfbBack", options);
1088
+ if (this.showStep > 1) this.showStep--;
1089
+ },
1090
+ },
1091
+ };
520
1092
  </script>
521
1093
 
522
1094
  <style scoped lang="less">
523
- @import "./JfbBaseLoginLess.less";
1095
+ @import "./JfbBaseLoginLess.less";
524
1096
 
525
- .jfb-base-login {
526
- border: 1px dashed rgba(0,0,0,0);
527
- box-sizing: border-box;
1097
+ .jfb-base-login {
1098
+ box-sizing: border-box;
528
1099
 
1100
+ &__body {
1101
+ padding-bottom: 160rpx;
1102
+ .xd-form-checkbox {
1103
+ ::v-deep .checklist-content .checklist-text {
1104
+ font-size: 26rpx !important;
1105
+ }
1106
+ }
1107
+ .xd-form-checkbox {
1108
+ ::v-deep .checklist-box {
1109
+ margin: 0;
1110
+ align-items: var(--agreement-align);
1111
+ }
1112
+ }
1113
+ .xd-form-checkbox {
1114
+ ::v-deep .checklist-group {
1115
+ justify-content: center;
1116
+ }
1117
+ }
1118
+ .xd-form-checkbox {
1119
+ ::v-deep .checklist-text {
1120
+ margin-left: unit(20,rpx) !important;
1121
+ }
1122
+ }
529
1123
 
530
- &__body{
531
- .xd-form-checkbox{
532
- /deep/ .checklist-content .checklist-text{
533
- font-size: 26rpx !important;
1124
+ .form-group {
1125
+ padding: 40rpx 70rpx;
1126
+ }
1127
+ // #ifdef H5
1128
+ .form-item {
1129
+ ::v-deep &.uni-forms-item {
1130
+ // padding-left: unit(30,rpx) !important;
1131
+ .uni-input-input{
1132
+ font-size: var(--content-font-size);
1133
+ color: var(--content-font-color);
1134
+ font-weight: var(--content-font-weight);
1135
+ }
1136
+ .label-text {
1137
+ font-size: var(--label-font-size);
1138
+ color: var(--label-font-color);
1139
+ font-weight: var(--label-font-weight);
1140
+ }
1141
+ .uni-easyinput__placeholder-class{
1142
+ font-size: var(--placeholder-font-size);
1143
+ color: var(--placeholder-font-color);
1144
+ font-weight: var(--placeholder-font-weight);
534
1145
  }
535
1146
  }
536
- .form-group{
537
- padding: 20rpx 70rpx;
538
- }
539
- .get_code{
540
- color: @xd-base-color;
541
- font-size: 24rpx;
1147
+ &.linear{
1148
+ ::v-deep &.uni-forms-item--border{
1149
+ border-color: var(--form-border-color) !important;
1150
+ border-width: var(--form-border-width) !important;
1151
+ }
542
1152
  }
543
- .panel-login-auth{
544
- .logo-wrap{
545
- text-align: center;
546
- image{
547
- width: 240rpx;
548
- }
1153
+ &.face{
1154
+ ::v-deep .uni-forms-item__content{
1155
+ background: #F7F7F7;
1156
+ border-radius: 16rpx;
1157
+ }
1158
+ ::v-deep &.uni-forms-item--border{
1159
+ border: none;
549
1160
  }
550
- .login_types{
551
- padding: 10rpx 50rpx;
552
1161
 
553
- .protocol{
554
- font-size: 24rpx;
555
- margin-top: 20rpx;
556
- }
1162
+ }
1163
+ }
1164
+ // #endif
1165
+
1166
+ // #ifdef MP
1167
+ ::v-deep .uni-forms-item {
1168
+ // padding-left: 30rpx !important;
1169
+ .uni-input-input{
1170
+ font-size: var(--content-font-size);
1171
+ color: var(--content-font-color);
1172
+ font-weight: var(--content-font-weight);
1173
+ }
1174
+ .label-text {
1175
+ font-size: var(--label-font-size);
1176
+ color: var(--label-font-color);
1177
+ font-weight: var(--label-font-weight);
1178
+ }
1179
+ .uni-easyinput__placeholder-class{
1180
+ font-size: var(--placeholder-font-size);
1181
+ color: var(--placeholder-font-color);
1182
+ font-weight: var(--placeholder-font-weight);
1183
+ }
1184
+ }
1185
+ .linear{
1186
+ ::v-deep .uni-forms-item--border{
1187
+ border-top: none !important;
1188
+ border-bottom: var(--form-border-width) solid var(--form-border-color) !important;
1189
+ }
1190
+ }
1191
+ .face{
1192
+ ::v-deep .uni-forms-item__content{
1193
+ background: #F7F7F7;
1194
+ border-radius: 16rpx;
1195
+ }
1196
+ ::v-deep .uni-forms-item--border{
1197
+ border: none;
1198
+ }
1199
+ }
1200
+ // #endif
1201
+
1202
+ .get_code {
1203
+ color: @xd-base-color;
1204
+ font-size: 24rpx;
1205
+ margin-right: unit(20,rpx);
1206
+ padding: 10rpx 24rpx;
1207
+ border: 1px solid @xd-base-color;
1208
+ border-radius: 40rpx;
1209
+ white-space: nowrap;
1210
+ }
1211
+ .logo-wrap {
1212
+ display: flex;
1213
+ align-items: center;
1214
+ justify-content: center;
1215
+ flex-direction: column;
1216
+ image {
1217
+ width: 180rpx;
1218
+ height: 180rpx;
1219
+ }
1220
+ & > view {
1221
+ font-size: unit(36,rpx);
1222
+ font-weight: 600;
1223
+ margin-top: 12rpx;
1224
+ }
1225
+ }
1226
+ .panel-login-auth {
1227
+ ::v-deep .uni-forms-item__label {
1228
+ .label-text {
1229
+ font-size: 26rpx;
1230
+ color: #a6a6a6;
557
1231
  }
558
-
559
1232
  }
560
- .panel-login-password{
1233
+
1234
+ .login_types {
1235
+ padding: 10rpx 50rpx;
561
1236
 
562
- /deep/ .uni-forms-item__label{
563
- .label-text{
564
- font-size: 26rpx;
565
- color: #A6A6A6;
566
- }
1237
+ .protocol {
1238
+ font-size: 24rpx;
1239
+ margin-top: 40rpx;
567
1240
  }
568
- /deep/ .uni-easyinput__placeholder-class{
1241
+ }
1242
+ }
1243
+ .panel-login-password {
1244
+ ::v-deep .uni-forms-item__label {
1245
+ .label-text {
569
1246
  font-size: 26rpx;
570
- color: #D4D4D4;
1247
+ color: #a6a6a6;
571
1248
  }
572
- .phone-login-type{
573
- display: flex;
574
- color: #808080;
575
- font-size: 32rpx;
576
- padding: 20rpx 70rpx;
577
- align-items: center;
578
- ._item{
579
- margin: 0 30rpx;
580
- position: relative;
581
- line-height: 2;
582
- &:first-child{
583
- margin-left: 0;
584
- }
1249
+ }
1250
+ ::v-deep .uni-easyinput__placeholder-class {
1251
+ font-size: 26rpx;
1252
+ color: #d4d4d4;
1253
+ }
1254
+ .phone-login-type {
1255
+ display: flex;
1256
+ color: #808080;
1257
+ font-size: 32rpx;
1258
+ padding: 40rpx 70rpx;
1259
+ align-items: center;
1260
+ ._item {
1261
+ margin: 0 30rpx;
1262
+ position: relative;
1263
+ line-height: 2;
1264
+ &:first-child {
1265
+ margin-left: 0;
1266
+ }
585
1267
 
586
- &.active{
587
- color: #383838;
588
- font-size: 36rpx;
589
-
590
- text {
591
- position: absolute;
592
- height: 6rpx;
593
- width: 90rpx;
594
- border-radius: 6rpx;
595
- left: 50%;
596
- bottom: 0;
597
- transform: translateX(-50%);
598
- }
1268
+ &.active {
1269
+ color: #383838;
1270
+ font-size: 36rpx;
1271
+
1272
+ text {
1273
+ position: absolute;
1274
+ height: 6rpx;
1275
+ width: 90rpx;
1276
+ border-radius: 6rpx;
1277
+ left: 50%;
1278
+ bottom: 0;
1279
+ transform: translateX(-50%);
599
1280
  }
600
1281
  }
601
1282
  }
602
- .forget_password{
603
- font-size: 24rpx;
604
- color: #A6A6A6;
605
- text-align: right;
606
- margin: 20rpx 70rpx 0 0;
607
-
608
- }
1283
+ }
1284
+ .forget_password {
1285
+ font-size: 24rpx;
1286
+ color: #a6a6a6;
1287
+ text-align: right;
1288
+ margin: 20rpx 70rpx 0 0;
1289
+ }
609
1290
 
610
- .not_login{
611
- position: fixed;
612
- width: 100%;
613
- text-align: center;
614
- bottom: 100rpx;
615
- font-size: 24rpx;
616
- color: #FE7A63;
617
- }
1291
+ .not_login {
1292
+ position: fixed;
1293
+ width: 100%;
1294
+ text-align: center;
1295
+ bottom: 100rpx;
1296
+ font-size: 24rpx;
1297
+ color: #fe7a63;
618
1298
  }
619
- .panel-forget-password{
620
- /deep/ .uni-forms-item__label{
621
- .label-text{
622
- font-size: 26rpx;
623
- color: #A6A6A6;
624
- }
625
- }
626
- /deep/ .uni-easyinput__placeholder-class{
1299
+ }
1300
+ .panel-forget-password {
1301
+ ::v-deep .uni-forms-item__label {
1302
+ .label-text {
627
1303
  font-size: 26rpx;
628
- color: #D4D4D4;
629
- }
630
- .forget_tip{
631
- box-sizing: border-box;
632
- width: 600rpx;
633
- border-radius: 10rpx;
634
- box-shadow: 0px 0px 20px 0px #00000019;
635
- padding: 64rpx 46rpx;
636
- margin: 200rpx auto;
637
- text-align: center;
638
- font-size: 32rpx;
639
- .contact_phone{
640
- color: @xd-base-color;
641
- font-size: 56rpx;
642
- margin: 20rpx 0 30rpx;
643
- }
1304
+ color: #a6a6a6;
644
1305
  }
645
1306
  }
646
- .panel-reset-password{
647
- /deep/ .uni-forms-item__label{
648
- width: 185rpx !important;
649
- .label-text{
650
- font-size: 26rpx;
651
- color: #A6A6A6;
652
-
653
- }
1307
+ ::v-deep .uni-easyinput__placeholder-class {
1308
+ font-size: 26rpx;
1309
+ color: #d4d4d4;
1310
+ }
1311
+ .forget_tip {
1312
+ box-sizing: border-box;
1313
+ width: 600rpx;
1314
+ border-radius: 10rpx;
1315
+ box-shadow: 0px 0px 20px 0px #00000019;
1316
+ padding: 64rpx 46rpx;
1317
+ margin: 200rpx auto;
1318
+ text-align: center;
1319
+ font-size: 32rpx;
1320
+ .contact_phone {
1321
+ color: @xd-base-color;
1322
+ font-size: 56rpx;
1323
+ margin: 20rpx 0 30rpx;
654
1324
  }
655
- /deep/ .uni-easyinput__placeholder-class{
1325
+ }
1326
+ }
1327
+ .panel-reset-password {
1328
+ ::v-deep .uni-forms-item__label {
1329
+ width: 185rpx !important;
1330
+ .label-text {
656
1331
  font-size: 26rpx;
657
- color: #D4D4D4;
1332
+ color: #a6a6a6;
658
1333
  }
659
1334
  }
1335
+ ::v-deep .uni-easyinput__placeholder-class {
1336
+ font-size: 26rpx;
1337
+ color: #d4d4d4;
1338
+ }
660
1339
  }
661
1340
  }
1341
+ }
1342
+
1343
+ .flex {
1344
+ display: flex;
1345
+ }
1346
+ .flex-sub {
1347
+ flex: 1;
1348
+ }
1349
+ .align-center {
1350
+ align-items: center;
1351
+ }
662
1352
 
663
- .flex{
664
- display: flex;
1353
+ .login-pub {
1354
+ margin-top: unit(40, rpx);
1355
+ }
1356
+ .bottom_btn {
1357
+ position: fixed;
1358
+ width: 100%;
1359
+ display:flex;
1360
+ justify-content: center;
1361
+ align-items: center;
1362
+ height: unit(100, rpx);
1363
+ background: #ffffff;
1364
+
1365
+ & > view {
1366
+ height: unit(44, rpx);
1367
+ line-height: unit(44, rpx);
1368
+ width: unit(150, rpx);
1369
+ text-align: center;
1370
+ cursor: pointer;
1371
+ font-size: unit(24, rpx);
1372
+ border-radius: unit(12, rpx);
665
1373
  }
666
- .flex-sub{
667
- flex: 1;
1374
+ }
1375
+
1376
+ .preview-login {
1377
+ padding: unit(40, rpx) 0;
1378
+
1379
+ &-input {
1380
+ height: unit(70, rpx);
1381
+ border-radius: unit(12, rpx);
1382
+ padding: 0 unit(20, rpx);
1383
+ text-align: left;
1384
+ border: 1px solid #eee;
1385
+ background: #F7F7F7;
1386
+ color: #666;
1387
+ transition: box-shadow 0.5s;
1388
+ box-shadow: 0 0 0 rgba(0,0,0,0);
1389
+
1390
+ &:hover {
1391
+ box-shadow: 0 0 unit(10, rpx) rgba(0,0,0,.1);
1392
+ }
668
1393
  }
669
- .align-center{
670
- align-items: center;
1394
+ }
1395
+
1396
+ /* #ifdef MP-WEIXIN */
1397
+ ::v-deep .xd-form-checkbox .checklist-group {
1398
+ justify-content: center;
1399
+ display: flex;
1400
+ align-items: center;
1401
+ }
1402
+ .text-content {
1403
+ width: 100%;
1404
+ & > text {
1405
+ font-size: 26rpx;
671
1406
  }
1407
+ }
1408
+ /* #endif */
1409
+
1410
+
1411
+
672
1412
  </style>