jufubao-base 1.0.237-beta1 → 1.0.237-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 (104) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseBalance/Api.js +46 -0
  3. package/src/components/JfbBaseBalance/Attr.js +316 -0
  4. package/src/components/JfbBaseBalance/JfbBaseBalance.vue +331 -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 +9 -0
  8. package/src/components/JfbBaseCodeOpenVip/Api.js +35 -0
  9. package/src/components/JfbBaseCodeOpenVip/Attr.js +281 -0
  10. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVip.vue +251 -0
  11. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVipLess.less +79 -0
  12. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVipMixin.js +30 -0
  13. package/src/components/JfbBaseCodeOpenVip/Mock.js +13 -0
  14. package/src/components/JfbBaseConsumpCode/Api.js +133 -0
  15. package/src/components/JfbBaseConsumpCode/Attr.js +61 -0
  16. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCode.vue +961 -0
  17. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCodeLess.less +79 -0
  18. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCodeMixin.js +30 -0
  19. package/src/components/JfbBaseConsumpCode/Mock.js +22 -0
  20. package/src/components/JfbBaseNoticeDialog/Api.js +1 -1
  21. package/src/components/JfbBaseNoticeDialog/Attr.js +26 -0
  22. package/src/components/JfbBaseNoticeDialog/JfbBaseNoticeDialog.vue +25 -6
  23. package/src/components/JfbBaseOpenVip/Api.js +39 -0
  24. package/src/components/JfbBaseOpenVip/Attr.js +290 -0
  25. package/src/components/JfbBaseOpenVip/JfbBaseOpenVip.vue +430 -0
  26. package/src/components/JfbBaseOpenVip/JfbBaseOpenVipLess.less +79 -0
  27. package/src/components/JfbBaseOpenVip/JfbBaseOpenVipMixin.js +30 -0
  28. package/src/components/JfbBaseOpenVip/Mock.js +7 -0
  29. package/src/components/JfbBaseOpenVip/XdVipList.vue +125 -0
  30. package/src/components/JfbBaseOpenVipCard/Api.js +58 -0
  31. package/src/components/JfbBaseOpenVipCard/Attr.js +48 -0
  32. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCard.vue +111 -0
  33. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCardLess.less +79 -0
  34. package/src/components/JfbBaseOpenVipCard/JfbBaseOpenVipCardMixin.js +30 -0
  35. package/src/components/JfbBaseOpenVipCard/Mock.js +13 -0
  36. package/src/components/JfbBaseOpenVipDetail/Api.js +35 -0
  37. package/src/components/JfbBaseOpenVipDetail/Attr.js +37 -0
  38. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetail.vue +223 -0
  39. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetailLess.less +79 -0
  40. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetailMixin.js +30 -0
  41. package/src/components/JfbBaseOpenVipDetail/Mock.js +13 -0
  42. package/src/components/JfbBasePersonalData/Api.js +26 -0
  43. package/src/components/JfbBasePersonalData/Attr.js +12 -0
  44. package/src/components/JfbBasePersonalData/JfbBasePersonalData.vue +198 -0
  45. package/src/components/JfbBasePersonalData/JfbBasePersonalDataLess.less +79 -0
  46. package/src/components/JfbBasePersonalData/JfbBasePersonalDataMixin.js +30 -0
  47. package/src/components/JfbBasePersonalData/Mock.js +13 -0
  48. package/src/components/JfbBasePointsCard/Api.js +18 -0
  49. package/src/components/JfbBasePointsCard/Attr.js +187 -0
  50. package/src/components/JfbBasePointsCard/JfbBasePointsCard.vue +208 -0
  51. package/src/components/JfbBasePointsCard/JfbBasePointsCardLess.less +79 -0
  52. package/src/components/JfbBasePointsCard/JfbBasePointsCardMixin.js +30 -0
  53. package/src/components/JfbBasePointsCard/Mock.js +5 -0
  54. package/src/components/JfbBasePointsDetail/Api.js +48 -0
  55. package/src/components/JfbBasePointsDetail/Attr.js +304 -0
  56. package/src/components/JfbBasePointsDetail/JfbBasePointsDetail.vue +267 -0
  57. package/src/components/JfbBasePointsDetail/JfbBasePointsDetailLess.less +79 -0
  58. package/src/components/JfbBasePointsDetail/JfbBasePointsDetailMixin.js +30 -0
  59. package/src/components/JfbBasePointsDetail/Mock.js +6 -0
  60. package/src/components/JfbBasePosterGroup/Api.js +22 -0
  61. package/src/components/JfbBasePosterGroup/Attr.js +146 -0
  62. package/src/components/JfbBasePosterGroup/JfbBasePosterGroup.vue +265 -0
  63. package/src/components/JfbBasePosterGroup/JfbBasePosterGroupLess.less +79 -0
  64. package/src/components/JfbBasePosterGroup/JfbBasePosterGroupMixin.js +30 -0
  65. package/src/components/JfbBasePosterGroup/Mock.js +13 -0
  66. package/src/components/JfbBaseSavingDetail/Api.js +41 -0
  67. package/src/components/JfbBaseSavingDetail/Attr.js +70 -0
  68. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetail.vue +679 -0
  69. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetailLess.less +79 -0
  70. package/src/components/JfbBaseSavingDetail/JfbBaseSavingDetailMixin.js +30 -0
  71. package/src/components/JfbBaseSavingDetail/Mock.js +10 -0
  72. package/src/components/JfbBaseSavingDetail/components/echarts.min.js +26 -0
  73. package/src/components/JfbBaseSavingDetail/components/echarts.vue +254 -0
  74. package/src/components/JfbBaseSavingDetail/components/wx-canvas.js +105 -0
  75. package/src/components/JfbBaseShare/Api.js +20 -0
  76. package/src/components/JfbBaseShare/Attr.js +14 -0
  77. package/src/components/JfbBaseShare/JfbBaseShare.vue +270 -0
  78. package/src/components/JfbBaseShare/JfbBaseShareLess.less +79 -0
  79. package/src/components/JfbBaseShare/JfbBaseShareMixin.js +30 -0
  80. package/src/components/JfbBaseShare/Mock.js +16 -0
  81. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +11 -22
  82. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +8 -1
  83. package/src/components/JfbBaseTfkSearch/Mock.js +51 -3
  84. package/src/components/JfbBaseTfkSearch/listMixins.js +1 -1
  85. package/src/components/JfbBaseUserInfo/Attr.js +114 -10
  86. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +312 -114
  87. package/src/components/JfbBaseWithDrawAgain/Api.js +41 -0
  88. package/src/components/JfbBaseWithDrawAgain/Attr.js +92 -0
  89. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgain.vue +334 -0
  90. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgainLess.less +79 -0
  91. package/src/components/JfbBaseWithDrawAgain/JfbBaseWithDrawAgainMixin.js +30 -0
  92. package/src/components/JfbBaseWithDrawAgain/Mock.js +10 -0
  93. package/src/components/JfbBaseWithDrawRecord/Api.js +19 -0
  94. package/src/components/JfbBaseWithDrawRecord/Attr.js +79 -0
  95. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecord.vue +233 -0
  96. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecordLess.less +79 -0
  97. package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecordMixin.js +30 -0
  98. package/src/components/JfbBaseWithDrawRecord/Mock.js +7 -0
  99. package/src/components/JfbBaseWithdraw/Api.js +48 -0
  100. package/src/components/JfbBaseWithdraw/Attr.js +328 -0
  101. package/src/components/JfbBaseWithdraw/JfbBaseWithdraw.vue +245 -0
  102. package/src/components/JfbBaseWithdraw/JfbBaseWithdrawLess.less +79 -0
  103. package/src/components/JfbBaseWithdraw/JfbBaseWithdrawMixin.js +30 -0
  104. package/src/components/JfbBaseWithdraw/Mock.js +7 -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 :style="[nickNameStyle]">{{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,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,66 @@
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: '',
273
+ codePath: ''
210
274
  }
211
275
  },
