jufubao-base 1.0.243-beta201 → 1.0.243-beta203

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 (148) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseAfterSales/JfbBaseAfterSales.vue +40 -3
  3. package/src/components/JfbBaseAfterSales/Mock.js +2 -9
  4. package/src/components/JfbBaseAfterSales/refundOrderInfo.vue +3 -3
  5. package/src/components/JfbBaseAfterSalesDetail/JfbBaseAfterSalesDetail.vue +24 -5
  6. package/src/components/JfbBaseAfterSalesDetail/secProd.vue +9 -1
  7. package/src/components/JfbBaseAfterSalesList/Attr.js +23 -0
  8. package/src/components/JfbBaseAfterSalesList/JfbBaseAfterSalesList.vue +53 -8
  9. package/src/components/JfbBaseBalance/Api.js +46 -0
  10. package/src/components/JfbBaseBalance/Attr.js +316 -0
  11. package/src/components/JfbBaseBalance/JfbBaseBalance.vue +336 -0
  12. package/src/components/JfbBaseBalance/JfbBaseBalanceLess.less +79 -0
  13. package/src/components/JfbBaseBalance/JfbBaseBalanceMixin.js +30 -0
  14. package/src/components/JfbBaseBalance/Mock.js +9 -0
  15. package/src/components/JfbBaseCardDetailEntry/Attr.js +11 -0
  16. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +6 -6
  17. package/src/components/JfbBaseCardEntry/Attr.js +27 -16
  18. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +4 -2
  19. package/src/components/JfbBaseCardEntry/Mock.js +20 -1
  20. package/src/components/JfbBaseCardGive/JfbBaseCardGive.vue +2 -4
  21. package/src/components/JfbBaseCardInfoEntry/Attr.js +36 -25
  22. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +5 -2
  23. package/src/components/JfbBaseCodeOpenVip/Api.js +35 -0
  24. package/src/components/JfbBaseCodeOpenVip/Attr.js +281 -0
  25. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVip.vue +251 -0
  26. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVipLess.less +79 -0
  27. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVipMixin.js +30 -0
  28. package/src/components/JfbBaseCodeOpenVip/Mock.js +13 -0
  29. package/src/components/JfbBaseConDialog/JfbBaseConDialog.vue +4 -5
  30. package/src/components/JfbBaseConsumpCode/Api.js +133 -0
  31. package/src/components/JfbBaseConsumpCode/Attr.js +74 -0
  32. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCode.vue +1118 -0
  33. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCodeLess.less +79 -0
  34. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCodeMixin.js +30 -0
  35. package/src/components/JfbBaseConsumpCode/Mock.js +22 -0
  36. package/src/components/JfbBaseFastLink/Attr.js +12 -1
  37. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +66 -0
  38. package/src/components/JfbBaseFooter/Attr.js +12 -0
  39. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +13 -0
  40. package/src/components/JfbBaseHeader/Attr.js +82 -0
  41. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +47 -1
  42. package/src/components/JfbBaseHeaderColumn/Attr.js +82 -0
  43. package/src/components/JfbBaseHeaderColumn/JfbBaseHeaderColumn.vue +48 -2
  44. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +17 -3
  45. package/src/components/JfbBaseNoticeDialog/Api.js +1 -1
  46. package/src/components/JfbBaseNoticeDialog/Attr.js +27 -0
  47. package/src/components/JfbBaseNoticeDialog/JfbBaseNoticeDialog.vue +42 -15
  48. package/src/components/JfbBaseNoticeGroup/Api.js +23 -0
  49. package/src/components/JfbBaseNoticeGroup/Attr.js +237 -0
  50. package/src/components/JfbBaseNoticeGroup/JfbBaseNoticeGroup.vue +174 -0
  51. package/src/components/JfbBaseNoticeGroup/JfbBaseNoticeGroupLess.less +79 -0
  52. package/src/components/JfbBaseNoticeGroup/JfbBaseNoticeGroupMixin.js +30 -0
  53. package/src/components/JfbBaseNoticeGroup/Mock.js +13 -0
  54. package/src/components/JfbBaseOpenVip/Api.js +39 -0
  55. package/src/components/JfbBaseOpenVip/Attr.js +331 -0
  56. package/src/components/JfbBaseOpenVip/JfbBaseOpenVip.vue +459 -0
  57. package/src/components/JfbBaseOpenVip/JfbBaseOpenVipLess.less +79 -0
  58. package/src/components/JfbBaseOpenVip/JfbBaseOpenVipMixin.js +30 -0
  59. package/src/components/JfbBaseOpenVip/Mock.js +7 -0
  60. package/src/components/JfbBaseOpenVip/XdVipList.vue +130 -0
  61. package/src/components/JfbBaseOpenVipCard/Api.js +58 -0
  62. package/src/components/JfbBaseOpenVipCard/Attr.js +48 -0
  63. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCard.vue +111 -0
  64. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCardLess.less +79 -0
  65. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCardMixin.js +30 -0
  66. package/src/components/JfbBaseOpenVipCard/Mock.js +13 -0
  67. package/src/components/JfbBaseOpenVipDetail/Api.js +35 -0
  68. package/src/components/JfbBaseOpenVipDetail/Attr.js +37 -0
  69. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetail.vue +234 -0
  70. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetailLess.less +79 -0
  71. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetailMixin.js +30 -0
  72. package/src/components/JfbBaseOpenVipDetail/Mock.js +15 -0
  73. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +191 -19
  74. package/src/components/JfbBaseOrderList/Api.js +11 -0
  75. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +31 -13
  76. package/src/components/JfbBasePay/Attr.js +52 -0
  77. package/src/components/JfbBasePay/JfbBasePay.vue +23 -6
  78. package/src/components/JfbBasePay/Mock.js +0 -9
  79. package/src/components/JfbBasePersonalData/Api.js +26 -0
  80. package/src/components/JfbBasePersonalData/Attr.js +13 -0
  81. package/src/components/JfbBasePersonalData/JfbBasePersonalData.vue +278 -0
  82. package/src/components/JfbBasePersonalData/JfbBasePersonalDataLess.less +79 -0
  83. package/src/components/JfbBasePersonalData/JfbBasePersonalDataMixin.js +30 -0
  84. package/src/components/JfbBasePersonalData/Mock.js +13 -0
  85. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +11 -1
  86. package/src/components/JfbBasePointsCard/Api.js +18 -0
  87. package/src/components/JfbBasePointsCard/Attr.js +187 -0
  88. package/src/components/JfbBasePointsCard/JfbBasePointsCard.vue +212 -0
  89. package/src/components/JfbBasePointsCard/JfbBasePointsCardLess.less +79 -0
  90. package/src/components/JfbBasePointsCard/JfbBasePointsCardMixin.js +30 -0
  91. package/src/components/JfbBasePointsCard/Mock.js +5 -0
  92. package/src/components/JfbBasePointsDetail/Api.js +48 -0
  93. package/src/components/JfbBasePointsDetail/Attr.js +305 -0
  94. package/src/components/JfbBasePointsDetail/JfbBasePointsDetail.vue +267 -0
  95. package/src/components/JfbBasePointsDetail/JfbBasePointsDetailLess.less +79 -0
  96. package/src/components/JfbBasePointsDetail/JfbBasePointsDetailMixin.js +30 -0
  97. package/src/components/JfbBasePointsDetail/Mock.js +6 -0
  98. package/src/components/JfbBasePoster/Attr.js +1 -1
  99. package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +2 -2
  100. package/src/components/JfbBasePosterGroup/Api.js +22 -0
  101. package/src/components/JfbBasePosterGroup/Attr.js +156 -0
  102. package/src/components/JfbBasePosterGroup/JfbBasePosterGroup.vue +268 -0
  103. package/src/components/JfbBasePosterGroup/JfbBasePosterGroupLess.less +79 -0
  104. package/src/components/JfbBasePosterGroup/JfbBasePosterGroupMixin.js +30 -0
  105. package/src/components/JfbBasePosterGroup/Mock.js +13 -0
  106. package/src/components/JfbBaseSavingDetail/Api.js +41 -0
  107. package/src/components/JfbBaseSavingDetail/Attr.js +70 -0
  108. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetail.vue +724 -0
  109. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetailLess.less +79 -0
  110. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetailMixin.js +30 -0
  111. package/src/components/JfbBaseSavingDetail/Mock.js +10 -0
  112. package/src/components/JfbBaseSavingDetail/components/echarts.min.js +26 -0
  113. package/src/components/JfbBaseSavingDetail/components/echarts.vue +254 -0
  114. package/src/components/JfbBaseSavingDetail/components/wx-canvas.js +105 -0
  115. package/src/components/JfbBaseShare/Api.js +20 -0
  116. package/src/components/JfbBaseShare/Attr.js +59 -0
  117. package/src/components/JfbBaseShare/JfbBaseShare.vue +282 -0
  118. package/src/components/JfbBaseShare/JfbBaseShareLess.less +79 -0
  119. package/src/components/JfbBaseShare/JfbBaseShareMixin.js +30 -0
  120. package/src/components/JfbBaseShare/Mock.js +16 -0
  121. package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +14 -3
  122. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +12 -22
  123. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +12 -1
  124. package/src/components/JfbBaseTfkSearch/Mock.js +51 -3
  125. package/src/components/JfbBaseTfkSearch/listMixins.js +2 -1
  126. package/src/components/JfbBaseUserInfo/Attr.js +175 -11
  127. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +342 -119
  128. package/src/components/JfbBaseUserOrder/Attr.js +16 -0
  129. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +11 -2
  130. package/src/components/JfbBaseWithDrawAgain/Api.js +41 -0
  131. package/src/components/JfbBaseWithDrawAgain/Attr.js +92 -0
  132. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgain.vue +354 -0
  133. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgainLess.less +79 -0
  134. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgainMixin.js +30 -0
  135. package/src/components/JfbBaseWithDrawAgain/Mock.js +10 -0
  136. package/src/components/JfbBaseWithDrawRecord/Api.js +19 -0
  137. package/src/components/JfbBaseWithDrawRecord/Attr.js +79 -0
  138. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecord.vue +233 -0
  139. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecordLess.less +79 -0
  140. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecordMixin.js +30 -0
  141. package/src/components/JfbBaseWithDrawRecord/Mock.js +7 -0
  142. package/src/components/JfbBaseWithdraw/Api.js +48 -0
  143. package/src/components/JfbBaseWithdraw/Attr.js +328 -0
  144. package/src/components/JfbBaseWithdraw/JfbBaseWithdraw.vue +272 -0
  145. package/src/components/JfbBaseWithdraw/JfbBaseWithdrawLess.less +79 -0
  146. package/src/components/JfbBaseWithdraw/JfbBaseWithdrawMixin.js +30 -0
  147. package/src/components/JfbBaseWithdraw/Mock.js +7 -0
  148. package/src/components/JfbBaseWxAuthorize/JfbBaseWxAuthorize.vue +10 -0
