jufubao-base 1.0.122 → 1.0.123

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 (33) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBasePay/JfbBasePay.vue +11 -5
  3. package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +268 -238
  4. package/src/components/JfbBaseWallet/Api.js +60 -0
  5. package/src/components/JfbBaseWallet/Attr.js +101 -0
  6. package/src/components/JfbBaseWallet/JfbBaseWallet.vue +306 -0
  7. package/src/components/JfbBaseWallet/JfbBaseWalletLess.less +80 -0
  8. package/src/components/JfbBaseWallet/JfbBaseWalletMixin.js +30 -0
  9. package/src/components/JfbBaseWallet/Mock.js +6 -0
  10. package/src/components/JfbBaseWalletDetail/Api.js +26 -0
  11. package/src/components/JfbBaseWalletDetail/Attr.js +16 -0
  12. package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetail.vue +175 -0
  13. package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetailLess.less +80 -0
  14. package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetailMixin.js +30 -0
  15. package/src/components/JfbBaseWalletDetail/Mock.js +6 -0
  16. package/src/components/JfbBaseWalletEffective/Api.js +27 -0
  17. package/src/components/JfbBaseWalletEffective/Attr.js +15 -0
  18. package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffective.vue +176 -0
  19. package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffectiveLess.less +80 -0
  20. package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffectiveMixin.js +30 -0
  21. package/src/components/JfbBaseWalletEffective/Mock.js +21 -0
  22. package/src/components/JfbBaseWalletIndex/Api.js +48 -0
  23. package/src/components/JfbBaseWalletIndex/Attr.js +33 -0
  24. package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndex.vue +822 -0
  25. package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndexLess.less +80 -0
  26. package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndexMixin.js +30 -0
  27. package/src/components/JfbBaseWalletIndex/Mock.js +7 -0
  28. package/src/components/JfbBaseWalletItem/Api.js +37 -0
  29. package/src/components/JfbBaseWalletItem/Attr.js +33 -0
  30. package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +501 -0
  31. package/src/components/JfbBaseWalletItem/JfbBaseWalletItemLess.less +80 -0
  32. package/src/components/JfbBaseWalletItem/JfbBaseWalletItemMixin.js +30 -0
  33. package/src/components/JfbBaseWalletItem/Mock.js +7 -0
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description API模型
5
+ * 建议:Ffff=>模块 Xxxx=>自定义名字
6
+ * 获取单记录(getByIdFfffXxxx)
7
+ * 获取列表记录(getByListFfffXxxx)
8
+ * 添加列表记录(addFfffXxxxx)
9
+ * 删除列表记录(removeFfffXxxxx|deleteFfffXxxx)
10
+ * 更新列表记录(updateFfffXxxxx)
11
+ * @type {*[]}
12
+ */
13
+ module.exports = [
14
+ {
15
+ mapFnName: 'getByIdFilmSquate', //自定义方法名字(必选)
16
+ title: '获取电影广场列表',
17
+ path: '/api/account/film/list-film-square',
18
+ isRule: false,
19
+ params: {
20
+ last_key: ['当前页', 'Number', '必选'],
21
+ page_size: ['每页数量', 'Number', '必选'],
22
+ },
23
+ isConsole: true,
24
+ disabled: true,
25
+ },
26
+ {
27
+ mapFnName: 'updateFilmPaiqiDate', //自定义方法名字(必选)
28
+ title: '更新排期',
29
+ path: '/api/account/film/paiqi-date',
30
+ isRule: false,
31
+ params: {
32
+ film_id: ['电影id', 'Number', '必选'],
33
+ cinema_id: ['影院id', 'Number', '必选'],
34
+ },
35
+ isConsole: true,
36
+ disabled: true,
37
+ },
38
+ {
39
+ mapFnName: 'removeFilmAddress', //自定义方法名字(必选)
40
+ title: '删除我的配送地址',
41
+ path: '/api/account/film/paiqi-date',
42
+ isRule: false,
43
+ params: {
44
+ film_id: ['电影id', 'Number', '必选'],
45
+ },
46
+ isConsole: true,
47
+ disabled: true,
48
+ },
49
+ {
50
+ mapFnName: 'addFilmcart', //自定义方法名字(必选)
51
+ title: '添加购物车',
52
+ path: '/api/account/film/paiqi-date',
53
+ isRule: false,
54
+ params: {
55
+ film_id: ['电影id', 'Number', '必选'],
56
+ },
57
+ isConsole: true,
58
+ disabled: true,
59
+ },
60
+ ];
@@ -0,0 +1,101 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+ {
11
+ label: '更改分类label(可排序):',
12
+ ele: 'xd-set-sort-label',
13
+ valueKey: 'newLabel',
14
+ value: data['newLabel'] || null,
15
+ disabled: false,
16
+ defaultValue: data['newLabel'],
17
+ list: [
18
+ {
19
+ icon: "iconpiao",
20
+ label: "票券",
21
+ value: 'card',
22
+ sort: 1
23
+ },
24
+ {
25
+ icon: "iconyuanbao",
26
+ label: "元宝",
27
+ value: 'wallet',
28
+ sort: 2
29
+ },
30
+ {
31
+ icon: "iconjifenjilu",
32
+ label: "积分",
33
+ value: 'score',
34
+ sort: 3
35
+ },
36
+ ]
37
+ },
38
+ {
39
+ label: '是否展示票券入口:',
40
+ ele: 'xd-radio',
41
+ valueKey: 'isCard',
42
+ value: data['isCard'] || 'Y',
43
+ list: [
44
+ { "label": "是", "value": 'Y' },
45
+ { "label": "否", "value": 'N' },
46
+ ]
47
+ },
48
+ {
49
+ label: '票券跳转路径:',
50
+ ele: 'xd-select-pages-path',
51
+ valueKey: 'cardPath',
52
+ value: data['cardPath'] || {},
53
+ setting: {
54
+ router: XdBus.getParentApi('getPagesTree')
55
+ },
56
+ inline: false,
57
+ },
58
+ {
59
+ label: '是否展示元宝入口:',
60
+ ele: 'xd-radio',
61
+ valueKey: 'isYuanbao',
62
+ value: data['isYuanbao'] || 'Y',
63
+ list: [
64
+ { "label": "是", "value": 'Y' },
65
+ { "label": "否", "value": 'N' },
66
+ ]
67
+ },
68
+ {
69
+ label: '元宝跳转路径:',
70
+ ele: 'xd-select-pages-path',
71
+ valueKey: 'yuanbaoPath',
72
+ value: data['yuanbaoPath'] || {},
73
+ setting: {
74
+ router: XdBus.getParentApi('getPagesTree')
75
+ },
76
+ inline: false,
77
+ },
78
+ {
79
+ label: '是否展示积分入口:',
80
+ ele: 'xd-radio',
81
+ valueKey: 'isIntegral',
82
+ value: data['isIntegral'] || 'Y',
83
+ list: [
84
+ { "label": "是", "value": 'Y' },
85
+ { "label": "否", "value": 'N' },
86
+ ]
87
+ },
88
+ {
89
+ label: '积分跳转路径:',
90
+ ele: 'xd-select-pages-path',
91
+ valueKey: 'integralPath',
92
+ value: data['integralPath'] || {},
93
+ setting: {
94
+ router: XdBus.getParentApi('getPagesTree')
95
+ },
96
+ inline: false,
97
+ },
98
+ ].filter(i => i)
99
+ },
100
+ advanced: [],
101
+ };
@@ -0,0 +1,306 @@
1
+ <template>
2
+ <view
3
+ class="jfb-base-wallet"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx: isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-base-wallet__edit"
10
+ :class="{ editx: isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-base-wallet__edit-icon" @click="delEdit">删除</view>
14
+ </view>
15
+ <!-- #endif -->
16
+ <view class="jfb-base-wallet__body">
17
+ <view class="jfb-base-wallet__body-title">我的账户</view>
18
+ <view class="jfb-base-wallet__body-type">
19
+ <view
20
+ :style="{
21
+ marginRight: index === showType.length - 1 ? '0' : '36rpx',
22
+ }"
23
+ v-for="(item, index) in showType"
24
+ @click="handleJumpTo(item)"
25
+ :key="index"
26
+ class="jfb-base-wallet__body-type-item"
27
+ >
28
+ <XdFontIcon :icon="item.icon"></XdFontIcon>
29
+ <view>{{ item.label }}</view>
30
+ </view>
31
+ </view>
32
+ </view>
33
+ </view>
34
+ </template>
35
+
36
+ <script>
37
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
38
+ import { jfbRootExec } from "@/utils/xd.event";
39
+ import JfbBaseWalletMixin from "./JfbBaseWalletMixin";
40
+ import { getContainerPropsValue } from "@/utils/xd.base";
41
+ import componentsMixins from "@/mixins/componentsMixins";
42
+ import extsMixins from "@/mixins/extsMixins";
43
+ export default {
44
+ name: "JfbBaseWallet",
45
+ components: {
46
+ XdFontIcon,
47
+ },
48
+ mixins: [componentsMixins, extsMixins, JfbBaseWalletMixin],
49
+ data() {
50
+ return {
51
+ typeList: [
52
+ {
53
+ icon: "iconpiao",
54
+ label: "票券",
55
+ value: "card",
56
+ },
57
+ {
58
+ icon: "iconyuanbao",
59
+ label: "元宝",
60
+ value: "wallet",
61
+ },
62
+ {
63
+ icon: "iconjifenjilu",
64
+ label: "积分",
65
+ value: "score",
66
+ },
67
+ ],
68
+ newLabel: [],
69
+ isPreview: false,
70
+ isCard: "Y",
71
+ isYuanbao: "Y",
72
+ isIntegral: "Y",
73
+ cardPath: "",
74
+ yuanbaoPath: "",
75
+ integralPath: "",
76
+ };
77
+ },
78
+ watch: {
79
+ container(value) {
80
+ this.init(value);
81
+ },
82
+ newLabel: {
83
+ deep: true,
84
+ handler(n, o) {
85
+ if (this.isPreview) {
86
+ // 遍历tabs,找到newLabel中value与item1.value相同的项,将其赋值给item1.label
87
+ this.typeList.forEach((item1, index) => {
88
+ const item2 = this.newLabel.find(
89
+ (item) => item.value === item1.value
90
+ );
91
+
92
+ if (item2) {
93
+ item1.label = item2.newLabel || item1.label;
94
+ item1.sort = item2.sort;
95
+ }
96
+ });
97
+ this.tabs.sort((a, b) => a.sort - b.sort);
98
+ }
99
+ },
100
+ },
101
+ isCard(n, o) {
102
+ if (n === "Y") {
103
+ let flag = this.showType.find((item) => item.value === "card");
104
+ if (!flag) {
105
+ this.showType.push({
106
+ icon: "iconpiao",
107
+ label: "票券",
108
+ value: "card",
109
+ });
110
+ }
111
+ } else {
112
+ let flagIndex = this.showType.findIndex(
113
+ (item) => item.value === "card"
114
+ );
115
+ if (flagIndex !== -1) {
116
+ this.showType.splice(flagIndex, 1);
117
+ }
118
+ }
119
+ },
120
+ isYuanbao(n, o) {
121
+ if (n === "Y") {
122
+ let flag = this.showType.find((item) => item.value === "wallet");
123
+ if (!flag) {
124
+ this.showType.push({
125
+ icon: "iconyuanbao_mian",
126
+ label: "元宝",
127
+ value: "wallet",
128
+ });
129
+ }
130
+ } else {
131
+ let flagIndex = this.showType.findIndex(
132
+ (item) => item.value === "wallet"
133
+ );
134
+ if (flagIndex !== -1) {
135
+ this.showType.splice(flagIndex, 1);
136
+ }
137
+ }
138
+ },
139
+ isIntegral(n, o) {
140
+ if (n === "Y") {
141
+ let flag = this.showType.find((item) => item.value === "score");
142
+ if (!flag) {
143
+ this.showType.push({
144
+ icon: "iconyiwancheng1",
145
+ label: "积分",
146
+ value: "score",
147
+ });
148
+ }
149
+ } else {
150
+ let flagIndex = this.showType.findIndex(
151
+ (item) => item.value === "score"
152
+ );
153
+ if (flagIndex !== -1) {
154
+ this.showType.splice(flagIndex, 1);
155
+ }
156
+ }
157
+ },
158
+ },
159
+ computed: {
160
+ showType() {
161
+ this.typeList.forEach((item1, index) => {
162
+ const item2 = this.newLabel.find((item) => item.value === item1.value);
163
+
164
+ if (item2) {
165
+ item1.label = item2.newLabel || item1.label;
166
+ item1.sort = item2.sort;
167
+ }
168
+ });
169
+ this.typeList.sort((a, b) => a.sort - b.sort);
170
+ return this.typeList;
171
+ },
172
+ },
173
+ created() {
174
+ this.init(this.container);
175
+ this.isPreview = this.$configProject.isPreview;
176
+
177
+ //todo
178
+ },
179
+ methods: {
180
+ onJfbLoad(options) {
181
+ // jfbRootExec('baiduUserLogin', {
182
+ // vm: this,// data: {
183
+ // account: 'gaoshiyong',// password: '123456789',// type: 3,// ...options
184
+ // }
185
+ // }).then().catch()
186
+ },
187
+ /**
188
+ * @description 监听事件变化
189
+ * @param container {object} 业务组件对象自己
190
+ */
191
+ init(container) {
192
+ this.newLabel = getContainerPropsValue(container, "content.newLabel", []);
193
+ this.isCard = getContainerPropsValue(container, "content.isCard", "Y");
194
+ this.isYuanbao = getContainerPropsValue(
195
+ container,
196
+ "content.isYuanbao",
197
+ "Y"
198
+ );
199
+ this.isIntegral = getContainerPropsValue(
200
+ container,
201
+ "content.isIntegral",
202
+ "Y"
203
+ );
204
+ this.cardPath = getContainerPropsValue(container, "content.cardPath", {
205
+ value: "",
206
+ }).value;
207
+
208
+ this.yuanbaoPath = getContainerPropsValue(
209
+ container,
210
+ "content.yuanbaoPath",
211
+ { value: "" }
212
+ ).value;
213
+
214
+ this.integralPath = getContainerPropsValue(
215
+ container,
216
+ "content.integralPath",
217
+ { value: "" }
218
+ ).value;
219
+ },
220
+ handleJumpTo(item) {
221
+ console.log(item, "ppppp");
222
+ switch (item.value) {
223
+ case "card":
224
+ this.$xdUniHelper.navigateTo({
225
+ url: this.cardPath,
226
+ });
227
+ break;
228
+
229
+ case "wallet":
230
+ this.$xdUniHelper.navigateTo({
231
+ url:`${this.yuanbaoPath}?type=wallet`,
232
+ });
233
+ break;
234
+
235
+ case "score":
236
+ this.$xdUniHelper.navigateTo({
237
+ url: `${this.integralPath}?type=score`,
238
+ });
239
+ break;
240
+
241
+ default:
242
+ break;
243
+ }
244
+ },
245
+ onJfbScroll(options) {
246
+ console.log("event.onJfbScroll", options);
247
+ },
248
+ onJfbReachBottom(options) {
249
+ console.log("event.onJfbReachBottom", options);
250
+ },
251
+ onJfbShow(options) {
252
+ console.log("event.onJfbShow", options);
253
+ },
254
+ onJfbHide(options) {
255
+ console.log("event.onJfbHide", options);
256
+ },
257
+ onJfbBack(options) {
258
+ console.log("event.onJfbBack", options);
259
+ },
260
+ onJfbUpdate(...data) {
261
+ console.log("event.onJfbUpdate", data);
262
+ },
263
+ onJfbCustomEvent(options) {
264
+ console.log("event.onJfbReachBottom", options);
265
+ },
266
+ },
267
+ };
268
+ </script>
269
+
270
+ <style scoped lang="less">
271
+ @import "./JfbBaseWalletLess.less";
272
+
273
+ .jfb-base-wallet {
274
+ &__body {
275
+ &-title {
276
+ padding: 20rpx;
277
+ }
278
+ &-type {
279
+ display: flex;
280
+ border-radius: 20rpx;
281
+ background: rgba(255, 255, 255, 1);
282
+ border: 1rpx solid rgba(238, 238, 238, 1);
283
+ padding: 32rpx 48rpx 32rpx 48rpx;
284
+ margin: 0 20rpx 0;
285
+
286
+ &-item {
287
+ color: #999999;
288
+ flex: 1;
289
+ display: flex;
290
+ flex-direction: column;
291
+ align-items: center;
292
+ justify-content: center;
293
+ font-size: 24rpx;
294
+ border: 2rpx solid #eeeeee;
295
+ border-radius: 16rpx;
296
+ background: #ffffff;
297
+ padding: 16rpx 0;
298
+ margin-right: 36rpx;
299
+ & > view:nth-child(2) {
300
+ margin-top: 12rpx;
301
+ }
302
+ }
303
+ }
304
+ }
305
+ }
306
+ </style>
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @desc 获取绝对路径完整地址
3
+ * @param @path
4
+ **/
5
+ //例如:https://image.jufubao.cn/20220501010108/image/bg/default_gonghui_bg.png
6
+ @basePath: 'business/';
7
+ @doMain: '//sandbox-img.jufubao.cn/';
8
+
9
+ .getBusinessImageUrl(@path, @size: 'size8') {
10
+ @url: "@{doMain}@{basePath}@{path}?x-oss-process=style/@{size}";
11
+ background-image: url(@url);
12
+ }
13
+
14
+ //start
15
+ .jfb-base-wallet {
16
+ border: 1px dashed rgba(0, 0, 0, 0);
17
+ box-sizing: border-box;
18
+ min-height: unit(50, rpx);
19
+
20
+ &__body{
21
+ position: relative;
22
+ overflow: hidden;
23
+ z-index: 2
24
+ }
25
+
26
+ &.editx {
27
+ position: relative;
28
+ border: 1px dashed blue;
29
+ box-sizing: border-box;
30
+ z-index: 3
31
+
32
+ }
33
+
34
+ &:hover {
35
+ border: 1px dashed blue;
36
+ }
37
+
38
+ &.noBorder {
39
+ border-color: rgba(0,0,0,0);
40
+ border-width: 0;
41
+ }
42
+
43
+
44
+ &__edit {
45
+ cursor: pointer;
46
+ position: absolute;
47
+ right: unit(0, rpx);
48
+ top: unit(-52, rpx);
49
+ height: unit(50, rpx);
50
+ line-height: unit(50, rpx);
51
+ display: flex;
52
+ justify-content: center;
53
+ align-items: center;
54
+ background: rgba(0, 0, 0, .6);
55
+ border-radius: unit(10, rpx);
56
+ box-shadow: 0 0 10px rbga(0, 0, 0, 0.3);
57
+ color: #fff;
58
+ font-size: unit(22, rpx);
59
+
60
+ &-icon{
61
+ padding: 0 unit(20, rpx);
62
+ }
63
+
64
+ &.editx {
65
+ box-sizing: border-box;
66
+
67
+ }
68
+ }
69
+ }
70
+ //end
71
+
72
+
73
+ /**notPreview**/
74
+ .jfb-base-wallet {
75
+ &:before {
76
+ content: " ";
77
+ display: table;
78
+ }
79
+ }
80
+ /**endNotPreview**/
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+
4
+ //@AttrImport
5
+ import Attr from "./Attr";
6
+ //@EndAttrImport
7
+
8
+
9
+ export default {
10
+ data() {
11
+ return {
12
+ //#ifdef H5
13
+
14
+ //@AttrData
15
+ Attr:{}, //对外开发编辑属性
16
+ //@EndAttrData
17
+
18
+ // #endif
19
+ cssRoot: 'jfb-base-wallet'
20
+ }
21
+ },
22
+ created() {
23
+
24
+ //@AttrDataCreated
25
+ this.Attr = this.$xdUniHelper.customClone(Attr);
26
+ //@EndAttrDataCreated
27
+
28
+
29
+ },
30
+ }
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ aaaa: {}
5
+ }
6
+
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description API模型
5
+ * 建议:Ffff=>模块 Xxxx=>自定义名字
6
+ * 获取单记录(getByIdFfffXxxx)
7
+ * 获取列表记录(getByListFfffXxxx)
8
+ * 添加列表记录(addFfffXxxxx)
9
+ * 删除列表记录(removeFfffXxxxx|deleteFfffXxxx)
10
+ * 更新列表记录(updateFfffXxxxx)
11
+ * @type {*[]}
12
+ */
13
+ module.exports = [
14
+ {
15
+ mapFnName: 'getRecordDetail', //自定义方法名字(必选)
16
+ title: '获取明细详情',
17
+ path: '/pay/v1/wallet/trade-record-detail',
18
+ isRule: false,
19
+ params: {
20
+ trade_id: ['记录ID', 'String', '必选'],
21
+ },
22
+ isConsole: true,
23
+ disabled: true,
24
+ },
25
+ ];
26
+
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+
11
+ ].filter(i=>i)
12
+ },
13
+ advanced: [
14
+ ],
15
+ };
16
+