jufubao-base 1.0.232-beta2 → 1.0.232-beta4

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 (95) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseBalance/Api.js +58 -0
  3. package/src/components/JfbBaseBalance/Attr.js +48 -0
  4. package/src/components/JfbBaseBalance/JfbBaseBalance.vue +111 -0
  5. package/src/components/JfbBaseBalance/JfbBaseBalanceLess.less +79 -0
  6. package/src/components/JfbBaseBalance/JfbBaseBalanceMixin.js +30 -0
  7. package/src/components/JfbBaseBalance/Mock.js +13 -0
  8. package/src/components/JfbBaseCardDelay/JfbBaseCardDelay.vue +30 -29
  9. package/src/components/JfbBaseCodeOpenVip/Api.js +58 -0
  10. package/src/components/JfbBaseCodeOpenVip/Attr.js +250 -0
  11. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVip.vue +213 -0
  12. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVipLess.less +79 -0
  13. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVipMixin.js +30 -0
  14. package/src/components/JfbBaseCodeOpenVip/Mock.js +13 -0
  15. package/src/components/JfbBaseConsumpCode/Api.js +58 -0
  16. package/src/components/JfbBaseConsumpCode/Attr.js +48 -0
  17. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCode.vue +657 -0
  18. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCodeLess.less +79 -0
  19. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCodeMixin.js +30 -0
  20. package/src/components/JfbBaseConsumpCode/Mock.js +13 -0
  21. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +16 -7
  22. package/src/components/JfbBaseOpenVip/Api.js +58 -0
  23. package/src/components/JfbBaseOpenVip/Attr.js +250 -0
  24. package/src/components/JfbBaseOpenVip/JfbBaseOpenVip.vue +363 -0
  25. package/src/components/JfbBaseOpenVip/JfbBaseOpenVipLess.less +79 -0
  26. package/src/components/JfbBaseOpenVip/JfbBaseOpenVipMixin.js +30 -0
  27. package/src/components/JfbBaseOpenVip/Mock.js +13 -0
  28. package/src/components/JfbBaseOpenVip/XdVipList.vue +81 -0
  29. package/src/components/JfbBaseOpenVipCard/Api.js +58 -0
  30. package/src/components/JfbBaseOpenVipCard/Attr.js +48 -0
  31. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCard.vue +111 -0
  32. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCardLess.less +79 -0
  33. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCardMixin.js +30 -0
  34. package/src/components/JfbBaseOpenVipCard/Mock.js +13 -0
  35. package/src/components/JfbBaseOpenVipDetail/Api.js +58 -0
  36. package/src/components/JfbBaseOpenVipDetail/Attr.js +48 -0
  37. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetail.vue +140 -0
  38. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetailLess.less +79 -0
  39. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetailMixin.js +30 -0
  40. package/src/components/JfbBaseOpenVipDetail/Mock.js +13 -0
  41. package/src/components/JfbBasePersonalData/Api.js +58 -0
  42. package/src/components/JfbBasePersonalData/Attr.js +48 -0
  43. package/src/components/JfbBasePersonalData/JfbBasePersonalData.vue +111 -0
  44. package/src/components/JfbBasePersonalData/JfbBasePersonalDataLess.less +79 -0
  45. package/src/components/JfbBasePersonalData/JfbBasePersonalDataMixin.js +30 -0
  46. package/src/components/JfbBasePersonalData/Mock.js +13 -0
  47. package/src/components/JfbBasePointsCard/Api.js +58 -0
  48. package/src/components/JfbBasePointsCard/Attr.js +223 -0
  49. package/src/components/JfbBasePointsCard/JfbBasePointsCard.vue +291 -0
  50. package/src/components/JfbBasePointsCard/JfbBasePointsCardLess.less +79 -0
  51. package/src/components/JfbBasePointsCard/JfbBasePointsCardMixin.js +30 -0
  52. package/src/components/JfbBasePointsCard/Mock.js +13 -0
  53. package/src/components/JfbBasePointsDetail/Api.js +23 -0
  54. package/src/components/JfbBasePointsDetail/Attr.js +304 -0
  55. package/src/components/JfbBasePointsDetail/JfbBasePointsDetail.vue +221 -0
  56. package/src/components/JfbBasePointsDetail/JfbBasePointsDetailLess.less +79 -0
  57. package/src/components/JfbBasePointsDetail/JfbBasePointsDetailMixin.js +30 -0
  58. package/src/components/JfbBasePointsDetail/Mock.js +13 -0
  59. package/src/components/JfbBaseRechargeOrder/Api.js +3 -13
  60. package/src/components/JfbBaseRechargeOrder/JfbBaseRechargeOrder.vue +16 -34
  61. package/src/components/JfbBaseSavingDetail/Api.js +58 -0
  62. package/src/components/JfbBaseSavingDetail/Attr.js +48 -0
  63. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetail.vue +111 -0
  64. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetailLess.less +79 -0
  65. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetailMixin.js +30 -0
  66. package/src/components/JfbBaseSavingDetail/Mock.js +13 -0
  67. package/src/components/JfbBaseShare/Api.js +58 -0
  68. package/src/components/JfbBaseShare/Attr.js +48 -0
  69. package/src/components/JfbBaseShare/JfbBaseShare.vue +217 -0
  70. package/src/components/JfbBaseShare/JfbBaseShareLess.less +79 -0
  71. package/src/components/JfbBaseShare/JfbBaseShareMixin.js +30 -0
  72. package/src/components/JfbBaseShare/Mock.js +13 -0
  73. package/src/components/JfbBaseTfkSearch/Attr.js +8 -82
  74. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +13 -5
  75. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +1 -1
  76. package/src/components/JfbBaseUserInfo/Attr.js +102 -10
  77. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +301 -114
  78. package/src/components/JfbBaseWithDrawAgain/Api.js +58 -0
  79. package/src/components/JfbBaseWithDrawAgain/Attr.js +48 -0
  80. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgain.vue +111 -0
  81. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgainLess.less +79 -0
  82. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgainMixin.js +30 -0
  83. package/src/components/JfbBaseWithDrawAgain/Mock.js +13 -0
  84. package/src/components/JfbBaseWithDrawRecord/Api.js +58 -0
  85. package/src/components/JfbBaseWithDrawRecord/Attr.js +48 -0
  86. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecord.vue +111 -0
  87. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecordLess.less +79 -0
  88. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecordMixin.js +30 -0
  89. package/src/components/JfbBaseWithDrawRecord/Mock.js +13 -0
  90. package/src/components/JfbBaseWithdraw/Api.js +58 -0
  91. package/src/components/JfbBaseWithdraw/Attr.js +48 -0
  92. package/src/components/JfbBaseWithdraw/JfbBaseWithdraw.vue +111 -0
  93. package/src/components/JfbBaseWithdraw/JfbBaseWithdrawLess.less +79 -0
  94. package/src/components/JfbBaseWithdraw/JfbBaseWithdrawMixin.js +30 -0
  95. package/src/components/JfbBaseWithdraw/Mock.js +13 -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 :style="{border: `1px solid ${imageColor}`, borderRadius:imageRadius}"
