maooo-skyline-ui-system 0.1.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.
- package/README.md +157 -0
- package/miniprogram_dist/button/button.js +43 -0
- package/miniprogram_dist/button/button.json +5 -0
- package/miniprogram_dist/button/button.wxml +12 -0
- package/miniprogram_dist/button/button.wxs +23 -0
- package/miniprogram_dist/button/button.wxss +133 -0
- package/miniprogram_dist/calendar/calendar.js +549 -0
- package/miniprogram_dist/calendar/calendar.json +8 -0
- package/miniprogram_dist/calendar/calendar.wxml +79 -0
- package/miniprogram_dist/calendar/calendar.wxss +265 -0
- package/miniprogram_dist/card/card.js +22 -0
- package/miniprogram_dist/card/card.json +5 -0
- package/miniprogram_dist/card/card.wxml +9 -0
- package/miniprogram_dist/card/card.wxss +34 -0
- package/miniprogram_dist/countdown/countdown.js +213 -0
- package/miniprogram_dist/countdown/countdown.json +3 -0
- package/miniprogram_dist/countdown/countdown.wxml +9 -0
- package/miniprogram_dist/countdown/countdown.wxss +33 -0
- package/miniprogram_dist/form/form.js +12 -0
- package/miniprogram_dist/form/form.json +5 -0
- package/miniprogram_dist/form/form.wxml +12 -0
- package/miniprogram_dist/form/form.wxss +35 -0
- package/miniprogram_dist/form-group/form-group.js +53 -0
- package/miniprogram_dist/form-group/form-group.json +5 -0
- package/miniprogram_dist/form-group/form-group.wxml +11 -0
- package/miniprogram_dist/form-group/form-group.wxss +50 -0
- package/miniprogram_dist/form-input/form-input.js +48 -0
- package/miniprogram_dist/form-input/form-input.json +8 -0
- package/miniprogram_dist/form-input/form-input.wxml +28 -0
- package/miniprogram_dist/form-input/form-input.wxss +3 -0
- package/miniprogram_dist/form-textarea/form-textarea.js +34 -0
- package/miniprogram_dist/form-textarea/form-textarea.json +8 -0
- package/miniprogram_dist/form-textarea/form-textarea.wxml +20 -0
- package/miniprogram_dist/form-textarea/form-textarea.wxss +3 -0
- package/miniprogram_dist/icon/_iconfont/iconfont.js +63 -0
- package/miniprogram_dist/icon/_iconfont/iconfont.json +4 -0
- package/miniprogram_dist/icon/_iconfont/iconfont.wxml +8 -0
- package/miniprogram_dist/icon/_iconfont/iconfont.wxss +3 -0
- package/miniprogram_dist/icon/icon.js +41 -0
- package/miniprogram_dist/icon/icon.json +7 -0
- package/miniprogram_dist/icon/icon.wxml +3 -0
- package/miniprogram_dist/icon/icon.wxss +13 -0
- package/miniprogram_dist/image-cropper/image-cropper.js +703 -0
- package/miniprogram_dist/image-cropper/image-cropper.json +3 -0
- package/miniprogram_dist/image-cropper/image-cropper.wxml +58 -0
- package/miniprogram_dist/image-cropper/image-cropper.wxss +195 -0
- package/miniprogram_dist/index.js +4 -0
- package/miniprogram_dist/input/input.js +119 -0
- package/miniprogram_dist/input/input.json +7 -0
- package/miniprogram_dist/input/input.wxml +38 -0
- package/miniprogram_dist/input/input.wxss +52 -0
- package/miniprogram_dist/media-upload/media-upload.js +1108 -0
- package/miniprogram_dist/media-upload/media-upload.json +7 -0
- package/miniprogram_dist/media-upload/media-upload.wxml +98 -0
- package/miniprogram_dist/media-upload/media-upload.wxss +149 -0
- package/miniprogram_dist/navbar/navbar.js +191 -0
- package/miniprogram_dist/navbar/navbar.json +6 -0
- package/miniprogram_dist/navbar/navbar.wxml +25 -0
- package/miniprogram_dist/navbar/navbar.wxss +60 -0
- package/miniprogram_dist/notify/notify.js +342 -0
- package/miniprogram_dist/notify/notify.json +5 -0
- package/miniprogram_dist/notify/notify.wxml +27 -0
- package/miniprogram_dist/notify/notify.wxss +246 -0
- package/miniprogram_dist/notify/service.js +69 -0
- package/miniprogram_dist/oss-upload/oss-upload.js +505 -0
- package/miniprogram_dist/oss-upload/oss-upload.json +6 -0
- package/miniprogram_dist/oss-upload/oss-upload.wxml +20 -0
- package/miniprogram_dist/oss-upload/oss-upload.wxss +5 -0
- package/miniprogram_dist/popup/popup.js +36 -0
- package/miniprogram_dist/popup/popup.json +5 -0
- package/miniprogram_dist/popup/popup.wxml +14 -0
- package/miniprogram_dist/popup/popup.wxss +138 -0
- package/miniprogram_dist/popup-page/popup-page.js +341 -0
- package/miniprogram_dist/popup-page/popup-page.json +8 -0
- package/miniprogram_dist/popup-page/popup-page.wxml +65 -0
- package/miniprogram_dist/popup-page/popup-page.wxss +92 -0
- package/miniprogram_dist/progress/progress.js +161 -0
- package/miniprogram_dist/progress/progress.json +5 -0
- package/miniprogram_dist/progress/progress.wxml +16 -0
- package/miniprogram_dist/progress/progress.wxss +81 -0
- package/miniprogram_dist/rate/rate.js +127 -0
- package/miniprogram_dist/rate/rate.json +5 -0
- package/miniprogram_dist/rate/rate.wxml +32 -0
- package/miniprogram_dist/rate/rate.wxs +21 -0
- package/miniprogram_dist/rate/rate.wxss +126 -0
- package/miniprogram_dist/stepper/stepper.js +153 -0
- package/miniprogram_dist/stepper/stepper.json +5 -0
- package/miniprogram_dist/stepper/stepper.wxml +19 -0
- package/miniprogram_dist/stepper/stepper.wxss +66 -0
- package/miniprogram_dist/switch/switch.js +29 -0
- package/miniprogram_dist/switch/switch.json +3 -0
- package/miniprogram_dist/switch/switch.wxml +10 -0
- package/miniprogram_dist/switch/switch.wxss +71 -0
- package/miniprogram_dist/textarea/textarea.js +83 -0
- package/miniprogram_dist/textarea/textarea.json +5 -0
- package/miniprogram_dist/textarea/textarea.wxml +14 -0
- package/miniprogram_dist/textarea/textarea.wxss +33 -0
- package/miniprogram_dist/theme/theme.wxss +64 -0
- package/miniprogram_dist/toast/toast.js +51 -0
- package/miniprogram_dist/toast/toast.json +5 -0
- package/miniprogram_dist/toast/toast.wxml +13 -0
- package/miniprogram_dist/toast/toast.wxss +143 -0
- package/miniprogram_dist/upload/upload.js +276 -0
- package/miniprogram_dist/upload/upload.json +3 -0
- package/miniprogram_dist/upload/upload.wxml +36 -0
- package/miniprogram_dist/upload/upload.wxss +136 -0
- package/miniprogram_dist/utils/class.js +37 -0
- package/miniprogram_dist/utils/device.js +67 -0
- package/miniprogram_dist/utils/dom.js +51 -0
- package/miniprogram_dist/utils/event.js +28 -0
- package/miniprogram_dist/utils/form.js +39 -0
- package/miniprogram_dist/utils/function.js +63 -0
- package/miniprogram_dist/utils/index.js +21 -0
- package/miniprogram_dist/utils/props.js +51 -0
- package/miniprogram_dist/utils/style.js +52 -0
- package/miniprogram_dist/utils/theme.js +30 -0
- package/package.json +31 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
function normalizeSize(size) {
|
|
2
|
+
return size === "small" ? "small" : "medium";
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
Component({
|
|
6
|
+
behaviors: ["wx://form-field-group"],
|
|
7
|
+
properties: {
|
|
8
|
+
label: {
|
|
9
|
+
type: String,
|
|
10
|
+
value: ""
|
|
11
|
+
},
|
|
12
|
+
required: {
|
|
13
|
+
type: Boolean,
|
|
14
|
+
value: false
|
|
15
|
+
},
|
|
16
|
+
requiredMark: {
|
|
17
|
+
type: String,
|
|
18
|
+
value: "*"
|
|
19
|
+
},
|
|
20
|
+
help: {
|
|
21
|
+
type: String,
|
|
22
|
+
value: ""
|
|
23
|
+
},
|
|
24
|
+
error: {
|
|
25
|
+
type: String,
|
|
26
|
+
value: ""
|
|
27
|
+
},
|
|
28
|
+
size: {
|
|
29
|
+
type: String,
|
|
30
|
+
value: "medium",
|
|
31
|
+
observer: "syncState"
|
|
32
|
+
},
|
|
33
|
+
customClass: {
|
|
34
|
+
type: String,
|
|
35
|
+
value: ""
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
data: {
|
|
39
|
+
sizeClass: "mo-form-group--medium"
|
|
40
|
+
},
|
|
41
|
+
lifetimes: {
|
|
42
|
+
attached() {
|
|
43
|
+
this.syncState();
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
methods: {
|
|
47
|
+
syncState() {
|
|
48
|
+
this.setData({
|
|
49
|
+
sizeClass: `mo-form-group--${normalizeSize(this.data.size)}`
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<view class="mo-form-group {{sizeClass}} {{error ? 'is-error' : ''}} {{customClass}}">
|
|
2
|
+
<view wx:if="{{label || required}}" class="mo-form-group__label-row">
|
|
3
|
+
<text wx:if="{{label}}" class="mo-form-group__label">{{label}}</text>
|
|
4
|
+
<text wx:if="{{required}}" class="mo-form-group__required">{{requiredMark}}</text>
|
|
5
|
+
</view>
|
|
6
|
+
<view class="mo-form-group__body">
|
|
7
|
+
<slot></slot>
|
|
8
|
+
</view>
|
|
9
|
+
<text wx:if="{{error}}" class="mo-form-group__message mo-form-group__message--error">{{error}}</text>
|
|
10
|
+
<text wx:elif="{{help}}" class="mo-form-group__message">{{help}}</text>
|
|
11
|
+
</view>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
.mo-form-group {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
width: 100%;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.mo-form-group__label-row {
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
min-height: 44rpx;
|
|
11
|
+
margin-bottom: 12rpx;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.mo-form-group__label {
|
|
15
|
+
color: var(--mo-color-text-primary, #111111);
|
|
16
|
+
font-size: 30rpx;
|
|
17
|
+
font-weight: 600;
|
|
18
|
+
line-height: 42rpx;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.mo-form-group__required {
|
|
22
|
+
margin-left: 6rpx;
|
|
23
|
+
color: var(--mo-color-brand-primary, #FECBE7);
|
|
24
|
+
font-size: 30rpx;
|
|
25
|
+
font-weight: 600;
|
|
26
|
+
line-height: 42rpx;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.mo-form-group__body {
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-direction: column;
|
|
32
|
+
width: 100%;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.mo-form-group__message {
|
|
36
|
+
margin-top: 10rpx;
|
|
37
|
+
color: var(--mo-color-text-secondary, #666666);
|
|
38
|
+
font-size: 24rpx;
|
|
39
|
+
line-height: 34rpx;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.mo-form-group__message--error {
|
|
43
|
+
color: var(--mo-color-status-danger, #FA5051);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.mo-form-group--small .mo-form-group__label,
|
|
47
|
+
.mo-form-group--small .mo-form-group__required {
|
|
48
|
+
font-size: 26rpx;
|
|
49
|
+
line-height: 38rpx;
|
|
50
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
Component({
|
|
2
|
+
behaviors: ["wx://form-field-group"],
|
|
3
|
+
properties: {
|
|
4
|
+
label: { type: String, value: "" },
|
|
5
|
+
required: { type: Boolean, value: false },
|
|
6
|
+
requiredMark: { type: String, value: "*" },
|
|
7
|
+
help: { type: String, value: "" },
|
|
8
|
+
error: { type: String, value: "" },
|
|
9
|
+
size: { type: String, value: "medium" },
|
|
10
|
+
name: { type: String, value: "" },
|
|
11
|
+
value: { type: String, value: "" },
|
|
12
|
+
placeholder: { type: String, value: "请输入" },
|
|
13
|
+
type: { type: String, value: "text" },
|
|
14
|
+
focus: { type: Boolean, value: false },
|
|
15
|
+
maxlength: { type: Number, value: 140 },
|
|
16
|
+
confirmType: { type: String, value: "done" },
|
|
17
|
+
disabled: { type: Boolean, value: false },
|
|
18
|
+
allowClear: { type: Boolean, value: false },
|
|
19
|
+
prefixIcon: { type: String, value: "" },
|
|
20
|
+
suffixIcon: { type: String, value: "" },
|
|
21
|
+
customClass: { type: String, value: "" }
|
|
22
|
+
},
|
|
23
|
+
methods: {
|
|
24
|
+
emitValueEvent(type, event) {
|
|
25
|
+
const detail = event.detail || {};
|
|
26
|
+
|
|
27
|
+
this.triggerEvent(type, {
|
|
28
|
+
name: detail.name || this.data.name,
|
|
29
|
+
value: detail.value == null ? "" : detail.value
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
handleInput(event) {
|
|
33
|
+
this.emitValueEvent("input", event);
|
|
34
|
+
},
|
|
35
|
+
handleChange(event) {
|
|
36
|
+
this.emitValueEvent("change", event);
|
|
37
|
+
},
|
|
38
|
+
handleConfirm(event) {
|
|
39
|
+
this.emitValueEvent("confirm", event);
|
|
40
|
+
},
|
|
41
|
+
handleClear(event) {
|
|
42
|
+
this.emitValueEvent("clear", event);
|
|
43
|
+
},
|
|
44
|
+
handleSearch(event) {
|
|
45
|
+
this.emitValueEvent("search", event);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<mo-form-group
|
|
2
|
+
label="{{label}}"
|
|
3
|
+
required="{{required}}"
|
|
4
|
+
required-mark="{{requiredMark}}"
|
|
5
|
+
help="{{help}}"
|
|
6
|
+
error="{{error}}"
|
|
7
|
+
size="{{size}}"
|
|
8
|
+
custom-class="{{customClass}}"
|
|
9
|
+
>
|
|
10
|
+
<mo-input
|
|
11
|
+
name="{{name}}"
|
|
12
|
+
value="{{value}}"
|
|
13
|
+
placeholder="{{placeholder}}"
|
|
14
|
+
type="{{type}}"
|
|
15
|
+
focus="{{focus}}"
|
|
16
|
+
maxlength="{{maxlength}}"
|
|
17
|
+
confirm-type="{{confirmType}}"
|
|
18
|
+
disabled="{{disabled}}"
|
|
19
|
+
allow-clear="{{allowClear}}"
|
|
20
|
+
prefix-icon="{{prefixIcon}}"
|
|
21
|
+
suffix-icon="{{suffixIcon}}"
|
|
22
|
+
bind:input="handleInput"
|
|
23
|
+
bind:change="handleChange"
|
|
24
|
+
bind:confirm="handleConfirm"
|
|
25
|
+
bind:clear="handleClear"
|
|
26
|
+
bind:search="handleSearch"
|
|
27
|
+
/>
|
|
28
|
+
</mo-form-group>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
Component({
|
|
2
|
+
behaviors: ["wx://form-field-group"],
|
|
3
|
+
properties: {
|
|
4
|
+
label: { type: String, value: "" },
|
|
5
|
+
required: { type: Boolean, value: false },
|
|
6
|
+
requiredMark: { type: String, value: "*" },
|
|
7
|
+
help: { type: String, value: "" },
|
|
8
|
+
error: { type: String, value: "" },
|
|
9
|
+
size: { type: String, value: "medium" },
|
|
10
|
+
name: { type: String, value: "" },
|
|
11
|
+
value: { type: String, value: "" },
|
|
12
|
+
placeholder: { type: String, value: "请输入" },
|
|
13
|
+
height: { type: Number, value: 200 },
|
|
14
|
+
maxlength: { type: Number, value: 500 },
|
|
15
|
+
disabled: { type: Boolean, value: false },
|
|
16
|
+
customClass: { type: String, value: "" }
|
|
17
|
+
},
|
|
18
|
+
methods: {
|
|
19
|
+
emitValueEvent(type, event) {
|
|
20
|
+
const detail = event.detail || {};
|
|
21
|
+
|
|
22
|
+
this.triggerEvent(type, {
|
|
23
|
+
name: detail.name || this.data.name,
|
|
24
|
+
value: detail.value == null ? "" : detail.value
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
handleInput(event) {
|
|
28
|
+
this.emitValueEvent("input", event);
|
|
29
|
+
},
|
|
30
|
+
handleConfirm(event) {
|
|
31
|
+
this.emitValueEvent("confirm", event);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<mo-form-group
|
|
2
|
+
label="{{label}}"
|
|
3
|
+
required="{{required}}"
|
|
4
|
+
required-mark="{{requiredMark}}"
|
|
5
|
+
help="{{help}}"
|
|
6
|
+
error="{{error}}"
|
|
7
|
+
size="{{size}}"
|
|
8
|
+
custom-class="{{customClass}}"
|
|
9
|
+
>
|
|
10
|
+
<mo-textarea
|
|
11
|
+
name="{{name}}"
|
|
12
|
+
value="{{value}}"
|
|
13
|
+
placeholder="{{placeholder}}"
|
|
14
|
+
height="{{height}}"
|
|
15
|
+
maxlength="{{maxlength}}"
|
|
16
|
+
disabled="{{disabled}}"
|
|
17
|
+
bind:input="handleInput"
|
|
18
|
+
bind:confirm="handleConfirm"
|
|
19
|
+
/>
|
|
20
|
+
</mo-form-group>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
Component({
|
|
2
|
+
properties: {
|
|
3
|
+
// close | arrow-left | walking-dog
|
|
4
|
+
name: {
|
|
5
|
+
type: String,
|
|
6
|
+
},
|
|
7
|
+
// string | string[]
|
|
8
|
+
color: {
|
|
9
|
+
type: null,
|
|
10
|
+
observer: function(color) {
|
|
11
|
+
this.setData({
|
|
12
|
+
colors: this.fixColor(),
|
|
13
|
+
isStr: typeof color === 'string',
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
size: {
|
|
18
|
+
type: Number,
|
|
19
|
+
value: 88,
|
|
20
|
+
observer: function(size) {
|
|
21
|
+
this.setData({
|
|
22
|
+
svgSize: size / 750 * wx.getSystemInfoSync().windowWidth,
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
data: {
|
|
28
|
+
colors: '',
|
|
29
|
+
svgSize: 88 / 750 * wx.getSystemInfoSync().windowWidth,
|
|
30
|
+
quot: '"',
|
|
31
|
+
isStr: true,
|
|
32
|
+
},
|
|
33
|
+
methods: {
|
|
34
|
+
fixColor: function() {
|
|
35
|
+
var color = this.data.color;
|
|
36
|
+
var hex2rgb = this.hex2rgb;
|
|
37
|
+
|
|
38
|
+
if (typeof color === 'string') {
|
|
39
|
+
return color.indexOf('#') === 0 ? hex2rgb(color) : color;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return color.map(function (item) {
|
|
43
|
+
return item.indexOf('#') === 0 ? hex2rgb(item) : item;
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
hex2rgb: function(hex) {
|
|
47
|
+
var rgb = [];
|
|
48
|
+
|
|
49
|
+
hex = hex.substr(1);
|
|
50
|
+
|
|
51
|
+
if (hex.length === 3) {
|
|
52
|
+
hex = hex.replace(/(.)/g, '$1$1');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
hex.replace(/../g, function(color) {
|
|
56
|
+
rgb.push(parseInt(color, 0x10));
|
|
57
|
+
return color;
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
return 'rgb(' + rgb.join(',') + ')';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<!--close-->
|
|
2
|
+
<view wx:if="{{name === 'close'}}" style="background-image: url({{quot}}data:image/svg+xml, %3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='{{svgSize}}px' height='{{svgSize}}px'%3E%3Cpath d='M861 916.7L110.9 166.6c-15.6-15.6-15.6-40.9 0-56.5 15.6-15.6 40.9-15.6 56.5 0l750.1 750.1c15.6 15.6 15.6 40.9 0 56.5-15.6 15.6-40.9 15.6-56.5 0z' fill='{{(isStr ? colors : colors[0]) || 'rgb(74,56,58)'}}' /%3E%3Cpath d='M917.5 166.6L167.4 916.7c-15.6 15.6-40.9 15.6-56.5 0-15.6-15.6-15.6-40.9 0-56.5L861 110.1c15.6-15.6 40.9-15.6 56.5 0 15.6 15.6 15.6 40.9 0 56.5z' fill='{{(isStr ? colors : colors[1]) || 'rgb(74,56,58)'}}' /%3E%3C/svg%3E{{quot}}); width: {{svgSize}}px; height: {{svgSize}}px; " class="icon" />
|
|
3
|
+
|
|
4
|
+
<!--arrow-left-->
|
|
5
|
+
<view wx:if="{{name === 'arrow-left'}}" style="background-image: url({{quot}}data:image/svg+xml, %3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='{{svgSize}}px' height='{{svgSize}}px'%3E%3Cpath d='M304.56666667 568.00000001L651.36666667 914.8c15.6 15.6 40.9 15.6 56.5 0 15.6-15.6 15.6-40.9 0-56.5l-346.8-346.8 346.8-346.8c15.6-15.6 15.6-40.9 0-56.5-15.6-15.6-40.9-15.6-56.5 0L304.56666667 455l-21.1 21.1c-19.5 19.5-19.5 51.2 0 70.7L304.56666667 568.00000001z' fill='{{(isStr ? colors : colors[0]) || 'rgb(0,0,0)'}}' /%3E%3C/svg%3E{{quot}}); width: {{svgSize}}px; height: {{svgSize}}px; " class="icon" />
|
|
6
|
+
|
|
7
|
+
<!--walking-dog-->
|
|
8
|
+
<view wx:if="{{name === 'walking-dog'}}" style="background-image: url({{quot}}data:image/svg+xml, %3Csvg viewBox='0 0 1117 1024' xmlns='http://www.w3.org/2000/svg' width='{{svgSize}}px' height='{{svgSize}}px'%3E%3Cpath d='M924.049455 781.824q4.266667-2.944 7.722666-6.826667 3.434667-3.882667 5.866667-8.469333 2.410667-4.586667 3.648-9.642667Q942.545455 751.850667 942.545455 746.666667q0-2.090667-0.213334-4.181334t-0.618666-4.138666q-0.405333-2.048-1.024-4.053334-0.597333-2.005333-1.408-3.946666-0.789333-1.941333-1.792-3.797334-0.981333-1.834667-2.133334-3.584-1.173333-1.749333-2.496-3.370666-1.344-1.6-2.816-3.093334-1.493333-1.493333-3.093333-2.816-1.621333-1.322667-3.370667-2.496-1.749333-1.152-3.584-2.133333-1.856-1.002667-3.797333-1.792-1.92-0.810667-3.946667-1.408-2.005333-0.618667-4.053333-1.024-2.048-0.426667-4.138667-0.618667Q901.969455 704 899.878788 704q-6.464 0-12.650667 1.92t-11.52 5.589333q-156.096 107.306667-426.730666 57.194667Q445.137455 768 441.212121 768q-2.090667 0-4.181333 0.213333t-4.138667 0.618667q-2.048 0.405333-4.053333 1.024-2.005333 0.597333-3.946667 1.408-1.941333 0.789333-3.797333 1.792-1.834667 0.981333-3.584 2.133333-1.749333 1.173333-3.370667 2.496-1.6 1.344-3.093333 2.816-1.493333 1.493333-2.816 3.093334-1.322667 1.621333-2.496 3.370666-1.152 1.749333-2.133333 3.584-1.002667 1.856-1.792 3.797334-0.810667 1.92-1.408 3.946666-0.618667 2.005333-1.024 4.053334-0.426667 2.048-0.618667 4.138666-0.213333 2.090667-0.213333 4.181334 0 1.856 0.170666 3.690666 0.149333 1.856 0.469334 3.669334 0.32 1.834667 0.810666 3.626666 0.469333 1.770667 1.109334 3.52 0.618667 1.728 1.386666 3.413334 0.789333 1.685333 1.706667 3.285333 0.917333 1.621333 1.984 3.136t2.24 2.944q1.173333 1.408 2.474667 2.730667 1.301333 1.322667 2.709333 2.517333 1.429333 1.194667 2.922667 2.261333 1.514667 1.066667 3.114666 2.005334t3.264 1.728q1.685333 0.810667 3.413334 1.450666 1.728 0.64 3.52 1.130667t3.605333 0.853333q305.365333 56.533333 490.602667-70.805333z' fill='{{(isStr ? colors : colors[0]) || 'rgb(17,17,17)'}}' /%3E%3Cpath d='M673.681455 583.850667q-17.386667-52.224 11.584-168.170667 1.28-5.098667 1.28-10.346667 0-2.090667-0.213334-4.181333t-0.618666-4.138667q-0.405333-2.069333-1.024-4.053333-0.597333-2.026667-1.408-3.946667-0.789333-1.941333-1.792-3.797333-0.981333-1.834667-2.133334-3.584-1.173333-1.749333-2.496-3.370667-1.344-1.621333-2.816-3.093333-1.493333-1.493333-3.093333-2.816-1.621333-1.322667-3.370667-2.496-1.749333-1.152-3.584-2.133333-1.856-1.002667-3.797333-1.813334-1.92-0.789333-3.946667-1.408-2.005333-0.597333-4.053333-1.002666-2.048-0.426667-4.138667-0.64Q645.969455 362.666667 643.878788 362.666667q-3.541333 0-7.04 0.597333-3.498667 0.576-6.826667 1.728-3.370667 1.152-6.485333 2.837333-3.114667 1.706667-5.909333 3.882667-2.773333 2.176-5.184 4.778667-2.389333 2.624-4.309334 5.589333-1.941333 2.986667-3.349333 6.208-1.429333 3.264-2.282667 6.698667-35.029333 140.053333-9.749333 215.829333Q623.782788 704 729.212121 704q80.213333 0 118.037334-83.733333 27.221333-60.309333 25.450666-153.429334-3.925333-205.653333-93.845333-285.418666-73.365333-65.109333-195.264-74.282667-105.514667-7.936-172.117333 25.365333-74.368 37.162667-121.6 156.8l-143.253334 71.616q-38.122667 19.072-35.114666 61.397334Q127.868121 652.8 275.857455 652.8q77.717333 0 135.872-24.469333 0.490667 142.997333-65.28 218.24v0.021333q-2.517333 2.901333-4.48 6.186667-1.984 3.306667-3.328 6.890666-1.344 3.605333-2.026667 7.381334-0.682667 3.776-0.682667 7.616 0 2.090667 0.213334 4.181333 0.192 2.090667 0.597333 4.138667 0.426667 2.048 1.024 4.053333t1.408 3.946667q0.789333 1.92 1.792 3.776 0.981333 1.856 2.133333 3.605333 1.173333 1.728 2.496 3.349333 1.344 1.621333 2.816 3.114667 1.493333 1.493333 3.114667 2.816 1.621333 1.322667 3.349333 2.474667 1.749333 1.173333 3.605334 2.154666 1.834667 1.002667 3.776 1.792 1.92 0.810667 3.946666 1.408 2.005333 0.618667 4.053334 1.024 2.048 0.426667 4.138666 0.618667 2.090667 0.213333 4.181334 0.213333 4.565333 0 9.024-0.981333 4.48-0.96 8.618666-2.858667 4.16-1.877333 7.808-4.608 3.669333-2.709333 6.677334-6.144 95.232-109.013333 85.44-308.970666-1.92-39.125333-38.528-55.296-31.786667-14.016-61.994667 2.922666-46.528 26.069333-119.765333 26.069334-65.130667 0-78.037334-136.746667l137.536-68.757333q22.421333-11.221333 31.402667-34.858667 35.989333-94.848 82.858667-118.272 45.546667-22.784 127.573333-16.597333 93.205333 7.018667 145.045333 53.013333 61.930667 54.954667 65.152 223.210667 1.408 73.898667-17.92 116.693333Q754.321455 618.666667 729.212121 618.666667q-43.904 0-55.530666-34.816z' fill='{{(isStr ? colors : colors[1]) || 'rgb(17,17,17)'}}' /%3E%3Cpath d='M430.545455 320a42.666667 42.666667 0 1 0 85.333333 0 42.666667 42.666667 0 1 0-85.333333 0Z' fill='{{(isStr ? colors : colors[2]) || 'rgb(17,17,17)'}}' /%3E%3C/svg%3E{{quot}}); width: {{svgSize}}px; height: {{svgSize}}px; " class="icon" />
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
function normalizeIconSize(size) {
|
|
2
|
+
const value = Number(size);
|
|
3
|
+
return Number.isFinite(value) && value > 0 ? value : 88;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
Component({
|
|
7
|
+
properties: {
|
|
8
|
+
name: {
|
|
9
|
+
type: String,
|
|
10
|
+
value: ""
|
|
11
|
+
},
|
|
12
|
+
size: {
|
|
13
|
+
type: Number,
|
|
14
|
+
value: 88,
|
|
15
|
+
observer: "syncSize"
|
|
16
|
+
},
|
|
17
|
+
color: {
|
|
18
|
+
type: String,
|
|
19
|
+
value: "#111111"
|
|
20
|
+
},
|
|
21
|
+
customStyle: {
|
|
22
|
+
type: String,
|
|
23
|
+
value: ""
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
data: {
|
|
27
|
+
iconSize: 88
|
|
28
|
+
},
|
|
29
|
+
lifetimes: {
|
|
30
|
+
attached() {
|
|
31
|
+
this.syncSize(this.data.size);
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
methods: {
|
|
35
|
+
syncSize(size) {
|
|
36
|
+
this.setData({
|
|
37
|
+
iconSize: normalizeIconSize(size)
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|