jufubao-takeorder 1.0.1

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 (50) 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 +122 -0
  8. package/src/CreateClientID.js +16 -0
  9. package/src/ICONS.js +1148 -0
  10. package/src/appParams.js +1 -0
  11. package/src/common/authorize.js +261 -0
  12. package/src/common/getBusinessImageUrl.js +39 -0
  13. package/src/common/getServiceUrl.js +38 -0
  14. package/src/common/paysdk/jweixin.js +98 -0
  15. package/src/components/CusCouponChose/CusCouponChose.vue +1024 -0
  16. package/src/components/CusCouponItem/CusCouponItem.vue +298 -0
  17. package/src/components/CusEnter/CusEnter.vue +368 -0
  18. package/src/components/CusListItem/CusListItem.vue +141 -0
  19. package/src/components/CusPoster/CusPoster.vue +167 -0
  20. package/src/components/CusPoster/CusSwiperDot.vue +234 -0
  21. package/src/components/CusPrice/CusPrice.vue +383 -0
  22. package/src/components/CusProduct/CusProduct.vue +763 -0
  23. package/src/components/CusShops/CusShops.vue +717 -0
  24. package/src/components/CusSwiperDot/CusSwiperDot.vue +234 -0
  25. package/src/components/CusTab/CusTab.vue +544 -0
  26. package/src/components/CusVideo/CusVideo.vue +170 -0
  27. package/src/components/CusVipList/CusVipList.vue +169 -0
  28. package/src/config.app.plus.js +6 -0
  29. package/src/config.h5.js +13 -0
  30. package/src/config.mp.weixin.js +13 -0
  31. package/src/config.project.js +15 -0
  32. package/src/get.package.path.js +22 -0
  33. package/src/mixins/cardListMixins.js +187 -0
  34. package/src/mixins/colorCardMixins.js +122 -0
  35. package/src/mixins/componentsMixins.js +900 -0
  36. package/src/mixins/extsMixins.js +3 -0
  37. package/src/mixins/locationMixins.js +119 -0
  38. package/src/mixins/newLocaltionMixins.js +754 -0
  39. package/src/mixins/openDebuggerMixins.js +74 -0
  40. package/src/mixins/pageEditx.js +347 -0
  41. package/src/mixins/pageEvent.js +311 -0
  42. package/src/mixins/pageMain.js +120 -0
  43. package/src/mixins/pageUitls.js +738 -0
  44. package/src/mixins/posterMixins.js +122 -0
  45. package/src/mixins/scrollListFixedHeigthMixins.js +174 -0
  46. package/src/mocks.js +4 -0
  47. package/src/oss.config.js +17 -0
  48. package/src/settings.js +244 -0
  49. package/src/staticVersion.js +3 -0
  50. package/src/xd.less +196 -0