17
+ v-if="userInfo['head_url']" :src="userInfo['head_url']"></image>
18
+ <view :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 :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>{{userInfo|getName}} </view>
28
+ <view v-if="is_vip==='Y'"><span>PLUS</span>会员</view>
29
+ <view v-else>普通用户</view>
30
+ </view>
31
+ <view>138****5454</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 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,64 @@
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
193
 
140
- nickNameStyle(){
194
+ nickNameStyle() {
141
195
  return {
142
196
  fontSize: this.nickStyle.fontSize || '32rpx',
143
- color: `${this.nickStyle.color || '#333'}`,
197
+ color: `${this.nickStyle.color ||'#333'}`,
144
198
  fontWeight: `${this.nickStyle.fontWeight || 'normal'}`,
145
199
  }
146
200
  },
147
- logoutStyleComp(){
201
+ logoutStyleComp() {
148
202
  return {
149
203
  fontSize: this.logoutStyle.fontSize || '20rpx',
150
204
  color: `${this.logoutStyle.color || '#333'}`,
151
205
  fontWeight: `${this.logoutStyle.fontWeight || 'normal'}`,
152
206
  }
153
207
  },
154
- logoutBtnStyle(){
208
+ logoutBtnStyle() {
155
209
  let padding = `${this.checkValue(this.rightContentPadding.top, 20)}rpx`;
156
210
  padding = `${padding} ${this.checkValue(this.rightContentPadding.right, 20)}rpx`;
157
211
  padding = `${padding} ${this.checkValue(this.rightContentPadding.bottom, 20)}rpx`;
@@ -164,8 +218,8 @@
164
218
  }
165
219
  }
166
220
  },
167
- filters:{
168
- getName(val){
221
+ filters: {
222
+ getName(val) {
169
223
  return val.nickname || val['real_name'] || val['user_name'] || val['phone_number'];
170
224
  }
171
225
  },
@@ -173,9 +227,9 @@
173
227
  return {
174
228
  logined: false,
175
229
  userInfo: null,
176
- isSetting:'N',
230
+ isSetting: 'N',
177
231
  // logoutName:'[退出登录]',
178
- imageRadius:'50%',
232
+ imageRadius: '50%',
179
233
 
180
234
  //基础
181
235
  imageColor: '#333',
@@ -184,13 +238,13 @@
184
238
  radius: 0,
185
239
 
186
240
  //投影
187
- contShadow:{},
241
+ contShadow: {},
188
242
  is_shadow: 'N',
189
243
  is_shadow_bg: 0,
190
244
  is_shadow_w: 0,
191
245
 
192
246
  //边框
193
- contBorder:{},
247
+ contBorder: {},
194
248
  is_border: 'N',
195
249
  is_border_w: 0,
196
250
  is_border_c: '',
@@ -198,47 +252,61 @@
198
252
  //其他
199
253
  margin: {},
200
254
  padding: {},
201
- nickStyle:{},
202
- logoutStyle:{},
255
+ nickStyle: {},
256
+ logoutStyle: {},
203
257
  rightContent: null,
204
258
  addressUrl: '',
205
259
  bgImage: "",
206
260
  rightContentBgColor: "",
207
261
  // rightContentTextColor: "",
208
262
  rightContentPadding: "",
209
- rightContentRadius: 0
263
+ rightContentRadius: 0,
264
+ is_plus_site: '',
265
+ is_vip: 'N',
266
+ is_plus_preview: 'N', //预览vip样式
267
+ openVipPath: '',
268
+ viewPath: '',
269
+ plusTopBackgroundColor: '',
270
+ plusBottomBackgroundColor: '',
271
+ normalTopBackgroundColor: '',
272
+ normalBottomBackgroundColor: '',
210
273
  }
211
274
  },
212
275
  watch: {
213
- container(value,oldValue) {
214
- if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
276
+ container(value, oldValue) {
277
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
215
278
  if (this.$configProject['isPreview']) this.init(value)
279
+ },
280
+ is_plus_preview() {
281
+ if (this.$configProject['isPreview']) {
282
+ this.is_vip = this.is_plus_preview
283
+ }
216
284
  }
217
285
  },
218
286
  created() {
219
287
  this.init(this.container);
220
288
  },
221
289
  methods: {
222
- handleToLink(){
290
+ handleToLink() {
223
291
  this.$xdUniHelper.navigateTo({
224
292
  url: '/pages/settings/settings'
225
293
  })
226
294
  },
227
295
 
228
- async handleLogout(){
296
+ async handleLogout() {
229
297
  // #ifdef H5
230
298
  if (this.$configProject.isPreview) return;
231
299
  // #endif
232
300
 
233
301
  if (this.jfbAuthorize !== null) {
234
302
  this.$xdShowLoading({});
235
- store.dispatch('logout').then(res=>{
303
+ store.dispatch('logout').then(res => {
236
304
  let url = this.$configProject.entry || `/${this.projectAttr.deploy_dir}/`;
237
305
  this.$xdHideLoading();
238
306
  this.jfbAuthorize.removeAllCardToken();
239
307
  this.jfbAuthorize.removeAllToken()
240
308
  this.jfbAuthorize.jumpToUserLogin(this, false, url);
241
- }).catch(err=>{
309
+ }).catch(err => {
242
310
  console.error(err);
243
311
  })
244
312
  }
@@ -247,7 +315,7 @@
247
315
  async onJfbLoad(options) {
248
316
 
249
317
  //预览模式
250
- if(this.$configProject.isPreview) {
318
+ if (this.$configProject.isPreview) {
251
319
  jfbRootExec('getBaseUserInfo', {
252
320
  vm: this,
253
321
  data: {}
@@ -262,16 +330,16 @@
262
330
  }
263
331
 
264
332
  this.logined = await this.jfbAuthorize.checkUserLogin(true, this, false);
265
- if(!this.logined) return;
333
+ if (!this.logined) return;
266
334
 
267
335
  jfbRootExec('getBaseUserInfo', {
268
336
  vm: this,
269
337
  data: {}
270
- }).then(res=>{
338
+ }).then(res => {
271
339
  this.userInfo = res || {};
272
- console.log('getBaseUserInfo',res)
273
- }).catch(error=>{
274
- console.log('getBaseUserInfo',error)
340
+ console.log('getBaseUserInfo', res)
341
+ }).catch(error => {
342
+ console.log('getBaseUserInfo', error)
275
343
  })
276
344
  },
277
345
  /**
@@ -283,7 +351,7 @@
283
351
  this.padding = getContainerPropsValue(container, 'content.padding', {});
284
352
  this.backgroundColor = getContainerPropsValue(container, 'content.backgroundColor', '#f8f8f8');
285
353
  this.textType = getContainerPropsValue(container, 'content.text_type', 'N');
286
- this.radius = getContainerPropsValue(container, 'content.radius', '10');
354
+ this.radius = getContainerPropsValue(container, 'content.radius', '20');
287
355
  this.isSetting = getContainerPropsValue(container, 'content.isSetting', 'N');
288
356
  // this.logoutName = getContainerPropsValue(container, 'content.logoutName', '[退出登录]');
289
357
  this.imageRadius = getContainerPropsValue(container, 'content.imageRadius', '50%');
@@ -310,18 +378,36 @@
310
378
  icon: "",
311
379
  iconName: "",
312
380
  });
313
- this.addressUrl = getContainerPropsValue(container, 'content.addressUrl', {value: ""}).value;
381
+ this.addressUrl = getContainerPropsValue(container, 'content.addressUrl', { value: "" }).value;
314
382
  this.bgImage = getServiceUrl(getContainerPropsValue(container, 'content.bgImage', '').url);
315
383
  this.rightContentBgColor = getContainerPropsValue(container, 'content.rightContentBgColor', 'transparent');
316
384
  // this.rightContentTextColor = getContainerPropsValue(container, 'content.rightContentTextColor', '');
317
385
  this.rightContentPadding = getContainerPropsValue(container, 'content.rightContentPadding', {});
318
386
  this.rightContentRadius = getContainerPropsValue(container, 'content.rightContentRadius', 0);
319
-
387
+ //plus
388
+ this.is_plus_site = getContainerPropsValue(container, 'content.is_plus_site', 'N');
389
+ this.is_plus_preview = getContainerPropsValue(container, 'content.is_plus_preview', 'N');
390
+ 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%)');
391
+ this.plusBottomBackgroundColor = getContainerPropsValue(container, 'content.plusBottomBackgroundColor', 'linear-gradient(90deg, #FFE4C2 0%, #FFF6E6 100%)');
392
+ this.normalTopBackgroundColor = getContainerPropsValue(container, 'content.normalTopBackgroundColor', '#fff');
393
+ this.normalBottomBackgroundColor = getContainerPropsValue(container, 'content.normalBottomBackgroundColor', 'linear-gradient(90deg, #FCF2DC 0%, #FAE7C4 100%)');
394
+ this.openVipPath = getContainerPropsValue(container, 'content.openVipPath', { value: "" }).value;
395
+ this.viewPath = getContainerPropsValue(container, 'content.viewPath', { value: "" }).value;
320
396
  },
321
- handleAddress(){
397
+ handleAddress() {
322
398
  this.$xdUniHelper.navigateTo({
323
399
  url: this.addressUrl
324
400
  })
401
+ },
402
+ handleToOpen(){
403
+ this.$xdUniHelper.navigateTo({
404
+ url: this.openVipPath
405
+ })
406
+ },
407
+ handleToView(){
408
+ this.$xdUniHelper.navigateTo({
409
+ url: this.viewPath
410
+ })
325
411
  }
326
412
  }
327
413
  }
@@ -336,10 +422,12 @@
336
422
  flex-direction: column;
337
423
  justify-content: center;
338
424
  align-items: center;
339
- & > view:nth-child(2) {
425
+
426
+ &>view:nth-child(2) {
340
427
  margin-left: unit(15, rpx);
341
428
  }
342
- & > view:nth-child(3) {
429
+
430
+ &>view:nth-child(3) {
343
431
  width: 26rpx;
344
432
  height: 26rpx;
345
433
  margin-left: unit(15, rpx);
@@ -350,7 +438,7 @@
350
438
  }
351
439
 
352
440
  .jfb-base-user-info {
353
- &__body{
441
+ &__body {
354
442
  &-header {
355
443
  display: flex;
356
444
  align-items: center;
@@ -367,22 +455,25 @@
367
455
  width: 100%;
368
456
  flex-direction: column;
369
457
 
370
- & > view:last-child {
458
+ &>view:last-child {
371
459
  width: 100%;
372
460
  text-align: center;
373
461
  flex-shrink: 0;
374
462
  padding-top: unit(20, rpx);
375
463
  }
376
464
 
377
- & > image, .no-image {
465
+ &>image,
466
+ .no-image {
378
467
  margin-right: unit(0, rpx);
379
468
  }
380
469
  }
381
470
 
382
- & > image, .no-image {
471
+ &>image,
472
+ .no-image {
383
473
  width: unit(140, rpx);
384
474
  height: unit(140, rpx);
385
- margin-right: unit(30, rpx);;
475
+ margin-right: unit(30, rpx);
476
+ ;
386
477
  display: flex;
387
478
  justify-content: center;
388
479
  align-items: center;
@@ -394,33 +485,129 @@
394
485
  border: unit(4, rpx) solid #e5e5e5;
395
486
  }
396
487
 
397
- & > view {
488
+ &>view {
398
489
  color: #383838;
399
490
  font-size: unit(32, rpx);
400
491
  }
401
492
  }
402
493
 
403
- & > view:nth-child(2) {
494
+ &>view:nth-child(2) {
404
495
  flex-shrink: 0;
405
496
  }
406
497
  }
498
+
499
+ &-plus-header {
500
+ .is_normal_top {
501
+ color: #333333;
502
+
503
+ .jfb-base-user-info__body-plus-header-top-left-info-name {
504
+ &>view:nth-child(2) {
505
+ color: #615850;
506
+ background: #FFE6C4;
507
+ }
508
+ }
509
+ }
510
+
511
+ .is_vip_top {
512
+ color: #fff;
513
+
514
+ .jfb-base-user-info__body-plus-header-top-left-info-name {
515
+ &>view:nth-child(2) {
516
+ color: #FFEFD7;
517
+ background: linear-gradient(180deg, #615243 0%, #2D2824 100%);
518
+ }
519
+ }
520
+ }
521
+
522
+ .is_normal_bottom {
523
+ color: #653D11;
524
+ }
525
+
526
+ .is_vip_bottom {
527
+ color: #915714;
528
+ }
529
+
530
+ &-top {
531
+ display: flex;
532
+ justify-content: space-between;
533
+ padding: 40rpx;
534
+
535
+ &-left {
536
+ display: flex;
537
+ align-items: center;
538
+
539
+ &-info {
540
+ display: flex;
541
+ flex-direction: column;
542
+ font-size: 24rpx;
543
+
544
+ &-name {
545
+ display: flex;
546
+ align-items: center;
547
+ margin-bottom: 16rpx;
548
+
549
+ &>view:first-child {
550
+ margin-right: 8rpx;
551
+ font-size: 28rpx;
552
+ }
553
+
554
+ &>view:nth-child(2) {
555
+ border-radius: 40rpx;
556
+ padding: 4rpx 16rpx;
557
+
558
+ &>span {
559
+ font-weight: 700;
560
+ }
561
+ }
562
+ }
563
+ }
564
+
565
+ &>image,
566
+ .no-image {
567
+ width: 80rpx;
568
+ height: 80rpx;
569
+ border-radius: 50%;
570
+ margin-right: unit(30, rpx);
571
+ display: flex;
572
+ justify-content: center;
573
+ align-items: center;
574
+ flex-shrink: 0;
575
+ overflow: hidden;
576
+ }
577
+
578
+ .no-image {
579
+ border: unit(2, rpx) solid #C8C0B5;
580
+ }
581
+ }
582
+ }
583
+
584
+ &-bottom {
585
+ font-size: 24rpx;
586
+ display: flex;
587
+ justify-content: space-between;
588
+ padding: 20rpx 40rpx;
589
+ }
590
+ }
407
591
  }
408
592
 
409
593
  .logout {
410
594
  font-size: unit(24, rpx);
411
- .right_cont_i{
595
+
596
+ .right_cont_i {
412
597
  display: flex;
413
598
  align-items: center;
414
599
  font-size: 28rpx;
415
600
  color: inherit;
416
601
  font-weight: 400;
417
- .xd-font-icon{
418
- margin-right:8rpx;
602
+
603
+ .xd-font-icon {
604
+ margin-right: 8rpx;
419
605
  }
420
606
  }
421
- & > view {
607
+
608
+ &>view {
422
609
  cursor: pointer;
423
610
  }
424
611
  }
425
612
  }
426
- </style>
613
+ </style>