jufubao-base 1.0.237-beta1 → 1.0.237-beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +332 -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 +36 -0
  9. package/src/components/JfbBaseCodeOpenVip/Attr.js +281 -0
  10. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVip.vue +253 -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 +270 -0
  25. package/src/components/JfbBaseOpenVip/JfbBaseOpenVip.vue +424 -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 +36 -0
  37. package/src/components/JfbBaseOpenVipDetail/Attr.js +37 -0
  38. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetail.vue +225 -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 +58 -0
  61. package/src/components/JfbBasePosterGroup/Attr.js +48 -0
  62. package/src/components/JfbBasePosterGroup/JfbBasePosterGroup.vue +111 -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 +261 -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 +102 -10
  86. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +305 -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>{{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 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,65 @@
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() {
287
+ console.log(this.getTokenForKey('user_level'),'user_leveluser_level');
288
+ console.log(this.projectAttr.headers['X-Site-Group'],'this.$configProject');
289
+ this.is_plus_site = this.projectAttr.headers['X-Site-Group']==="vip";
290
+ this.is_vip = this.getTokenForKey('user_level')&&this.getTokenForKey('user_level')==='VIP'?'Y':'N'
219
291
  this.init(this.container);
220
292
  },
221
293
  methods: {
222
- handleToLink(){
294
+ handleToLink() {
223
295
  this.$xdUniHelper.navigateTo({
224
296
  url: '/pages/settings/settings'
225
297
  })
226
298
  },
227
299
 
228
- async handleLogout(){
300
+ async handleLogout() {
229
301
  // #ifdef H5
230
302
  if (this.$configProject.isPreview) return;
231
303
  // #endif
232
304
 
233
305
  if (this.jfbAuthorize !== null) {
234
306
  this.$xdShowLoading({});
235
- store.dispatch('logout').then(res=>{
307
+ store.dispatch('logout').then(res => {
236
308
  let url = this.$configProject.entry || `/${this.projectAttr.deploy_dir}/`;
237
309
  this.$xdHideLoading();
238
310
  this.jfbAuthorize.removeAllCardToken();
239
311
  this.jfbAuthorize.removeAllToken()
240
312
  this.jfbAuthorize.jumpToUserLogin(this, false, url);
241
- }).catch(err=>{
313
+ }).catch(err => {
242
314
  console.error(err);
243
315
  })
244
316
  }
@@ -247,7 +319,7 @@
247
319
  async onJfbLoad(options) {
248
320
 
249
321
  //预览模式
250
- if(this.$configProject.isPreview) {
322
+ if (this.$configProject.isPreview) {
251
323
  jfbRootExec('getBaseUserInfo', {
252
324
  vm: this,
253
325
  data: {}
@@ -262,16 +334,16 @@
262
334
  }
263
335
 
264
336
  this.logined = await this.jfbAuthorize.checkUserLogin(true, this, false);
265
- if(!this.logined) return;
337
+ if (!this.logined) return;
266
338
 
267
339
  jfbRootExec('getBaseUserInfo', {
268
340
  vm: this,
269
341
  data: {}
270
- }).then(res=>{
342
+ }).then(res => {
271
343
  this.userInfo = res || {};
272
- console.log('getBaseUserInfo',res)
273
- }).catch(error=>{
274
- console.log('getBaseUserInfo',error)
344
+ console.log('getBaseUserInfo', res)
345
+ }).catch(error => {
346
+ console.log('getBaseUserInfo', error)
275
347
  })
276
348
  },
277
349
  /**
@@ -283,7 +355,7 @@
283
355
  this.padding = getContainerPropsValue(container, 'content.padding', {});
284
356
  this.backgroundColor = getContainerPropsValue(container, 'content.backgroundColor', '#f8f8f8');
285
357
  this.textType = getContainerPropsValue(container, 'content.text_type', 'N');
286
- this.radius = getContainerPropsValue(container, 'content.radius', '10');
358
+ this.radius = getContainerPropsValue(container, 'content.radius', '20');
287
359
  this.isSetting = getContainerPropsValue(container, 'content.isSetting', 'N');
288
360
  // this.logoutName = getContainerPropsValue(container, 'content.logoutName', '[退出登录]');
289
361
  this.imageRadius = getContainerPropsValue(container, 'content.imageRadius', '50%');
@@ -310,18 +382,36 @@
310
382
  icon: "",
311
383
  iconName: "",
312
384
  });
313
- this.addressUrl = getContainerPropsValue(container, 'content.addressUrl', {value: ""}).value;
385
+ this.addressUrl = getContainerPropsValue(container, 'content.addressUrl', { value: "" }).value;
314
386
  this.bgImage = getServiceUrl(getContainerPropsValue(container, 'content.bgImage', '').url);
315
387
  this.rightContentBgColor = getContainerPropsValue(container, 'content.rightContentBgColor', 'transparent');
316
388
  // this.rightContentTextColor = getContainerPropsValue(container, 'content.rightContentTextColor', '');
317
389
  this.rightContentPadding = getContainerPropsValue(container, 'content.rightContentPadding', {});
318
390
  this.rightContentRadius = getContainerPropsValue(container, 'content.rightContentRadius', 0);
319
-
391
+ //plus
392
+ this.is_plus_site = getContainerPropsValue(container, 'content.is_plus_site', 'N');
393
+ this.is_plus_preview = getContainerPropsValue(container, 'content.is_plus_preview', 'N');
394
+ 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%)');
395
+ this.plusBottomBackgroundColor = getContainerPropsValue(container, 'content.plusBottomBackgroundColor', 'linear-gradient(90deg, #FFE4C2 0%, #FFF6E6 100%)');
396
+ this.normalTopBackgroundColor = getContainerPropsValue(container, 'content.normalTopBackgroundColor', '#fff');
397
+ this.normalBottomBackgroundColor = getContainerPropsValue(container, 'content.normalBottomBackgroundColor', 'linear-gradient(90deg, #FCF2DC 0%, #FAE7C4 100%)');
398
+ this.openVipPath = getContainerPropsValue(container, 'content.openVipPath', { value: "" }).value;
399
+ this.viewPath = getContainerPropsValue(container, 'content.viewPath', { value: "" }).value;
320
400
  },
321
- handleAddress(){
401
+ handleAddress() {
322
402
  this.$xdUniHelper.navigateTo({
323
403
  url: this.addressUrl
324
404
  })
405
+ },
406
+ handleToOpen(){
407
+ this.$xdUniHelper.navigateTo({
408
+ url: this.openVipPath
409
+ })
410
+ },
411
+ handleToView(){
412
+ this.$xdUniHelper.navigateTo({
413
+ url: this.viewPath
414
+ })
325
415
  }
326
416
  }
327
417
  }
@@ -336,10 +426,12 @@
336
426
  flex-direction: column;
337
427
  justify-content: center;
338
428
  align-items: center;
339
- & > view:nth-child(2) {
429
+
430
+ &>view:nth-child(2) {
340
431
  margin-left: unit(15, rpx);
341
432
  }
342
- & > view:nth-child(3) {
433
+
434
+ &>view:nth-child(3) {
343
435
  width: 26rpx;
344
436
  height: 26rpx;
345
437
  margin-left: unit(15, rpx);
@@ -350,7 +442,7 @@
350
442
  }
351
443
 
352
444
  .jfb-base-user-info {
353
- &__body{
445
+ &__body {
354
446
  &-header {
355
447
  display: flex;
356
448
  align-items: center;
@@ -367,22 +459,25 @@
367
459
  width: 100%;
368
460
  flex-direction: column;
369
461
 
370
- & > view:last-child {
462
+ &>view:last-child {
371
463
  width: 100%;
372
464
  text-align: center;
373
465
  flex-shrink: 0;
374
466
  padding-top: unit(20, rpx);
375
467
  }
376
468
 
377
- & > image, .no-image {
469
+ &>image,
470
+ .no-image {
378
471
  margin-right: unit(0, rpx);
379
472
  }
380
473
  }
381
474
 
382
- & > image, .no-image {
475
+ &>image,
476
+ .no-image {
383
477
  width: unit(140, rpx);
384
478
  height: unit(140, rpx);
385
- margin-right: unit(30, rpx);;
479
+ margin-right: unit(30, rpx);
480
+ ;
386
481
  display: flex;
387
482
  justify-content: center;
388
483
  align-items: center;
@@ -394,33 +489,129 @@
394
489
  border: unit(4, rpx) solid #e5e5e5;
395
490
  }
396
491
 
397
- & > view {
492
+ &>view {
398
493
  color: #383838;
399
494
  font-size: unit(32, rpx);
400
495
  }
401
496
  }
402
497
 
403
- & > view:nth-child(2) {
498
+ &>view:nth-child(2) {
404
499
  flex-shrink: 0;
405
500
  }
406
501
  }
502
+
503
+ &-plus-header {
504
+ .is_normal_top {
505
+ color: #333333;
506
+
507
+ .jfb-base-user-info__body-plus-header-top-left-info-name {
508
+ &>view:nth-child(2) {
509
+ color: #615850;
510
+ background: #FFE6C4;
511
+ }
512
+ }
513
+ }
514
+
515
+ .is_vip_top {
516
+ color: #fff;
517
+
518
+ .jfb-base-user-info__body-plus-header-top-left-info-name {
519
+ &>view:nth-child(2) {
520
+ color: #FFEFD7;
521
+ background: linear-gradient(180deg, #615243 0%, #2D2824 100%);
522
+ }
523
+ }
524
+ }
525
+
526
+ .is_normal_bottom {
527
+ color: #653D11;
528
+ }
529
+
530
+ .is_vip_bottom {
531
+ color: #915714;
532
+ }
533
+
534
+ &-top {
535
+ display: flex;
536
+ justify-content: space-between;
537
+ padding: 40rpx;
538
+
539
+ &-left {
540
+ display: flex;
541
+ align-items: center;
542
+
543
+ &-info {
544
+ display: flex;
545
+ flex-direction: column;
546
+ font-size: 24rpx;
547
+
548
+ &-name {
549
+ display: flex;
550
+ align-items: center;
551
+ margin-bottom: 16rpx;
552
+
553
+ &>view:first-child {
554
+ margin-right: 8rpx;
555
+ font-size: 28rpx;
556
+ }
557
+
558
+ &>view:nth-child(2) {
559
+ border-radius: 40rpx;
560
+ padding: 4rpx 16rpx;
561
+
562
+ &>span {
563
+ font-weight: 700;
564
+ }
565
+ }
566
+ }
567
+ }
568
+
569
+ &>image,
570
+ .no-image {
571
+ width: 80rpx;
572
+ height: 80rpx;
573
+ border-radius: 50%;
574
+ margin-right: unit(30, rpx);
575
+ display: flex;
576
+ justify-content: center;
577
+ align-items: center;
578
+ flex-shrink: 0;
579
+ overflow: hidden;
580
+ }
581
+
582
+ .no-image {
583
+ border: unit(2, rpx) solid #C8C0B5;
584
+ }
585
+ }
586
+ }
587
+
588
+ &-bottom {
589
+ font-size: 24rpx;
590
+ display: flex;
591
+ justify-content: space-between;
592
+ padding: 20rpx 40rpx;
593
+ }
594
+ }
407
595
  }
408
596
 
409
597
  .logout {
410
598
  font-size: unit(24, rpx);
411
- .right_cont_i{
599
+
600
+ .right_cont_i {
412
601
  display: flex;
413
602
  align-items: center;
414
603
  font-size: 28rpx;
415
604
  color: inherit;
416
605
  font-weight: 400;
417
- .xd-font-icon{
418
- margin-right:8rpx;
606
+
607
+ .xd-font-icon {
608
+ margin-right: 8rpx;
419
609
  }
420
610
  }
421
- & > view {
611
+
612
+ &>view {
422
613
  cursor: pointer;
423
614
  }
424
615
  }
425
616
  }
426
- </style>
617
+ </style>