@@ -1,84 +1,104 @@
1
1
  <template>
2
- <view
3
- class="jfb-base-user-info"
4
- @click="handleEditxSelect"
5
- :class="{ editx : isEditx && active }"
6
- >
2
+ <view class="jfb-base-user-info" @click="handleEditxSelect" :class="{ editx : isEditx && active }">
7
3
  <!--#ifdef H5-->
8
- <view
9
- class="jfb-base-user-info__edit"
10
- :class="{ editx : isEditx && active }"
11
- v-if="isEditx && active"
12
- >
4
+ <view class="jfb-base-user-info__edit" :class="{ editx : isEditx && active }" v-if="isEditx && active">
13
5
  <view class="jfb-base-user-info__edit-icon" @click="delEdit">删除</view>
14
6
  </view>
15
7
  <!-- #endif -->
16
8
  <view class="jfb-base-user-info__body">
17
9
  <view class="x-line"></view>
18
- <view
19
- class="jfb-base-user-info__body-header"
20
- :style="[boxStyleComp]"
21
- v-if="userInfo !== null"
22
- >
23
- <view
24
- class="jfb-base-user-info__body-header-left"
25
- :class="{center: textType === 'N',vertical: textType === 'Y'}"
26
- >
27
- <template v-if="logined">
28
- <image v-if="userInfo['head_url']" :style="{border: `1px solid ${imageColor}`, borderRadius:imageRadius}" :src="userInfo['head_url']"></image>
29
- <view class="no-image" :style="{borderColor: imageColor, borderRadius:imageRadius}" v-else>
30
- <xd-font-icon :color="imageColor" icon="iconwode_mian" size="100"></xd-font-icon>
31
- </view>
32
- </template>
33
- <view v-else class="no-image" :style="{borderColor: imageColor, borderRadius:imageRadius}">
34
- <xd-font-icon :color="imageColor" icon="iconwode_mian" size="90"></xd-font-icon>
35
- </view>
36
- <view v-if="logined && textType ==='N'" :style="[nickNameStyle]">{{userInfo|getName}}</view>
37
- <view class="vertical-user" v-if="logined && textType ==='Y'">
38
- <view :style="[nickNameStyle]">{{userInfo|getName}}</view>
39
- <view v-if="rightContent && rightContent.type !== 'hidden'"
40
- class="logout" style="margin-top: 16rpx;"
41
- :style="[logoutBtnStyle]"
42
- >
43
- <view v-if="rightContent && rightContent.type === 'logout'"
44
- class="right_cont_i"
45
- :style="[logoutStyleComp]"
46
- @click="handleLogout()"
47
- >
48
- <xd-font-icon v-if="rightContent.icon" class="xd-font-icon" :icon="rightContent.icon" :size="28"></xd-font-icon>
49
- {{rightContent.name || '退出登录'}}
10
+ <view v-if="is_plus_site==='Y'">
11
+ <view :style="[boxPlusStyleComp]" class="jfb-base-user-info__body-plus-header" v-if="userInfo !== null">
12
+ <view :style="[boxPlusStyleCompTop]" :class="is_vip==='Y'?'is_vip_top':'is_normal_top'"
13
+ class="jfb-base-user-info__body-plus-header-top">
14
+ <view class="jfb-base-user-info__body-plus-header-top-left">
15
+ <template v-if="logined">
16
+ <image @click="handleToPersonal" :style="{border: `1px solid ${imageColor}`, borderRadius:imageRadius}"
17
+ v-if="userInfo['head_url']" :src="userInfo['head_url']"></image>
18
+ <view @click="handleToPersonal" :style="{borderColor: imageColor, borderRadius:imageRadius}" class="no-image" v-else>
19
+ <xd-font-icon :color="imageColor" icon="iconwode_mian" size="100"></xd-font-icon>
20
+ </view>
21
+ </template>
22
+ <view @click="handleToPersonal" :style="{borderColor: imageColor, borderRadius:imageRadius}" v-else class="no-image">
23
+ <xd-font-icon :color="imageColor" icon="iconwode_mian" size="90"></xd-font-icon>
50
24
  </view>
