jufubao-forms 1.0.0-beta1

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 (70) hide show
  1. package/README.md +27 -0
  2. package/commands.js +84 -0
  3. package/commands.update.change.js +176 -0
  4. package/file.config.js +16 -0
  5. package/get.package.path.js +22 -0
  6. package/get.package.path.js.tpl +22 -0
  7. package/package.json +119 -0
  8. package/src/CreateClientID.js +16 -0
  9. package/src/ICONS.js +1148 -0
  10. package/src/common/authorize.js +261 -0
  11. package/src/common/getBusinessImageUrl.js +39 -0
  12. package/src/common/getServiceUrl.js +38 -0
  13. package/src/common/paysdk/jweixin.js +98 -0
  14. package/src/components/CusCouponChose/CusCouponChose.vue +1024 -0
  15. package/src/components/CusCouponItem/CusCouponItem.vue +298 -0
  16. package/src/components/CusEnter/CusEnter.vue +333 -0
  17. package/src/components/CusPoster/CusPoster.vue +213 -0
  18. package/src/components/CusPoster/CusSwiperDot.vue +234 -0
  19. package/src/components/CusProduct/CusProduct.vue +362 -0
  20. package/src/components/CusSwiperDot/CusSwiperDot.vue +234 -0
  21. package/src/components/CusTab/CusTab.vue +411 -0
  22. package/src/components/CusVideo/CusVideo.vue +170 -0
  23. package/src/components/JfbFormsDynamicForm/Api.js +66 -0
  24. package/src/components/JfbFormsDynamicForm/Attr.js +35 -0
  25. package/src/components/JfbFormsDynamicForm/JfbFormsDynamicForm.vue +767 -0
  26. package/src/components/JfbFormsDynamicForm/JfbFormsDynamicFormLess.less +79 -0
  27. package/src/components/JfbFormsDynamicForm/JfbFormsDynamicFormMixin.js +30 -0
  28. package/src/components/JfbFormsDynamicForm/Mock.js +194 -0
  29. package/src/components/JfbFormsDynamicForm/XdFormDate.vue +71 -0
  30. package/src/components/JfbFormsDynamicForm/ld-select/ld-select.vue +329 -0
  31. package/src/components/JfbFormsDynamicForm/uni-datetime-picker/calendar-item.vue +177 -0
  32. package/src/components/JfbFormsDynamicForm/uni-datetime-picker/calendar.vue +930 -0
  33. package/src/components/JfbFormsDynamicForm/uni-datetime-picker/i18n/en.json +22 -0
  34. package/src/components/JfbFormsDynamicForm/uni-datetime-picker/i18n/index.js +8 -0
  35. package/src/components/JfbFormsDynamicForm/uni-datetime-picker/i18n/zh-Hans.json +22 -0
  36. package/src/components/JfbFormsDynamicForm/uni-datetime-picker/i18n/zh-Hant.json +22 -0
  37. package/src/components/JfbFormsDynamicForm/uni-datetime-picker/time-picker.vue +934 -0
  38. package/src/components/JfbFormsDynamicForm/uni-datetime-picker/uni-datetime-picker.vue +1042 -0
  39. package/src/components/JfbFormsDynamicForm/uni-datetime-picker/util.js +403 -0
  40. package/src/components/JfbFormsList/Api.js +20 -0
  41. package/src/components/JfbFormsList/Attr.js +70 -0
  42. package/src/components/JfbFormsList/JfbFormsList.vue +228 -0
  43. package/src/components/JfbFormsList/JfbFormsListLess.less +79 -0
  44. package/src/components/JfbFormsList/JfbFormsListMixin.js +30 -0
  45. package/src/components/JfbFormsList/Mock.js +38 -0
  46. package/src/components/JfbFormsQuestionAndAnswer/Api.js +43 -0
  47. package/src/components/JfbFormsQuestionAndAnswer/Attr.js +14 -0
  48. package/src/components/JfbFormsQuestionAndAnswer/JfbFormsQuestionAndAnswer.vue +506 -0
  49. package/src/components/JfbFormsQuestionAndAnswer/JfbFormsQuestionAndAnswerLess.less +79 -0
  50. package/src/components/JfbFormsQuestionAndAnswer/JfbFormsQuestionAndAnswerMixin.js +30 -0
  51. package/src/components/JfbFormsQuestionAndAnswer/Mock.js +144 -0
  52. package/src/components/SkeProduct/SkeProduct.vue +241 -0
  53. package/src/config.app.plus.js +6 -0
  54. package/src/config.h5.js +13 -0
  55. package/src/config.mp.weixin.js +13 -0
  56. package/src/config.project.js +15 -0
  57. package/src/mixins/cardListMixins.js +187 -0
  58. package/src/mixins/colorCardMixins.js +122 -0
  59. package/src/mixins/componentsMixins.js +900 -0
  60. package/src/mixins/extsMixins.js +3 -0
  61. package/src/mixins/locationMixins.js +119 -0
  62. package/src/mixins/newLocaltionMixins.js +754 -0
  63. package/src/mixins/openDebuggerMixins.js +74 -0
  64. package/src/mixins/pageEditx.js +347 -0
  65. package/src/mixins/pageEvent.js +311 -0
  66. package/src/mixins/pageMain.js +120 -0
  67. package/src/mixins/pageUitls.js +738 -0
  68. package/src/mixins/posterMixins.js +122 -0
  69. package/src/mixins/scrollListFixedHeigthMixins.js +174 -0
  70. package/src/mocks.js +4 -0
