sard-uniapp 1.21.0 → 1.21.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ ## [1.21.2](https://github.com/sutras/sard-uniapp/compare/v1.21.1...v1.21.2) (2025-07-07)
2
+
3
+
4
+ ### Features
5
+
6
+ * input 组件新增 show-eye 属性 ([351a56e](https://github.com/sutras/sard-uniapp/commit/351a56ec77fabc44edb788b2e9e06ffdfb5a7cef))
7
+
8
+
9
+
10
+ ## [1.21.1](https://github.com/sutras/sard-uniapp/compare/v1.21.0...v1.21.1) (2025-07-05)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * 修复 request 查询参数拼接问题 ([53df30d](https://github.com/sutras/sard-uniapp/commit/53df30d0e8bf0a3c362ca97f06cc8a178458d359))
16
+ * 替代废弃的 uni.getSystemInfoSync 接口 ([7b7d391](https://github.com/sutras/sard-uniapp/commit/7b7d391e86e0baf2fce8b550f7d9b5441c2cb40a))
17
+
18
+
19
+
1
20
  # [1.21.0](https://github.com/sutras/sard-uniapp/compare/v1.20.2...v1.21.0) (2025-07-04)
2
21
 
3
22
 
@@ -1,6 +1,6 @@
1
1
  @font-face {
2
2
  font-family: 'sari'; /* Project id 2907887 */
3
- src: url('data:font/ttf;charset=utf-8;base64,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UgBlAGcAdQBsAGEAcgBzAGEAcgBpAHMAYQByAGkAVgBlAHIAcwBpAG8AbgAgADEALgAwAHMAYQByAGkARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgAEdW5kbwtyb3RhdGUtbGVmdAdiYWNrdG9wBWNoZWNrBXRyYXNoDXBlbmNpbC1zcXVhcmUQZGFzaC1zcXVhcmUtZmlsbARsaXN0EGRhc2gtY2lyY2xlLWZpbGwQcGx1cy1jaXJjbGUtZmlsbAJ1cAVyaWdodARsZWZ0BGRvd24FY2xvc2UHbG9hZGluZwl2b2x1bWUtdXAEcGxheQpjYXJldC1kb3duCmNhcmV0LWxlZnQLY2FyZXQtcmlnaHQIY2FyZXQtdXAJYmFja3NwYWNlDXJlY29yZC1jaXJjbGUEZmlsZQ14LWNpcmNsZS1maWxsBnNxdWFyZRFjaGVjay1zcXVhcmUtZmlsbAVpbWFnZQRzdGFyCXN0YXItZmlsbAh4LWNpcmNsZQVlbXB0eQx3YXJuaW5nLWZpbGwQaW5mby1jaXJjbGUtZmlsbBRxdWVzdGlvbi1jaXJjbGUtZmlsbA54LW9jdGFnb24tZmlsbBFjaGVjay1jaXJjbGUtZmlsbAZwZXJzb24EZmFpbAdzdWNjZXNzCHF1ZXN0aW9uBGluZm8FbWludXMEcGx1cwRkYXNoBnNlYXJjaAZjaXJjbGUAAAAAAA==')
3
+ src: url('data:font/ttf;charset=utf-8;base64,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AAAAAAAAAAAAAAAAAAAAAAAzAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0AANleWUJZXllLXNsYXNoBHVuZG8Lcm90YXRlLWxlZnQHYmFja3RvcAVjaGVjawV0cmFzaA1wZW5jaWwtc3F1YXJlEGRhc2gtc3F1YXJlLWZpbGwEbGlzdBBkYXNoLWNpcmNsZS1maWxsEHBsdXMtY2lyY2xlLWZpbGwCdXAFcmlnaHQEbGVmdARkb3duBWNsb3NlB2xvYWRpbmcJdm9sdW1lLXVwBHBsYXkKY2FyZXQtZG93bgpjYXJldC1sZWZ0C2NhcmV0LXJpZ2h0CGNhcmV0LXVwCWJhY2tzcGFjZQ1yZWNvcmQtY2lyY2xlBGZpbGUNeC1jaXJjbGUtZmlsbAZzcXVhcmURY2hlY2stc3F1YXJlLWZpbGwFaW1hZ2UEc3RhcglzdGFyLWZpbGwIeC1jaXJjbGUFZW1wdHkMd2FybmluZy1maWxsEGluZm8tY2lyY2xlLWZpbGwUcXVlc3Rpb24tY2lyY2xlLWZpbGwOeC1vY3RhZ29uLWZpbGwRY2hlY2stY2lyY2xlLWZpbGwGcGVyc29uBGZhaWwHc3VjY2VzcwhxdWVzdGlvbgRpbmZvBW1pbnVzBHBsdXMEZGFzaAZzZWFyY2gGY2lyY2xlAAAA')
4
4
  format('truetype');
5
5
  }
6
6
 
@@ -12,6 +12,14 @@
12
12
  -moz-osx-font-smoothing: grayscale;
13
13
  }
14
14
 
15
+ .sari-eye:before {
16
+ content: '\e7b6';
17
+ }
18
+
19
+ .sari-eye-slash:before {
20
+ content: '\eb5b';
21
+ }
22
+
15
23
  .sari-undo:before {
16
24
  content: '\e670';
17
25
  }
@@ -95,52 +95,53 @@ import Input from 'sard-uniapp/components/input/input.vue'
95
95
 
96
96
  ### InputProps
97
97
 
98
- | 属性 | 描述 | 类型 | 默认值 |
99
- | ------------------------- | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------- | ------ |
100
- | root-class | 组件根元素类名 | string | - |
101
- | root-style | 组件根元素样式 | StyleValue | - |
102
- | model-value (v-model) | 输入框值 | string \| number | - |
103
- | clearable | 是否显示清空按钮 | boolean | false |
104
- | show-clear-only-focus | 是否只在聚焦时显示清空按钮 | boolean | false |
105
- | show-count | 是否展示字数 | boolean | false |
106
- | inlaid | 嵌入式状态 | boolean | false |
107
- | borderless | 是否隐藏边框 | boolean | false |
108
- | readonly | 只读状态 | boolean | false |
109
- | focused | 是否显示获焦样式,用于结合自定义键盘使用时显示高亮效果 | boolean | false |
110
- | min-height | 输入框最小高度 | string | - |
111
- | placeholder | 输入框占位符内容 | string | - |
112
- | placeholder-style | 输入框占位符样式 | string | - |
113
- | placeholder-class | 输入框占位符类名 | string | - |
114
- | disabled | 禁用状态 | boolean | false |
115
- | maxlength | 最大输入长度,设置为 -1 的时候不限制最大长度 | number | 140 |
116
- | focus | 获取焦点 | boolean | - |
117
- | cursor-spacing | 指定光标与键盘的距离 | number | 30 |
118
- | cursor | 指定 focus 时的光标位置 | number | -1 |
119
- | confirm-type | 设置键盘右下角按钮的文字 | "send" \| "search" \| "next" \| "go" \| "done" | 'done' |
120
- | confirm-hold | 点击键盘右下角按钮时是否保持键盘不收起 | boolean | false |
121
- | selection-start | 光标起始位置 | number | -1 |
122
- | selection-end | 光标结束位置 | number | -1 |
123
- | adjust-position | 键盘弹起时,是否自动上推页面 | boolean | true |
124
- | hold-keyboard | focus 时,点击页面的时候不收起键盘 | boolean | false |
125
- | auto-blur | 键盘收起时,是否自动失去焦点 | boolean | false |
126
- | ignore-composition-event | 是否忽略组件内对文本合成系统事件的处理 | boolean | true |
127
- | inputmode | 用户在编辑元素或其内容时可能输入的数据类型的提示 | 'none' \| 'text' \| 'decimal' \| 'numeric' \| 'tel' \| 'search' \| 'email' \| 'url' | 'text' |
128
- | auto-height | 文本域自动高度 | boolean | false |
129
- | fixed | 如果 `textarea` 是在一个 `position:fixed` 的区域,需要显示指定属性 `fixed` 为 `true` | boolean | false |
130
- | show-confirm-bar | 是否显示键盘上方带有”完成“按钮那一栏 | boolean | true |
131
- | disable-default-padding | 是否去掉 iOS 下的默认内边距 | boolean | false |
132
- | type | 输入框类型 | 'text' \| 'password' \| 'textarea' \| 'number' \|'idcard' \| 'digit' \| 'tel' \| 'safe-password' \| 'nickname' | 'text' |
133
- | always-embed | 强制 input 处于同层状态 | boolean | - |
134
- | safe-password-cert-path | 安全键盘加密公钥的路径,只支持包内路径 | string | - |
135
- | safe-password-length | 安全键盘输入密码长度 | number | - |
136
- | safe-password-time-stamp | 安全键盘加密时间戳 | number | - |
137
- | safe-password-nonce | 安全键盘加密盐值 | string | - |
138
- | safe-password-salt | 安全键盘计算 `hash` 盐值,若指定 `custom-hash` 则无效 | string | - |
139
- | safe-password-custom-hash | 安全键盘计算 `hash` 的算法表达式 | string | - |
140
- | random-number | 当 `type` 为 `number, digit, idcard` 数字键盘是否随机排列 | boolean | false |
141
- | controlled | 是否为受控组件。为 `true` 时,value 内容会完全受 `setData` 控制 | boolean | false |
142
- | always-system | 是否强制使用系统键盘和 `Web-view `创建的 `input` 元素 | boolean | false |
143
- | validate-event | 是否触发表单验证 | boolean | true |
98
+ | 属性 | 描述 | 类型 | 默认值 |
99
+ | --------------------------- | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------- | ------ |
100
+ | root-class | 组件根元素类名 | string | - |
101
+ | root-style | 组件根元素样式 | StyleValue | - |
102
+ | model-value (v-model) | 输入框值 | string \| number | - |
103
+ | clearable | 是否显示清空按钮 | boolean | false |
104
+ | show-clear-only-focus | 是否只在聚焦时显示清空按钮 | boolean | false |
105
+ | show-count | 是否展示字数 | boolean | false |
106
+ | inlaid | 嵌入式状态 | boolean | false |
107
+ | borderless | 是否隐藏边框 | boolean | false |
108
+ | readonly | 只读状态 | boolean | false |
109
+ | focused | 是否显示获焦样式,用于结合自定义键盘使用时显示高亮效果 | boolean | false |
110
+ | min-height | 输入框最小高度 | string | - |
111
+ | placeholder | 输入框占位符内容 | string | - |
112
+ | placeholder-style | 输入框占位符样式 | string | - |
113
+ | placeholder-class | 输入框占位符类名 | string | - |
114
+ | disabled | 禁用状态 | boolean | false |
115
+ | maxlength | 最大输入长度,设置为 -1 的时候不限制最大长度 | number | 140 |
116
+ | focus | 获取焦点 | boolean | - |
117
+ | cursor-spacing | 指定光标与键盘的距离 | number | 30 |
118
+ | cursor | 指定 focus 时的光标位置 | number | -1 |
119
+ | confirm-type | 设置键盘右下角按钮的文字 | "send" \| "search" \| "next" \| "go" \| "done" | 'done' |
120
+ | confirm-hold | 点击键盘右下角按钮时是否保持键盘不收起 | boolean | false |
121
+ | selection-start | 光标起始位置 | number | -1 |
122
+ | selection-end | 光标结束位置 | number | -1 |
123
+ | adjust-position | 键盘弹起时,是否自动上推页面 | boolean | true |
124
+ | hold-keyboard | focus 时,点击页面的时候不收起键盘 | boolean | false |
125
+ | auto-blur | 键盘收起时,是否自动失去焦点 | boolean | false |
126
+ | ignore-composition-event | 是否忽略组件内对文本合成系统事件的处理 | boolean | true |
127
+ | inputmode | 用户在编辑元素或其内容时可能输入的数据类型的提示 | 'none' \| 'text' \| 'decimal' \| 'numeric' \| 'tel' \| 'search' \| 'email' \| 'url' | 'text' |
128
+ | auto-height | 文本域自动高度 | boolean | false |
129
+ | fixed | 如果 `textarea` 是在一个 `position:fixed` 的区域,需要显示指定属性 `fixed` 为 `true` | boolean | false |
130
+ | show-confirm-bar | 是否显示键盘上方带有”完成“按钮那一栏 | boolean | true |
131
+ | disable-default-padding | 是否去掉 iOS 下的默认内边距 | boolean | false |
132
+ | type | 输入框类型 | 'text' \| 'password' \| 'textarea' \| 'number' \|'idcard' \| 'digit' \| 'tel' \| 'safe-password' \| 'nickname' | 'text' |
133
+ | always-embed | 强制 input 处于同层状态 | boolean | - |
134
+ | safe-password-cert-path | 安全键盘加密公钥的路径,只支持包内路径 | string | - |
135
+ | safe-password-length | 安全键盘输入密码长度 | number | - |
136
+ | safe-password-time-stamp | 安全键盘加密时间戳 | number | - |
137
+ | safe-password-nonce | 安全键盘加密盐值 | string | - |
138
+ | safe-password-salt | 安全键盘计算 `hash` 盐值,若指定 `custom-hash` 则无效 | string | - |
139
+ | safe-password-custom-hash | 安全键盘计算 `hash` 的算法表达式 | string | - |
140
+ | random-number | 当 `type` 为 `number, digit, idcard` 数字键盘是否随机排列 | boolean | false |
141
+ | controlled | 是否为受控组件。为 `true` 时,value 内容会完全受 `setData` 控制 | boolean | false |
142
+ | always-system | 是否强制使用系统键盘和 `Web-view `创建的 `input` 元素 | boolean | false |
143
+ | validate-event | 是否触发表单验证 | boolean | true |
144
+ | show-eye <sup>1.21.2+</sup> | `type` 为 `password` 时,是否显示眼睛图标按钮 | boolean | false |
144
145
 
145
146
  ### InputSlots
146
147
 
@@ -45,6 +45,7 @@ export interface InputProps {
45
45
  focused?: boolean;
46
46
  minHeight?: string;
47
47
  validateEvent?: boolean;
48
+ showEye?: boolean;
48
49
  internalPrepend?: number;
49
50
  }
50
51
  export declare const defaultInputProps: {
@@ -101,6 +101,21 @@
101
101
  }
102
102
  }
103
103
 
104
+ @include e(eye) {
105
+ @include universal;
106
+ flex: none;
107
+ width: auto;
108
+ align-self: stretch;
109
+ justify-content: center;
110
+ align-items: center;
111
+ margin-left: var(--sar-input-eye-margin-left);
112
+ margin-right: var(--sar-input-eye-margin-right);
113
+ padding: 0 var(--sar-input-eye-padding-x);
114
+ font-size: var(--sar-input-eye-font-size);
115
+ color: var(--sar-input-eye-color);
116
+ cursor: pointer;
117
+ }
118
+
104
119
  @include e(count) {
105
120
  @include universal;
106
121
  align-items: flex-end;
@@ -49,7 +49,7 @@
49
49
  :show-count="false"
50
50
  />
51
51
  <input
52
- v-else
52
+ v-if="type !== 'textarea' && showPassword"
53
53
  :class="classNames(bem.e('control'), bem.em('control', 'input'))"
54
54
  :value="innerValue"
55
55
  :placeholder="placeholder"
@@ -75,8 +75,48 @@
75
75
  @blur="onBlur"
76
76
  @confirm="onConfirm"
77
77
  @keyboardheightchange="onKeyboardheightchange"
78
- :type="type"
79
- :password="type === 'password'"
78
+ :type="mergedType"
79
+ :password="true"
80
+ :always-embed="alwaysEmbed"
81
+ :safe-password-cert-path="safePasswordCertPath"
82
+ :safe-password-length="safePasswordLength"
83
+ :safe-password-time-stamp="safePasswordTimeStamp"
84
+ :safe-password-nonce="safePasswordNonce"
85
+ :safe-password-salt="safePasswordSalt"
86
+ :safe-password-custom-hash="safePasswordCustomHash"
87
+ :random-number="randomNumber"
88
+ :controlled="controlled"
89
+ :always-system="alwaysSystem"
90
+ />
91
+ <input
92
+ v-if="type !== 'textarea' && !showPassword"
93
+ :class="classNames(bem.e('control'), bem.em('control', 'input'))"
94
+ :value="innerValue"
95
+ :placeholder="placeholder"
96
+ :placeholder-style="mergedPlaceholderStyle"
97
+ :placeholder-class="placeholderClass"
98
+ :disabled="isDisabled || isReadonly"
99
+ :maxlength="maxlength"
100
+ :focus="focus"
101
+ :cursor-spacing="cursorSpacing"
102
+ :cursor="cursor"
103
+ :confirm-type="confirmType"
104
+ :confirm-hold="confirmHold"
105
+ :selection-start="selectionStart"
106
+ :selection-end="selectionEnd"
107
+ :adjust-position="adjustPosition"
108
+ :hold-keyboard="holdKeyboard"
109
+ :auto-blur="autoBlur"
110
+ :ignore-composition-event="ignoreCompositionEvent"
111
+ :inputmode="inputmode"
112
+ autocomplete="off"
113
+ @input="onInput"
114
+ @focus="onFocus"
115
+ @blur="onBlur"
116
+ @confirm="onConfirm"
117
+ @keyboardheightchange="onKeyboardheightchange"
118
+ :type="mergedType"
119
+ :password="false"
80
120
  :always-embed="alwaysEmbed"
81
121
  :safe-password-cert-path="safePasswordCertPath"
82
122
  :safe-password-length="safePasswordLength"
@@ -99,6 +139,9 @@
99
139
  >
100
140
  <sar-icon family="sari" name="x-circle-fill" />
101
141
  </view>
142
+ <view v-if="mergedShowEye" :class="bem.e('eye')" @click.stop="onEyeClick">
143
+ <sar-icon family="sari" :name="eyeIcon" />
144
+ </view>
102
145
  <view v-if="$slots.append" :class="bem.e('append')">
103
146
  <slot name="append"></slot>
104
147
  </view>
@@ -164,6 +207,7 @@ import {
164
207
  * @property {boolean} controlled 是否为受控组件。为 `true` 时,value 内容会完全受 `setData` 控制,默认值:false。
165
208
  * @property {boolean} alwaysSystem 是否强制使用系统键盘和 `Web-view `创建的 `input` 元素,默认值:false。
166
209
  * @property {boolean} validateEvent 是否触发表单验证,默认值:true。
210
+ * @property {boolean} showEye `type` 为 `password` 时,是否显示眼睛图标按钮,默认值:false。
167
211
  * @event {(value: string) => void} update 输入框值改变时触发
168
212
  * @event {(value: string) => void} input 输入框值改变时触发
169
213
  * @event {(value: string) => void} change 键盘非聚焦状态且内容改变时触发
@@ -231,6 +275,7 @@ export default _defineComponent({
231
275
  focused: { type: Boolean, required: false },
232
276
  minHeight: { type: String, required: false },
233
277
  validateEvent: { type: Boolean, required: false },
278
+ showEye: { type: Boolean, required: false },
234
279
  internalPrepend: { type: Number, required: false }
235
280
  }, defaultInputProps),
236
281
  emits: ["update:model-value", "change", "input", "clear", "focus", "blur", "linechange", "confirm", "keyboardheightchange", "click"],
@@ -327,6 +372,18 @@ export default _defineComponent({
327
372
  const onClick = (event) => {
328
373
  emit("click", event);
329
374
  };
375
+ const isPlainText = ref(false);
376
+ const eyeIcon = computed(() => isPlainText.value ? "eye" : "eye-slash");
377
+ const onEyeClick = () => {
378
+ isPlainText.value = !isPlainText.value;
379
+ };
380
+ const showPassword = computed(() => {
381
+ return props.type === "password" && isPlainText.value === false;
382
+ });
383
+ const mergedShowEye = computed(() => props.type === "password" && props.showEye);
384
+ const mergedType = computed(() => {
385
+ return showPassword.value ? "password" : props.type === "password" ? "text" : props.type;
386
+ });
330
387
  const inputClass = computed(() => {
331
388
  return classNames(
332
389
  bem.b(),
@@ -365,7 +422,7 @@ export default _defineComponent({
365
422
  return oldValue;
366
423
  }, set oldValue(v) {
367
424
  oldValue = v;
368
- }, onFocus, onBlur, clearVisible, holdupClear, onClearTouchStart, onClearTouchEnd, onClearMouseDown, onClearClick, onLinechange, onConfirm, onKeyboardheightchange, onClick, inputClass, inputStyle, controlStyle, mergedPlaceholderStyle, get classNames() {
425
+ }, onFocus, onBlur, clearVisible, holdupClear, onClearTouchStart, onClearTouchEnd, onClearMouseDown, onClearClick, onLinechange, onConfirm, onKeyboardheightchange, onClick, isPlainText, eyeIcon, onEyeClick, showPassword, mergedShowEye, mergedType, inputClass, inputStyle, controlStyle, mergedPlaceholderStyle, get classNames() {
369
426
  return classNames;
370
427
  }, SarIcon };
371
428
  return __returned__;
@@ -25,6 +25,12 @@ page,
25
25
  --sar-input-clear-font-size: 32rpx;
26
26
  --sar-input-clear-color: var(--sar-fourth-color);
27
27
 
28
+ --sar-input-eye-margin-left: 16rpx;
29
+ --sar-input-eye-margin-right: calc(var(--sar-input-padding-x) * -1);
30
+ --sar-input-eye-padding-x: 16rpx;
31
+ --sar-input-eye-font-size: 36rpx;
32
+ --sar-input-eye-color: var(--sar-fourth-color);
33
+
28
34
  --sar-input-count-font-size: var(--sar-text-sm);
29
35
  --sar-input-count-line-height: var(--sar-leading-tight);
30
36
  --sar-input-count-color: var(--sar-tertiary-color);
@@ -25,6 +25,10 @@ import {
25
25
  } from "../../utils";
26
26
  import { waterfallContextKey } from "../waterfall/common";
27
27
  import { useTimeout } from "../../use";
28
+ /**
29
+ * @property {string} rootClass 组件根元素类名,默认值:-。
30
+ * @property {StyleValue} rootStyle 组件根元素样式,默认值:-。
31
+ */
28
32
  export default _defineComponent({
29
33
  ...{
30
34
  options: {
@@ -11,6 +11,13 @@ import { defineComponent as _defineComponent } from "vue";
11
11
  import { computed, onMounted, ref } from "vue";
12
12
  import { classNames, createBem, stringifyStyle } from "../../utils";
13
13
  import { useTimeout } from "../../use";
14
+ /**
15
+ * @property {string} rootClass 组件根元素类名,默认值:-。
16
+ * @property {StyleValue} rootStyle 组件根元素样式,默认值:-。
17
+ * @property {number} maxWait 最大等待时间,单位ms,默认值:0。
18
+ * @property {number} width 自定义宽度,默认值:320。
19
+ * @property {number} height 自定义高度,默认值:240。
20
+ */
14
21
  export default _defineComponent({
15
22
  ...{
16
23
  options: {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "id": "sard-uniapp",
3
3
  "name": "sard-uniapp",
4
4
  "displayName": "sard-uniapp",
5
- "version": "1.21.0",
5
+ "version": "1.21.2",
6
6
  "description": "sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库",
7
7
  "main": "index.js",
8
8
  "scripts": {
package/utils/request.js CHANGED
@@ -84,12 +84,12 @@ function mergeUrl(options) {
84
84
  const query = new URLQuery(params);
85
85
  const index = mergedUrl.indexOf('?');
86
86
  if (index !== -1) {
87
- const originPath = mergedUrl.slice(index);
87
+ const originPath = mergedUrl.slice(0, index);
88
88
  const search = mergedUrl.slice(index);
89
- mergedUrl +=
89
+ mergedUrl =
90
90
  originPath +
91
91
  '?' +
92
- new URLQuery([...query, ...new URLQuery(search)]).toString();
92
+ new URLQuery([...new URLQuery(search), ...query]).toString();
93
93
  }
94
94
  else {
95
95
  mergedUrl += '?' + query.toString();
package/utils/system.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- export declare const systemInfo: UniApp.GetSystemInfoResult;
2
- export declare const isApp: boolean;
3
1
  export declare const isWeb: boolean;
2
+ export declare const isApp: boolean;
4
3
  export declare const isMp: boolean;
5
- export declare const isAlipay: boolean;
6
4
  export declare const isWeixin: boolean;
5
+ export declare const isAlipay: boolean;
package/utils/system.js CHANGED
@@ -1,7 +1,18 @@
1
- export const systemInfo = uni.getSystemInfoSync();
2
- const platform = systemInfo.uniPlatform;
3
- export const isApp = platform === 'app';
1
+ let platform = '';
2
+ // #ifdef APP
3
+ platform = 'app';
4
+ // #endif
5
+ // #ifdef MP-WEIXIN
6
+ platform = 'mp-weixin';
7
+ // #endif
8
+ // #ifdef MP-ALIPAY
9
+ platform = 'mp-alipay';
10
+ // #endif
11
+ // #ifdef WEB
12
+ platform = 'web';
13
+ // #endif
4
14
  export const isWeb = platform === 'web';
15
+ export const isApp = platform === 'app';
5
16
  export const isMp = platform.startsWith('mp-');
6
- export const isAlipay = platform === 'mp-alipay';
7
17
  export const isWeixin = platform === 'mp-weixin';
18
+ export const isAlipay = platform === 'mp-alipay';