jufubao-base 1.0.67-beta201 → 1.0.67

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.
@@ -1,224 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @description 当表单组件中有联动操作时候,使用方法进行返回
5
- */
6
- export default {
7
- style: [],
8
- content: [
9
- {
10
- label: '领券规则:',
11
- ele: 'xd-site-news',
12
- valueKey: 'notice',
13
- value: null,
14
- className: 'input70',
15
- setting: {
16
- config: {
17
- sort: true,
18
- maxlen: 100,
19
- action: 'aliyun',
20
- size: 5,
21
- tipsformet: '上传文件格式:@imageType@,不超过@size@MB.',
22
- uploadType: 'aliyun',
23
- type: ['jpg', 'png', 'jpeg']
24
- },
25
- },
26
- handleCustom({action, data}) {
27
- if (data && data.params) {
28
- //当一个插件中出现使用内容分类时候需要设置code值,在页面引用时候容器id + code进行拼接
29
- //data.params = Object.assign({}, data.params, {code: 'g_test_id'});
30
- }
31
-
32
- //获取返回参数(场景类型名称为必填)
33
- let loading = XdBus.getParentApi('loading')({});
34
-
35
- //获取显示内容
36
- if (action === 'screen') {
37
- XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_bucket_content_tip'})
38
- .then(res => {
39
- loading.close();
40
- data.cb(res['list'])
41
- })
42
- .catch(error => {
43
- console.error(error);
44
- loading.close();
45
- });
46
-
47
- }
48
-
49
- //获取返回参数(广告位高度必选项)
50
- if (action === 'getNewsInfo') {
51
- XdBus.getParentApi('cmsGetPublishEditxContent')(data.params)
52
- .then(res => {
53
- loading.close()
54
- data.cb({list: res.list, selectId: res.selected})
55
- })
56
- .catch(error => {
57
- loading.close()
58
- console.error(error);
59
- });
60
- }
61
-
62
- //获取产品业务线列表
63
- if (action === 'namespace') {
64
- XdBus.getParentApi('getOptionsNamespaces')({})
65
- .then(res => {
66
- loading.close()
67
- data.cb(res['list'])
68
- })
69
- .catch(error => {
70
- loading.close()
71
- console.error(error);
72
- });
73
- }
74
-
75
- //使用内容分类
76
- if (action === 'cmsPublishEditxContent') {
77
- XdBus.getParentApi('cmsPublishEditxContent')(data.params)
78
- .then(res => {
79
- console.log('cmsPublishEditxContent', res)
80
- loading.close();
81
- data.cb(res)
82
- })
83
- .catch(error => {
84
- loading.close();
85
- console.error(error);
86
- });
87
- }
88
-
89
- //位置列表
90
- if (action === 'getListPostion') {
91
- XdBus.getParentApi('getListNewsPosition')(data.params)
92
- .then(res => {
93
- loading.close();
94
- data.cb(res)
95
- })
96
- .catch(error => {
97
- loading.close();
98
- console.error(error);
99
- });
100
- }
101
-
102
- //位置创建
103
- if (action === 'addPostion') {
104
- XdBus.getParentApi('addNewsPosition')(data.params)
105
- .then(res => {
106
- loading.close();
107
- data.cb(true)
108
- })
109
- .catch(error => {
110
- console.error(error);
111
- loading.close();
112
- data.cb(false)
113
- });
114
- }
115
-
116
- //位置编辑
117
- if (action === 'editPostion') {
118
- XdBus.getParentApi('updateNewsPosition')(data.params)
119
- .then(res => {
120
- loading.close();
121
- data.cb(true)
122
- })
123
- .catch(error => {
124
- console.error(error);
125
- loading.close();
126
- data.cb(false)
127
- });
128
- }
129
-
130
- //位置删除
131
- if (action === 'deleltePostion') {
132
- XdBus.getParentApi('deleteNewsPosition')(data.params)
133
- .then(res => {
134
- loading.close();
135
- data.cb(true)
136
- })
137
- .catch(error => {
138
- console.error(error);
139
- loading.close();
140
- data.cb(false)
141
- });
142
- }
143
-
144
- //获取广告位内容列表
145
- if (action === 'getListContent') {
146
- XdBus.getParentApi('getListNewsContent')(data.params)
147
- .then(res => {
148
- loading.close();
149
- data.cb(res)
150
- })
151
- .catch(error => {
152
- loading.close();
153
- console.error(error);
154
- });
155
- }
156
-
157
- //广告内容创建
158
- if (action === 'addContent') {
159
- XdBus.getParentApi('addNewsContent')(data.params)
160
- .then(res => {
161
- loading.close();
162
- data.cb(true)
163
- })
164
- .catch(error => {
165
- console.error(error);
166
- loading.close();
167
- data.cb(false)
168
- });
169
- }
170
-
171
- //广告内容编辑
172
- if (action === 'editContent') {
173
- XdBus.getParentApi('updateNewsContent')(data.params)
174
- .then(res => {
175
- loading.close();
176
- data.cb(true)
177
- })
178
- .catch(error => {
179
- console.error(error);
180
- loading.close();
181
- data.cb(false)
182
- });
183
- }
184
-
185
- //广告内容删除
186
- if (action === 'deleteContent') {
187
- XdBus.getParentApi('deleteNewsContent')(data.params)
188
- .then(res => {
189
- loading.close();
190
- data.cb(true)
191
- })
192
- .catch(error => {
193
- console.error(error);
194
- loading.close();
195
- data.cb(false)
196
- });
197
- }
198
-
199
- //内容发布
200
- if (action === 'publish') {
201
- console.log('publish', data.params)
202
- XdBus.getParentApi('cmsPublishContent')(data.params)
203
- .then(res => {
204
- loading.close();
205
- data.cb(res)
206
- })
207
- .catch(error => {
208
- loading.close();
209
- console.error(error);
210
- });
211
- }
212
-
213
- //通知页面进行刷新
214
- if (action === 'update') {
215
- XdBus.getParentApi('getXdBusUpdateView')('onUpdateView', {});
216
- loading.close()
217
- }
218
- },
219
- inline: false,
220
- notice: '请配置温馨提示内容,未配置的情况将不显示此模块',
221
- },
222
- ],
223
- advanced: [],
224
- };
@@ -1,415 +0,0 @@
1
- <template>
2
- <view
3
- class="jfb-base-con-list"
4
- @click="handleEditxSelect"
5
- :class="{
6
- editx: isEditx && active,
7
- noBorder: noBorder,
8
- }"
9
- >
10
- <!--#ifdef H5-->
11
- <view
12
- class="jfb-base-con-list__edit"
13
- :class="{ editx: isEditx && active }"
14
- v-if="isEditx && active && !noBorder"
15
- >
16
- <view class="jfb-base-con-list__edit-icon" @click="delEdit">删除</view>
17
- </view>
18
- <!-- #endif -->
19
- <view class="jfb-base-con-list__body">
20
- <view class="jfb-base-con-list__body-header">
21
- <image :src="background"></image>
22
- </view>
23
- <view class="jfb-base-con-list__body-content">
24
- <view class="jfb-base-con-list__body-content-header">
25
- <view class="jfb-base-con-list__body-content-header-left">
26
- <view :style="{ backgroundColor: mainColor }"></view>
27
- <view>赠送优惠券</view>
28
- </view>
29
- <view
30
- :style="{ color: mainColor, background: contentBackground }"
31
- class="jfb-base-con-list__body-content-header-right"
32
- @click="showRule = true"
33
- >
34
- <text>领券规则</text>
35
- <xd-font-icon size="20" icon="iconxiangyou_xian"></xd-font-icon>
36
- </view>
37
- </view>
38
- <view class="jfb-base-con-list__body-content-list">
39
- <view
40
- v-for="(item, index) in couponList"
41
- :key="index"
42
- class="jfb-base-con-list__body-content-list-item"
43
- :style="{ background: contentBackground }"
44
- >
45
- <view class="jfb-base-con-list__body-content-list-item-left">
46
- <view
47
- :style="couponBackground"
48
- class="jfb-base-con-list__body-content-list-item-left-info"
49
- >
50
- <view :style="{ color: mainColor }">满减券</view>
51
- <view>{{ item.prize_name }}</view>
52
- </view>
53
- <view class="jfb-base-con-list__body-content-list-item-left-num">
54
- <view>{{ item.prize_name }}</view>
55
- <view :style="{ color: mainColor,display:'flex',alignItems:'center' }">
56
- <xd-font-icon style="margin-right:10rpx" size="24" icon="icondanchuangguanbi_xian"></xd-font-icon>
57
- {{ item.prize_num }}
58
- </view>
59
- </view>
60
- </view>
61
- <view class="jfb-base-con-list__body-content-list-item-right">
62
- <xd-font-icon
63
- size="100"
64
- :style="{ color: disabled ? '#D6D6D6' : mainColor }"
65
- :icon="disabled ? 'iconyilingqu' : 'icondailingqu'"
66
- ></xd-font-icon>
67
- </view>
68
- </view>
69
- </view>
70
- </view>
71
- <view style="height: 120rpx"></view>
72
- <view class="bottom_btn" :style="prod_bottom">
73
- <xd-button
74
- :disabled="disabled"
75
- @click="getCoupont"
76
- type="primary"
77
- :style="btn"
78
- width="60%"
79
- >{{ disabled ? "已领取" : "一键领取" }}</xd-button
80
- >
81
- </view>
82
- <xd-dailog
83
- :cancel="false"
84
- :confirm="false"
85
- title="活动规则说明"
86
- :show.sync="showRule"
87
- >
88
- <xd-content-xss :html="notice"></xd-content-xss>
89
- </xd-dailog>
90
- </view>
91
- </view>
92
- </template>
93
-
94
- <script>
95
- import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
96
- import XdButton from "@/components/XdButton/XdButton";
97
- import { jfbRootExec } from "@/utils/xd.event";
98
- import JfbBaseConListMixin from "./JfbBaseConListMixin";
99
- import componentsMixins from "@/mixins/componentsMixins";
100
- import extsMixins from "@/mixins/extsMixins";
101
- import { getContainerPropsValue } from "@/utils/xd.base";
102
- import XdDailog from "@/components/XdDailog/XdDailog";
103
- import XdContentXss from "@/components/XdContentXss/XdContentXss";
104
- import getServiceUrl from "@/common/getServiceUrl";
105
- import colorCardMixins from "@/mixins/colorCardMixins";
106
- import { mapState } from "vuex";
107
- const Color = require("color");
108
-
109
- export default {
110
- name: "JfbBaseConList",
111
- components: {
112
- XdFontIcon,
113
- XdButton,
114
- XdDailog,
115
- XdContentXss,
116
- },
117
- mixins: [componentsMixins, extsMixins, JfbBaseConListMixin],
118
- data() {
119
- return {
120
- contentBackground: "",
121
- couponList: [],
122
- disabled: false,
123
- notice: "",
124
- showRule: false,
125
- btn: "",
126
- activity_id: "",
127
- background: "",
128
- app_coupon_url: "",
129
- method: "entry",
130
- maxTime: 5, //最长轮询2的N次方(秒)
131
- date: 2, //时间底数
132
- time: 1, //时间幂指数
133
- timeer: null,
134
- order_num: null,
135
- };
136
- },
137
- computed: {
138
- prod_bottom() {
139
- return this.fixedStyle({ height: 0, zIndex: 111 });
140
- },
141
- couponBackground() {
142
- return {
143
- background: `url(${this.app_coupon_url})`,
144
- backgroundSize: "100% 100%",
145
- backgroundRepeat: "no-repeat",
146
- };
147
- },
148
- ...mapState(["pageBusinessCode"]),
149
- },
150
- watch: {
151
- container(value) {
152
- this.init(value);
153
- },
154
- },
155
- created() {
156
- this.init(this.container);
157
- },
158
- destroyed() {
159
- if (this.timeer) {
160
- clearTimeout(this.timeer);
161
- }
162
- },
163
- methods: {
164
- init(value) {
165
- this.contentBackground = Color(this.mainColor).alpha(0.2).toString();
166
- },
167
- getList() {
168
- jfbRootExec("getCouponList", {
169
- vm: this,
170
- data: {
171
- distribution_method: this.method,
172
- namespace: this.pageBusinessCode,
173
- activity_id: this.activity_id,
174
- },
175
- })
176
- .then((res) => {
177
- this.background = getServiceUrl(res.background);
178
- this.app_coupon_url = getServiceUrl(res.app_coupon_url);
179
- this.btn = res.app_activity_button
180
- ? {
181
- background: `url(${getServiceUrl(res.app_activity_button)})`,
182
- backgroundSize: "100% 100%",
183
- backgroundRepeat: "no-repeat",
184
- }
185
- : { background: this.mainColor };
186
- this.couponList = res.list;
187
- })
188
- .catch((err) => {
189
- console.log(err, "err");
190
- });
191
- },
192
- getCoupont() {
193
- this.$xdShowLoading({});
194
- jfbRootExec("getAllCoupon", {
195
- vm: this,
196
- data: {
197
- distribution_method: this.method,
198
- namespace: this.pageBusinessCode,
199
- activity_id: this.activity_id,
200
- },
201
- })
202
- .then((res) => {
203
- this.order_num = res.tmp_order_number;
204
- this.getResult();
205
- })
206
- .catch((err) => {
207
- console.log(err, "err");
208
- });
209
- },
210
- getResult() {
211
- jfbRootExec("getCouponResult", {
212
- vm: this,
213
- data: {
214
- tmp_order_number: this.order_num,
215
- },
216
- })
217
- .then((res) => {
218
- if (res.status_type === "success") {
219
- this.$xdHideLoading();
220
- this.$xdAlert({
221
- content: "领取成功",
222
- zIndex: 3200,
223
- time: 2000,
224
- isClose: false,
225
- });
226
- this.disabled = true;
227
- if (this.timeer) {
228
- clearTimeout(this.timeer);
229
- }
230
- return;
231
- }
232
- if (res.status_type === "error") {
233
- this.$xdHideLoading();
234
- this.$xdAlert({
235
- content: "领取失败",
236
- zIndex: 3200,
237
- time: 2000,
238
- isClose: false,
239
- });
240
- this.disabled = false;
241
- if (this.timeer) {
242
- clearTimeout(this.timeer);
243
- }
244
- return;
245
- }
246
- this.time++;
247
- this.timeer = setTimeout(() => {
248
- this.getResult();
249
- if (this.time > 5)
250
- this.$xdLog.setARMSInfo(
251
- { message: "领取中" },
252
- `pay_${res.status_type}`
253
- );
254
- }, Math.pow(this.date, this.time > this.maxTime ? this.maxTime : this.time) * 1000);
255
- })
256
- .catch((err) => {
257
- this.$xdHideLoading();
258
- console.log(err, "err");
259
- });
260
- },
261
- getContent() {
262
- jfbRootExec("getListBaseNewsContentCoupon", {
263
- vm: this,
264
- data: {
265
- page_id: this.pageAttr["page_id"], //页面ID
266
- container_id: this.containerId, //组件ID
267
- limit: 1,
268
- },
269
- })
270
- .then((res) => {
271
- console.log(res, "ajajajajaj");
272
- if (res.list.length > 0) {
273
- this.notice = res.list[0].content;
274
- }
275
- })
276
- .catch((error) => {
277
- console.error(error);
278
- });
279
- },
280
- onJfbLoad(options) {
281
- console.log(this.pageBusinessCode, "pageNamespace");
282
- this.activity_id = options.activity_id;
283
- this.method = options.distribution_method
284
- ? options.distribution_method
285
- : "entry";
286
- this.getContent();
287
- this.getList();
288
- },
289
-
290
- onJfbShow() {
291
- if (this.timeer) {
292
- clearTimeout(this.timeer);
293
- }
294
- this.time = 0;
295
- if (this.order_num) this.getResult();
296
- },
297
-
298
- onJfbUnload() {
299
- if (this.timeer) {
300
- clearTimeout(this.timeer);
301
- }
302
- },
303
-
304
- onJfbBack(options) {
305
- if (this.timeer) {
306
- clearTimeout(this.timeer);
307
- }
308
- if (this.$configProject.isPreview) return;
309
- this.$xdUniHelper.navigateBack();
310
- },
311
- },
312
- };
313
- </script>
314
-
315
- <style scoped lang="less">
316
- @import "./JfbBaseConListLess.less";
317
-
318
- .jfb-base-con-list {
319
- &__body {
320
- position: relative;
321
- &-header {
322
- height: unit(600, rpx);
323
- & > image {
324
- width: 100%;
325
- height: 100%;
326
- }
327
- }
328
- &-content {
329
- border-radius: unit(20, rpx);
330
- background: #fff;
331
- padding: unit(40, rpx);
332
- position: absolute;
333
- top: unit(164, rpx);
334
- left: 50%;
335
- transform: translateX(-50%);
336
- width: unit(600, rpx);
337
-
338
- &-header {
339
- display: flex;
340
- justify-content: space-between;
341
- align-items: center;
342
-
343
- &-left {
344
- display: flex;
345
- align-items: center;
346
- font-size: unit(32, rpx);
347
- & > view:first-child {
348
- width: unit(8, rpx);
349
- height: unit(36, rpx);
350
- border-radius: unit(4, rpx);
351
- margin-right: unit(20, rpx);
352
- }
353
- }
354
-
355
- &-right {
356
- display: flex;
357
- font-size: unit(24, rpx);
358
- padding: unit(8, rpx) unit(16, rpx);
359
- border-radius: unit(24, rpx);
360
- }
361
- }
362
-
363
- &-list {
364
- margin-top: unit(20, rpx);
365
-
366
- &-item {
367
- margin-top: unit(20, rpx);
368
- display: flex;
369
- justify-content: space-between;
370
- align-items: center;
371
- padding: unit(20, rpx) unit(30, rpx);
372
- border-radius: unit(12, rpx);
373
- &-left {
374
- display: flex;
375
-
376
- &-info {
377
- padding: unit(20, rpx) unit(36, rpx);
378
- & > view:first-child {
379
- font-size: unit(44, rpx);
380
- font-weight: 500;
381
- margin-bottom: unit(36, rpx);
382
- }
383
- & > view:nth-child(2) {
384
- font-size: unit(28, rpx);
385
- color: #fff;
386
- }
387
- }
388
-
389
- &-num {
390
- margin-left: unit(24, rpx);
391
- margin-top: unit(10, rpx);
392
- & > view:first-child {
393
- font-size: unit(40, rpx);
394
- margin-bottom: unit(16, rpx);
395
- }
396
- & > view:nth-child(2) {
397
- font-size: unit(28, rpx);
398
- }
399
- }
400
- }
401
- }
402
- }
403
- }
404
- .bottom_btn {
405
- position: fixed;
406
- width: 100%;
407
- display: flex;
408
- justify-content: center;
409
- align-items: center;
410
- height: unit(120, rpx);
411
- background: #ffffff;
412
- }
413
- }
414
- }
415
- </style>
@@ -1,80 +0,0 @@
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-con-list {
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-con-list {
75
- &:before {
76
- content: " ";
77
- display: table;
78
- }
79
- }
80
- /**endNotPreview**/