51
- <view v-if="rightContent && rightContent.type === 'addr'"
52
- class="right_cont_i"
53
- :style="[logoutStyleComp]"
54
- @click="handleAddress()"
55
- >
56
- <xd-font-icon v-if="rightContent.icon" class="xd-font-icon" :icon="rightContent.icon" :size="28"></xd-font-icon>
57
- {{ rightContent.name || '地址' }}
25
+ <view class="jfb-base-user-info__body-plus-header-top-left-info">
26
+ <view class="jfb-base-user-info__body-plus-header-top-left-info-name" v-if="logined">
27
+ <view :style="is_vip==='Y'?[plusNickNameStyle]:[normalNickNameStyle]">{{userInfo|getName}} </view>
28
+ <view v-if="is_vip==='Y'"><text>PLUS</text>会员</view>
29
+ <view v-else>普通用户</view>
30
+ </view>
31
+ <view>{{userInfo.phone_number}}</view>
58
32
  </view>
59
33
  </view>
60
- <view @click="handleToLink()" v-if="isSetting === 'Y'">
61
- <xd-font-icon size="26" icon="iconshezhi_mian"></xd-font-icon>
34
+ <view @click="handleToCode" class="jfb-base-user-info__body-plus-header-right">
35
+ <xd-font-icon size="40" icon="iconerweima"></xd-font-icon>
62
36
  </view>
