@xtdev/xt-miniprogram-ui 1.0.10 → 1.0.12

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 (44) hide show
  1. package/libs/xt-button/index.js +52 -0
  2. package/libs/xt-button/index.json +6 -0
  3. package/libs/xt-button/index.wxml +9 -0
  4. package/libs/xt-button/index.wxss +76 -0
  5. package/libs/xt-card-cell/README.md +65 -0
  6. package/libs/xt-card-cell/index.wxss +1 -0
  7. package/libs/xt-dialog/README.md +152 -0
  8. package/libs/xt-dialog/index.js +126 -0
  9. package/libs/xt-dialog/index.json +4 -0
  10. package/libs/xt-dialog/index.wxml +51 -0
  11. package/libs/xt-dialog/index.wxss +121 -0
  12. package/libs/xt-icon/README.md +39 -0
  13. package/libs/xt-icon/index.wxss +24 -46
  14. package/libs/xt-search/README.md +55 -0
  15. package/libs/xt-search/index.js +0 -37
  16. package/libs/xt-search/index.wxml +7 -7
  17. package/libs/xt-search/index.wxss +3 -3
  18. package/libs/xt-stepper/README.md +52 -0
  19. package/libs/xt-stepper/index.js +158 -0
  20. package/libs/xt-stepper/index.json +4 -0
  21. package/libs/xt-stepper/index.wxml +11 -0
  22. package/libs/xt-stepper/index.wxss +83 -0
  23. package/libs/xt-steps/README.md +61 -0
  24. package/libs/xt-steps/index.js +37 -0
  25. package/libs/xt-steps/index.json +7 -0
  26. package/libs/xt-steps/index.wxml +32 -0
  27. package/libs/xt-steps/index.wxss +180 -0
  28. package/libs/xt-tag/README.md +65 -0
  29. package/libs/xt-tag/index.js +38 -0
  30. package/libs/xt-tag/index.json +6 -0
  31. package/libs/xt-tag/index.wxml +5 -0
  32. package/libs/xt-tag/index.wxss +36 -0
  33. package/libs/xt-toast/README.md +65 -0
  34. package/libs/xt-toast/index.js +77 -0
  35. package/libs/xt-toast/index.json +6 -0
  36. package/libs/xt-toast/index.wxml +7 -0
  37. package/libs/xt-toast/index.wxss +26 -0
  38. package/libs/xt-uploader/README.md +44 -0
  39. package/libs/xt-uploader/index.js +150 -0
  40. package/libs/xt-uploader/index.json +6 -0
  41. package/libs/xt-uploader/index.wxml +16 -0
  42. package/libs/xt-uploader/index.wxss +66 -0
  43. package/libs/xt-uploader/utils.js +164 -0
  44. package/package.json +1 -1