212
276
  watch: {
213
- container(value,oldValue) {
214
- if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
277
+ container(value, oldValue) {
278
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
215
279
  if (this.$configProject['isPreview']) this.init(value)
280
+ },
281
+ is_plus_preview() {
282
+ if (this.$configProject['isPreview']) {
283
+ this.is_vip = this.is_plus_preview
284
+ }
216
285
  }
217
286
  },
218
287
  created() {
288
+ console.log(this.getTokenForKey('user_level'),'user_leveluser_level');
289
+ console.log(this.projectAttr.headers['X-Site-Group'],'this.$configProject');
290
+ this.is_plus_site = this.projectAttr.headers['X-Site-Group']==="vip";
291
+ this.is_vip = this.getTokenForKey('user_level')&&this.getTokenForKey('user_level')==='VIP'?'Y':'N'
219
292
  this.init(this.container);
220
293
  },
221
294
  methods: {
222
- handleToLink(){
295
+ handleToLink() {
223
296
  this.$xdUniHelper.navigateTo({
224
297
  url: '/pages/settings/settings'
225
298
  })
226
299
  },
227
300
 
228
- async handleLogout(){
301
+ async handleLogout() {
229
302
  // #ifdef H5
230
303
  if (this.$configProject.isPreview) return;
231
304
  // #endif
232
305
 
233
306
  if (this.jfbAuthorize !== null) {
234
307
  this.$xdShowLoading({});
235
- store.dispatch('logout').then(res=>{
308
+ store.dispatch('logout').then(res => {
236
309
  let url = this.$configProject.entry || `/${this.projectAttr.deploy_dir}/`;
237
310
  this.$xdHideLoading();
238
311
  this.jfbAuthorize.removeAllCardToken();
239
312
  this.jfbAuthorize.removeAllToken()
240
313
  this.jfbAuthorize.jumpToUserLogin(this, false, url);
241
- }).catch(err=>{
314
+ }).catch(err => {
242
315
  console.error(err);
243
316
  })
244
317
  }
@@ -247,7 +320,7 @@
247
320
  async onJfbLoad(options) {
248
321
 
249
322
  //预览模式
250
- if(this.$configProject.isPreview) {
323
+ if (this.$configProject.isPreview) {
251
324
  jfbRootExec('getBaseUserInfo', {
252
325
  vm: this,
253
326
  data: {}
@@ -262,16 +335,16 @@
262
335
  }
263
336
 
264
337
  this.logined = await this.jfbAuthorize.checkUserLogin(true, this, false);
265
- if(!this.logined) return;
338
+ if (!this.logined) return;
266
339
 
267
340
  jfbRootExec('getBaseUserInfo', {
268
341
  vm: this,
269
342
  data: {}
270
- }).then(res=>{
343
+ }).then(res => {
271
344
  this.userInfo = res || {};
272
- console.log('getBaseUserInfo',res)
273
- }).catch(error=>{
274
- console.log('getBaseUserInfo',error)
345
+ console.log('getBaseUserInfo', res)
346
+ }).catch(error => {
347
+ console.log('getBaseUserInfo', error)
275
348
  })
276
349
  },
277
350
  /**
@@ -283,7 +356,7 @@
283
356
  this.padding = getContainerPropsValue(container, 'content.padding', {});
284
357
  this.backgroundColor = getContainerPropsValue(container, 'content.backgroundColor', '#f8f8f8');
285
358
  this.textType = getContainerPropsValue(container, 'content.text_type', 'N');
286
- this.radius = getContainerPropsValue(container, 'content.radius', '10');
359
+ this.radius = getContainerPropsValue(container, 'content.radius', '20');
287
360
  this.isSetting = getContainerPropsValue(container, 'content.isSetting', 'N');
288
361
  // this.logoutName = getContainerPropsValue(container, 'content.logoutName', '[退出登录]');
289
362
  this.imageRadius = getContainerPropsValue(container, 'content.imageRadius', '50%');
@@ -310,18 +383,42 @@
310
383
  icon: "",
311
384
  iconName: "",
312
385
  });
313
- this.addressUrl = getContainerPropsValue(container, 'content.addressUrl', {value: ""}).value;
386
+ this.addressUrl = getContainerPropsValue(container, 'content.addressUrl', { value: "" }).value;
314
387
  this.bgImage = getServiceUrl(getContainerPropsValue(container, 'content.bgImage', '').url);
315
388
  this.rightContentBgColor = getContainerPropsValue(container, 'content.rightContentBgColor', 'transparent');
316
389
  // this.rightContentTextColor = getContainerPropsValue(container, 'content.rightContentTextColor', '');
317
390
  this.rightContentPadding = getContainerPropsValue(container, 'content.rightContentPadding', {});
318
391
  this.rightContentRadius = getContainerPropsValue(container, 'content.rightContentRadius', 0);
319
-
392
+ //plus
393
+ this.is_plus_site = getContainerPropsValue(container, 'content.is_plus_site', 'N');
394
+ this.is_plus_preview = getContainerPropsValue(container, 'content.is_plus_preview', 'N');
395
+ 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%)');
396
+ this.plusBottomBackgroundColor = getContainerPropsValue(container, 'content.plusBottomBackgroundColor', 'linear-gradient(90deg, #FFE4C2 0%, #FFF6E6 100%)');
397
+ this.normalTopBackgroundColor = getContainerPropsValue(container, 'content.normalTopBackgroundColor', '#fff');
398
+ this.normalBottomBackgroundColor = getContainerPropsValue(container, 'content.normalBottomBackgroundColor', 'linear-gradient(90deg, #FCF2DC 0%, #FAE7C4 100%)');
399
+ this.openVipPath = getContainerPropsValue(container, 'content.openVipPath', { value: "" }).value;
400
+ this.viewPath = getContainerPropsValue(container, 'content.viewPath', { value: "" }).value;
401
+ this.codePath = getContainerPropsValue(container, 'content.codePath', { value: "" }).value;
320
402
  },
321
- handleAddress(){
403
+ handleAddress() {
322
404
  this.$xdUniHelper.navigateTo({
323
405
  url: this.addressUrl
324
406
  })
407
+ },
408
+ handleToOpen(){
409
+ this.$xdUniHelper.navigateTo({
410
+ url: this.openVipPath
411
+ })
412
+ },
413
+ handleToView(){
414
+ this.$xdUniHelper.navigateTo({
415
+ url: this.viewPath
416
+ })
417
+ },
418
+ handleToCode() {
419
+ this.$xdUniHelper.navigateTo({
420
+ url: this.codePath
421
+ })
325
422
  }
326
423
  }
327
424
  }
@@ -336,10 +433,12 @@
336
433
  flex-direction: column;
337
434
  justify-content: center;
338
435
  align-items: center;
339
- & > view:nth-child(2) {
436
+
437
+ &>view:nth-child(2) {
340
438
  margin-left: unit(15, rpx);
341
439
  }
342
- & > view:nth-child(3) {
440
+
441
+ &>view:nth-child(3) {
343
442
  width: 26rpx;
344
443
  height: 26rpx;
345
444
  margin-left: unit(15, rpx);
@@ -350,7 +449,7 @@
350
449
  }
351
450
 
352
451
  .jfb-base-user-info {
353
- &__body{
452
+ &__body {
354
453
  &-header {
355
454
  display: flex;
356
455
  align-items: center;
@@ -367,22 +466,25 @@
367
466
  width: 100%;
368
467
  flex-direction: column;
369
468
 
370
- & > view:last-child {
469
+ &>view:last-child {
371
470
  width: 100%;
372
471
  text-align: center;
373
472
  flex-shrink: 0;
374
473
  padding-top: unit(20, rpx);
375
474
  }
376
475
 
377
- & > image, .no-image {
476
+ &>image,
477
+ .no-image {
378
478
  margin-right: unit(0, rpx);
379
479
  }
380
480
  }
381
481
 
382
- & > image, .no-image {
482
+ &>image,
483
+ .no-image {
383
484
  width: unit(140, rpx);
384
485
  height: unit(140, rpx);
385
- margin-right: unit(30, rpx);;
486
+ margin-right: unit(30, rpx);
487
+ ;
386
488
  display: flex;
387
489
  justify-content: center;
388
490
  align-items: center;
@@ -394,33 +496,129 @@
394
496
  border: unit(4, rpx) solid #e5e5e5;
395
497
  }
396
498
 
397
- & > view {
499
+ &>view {
398
500
  color: #383838;
399
501
  font-size: unit(32, rpx);
400
502
  }
401
503
  }
402
504
 
403
- & > view:nth-child(2) {
505
+ &>view:nth-child(2) {
404
506
  flex-shrink: 0;
405
507
  }
406
508
  }
509
+
510
+ &-plus-header {
511
+ .is_normal_top {
512
+ color: #333333;
513
+
514
+ .jfb-base-user-info__body-plus-header-top-left-info-name {
515
+ &>view:nth-child(2) {
516
+ color: #615850;
517
+ background: #FFE6C4;
518
+ }
519
+ }
520
+ }
521
+
522
+ .is_vip_top {
523
+ color: #fff;
524
+
525
+ .jfb-base-user-info__body-plus-header-top-left-info-name {
526
+ &>view:nth-child(2) {
527
+ color: #FFEFD7;
528
+ background: linear-gradient(180deg, #615243 0%, #2D2824 100%);
529
+ }
530
+ }
531
+ }
532
+
533
+ .is_normal_bottom {
534
+ color: #653D11;
535
+ }
536
+
537
+ .is_vip_bottom {
538
+ color: #915714;
539
+ }
540
+
541
+ &-top {
542
+ display: flex;
543
+ justify-content: space-between;
544
+ padding: 40rpx;
545
+
546
+ &-left {
547
+ display: flex;
548
+ align-items: center;
549
+
550
+ &-info {
551
+ display: flex;
552
+ flex-direction: column;
553
+ font-size: 24rpx;
554
+
555
+ &-name {
556
+ display: flex;
557
+ align-items: center;
558
+ margin-bottom: 16rpx;
559
+
560
+ &>view:first-child {
561
+ margin-right: 8rpx;
562
+ font-size: 28rpx;
563
+ }
564
+
565
+ &>view:nth-child(2) {
566
+ border-radius: 40rpx;
567
+ padding: 4rpx 16rpx;
568
+
569
+ &>span {
570
+ font-weight: 700;
571
+ }
572
+ }
573
+ }
574
+ }
575
+
576
+ &>image,
577
+ .no-image {
578
+ width: 80rpx;
579
+ height: 80rpx;
580
+ border-radius: 50%;
581
+ margin-right: unit(30, rpx);
582
+ display: flex;
583
+ justify-content: center;
584
+ align-items: center;
585
+ flex-shrink: 0;
586
+ overflow: hidden;
587
+ }
588
+
589
+ .no-image {
590
+ border: unit(2, rpx) solid #C8C0B5;
591
+ }
592
+ }
593
+ }
594
+
595
+ &-bottom {
596
+ font-size: 24rpx;
597
+ display: flex;
598
+ justify-content: space-between;
599
+ padding: 20rpx 40rpx;
600
+ }
601
+ }
407
602
  }
408
603
 
409
604
  .logout {
410
605
  font-size: unit(24, rpx);
411
- .right_cont_i{
606
+
607
+ .right_cont_i {
412
608
  display: flex;
413
609
  align-items: center;
414
610
  font-size: 28rpx;
415
611
  color: inherit;
416
612
  font-weight: 400;
417
- .xd-font-icon{
418
- margin-right:8rpx;
613
+
614
+ .xd-font-icon {
615
+ margin-right: 8rpx;
419
616
  }
420
617
  }
421
- & > view {
618
+
619
+ &>view {
422
620
  cursor: pointer;
423
621
  }
424
622
  }
425
623
  }
426
- </style>
624
+ </style>