63
37
  </view>
38
+ <view :style="[boxPlusStyleCompBottom]" :class="is_vip==='Y'?'is_vip_bottom':'is_normal_bottom'"
39
+ class="jfb-base-user-info__body-plus-header-bottom">
40
+ <view v-if="is_vip==='Y'">点击查看更多会员权益</view>
41
+ <view v-else>开通 <span :style="{color:mainColor}">PLUS会员</span>享受更多内容</view>
42
+ <view v-if="is_vip==='Y'" @click="handleToView">立即查看</view>
43
+ <view v-else @click="handleToOpen">立即开通</view>
44
+ </view>
64
45
  </view>
65
- <view v-if="logined && textType ==='N' && rightContent && rightContent.type !== 'hidden'" class="logout" :style="[logoutBtnStyle]">
66
- <view v-if="rightContent && rightContent.type === 'logout'" class="right_cont_i"
67
- :style="[logoutStyleComp]"
68
- @click="handleLogout()"
69
- >
70
- <xd-font-icon v-if="rightContent.icon" class="xd-font-icon" :icon="rightContent.icon" :size="28"></xd-font-icon>
71
- {{rightContent.name || '退出登录'}}
46
+ </view>
47
+ <view v-else>
48
+ <view class="jfb-base-user-info__body-header" :style="[boxStyleComp]" v-if="userInfo !== null">
49
+ <view class="jfb-base-user-info__body-header-left"
50
+ :class="{center: textType === 'N',vertical: textType === 'Y'}">
51
+ <template v-if="logined">
52
+ <image v-if="userInfo['head_url']" :style="{border: `1px solid ${imageColor}`, borderRadius:imageRadius}"
53
+ :src="userInfo['head_url']"></image>
54
+ <view class="no-image" :style="{borderColor: imageColor, borderRadius:imageRadius}" v-else>
55
+ <xd-font-icon :color="imageColor" icon="iconwode_mian" size="100"></xd-font-icon>
56
+ </view>
57
+ </template>
58
+ <view v-else class="no-image" :style="{borderColor: imageColor, borderRadius:imageRadius}">
59
+ <xd-font-icon :color="imageColor" icon="iconwode_mian" size="90"></xd-font-icon>
60
+ </view>
61
+ <view v-if="logined && textType ==='N'" :style="[nickNameStyle]">{{userInfo|getName}}</view>
62
+ <view class="vertical-user" v-if="logined && textType ==='Y'">
63
+ <view :style="[nickNameStyle]">{{userInfo|getName}}</view>
64
+ <view v-if="rightContent && rightContent.type !== 'hidden'" class="logout" style="margin-top: 16rpx;"
65
+ :style="[logoutBtnStyle]">
66
+ <view v-if="rightContent && rightContent.type === 'logout'" class="right_cont_i"
67
+ :style="[logoutStyleComp]" @click="handleLogout()">
68
+ <xd-font-icon v-if="rightContent.icon" class="xd-font-icon" :icon="rightContent.icon"
69
+ :size="28"></xd-font-icon>
70
+ {{rightContent.name || '退出登录'}}
71
+ </view>
72
+ <view v-if="rightContent && rightContent.type === 'addr'" class="right_cont_i"
73
+ :style="[logoutStyleComp]" @click="handleAddress()">
74
+ <xd-font-icon v-if="rightContent.icon" class="xd-font-icon" :icon="rightContent.icon"
75
+ :size="28"></xd-font-icon>
76
+ {{ rightContent.name || '地址' }}
77
+ </view>
78
+ </view>
79
+ <view @click="handleToLink()" v-if="isSetting === 'Y'">
80
+ <xd-font-icon size="26" icon="iconshezhi_mian"></xd-font-icon>
81
+ </view>
82
+ </view>
72
83
  </view>
73
- <view v-if="rightContent && rightContent.type === 'addr'" class="right_cont_i"
74
- :style="[logoutStyleComp]"
75
- @click="handleAddress()"
76
- >
77
- <xd-font-icon v-if="rightContent.icon"class="xd-font-icon" :icon="rightContent.icon" :size="28"></xd-font-icon>
78
- {{ rightContent.name || '地址' }}
84
+ <view v-if="logined && textType ==='N' && rightContent && rightContent.type !== 'hidden'" class="logout"
85
+ :style="[logoutBtnStyle]">
86
+ <view v-if="rightContent && rightContent.type === 'logout'" class="right_cont_i" :style="[logoutStyleComp]"
87
+ @click="handleLogout()">
88
+ <xd-font-icon v-if="rightContent.icon" class="xd-font-icon" :icon="rightContent.icon"
89
+ :size="28"></xd-font-icon>
90
+ {{rightContent.name || '退出登录'}}
91
+ </view>
92
+ <view v-if="rightContent && rightContent.type === 'addr'" class="right_cont_i" :style="[logoutStyleComp]"
93
+ @click="handleAddress()">
94
+ <xd-font-icon v-if="rightContent.icon" class="xd-font-icon" :icon="rightContent.icon"
95
+ :size="28"></xd-font-icon>
96
+ {{ rightContent.name || '地址' }}
97
+ </view>
79
98
  </view>