@@ -0,0 +1,61 @@
1
+ # Steps步骤条
2
+
3
+ ### 介绍
4
+ 用于展示操作流程的各个环节,让用户了解当前的操作在整体流程中的位置
5
+
6
+ ###效果图
7
+ ![效果图](https://img.tanjiu.cn/home/M72SJ3SepSRE5dCiWCDnJA58hjPWHwcE.png "步骤条效果图")
8
+
9
+ ### 引入
10
+ 在app.json或页面配置json中引入
11
+ ```
12
+ "usingComponents": {
13
+ "xt-steps": "@xtdev/xt-miniprogram-ui/xt-steps",
14
+ }
15
+ ```
16
+
17
+ ## 代码演示
18
+
19
+ ### 默认模式,横向展示
20
+ ![效果图](https://img.tanjiu.cn/home/2p7XNCtEBbmNPW6y4fb2Ny5MWTGkbkbA.png "步骤条效果图")
21
+
22
+ ```
23
+ <xt-steps steps="{{steps}}" active="{{active}}"></xt-steps>
24
+ ```
25
+
26
+ ### 默认模式,纵向展示
27
+ ![效果图](https://img.tanjiu.cn/home/eK5bdXE7JYWwxprNhA6FrJppfiTw4nBH.png "步骤条效果图")
28
+
29
+ ```
30
+ <xt-steps direction="vertical" steps="{{steps}}" active="{{active}}"></xt-steps>
31
+ ```
32
+
33
+ ### 简约模式,横向展示
34
+ ![效果图](https://img.tanjiu.cn/home/eyynm3HtySHti4PTZnxx6JHr8WsECTeF.png "步骤条效果图")
35
+ ```
36
+ <xt-steps type="brief" steps="{{steps}}" active="{{active}}"></xt-steps>
37
+ ```
38
+
39
+ ### 简约模式,纵向展示
40
+ ![效果图](https://img.tanjiu.cn/home/FyaeMK52WetmZemF82RbQFmTTffJ5cjb.png "步骤条效果图")
41
+ ```
42
+ <xt-steps type="brief" direction="vertical" steps="{{steps}}" active="{{active}}"></xt-steps>
43
+ ```
44
+
45
+ ##API
46
+
47
+ #### xt-steps props
48
+
49
+ | 参数 | 说明 | 类型 | 默认值 |
50
+ | ----------- | ----------- | ---------- | ---------- |
51
+ | steps | 步骤配置集合 | `stepsItem[]` | [] |
52
+ | active | 当前步骤 | `Number` | 0 |
53
+ | type | 当前步骤,可选值static、brief | `String` | static |
54
+ | direction | 展示方向,可选值horizontal、vertical | `String` | horizontal |
55
+
56
+ #### stepsItem Props
57
+
58
+ | 参数 | 说明 | 类型 |
59
+ | ----------- | ----------- | ----------- |
60
+ | title | 标题 | `String` |
61
+ | desc | 副标题 | `String` |
@@ -0,0 +1,37 @@
1
+ Component({
2
+ options: {
3
+ multipleSlots: true
4
+ },
5
+ properties: {
6
+ steps: {
7
+ type: Array,
8
+ value: []
9
+ },
10
+ active: {
11
+ type: Number,
12
+ value: 0
13
+ },
14
+ type: {
15
+ type: String,
16
+ value: 'static'
17
+ },
18
+ direction: {
19
+ type: String,
20
+ value: 'horizontal'
21
+ },
22
+ },
23
+
24
+ /**
25
+ * 组件的初始数据
26
+ */
27
+ data: {
28
+ },
29
+ attached: function () {
30
+ },
31
+
32
+ /**
33
+ * 组件的方法列表
34
+ */
35
+ methods: {
36
+ }
37
+ });
@@ -0,0 +1,7 @@
1
+ {
2
+ "component": true,
3
+ "multipleSlots": true,
4
+ "usingComponents": {
5
+ "xt-icon": "../xt-icon/index"
6
+ }
7
+ }
@@ -0,0 +1,32 @@
1
+ <view wx:if="{{direction === 'horizontal'}}" class="xt-steps">
2
+ <view wx:for="{{steps}}" wx:key="index" class="{{ active > index ? 'finished xt-step' : (active === index ? 'xt-step active' : 'xt-step')}}">
3
+ <view wx:if="{{type === 'static'}}" class="step-dot">
4
+ <xt-icon wx:if="{{active > index}}" icon="zhengque"></xt-icon>
5
+ <view wx:else>{{index+1}}</view>
6
+ </view>
7
+ <view wx:if="{{type === 'brief'}}" class="step-dot-brief">
8
+ <view wx:if="{{index === active}}" class="center-box"></view>
9
+ </view>
10
+ <view class="step-title">{{item.title}}</view>
11
+ <view class="step-desc">{{item.desc}}</view>
12
+ <view wx:if="{{index < steps.length - 1}}" class="{{type === 'brief' ? 'step-line-brief' : 'step-line'}}">
13
+ </view>
14
+ </view>
15
+ </view>
16
+
17
+ <view wx:if="{{direction === 'vertical'}}" class="{{type === 'brief' ? 'xt-steps xt-steps-column xt-steps-column-brief' : 'xt-steps xt-steps-column'}}">
18
+ <view wx:for="{{steps}}" wx:key="index" class="{{ active > index ? 'finished xt-step' : (active === index ? 'xt-step active' : 'xt-step')}}">
19
+ <view wx:if="{{type === 'static'}}" class="step-dot">
20
+ <xt-icon wx:if="{{active > index}}" icon="zhengque"></xt-icon>
21
+ <view wx:else>{{index+1}}</view>
22
+ </view>
23
+ <view wx:if="{{type === 'brief'}}" class="step-dot-brief">
24
+ </view>
25
+ <view class="text-box">
26
+ <view class="step-title">{{item.title}}</view>
27
+ <view class="step-desc">{{item.desc}}</view>
28
+ </view>
29
+ <view wx:if="{{index < steps.length - 1}}" class="{{type === 'brief' ? 'step-line-brief' : 'step-line'}}">
30
+ </view>
31
+ </view>
32
+ </view>
@@ -0,0 +1,180 @@
1
+ .xt-steps {
2
+ display: flex;
3
+ }
4
+
5
+ .xt-steps-column {
6
+ flex-direction: column;
7
+ }
8
+
9
+ .xt-steps-column .xt-step {
10
+ flex-grow: 0;
11
+ flex-direction: row;
12
+ }
13
+
14
+ .xt-step {
15
+ display: flex;
16
+ flex-direction: column;
17
+ align-items: center;
18
+ position: relative;
19
+ flex: 1;
20
+ }
21
+
22
+ .xt-step.active {
23
+ color: #6622AA;
24
+ }
25
+
26
+ .step-dot {
27
+ width: 48rpx;
28
+ height: 48rpx;
29
+ border-radius: 24rpx;
30
+ background-color: #ededed;
31
+ text-align: center;
32
+ line-height: 48rpx;
33
+ font-size: 34rpx;
34
+ font-family: FengTan-Regular, FengTan;
35
+ font-weight: 400;
36
+ color: #B8B8B8;
37
+ }
38
+
39
+ .active .step-title {
40
+ font-weight: 600;
41
+ }
42
+
43
+ .active .step-title,.active .step-desc{
44
+ color: #6622AA;
45
+ }
46
+
47
+ .active .step-dot {
48
+ background-color: #6622AA;
49
+ color: #fff;
50
+ }
51
+
52
+ .finished .step-dot {
53
+ background-color: #30BF67;
54
+ color: #fff;
55
+ }
56
+
57
+ .finished .step-title {
58
+ font-weight: 600;
59
+ }
60
+
61
+ .finished .step-title,.finished .step-desc{
62
+ color: #000000;
63
+ }
64
+
65
+ .finished .step-line {
66
+ border-bottom: 4rpx solid #30BF67;
67
+ border-color: #30BF67;
68
+ }
69
+
70
+ .step-title {
71
+ font-size: 34rpx;
72
+ font-family: PingFang SC-Regular, PingFang SC;
73
+ font-weight: 400;
74
+ color: #999999;
75
+ line-height: 48rpx;
76
+ margin-top: 16rpx;
77
+ }
78
+
79
+ .step-desc {
80
+ font-size: 28rpx;
81
+ font-family: PingFang SC-Regular, PingFang SC;
82
+ font-weight: 400;
83
+ color: #999999;
84
+ line-height: 40rpx;
85
+ margin-top: 8rpx;
86
+ text-align: center;
87
+ }
88
+
89
+ .step-line, .step-line-brief {
90
+ border-bottom: 4rpx dotted #B8B8B8;
91
+ flex-grow: 1;
92
+ position: absolute;
93
+ width: calc(100% - 24rpx);
94
+ top: 24rpx;
95
+ left: calc(50% + 24rpx);
96
+ }
97
+
98
+ .step-line-brief {
99
+ top: 16rpx;
100
+ left: calc(50% + 16rpx);
101
+ }
102
+
103
+ .step-dot-brief {
104
+ width: 32rpx;
105
+ height: 32rpx;
106
+ border-radius: 50%;
107
+ background-color: #ededed;
108
+ }
109
+
110
+ .active .step-dot-brief {
111
+ background-color: #fff;
112
+ border: 8rpx solid #6722AB;
113
+ width: 16rpx;
114
+ height: 16rpx;
115
+ }
116
+
117
+ .finished .step-dot-brief {
118
+ background-color: #6722AB;
119
+ }
120
+
121
+
122
+ .text-box {
123
+ margin-left: 24rpx;
124
+ }
125
+
126
+ .xt-steps-column .xt-step {
127
+ align-items: start;
128
+ }
129
+
130
+ .xt-steps-column .step-title {
131
+ margin-top: 0;
132
+ }
133
+
134
+ .xt-steps-column .xt-step:nth-of-type(n+2) {
135
+ margin-top: 60rpx;
136
+ }
137
+
138
+ .xt-steps-column-brief .xt-step:nth-of-type(n+2) {
139
+ margin-top: 48rpx;
140
+ }
141
+
142
+ .xt-steps-column .step-line, .xt-steps-column .step-line-brief {
143
+ border-left: 4rpx dotted #B8B8B8;
144
+ width: 0rpx;
145
+ height: calc(100% + 24rpx);
146
+ left: 22rpx;
147
+ top: 48rpx;
148
+ }
149
+
150
+ .xt-steps-column .finished .step-line {
151
+ border-left: 4rpx solid #30BF67;
152
+ }
153
+
154
+ .xt-steps-column .step-dot-brief {
155
+ width: 16rpx;
156
+ height: 16rpx;
157
+ border-radius: 50%;
158
+ }
159
+
160
+ .xt-steps-column .active .step-dot-brief {
161
+ width: 12rpx;
162
+ height: 12rpx;
163
+ background-color: #fff;
164
+ border: 2rpx solid #6722AB;
165
+ }
166
+
167
+ .xt-steps-column .step-line-brief {
168
+ left: 6rpx;
169
+ top: 16rpx;
170
+ height: calc(100% + 32rpx);
171
+ }
172
+
173
+ .xt-steps-column-brief .xt-step:nth-of-type(n+2) {
174
+ margin-top: 48rpx;
175
+ }
176
+
177
+ .xt-steps-column-brief .text-box {
178
+ margin-left: 16rpx;
179
+ margin-top: -12rpx;
180
+ }
@@ -0,0 +1,65 @@
1
+ # Icon图标
2
+
3
+ ### 介绍
4
+ 用于标记关键词或用于筛选
5
+
6
+ ###效果图
7
+ ![效果图](https://img.tanjiu.cn/home/PXMYKCEKtNY66R4mEkmNdf5HQFebRr2M.png "tag效果图")
8
+
9
+ ### 引入
10
+ 在app.json或页面配置json中引入
11
+ ```
12
+ "usingComponents": {
13
+ "xt-tag": "@xtdev/xt-miniprogram-ui/xt-tag",
14
+ }
15
+ ```
16
+
17
+ ## 代码演示
18
+
19
+ ### 基础用法
20
+
21
+ ```
22
+ <xt-tag>
23
+ 标签一
24
+ </xt-tag>
25
+ ```
26
+
27
+ ### 状态
28
+ 设置 `isChoosed` 属性标记选中状态
29
+ ```
30
+ <xt-tag isChoosed="{{true}}">
31
+ 选中了
32
+ </xt-tag>
33
+ ```
34
+
35
+ ### 带关闭功能
36
+ 设置 `closeable` 属性控制是否展示关闭图标
37
+ ```
38
+ <xt-tag closeable="{{true}}">
39
+ 可关闭
40
+ </xt-tag>
41
+ ```
42
+
43
+ ### 带数字
44
+ 设置 `number` 属性展示
45
+ ```
46
+ <xt-tag number="{{2}}">
47
+ 带数字
48
+ </xt-tag>
49
+ ```
50
+
51
+ ##API
52
+
53
+ ####xt-tag props
54
+
55
+ | 参数 | 说明 | 类型 |
56
+ | ----------- | ----------- | ---------- |
57
+ | number | 对应的数字 | `Number` |
58
+ | isChoosed | 是否选中 | `Boolean` |
59
+ | closeable | 是否展示关闭图标 | `Boolean` |
60
+
61
+ ####Events
62
+
63
+ | 事件名 | 说明 | 回调参数 |
64
+ | ----------- | ----------- | ---------- |
65
+ | bind:close | 关闭标签时触发 | - |
@@ -0,0 +1,38 @@
1
+ // pages/components/xt-icon.js
2
+ Component({
3
+ /**
4
+ * 组件的属性列表
5
+ */
6
+ properties: {
7
+ // 是否带数字
8
+ number: {
9
+ type: Number | null,
10
+ default: null
11
+ },
12
+ // 是否选中
13
+ isChoosed: {
14
+ type: Boolean,
15
+ },
16
+ // 是否可关闭
17
+ closeable: {
18
+ type: Boolean,
19
+ },
20
+ },
21
+
22
+ /**
23
+ * 组件的初始数据
24
+ */
25
+ data: {},
26
+
27
+ /**
28
+ * 组件的方法列表
29
+ */
30
+ methods: {
31
+ close() {
32
+ this.triggerEvent('close');
33
+ },
34
+ onClick() {
35
+ this.triggerEvent('click');
36
+ },
37
+ },
38
+ });
@@ -0,0 +1,6 @@
1
+ {
2
+ "component": true,
3
+ "usingComponents": {
4
+ "xt-icon": "../xt-icon/index"
5
+ }
6
+ }
@@ -0,0 +1,5 @@
1
+ <view catchtap="onClick" class="{{ isChoosed ? 'xt-tag is-active' : 'xt-tag' }}">
2
+ <slot></slot>
3
+ <view wx:if="{{number || number === 0}}" class="icon-number">{{number}}</view>
4
+ <xt-icon catchtap="close" class="close-icon" wx:if="{{closeable}}" size="32" icon="a-3"></xt-icon>
5
+ </view>
@@ -0,0 +1,36 @@
1
+ .xt-tag {
2
+ padding: 0 32rpx;
3
+ height: 80rpx;
4
+ border: 2rpx solid #DDDDDD;
5
+ border-radius: 60rpx;
6
+ align-items: center;
7
+ justify-content: center;
8
+ display: inline-flex;
9
+ font-size: 34rpx;
10
+ font-family: PingFang SC-Regular, PingFang SC;
11
+ font-weight: 400;
12
+ color: #000000;
13
+ }
14
+
15
+ .is-active {
16
+ border: 2rpx solid #6722AB;
17
+ background-color: #F6EDFF;
18
+ color: #6722AB;
19
+ font-weight: 600;
20
+ }
21
+
22
+ .close-icon {
23
+ margin-left: 20rpx;
24
+ }
25
+
26
+ .icon-number {
27
+ font-size: 34rpx;
28
+ font-family: PingFang SC-Regular, PingFang SC;
29
+ font-weight: 400;
30
+ color: #FF4D4D;
31
+ margin-left: 20rpx;
32
+ }
33
+
34
+ .is-active .icon-number {
35
+ font-weight: 600;
36
+ }
@@ -0,0 +1,65 @@
1
+ # Toast
2
+
3
+ ## 介绍
4
+
5
+ 在页面中间弹出黑色半透明提示,用于消息通知、加载提示、操作结果提示等场景。
6
+
7
+ ## 效果图
8
+
9
+ ![效果图](https://img.tanjiu.cn/home/tsxnjSMsEd3nMpPJk5iW3eEGxGfpEdjB.png)
10
+
11
+ ## 引入
12
+
13
+ 在app.json或页面配置json中引入
14
+
15
+ ```json
16
+ "usingComponents": {
17
+ "xt-toast": "@xtdev/xt-miniprogram-ui/xt-toast",
18
+ }
19
+ ```
20
+
21
+ ## 代码演示
22
+
23
+ ### 1)默认模式
24
+
25
+ ![默认toast](https://img.tanjiu.cn/home/Qwp2EcfHXEYDCfibTEXSwdBfW8trbND6.png)
26
+
27
+ ```html
28
+ <xt-toast type="nomal" duration="{{5000}}" message="已确认合同"></xt-toast>
29
+ ```
30
+
31
+ ### 2)带跳转的提示
32
+
33
+ ![带跳转到toast](https://img.tanjiu.cn/home/6Z7zNbakJzkjSAEpbyaykw5742DWAJQd.png)
34
+
35
+ ```html
36
+ <xt-toast type="navToast" top="{{60}}" message="哈喽早上好!支持跳转指定页面。哈喽早上好!支持跳转指定页面" navUrl="/template/list/index"></xt-toast>
37
+ ```
38
+
39
+ ## API
40
+
41
+ ### xt-toast props
42
+
43
+ | 参数 | 说明 | 类型 | 默认值 |
44
+ | ----------- | ------------------------------------------------------------ | ------ | ------ |
45
+ | type | 指定组件的类型,可选值为`nomal` `navToast` | String | nomal |
46
+ | duration | 展示时长(ms),仅当type为'nomal'时有用 | Number | 5000 |
47
+ | message | 内容 | String | '' |
48
+ | navDuration | 展示时长(ms),仅当type为'navToast'时有用,(若不设置,则永远不会消失,直到用户点击跳转到指定页面) | Number | null |
49
+ | top | 距离页面顶部高度(px),仅当type为'navToast'时有用 | Number | 60 |
50
+ | navUrl | 指定跳转的页面路径(相对路径),仅当type为'navToast'时有用 | String | null |
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
@@ -0,0 +1,77 @@
1
+ // src/xt-toast/index.js
2
+ Component({
3
+ /**
4
+ * 组件的属性列表
5
+ */
6
+ properties: {
7
+ type:{
8
+ type:String,
9
+ value:'nomal'
10
+ },
11
+ duration:{
12
+ type:Number,
13
+ value:5000
14
+ },
15
+ message:{
16
+ type:String,
17
+ value:''
18
+ },
19
+ navDuration:{
20
+ type:Number,
21
+ value:null
22
+ },
23
+ top:{
24
+ type:Number,
25
+ value:60
26
+ },
27
+ navUrl:{
28
+ type:String,
29
+ value:null
30
+ }
31
+ },
32
+
33
+ /**
34
+ * 组件的初始数据
35
+ */
36
+ data: {
37
+ // 带跳转的toast是否允许自动消失
38
+ dispear: false
39
+ },
40
+ lifetimes:{
41
+ attached(){
42
+ if(this.properties.type == 'nomal') this.showToast();
43
+ if(this.properties.type == 'navToast') this.showNavToast();
44
+ }
45
+ },
46
+ /**
47
+ * 组件的方法列表
48
+ */
49
+ methods: {
50
+ // 常规toast
51
+ showToast(){
52
+ wx.showToast({
53
+ title: this.properties.message,
54
+ duration: this.properties.duration,
55
+ icon:'none'
56
+ })
57
+ },
58
+ // 带跳转的提示
59
+ showNavToast(){
60
+ if(this.properties.navDuration){
61
+ setTimeout(()=>{
62
+ this.setData({
63
+ dispear: true
64
+ })
65
+ },this.properties.navDuration)
66
+ }
67
+ },
68
+ // 点击提示框跳转至目标页面
69
+ navTo(){
70
+ if(this.properties.navUrl){
71
+ wx.navigateTo({
72
+ url: this.properties.navUrl,
73
+ })
74
+ }
75
+ }
76
+ }
77
+ })
@@ -0,0 +1,6 @@
1
+ {
2
+ "component": true,
3
+ "usingComponents": {
4
+ "xt-icon": "../xt-icon"
5
+ }
6
+ }
@@ -0,0 +1,7 @@
1
+ <!--src/xt-toast/index.wxml-->
2
+ <!-- 带跳转的提示 -->
3
+ <view class="nav_toast_box" wx:if="{{type === 'navToast'}}" style="top: {{top*2}}rpx; {{dispear?'opacity: 0;':''}}" catchtap="navTo">
4
+ <view class="nav_toast_text">{{message}}</view>
5
+ <!-- <image class="nav_icon" src="https://img.tanjiu.cn/home/5cQHhXZTCsjaXxtJR6SBi4zHHAFAw5ZN.png"></image> -->
6
+ <xt-icon class="nav_icon" slot="right-icon" icon="arrow" size="32"></xt-icon>
7
+ </view>
@@ -0,0 +1,26 @@
1
+ /* src/xt-toast/index.wxss */
2
+ .nav_toast_box{
3
+ position: absolute;
4
+ left: 50%;
5
+ margin-left: -351rpx;
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: space-between;
9
+ background-color: #FCE1D4;
10
+ border-radius: 8rpx;
11
+ padding: 20rpx 24rpx;
12
+ box-sizing: border-box;
13
+ transition:all 0.3s linear;
14
+ }
15
+ .nav_toast_text{
16
+ width: 598rpx;
17
+ box-sizing: border-box;
18
+ line-height: 40rpx;
19
+ font-size: 28rpx;
20
+ font-family: PingFang SC-Semibold, PingFang SC;
21
+ color: #F26B27;
22
+ }
23
+ .nav_icon{
24
+ color: #F26B27;
25
+ margin-left: 24rpx;
26
+ }