@@ -0,0 +1,141 @@
1
+ <template>
2
+ <view class="xd-my-list-item"
3
+ :class="'size_'+size + ' ' + className"
4
+ :style="{
5
+ borderBottom: showBottom ? '1px solid #F6F6F6':'none',
6
+ // marginTop: showBottom? paddingTB: 0,
7
+ paddingLeft: paddingLR,
8
+ paddingRight: paddingLR,
9
+ paddingTop: paddingTB,
10
+ paddingBottom: paddingTB,
11
+ }"
12
+ @click="$emit('click')">
13
+ <view v-if="listIcon" class="my-list_icon">
14
+ <image mode="widthFix" :src="listIcon" />
15
+ </view>
16
+ <view class="my-list_label">
17
+ <slot name="label">
18
+ <view v-html="label"></view>
19
+ </slot>
20
+ </view>
21
+ <view class="my-list_value">
22
+ <slot></slot>
23
+ <xd-font-icon
24
+ v-if="showRight"
25
+ :style="{
26
+ marginLeft: '10rpx',
27
+ color: '#B1B1B1'
28
+ }"
29
+ size="24"
30
+ icon="iconxiangyou_xian"
31
+ ></xd-font-icon>
32
+ </view>
33
+
34
+ </view>
35
+ </template>
36
+
37
+ <script>
38
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
39
+ export default {
40
+ components: {
41
+ XdFontIcon
42
+ },
43
+ data(){
44
+ return {
45
+
46
+ }
47
+ },
48
+ props: {
49
+ size: {
50
+ type: String,
51
+ default: "default"
52
+ },
53
+ paddingTB:{
54
+ type: String,
55
+ default: "24rpx"
56
+ },
57
+ paddingLR: {
58
+ type: String,
59
+ default: "0rpx"
60
+ },
61
+ //是否显示border-bottom
62
+ showBottom: {
63
+ type: Boolean,
64
+ default: false
65
+ },
66
+ //是否显示右箭头
67
+ showRight: {
68
+ type: Boolean,
69
+ default: false
70
+ },
71
+ //是否显示图标
72
+ listIcon: {
73
+ type: String,
74
+ default: ''
75
+ },
76
+ //label
77
+ label: {
78
+ type: String,
79
+ default: ''
80
+ },
81
+ className: {
82
+ type: String,
83
+ default: ''
84
+ }
85
+ }
86
+
87
+ }
88
+ </script>
89
+
90
+ <style lang="less" scoped>
91
+ .xd-my-list-item{
92
+ display: flex;
93
+ align-items: center;
94
+ padding: 30rpx 0;
95
+ font-size: 28rpx;
96
+
97
+ &.size_large{
98
+ .my-list_value,
99
+ .my-list_label{
100
+ font-size: 28rpx;
101
+ font-weight: 400;
102
+ }
103
+ }
104
+ &.size_default{
105
+ .my-list_value,
106
+ .my-list_label{
107
+ font-size: 28rpx;
108
+ font-weight: 400;
109
+ }
110
+ }
111
+ &.size_small{
112
+ .my-list_value,
113
+ .my-list_label{
114
+ font-size: 24rpx;
115
+ font-weight: 400;
116
+ }
117
+ }
118
+
119
+ .my-list_icon{
120
+ width: 32rpx;
121
+ margin-right: 24rpx;
122
+
123
+ image{
124
+ width: 32rpx;
125
+ }
126
+ }
127
+
128
+ .my-list_label{
129
+ // flex: 1;
130
+ }
131
+ .my-list_value{
132
+ flex: 1;
133
+ display: flex;
134
+ align-items: center;
135
+ justify-content: flex-end;
136
+ }
137
+ .arrow_right{
138
+ width: 44rpx;
139
+ }
140
+ }
141
+ </style>
@@ -0,0 +1,167 @@
1
+ <template>
2
+ <view
3
+ class="list-poster"
4
+ v-if="posterList !== null && posterList.length > 0"
5
+ >
6
+ <view
7
+ :style="{width: '100%', height: styleObj.posterSize.height + 'rpx' }"
8
+ class="list-poster-one"
9
+ v-if="posterList.length === 1"
10
+ >
11
+ <image
12
+ @click.stop="handlePosterClick(posterList[0],0)"
13
+ :style="{width: '100%', height: styleObj.posterSize.height + 'rpx', borderRadius: imageRadius + 'rpx' }"
14
+ :src="getCNDUrl(posterList[0].image_url)"
15
+ :alt="posterList[0].content_name"
16
+ mode="widthFix"
17
+ ></image>
18
+ </view>
19
+
20
+ <view class="list-poster-more" v-else>
21
+ <cus-swiper-dot
22
+ :style="{width:'100%', height: styleObj.posterSize.height + 'rpx' }"
23
+ :current="current"
24
+ :info="posterList"
25
+ field="content_name"
26
+ :mode="mode"
27
+ :dots-styles="dotStyleData"
28
+ >
29
+ <swiper
30
+ class="swiper xd-swiper-content"
31
+ :style="{width: '100%', height: styleObj.posterSize.height + 'rpx' }"
32
+ :indicator-dots="false"
33
+ :autoplay="styleObj.carouselTime >0"
34
+ :interval="styleObj.carouselTime"
35
+ :duration="500"
36
+ :current="current"
37
+ circular
38
+ @animationfinish="handleAnimationFinish"
39
+ @change="handleChange"
40
+ >
41
+ <swiper-item v-for="(item,index) in posterList" :key="index" @click.stop="handlePosterClick(item,index)">
42
+ <image
43
+ :style="{width: '100%', height: styleObj.posterSize.height + 'rpx', borderRadius: imageRadius + 'rpx' }"
44
+ :src="getCNDUrl(item['image_url'])"
45
+ mode="widthFix"
46
+ ></image>
47
+ </swiper-item>
48
+ </swiper>
49
+ </cus-swiper-dot>
50
+ </view>
51
+ </view>
52
+ </template>
53
+
54
+ <script>
55
+
56
+ import CusSwiperDot from "@/components/CusSwiperDot/CusSwiperDot.vue";
57
+ import posterMixins from "@/mixins/posterMixins";
58
+ import Color from "color";
59
+ import getServiceUrl from "@/common/getServiceUrl";
60
+
61
+ export default {
62
+ name: "CusPoster",
63
+ components: {
64
+ CusSwiperDot
65
+ },
66
+ mixins:[posterMixins],
67
+ props:{
68
+ styleObj:{
69
+ type: Object,
70
+ default(){
71
+ return {}
72
+ }
73
+ },
74
+ posterList:{
75
+ type: Array|null,
76
+ default: null
77
+ },
78
+ mode:{
79
+ type: String,
80
+ default:''
81
+ },
82
+ mainColor:{
83
+ type:String,
84
+ required: true
85
+ },
86
+ imageRadius:{
87
+ type: String|Number,
88
+ default: '0'
89
+ },
90
+ },
91
+
92
+ computed:{
93
+ dotStyleData(){
94
+ return this.dotStyleDataConf()[this.mode];
95
+ }
96
+ },
97
+
98
+ data(){
99
+
100
+ return {
101
+ current:0,
102
+ dotStyleDataConf(){
103
+ let alpha = 0.6;
104
+ let selectedColor = `rgba(${Color(this.mainColor).alpha(alpha).array().join(',')})`;
105
+ return {
106
+ dot: {
107
+ backgroundColor: 'rgba(166,166,166,.5)',
108
+ border: '0px rgba(166,166,166,.5) solid',
109
+ color: '#fff',
110
+ selectedBackgroundColor: selectedColor,
111
+ selectedBorder: `0px this.mainColor solid`
112
+ },
113
+ default: {
114
+ width: 16,
115
+ backgroundColor: 'rgba(200,200,200,.45)',
116
+ border: '1px rgba(200,200,200,.45) solid',
117
+ color: '#fff',
118
+ selectedBackgroundColor: selectedColor,
119
+ selectedBorder: `1px this.mainColor solid`
120
+ },
121
+ round: {
122
+ backgroundColor: 'rgba(166,166,166,.5)',
123
+ border: '0px rgba(166,166,166,.5) solid',
124
+ color: '#fff',
125
+ selectedBackgroundColor: selectedColor,
126
+ selectedBorder: `0px this.mainColor solid`
127
+ },
128
+ nav: {
129
+ backgroundColor: 'rgba(0,0,0,.5)',
130
+ border: '1px rgba(0,0,0,.5) solid',
131
+ color: '#fff',
132
+ selectedBackgroundColor: 'rgba(255, 255, 255, 1)',
133
+ selectedBorder: '1px rgba(255, 255, 255 1) solid'
134
+ },
135
+ indexes: {
136
+ backgroundColor: 'rgba(0,0,0,.5)',
137
+ border: '0px rgba(0,0,0,.5) solid',
138
+ color: '#aaa',
139
+ selectedBackgroundColor: 'rgba(0,0,0,.8)',
140
+ selectedBorder: '0px rgba(0,0,0,.8) solid',
141
+ selectedColor: '#fff',
142
+ }
143
+ }
144
+ },
145
+ }
146
+ },
147
+ methods:{
148
+ getCNDUrl(url) {
149
+ return getServiceUrl(url,'size8')
150
+ },
151
+
152
+ handleChange(e){
153
+ this.current = e.detail.current;
154
+ },
155
+
156
+ handleAnimationFinish(e){
157
+ //this.current = e.detail.current;
158
+ },
159
+ }
160
+ }
161
+
162
+ </script>
163
+
164
+
165
+ <style scoped lang="less">
166
+
167
+ </style>
@@ -0,0 +1,234 @@
1
+ <template>
2
+ <view class="uni-swiper__warp">
3
+ <slot />
4
+ <view v-if="mode === 'default'" :style="{'bottom':dots.bottom + 'px'}" class="uni-swiper__dots-box" key='default'>
5
+ <view v-for="(item,index) in info" @click="clickItem(index)" :style="{
6
+ 'width': (index === current? dots.width*1.7: dots.width ) + 'px','height':dots.width*(2/5) +'px' ,'background-color':index !== current?dots.backgroundColor:dots.selectedBackgroundColor,'border-radius':'0px'}"
7
+ :key="index" class="uni-swiper__dots-item uni-swiper__dots-bar" />
8
+ </view>
9
+ <view v-if="mode === 'dot'" :style="{'bottom':dots.bottom + 'px'}" class="uni-swiper__dots-box" key='dot'>
10
+ <view v-for="(item,index) in info" @click="clickItem(index)" :style="{
11
+ 'width': dots.width + 'px','height':dots.height +'px' ,'background-color':index !== current?dots.backgroundColor:dots.selectedBackgroundColor,'border':index !==current ? dots.border:dots.selectedBorder}"
12
+ :key="index" class="uni-swiper__dots-item" />
13
+ </view>
14
+ <view v-if="mode === 'round'" :style="{'bottom':dots.bottom + 'px'}" class="uni-swiper__dots-box" key='round'>
15
+ <view v-for="(item,index) in info" @click="clickItem(index)" :class="[index === current&&'uni-swiper__dots-long']" :style="{
16
+ 'width':(index === current? dots.width*3:dots.width ) + 'px','height':dots.height +'px' ,'background-color':index !== current?dots.backgroundColor:dots.selectedBackgroundColor,'border':index !==current ? dots.border:dots.selectedBorder}"
17
+ :key="index" class="uni-swiper__dots-item " />
18
+ </view>
19
+ <view v-if="mode === 'nav'" key='nav' :style="{'background-color':dotsStyles.backgroundColor,'bottom':'0'}" class="uni-swiper__dots-box uni-swiper__dots-nav">
20
+ <text :style="{'color':dotsStyles.color}" class="uni-swiper__dots-nav-item">{{ (current+1)+"/"+info.length }}</text>
21
+ </view>
22
+ <view v-if="mode === 'indexes'" key='indexes' :style="{'bottom':dots.bottom + 'px'}" class="uni-swiper__dots-box">
23
+ <view v-for="(item,index) in info" @click="clickItem(index)" :style="{
24
+ 'width':dots.width + 'rpx','height':dots.height +'rpx' ,'color':index === current?dots.selectedColor:dots.color,'background-color':index !== current?dots.backgroundColor:dots.selectedBackgroundColor,'border':index !==current ? dots.border:dots.selectedBorder}"
25
+ :key="index" class="uni-swiper__dots-item uni-swiper__dots-indexes"><text class="uni-swiper__dots-indexes-text">{{ index+1 }}</text></view>
26
+ </view>
27
+ </view>
28
+ </template>
29
+
30
+ <script>
31
+
32
+ /**
33
+ * XdSwiperDot 轮播图指示点
34
+ * @description 自定义轮播图指示点
35
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=284
36
+ * @property {Number} current 当前指示点索引,必须是通过 `swiper` 的 `change` 事件获取到的 `e.detail.current`
37
+ * @property {String} mode = [default|round|nav|indexes] 指示点的类型
38
+ * @value defualt 默认指示点
39
+ * @value round 圆形指示点
40
+ * @value nav 条形指示点
41
+ * @value indexes 索引指示点
42
+ * @property {String} field mode 为 nav 时,显示的内容字段(mode = nav 时必填)
43
+ * @property {String} info 轮播图的数据,通过数组长度决定指示点个数
44
+ * @property {Object} dotsStyles 指示点样式
45
+ * @event {Function} clickItem 组件触发点击事件时触发,e={currentIndex}
46
+ */
47
+
48
+ export default {
49
+ name: 'XdSwiperDot',
50
+ emits:['clickItem'],
51
+ props: {
52
+ info: {
53
+ type: Array,
54
+ default () {
55
+ return []
56
+ }
57
+ },
58
+ current: {
59
+ type: Number,
60
+ default: 0
61
+ },
62
+ dotsStyles: {
63
+ type: Object,
64
+ default () {
65
+ return {}
66
+ }
67
+ },
68
+ // 类型 :default(默认) indexes long nav
69
+ mode: {
70
+ type: String,
71
+ default: 'default'
72
+ },
73
+ // 只在 nav 模式下生效,变量名称
74
+ field: {
75
+ type: String,
76
+ default: ''
77
+ }
78
+ },
79
+ data() {
80
+ return {
81
+ dotsSource: {
82
+ width: 8,
83
+ height: 8,
84
+ bottom: 7,
85
+ color: '#fff',
86
+ backgroundColor: 'rgba(0, 0, 0, .3)',
87
+ border: '1px rgba(0, 0, 0, .3) solid',
88
+ selectedBackgroundColor: '#333',
89
+ selectedBorder: '1px rgba(0, 0, 0, .9) solid'
90
+ },
91
+ dots: { }
92
+ }
93
+ },
94
+ watch: {
95
+ dotsStyles(newVal) {
96
+ this.init(newVal)
97
+ },
98
+ mode() {
99
+ this.init(this.dotsStyles)
100
+ }
101
+
102
+ },
103
+ created() {
104
+ this.init(this.dotsStyles)
105
+ },
106
+ methods: {
107
+ clickItem(index) {
108
+ this.$emit('clickItem', index)
109
+ },
110
+
111
+ init(value){
112
+ let dot = {};
113
+ if (this.mode === 'indexes') {
114
+ dot = {
115
+ width: 34,
116
+ height: 34,
117
+ }
118
+ }
119
+ this.dots = Object.assign(
120
+ JSON.parse(JSON.stringify(this.dotsSource)),
121
+ JSON.parse(JSON.stringify(value)),
122
+ dot
123
+ )
124
+ }
125
+
126
+ }
127
+ }
128
+ </script>
129
+
130
+ <style lang="scss" scoped>
131
+ .uni-swiper__warp {
132
+ /* #ifndef APP-NVUE */
133
+ display: flex;
134
+ /* #endif */
135
+ flex: 1;
136
+ flex-direction: column;
137
+ position: relative;
138
+ overflow: hidden;
139
+ }
140
+
141
+ .uni-swiper__dots-box {
142
+ position: absolute;
143
+ bottom: 10px;
144
+ left: 0;
145
+ right: 0;
146
+ /* #ifndef APP-NVUE */
147
+ display: flex;
148
+ /* #endif */
149
+ flex: 1;
150
+ flex-direction: row;
151
+ justify-content: center;
152
+ align-items: center;
153
+ }
154
+
155
+ .uni-swiper__dots-item {
156
+ width: 8px;
157
+ border-radius: 100px;
158
+ margin-left: 6px;
159
+ background-color: $uni-bg-color-mask;
160
+ /* #ifndef APP-NVUE */
161
+ cursor: pointer;
162
+ /* #endif */
163
+ /* #ifdef H5 */
164
+ // border-width: 5px 0;
165
+ // border-style: solid;
166
+ // border-color: transparent;
167
+ // background-clip: padding-box;
168
+ /* #endif */
169
+ // transition: width 0.2s linear; 不要取消注释,不然会不能变色
170
+ }
171
+
172
+ .uni-swiper__dots-item:first-child {
173
+ margin: 0;
174
+ }
175
+
176
+ .uni-swiper__dots-default {
177
+ border-radius: 100px;
178
+ }
179
+
180
+ .uni-swiper__dots-long {
181
+ border-radius: 50px;
182
+ }
183
+
184
+ .uni-swiper__dots-bar {
185
+ border-radius: 50px;
186
+ }
187
+
188
+ .uni-swiper__dots-nav {
189
+ bottom: 20rpx!important;
190
+ height: 38rpx;
191
+ line-height: 38rpx;
192
+ position: absolute;
193
+ right: 0;
194
+ left: initial;
195
+ /* #ifndef APP-NVUE */
196
+ display: flex;
197
+ /* #endif */
198
+ flex: 1;
199
+ flex-direction: row;
200
+ justify-content: flex-start;
201
+ align-items: center;
202
+ background-color: rgba(0, 0, 0, 0.5);
203
+ border-radius: 6rpx 0 0 6rpx;
204
+
205
+ & > text {
206
+ font-size: 20rpx;
207
+ padding: 0 10px!important;
208
+ margin: 0;
209
+ text-align: center;
210
+ }
211
+ }
212
+
213
+ .uni-swiper__dots-nav-item {
214
+ /* overflow: hidden;
215
+ text-overflow: ellipsis;
216
+ white-space: nowrap; */
217
+ font-size: $uni-font-size-base;
218
+ color: #fff;
219
+ margin: 0 15px;
220
+ }
221
+
222
+ .uni-swiper__dots-indexes {
223
+ /* #ifndef APP-NVUE */
224
+ display: flex;
225
+ /* #endif */
226
+ // flex: 1;
227
+ justify-content: center;
228
+ align-items: center;
229
+ }
230
+
231
+ .uni-swiper__dots-indexes-text {
232
+ font-size: $uni-font-size-sm;
233
+ }
234
+ </style>