80
99
  </view>
81
100
  </view>
101
+
82
102
  </view>
83
103
  </view>
84
104
  </template>
@@ -91,7 +111,7 @@
91
111
  import componentsMixins from "@/mixins/componentsMixins";
92
112
  import extsMixins from "@/mixins/extsMixins"
93
113
  import { getContainerPropsValue } from "@/utils/xd.base";
94
- import {mapState} from 'vuex';
114
+ import { mapState } from 'vuex';
95
115
  import store from "@/store";
96
116
  import getServiceUrl from "@/common/getServiceUrl";
97
117
  export default {
@@ -99,11 +119,11 @@
99
119
  components: {
100
120
  XdFontIcon
101
121
  },
102
- mixins: [componentsMixins,extsMixins,JfbBaseUserInfoMixin],
122
+ mixins: [componentsMixins, extsMixins, JfbBaseUserInfoMixin],
103
123
  computed: {
104
124
  ...mapState(['jfbAuthorize']),
105
125
 
106
- boxStyleComp(){
126
+ boxStyleComp() {
107
127
  let border = this.getBorderCompatibleOldStyle(this.contBorder, {
108
128
  color: this.is_border_c,
109
129
  width: this.is_border_w,
@@ -118,7 +138,7 @@
118
138
  })
119
139
  return {
120
140
  margin: this.getMarginAndPadding(this.margin, 20),
121
- backgroundColor : this.backgroundColor,
141
+ backgroundColor: this.backgroundColor,
122
142
  backgroundImage: `url(${this.bgImage})`,
123
143
  padding: this.getMarginAndPadding(this.padding, 20),
124
144
  boxShadow: shadow,
@@ -128,30 +148,77 @@
128
148
  }
129
149
  },
130
150
 
131
- shadow(){
132
- if(this.is_shadow === 'Y') return `0 0 ${this.is_shadow_w}rpx ${this.is_shadow_bg}`;
151
+ boxPlusStyleComp() {
152
+ let border = this.getBorderCompatibleOldStyle(this.contBorder, {
153
+ color: this.is_border_c,
154
+ width: this.is_border_w,
155
+ type: this.is_border,
156
+ style: 'solid'
157
+ })
158
+ let shadow = this.getShadowCompatibleOldStyle(this.contShadow, {
159
+ color: this.is_shadow_bg,
160
+ width: this.is_shadow_w,
161
+ type: this.is_shadow,
162
+ })
163
+ return {
164
+ margin: this.getMarginAndPadding(this.margin, 20),
165
+ padding: this.getMarginAndPadding(this.padding, 0),
166
+ boxShadow: shadow,
167
+ border: border,
168
+ }
169
+ },
170
+
171
+ boxPlusStyleCompTop() {
172
+ return {
173
+ borderRadius: `${this.radius + 'rpx'} ${this.radius + 'rpx'} 0 0`,
174
+ background: this.is_vip === 'Y' ? this.plusTopBackgroundColor : this.normalTopBackgroundColor
175
+ }
176
+ },
177
+
178
+ boxPlusStyleCompBottom() {
179
+ return {
180
+ borderRadius: `0 0 ${this.radius + 'rpx'} ${this.radius + 'rpx'}`,
181
+ background: this.is_vip === 'Y' ? this.plusBottomBackgroundColor : this.normalBottomBackgroundColor
182
+ }
183
+ },
184
+
185
+ shadow() {
186
+ if (this.is_shadow === 'Y') return `0 0 ${this.is_shadow_w}rpx ${this.is_shadow_bg}`;
133
187
  else return '0 0 0 rgba(0,0,0,0)';
134
188
  },
135
- borderBox(){
189
+ borderBox() {
136
190
  if (this.is_border === 'Y') return `${this.is_border_w}rpx ${this.is_border_s} ${this.is_border_c}`;
137
191
  else return '0';
138
192
  },
139
-
140
- nickNameStyle(){
193
+ plusNickNameStyle() {
194
+ return {
195
+ fontSize: this.plusNickStyle.fontSize || '32rpx',
196
+ color: `${this.plusNickStyle.color ||'#333'}`,
197
+ fontWeight: `${this.plusNickStyle.fontWeight || 'normal'}`,
198
+ }
199
+ },
200
+ normalNickNameStyle() {
201
+ return {
202
+ fontSize: this.normalNickStyle.fontSize || '32rpx',
203
+ color: `${this.normalNickStyle.color ||'#333'}`,
204
+ fontWeight: `${this.normalNickStyle.fontWeight || 'normal'}`,
205
+ }
206
+ },
207
+ nickNameStyle() {
141
208
  return {
142
209
  fontSize: this.nickStyle.fontSize || '32rpx',
143
- color: `${this.nickStyle.color || '#333'}`,
210
+ color: `${this.nickStyle.color ||'#333'}`,
144
211
  fontWeight: `${this.nickStyle.fontWeight || 'normal'}`,
145
212
  }
146
213
  },
147
- logoutStyleComp(){
214
+ logoutStyleComp() {
148
215
  return {
149
216
  fontSize: this.logoutStyle.fontSize || '20rpx',
150
217
  color: `${this.logoutStyle.color || '#333'}`,
151
218
  fontWeight: `${this.logoutStyle.fontWeight || 'normal'}`,
152
219
  }
153
220
  },
154
- logoutBtnStyle(){
221
+ logoutBtnStyle() {
155
222
  let padding = `${this.checkValue(this.rightContentPadding.top, 20)}rpx`;
156
223
  padding = `${padding} ${this.checkValue(this.rightContentPadding.right, 20)}rpx`;
157
224
  padding = `${padding} ${this.checkValue(this.rightContentPadding.bottom, 20)}rpx`;
@@ -164,8 +231,8 @@
164
231
  }
165
232
  }
166
233
  },
167
- filters:{
168
- getName(val){
234
+ filters: {
235
+ getName(val) {
169
236
  return val.nickname || val['real_name'] || val['user_name'] || val['phone_number'];
170
237
  }
171
238
  },
@@ -173,9 +240,9 @@
173
240
  return {
174
241
  logined: false,
175
242
  userInfo: null,
176
- isSetting:'N',
243
+ isSetting: 'N',
177
244
  // logoutName:'[退出登录]',
178
- imageRadius:'50%',
245
+ imageRadius: '50%',
179
246
 
180
247
  //基础
181
248
  imageColor: '#333',
@@ -184,13 +251,13 @@
184
251
  radius: 0,
185
252
 
186
253
  //投影
187
- contShadow:{},
254
+ contShadow: {},
188
255
  is_shadow: 'N',
189
256
  is_shadow_bg: 0,
190
257
  is_shadow_w: 0,
191
258
 
192
259
  //边框
193
- contBorder:{},
260
+ contBorder: {},
194
261
  is_border: 'N',
195
262
  is_border_w: 0,
196
263
  is_border_c: '',
@@ -198,47 +265,69 @@
198
265
  //其他
199
266
  margin: {},
200
267
  padding: {},
201
- nickStyle:{},
202
- logoutStyle:{},
268
+ nickStyle: {},
269
+ normalNickStyle: {},
270
+ plusNickStyle: {},
271
+ logoutStyle: {},
203
272
  rightContent: null,
204
273
  addressUrl: '',
205
274
  bgImage: "",
206
275
  rightContentBgColor: "",
207
276
  // rightContentTextColor: "",
208
277
  rightContentPadding: "",
209
- rightContentRadius: 0
278
+ rightContentRadius: 0,
279
+ is_plus_site: '',
280
+ is_vip: 'N',
281
+ is_plus_preview: 'N', //预览vip样式
282
+ openVipPath: '',
283
+ viewPath: '',
284
+ plusTopBackgroundColor: '',
285
+ plusBottomBackgroundColor: '',
286
+ normalTopBackgroundColor: '',
287
+ normalBottomBackgroundColor: '',
288
+ codePath: '',
289
+ profilePath: ''
210
290
  }
211
291
  },
212
292
  watch: {
213
- container(value,oldValue) {
214
- if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
293
+ container(value, oldValue) {
294
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
215
295
  if (this.$configProject['isPreview']) this.init(value)
296
+ },
297
+ is_plus_preview() {
298
+ if (this.$configProject['isPreview']) {
299
+ this.is_vip = this.is_plus_preview
300
+ }
216
301
  }
217
302
  },
218
303
  created() {
304
+ console.log(this.getTokenForKey('user_level'),'user_leveluser_level');
305
+ console.log(this.projectAttr.headers['X-Site-Group'],'this.$configProject');
306
+ this.is_plus_site = this.projectAttr.headers['X-Site-Group']==="vip";
307
+ this.is_vip = this.getTokenForKey('user_level')&&this.getTokenForKey('user_level')==='VIP'?'Y':'N'
219
308
  this.init(this.container);
220
309
  },
221
310
  methods: {
222
- handleToLink(){
311
+ handleToLink() {
223
312
  this.$xdUniHelper.navigateTo({
224
313
  url: '/pages/settings/settings'
225
314
  })
226
315
  },
227
316
 
228
- async handleLogout(){
317
+ async handleLogout() {
229
318
  // #ifdef H5
230
319
  if (this.$configProject.isPreview) return;
231
320
  // #endif
232
321
 
233
322
  if (this.jfbAuthorize !== null) {
234
323
  this.$xdShowLoading({});
235
- store.dispatch('logout').then(res=>{
324
+ store.dispatch('logout').then(res => {
236
325
  let url = this.$configProject.entry || `/${this.projectAttr.deploy_dir}/`;
237
326
  this.$xdHideLoading();
238
327
  this.jfbAuthorize.removeAllCardToken();
239
328
  this.jfbAuthorize.removeAllToken()
240
329
  this.jfbAuthorize.jumpToUserLogin(this, false, url);
241
- }).catch(err=>{
330
+ }).catch(err => {
242
331
  console.error(err);
243
332
  })
244
333
  }
@@ -247,14 +336,15 @@
247
336
  async onJfbLoad(options) {
248
337
 
249
338
  //预览模式
250
- if(this.$configProject.isPreview) {
339
+ if (this.$configProject.isPreview) {
251
340
  jfbRootExec('getBaseUserInfo', {
252
341
  vm: this,
253
342
  data: {}
254
343
  }).then(res => {
255
- this.userInfo = res || {};
344
+ res = res || {};
345
+ if(res['head_url']) res['head_url'] = getServiceUrl(res['head_url'], 'size2')
346
+ this.userInfo = res;
256
347
  this.logined = true;
257
- console.log('getBaseUserInfo', res)
258
348
  }).catch(error => {
259
349
  console.log('getBaseUserInfo', error)
260
350
  });
@@ -262,16 +352,16 @@
262
352
  }
263
353
 
264
354
  this.logined = await this.jfbAuthorize.checkUserLogin(true, this, false);
265
- if(!this.logined) return;
266
-
355
+ if (!this.logined) return;
267
356
  jfbRootExec('getBaseUserInfo', {
268
357
  vm: this,
269
358
  data: {}
270
- }).then(res=>{
271
- this.userInfo = res || {};
272
- console.log('getBaseUserInfo',res)
273
- }).catch(error=>{
274
- console.log('getBaseUserInfo',error)
359
+ }).then(res => {
360
+ res = res || {};
361
+ if(res['head_url']) res['head_url'] = getServiceUrl(res['head_url'], 'size2')
362
+ this.userInfo = res;
363
+ }).catch(error => {
364
+ console.log('getBaseUserInfo', error)
275
365
  })
276
366
  },
277
367
  /**
@@ -283,7 +373,7 @@
283
373
  this.padding = getContainerPropsValue(container, 'content.padding', {});
284
374
  this.backgroundColor = getContainerPropsValue(container, 'content.backgroundColor', '#f8f8f8');
285
375
  this.textType = getContainerPropsValue(container, 'content.text_type', 'N');
286
- this.radius = getContainerPropsValue(container, 'content.radius', '10');
376
+ this.radius = getContainerPropsValue(container, 'content.radius', '20');
287
377
  this.isSetting = getContainerPropsValue(container, 'content.isSetting', 'N');
288
378
  // this.logoutName = getContainerPropsValue(container, 'content.logoutName', '[退出登录]');
289
379
  this.imageRadius = getContainerPropsValue(container, 'content.imageRadius', '50%');
@@ -310,18 +400,50 @@
310
400
  icon: "",
311
401
  iconName: "",
312
402
  });
313
- this.addressUrl = getContainerPropsValue(container, 'content.addressUrl', {value: ""}).value;
403
+ this.addressUrl = getContainerPropsValue(container, 'content.addressUrl', { value: "" }).value;
314
404
  this.bgImage = getServiceUrl(getContainerPropsValue(container, 'content.bgImage', '').url);
315
405
  this.rightContentBgColor = getContainerPropsValue(container, 'content.rightContentBgColor', 'transparent');
316
406
  // this.rightContentTextColor = getContainerPropsValue(container, 'content.rightContentTextColor', '');
317
407
  this.rightContentPadding = getContainerPropsValue(container, 'content.rightContentPadding', {});
318
408
  this.rightContentRadius = getContainerPropsValue(container, 'content.rightContentRadius', 0);
319
-
409
+ //plus
410
+ this.is_plus_site = getContainerPropsValue(container, 'content.is_plus_site', 'N');
411
+ this.is_plus_preview = getContainerPropsValue(container, 'content.is_plus_preview', 'N');
412
+ this.plusTopBackgroundColor = getContainerPropsValue(container, 'content.plusTopBackgroundColor', 'linear-gradient(270deg, rgba(250, 211, 140, 1) 0%, rgba(235, 185, 99, 1) 21.19%, rgba(232, 169, 66, 1) 100%)');
413
+ this.plusBottomBackgroundColor = getContainerPropsValue(container, 'content.plusBottomBackgroundColor', 'linear-gradient(90deg, #FFE4C2 0%, #FFF6E6 100%)');
414
+ this.normalTopBackgroundColor = getContainerPropsValue(container, 'content.normalTopBackgroundColor', '#fff');
415
+ this.normalBottomBackgroundColor = getContainerPropsValue(container, 'content.normalBottomBackgroundColor', 'linear-gradient(90deg, #FCF2DC 0%, #FAE7C4 100%)');
416
+ this.openVipPath = getContainerPropsValue(container, 'content.openVipPath', { value: "" }).value;
417
+ this.viewPath = getContainerPropsValue(container, 'content.viewPath', { value: "" }).value;
418
+ this.codePath = getContainerPropsValue(container, 'content.codePath', { value: "" }).value;
419
+ this.profilePath = getContainerPropsValue(container, 'content.profilePath', { value: "" }).value;
420
+ this.plusNickStyle = getContainerPropsValue(container, 'content.plusNickStyle', {});
421
+ this.normalNickStyle = getContainerPropsValue(container, 'content.normalNickStyle', {});
320
422
  },
321
- handleAddress(){
423
+ handleToPersonal(){
424
+ this.$xdUniHelper.navigateTo({
425
+ url: this.profilePath
426
+ })
427
+ },
428
+ handleAddress() {
322
429
  this.$xdUniHelper.navigateTo({
323
430
  url: this.addressUrl
324
431
  })
432
+ },
433
+ handleToOpen(){
434
+ this.$xdUniHelper.navigateTo({
435
+ url: this.openVipPath
436
+ })
437
+ },
438
+ handleToView(){
439
+ this.$xdUniHelper.navigateTo({
440
+ url: this.viewPath
441
+ })
442
+ },
443
+ handleToCode() {
444
+ this.$xdUniHelper.navigateTo({
445
+ url: this.codePath
446
+ })
325
447
  }
326
448
  }
327
449
  }
@@ -336,10 +458,12 @@
336
458
  flex-direction: column;
337
459
  justify-content: center;
338
460
  align-items: center;
339
- & > view:nth-child(2) {
461
+
462
+ &>view:nth-child(2) {
340
463
  margin-left: unit(15, rpx);
341
464
  }
342
- & > view:nth-child(3) {
465
+
466
+ &>view:nth-child(3) {
343
467
  width: 26rpx;
344
468
  height: 26rpx;
345
469
  margin-left: unit(15, rpx);
@@ -350,7 +474,7 @@
350
474
  }
351
475
 
352
476
  .jfb-base-user-info {
353
- &__body{
477
+ &__body {
354
478
  &-header {
355
479
  display: flex;
356
480
  align-items: center;
@@ -367,22 +491,25 @@
367
491
  width: 100%;
368
492
  flex-direction: column;
369
493
 
370
- & > view:last-child {
494
+ &>view:last-child {
371
495
  width: 100%;
372
496
  text-align: center;
373
497
  flex-shrink: 0;
374
498
  padding-top: unit(20, rpx);
375
499
  }
376
500
 
377
- & > image, .no-image {
501
+ &>image,
502
+ .no-image {
378
503
  margin-right: unit(0, rpx);
379
504
  }
380
505
  }
381
506
 
382
- & > image, .no-image {
507
+ &>image,
508
+ .no-image {
383
509
  width: unit(140, rpx);
384
510
  height: unit(140, rpx);
385
- margin-right: unit(30, rpx);;
511
+ margin-right: unit(30, rpx);
512
+ ;
386
513
  display: flex;
387
514
  justify-content: center;
388
515
  align-items: center;
@@ -394,33 +521,129 @@
394
521
  border: unit(4, rpx) solid #e5e5e5;
395
522
  }
396
523
 
397
- & > view {
524
+ &>view {
398
525
  color: #383838;
399
526
  font-size: unit(32, rpx);
400
527
  }
401
528
  }
402
529
 
403
- & > view:nth-child(2) {
530
+ &>view:nth-child(2) {
404
531
  flex-shrink: 0;
405
532
  }
406
533
  }
534
+
535
+ &-plus-header {
536
+ .is_normal_top {
537
+ color: #333333;
538
+
539
+ .jfb-base-user-info__body-plus-header-top-left-info-name {
540
+ &>view:nth-child(2) {
541
+ color: #615850;
542
+ background: #FFE6C4;
543
+ }
544
+ }
545
+ }
546
+
547
+ .is_vip_top {
548
+ color: #fff;
549
+
550
+ .jfb-base-user-info__body-plus-header-top-left-info-name {
551
+ &>view:nth-child(2) {
552
+ color: #FFEFD7;
553
+ background: linear-gradient(180deg, #615243 0%, #2D2824 100%);
554
+ }
555
+ }
556
+ }
557
+
558
+ .is_normal_bottom {
559
+ color: #653D11;
560
+ }
561
+
562
+ .is_vip_bottom {
563
+ color: #915714;
564
+ }
565
+
566
+ &-top {
567
+ display: flex;
568
+ justify-content: space-between;
569
+ padding: 40rpx;
570
+
571
+ &-left {
572
+ display: flex;
573
+ align-items: center;
574
+
575
+ &-info {
576
+ display: flex;
577
+ flex-direction: column;
578
+ font-size: 24rpx;
579
+
580
+ &-name {
581
+ display: flex;
582
+ align-items: center;
583
+ margin-bottom: 16rpx;
584
+
585
+ &>view:first-child {
586
+ margin-right: 8rpx;
587
+ font-size: 28rpx;
588
+ }
589
+
590
+ &>view:nth-child(2) {
591
+ border-radius: 40rpx;
592
+ padding: 4rpx 16rpx;
593
+
594
+ &>span {
595
+ font-weight: 700;
596
+ }
597
+ }
598
+ }
599
+ }
600
+
601
+ &>image,
602
+ .no-image {
603
+ width: 80rpx;
604
+ height: 80rpx;
605
+ border-radius: 50%;
606
+ margin-right: unit(30, rpx);
607
+ display: flex;
608
+ justify-content: center;
609
+ align-items: center;
610
+ flex-shrink: 0;
611
+ overflow: hidden;
612
+ }
613
+
614
+ .no-image {
615
+ border: unit(2, rpx) solid #C8C0B5;
616
+ }
617
+ }
618
+ }
619
+
620
+ &-bottom {
621
+ font-size: 24rpx;
622
+ display: flex;
623
+ justify-content: space-between;
624
+ padding: 20rpx 40rpx;
625
+ }
626
+ }
407
627
  }
408
628
 
409
629
  .logout {
410
630
  font-size: unit(24, rpx);
411
- .right_cont_i{
631
+
632
+ .right_cont_i {
412
633
  display: flex;
413
634
  align-items: center;
414
635
  font-size: 28rpx;
415
636
  color: inherit;
416
637
  font-weight: 400;
417
- .xd-font-icon{
418
- margin-right:8rpx;
638
+
639
+ .xd-font-icon {
640
+ margin-right: 8rpx;
419
641
  }
420
642
  }
421
- & > view {
643
+
644
+ &>view {
422
645
  cursor: pointer;
423
646
  }
424
647
  }
425
648
  }
426
- </style>
649
+ </style>