@@ -0,0 +1,79 @@
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-forms-question-and-answer {
16
+ box-sizing: border-box;
17
+
18
+ &__body{
19
+ position: relative;
20
+ overflow: hidden;
21
+ z-index: 2
22
+ }
23
+
24
+ &.editx,&.editx:hover {
25
+ position: relative;
26
+ min-height: unit(100, rpx);
27
+ z-index: 3;
28
+ &::after {
29
+ border: 2rpx dashed blue;
30
+ content: " ";
31
+ position: absolute;
32
+ top:0;
33
+ left:0;
34
+ bottom:0;
35
+ right:0;
36
+ z-index: var(--preview-z-index);
37
+ cursor: pointer;
38
+ }
39
+
40
+ }
41
+
42
+
43
+ &__edit {
44
+ cursor: pointer;
45
+ position: absolute;
46
+ right: unit(0, rpx);
47
+ top: unit(-52, rpx);
48
+ height: unit(50, rpx);
49
+ line-height: unit(50, rpx);
50
+ display: flex;
51
+ justify-content: center;
52
+ align-items: center;
53
+ background: rgba(0, 0, 0, .6);
54
+ border-radius: unit(10, rpx);
55
+ box-shadow: 0 0 10px rbga(0, 0, 0, 0.3);
56
+ color: #fff;
57
+ font-size: unit(22, rpx);
58
+
59
+ &-icon{
60
+ padding: 0 unit(20, rpx);
61
+ }
62
+
63
+ &.editx {
64
+ box-sizing: border-box;
65
+
66
+ }
67
+ }
68
+ }
69
+ //end
70
+
71
+
72
+ /**notPreview**/
73
+ .jfb-forms-question-and-answer {
74
+ //&:before {
75
+ //content: " ";
76
+ //display: table;
77
+ //}
78
+ }
79
+ /**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-forms-question-and-answer'
20
+ }
21
+ },
22
+ created() {
23
+
24
+ //@AttrDataCreated
25
+ this.Attr = this.$xdUniHelper.customClone(Attr);
26
+ //@EndAttrDataCreated
27
+
28
+
29
+ },
30
+ }
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ module.exports = {
4
+ getDynamicForm: {
5
+ message: "",
6
+ form_name: "抽奖11",
7
+ list: [
8
+ {
9
+ field_id: 78,
10
+ field_value: "field_78",
11
+ form_id: 38,
12
+ field_name: "123的因数有几个?",
13
+ field_type: "radio",
14
+ is_show_explain: "Y",
15
+ explain: "标题说明标题说明标题说明",
16
+ required: false,
17
+ options: [
18
+ { value: "1", label: "1" },
19
+ { value: "2", label: "2" },
20
+ { value: "3", label: "3" }
21
+ ],
22
+ default: "",
23
+ placeholder: "",
24
+ validate_type: "",
25
+ validate_rules: "",
26
+ sort: 0,
27
+ score: 0,
28
+ answer: [],
29
+ answer_analysis: "",
30
+ is_verify_answer: "N",
31
+ created_time: 1730259754,
32
+ updated_time: 1730361074
33
+ },
34
+ {
35
+ field_id: 79,
36
+ field_value: "field_79",
37
+ form_id: 38,
38
+ field_name: "有0,3,8这三个数组成的3位数中,共有几个偶数 ",
39
+ field_type: "radio",
40
+ is_show_explain: "",
41
+ explain: "",
42
+ required: true,
43
+ options: [
44
+ { value: "6", label: "6" },
45
+ { value: "5", label: "5" },
46
+ { value: "4", label: "4" },
47
+ { value: "3", label: "3" },
48
+ ],
49
+ default: "",
50
+ placeholder: "",
51
+ validate_type: "",
52
+ validate_rules: "",
53
+ sort: 0,
54
+ score: 0,
55
+ answer: ["1"],
56
+ answer_analysis: "123123123",
57
+ is_verify_answer: "Y",
58
+ created_time: 1730259777,
59
+ updated_time: 1730259777
60
+ },
61
+ {
62
+ field_id: 79,
63
+ field_value: "field_79",
64
+ form_id: 38,
65
+ field_name: "两个相同的数组成的3位数中,共有几个偶数 ",
66
+ field_type: "radio",
67
+ is_show_explain: "",
68
+ explain: "",
69
+ required: true,
70
+ options: [
71
+ { value: "6", label: "6" },
72
+ { value: "5", label: "5" },
73
+ { value: "4", label: "4" },
74
+ { value: "3", label: "3" },
75
+ ],
76
+ default: "",
77
+ placeholder: "",
78
+ validate_type: "",
79
+ validate_rules: "",
80
+ sort: 0,
81
+ score: 0,
82
+ answer: ["3"],
83
+ answer_analysis: "123123123",
84
+ is_verify_answer: "Y",
85
+ created_time: 1730259777,
86
+ updated_time: 1730259777
87
+ },
88
+ {
89
+ field_id: 79,
90
+ field_value: "field_79",
91
+ form_id: 38,
92
+ field_name: "正方形的边长是质数,它的面积一定是什么?",
93
+ field_type: "radio",
94
+ is_show_explain: "",
95
+ explain: "",
96
+ required: true,
97
+ options: [
98
+ { value: "6", label: "质数" },
99
+ { value: "5", label: "合数" },
100
+ { value: "4", label: "奇数" },
101
+ { value: "3", label: "偶数" },
102
+ ],
103
+ default: "",
104
+ placeholder: "",
105
+ validate_type: "",
106
+ validate_rules: "",
107
+ sort: 0,
108
+ score: 0,
109
+ answer: ["3"],
110
+ answer_analysis: "123123123",
111
+ is_verify_answer: "Y",
112
+ created_time: 1730259777,
113
+ updated_time: 1730259777
114
+ },
115
+ {
116
+ field_id: 79,
117
+ field_value: "field_79",
118
+ form_id: 38,
119
+ field_name: "下面那些是质数?",
120
+ field_type: "checkbox",
121
+ is_show_explain: "",
122
+ explain: "",
123
+ required: true,
124
+ options: [
125
+ { value: "6", label: "123" },
126
+ { value: "5", label: "33" },
127
+ { value: "4", label: "222" },
128
+ { value: "3", label: "44" },
129
+ ],
130
+ default: "",
131
+ placeholder: "",
132
+ validate_type: "",
133
+ validate_rules: "",
134
+ sort: 0,
135
+ score: 0,
136
+ answer: ["3"],
137
+ answer_analysis: "123123123",
138
+ is_verify_answer: "Y",
139
+ created_time: 1730259777,
140
+ updated_time: 1730259777
141
+ },
142
+ ]
143
+ }
144
+ };
@@ -0,0 +1,241 @@
1
+ <template>
2
+ <view class="skeleton-wrap-item" :class="{display: cell===1}">
3
+ <template v-if="cell===1">
4
+ <view class="image skeleton-item" :style="{marginRight:cellSpacing + 'rpx'}"></view>
5
+ <view class="content">
6
+ <view class="top">
7
+ <view class="title skeleton-item"></view>
8
+ <view class="brand skeleton-item" v-if="productConfig.is_show_brand==='Y'"></view>
9
+ <view class="tags">
10
+ <view class="skeleton-item" v-if="productConfig.showActivityPrice==='Y'"></view>
11
+ <template v-if="productConfig.isShowTag==='Y'">
12
+ <view class="skeleton-item"></view>
13
+ <view class="skeleton-item"></view>
14
+ <view class="skeleton-item"></view>
15
+ </template>
16
+ </view>
17
+ </view>
18
+ <view class="bottom">
19
+ <view class="price skeleton-item" v-if="productConfig.isPrice==='Y'"></view>
20
+ <view class="orgPrice skeleton-item" v-if="productConfig.isPrice==='Y' && productConfig.isShowDiscount === 'Y'"></view>
21
+ <view class="cart">
22
+ <view class="skeleton-item" v-if="productConfig.isAddCart === 'Y'"></view>
23
+ </view>
24
+ </view>
25
+ </view>
26
+ </template>
27
+ <template v-if="cell >= 2">
28
+ <view class="image2 skeleton-item" :style="{marginBottom:rowSpacing + 'rpx', height: height + 'rpx'}"></view>
29
+ <view class="content2">
30
+ <view class="top">
31
+ <view class="title skeleton-item"></view>
32
+ <view class="brand skeleton-item" v-if="productConfig.is_show_brand==='Y'"></view>
33
+ <view class="tags">
34
+ <view class="skeleton-item" v-if="productConfig.showActivityPrice==='Y'"></view>
35
+ <template v-if="productConfig.isShowTag==='Y'">
36
+ <view class="skeleton-item"></view>
37
+ <view class="skeleton-item"></view>
38
+ <view class="skeleton-item"></view>
39
+ </template>
40
+ </view>
41
+ </view>
42
+ <view class="bottom">
43
+ <view class="price skeleton-item" v-if="productConfig.isPrice==='Y'"></view>
44
+ <view class="orgPrice skeleton-item" v-if="productConfig.isPrice==='Y' && productConfig.isShowDiscount === 'Y'"></view>
45
+ <view class="cart">
46
+ <view class="skeleton-item" v-if="productConfig.isAddCart === 'Y'"></view>
47
+ </view>
48
+ </view>
49
+ </view>
50
+ </template>
51
+ </view>
52
+ </template>
53
+
54
+ <script>
55
+ export default {
56
+ name: "SkeProduct",
57
+ props:{
58
+ rowSpacing:{
59
+ type: Number|String,
60
+ required: true
61
+ },
62
+ cellSpacing:{
63
+ type: Number|String,
64
+ required: true
65
+ },
66
+ cell:{
67
+ type: Number,
68
+ required: true
69
+ },
70
+ height:{
71
+ type: Number|String,
72
+ default:''
73
+ },
74
+ productConfig:{
75
+ type:Object|null,
76
+ default: null
77
+ },
78
+ }
79
+ }
80
+ </script>
81
+
82
+
83
+
84
+ <style scoped lang="less">
85
+ .skeleton-wrap-item {
86
+
87
+ &.display {
88
+ display: flex;
89
+ justify-content: space-between;
90
+ align-items: center;
91
+ align-content: space-between;
92
+
93
+ & .image {
94
+ .skeleton-item(200rpx, 200rpx);
95
+ }
96
+
97
+
98
+ & .content {
99
+ flex: 1;
100
+ min-height: 200rpx;
101
+
102
+ .top {
103
+ height: 140rpx;
104
+
105
+ & .title {
106
+ .skeleton-item(100%, 60rpx);
107
+
108
+ }
109
+
110
+ & .brand {
111
+ margin-top: 10rpx;
112
+ .skeleton-item(70%, 25rpx);
113
+ }
114
+
115
+ .tags {
116
+ display: flex;
117
+ justify-content: flex-start;
118
+ align-items: center;
119
+ flex-flow: wrap;
120
+ margin-top: 10rpx;
121
+
122
+ & > view {
123
+ .skeleton-item(80rpx, 30rpx);
124
+ margin-left: 10rpx;
125
+ margin-bottom: 10rpx;
126
+ &:first-child {
127
+ margin-left: 0;
128
+ width: 120rpx;
129
+ }
130
+ }
131
+ }
132
+ }
133
+
134
+ .bottom {
135
+ display: flex;
136
+ justify-content: flex-end;
137
+ align-content: center;
138
+ align-items: center;
139
+ width: 100%;
140
+ height: 40rpx;
141
+ margin-top: 20rpx;
142
+
143
+ & .price {
144
+ flex-shrink: 0;
145
+ .skeleton-item(120rpx, 35rpx);
146
+ }
147
+
148
+ & .orgPrice {
149
+ flex-shrink: 0;
150
+ margin-left: 20rpx;
151
+ .skeleton-item(130rpx, 20rpx);
152
+ }
153
+
154
+ & .cart {
155
+ flex: 1;
156
+ display: flex;
157
+ justify-content: flex-end;
158
+ align-items: center;
159
+ & > view {
160
+ .skeleton-item(40rpx, 40rpx);
161
+ }
162
+ }
163
+ }
164
+ }
165
+ }
166
+
167
+ & .image2 {
168
+ .skeleton-item();
169
+ }
170
+
171
+ & .content2 {
172
+ flex: 1;
173
+
174
+ .top {
175
+ //min-height: 140rpx;
176
+
177
+ & .title {
178
+ .skeleton-item(100%, 60rpx);
179
+
180
+ }
181
+
182
+ & .brand {
183
+ margin-top: 10rpx;
184
+ .skeleton-item(70%, 25rpx);
185
+ }
186
+
187
+ .tags {
188
+ display: flex;
189
+ justify-content: flex-start;
190
+ align-items: center;
191
+ flex-flow: wrap;
192
+ margin-top: 10rpx;
193
+
194
+
195
+ & > view {
196
+ .skeleton-item(80rpx, 30rpx);
197
+ margin-right: 10rpx;
198
+ margin-bottom: 10rpx;
199
+
200
+ &:first-child {
201
+ margin-right: 0;
202
+ width: 120rpx;
203
+ }
204
+ }
205
+ }
206
+ }
207
+
208
+ .bottom {
209
+ width: 100%;
210
+ margin-top: 20rpx;
211
+ position: relative;
212
+
213
+ & .price {
214
+ flex-shrink: 0;
215
+ .skeleton-item(120rpx, 35rpx);
216
+ }
217
+
218
+ & .orgPrice {
219
+ flex-shrink: 0;
220
+ margin-top: 10rpx;
221
+ .skeleton-item(100rpx, 20rpx);
222
+ }
223
+
224
+ & .cart {
225
+ position: absolute;
226
+ right:0;
227
+ top:50%;
228
+ transform: translateY(-50%);
229
+ flex: 1;
230
+ display: flex;
231
+ justify-content: flex-end;
232
+ align-items: center;
233
+ & > view {
234
+ .skeleton-item(40rpx, 40rpx);
235
+ }
236
+ }
237
+ }
238
+ }
239
+
240
+ }
241
+ </style>
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ export default {
4
+
5
+ }
6
+
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ export default {
4
+ "type": "test",
5
+ "NODE_ENV": "development",
6
+ "UNI_PLATFORM": "h5",
7
+ "platform": "h5",
8
+ "viewType": "preview",
9
+ "isPreview": true,
10
+ "server": "server",
11
+ "copypack": "server",
12
+ "fileDir": "resource"
13
+ }
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ export default {
4
+ "type": "build",
5
+ "NODE_ENV": "production",
6
+ "UNI_PLATFORM": "mp-weixin",
7
+ "platform": "mp.weixin",
8
+ "viewType": "preview",
9
+ "isPreview": true,
10
+ "server": "server",
11
+ "copypack": null,
12
+ "fileDir": "resource"
13
+ }
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ //#ifdef H5
4
+ import config from "@/config.h5";
5
+ //#endif
6
+
7
+ //#ifdef MP-WEIXIN
8
+ import config from "@/config.mp.weixin";
9
+ //#endif
10
+
11
+ //#ifdef APP-PLUS
12
+ import config from "@/config.app.plus";
13
+ //#endif
14
+
15
+ export default config;