diff --git a/App.uvue b/App.uvue index 4ee268d..71cbc9b 100644 --- a/App.uvue +++ b/App.uvue @@ -36,6 +36,7 @@ \ No newline at end of file diff --git a/pages/index/PayPal.uvue b/pages/index/PayPal.uvue new file mode 100644 index 0000000..f3ec308 --- /dev/null +++ b/pages/index/PayPal.uvue @@ -0,0 +1,470 @@ + + + + + \ No newline at end of file diff --git a/pages/index/dingdan.uvue b/pages/index/dingdan.uvue index 87b6899..fbbd2a5 100644 --- a/pages/index/dingdan.uvue +++ b/pages/index/dingdan.uvue @@ -1,22 +1,213 @@ - \ No newline at end of file diff --git a/pages/index/login.uvue b/pages/index/login.uvue index 19c68ee..9ba96b8 100644 --- a/pages/index/login.uvue +++ b/pages/index/login.uvue @@ -9,14 +9,15 @@ - - + + + - + @@ -171,27 +172,30 @@ export default { /* 输入框容器 */ .input-container { - width: 90%; + width: 70%; height: 7%; - left:10%; + /* background-color: #007aff; */ + display: flex; + flex-direction: column; + align-items: center; } /* 输入框样式 */ .input { - width: 70%; - height: 8%; + width: 100%; + height: 99%; font-size: 1rem; border: none; outline: none; background-color: transparent; + /* z-index: 99; */ } /* 下划线样式 */ .underline { width: 100%; - height: 1rem; + height: 0.1%; background-color: #f2f2f2; - margin-top: 0.5rem; } /* 协议提示 */ @@ -206,8 +210,8 @@ export default { align-items: center; } .login-agree{ - font-size: 0.6rem;; - + font-size: 0.6rem; + transform: scale(0.9); } .link { diff --git a/pages/index/wode.uvue b/pages/index/wode.uvue index 77a2a45..65c052d 100644 --- a/pages/index/wode.uvue +++ b/pages/index/wode.uvue @@ -120,4 +120,5 @@ export default { .nav-item text { font-size: 14px; } + \ No newline at end of file diff --git a/pages/views/dingDanCreate.uvue b/pages/views/dingDanCreate.uvue index a7eed6a..ff77fa4 100644 --- a/pages/views/dingDanCreate.uvue +++ b/pages/views/dingDanCreate.uvue @@ -3,8 +3,10 @@ - - + + + + 录入订单 @@ -103,14 +105,17 @@ }, methods: { toBack(){ - uni.navigateBack({ - delta: 1 - }); + let canNavBack = getCurrentPages() + if( canNavBack && canNavBack.length>1) { + uni.navigateBack() + } else { + history.back(); + } }, toNext(){ console.log(111); uni.navigateTo( - { url: '/pages/views/payment' } + { url: '/pages/index/PayPal' } ) }, nameClick (){ @@ -133,44 +138,6 @@ \ No newline at end of file diff --git a/static/image/22.png b/static/image/22.png new file mode 100644 index 0000000..2d6fbaf Binary files /dev/null and b/static/image/22.png differ diff --git a/static/image/weixuanzhong.png b/static/image/weixuanzhong.png new file mode 100644 index 0000000..0c822e5 Binary files /dev/null and b/static/image/weixuanzhong.png differ diff --git a/static/image/xuanzhong.png b/static/image/xuanzhong.png new file mode 100644 index 0000000..251a807 Binary files /dev/null and b/static/image/xuanzhong.png differ diff --git a/uni_modules/lime-radio/changelog.md b/uni_modules/lime-radio/changelog.md new file mode 100644 index 0000000..a42e609 --- /dev/null +++ b/uni_modules/lime-radio/changelog.md @@ -0,0 +1,14 @@ +## 0.0.7(2025-02-09) +- fix: 修复uniappx app端自定义颜色的问题 +## 0.0.6(2024-12-16) +- fix: 修复vue2 微信小程序自定义颜色问题 +## 0.0.5(2024-12-16) +- feat: 兼容vue2 +## 0.0.4(2024-12-16) +- chore: 更新文档 +## 0.0.3(2024-12-16) +- chore: 更新文档 +## 0.0.2(2024-12-16) +- feat: 增加fontsize +## 0.0.1(2024-12-11) +- init diff --git a/uni_modules/lime-radio/components/l-radio-group/l-radio-group.uvue b/uni_modules/lime-radio/components/l-radio-group/l-radio-group.uvue new file mode 100644 index 0000000..8427fb2 --- /dev/null +++ b/uni_modules/lime-radio/components/l-radio-group/l-radio-group.uvue @@ -0,0 +1,48 @@ + + + \ No newline at end of file diff --git a/uni_modules/lime-radio/components/l-radio-group/l-radio-group.vue b/uni_modules/lime-radio/components/l-radio-group/l-radio-group.vue new file mode 100644 index 0000000..205d1d6 --- /dev/null +++ b/uni_modules/lime-radio/components/l-radio-group/l-radio-group.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/uni_modules/lime-radio/components/l-radio-group/props.ts b/uni_modules/lime-radio/components/l-radio-group/props.ts new file mode 100644 index 0000000..80be0c1 --- /dev/null +++ b/uni_modules/lime-radio/components/l-radio-group/props.ts @@ -0,0 +1,69 @@ +// @ts-nocheck +export default { + /** 是否允许取消选中 */ + allowUncheck: Boolean, + /** 是否禁用全部子单选框。默认为 false。RadioGroup.disabled 优先级低于 Radio.disabled */ + disabled: Boolean, + /** HTML 元素原生属性 */ + name: { + type: String, + default: null, + }, + /** 选中的值 */ + value: { + type: [String, Number, Boolean], //as PropType, + default: null, + }, + modelValue: { + type: [String, Number, Boolean], //as PropType, + default: null, + }, + /** 选中的值,非受控属性 */ + defaultValue: { + type: [String, Number, Boolean] //as PropType, + }, + checkedColor: { + type: String, + default: null + }, + iconBgColor: { + type: String, + default: null + }, + iconBorderColor: { + type: String, + default: null + }, + iconDisabledColor: { + type: String, + default: null + }, + iconDisabledBgColor: { + type: String, + default: null + }, + icon: { + type: String, + default: 'circle' + }, //?: 'circle' | 'line' | 'dot'; + size: { + type: String, + default: 'medium' + }, //?: 'small' | 'medium' | 'large'; + iconSize: { + type: String, + defalut: null + }, + fontSize: { + type: String, + defalut: null + }, + direction: { + type: String, + default: 'horizontal' + }, //'horizontal' | 'vertical' + gap: { + type: String, + default: null + }, +} \ No newline at end of file diff --git a/uni_modules/lime-radio/components/l-radio-group/type.ts b/uni_modules/lime-radio/components/l-radio-group/type.ts new file mode 100644 index 0000000..07f69d7 --- /dev/null +++ b/uni_modules/lime-radio/components/l-radio-group/type.ts @@ -0,0 +1,41 @@ +// @ts-nocheck +export type RadioValue = any//string | number | boolean; +export interface RadioGroupProps { + /** + * 是否允许取消选中 + */ + allowUncheck: boolean; + /** + * 是否禁用全部子单选框。默认为 false。RadioGroup.disabled 优先级低于 Radio.disabled + */ + disabled: boolean; + /** + * HTML 元素原生属性 + */ + name ?: string; + /** + * 选中的值 + */ + value ?: RadioValue; + /** + * 选中的值,非受控属性 + */ + defaultValue ?: RadioValue; + /** + * 选中的值 + */ + modelValue ?: RadioValue; + checkedColor?: string; + iconBgColor?: string; + iconBorderColor?: string; + iconDisabledColor?: string; + iconDisabledBgColor?: string; + icon ?: 'circle' | 'line' | 'dot'; + size ?: 'small' | 'medium' | 'large'; + iconSize ?: string; + fontSize ?: string; + gap ?: string; + direction: 'horizontal' | 'vertical' +} + + diff --git a/uni_modules/lime-radio/components/l-radio/index-u.scss b/uni_modules/lime-radio/components/l-radio/index-u.scss new file mode 100644 index 0000000..b6d2447 --- /dev/null +++ b/uni_modules/lime-radio/components/l-radio/index-u.scss @@ -0,0 +1,173 @@ +@import '~@/uni_modules/lime-style/index.scss'; +@import '~@/uni_modules/lime-style/functions.scss'; +$radio: #{$prefix}-radio; +$icon: #{$radio}__icon; + + +$radio-icon-size: create-var(radio-icon-size, 40rpx); +$radio-font-size: create-var(radio-font-size, 32rpx); + +$radio-small-icon-size: create-var(radio-small-icon-size, 28rpx); +$radio-small-font-size: create-var(radio-small-font-size, 30rpx); + +$radio-large-icon-size: create-var(radio-large-icon-size, 44rpx); +$radio-large-font-size: create-var(radio-large-font-size, 36rpx); + +$radio-icon-border-width: create-var(radio-icon-border-width, 1rpx); +// $radio-icon-border-color: var(--l-radio-border-color, $border-color); +$radio-icon-border-radius: create-var(radio-icon-border-radius, 999rpx); + +$radio-icon-bg-color: create-var(radio-icon-bg-color, white); +$radio-icon-border-color: create-var(radio-border-icon-color, $gray-5); +$radio-icon-disabled-color: create-var(radio-icon-disabled-color, $gray-5); +$radio-icon-disabled-bg-color: create-var(radio-icon-disabled-bg-color, $gray-1); +$radio-icon-checked-color: create-var(radio-icon-checked-color, $primary-color); + + +.#{$radio} { + /* #ifndef UNI-APP-X */ + display: inline-flex; + /* #endif */ + flex-direction: row; + align-items: center; + &__icon { + position: relative; + box-sizing: border-box; + width: $radio-icon-size; + height: $radio-icon-size; + align-self: center; + transition-property: all; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); + /* #ifndef APP-ANDROID || APP-IOS */ + &:after { + box-sizing: border-box; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%,-50%); + opacity: 0; + content: ""; + transition-property: all; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); + } + /* #endif */ + &--dot,&--circle { + background-color: $radio-icon-bg-color; + border: $radio-icon-border-width solid $radio-icon-border-color; + border-radius: $radio-icon-border-radius; + } + &--circle { + /* #ifndef APP-ANDROID || APP-IOS */ + &:after { + top: 48%; + left: 24%; + display: table; + width: divide(100%, 20) * 7; + height: divide(100%, 20) * 12; + border: calc(#{$radio-icon-size} / 7) solid transparent; + border-top: 0; + border-inline-start: 0; + transform: rotate(45deg) scale(0) translate(-50%,-50%); + content: ""; + } + /* #endif */ + } + &--circle#{&}--checked { + background-color: $radio-icon-checked-color; + border-color: $radio-icon-checked-color; + /* #ifndef APP-ANDROID || APP-IOS */ + &:after { + opacity: 1; + transform: rotate(45deg) scale(1) translate(-50%,-50%); + border-color: white; + } + /* #endif */ + } + + &--dot { + /* #ifndef APP-ANDROID || APP-IOS */ + &:after { + background-color: white; + border-radius: $radio-icon-border-radius; + transform: scale(0) translate(-50%,-50%); + } + /* #endif */ + } + &--dot#{&}--checked{ + background-color: $radio-icon-checked-color; + /* #ifndef APP-ANDROID || APP-IOS */ + border-color: $radio-icon-checked-color; + &:after{ + opacity: 1; + width: 44%; + height: 44%; + transform: scale(1) translate(-50%,-50%); + } + /* #endif */ + } + &--line { + /* #ifndef APP-ANDROID || APP-IOS */ + &:after { + top: 46%; + left: 0%; + inset-inline-start: 10%; + display: table; + width: divide(100%, 14) * 7; + height: divide(100%, 14) * 12; + border: calc(#{$radio-icon-size} / 7) solid transparent; + border-top: 0; + border-inline-start: 0; + transform: rotate(45deg) scale(0) translate(-50%,-50%); + content: ""; + transition-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); + } + /* #endif */ + } + &--line#{&}--checked{ + /* #ifndef APP-ANDROID || APP-IOS */ + &:after{ + opacity: 1; + transform: rotate(45deg) scale(1) translate(-50%,-50%); + border-color: $radio-icon-checked-color; + } + /* #endif */ + } + &--circle#{&}--disabled, &--dot#{&}--disabled { + border-color: $radio-icon-disabled-color; + background-color: $radio-icon-disabled-bg-color; + } + &--circle#{&}--disabled#{&}--checked, &--dot#{&}--disabled#{&}--checked { + /* #ifndef APP-ANDROID || APP-IOS */ + &:after { + border-color: $radio-icon-disabled-color; + } + /* #endif */ + } + &--dot#{&}--disabled#{&}--checked { + /* #ifndef APP-ANDROID || APP-IOS */ + &:after { + background-color: $radio-icon-disabled-color; + } + /* #endif */ + } + &--line#{&}--disabled#{&}--checked { + /* #ifndef APP-ANDROID || APP-IOS */ + &:after { + border-color: $radio-icon-disabled-color; + } + /* #endif */ + } + } + &__label { + padding-left: $spacer-xs; + // padding-right: $spacer-xs; + font-size: $radio-font-size; + color: $text-color-1; + &--disabled { + color: $radio-icon-disabled-color; + } + } +} + diff --git a/uni_modules/lime-radio/components/l-radio/l-radio.uvue b/uni_modules/lime-radio/components/l-radio/l-radio.uvue new file mode 100644 index 0000000..e7edf0f --- /dev/null +++ b/uni_modules/lime-radio/components/l-radio/l-radio.uvue @@ -0,0 +1,216 @@ + + + \ No newline at end of file diff --git a/uni_modules/lime-radio/components/l-radio/l-radio.vue b/uni_modules/lime-radio/components/l-radio/l-radio.vue new file mode 100644 index 0000000..49972f3 --- /dev/null +++ b/uni_modules/lime-radio/components/l-radio/l-radio.vue @@ -0,0 +1,128 @@ + + + \ No newline at end of file diff --git a/uni_modules/lime-radio/components/l-radio/props.ts b/uni_modules/lime-radio/components/l-radio/props.ts new file mode 100644 index 0000000..f7ad080 --- /dev/null +++ b/uni_modules/lime-radio/components/l-radio/props.ts @@ -0,0 +1,70 @@ +export default { + /** 是否允许取消选中 */ + allowUncheck: Boolean, + /** 是否选中 */ + checked: { + type: Boolean, + default: null, + }, + modelValue: { + type: Boolean, + default: null, + }, + /** 是否选中,非受控属性 */ + defaultChecked: Boolean, + /** 是否为禁用态。如果存在父组件 RadioGroup,默认值由 RadioGroup.disabled 控制。Radio.disabled 优先级高于 RadioGroup.disabled */ + disabled: { + type: Boolean, + default: false, + }, + /** 主文案 */ + label: { + type: String, + }, + /** 唯一名称 */ + name: { + type: [String, Number], + default: null, + }, + /** 单选按钮的值 */ + value: { + type: [String, Number, Boolean],//as PropType, + default: null, + }, + checkedColor: { + type: String, + default: null + }, + iconBgColor: { + type: String, + default: null + }, + iconBorderColor: { + type: String, + default: null + }, + iconDisabledColor: { + type: String, + default: null + }, + iconDisabledBgColor: { + type: String, + default: null + }, + icon: { + type: String, + default: 'circle' + }, //?: 'circle' | 'line' | 'dot'; + size: { + type: String, + default: 'medium' + }, //?: 'small' | 'medium' | 'large'; + iconSize: { + type: String, + defalut: null + }, + fontSize: { + type: String, + defalut: null + }, +} \ No newline at end of file diff --git a/uni_modules/lime-radio/components/l-radio/type.ts b/uni_modules/lime-radio/components/l-radio/type.ts new file mode 100644 index 0000000..84b8ebf --- /dev/null +++ b/uni_modules/lime-radio/components/l-radio/type.ts @@ -0,0 +1,49 @@ +// @ts-nocheck +export type RadioValue = any//string | number | boolean; +export interface RadioProps { + /** + * 是否允许取消选中 + */ + allowUncheck : boolean; + /** + * 是否选中 + */ + checked : boolean; + /** + * 是否选中,非受控属性 + */ + defaultChecked ?: boolean; + /** + * 是否选中 + */ + // modelValue ?: boolean; + /** + * 是否为禁用态。如果存在父组件 RadioGroup,默认值由 RadioGroup.disabled 控制。Radio.disabled 优先级高于 RadioGroup.disabled + */ + disabled : boolean; + /** + * 自定义选中图标和非选中图标。示例:[选中态图标地址,非选中态图标地址]。使用 String 时,值为 circle 表示填充型图标、值为 line 表示描边型图标、值为 dot 表示圆点图标 + */ + icon: 'circle' | 'line' | 'dot' //| string[]; + // icon ?: 'circle' | 'line' | 'dot'; + /** + * 主文案 + */ + label ?: string; + /** + * 唯一名称 + */ + name ?: string; + value ?: RadioValue; + size: 'small' | 'medium' | 'large' + fontSize ?: string; + iconSize?: string; + checkedColor?: string; + iconBgColor?: string; + iconBorderColor?: string; + iconDisabledColor?: string; + iconDisabledBgColor?: string; +} + + +type ComputedRefImpl = ComputedRef \ No newline at end of file diff --git a/uni_modules/lime-radio/components/lime-radio/lime-radio.uvue b/uni_modules/lime-radio/components/lime-radio/lime-radio.uvue new file mode 100644 index 0000000..a7d1e6d --- /dev/null +++ b/uni_modules/lime-radio/components/lime-radio/lime-radio.uvue @@ -0,0 +1,181 @@ + + + + + \ No newline at end of file diff --git a/uni_modules/lime-radio/components/lime-radio/lime-radio.vue b/uni_modules/lime-radio/components/lime-radio/lime-radio.vue new file mode 100644 index 0000000..500b86c --- /dev/null +++ b/uni_modules/lime-radio/components/lime-radio/lime-radio.vue @@ -0,0 +1,189 @@ + + + + + \ No newline at end of file diff --git a/uni_modules/lime-radio/package.json b/uni_modules/lime-radio/package.json new file mode 100644 index 0000000..e3e18ef --- /dev/null +++ b/uni_modules/lime-radio/package.json @@ -0,0 +1,89 @@ +{ + "id": "lime-radio", + "displayName": "lime-radio 单选框", + "version": "0.0.7", + "description": "lime-radio 在一组备选项中进行单选,支持自定义大小,自定义图标等,兼容uniapp/uniappx", + "keywords": [ + "lime-radio", + "radio", + "单选框" +], + "repository": "", + "engines": { + "HBuilderX": "^4.34" + }, + "dcloudext": { + "type": "component-vue", + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "" + }, + "uni_modules": { + "dependencies": [ + "lime-style", + "lime-shared" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "y" + }, + "client": { + "Vue": { + "vue2": "u", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-nvue": "u", + "app-uvue": "y", + "app-harmony": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "u", + "IE": "u", + "Edge": "u", + "Firefox": "u", + "Safari": "u" + }, + "小程序": { + "微信": "y", + "阿里": "u", + "百度": "u", + "字节跳动": "u", + "QQ": "u", + "钉钉": "u", + "快手": "u", + "飞书": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/lime-radio/readme.md b/uni_modules/lime-radio/readme.md new file mode 100644 index 0000000..ef0b851 --- /dev/null +++ b/uni_modules/lime-radio/readme.md @@ -0,0 +1,199 @@ +# lime-radio 单选框 +- 在一组备选项中进行单选。 + +## 安装 +在插件市场导入即可,首次导入可能需要重新编译 + +## 代码演示 +### 基础演示 +通过`allowUncheck`可设置单个是否允许取消选中 +```html +单选框 +``` + +### 选项组 +通过 v-model 绑定值当前选中项的 `value`或`name`,vue2使用的`value`被占用,故可以使用`name`。 +```html + + + + + + + + + + + + + +``` +```js +const checked = ref('Beijing'); +``` + +### 禁用 +通过 `disabled` 属性禁止选项切换,在 Radio 上设置 `disabled` 可以禁用单个选项。 +```html + + + + + + +``` + +### 样式 +`icon` 属性可选值为 `line` 和 `dot`,单选框形状分别对应线勾和圆点形。 +```html + + + + + + + + + + +``` + +### 自定义颜色 +通过 `checked-color` 属性设置选中状态的图标颜色。 +```html + + + + + +``` + +### 自定义大小 +通过 `icon-size` 属性可以自定义图标的大小。 +```html + + + + + +``` + +### 自定义图标 + +通过 icon 插槽自定义图标,并通过 slotProps 判断是否为选中状态。 +```html + + + + + + + + + + + +``` + +### 插件标签 +- 默认 l-radio 为 component +- 默认 lime-radio 为 demo + +### 关于vue2的使用方式 +- 插件使用了`composition-api`, 如果你希望在vue2中使用请按官方的教程[vue-composition-api](https://uniapp.dcloud.net.cn/tutorial/vue-composition-api.html)配置 +- 关键代码是: 在main.js中 在vue2部分加上这一段即可. + +```js +// vue2 +import Vue from 'vue' +import VueCompositionAPI from '@vue/composition-api' +Vue.use(VueCompositionAPI) +``` + + +## API + +### Radio Props + +| 参数 | 说明 | 类型 | 默认值 | +| --- | --- | --- | --- | +| name | 标识符,通常为一个唯一的字符串或数字 | _string\|number_ | - | +| value | 单选按钮的值 | _any_ | - | +| allowUncheck | 是否允许取消选中 | _boolean_ | `false` | +| checked | 是否选中 | _boolean_ | `false` | +| disabled | 是否为禁用态 | _boolean_ | `false` | +| icon | 自定义选中图标和非选中图标可选值`'circle' | 'line' | 'dot'` | _string_ | `circle` | +| label | 主文案 | _string_ | `` | +| fontSize | 文本大小 | _string_ | `` | +| iconSize | 图标大小 | _string_ | `` | +| checkedColor | 选中状态颜色 | _string_ | `` | +| iconBgColor | 图标背景颜色 | _string_ | `` | +| iconBorderColor | 图标描边颜色 | _string_ | `` | +| iconDisabledColor | 图标禁用颜色 | _string_ | `` | +| iconDisabledBgColor | 图标禁用背景颜色 | _string_ | `` | + +### RadioGroup Props + +| 参数 | 说明 | 类型 | 默认值 | +| --- | --- | --- | --- | +| v-model | 标识符,通常为一个唯一的字符串或数字 | _string\|number_ | - | +| name | 标识符,通常为一个唯一的字符串或数字 | _string\|number_ | - | +| value | 单选按钮的值 | _any_ | - | +| allowUncheck | 是否允许取消选中 | _boolean_ | `false` | +| disabled | 是否为禁用态 | _boolean_ | `false` | +| direction | 排列方向,可选值为vertical | _string_ | `horizontal` | +| fontSize | 文本大小 | _string_ | `` | +| iconSize | 图标大小 | _string_ | `` | +| checkedColor | 选中状态颜色 | _string_ | `` | +| iconBgColor | 图标背景颜色 | _string_ | `` | +| iconBorderColor | 图标描边颜色 | _string_ | `` | +| iconDisabledColor | 图标禁用颜色 | _string_ | `` | +| iconDisabledBgColor | 图标禁用背景颜色 | _string_ | `` | + +### Events + +| 事件名 | 说明 | 回调参数 | +| ------ | ------------------------ | ---------------------- | +| change | 当绑定值变化时触发的事件 | _currentValue: any_ | + + +### Radio Slots + +| 插槽名 | 说明 | 回调参数 | +| ------ | ------------------------ | ---------------------- | +| default | 自定义文本 | _-_ | +| radio | 整体 | _{ checked: boolean, disabled: boolean }_ | +| icon | 自定义图标 | _{ checked: boolean, disabled: boolean }_ | + + +## 主题定制 + +### 样式变量 + +组件提供了下列 CSS 变量,可用于自定义样式,uvue app无效。 + +| 名称 | 默认值 | 描述 | +| ------------------------ | -------------------- | ---- | +| --l-radio-icon-size | _40rpx_ | - | +| --l-radio-font-size | _32rpx_ | - | +| --l-radio-icon-bg-color | _white_ | - | +| --l-radio-border-icon-color | _$gray-5_ | - | +| --l-radio-icon-disabled-color | _$gray-5_ | - | +| --l-radio-icon-disabled-bg-color | _$gray-1_ | - | +| --l-radio-icon-checked-color | _$primary-color_ | - | + + +## 打赏 + +如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。 +![](https://testingcf.jsdelivr.net/gh/liangei/image@1.9/alipay.png) +![](https://testingcf.jsdelivr.net/gh/liangei/image@1.9/wpay.png) \ No newline at end of file diff --git a/uni_modules/lime-shared/addUnit/index.ts b/uni_modules/lime-shared/addUnit/index.ts new file mode 100644 index 0000000..78476c9 --- /dev/null +++ b/uni_modules/lime-shared/addUnit/index.ts @@ -0,0 +1,42 @@ +// @ts-nocheck +import {isNumeric} from '../isNumeric' +import {isDef} from '../isDef' +/** + * 给一个值添加单位(像素 px) + * @param value 要添加单位的值,可以是字符串或数字 + * @returns 添加了单位的值,如果值为 null 则返回 null + */ + +// #ifndef UNI-APP-X && APP +export function addUnit(value?: string | number): string | null { + if (!isDef(value)) { + return null; + } + value = String(value); // 将值转换为字符串 + // 如果值是数字,则在后面添加单位 "px",否则保持原始值 + return isNumeric(value) ? `${value}px` : value; +} +// #endif + + +// #ifdef UNI-APP-X && APP +function addUnit(value: string): string +function addUnit(value: number): string +function addUnit(value: any|null): string|null { + if (!isDef(value)) { + return null; + } + value = `${value}` //value.toString(); // 将值转换为字符串 + + // 如果值是数字,则在后面添加单位 "px",否则保持原始值 + return isNumeric(value) ? `${value}px` : value; +} +export {addUnit} +// #endif + + +// console.log(addUnit(100)); // 输出: "100px" +// console.log(addUnit("200")); // 输出: "200px" +// console.log(addUnit("300px")); // 输出: "300px"(已经包含单位) +// console.log(addUnit()); // 输出: undefined(值为 undefined) +// console.log(addUnit(null)); // 输出: undefined(值为 null) \ No newline at end of file diff --git a/uni_modules/lime-shared/animation/bezier.ts b/uni_modules/lime-shared/animation/bezier.ts new file mode 100644 index 0000000..b4239e1 --- /dev/null +++ b/uni_modules/lime-shared/animation/bezier.ts @@ -0,0 +1,82 @@ +export function cubicBezier(p1x : number, p1y : number, p2x : number, p2y : number):(x: number)=> number { + const ZERO_LIMIT = 1e-6; + // Calculate the polynomial coefficients, + // implicit first and last control points are (0,0) and (1,1). + const ax = 3 * p1x - 3 * p2x + 1; + const bx = 3 * p2x - 6 * p1x; + const cx = 3 * p1x; + + const ay = 3 * p1y - 3 * p2y + 1; + const by = 3 * p2y - 6 * p1y; + const cy = 3 * p1y; + + function sampleCurveDerivativeX(t : number) : number { + // `ax t^3 + bx t^2 + cx t` expanded using Horner's rule + return (3 * ax * t + 2 * bx) * t + cx; + } + + function sampleCurveX(t : number) : number { + return ((ax * t + bx) * t + cx) * t; + } + + function sampleCurveY(t : number) : number { + return ((ay * t + by) * t + cy) * t; + } + + // Given an x value, find a parametric value it came from. + function solveCurveX(x : number) : number { + let t2 = x; + let derivative : number; + let x2 : number; + + // https://trac.webkit.org/browser/trunk/Source/WebCore/platform/animation + // first try a few iterations of Newton's method -- normally very fast. + // http://en.wikipedia.org/wikiNewton's_method + for (let i = 0; i < 8; i++) { + // f(t) - x = 0 + x2 = sampleCurveX(t2) - x; + if (Math.abs(x2) < ZERO_LIMIT) { + return t2; + } + derivative = sampleCurveDerivativeX(t2); + // == 0, failure + /* istanbul ignore if */ + if (Math.abs(derivative) < ZERO_LIMIT) { + break; + } + t2 -= x2 / derivative; + } + + // Fall back to the bisection method for reliability. + // bisection + // http://en.wikipedia.org/wiki/Bisection_method + let t1 = 1; + /* istanbul ignore next */ + let t0 = 0; + + /* istanbul ignore next */ + t2 = x; + /* istanbul ignore next */ + while (t1 > t0) { + x2 = sampleCurveX(t2) - x; + if (Math.abs(x2) < ZERO_LIMIT) { + return t2; + } + if (x2 > 0) { + t1 = t2; + } else { + t0 = t2; + } + t2 = (t1 + t0) / 2; + } + + // Failure + return t2; + } + + return function (x : number) : number { + return sampleCurveY(solveCurveX(x)); + } + + // return solve; +} \ No newline at end of file diff --git a/uni_modules/lime-shared/animation/ease.ts b/uni_modules/lime-shared/animation/ease.ts new file mode 100644 index 0000000..0af156e --- /dev/null +++ b/uni_modules/lime-shared/animation/ease.ts @@ -0,0 +1,3 @@ +import {cubicBezier} from './bezier'; +export let ease = cubicBezier(0.25, 0.1, 0.25, 1); +export let linear = cubicBezier(0,0,1,1); \ No newline at end of file diff --git a/uni_modules/lime-shared/animation/index.ts b/uni_modules/lime-shared/animation/index.ts new file mode 100644 index 0000000..5979064 --- /dev/null +++ b/uni_modules/lime-shared/animation/index.ts @@ -0,0 +1,10 @@ +// @ts-nocheck +// #ifdef UNI-APP-X && APP +export * from './uvue.uts' +// #endif + + + +// #ifndef UNI-APP-X && APP +export * from './vue.ts' +// #endif diff --git a/uni_modules/lime-shared/animation/useTransition.ts b/uni_modules/lime-shared/animation/useTransition.ts new file mode 100644 index 0000000..0939704 --- /dev/null +++ b/uni_modules/lime-shared/animation/useTransition.ts @@ -0,0 +1,103 @@ +// @ts-nocheck +import type { ComponentPublicInstance } from 'vue' +import { ease, linear } from './ease'; +import { Timeline, Animation } from './'; +export type UseTransitionOptions = { + duration ?: number + immediate ?: boolean + context ?: ComponentPublicInstance +} +// #ifndef UNI-APP-X && APP +import { ref, watch, type Ref } from '@/uni_modules/lime-shared/vue' + +export function useTransition(percent : Ref|(() => number), options : UseTransitionOptions) : Ref { + const current = ref(0) + const { immediate, duration = 300 } = options + let tl:Timeline|null = null; + let timer = -1 + const isFunction = typeof percent === 'function' + watch(isFunction ? percent : () => percent.value, (v) => { + if(tl == null){ + tl = new Timeline() + } + tl.start(); + tl.add( + new Animation( + current.value, + v, + duration, + 0, + ease, + nowValue => { + current.value = nowValue + clearTimeout(timer) + if(current.value == v){ + timer = setTimeout(()=>{ + tl?.pause(); + tl = null + }, duration) + } + } + ) + ); + }, { immediate }) + + return current +} + +// #endif + +// #ifdef UNI-APP-X && APP +type UseTransitionReturnType = Ref +export function useTransition(source : any, options : UseTransitionOptions) : UseTransitionReturnType { + const outputRef : Ref = ref(0) + const immediate = options.immediate ?? false + const duration = options.duration ?? 300 + const context = options.context //as ComponentPublicInstance | null + let tl:Timeline|null = null; + let timer = -1 + const watchFunc = (v : number) => { + if(tl == null){ + tl = new Timeline() + } + tl!.start(); + tl!.add( + new Animation( + outputRef.value, + v, + duration, + 0, + ease, + nowValue => { + outputRef.value = nowValue + clearTimeout(timer) + if(outputRef.value == v){ + timer = setTimeout(()=>{ + tl?.pause(); + tl = null + }, duration) + } + } + ), + null + ); + } + + if (context != null && typeof source == 'string') { + context.$watch(source, watchFunc, { immediate } as WatchOptions) + } else if(typeof source == 'function'){ + watch(source, watchFunc, { immediate }) + } else if(isRef(source) && typeof source.value == 'number') { + watch(source as Ref, watchFunc, { immediate }) + } + // else if(source instanceof Ref){ + // watch(source as Ref, watchFunc, { immediate }) + // } + + const stop = ()=>{ + + } + return outputRef //as UseTransitionReturnType +} + +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/animation/uvue.uts b/uni_modules/lime-shared/animation/uvue.uts new file mode 100644 index 0000000..37e2bc9 --- /dev/null +++ b/uni_modules/lime-shared/animation/uvue.uts @@ -0,0 +1,119 @@ +import { raf, cancelRaf} from '../raf' +// @ts-nocheck +export class Timeline { + state : string + animations : Set = new Set() + delAnimations : Animation[] = [] + startTimes : Map = new Map() + pauseTime : number = 0 + pauseStart : number = Date.now() + tickHandler : number = 0 + tickHandlers : number[] = [] + tick : (() => void) | null = null + constructor() { + this.state = 'Initiated'; + } + start() { + if (!(this.state == 'Initiated')) return; + this.state = 'Started'; + + let startTime = Date.now(); + this.pauseTime = 0; + this.tick = () => { + let now = Date.now(); + this.animations.forEach((animation : Animation) => { + let t:number; + const ani = this.startTimes.get(animation) + if (ani == null) return + if (ani < startTime) { + t = now - startTime - animation.delay - this.pauseTime; + } else { + t = now - ani - animation.delay - this.pauseTime; + } + if (t > animation.duration) { + this.delAnimations.push(animation) + // 不能在 foreach 里面 对 集合进行删除操作 + // this.animations.delete(animation); + t = animation.duration; + } + if (t > 0) animation.run(t); + }) + // 不能在 foreach 里面 对 集合进行删除操作 + while (this.delAnimations.length > 0) { + const animation = this.delAnimations.pop(); + if (animation == null) return + this.animations.delete(animation); + } + // cancelAnimationFrame(this.tickHandler); + if (this.state != 'Started') return + + this.tickHandler = raf(()=>{ + this.tick!() + }) + + this.tickHandlers.push(this.tickHandler) + } + if(this.tick != null) { + this.tick!() + } + + } + pause() { + if (!(this.state === 'Started')) return; + this.state = 'Paused'; + this.pauseStart = Date.now(); + cancelRaf(this.tickHandler); + // cancelRaf(this.tickHandler); + } + resume() { + if (!(this.state === 'Paused')) return; + this.state = 'Started'; + this.pauseTime += Date.now() - this.pauseStart; + this.tick!(); + } + reset() { + this.pause(); + this.state = 'Initiated'; + this.pauseTime = 0; + this.pauseStart = 0; + this.animations.clear() + this.delAnimations.clear() + this.startTimes.clear() + this.tickHandler = 0; + } + add(animation : Animation, startTime ?: number | null) { + if (startTime == null) startTime = Date.now(); + this.animations.add(animation); + this.startTimes.set(animation, startTime); + } +} + +export class Animation { + startValue : number + endValue : number + duration : number + timingFunction : (t : number) => number + delay : number + template : (t : number) => void + constructor( + startValue : number, + endValue : number, + duration : number, + delay : number, + timingFunction : (t : number) => number, + template : (v : number) => void) { + this.startValue = startValue; + this.endValue = endValue; + this.duration = duration; + this.timingFunction = timingFunction; + this.delay = delay; + this.template = template; + } + + run(time : number) { + let range = this.endValue - this.startValue; + let progress = time / this.duration + if(progress != 1) progress = this.timingFunction(progress) + this.template(this.startValue + range * progress) + } +} \ No newline at end of file diff --git a/uni_modules/lime-shared/animation/vue.ts b/uni_modules/lime-shared/animation/vue.ts new file mode 100644 index 0000000..30f89e5 --- /dev/null +++ b/uni_modules/lime-shared/animation/vue.ts @@ -0,0 +1,123 @@ +// @ts-nocheck +const TICK = Symbol('tick'); +const TICK_HANDLER = Symbol('tick-handler'); +const ANIMATIONS = Symbol('animations'); +const START_TIMES = Symbol('start-times'); +const PAUSE_START = Symbol('pause-start'); +const PAUSE_TIME = Symbol('pause-time'); +const _raf = typeof requestAnimationFrame !== 'undefined' ? requestAnimationFrame : function(cb: Function) {return setTimeout(cb, 1000/60)} +const _caf = typeof cancelAnimationFrame !== 'undefined' ? cancelAnimationFrame: function(id: any) {clearTimeout(id)} + +// const TICK = 'tick'; +// const TICK_HANDLER = 'tick-handler'; +// const ANIMATIONS = 'animations'; +// const START_TIMES = 'start-times'; +// const PAUSE_START = 'pause-start'; +// const PAUSE_TIME = 'pause-time'; +// const _raf = function(callback):number|null {return setTimeout(callback, 1000/60)} +// const _caf = function(id: number):void {clearTimeout(id)} + +export class Timeline { + state: string + constructor() { + this.state = 'Initiated'; + this[ANIMATIONS] = new Set(); + this[START_TIMES] = new Map(); + } + start() { + if (!(this.state === 'Initiated')) return; + this.state = 'Started'; + + let startTime = Date.now(); + this[PAUSE_TIME] = 0; + this[TICK] = () => { + let now = Date.now(); + this[ANIMATIONS].forEach((animation) => { + let t: number; + if (this[START_TIMES].get(animation) < startTime) { + t = now - startTime - animation.delay - this[PAUSE_TIME]; + } else { + t = now - this[START_TIMES].get(animation) - animation.delay - this[PAUSE_TIME]; + } + + if (t > animation.duration) { + this[ANIMATIONS].delete(animation); + t = animation.duration; + } + if (t > 0) animation.run(t); + }) + // for (let animation of this[ANIMATIONS]) { + // let t: number; + // console.log('animation', animation) + // if (this[START_TIMES].get(animation) < startTime) { + // t = now - startTime - animation.delay - this[PAUSE_TIME]; + // } else { + // t = now - this[START_TIMES].get(animation) - animation.delay - this[PAUSE_TIME]; + // } + + // if (t > animation.duration) { + // this[ANIMATIONS].delete(animation); + // t = animation.duration; + // } + // if (t > 0) animation.run(t); + // } + this[TICK_HANDLER] = _raf(this[TICK]); + }; + this[TICK](); + } + pause() { + if (!(this.state === 'Started')) return; + this.state = 'Paused'; + + this[PAUSE_START] = Date.now(); + _caf(this[TICK_HANDLER]); + } + resume() { + if (!(this.state === 'Paused')) return; + this.state = 'Started'; + + this[PAUSE_TIME] += Date.now() - this[PAUSE_START]; + this[TICK](); + } + reset() { + this.pause(); + this.state = 'Initiated'; + this[PAUSE_TIME] = 0; + this[PAUSE_START] = 0; + this[ANIMATIONS] = new Set(); + this[START_TIMES] = new Map(); + this[TICK_HANDLER] = null; + } + add(animation: any, startTime?: number) { + if (arguments.length < 2) startTime = Date.now(); + this[ANIMATIONS].add(animation); + this[START_TIMES].set(animation, startTime); + } +} + +export class Animation { + startValue: number + endValue: number + duration: number + timingFunction: (t: number) => number + delay: number + template: (t: number) => void + constructor(startValue: number, endValue: number, duration: number, delay: number, timingFunction: (t: number) => number, template: (v: number) => void) { + timingFunction = timingFunction || (v => v); + template = template || (v => v); + + this.startValue = startValue; + this.endValue = endValue; + this.duration = duration; + this.timingFunction = timingFunction; + this.delay = delay; + this.template = template; + } + + run(time: number) { + let range = this.endValue - this.startValue; + let progress = time / this.duration + if(progress != 1) progress = this.timingFunction(progress) + this.template(this.startValue + range * progress) + } +} \ No newline at end of file diff --git a/uni_modules/lime-shared/areaData/city-china.json b/uni_modules/lime-shared/areaData/city-china.json new file mode 100644 index 0000000..d9872a0 --- /dev/null +++ b/uni_modules/lime-shared/areaData/city-china.json @@ -0,0 +1,3888 @@ +{ + "province_list": { + "110000": "北京市", + "120000": "天津市", + "130000": "河北省", + "140000": "山西省", + "150000": "内蒙古自治区", + "210000": "辽宁省", + "220000": "吉林省", + "230000": "黑龙江省", + "310000": "上海市", + "320000": "江苏省", + "330000": "浙江省", + "340000": "安徽省", + "350000": "福建省", + "360000": "江西省", + "370000": "山东省", + "410000": "河南省", + "420000": "湖北省", + "430000": "湖南省", + "440000": "广东省", + "450000": "广西壮族自治区", + "460000": "海南省", + "500000": "重庆市", + "510000": "四川省", + "520000": "贵州省", + "530000": "云南省", + "540000": "西藏自治区", + "610000": "陕西省", + "620000": "甘肃省", + "630000": "青海省", + "640000": "宁夏回族自治区", + "650000": "新疆维吾尔自治区", + "710000": "台湾省", + "810000": "香港特别行政区", + "820000": "澳门特别行政区" + }, + "city_list": { + "110100": "北京市", + "120100": "天津市", + "130100": "石家庄市", + "130200": "唐山市", + "130300": "秦皇岛市", + "130400": "邯郸市", + "130500": "邢台市", + "130600": "保定市", + "130700": "张家口市", + "130800": "承德市", + "130900": "沧州市", + "131000": "廊坊市", + "131100": "衡水市", + "140100": "太原市", + "140200": "大同市", + "140300": "阳泉市", + "140400": "长治市", + "140500": "晋城市", + "140600": "朔州市", + "140700": "晋中市", + "140800": "运城市", + "140900": "忻州市", + "141000": "临汾市", + "141100": "吕梁市", + "150100": "呼和浩特市", + "150200": "包头市", + "150300": "乌海市", + "150400": "赤峰市", + "150500": "通辽市", + "150600": "鄂尔多斯市", + "150700": "呼伦贝尔市", + "150800": "巴彦淖尔市", + "150900": "乌兰察布市", + "152200": "兴安盟", + "152500": "锡林郭勒盟", + "152900": "阿拉善盟", + "210100": "沈阳市", + "210200": "大连市", + "210300": "鞍山市", + "210400": "抚顺市", + "210500": "本溪市", + "210600": "丹东市", + "210700": "锦州市", + "210800": "营口市", + "210900": "阜新市", + "211000": "辽阳市", + "211100": "盘锦市", + "211200": "铁岭市", + "211300": "朝阳市", + "211400": "葫芦岛市", + "220100": "长春市", + "220200": "吉林市", + "220300": "四平市", + "220400": "辽源市", + "220500": "通化市", + "220600": "白山市", + "220700": "松原市", + "220800": "白城市", + "222400": "延边朝鲜族自治州", + "230100": "哈尔滨市", + "230200": "齐齐哈尔市", + "230300": "鸡西市", + "230400": "鹤岗市", + "230500": "双鸭山市", + "230600": "大庆市", + "230700": "伊春市", + "230800": "佳木斯市", + "230900": "七台河市", + "231000": "牡丹江市", + "231100": "黑河市", + "231200": "绥化市", + "232700": "大兴安岭地区", + "310100": "上海市", + "320100": "南京市", + "320200": "无锡市", + "320300": "徐州市", + "320400": "常州市", + "320500": "苏州市", + "320600": "南通市", + "320700": "连云港市", + "320800": "淮安市", + "320900": "盐城市", + "321000": "扬州市", + "321100": "镇江市", + "321200": "泰州市", + "321300": "宿迁市", + "330100": "杭州市", + "330200": "宁波市", + "330300": "温州市", + "330400": "嘉兴市", + "330500": "湖州市", + "330600": "绍兴市", + "330700": "金华市", + "330800": "衢州市", + "330900": "舟山市", + "331000": "台州市", + "331100": "丽水市", + "340100": "合肥市", + "340200": "芜湖市", + "340300": "蚌埠市", + "340400": "淮南市", + "340500": "马鞍山市", + "340600": "淮北市", + "340700": "铜陵市", + "340800": "安庆市", + "341000": "黄山市", + "341100": "滁州市", + "341200": "阜阳市", + "341300": "宿州市", + "341500": "六安市", + "341600": "亳州市", + "341700": "池州市", + "341800": "宣城市", + "350100": "福州市", + "350200": "厦门市", + "350300": "莆田市", + "350400": "三明市", + "350500": "泉州市", + "350600": "漳州市", + "350700": "南平市", + "350800": "龙岩市", + "350900": "宁德市", + "360100": "南昌市", + "360200": "景德镇市", + "360300": "萍乡市", + "360400": "九江市", + "360500": "新余市", + "360600": "鹰潭市", + "360700": "赣州市", + "360800": "吉安市", + "360900": "宜春市", + "361000": "抚州市", + "361100": "上饶市", + "370100": "济南市", + "370200": "青岛市", + "370300": "淄博市", + "370400": "枣庄市", + "370500": "东营市", + "370600": "烟台市", + "370700": "潍坊市", + "370800": "济宁市", + "370900": "泰安市", + "371000": "威海市", + "371100": "日照市", + "371300": "临沂市", + "371400": "德州市", + "371500": "聊城市", + "371600": "滨州市", + "371700": "菏泽市", + "410100": "郑州市", + "410200": "开封市", + "410300": "洛阳市", + "410400": "平顶山市", + "410500": "安阳市", + "410600": "鹤壁市", + "410700": "新乡市", + "410800": "焦作市", + "410900": "濮阳市", + "411000": "许昌市", + "411100": "漯河市", + "411200": "三门峡市", + "411300": "南阳市", + "411400": "商丘市", + "411500": "信阳市", + "411600": "周口市", + "411700": "驻马店市", + "419000": "省直辖县", + "420100": "武汉市", + "420200": "黄石市", + "420300": "十堰市", + "420500": "宜昌市", + "420600": "襄阳市", + "420700": "鄂州市", + "420800": "荆门市", + "420900": "孝感市", + "421000": "荆州市", + "421100": "黄冈市", + "421200": "咸宁市", + "421300": "随州市", + "422800": "恩施土家族苗族自治州", + "429000": "省直辖县", + "430100": "长沙市", + "430200": "株洲市", + "430300": "湘潭市", + "430400": "衡阳市", + "430500": "邵阳市", + "430600": "岳阳市", + "430700": "常德市", + "430800": "张家界市", + "430900": "益阳市", + "431000": "郴州市", + "431100": "永州市", + "431200": "怀化市", + "431300": "娄底市", + "433100": "湘西土家族苗族自治州", + "440100": "广州市", + "440200": "韶关市", + "440300": "深圳市", + "440400": "珠海市", + "440500": "汕头市", + "440600": "佛山市", + "440700": "江门市", + "440800": "湛江市", + "440900": "茂名市", + "441200": "肇庆市", + "441300": "惠州市", + "441400": "梅州市", + "441500": "汕尾市", + "441600": "河源市", + "441700": "阳江市", + "441800": "清远市", + "441900": "东莞市", + "442000": "中山市", + "445100": "潮州市", + "445200": "揭阳市", + "445300": "云浮市", + "450100": "南宁市", + "450200": "柳州市", + "450300": "桂林市", + "450400": "梧州市", + "450500": "北海市", + "450600": "防城港市", + "450700": "钦州市", + "450800": "贵港市", + "450900": "玉林市", + "451000": "百色市", + "451100": "贺州市", + "451200": "河池市", + "451300": "来宾市", + "451400": "崇左市", + "460100": "海口市", + "460200": "三亚市", + "460300": "三沙市", + "460400": "儋州市", + "469000": "省直辖县", + "500100": "重庆市", + "500200": "县", + "510100": "成都市", + "510300": "自贡市", + "510400": "攀枝花市", + "510500": "泸州市", + "510600": "德阳市", + "510700": "绵阳市", + "510800": "广元市", + "510900": "遂宁市", + "511000": "内江市", + "511100": "乐山市", + "511300": "南充市", + "511400": "眉山市", + "511500": "宜宾市", + "511600": "广安市", + "511700": "达州市", + "511800": "雅安市", + "511900": "巴中市", + "512000": "资阳市", + "513200": "阿坝藏族羌族自治州", + "513300": "甘孜藏族自治州", + "513400": "凉山彝族自治州", + "520100": "贵阳市", + "520200": "六盘水市", + "520300": "遵义市", + "520400": "安顺市", + "520500": "毕节市", + "520600": "铜仁市", + "522300": "黔西南布依族苗族自治州", + "522600": "黔东南苗族侗族自治州", + "522700": "黔南布依族苗族自治州", + "530100": "昆明市", + "530300": "曲靖市", + "530400": "玉溪市", + "530500": "保山市", + "530600": "昭通市", + "530700": "丽江市", + "530800": "普洱市", + "530900": "临沧市", + "532300": "楚雄彝族自治州", + "532500": "红河哈尼族彝族自治州", + "532600": "文山壮族苗族自治州", + "532800": "西双版纳傣族自治州", + "532900": "大理白族自治州", + "533100": "德宏傣族景颇族自治州", + "533300": "怒江傈僳族自治州", + "533400": "迪庆藏族自治州", + "540100": "拉萨市", + "540200": "日喀则市", + "540300": "昌都市", + "540400": "林芝市", + "540500": "山南市", + "540600": "那曲市", + "542500": "阿里地区", + "610100": "西安市", + "610200": "铜川市", + "610300": "宝鸡市", + "610400": "咸阳市", + "610500": "渭南市", + "610600": "延安市", + "610700": "汉中市", + "610800": "榆林市", + "610900": "安康市", + "611000": "商洛市", + "620100": "兰州市", + "620200": "嘉峪关市", + "620300": "金昌市", + "620400": "白银市", + "620500": "天水市", + "620600": "武威市", + "620700": "张掖市", + "620800": "平凉市", + "620900": "酒泉市", + "621000": "庆阳市", + "621100": "定西市", + "621200": "陇南市", + "622900": "临夏回族自治州", + "623000": "甘南藏族自治州", + "630100": "西宁市", + "630200": "海东市", + "632200": "海北藏族自治州", + "632300": "黄南藏族自治州", + "632500": "海南藏族自治州", + "632600": "果洛藏族自治州", + "632700": "玉树藏族自治州", + "632800": "海西蒙古族藏族自治州", + "640100": "银川市", + "640200": "石嘴山市", + "640300": "吴忠市", + "640400": "固原市", + "640500": "中卫市", + "650100": "乌鲁木齐市", + "650200": "克拉玛依市", + "650400": "吐鲁番市", + "650500": "哈密市", + "652300": "昌吉回族自治州", + "652700": "博尔塔拉蒙古自治州", + "652800": "巴音郭楞蒙古自治州", + "652900": "阿克苏地区", + "653000": "克孜勒苏柯尔克孜自治州", + "653100": "喀什地区", + "653200": "和田地区", + "654000": "伊犁哈萨克自治州", + "654200": "塔城地区", + "654300": "阿勒泰地区", + "659000": "自治区直辖县级行政区划", + "710100": "台北市", + "710200": "高雄市", + "710300": "台南市", + "710400": "台中市", + "710500": "金门县", + "710600": "南投县", + "710700": "基隆市", + "710800": "新竹市", + "710900": "嘉义市", + "711100": "新北市", + "711200": "宜兰县", + "711300": "新竹县", + "711400": "桃园市", + "711500": "苗栗县", + "711700": "彰化县", + "711900": "嘉义县", + "712100": "云林县", + "712400": "屏东县", + "712500": "台东县", + "712600": "花莲县", + "712700": "澎湖县", + "712800": "连江县", + "810100": "香港岛", + "810200": "九龙", + "810300": "新界", + "820100": "澳门半岛", + "820200": "离岛" + }, + "county_list": { + "110101": "东城区", + "110102": "西城区", + "110105": "朝阳区", + "110106": "丰台区", + "110107": "石景山区", + "110108": "海淀区", + "110109": "门头沟区", + "110111": "房山区", + "110112": "通州区", + "110113": "顺义区", + "110114": "昌平区", + "110115": "大兴区", + "110116": "怀柔区", + "110117": "平谷区", + "110118": "密云区", + "110119": "延庆区", + "120101": "和平区", + "120102": "河东区", + "120103": "河西区", + "120104": "南开区", + "120105": "河北区", + "120106": "红桥区", + "120110": "东丽区", + "120111": "西青区", + "120112": "津南区", + "120113": "北辰区", + "120114": "武清区", + "120115": "宝坻区", + "120116": "滨海新区", + "120117": "宁河区", + "120118": "静海区", + "120119": "蓟州区", + "130102": "长安区", + "130104": "桥西区", + "130105": "新华区", + "130107": "井陉矿区", + "130108": "裕华区", + "130109": "藁城区", + "130110": "鹿泉区", + "130111": "栾城区", + "130121": "井陉县", + "130123": "正定县", + "130125": "行唐县", + "130126": "灵寿县", + "130127": "高邑县", + "130128": "深泽县", + "130129": "赞皇县", + "130130": "无极县", + "130131": "平山县", + "130132": "元氏县", + "130133": "赵县", + "130171": "石家庄高新技术产业开发区", + "130172": "石家庄循环化工园区", + "130181": "辛集市", + "130183": "晋州市", + "130184": "新乐市", + "130202": "路南区", + "130203": "路北区", + "130204": "古冶区", + "130205": "开平区", + "130207": "丰南区", + "130208": "丰润区", + "130209": "曹妃甸区", + "130224": "滦南县", + "130225": "乐亭县", + "130227": "迁西县", + "130229": "玉田县", + "130273": "唐山高新技术产业开发区", + "130274": "河北唐山海港经济开发区", + "130281": "遵化市", + "130283": "迁安市", + "130284": "滦州市", + "130302": "海港区", + "130303": "山海关区", + "130304": "北戴河区", + "130306": "抚宁区", + "130321": "青龙满族自治县", + "130322": "昌黎县", + "130324": "卢龙县", + "130371": "秦皇岛市经济技术开发区", + "130372": "北戴河新区", + "130390": "经济技术开发区", + "130402": "邯山区", + "130403": "丛台区", + "130404": "复兴区", + "130406": "峰峰矿区", + "130407": "肥乡区", + "130408": "永年区", + "130423": "临漳县", + "130424": "成安县", + "130425": "大名县", + "130426": "涉县", + "130427": "磁县", + "130430": "邱县", + "130431": "鸡泽县", + "130432": "广平县", + "130433": "馆陶县", + "130434": "魏县", + "130435": "曲周县", + "130471": "邯郸经济技术开发区", + "130473": "邯郸冀南新区", + "130481": "武安市", + "130502": "襄都区", + "130503": "信都区", + "130505": "任泽区", + "130506": "南和区", + "130522": "临城县", + "130523": "内丘县", + "130524": "柏乡县", + "130525": "隆尧县", + "130528": "宁晋县", + "130529": "巨鹿县", + "130530": "新河县", + "130531": "广宗县", + "130532": "平乡县", + "130533": "威县", + "130534": "清河县", + "130535": "临西县", + "130571": "河北邢台经济开发区", + "130581": "南宫市", + "130582": "沙河市", + "130602": "竞秀区", + "130606": "莲池区", + "130607": "满城区", + "130608": "清苑区", + "130609": "徐水区", + "130623": "涞水县", + "130624": "阜平县", + "130626": "定兴县", + "130627": "唐县", + "130628": "高阳县", + "130629": "容城县", + "130630": "涞源县", + "130631": "望都县", + "130632": "安新县", + "130633": "易县", + "130634": "曲阳县", + "130635": "蠡县", + "130636": "顺平县", + "130637": "博野县", + "130638": "雄县", + "130671": "保定高新技术产业开发区", + "130672": "保定白沟新城", + "130681": "涿州市", + "130682": "定州市", + "130683": "安国市", + "130684": "高碑店市", + "130702": "桥东区", + "130703": "桥西区", + "130705": "宣化区", + "130706": "下花园区", + "130708": "万全区", + "130709": "崇礼区", + "130722": "张北县", + "130723": "康保县", + "130724": "沽源县", + "130725": "尚义县", + "130726": "蔚县", + "130727": "阳原县", + "130728": "怀安县", + "130730": "怀来县", + "130731": "涿鹿县", + "130732": "赤城县", + "130772": "张家口市察北管理区", + "130802": "双桥区", + "130803": "双滦区", + "130804": "鹰手营子矿区", + "130821": "承德县", + "130822": "兴隆县", + "130824": "滦平县", + "130825": "隆化县", + "130826": "丰宁满族自治县", + "130827": "宽城满族自治县", + "130828": "围场满族蒙古族自治县", + "130871": "承德高新技术产业开发区", + "130881": "平泉市", + "130902": "新华区", + "130903": "运河区", + "130921": "沧县", + "130922": "青县", + "130923": "东光县", + "130924": "海兴县", + "130925": "盐山县", + "130926": "肃宁县", + "130927": "南皮县", + "130928": "吴桥县", + "130929": "献县", + "130930": "孟村回族自治县", + "130971": "河北沧州经济开发区", + "130972": "沧州高新技术产业开发区", + "130973": "沧州渤海新区", + "130981": "泊头市", + "130982": "任丘市", + "130983": "黄骅市", + "130984": "河间市", + "131002": "安次区", + "131003": "广阳区", + "131022": "固安县", + "131023": "永清县", + "131024": "香河县", + "131025": "大城县", + "131026": "文安县", + "131028": "大厂回族自治县", + "131071": "廊坊经济技术开发区", + "131081": "霸州市", + "131082": "三河市", + "131090": "开发区", + "131102": "桃城区", + "131103": "冀州区", + "131121": "枣强县", + "131122": "武邑县", + "131123": "武强县", + "131124": "饶阳县", + "131125": "安平县", + "131126": "故城县", + "131127": "景县", + "131128": "阜城县", + "131171": "河北衡水经济开发区", + "131172": "衡水滨湖新区", + "131182": "深州市", + "140105": "小店区", + "140106": "迎泽区", + "140107": "杏花岭区", + "140108": "尖草坪区", + "140109": "万柏林区", + "140110": "晋源区", + "140121": "清徐县", + "140122": "阳曲县", + "140123": "娄烦县", + "140181": "古交市", + "140212": "新荣区", + "140213": "平城区", + "140214": "云冈区", + "140215": "云州区", + "140221": "阳高县", + "140222": "天镇县", + "140223": "广灵县", + "140224": "灵丘县", + "140225": "浑源县", + "140226": "左云县", + "140271": "山西大同经济开发区", + "140302": "城区", + "140303": "矿区", + "140311": "郊区", + "140321": "平定县", + "140322": "盂县", + "140403": "潞州区", + "140404": "上党区", + "140405": "屯留区", + "140406": "潞城区", + "140423": "襄垣县", + "140425": "平顺县", + "140426": "黎城县", + "140427": "壶关县", + "140428": "长子县", + "140429": "武乡县", + "140430": "沁县", + "140431": "沁源县", + "140471": "山西长治高新技术产业园区", + "140502": "城区", + "140521": "沁水县", + "140522": "阳城县", + "140524": "陵川县", + "140525": "泽州县", + "140581": "高平市", + "140602": "朔城区", + "140603": "平鲁区", + "140621": "山阴县", + "140622": "应县", + "140623": "右玉县", + "140671": "山西朔州经济开发区", + "140681": "怀仁市", + "140702": "榆次区", + "140703": "太谷区", + "140721": "榆社县", + "140722": "左权县", + "140723": "和顺县", + "140724": "昔阳县", + "140725": "寿阳县", + "140727": "祁县", + "140728": "平遥县", + "140729": "灵石县", + "140781": "介休市", + "140802": "盐湖区", + "140821": "临猗县", + "140822": "万荣县", + "140823": "闻喜县", + "140824": "稷山县", + "140825": "新绛县", + "140826": "绛县", + "140827": "垣曲县", + "140828": "夏县", + "140829": "平陆县", + "140830": "芮城县", + "140881": "永济市", + "140882": "河津市", + "140902": "忻府区", + "140921": "定襄县", + "140922": "五台县", + "140923": "代县", + "140924": "繁峙县", + "140925": "宁武县", + "140926": "静乐县", + "140927": "神池县", + "140928": "五寨县", + "140929": "岢岚县", + "140930": "河曲县", + "140931": "保德县", + "140932": "偏关县", + "140971": "五台山风景名胜区", + "140981": "原平市", + "141002": "尧都区", + "141021": "曲沃县", + "141022": "翼城县", + "141023": "襄汾县", + "141024": "洪洞县", + "141025": "古县", + "141026": "安泽县", + "141027": "浮山县", + "141028": "吉县", + "141029": "乡宁县", + "141030": "大宁县", + "141031": "隰县", + "141032": "永和县", + "141033": "蒲县", + "141034": "汾西县", + "141081": "侯马市", + "141082": "霍州市", + "141102": "离石区", + "141121": "文水县", + "141122": "交城县", + "141123": "兴县", + "141124": "临县", + "141125": "柳林县", + "141126": "石楼县", + "141127": "岚县", + "141128": "方山县", + "141129": "中阳县", + "141130": "交口县", + "141181": "孝义市", + "141182": "汾阳市", + "150102": "新城区", + "150103": "回民区", + "150104": "玉泉区", + "150105": "赛罕区", + "150121": "土默特左旗", + "150122": "托克托县", + "150123": "和林格尔县", + "150124": "清水河县", + "150125": "武川县", + "150172": "呼和浩特经济技术开发区", + "150202": "东河区", + "150203": "昆都仑区", + "150204": "青山区", + "150205": "石拐区", + "150206": "白云鄂博矿区", + "150207": "九原区", + "150221": "土默特右旗", + "150222": "固阳县", + "150223": "达尔罕茂明安联合旗", + "150271": "包头稀土高新技术产业开发区", + "150302": "海勃湾区", + "150303": "海南区", + "150304": "乌达区", + "150402": "红山区", + "150403": "元宝山区", + "150404": "松山区", + "150421": "阿鲁科尔沁旗", + "150422": "巴林左旗", + "150423": "巴林右旗", + "150424": "林西县", + "150425": "克什克腾旗", + "150426": "翁牛特旗", + "150428": "喀喇沁旗", + "150429": "宁城县", + "150430": "敖汉旗", + "150502": "科尔沁区", + "150521": "科尔沁左翼中旗", + "150522": "科尔沁左翼后旗", + "150523": "开鲁县", + "150524": "库伦旗", + "150525": "奈曼旗", + "150526": "扎鲁特旗", + "150571": "通辽经济技术开发区", + "150581": "霍林郭勒市", + "150602": "东胜区", + "150603": "康巴什区", + "150621": "达拉特旗", + "150622": "准格尔旗", + "150623": "鄂托克前旗", + "150624": "鄂托克旗", + "150625": "杭锦旗", + "150626": "乌审旗", + "150627": "伊金霍洛旗", + "150702": "海拉尔区", + "150703": "扎赉诺尔区", + "150721": "阿荣旗", + "150722": "莫力达瓦达斡尔族自治旗", + "150723": "鄂伦春自治旗", + "150724": "鄂温克族自治旗", + "150725": "陈巴尔虎旗", + "150726": "新巴尔虎左旗", + "150727": "新巴尔虎右旗", + "150781": "满洲里市", + "150782": "牙克石市", + "150783": "扎兰屯市", + "150784": "额尔古纳市", + "150785": "根河市", + "150802": "临河区", + "150821": "五原县", + "150822": "磴口县", + "150823": "乌拉特前旗", + "150824": "乌拉特中旗", + "150825": "乌拉特后旗", + "150826": "杭锦后旗", + "150902": "集宁区", + "150921": "卓资县", + "150922": "化德县", + "150923": "商都县", + "150924": "兴和县", + "150925": "凉城县", + "150926": "察哈尔右翼前旗", + "150927": "察哈尔右翼中旗", + "150928": "察哈尔右翼后旗", + "150929": "四子王旗", + "150981": "丰镇市", + "152201": "乌兰浩特市", + "152202": "阿尔山市", + "152221": "科尔沁右翼前旗", + "152222": "科尔沁右翼中旗", + "152223": "扎赉特旗", + "152224": "突泉县", + "152501": "二连浩特市", + "152502": "锡林浩特市", + "152522": "阿巴嘎旗", + "152523": "苏尼特左旗", + "152524": "苏尼特右旗", + "152525": "东乌珠穆沁旗", + "152526": "西乌珠穆沁旗", + "152527": "太仆寺旗", + "152528": "镶黄旗", + "152529": "正镶白旗", + "152530": "正蓝旗", + "152531": "多伦县", + "152571": "乌拉盖管委会", + "152921": "阿拉善左旗", + "152922": "阿拉善右旗", + "152923": "额济纳旗", + "152971": "内蒙古阿拉善经济开发区", + "210102": "和平区", + "210103": "沈河区", + "210104": "大东区", + "210105": "皇姑区", + "210106": "铁西区", + "210111": "苏家屯区", + "210112": "浑南区", + "210113": "沈北新区", + "210114": "于洪区", + "210115": "辽中区", + "210123": "康平县", + "210124": "法库县", + "210181": "新民市", + "210190": "经济技术开发区", + "210202": "中山区", + "210203": "西岗区", + "210204": "沙河口区", + "210211": "甘井子区", + "210212": "旅顺口区", + "210213": "金州区", + "210214": "普兰店区", + "210224": "长海县", + "210281": "瓦房店市", + "210283": "庄河市", + "210302": "铁东区", + "210303": "铁西区", + "210304": "立山区", + "210311": "千山区", + "210321": "台安县", + "210323": "岫岩满族自治县", + "210381": "海城市", + "210390": "高新区", + "210402": "新抚区", + "210403": "东洲区", + "210404": "望花区", + "210411": "顺城区", + "210421": "抚顺县", + "210422": "新宾满族自治县", + "210423": "清原满族自治县", + "210502": "平山区", + "210503": "溪湖区", + "210504": "明山区", + "210505": "南芬区", + "210521": "本溪满族自治县", + "210522": "桓仁满族自治县", + "210602": "元宝区", + "210603": "振兴区", + "210604": "振安区", + "210624": "宽甸满族自治县", + "210681": "东港市", + "210682": "凤城市", + "210702": "古塔区", + "210703": "凌河区", + "210711": "太和区", + "210726": "黑山县", + "210727": "义县", + "210781": "凌海市", + "210782": "北镇市", + "210793": "经济技术开发区", + "210802": "站前区", + "210803": "西市区", + "210804": "鲅鱼圈区", + "210811": "老边区", + "210881": "盖州市", + "210882": "大石桥市", + "210902": "海州区", + "210903": "新邱区", + "210904": "太平区", + "210905": "清河门区", + "210911": "细河区", + "210921": "阜新蒙古族自治县", + "210922": "彰武县", + "211002": "白塔区", + "211003": "文圣区", + "211004": "宏伟区", + "211005": "弓长岭区", + "211011": "太子河区", + "211021": "辽阳县", + "211081": "灯塔市", + "211102": "双台子区", + "211103": "兴隆台区", + "211104": "大洼区", + "211122": "盘山县", + "211202": "银州区", + "211204": "清河区", + "211221": "铁岭县", + "211223": "西丰县", + "211224": "昌图县", + "211281": "调兵山市", + "211282": "开原市", + "211302": "双塔区", + "211303": "龙城区", + "211321": "朝阳县", + "211322": "建平县", + "211324": "喀喇沁左翼蒙古族自治县", + "211381": "北票市", + "211382": "凌源市", + "211402": "连山区", + "211403": "龙港区", + "211404": "南票区", + "211421": "绥中县", + "211422": "建昌县", + "211481": "兴城市", + "220102": "南关区", + "220103": "宽城区", + "220104": "朝阳区", + "220105": "二道区", + "220106": "绿园区", + "220112": "双阳区", + "220113": "九台区", + "220122": "农安县", + "220171": "长春经济技术开发区", + "220172": "长春净月高新技术产业开发区", + "220173": "长春高新技术产业开发区", + "220174": "长春汽车经济技术开发区", + "220182": "榆树市", + "220183": "德惠市", + "220184": "公主岭市", + "220192": "经济技术开发区", + "220202": "昌邑区", + "220203": "龙潭区", + "220204": "船营区", + "220211": "丰满区", + "220221": "永吉县", + "220271": "吉林经济开发区", + "220272": "吉林高新技术产业开发区", + "220281": "蛟河市", + "220282": "桦甸市", + "220283": "舒兰市", + "220284": "磐石市", + "220302": "铁西区", + "220303": "铁东区", + "220322": "梨树县", + "220323": "伊通满族自治县", + "220382": "双辽市", + "220402": "龙山区", + "220403": "西安区", + "220421": "东丰县", + "220422": "东辽县", + "220502": "东昌区", + "220503": "二道江区", + "220521": "通化县", + "220523": "辉南县", + "220524": "柳河县", + "220581": "梅河口市", + "220582": "集安市", + "220602": "浑江区", + "220605": "江源区", + "220621": "抚松县", + "220622": "靖宇县", + "220623": "长白朝鲜族自治县", + "220681": "临江市", + "220702": "宁江区", + "220721": "前郭尔罗斯蒙古族自治县", + "220722": "长岭县", + "220723": "乾安县", + "220771": "吉林松原经济开发区", + "220781": "扶余市", + "220802": "洮北区", + "220821": "镇赉县", + "220822": "通榆县", + "220871": "吉林白城经济开发区", + "220881": "洮南市", + "220882": "大安市", + "222401": "延吉市", + "222402": "图们市", + "222403": "敦化市", + "222404": "珲春市", + "222405": "龙井市", + "222406": "和龙市", + "222424": "汪清县", + "222426": "安图县", + "230102": "道里区", + "230103": "南岗区", + "230104": "道外区", + "230108": "平房区", + "230109": "松北区", + "230110": "香坊区", + "230111": "呼兰区", + "230112": "阿城区", + "230113": "双城区", + "230123": "依兰县", + "230124": "方正县", + "230125": "宾县", + "230126": "巴彦县", + "230127": "木兰县", + "230128": "通河县", + "230129": "延寿县", + "230183": "尚志市", + "230184": "五常市", + "230202": "龙沙区", + "230203": "建华区", + "230204": "铁锋区", + "230205": "昂昂溪区", + "230206": "富拉尔基区", + "230207": "碾子山区", + "230208": "梅里斯达斡尔族区", + "230221": "龙江县", + "230223": "依安县", + "230224": "泰来县", + "230225": "甘南县", + "230227": "富裕县", + "230229": "克山县", + "230230": "克东县", + "230231": "拜泉县", + "230281": "讷河市", + "230302": "鸡冠区", + "230303": "恒山区", + "230304": "滴道区", + "230305": "梨树区", + "230306": "城子河区", + "230307": "麻山区", + "230321": "鸡东县", + "230381": "虎林市", + "230382": "密山市", + "230402": "向阳区", + "230403": "工农区", + "230404": "南山区", + "230405": "兴安区", + "230406": "东山区", + "230407": "兴山区", + "230421": "萝北县", + "230422": "绥滨县", + "230502": "尖山区", + "230503": "岭东区", + "230505": "四方台区", + "230506": "宝山区", + "230521": "集贤县", + "230522": "友谊县", + "230523": "宝清县", + "230524": "饶河县", + "230602": "萨尔图区", + "230603": "龙凤区", + "230604": "让胡路区", + "230605": "红岗区", + "230606": "大同区", + "230621": "肇州县", + "230622": "肇源县", + "230623": "林甸县", + "230624": "杜尔伯特蒙古族自治县", + "230671": "大庆高新技术产业开发区", + "230717": "伊美区", + "230718": "乌翠区", + "230719": "友好区", + "230722": "嘉荫县", + "230723": "汤旺县", + "230724": "丰林县", + "230725": "大箐山县", + "230726": "南岔县", + "230751": "金林区", + "230781": "铁力市", + "230803": "向阳区", + "230804": "前进区", + "230805": "东风区", + "230811": "郊区", + "230822": "桦南县", + "230826": "桦川县", + "230828": "汤原县", + "230881": "同江市", + "230882": "富锦市", + "230883": "抚远市", + "230902": "新兴区", + "230903": "桃山区", + "230904": "茄子河区", + "230921": "勃利县", + "231002": "东安区", + "231003": "阳明区", + "231004": "爱民区", + "231005": "西安区", + "231025": "林口县", + "231081": "绥芬河市", + "231083": "海林市", + "231084": "宁安市", + "231085": "穆棱市", + "231086": "东宁市", + "231102": "爱辉区", + "231123": "逊克县", + "231124": "孙吴县", + "231181": "北安市", + "231182": "五大连池市", + "231183": "嫩江市", + "231202": "北林区", + "231221": "望奎县", + "231222": "兰西县", + "231223": "青冈县", + "231224": "庆安县", + "231225": "明水县", + "231226": "绥棱县", + "231281": "安达市", + "231282": "肇东市", + "231283": "海伦市", + "232701": "漠河市", + "232721": "呼玛县", + "232722": "塔河县", + "232761": "加格达奇区", + "232762": "松岭区", + "232763": "新林区", + "232764": "呼中区", + "310101": "黄浦区", + "310104": "徐汇区", + "310105": "长宁区", + "310106": "静安区", + "310107": "普陀区", + "310109": "虹口区", + "310110": "杨浦区", + "310112": "闵行区", + "310113": "宝山区", + "310114": "嘉定区", + "310115": "浦东新区", + "310116": "金山区", + "310117": "松江区", + "310118": "青浦区", + "310120": "奉贤区", + "310151": "崇明区", + "320102": "玄武区", + "320104": "秦淮区", + "320105": "建邺区", + "320106": "鼓楼区", + "320111": "浦口区", + "320112": "江北新区", + "320113": "栖霞区", + "320114": "雨花台区", + "320115": "江宁区", + "320116": "六合区", + "320117": "溧水区", + "320118": "高淳区", + "320205": "锡山区", + "320206": "惠山区", + "320211": "滨湖区", + "320213": "梁溪区", + "320214": "新吴区", + "320281": "江阴市", + "320282": "宜兴市", + "320302": "鼓楼区", + "320303": "云龙区", + "320305": "贾汪区", + "320311": "泉山区", + "320312": "铜山区", + "320321": "丰县", + "320322": "沛县", + "320324": "睢宁县", + "320371": "徐州经济技术开发区", + "320381": "新沂市", + "320382": "邳州市", + "320391": "工业园区", + "320402": "天宁区", + "320404": "钟楼区", + "320411": "新北区", + "320412": "武进区", + "320413": "金坛区", + "320481": "溧阳市", + "320505": "虎丘区", + "320506": "吴中区", + "320507": "相城区", + "320508": "姑苏区", + "320509": "吴江区", + "320571": "苏州工业园区", + "320581": "常熟市", + "320582": "张家港市", + "320583": "昆山市", + "320585": "太仓市", + "320590": "工业园区", + "320591": "高新区", + "320611": "港闸区", + "320612": "通州区", + "320613": "崇川区", + "320614": "海门区", + "320623": "如东县", + "320681": "启东市", + "320682": "如皋市", + "320685": "海安市", + "320691": "高新区", + "320703": "连云区", + "320706": "海州区", + "320707": "赣榆区", + "320722": "东海县", + "320723": "灌云县", + "320724": "灌南县", + "320771": "连云港经济技术开发区", + "320803": "淮安区", + "320804": "淮阴区", + "320812": "清江浦区", + "320813": "洪泽区", + "320826": "涟水县", + "320830": "盱眙县", + "320831": "金湖县", + "320871": "淮安经济技术开发区", + "320890": "经济开发区", + "320902": "亭湖区", + "320903": "盐都区", + "320904": "大丰区", + "320921": "响水县", + "320922": "滨海县", + "320923": "阜宁县", + "320924": "射阳县", + "320925": "建湖县", + "320971": "盐城经济技术开发区", + "320981": "东台市", + "321002": "广陵区", + "321003": "邗江区", + "321012": "江都区", + "321023": "宝应县", + "321071": "扬州经济技术开发区", + "321081": "仪征市", + "321084": "高邮市", + "321090": "经济开发区", + "321102": "京口区", + "321111": "润州区", + "321112": "丹徒区", + "321150": "镇江新区", + "321181": "丹阳市", + "321182": "扬中市", + "321183": "句容市", + "321202": "海陵区", + "321203": "高港区", + "321204": "姜堰区", + "321271": "泰州医药高新技术产业开发区", + "321281": "兴化市", + "321282": "靖江市", + "321283": "泰兴市", + "321302": "宿城区", + "321311": "宿豫区", + "321322": "沭阳县", + "321323": "泗阳县", + "321324": "泗洪县", + "321371": "宿迁经济技术开发区", + "330102": "上城区", + "330105": "拱墅区", + "330106": "西湖区", + "330108": "滨江区", + "330109": "萧山区", + "330110": "余杭区", + "330111": "富阳区", + "330112": "临安区", + "330113": "临平区", + "330114": "钱塘区", + "330122": "桐庐县", + "330127": "淳安县", + "330182": "建德市", + "330203": "海曙区", + "330205": "江北区", + "330206": "北仑区", + "330211": "镇海区", + "330212": "鄞州区", + "330213": "奉化区", + "330225": "象山县", + "330226": "宁海县", + "330281": "余姚市", + "330282": "慈溪市", + "330302": "鹿城区", + "330303": "龙湾区", + "330304": "瓯海区", + "330305": "洞头区", + "330324": "永嘉县", + "330326": "平阳县", + "330327": "苍南县", + "330328": "文成县", + "330329": "泰顺县", + "330381": "瑞安市", + "330382": "乐清市", + "330383": "龙港市", + "330402": "南湖区", + "330411": "秀洲区", + "330421": "嘉善县", + "330424": "海盐县", + "330481": "海宁市", + "330482": "平湖市", + "330483": "桐乡市", + "330502": "吴兴区", + "330503": "南浔区", + "330521": "德清县", + "330522": "长兴县", + "330523": "安吉县", + "330602": "越城区", + "330603": "柯桥区", + "330604": "上虞区", + "330624": "新昌县", + "330681": "诸暨市", + "330683": "嵊州市", + "330702": "婺城区", + "330703": "金东区", + "330723": "武义县", + "330726": "浦江县", + "330727": "磐安县", + "330781": "兰溪市", + "330782": "义乌市", + "330783": "东阳市", + "330784": "永康市", + "330802": "柯城区", + "330803": "衢江区", + "330822": "常山县", + "330824": "开化县", + "330825": "龙游县", + "330881": "江山市", + "330902": "定海区", + "330903": "普陀区", + "330921": "岱山县", + "330922": "嵊泗县", + "331002": "椒江区", + "331003": "黄岩区", + "331004": "路桥区", + "331022": "三门县", + "331023": "天台县", + "331024": "仙居县", + "331081": "温岭市", + "331082": "临海市", + "331083": "玉环市", + "331102": "莲都区", + "331121": "青田县", + "331122": "缙云县", + "331123": "遂昌县", + "331124": "松阳县", + "331125": "云和县", + "331126": "庆元县", + "331127": "景宁畲族自治县", + "331181": "龙泉市", + "340102": "瑶海区", + "340103": "庐阳区", + "340104": "蜀山区", + "340111": "包河区", + "340121": "长丰县", + "340122": "肥东县", + "340123": "肥西县", + "340124": "庐江县", + "340171": "合肥高新技术产业开发区", + "340172": "合肥经济技术开发区", + "340173": "合肥新站高新技术产业开发区", + "340181": "巢湖市", + "340190": "高新技术开发区", + "340191": "经济技术开发区", + "340202": "镜湖区", + "340207": "鸠江区", + "340209": "弋江区", + "340210": "湾沚区", + "340212": "繁昌区", + "340223": "南陵县", + "340281": "无为市", + "340302": "龙子湖区", + "340303": "蚌山区", + "340304": "禹会区", + "340311": "淮上区", + "340321": "怀远县", + "340322": "五河县", + "340323": "固镇县", + "340371": "蚌埠市高新技术开发区", + "340372": "蚌埠市经济开发区", + "340402": "大通区", + "340403": "田家庵区", + "340404": "谢家集区", + "340405": "八公山区", + "340406": "潘集区", + "340421": "凤台县", + "340422": "寿县", + "340503": "花山区", + "340504": "雨山区", + "340506": "博望区", + "340521": "当涂县", + "340522": "含山县", + "340523": "和县", + "340602": "杜集区", + "340603": "相山区", + "340604": "烈山区", + "340621": "濉溪县", + "340705": "铜官区", + "340706": "义安区", + "340711": "郊区", + "340722": "枞阳县", + "340802": "迎江区", + "340803": "大观区", + "340811": "宜秀区", + "340822": "怀宁县", + "340825": "太湖县", + "340826": "宿松县", + "340827": "望江县", + "340828": "岳西县", + "340881": "桐城市", + "340882": "潜山市", + "341002": "屯溪区", + "341003": "黄山区", + "341004": "徽州区", + "341021": "歙县", + "341022": "休宁县", + "341023": "黟县", + "341024": "祁门县", + "341102": "琅琊区", + "341103": "南谯区", + "341122": "来安县", + "341124": "全椒县", + "341125": "定远县", + "341126": "凤阳县", + "341181": "天长市", + "341182": "明光市", + "341202": "颍州区", + "341203": "颍东区", + "341204": "颍泉区", + "341221": "临泉县", + "341222": "太和县", + "341225": "阜南县", + "341226": "颍上县", + "341271": "阜阳合肥现代产业园区", + "341282": "界首市", + "341302": "埇桥区", + "341321": "砀山县", + "341322": "萧县", + "341323": "灵璧县", + "341324": "泗县", + "341371": "宿州马鞍山现代产业园区", + "341372": "宿州经济技术开发区", + "341390": "经济开发区", + "341502": "金安区", + "341503": "裕安区", + "341504": "叶集区", + "341522": "霍邱县", + "341523": "舒城县", + "341524": "金寨县", + "341525": "霍山县", + "341602": "谯城区", + "341621": "涡阳县", + "341622": "蒙城县", + "341623": "利辛县", + "341702": "贵池区", + "341721": "东至县", + "341722": "石台县", + "341723": "青阳县", + "341802": "宣州区", + "341821": "郎溪县", + "341823": "泾县", + "341824": "绩溪县", + "341825": "旌德县", + "341871": "宣城市经济开发区", + "341881": "宁国市", + "341882": "广德市", + "350102": "鼓楼区", + "350103": "台江区", + "350104": "仓山区", + "350105": "马尾区", + "350111": "晋安区", + "350112": "长乐区", + "350121": "闽侯县", + "350122": "连江县", + "350123": "罗源县", + "350124": "闽清县", + "350125": "永泰县", + "350128": "平潭县", + "350181": "福清市", + "350203": "思明区", + "350205": "海沧区", + "350206": "湖里区", + "350211": "集美区", + "350212": "同安区", + "350213": "翔安区", + "350302": "城厢区", + "350303": "涵江区", + "350304": "荔城区", + "350305": "秀屿区", + "350322": "仙游县", + "350402": "梅列区", + "350404": "三元区", + "350405": "沙县区", + "350421": "明溪县", + "350423": "清流县", + "350424": "宁化县", + "350425": "大田县", + "350426": "尤溪县", + "350428": "将乐县", + "350429": "泰宁县", + "350430": "建宁县", + "350481": "永安市", + "350502": "鲤城区", + "350503": "丰泽区", + "350504": "洛江区", + "350505": "泉港区", + "350521": "惠安县", + "350524": "安溪县", + "350525": "永春县", + "350526": "德化县", + "350527": "金门县", + "350581": "石狮市", + "350582": "晋江市", + "350583": "南安市", + "350602": "芗城区", + "350603": "龙文区", + "350604": "龙海区", + "350605": "长泰区", + "350622": "云霄县", + "350623": "漳浦县", + "350624": "诏安县", + "350626": "东山县", + "350627": "南靖县", + "350628": "平和县", + "350629": "华安县", + "350702": "延平区", + "350703": "建阳区", + "350721": "顺昌县", + "350722": "浦城县", + "350723": "光泽县", + "350724": "松溪县", + "350725": "政和县", + "350781": "邵武市", + "350782": "武夷山市", + "350783": "建瓯市", + "350802": "新罗区", + "350803": "永定区", + "350821": "长汀县", + "350823": "上杭县", + "350824": "武平县", + "350825": "连城县", + "350881": "漳平市", + "350902": "蕉城区", + "350921": "霞浦县", + "350922": "古田县", + "350923": "屏南县", + "350924": "寿宁县", + "350925": "周宁县", + "350926": "柘荣县", + "350981": "福安市", + "350982": "福鼎市", + "360102": "东湖区", + "360103": "西湖区", + "360104": "青云谱区", + "360111": "青山湖区", + "360112": "新建区", + "360113": "红谷滩区", + "360121": "南昌县", + "360123": "安义县", + "360124": "进贤县", + "360190": "经济技术开发区", + "360192": "高新区", + "360202": "昌江区", + "360203": "珠山区", + "360222": "浮梁县", + "360281": "乐平市", + "360302": "安源区", + "360313": "湘东区", + "360321": "莲花县", + "360322": "上栗县", + "360323": "芦溪县", + "360402": "濂溪区", + "360403": "浔阳区", + "360404": "柴桑区", + "360423": "武宁县", + "360424": "修水县", + "360425": "永修县", + "360426": "德安县", + "360428": "都昌县", + "360429": "湖口县", + "360430": "彭泽县", + "360481": "瑞昌市", + "360482": "共青城市", + "360483": "庐山市", + "360490": "经济技术开发区", + "360502": "渝水区", + "360521": "分宜县", + "360602": "月湖区", + "360603": "余江区", + "360681": "贵溪市", + "360702": "章贡区", + "360703": "南康区", + "360704": "赣县区", + "360722": "信丰县", + "360723": "大余县", + "360724": "上犹县", + "360725": "崇义县", + "360726": "安远县", + "360728": "定南县", + "360729": "全南县", + "360730": "宁都县", + "360731": "于都县", + "360732": "兴国县", + "360733": "会昌县", + "360734": "寻乌县", + "360735": "石城县", + "360781": "瑞金市", + "360783": "龙南市", + "360802": "吉州区", + "360803": "青原区", + "360821": "吉安县", + "360822": "吉水县", + "360823": "峡江县", + "360824": "新干县", + "360825": "永丰县", + "360826": "泰和县", + "360827": "遂川县", + "360828": "万安县", + "360829": "安福县", + "360830": "永新县", + "360881": "井冈山市", + "360902": "袁州区", + "360921": "奉新县", + "360922": "万载县", + "360923": "上高县", + "360924": "宜丰县", + "360925": "靖安县", + "360926": "铜鼓县", + "360981": "丰城市", + "360982": "樟树市", + "360983": "高安市", + "361002": "临川区", + "361003": "东乡区", + "361021": "南城县", + "361022": "黎川县", + "361023": "南丰县", + "361024": "崇仁县", + "361025": "乐安县", + "361026": "宜黄县", + "361027": "金溪县", + "361028": "资溪县", + "361030": "广昌县", + "361102": "信州区", + "361103": "广丰区", + "361104": "广信区", + "361123": "玉山县", + "361124": "铅山县", + "361125": "横峰县", + "361126": "弋阳县", + "361127": "余干县", + "361128": "鄱阳县", + "361129": "万年县", + "361130": "婺源县", + "361181": "德兴市", + "370102": "历下区", + "370103": "市中区", + "370104": "槐荫区", + "370105": "天桥区", + "370112": "历城区", + "370113": "长清区", + "370114": "章丘区", + "370115": "济阳区", + "370116": "莱芜区", + "370117": "钢城区", + "370124": "平阴县", + "370126": "商河县", + "370171": "济南高新技术产业开发区", + "370190": "高新区", + "370202": "市南区", + "370203": "市北区", + "370211": "黄岛区", + "370212": "崂山区", + "370213": "李沧区", + "370214": "城阳区", + "370215": "即墨区", + "370271": "青岛高新技术产业开发区", + "370281": "胶州市", + "370283": "平度市", + "370285": "莱西市", + "370290": "开发区", + "370302": "淄川区", + "370303": "张店区", + "370304": "博山区", + "370305": "临淄区", + "370306": "周村区", + "370321": "桓台县", + "370322": "高青县", + "370323": "沂源县", + "370402": "市中区", + "370403": "薛城区", + "370404": "峄城区", + "370405": "台儿庄区", + "370406": "山亭区", + "370481": "滕州市", + "370502": "东营区", + "370503": "河口区", + "370505": "垦利区", + "370522": "利津县", + "370523": "广饶县", + "370571": "东营经济技术开发区", + "370572": "东营港经济开发区", + "370602": "芝罘区", + "370611": "福山区", + "370612": "牟平区", + "370613": "莱山区", + "370614": "蓬莱区", + "370634": "长岛县", + "370671": "烟台高新技术产业开发区", + "370672": "烟台经济技术开发区", + "370681": "龙口市", + "370682": "莱阳市", + "370683": "莱州市", + "370685": "招远市", + "370686": "栖霞市", + "370687": "海阳市", + "370690": "开发区", + "370702": "潍城区", + "370703": "寒亭区", + "370704": "坊子区", + "370705": "奎文区", + "370724": "临朐县", + "370725": "昌乐县", + "370772": "潍坊滨海经济技术开发区", + "370781": "青州市", + "370782": "诸城市", + "370783": "寿光市", + "370784": "安丘市", + "370785": "高密市", + "370786": "昌邑市", + "370790": "开发区", + "370791": "高新区", + "370811": "任城区", + "370812": "兖州区", + "370826": "微山县", + "370827": "鱼台县", + "370828": "金乡县", + "370829": "嘉祥县", + "370830": "汶上县", + "370831": "泗水县", + "370832": "梁山县", + "370871": "济宁高新技术产业开发区", + "370881": "曲阜市", + "370883": "邹城市", + "370890": "高新区", + "370902": "泰山区", + "370911": "岱岳区", + "370921": "宁阳县", + "370923": "东平县", + "370982": "新泰市", + "370983": "肥城市", + "371002": "环翠区", + "371003": "文登区", + "371071": "威海火炬高技术产业开发区", + "371072": "威海经济技术开发区", + "371082": "荣成市", + "371083": "乳山市", + "371091": "经济技术开发区", + "371102": "东港区", + "371103": "岚山区", + "371121": "五莲县", + "371122": "莒县", + "371171": "日照经济技术开发区", + "371302": "兰山区", + "371311": "罗庄区", + "371312": "河东区", + "371321": "沂南县", + "371322": "郯城县", + "371323": "沂水县", + "371324": "兰陵县", + "371325": "费县", + "371326": "平邑县", + "371327": "莒南县", + "371328": "蒙阴县", + "371329": "临沭县", + "371371": "临沂高新技术产业开发区", + "371402": "德城区", + "371403": "陵城区", + "371422": "宁津县", + "371423": "庆云县", + "371424": "临邑县", + "371425": "齐河县", + "371426": "平原县", + "371427": "夏津县", + "371428": "武城县", + "371472": "德州运河经济开发区", + "371481": "乐陵市", + "371482": "禹城市", + "371502": "东昌府区", + "371503": "茌平区", + "371521": "阳谷县", + "371522": "莘县", + "371524": "东阿县", + "371525": "冠县", + "371526": "高唐县", + "371581": "临清市", + "371602": "滨城区", + "371603": "沾化区", + "371621": "惠民县", + "371622": "阳信县", + "371623": "无棣县", + "371625": "博兴县", + "371681": "邹平市", + "371702": "牡丹区", + "371703": "定陶区", + "371721": "曹县", + "371722": "单县", + "371723": "成武县", + "371724": "巨野县", + "371725": "郓城县", + "371726": "鄄城县", + "371728": "东明县", + "371771": "菏泽经济技术开发区", + "371772": "菏泽高新技术开发区", + "410102": "中原区", + "410103": "二七区", + "410104": "管城回族区", + "410105": "金水区", + "410106": "上街区", + "410108": "惠济区", + "410122": "中牟县", + "410171": "郑州经济技术开发区", + "410172": "郑州高新技术产业开发区", + "410173": "郑州航空港经济综合实验区", + "410181": "巩义市", + "410182": "荥阳市", + "410183": "新密市", + "410184": "新郑市", + "410185": "登封市", + "410190": "高新技术开发区", + "410191": "经济技术开发区", + "410202": "龙亭区", + "410203": "顺河回族区", + "410204": "鼓楼区", + "410205": "禹王台区", + "410212": "祥符区", + "410221": "杞县", + "410222": "通许县", + "410223": "尉氏县", + "410225": "兰考县", + "410302": "老城区", + "410303": "西工区", + "410304": "瀍河回族区", + "410305": "涧西区", + "410307": "偃师区", + "410308": "孟津区", + "410311": "洛龙区", + "410323": "新安县", + "410324": "栾川县", + "410325": "嵩县", + "410326": "汝阳县", + "410327": "宜阳县", + "410328": "洛宁县", + "410329": "伊川县", + "410402": "新华区", + "410403": "卫东区", + "410404": "石龙区", + "410411": "湛河区", + "410421": "宝丰县", + "410422": "叶县", + "410423": "鲁山县", + "410425": "郏县", + "410471": "平顶山高新技术产业开发区", + "410481": "舞钢市", + "410482": "汝州市", + "410502": "文峰区", + "410503": "北关区", + "410505": "殷都区", + "410506": "龙安区", + "410522": "安阳县", + "410523": "汤阴县", + "410526": "滑县", + "410527": "内黄县", + "410581": "林州市", + "410590": "开发区", + "410602": "鹤山区", + "410603": "山城区", + "410611": "淇滨区", + "410621": "浚县", + "410622": "淇县", + "410702": "红旗区", + "410703": "卫滨区", + "410704": "凤泉区", + "410711": "牧野区", + "410721": "新乡县", + "410724": "获嘉县", + "410725": "原阳县", + "410726": "延津县", + "410727": "封丘县", + "410771": "新乡高新技术产业开发区", + "410772": "新乡经济技术开发区", + "410781": "卫辉市", + "410782": "辉县市", + "410783": "长垣市", + "410802": "解放区", + "410803": "中站区", + "410804": "马村区", + "410811": "山阳区", + "410821": "修武县", + "410822": "博爱县", + "410823": "武陟县", + "410825": "温县", + "410871": "焦作城乡一体化示范区", + "410882": "沁阳市", + "410883": "孟州市", + "410902": "华龙区", + "410922": "清丰县", + "410923": "南乐县", + "410926": "范县", + "410927": "台前县", + "410928": "濮阳县", + "410971": "河南濮阳工业园区", + "411002": "魏都区", + "411003": "建安区", + "411024": "鄢陵县", + "411025": "襄城县", + "411071": "许昌经济技术开发区", + "411081": "禹州市", + "411082": "长葛市", + "411102": "源汇区", + "411103": "郾城区", + "411104": "召陵区", + "411121": "舞阳县", + "411122": "临颍县", + "411171": "漯河经济技术开发区", + "411202": "湖滨区", + "411203": "陕州区", + "411221": "渑池县", + "411224": "卢氏县", + "411271": "河南三门峡经济开发区", + "411281": "义马市", + "411282": "灵宝市", + "411302": "宛城区", + "411303": "卧龙区", + "411321": "南召县", + "411322": "方城县", + "411323": "西峡县", + "411324": "镇平县", + "411325": "内乡县", + "411326": "淅川县", + "411327": "社旗县", + "411328": "唐河县", + "411329": "新野县", + "411330": "桐柏县", + "411372": "南阳市城乡一体化示范区", + "411381": "邓州市", + "411402": "梁园区", + "411403": "睢阳区", + "411421": "民权县", + "411422": "睢县", + "411423": "宁陵县", + "411424": "柘城县", + "411425": "虞城县", + "411426": "夏邑县", + "411481": "永城市", + "411502": "浉河区", + "411503": "平桥区", + "411521": "罗山县", + "411522": "光山县", + "411523": "新县", + "411524": "商城县", + "411525": "固始县", + "411526": "潢川县", + "411527": "淮滨县", + "411528": "息县", + "411602": "川汇区", + "411603": "淮阳区", + "411621": "扶沟县", + "411622": "西华县", + "411623": "商水县", + "411624": "沈丘县", + "411625": "郸城县", + "411627": "太康县", + "411628": "鹿邑县", + "411671": "河南周口经济开发区", + "411681": "项城市", + "411690": "经济开发区", + "411702": "驿城区", + "411721": "西平县", + "411722": "上蔡县", + "411723": "平舆县", + "411724": "正阳县", + "411725": "确山县", + "411726": "泌阳县", + "411727": "汝南县", + "411728": "遂平县", + "411729": "新蔡县", + "419001": "济源市", + "420102": "江岸区", + "420103": "江汉区", + "420104": "硚口区", + "420105": "汉阳区", + "420106": "武昌区", + "420107": "青山区", + "420111": "洪山区", + "420112": "东西湖区", + "420113": "汉南区", + "420114": "蔡甸区", + "420115": "江夏区", + "420116": "黄陂区", + "420117": "新洲区", + "420202": "黄石港区", + "420203": "西塞山区", + "420204": "下陆区", + "420205": "铁山区", + "420222": "阳新县", + "420281": "大冶市", + "420302": "茅箭区", + "420303": "张湾区", + "420304": "郧阳区", + "420322": "郧西县", + "420323": "竹山县", + "420324": "竹溪县", + "420325": "房县", + "420381": "丹江口市", + "420502": "西陵区", + "420503": "伍家岗区", + "420504": "点军区", + "420505": "猇亭区", + "420506": "夷陵区", + "420525": "远安县", + "420526": "兴山县", + "420527": "秭归县", + "420528": "长阳土家族自治县", + "420529": "五峰土家族自治县", + "420581": "宜都市", + "420582": "当阳市", + "420583": "枝江市", + "420590": "经济开发区", + "420602": "襄城区", + "420606": "樊城区", + "420607": "襄州区", + "420624": "南漳县", + "420625": "谷城县", + "420626": "保康县", + "420682": "老河口市", + "420683": "枣阳市", + "420684": "宜城市", + "420702": "梁子湖区", + "420703": "华容区", + "420704": "鄂城区", + "420802": "东宝区", + "420804": "掇刀区", + "420822": "沙洋县", + "420881": "钟祥市", + "420882": "京山市", + "420902": "孝南区", + "420921": "孝昌县", + "420922": "大悟县", + "420923": "云梦县", + "420981": "应城市", + "420982": "安陆市", + "420984": "汉川市", + "421002": "沙市区", + "421003": "荆州区", + "421022": "公安县", + "421024": "江陵县", + "421081": "石首市", + "421083": "洪湖市", + "421087": "松滋市", + "421088": "监利市", + "421102": "黄州区", + "421121": "团风县", + "421122": "红安县", + "421123": "罗田县", + "421124": "英山县", + "421125": "浠水县", + "421126": "蕲春县", + "421127": "黄梅县", + "421171": "龙感湖管理区", + "421181": "麻城市", + "421182": "武穴市", + "421202": "咸安区", + "421221": "嘉鱼县", + "421222": "通城县", + "421223": "崇阳县", + "421224": "通山县", + "421281": "赤壁市", + "421303": "曾都区", + "421321": "随县", + "421381": "广水市", + "422801": "恩施市", + "422802": "利川市", + "422822": "建始县", + "422823": "巴东县", + "422825": "宣恩县", + "422826": "咸丰县", + "422827": "来凤县", + "422828": "鹤峰县", + "429004": "仙桃市", + "429005": "潜江市", + "429006": "天门市", + "429021": "神农架林区", + "430102": "芙蓉区", + "430103": "天心区", + "430104": "岳麓区", + "430105": "开福区", + "430111": "雨花区", + "430112": "望城区", + "430121": "长沙县", + "430181": "浏阳市", + "430182": "宁乡市", + "430202": "荷塘区", + "430203": "芦淞区", + "430204": "石峰区", + "430211": "天元区", + "430212": "渌口区", + "430223": "攸县", + "430224": "茶陵县", + "430225": "炎陵县", + "430271": "云龙示范区", + "430281": "醴陵市", + "430302": "雨湖区", + "430304": "岳塘区", + "430321": "湘潭县", + "430373": "湘潭九华示范区", + "430381": "湘乡市", + "430382": "韶山市", + "430405": "珠晖区", + "430406": "雁峰区", + "430407": "石鼓区", + "430408": "蒸湘区", + "430412": "南岳区", + "430421": "衡阳县", + "430422": "衡南县", + "430423": "衡山县", + "430424": "衡东县", + "430426": "祁东县", + "430481": "耒阳市", + "430482": "常宁市", + "430502": "双清区", + "430503": "大祥区", + "430511": "北塔区", + "430522": "新邵县", + "430523": "邵阳县", + "430524": "隆回县", + "430525": "洞口县", + "430527": "绥宁县", + "430528": "新宁县", + "430529": "城步苗族自治县", + "430581": "武冈市", + "430582": "邵东市", + "430602": "岳阳楼区", + "430603": "云溪区", + "430611": "君山区", + "430621": "岳阳县", + "430623": "华容县", + "430624": "湘阴县", + "430626": "平江县", + "430681": "汨罗市", + "430682": "临湘市", + "430702": "武陵区", + "430703": "鼎城区", + "430721": "安乡县", + "430722": "汉寿县", + "430723": "澧县", + "430724": "临澧县", + "430725": "桃源县", + "430726": "石门县", + "430781": "津市市", + "430802": "永定区", + "430811": "武陵源区", + "430821": "慈利县", + "430822": "桑植县", + "430902": "资阳区", + "430903": "赫山区", + "430921": "南县", + "430922": "桃江县", + "430923": "安化县", + "430971": "益阳市大通湖管理区", + "430981": "沅江市", + "431002": "北湖区", + "431003": "苏仙区", + "431021": "桂阳县", + "431022": "宜章县", + "431023": "永兴县", + "431024": "嘉禾县", + "431025": "临武县", + "431026": "汝城县", + "431027": "桂东县", + "431028": "安仁县", + "431081": "资兴市", + "431102": "零陵区", + "431103": "冷水滩区", + "431122": "东安县", + "431123": "双牌县", + "431124": "道县", + "431125": "江永县", + "431126": "宁远县", + "431127": "蓝山县", + "431128": "新田县", + "431129": "江华瑶族自治县", + "431181": "祁阳市", + "431202": "鹤城区", + "431221": "中方县", + "431222": "沅陵县", + "431223": "辰溪县", + "431224": "溆浦县", + "431225": "会同县", + "431226": "麻阳苗族自治县", + "431227": "新晃侗族自治县", + "431228": "芷江侗族自治县", + "431229": "靖州苗族侗族自治县", + "431230": "通道侗族自治县", + "431271": "怀化市洪江管理区", + "431281": "洪江市", + "431302": "娄星区", + "431321": "双峰县", + "431322": "新化县", + "431381": "冷水江市", + "431382": "涟源市", + "433101": "吉首市", + "433122": "泸溪县", + "433123": "凤凰县", + "433124": "花垣县", + "433125": "保靖县", + "433126": "古丈县", + "433127": "永顺县", + "433130": "龙山县", + "440103": "荔湾区", + "440104": "越秀区", + "440105": "海珠区", + "440106": "天河区", + "440111": "白云区", + "440112": "黄埔区", + "440113": "番禺区", + "440114": "花都区", + "440115": "南沙区", + "440117": "从化区", + "440118": "增城区", + "440203": "武江区", + "440204": "浈江区", + "440205": "曲江区", + "440222": "始兴县", + "440224": "仁化县", + "440229": "翁源县", + "440232": "乳源瑶族自治县", + "440233": "新丰县", + "440281": "乐昌市", + "440282": "南雄市", + "440303": "罗湖区", + "440304": "福田区", + "440305": "南山区", + "440306": "宝安区", + "440307": "龙岗区", + "440308": "盐田区", + "440309": "龙华区", + "440310": "坪山区", + "440311": "光明区", + "440402": "香洲区", + "440403": "斗门区", + "440404": "金湾区", + "440507": "龙湖区", + "440511": "金平区", + "440512": "濠江区", + "440513": "潮阳区", + "440514": "潮南区", + "440515": "澄海区", + "440523": "南澳县", + "440604": "禅城区", + "440605": "南海区", + "440606": "顺德区", + "440607": "三水区", + "440608": "高明区", + "440703": "蓬江区", + "440704": "江海区", + "440705": "新会区", + "440781": "台山市", + "440783": "开平市", + "440784": "鹤山市", + "440785": "恩平市", + "440802": "赤坎区", + "440803": "霞山区", + "440804": "坡头区", + "440811": "麻章区", + "440823": "遂溪县", + "440825": "徐闻县", + "440881": "廉江市", + "440882": "雷州市", + "440883": "吴川市", + "440890": "经济技术开发区", + "440902": "茂南区", + "440904": "电白区", + "440981": "高州市", + "440982": "化州市", + "440983": "信宜市", + "441202": "端州区", + "441203": "鼎湖区", + "441204": "高要区", + "441223": "广宁县", + "441224": "怀集县", + "441225": "封开县", + "441226": "德庆县", + "441284": "四会市", + "441302": "惠城区", + "441303": "惠阳区", + "441322": "博罗县", + "441323": "惠东县", + "441324": "龙门县", + "441402": "梅江区", + "441403": "梅县区", + "441422": "大埔县", + "441423": "丰顺县", + "441424": "五华县", + "441426": "平远县", + "441427": "蕉岭县", + "441481": "兴宁市", + "441502": "城区", + "441521": "海丰县", + "441523": "陆河县", + "441581": "陆丰市", + "441602": "源城区", + "441621": "紫金县", + "441622": "龙川县", + "441623": "连平县", + "441624": "和平县", + "441625": "东源县", + "441702": "江城区", + "441704": "阳东区", + "441721": "阳西县", + "441781": "阳春市", + "441802": "清城区", + "441803": "清新区", + "441821": "佛冈县", + "441823": "阳山县", + "441825": "连山壮族瑶族自治县", + "441826": "连南瑶族自治县", + "441881": "英德市", + "441882": "连州市", + "441901": "中堂镇", + "441903": "南城街道", + "441904": "长安镇", + "441905": "东坑镇", + "441906": "樟木头镇", + "441907": "莞城街道", + "441908": "石龙镇", + "441909": "桥头镇", + "441910": "万江街道", + "441911": "麻涌镇", + "441912": "虎门镇", + "441913": "谢岗镇", + "441914": "石碣镇", + "441915": "茶山镇", + "441916": "东城街道", + "441917": "洪梅镇", + "441918": "道滘镇", + "441919": "高埗镇", + "441920": "企石镇", + "441921": "凤岗镇", + "441922": "大岭山镇", + "441923": "松山湖", + "441924": "清溪镇", + "441925": "望牛墩镇", + "441926": "厚街镇", + "441927": "常平镇", + "441928": "寮步镇", + "441929": "石排镇", + "441930": "横沥镇", + "441931": "塘厦镇", + "441932": "黄江镇", + "441933": "大朗镇", + "441934": "东莞港", + "441935": "东莞生态园", + "441990": "沙田镇", + "442001": "南头镇", + "442002": "神湾镇", + "442003": "东凤镇", + "442004": "五桂山街道", + "442005": "黄圃镇", + "442006": "小榄镇", + "442007": "石岐街道", + "442008": "横栏镇", + "442009": "三角镇", + "442010": "三乡镇", + "442011": "港口镇", + "442012": "沙溪镇", + "442013": "板芙镇", + "442015": "东升镇", + "442016": "阜沙镇", + "442017": "民众镇", + "442018": "东区街道", + "442019": "火炬开发区街道办事处", + "442020": "西区街道", + "442021": "南区街道", + "442022": "古镇镇", + "442023": "坦洲镇", + "442024": "大涌镇", + "442025": "南朗镇", + "445102": "湘桥区", + "445103": "潮安区", + "445122": "饶平县", + "445202": "榕城区", + "445203": "揭东区", + "445222": "揭西县", + "445224": "惠来县", + "445281": "普宁市", + "445302": "云城区", + "445303": "云安区", + "445321": "新兴县", + "445322": "郁南县", + "445381": "罗定市", + "450102": "兴宁区", + "450103": "青秀区", + "450105": "江南区", + "450107": "西乡塘区", + "450108": "良庆区", + "450109": "邕宁区", + "450110": "武鸣区", + "450123": "隆安县", + "450124": "马山县", + "450125": "上林县", + "450126": "宾阳县", + "450181": "横州市", + "450202": "城中区", + "450203": "鱼峰区", + "450204": "柳南区", + "450205": "柳北区", + "450206": "柳江区", + "450222": "柳城县", + "450223": "鹿寨县", + "450224": "融安县", + "450225": "融水苗族自治县", + "450226": "三江侗族自治县", + "450302": "秀峰区", + "450303": "叠彩区", + "450304": "象山区", + "450305": "七星区", + "450311": "雁山区", + "450312": "临桂区", + "450321": "阳朔县", + "450323": "灵川县", + "450324": "全州县", + "450325": "兴安县", + "450326": "永福县", + "450327": "灌阳县", + "450328": "龙胜各族自治县", + "450329": "资源县", + "450330": "平乐县", + "450332": "恭城瑶族自治县", + "450381": "荔浦市", + "450403": "万秀区", + "450405": "长洲区", + "450406": "龙圩区", + "450421": "苍梧县", + "450422": "藤县", + "450423": "蒙山县", + "450481": "岑溪市", + "450502": "海城区", + "450503": "银海区", + "450512": "铁山港区", + "450521": "合浦县", + "450602": "港口区", + "450603": "防城区", + "450621": "上思县", + "450681": "东兴市", + "450702": "钦南区", + "450703": "钦北区", + "450721": "灵山县", + "450722": "浦北县", + "450802": "港北区", + "450803": "港南区", + "450804": "覃塘区", + "450821": "平南县", + "450881": "桂平市", + "450902": "玉州区", + "450903": "福绵区", + "450921": "容县", + "450922": "陆川县", + "450923": "博白县", + "450924": "兴业县", + "450981": "北流市", + "451002": "右江区", + "451003": "田阳区", + "451022": "田东县", + "451024": "德保县", + "451026": "那坡县", + "451027": "凌云县", + "451028": "乐业县", + "451029": "田林县", + "451030": "西林县", + "451031": "隆林各族自治县", + "451081": "靖西市", + "451082": "平果市", + "451102": "八步区", + "451103": "平桂区", + "451121": "昭平县", + "451122": "钟山县", + "451123": "富川瑶族自治县", + "451202": "金城江区", + "451203": "宜州区", + "451221": "南丹县", + "451222": "天峨县", + "451223": "凤山县", + "451224": "东兰县", + "451225": "罗城仫佬族自治县", + "451226": "环江毛南族自治县", + "451227": "巴马瑶族自治县", + "451228": "都安瑶族自治县", + "451229": "大化瑶族自治县", + "451302": "兴宾区", + "451321": "忻城县", + "451322": "象州县", + "451323": "武宣县", + "451324": "金秀瑶族自治县", + "451381": "合山市", + "451402": "江州区", + "451421": "扶绥县", + "451422": "宁明县", + "451423": "龙州县", + "451424": "大新县", + "451425": "天等县", + "451481": "凭祥市", + "460105": "秀英区", + "460106": "龙华区", + "460107": "琼山区", + "460108": "美兰区", + "460202": "海棠区", + "460203": "吉阳区", + "460204": "天涯区", + "460205": "崖州区", + "460321": "西沙区", + "460322": "南沙区", + "460401": "那大镇", + "460402": "和庆镇", + "460403": "南丰镇", + "460404": "大成镇", + "460405": "雅星镇", + "460406": "兰洋镇", + "460407": "光村镇", + "460408": "木棠镇", + "460409": "海头镇", + "460410": "峨蔓镇", + "460411": "王五镇", + "460412": "白马井镇", + "460413": "中和镇", + "460414": "排浦镇", + "460415": "东成镇", + "460416": "新州镇", + "460417": "洋浦经济开发区", + "460418": "华南热作学院", + "469001": "五指山市", + "469002": "琼海市", + "469005": "文昌市", + "469006": "万宁市", + "469007": "东方市", + "469021": "定安县", + "469022": "屯昌县", + "469023": "澄迈县", + "469024": "临高县", + "469025": "白沙黎族自治县", + "469026": "昌江黎族自治县", + "469027": "乐东黎族自治县", + "469028": "陵水黎族自治县", + "469029": "保亭黎族苗族自治县", + "469030": "琼中黎族苗族自治县", + "500101": "万州区", + "500102": "涪陵区", + "500103": "渝中区", + "500104": "大渡口区", + "500105": "江北区", + "500106": "沙坪坝区", + "500107": "九龙坡区", + "500108": "南岸区", + "500109": "北碚区", + "500110": "綦江区", + "500111": "大足区", + "500112": "渝北区", + "500113": "巴南区", + "500114": "黔江区", + "500115": "长寿区", + "500116": "江津区", + "500117": "合川区", + "500118": "永川区", + "500119": "南川区", + "500120": "璧山区", + "500151": "铜梁区", + "500152": "潼南区", + "500153": "荣昌区", + "500154": "开州区", + "500155": "梁平区", + "500156": "武隆区", + "500229": "城口县", + "500230": "丰都县", + "500231": "垫江县", + "500233": "忠县", + "500235": "云阳县", + "500236": "奉节县", + "500237": "巫山县", + "500238": "巫溪县", + "500240": "石柱土家族自治县", + "500241": "秀山土家族苗族自治县", + "500242": "酉阳土家族苗族自治县", + "500243": "彭水苗族土家族自治县", + "510104": "锦江区", + "510105": "青羊区", + "510106": "金牛区", + "510107": "武侯区", + "510108": "成华区", + "510112": "龙泉驿区", + "510113": "青白江区", + "510114": "新都区", + "510115": "温江区", + "510116": "双流区", + "510117": "郫都区", + "510118": "新津区", + "510121": "金堂县", + "510129": "大邑县", + "510131": "蒲江县", + "510181": "都江堰市", + "510182": "彭州市", + "510183": "邛崃市", + "510184": "崇州市", + "510185": "简阳市", + "510191": "高新区", + "510302": "自流井区", + "510303": "贡井区", + "510304": "大安区", + "510311": "沿滩区", + "510321": "荣县", + "510322": "富顺县", + "510402": "东区", + "510403": "西区", + "510411": "仁和区", + "510421": "米易县", + "510422": "盐边县", + "510502": "江阳区", + "510503": "纳溪区", + "510504": "龙马潭区", + "510521": "泸县", + "510522": "合江县", + "510524": "叙永县", + "510525": "古蔺县", + "510603": "旌阳区", + "510604": "罗江区", + "510623": "中江县", + "510681": "广汉市", + "510682": "什邡市", + "510683": "绵竹市", + "510703": "涪城区", + "510704": "游仙区", + "510705": "安州区", + "510722": "三台县", + "510723": "盐亭县", + "510725": "梓潼县", + "510726": "北川羌族自治县", + "510727": "平武县", + "510781": "江油市", + "510791": "高新区", + "510802": "利州区", + "510811": "昭化区", + "510812": "朝天区", + "510821": "旺苍县", + "510822": "青川县", + "510823": "剑阁县", + "510824": "苍溪县", + "510903": "船山区", + "510904": "安居区", + "510921": "蓬溪县", + "510923": "大英县", + "510981": "射洪市", + "511002": "市中区", + "511011": "东兴区", + "511024": "威远县", + "511025": "资中县", + "511083": "隆昌市", + "511102": "市中区", + "511111": "沙湾区", + "511112": "五通桥区", + "511113": "金口河区", + "511123": "犍为县", + "511124": "井研县", + "511126": "夹江县", + "511129": "沐川县", + "511132": "峨边彝族自治县", + "511133": "马边彝族自治县", + "511181": "峨眉山市", + "511302": "顺庆区", + "511303": "高坪区", + "511304": "嘉陵区", + "511321": "南部县", + "511322": "营山县", + "511323": "蓬安县", + "511324": "仪陇县", + "511325": "西充县", + "511381": "阆中市", + "511402": "东坡区", + "511403": "彭山区", + "511421": "仁寿县", + "511423": "洪雅县", + "511424": "丹棱县", + "511425": "青神县", + "511502": "翠屏区", + "511503": "南溪区", + "511504": "叙州区", + "511523": "江安县", + "511524": "长宁县", + "511525": "高县", + "511526": "珙县", + "511527": "筠连县", + "511528": "兴文县", + "511529": "屏山县", + "511602": "广安区", + "511603": "前锋区", + "511621": "岳池县", + "511622": "武胜县", + "511623": "邻水县", + "511681": "华蓥市", + "511702": "通川区", + "511703": "达川区", + "511722": "宣汉县", + "511723": "开江县", + "511724": "大竹县", + "511725": "渠县", + "511781": "万源市", + "511802": "雨城区", + "511803": "名山区", + "511822": "荥经县", + "511823": "汉源县", + "511824": "石棉县", + "511825": "天全县", + "511826": "芦山县", + "511827": "宝兴县", + "511902": "巴州区", + "511903": "恩阳区", + "511921": "通江县", + "511922": "南江县", + "511923": "平昌县", + "511971": "巴中经济开发区", + "512002": "雁江区", + "512021": "安岳县", + "512022": "乐至县", + "513201": "马尔康市", + "513221": "汶川县", + "513222": "理县", + "513223": "茂县", + "513224": "松潘县", + "513225": "九寨沟县", + "513226": "金川县", + "513227": "小金县", + "513228": "黑水县", + "513230": "壤塘县", + "513231": "阿坝县", + "513232": "若尔盖县", + "513233": "红原县", + "513301": "康定市", + "513322": "泸定县", + "513323": "丹巴县", + "513324": "九龙县", + "513325": "雅江县", + "513326": "道孚县", + "513327": "炉霍县", + "513328": "甘孜县", + "513329": "新龙县", + "513330": "德格县", + "513331": "白玉县", + "513332": "石渠县", + "513333": "色达县", + "513334": "理塘县", + "513335": "巴塘县", + "513336": "乡城县", + "513337": "稻城县", + "513338": "得荣县", + "513401": "西昌市", + "513402": "会理市", + "513422": "木里藏族自治县", + "513423": "盐源县", + "513424": "德昌县", + "513426": "会东县", + "513427": "宁南县", + "513428": "普格县", + "513429": "布拖县", + "513430": "金阳县", + "513431": "昭觉县", + "513432": "喜德县", + "513433": "冕宁县", + "513434": "越西县", + "513435": "甘洛县", + "513436": "美姑县", + "513437": "雷波县", + "520102": "南明区", + "520103": "云岩区", + "520111": "花溪区", + "520112": "乌当区", + "520113": "白云区", + "520115": "观山湖区", + "520121": "开阳县", + "520122": "息烽县", + "520123": "修文县", + "520181": "清镇市", + "520201": "钟山区", + "520203": "六枝特区", + "520204": "水城区", + "520281": "盘州市", + "520302": "红花岗区", + "520303": "汇川区", + "520304": "播州区", + "520322": "桐梓县", + "520323": "绥阳县", + "520324": "正安县", + "520325": "道真仡佬族苗族自治县", + "520326": "务川仡佬族苗族自治县", + "520327": "凤冈县", + "520328": "湄潭县", + "520329": "余庆县", + "520330": "习水县", + "520381": "赤水市", + "520382": "仁怀市", + "520402": "西秀区", + "520403": "平坝区", + "520422": "普定县", + "520423": "镇宁布依族苗族自治县", + "520424": "关岭布依族苗族自治县", + "520425": "紫云苗族布依族自治县", + "520502": "七星关区", + "520521": "大方县", + "520523": "金沙县", + "520524": "织金县", + "520525": "纳雍县", + "520526": "威宁彝族回族苗族自治县", + "520527": "赫章县", + "520581": "黔西市", + "520602": "碧江区", + "520603": "万山区", + "520621": "江口县", + "520622": "玉屏侗族自治县", + "520623": "石阡县", + "520624": "思南县", + "520625": "印江土家族苗族自治县", + "520626": "德江县", + "520627": "沿河土家族自治县", + "520628": "松桃苗族自治县", + "522301": "兴义市", + "522302": "兴仁市", + "522323": "普安县", + "522324": "晴隆县", + "522325": "贞丰县", + "522326": "望谟县", + "522327": "册亨县", + "522328": "安龙县", + "522601": "凯里市", + "522622": "黄平县", + "522623": "施秉县", + "522624": "三穗县", + "522625": "镇远县", + "522626": "岑巩县", + "522627": "天柱县", + "522628": "锦屏县", + "522629": "剑河县", + "522630": "台江县", + "522631": "黎平县", + "522632": "榕江县", + "522633": "从江县", + "522634": "雷山县", + "522635": "麻江县", + "522636": "丹寨县", + "522701": "都匀市", + "522702": "福泉市", + "522722": "荔波县", + "522723": "贵定县", + "522725": "瓮安县", + "522726": "独山县", + "522727": "平塘县", + "522728": "罗甸县", + "522729": "长顺县", + "522730": "龙里县", + "522731": "惠水县", + "522732": "三都水族自治县", + "530102": "五华区", + "530103": "盘龙区", + "530111": "官渡区", + "530112": "西山区", + "530113": "东川区", + "530114": "呈贡区", + "530115": "晋宁区", + "530124": "富民县", + "530125": "宜良县", + "530126": "石林彝族自治县", + "530127": "嵩明县", + "530128": "禄劝彝族苗族自治县", + "530129": "寻甸回族彝族自治县", + "530181": "安宁市", + "530302": "麒麟区", + "530303": "沾益区", + "530304": "马龙区", + "530322": "陆良县", + "530323": "师宗县", + "530324": "罗平县", + "530325": "富源县", + "530326": "会泽县", + "530381": "宣威市", + "530402": "红塔区", + "530403": "江川区", + "530423": "通海县", + "530424": "华宁县", + "530425": "易门县", + "530426": "峨山彝族自治县", + "530427": "新平彝族傣族自治县", + "530428": "元江哈尼族彝族傣族自治县", + "530481": "澄江市", + "530502": "隆阳区", + "530521": "施甸县", + "530523": "龙陵县", + "530524": "昌宁县", + "530581": "腾冲市", + "530602": "昭阳区", + "530621": "鲁甸县", + "530622": "巧家县", + "530623": "盐津县", + "530624": "大关县", + "530625": "永善县", + "530626": "绥江县", + "530627": "镇雄县", + "530628": "彝良县", + "530629": "威信县", + "530681": "水富市", + "530702": "古城区", + "530721": "玉龙纳西族自治县", + "530722": "永胜县", + "530723": "华坪县", + "530724": "宁蒗彝族自治县", + "530802": "思茅区", + "530821": "宁洱哈尼族彝族自治县", + "530822": "墨江哈尼族自治县", + "530823": "景东彝族自治县", + "530824": "景谷傣族彝族自治县", + "530825": "镇沅彝族哈尼族拉祜族自治县", + "530826": "江城哈尼族彝族自治县", + "530827": "孟连傣族拉祜族佤族自治县", + "530828": "澜沧拉祜族自治县", + "530829": "西盟佤族自治县", + "530902": "临翔区", + "530921": "凤庆县", + "530922": "云县", + "530923": "永德县", + "530924": "镇康县", + "530925": "双江拉祜族佤族布朗族傣族自治县", + "530926": "耿马傣族佤族自治县", + "530927": "沧源佤族自治县", + "532301": "楚雄市", + "532302": "禄丰市", + "532322": "双柏县", + "532323": "牟定县", + "532324": "南华县", + "532325": "姚安县", + "532326": "大姚县", + "532327": "永仁县", + "532328": "元谋县", + "532329": "武定县", + "532501": "个旧市", + "532502": "开远市", + "532503": "蒙自市", + "532504": "弥勒市", + "532523": "屏边苗族自治县", + "532524": "建水县", + "532525": "石屏县", + "532527": "泸西县", + "532528": "元阳县", + "532529": "红河县", + "532530": "金平苗族瑶族傣族自治县", + "532531": "绿春县", + "532532": "河口瑶族自治县", + "532601": "文山市", + "532622": "砚山县", + "532623": "西畴县", + "532624": "麻栗坡县", + "532625": "马关县", + "532626": "丘北县", + "532627": "广南县", + "532628": "富宁县", + "532801": "景洪市", + "532822": "勐海县", + "532823": "勐腊县", + "532901": "大理市", + "532922": "漾濞彝族自治县", + "532923": "祥云县", + "532924": "宾川县", + "532925": "弥渡县", + "532926": "南涧彝族自治县", + "532927": "巍山彝族回族自治县", + "532928": "永平县", + "532929": "云龙县", + "532930": "洱源县", + "532931": "剑川县", + "532932": "鹤庆县", + "533102": "瑞丽市", + "533103": "芒市", + "533122": "梁河县", + "533123": "盈江县", + "533124": "陇川县", + "533301": "泸水市", + "533323": "福贡县", + "533324": "贡山独龙族怒族自治县", + "533325": "兰坪白族普米族自治县", + "533401": "香格里拉市", + "533422": "德钦县", + "533423": "维西傈僳族自治县", + "540102": "城关区", + "540103": "堆龙德庆区", + "540104": "达孜区", + "540121": "林周县", + "540122": "当雄县", + "540123": "尼木县", + "540124": "曲水县", + "540127": "墨竹工卡县", + "540202": "桑珠孜区", + "540221": "南木林县", + "540222": "江孜县", + "540223": "定日县", + "540224": "萨迦县", + "540225": "拉孜县", + "540226": "昂仁县", + "540227": "谢通门县", + "540228": "白朗县", + "540229": "仁布县", + "540230": "康马县", + "540231": "定结县", + "540232": "仲巴县", + "540233": "亚东县", + "540234": "吉隆县", + "540235": "聂拉木县", + "540236": "萨嘎县", + "540237": "岗巴县", + "540302": "卡若区", + "540321": "江达县", + "540322": "贡觉县", + "540323": "类乌齐县", + "540324": "丁青县", + "540325": "察雅县", + "540326": "八宿县", + "540327": "左贡县", + "540328": "芒康县", + "540329": "洛隆县", + "540330": "边坝县", + "540402": "巴宜区", + "540421": "工布江达县", + "540423": "墨脱县", + "540424": "波密县", + "540425": "察隅县", + "540426": "朗县", + "540481": "米林市", + "540502": "乃东区", + "540521": "扎囊县", + "540522": "贡嘎县", + "540523": "桑日县", + "540524": "琼结县", + "540525": "曲松县", + "540526": "措美县", + "540527": "洛扎县", + "540528": "加查县", + "540529": "隆子县", + "540531": "浪卡子县", + "540581": "错那市", + "540602": "色尼区", + "540621": "嘉黎县", + "540622": "比如县", + "540623": "聂荣县", + "540624": "安多县", + "540625": "申扎县", + "540626": "索县", + "540627": "班戈县", + "540628": "巴青县", + "540629": "尼玛县", + "540630": "双湖县", + "542521": "普兰县", + "542522": "札达县", + "542523": "噶尔县", + "542524": "日土县", + "542525": "革吉县", + "542526": "改则县", + "542527": "措勤县", + "610102": "新城区", + "610103": "碑林区", + "610104": "莲湖区", + "610111": "灞桥区", + "610112": "未央区", + "610113": "雁塔区", + "610114": "阎良区", + "610115": "临潼区", + "610116": "长安区", + "610117": "高陵区", + "610118": "鄠邑区", + "610122": "蓝田县", + "610124": "周至县", + "610202": "王益区", + "610203": "印台区", + "610204": "耀州区", + "610222": "宜君县", + "610302": "渭滨区", + "610303": "金台区", + "610304": "陈仓区", + "610305": "凤翔区", + "610323": "岐山县", + "610324": "扶风县", + "610326": "眉县", + "610327": "陇县", + "610328": "千阳县", + "610329": "麟游县", + "610330": "凤县", + "610331": "太白县", + "610402": "秦都区", + "610403": "杨陵区", + "610404": "渭城区", + "610422": "三原县", + "610423": "泾阳县", + "610424": "乾县", + "610425": "礼泉县", + "610426": "永寿县", + "610428": "长武县", + "610429": "旬邑县", + "610430": "淳化县", + "610431": "武功县", + "610481": "兴平市", + "610482": "彬州市", + "610502": "临渭区", + "610503": "华州区", + "610522": "潼关县", + "610523": "大荔县", + "610524": "合阳县", + "610525": "澄城县", + "610526": "蒲城县", + "610527": "白水县", + "610528": "富平县", + "610581": "韩城市", + "610582": "华阴市", + "610602": "宝塔区", + "610603": "安塞区", + "610621": "延长县", + "610622": "延川县", + "610625": "志丹县", + "610626": "吴起县", + "610627": "甘泉县", + "610628": "富县", + "610629": "洛川县", + "610630": "宜川县", + "610631": "黄龙县", + "610632": "黄陵县", + "610681": "子长市", + "610702": "汉台区", + "610703": "南郑区", + "610722": "城固县", + "610723": "洋县", + "610724": "西乡县", + "610725": "勉县", + "610726": "宁强县", + "610727": "略阳县", + "610728": "镇巴县", + "610729": "留坝县", + "610730": "佛坪县", + "610802": "榆阳区", + "610803": "横山区", + "610822": "府谷县", + "610824": "靖边县", + "610825": "定边县", + "610826": "绥德县", + "610827": "米脂县", + "610828": "佳县", + "610829": "吴堡县", + "610830": "清涧县", + "610831": "子洲县", + "610881": "神木市", + "610902": "汉滨区", + "610921": "汉阴县", + "610922": "石泉县", + "610923": "宁陕县", + "610924": "紫阳县", + "610925": "岚皋县", + "610926": "平利县", + "610927": "镇坪县", + "610929": "白河县", + "610981": "旬阳市", + "611002": "商州区", + "611021": "洛南县", + "611022": "丹凤县", + "611023": "商南县", + "611024": "山阳县", + "611025": "镇安县", + "611026": "柞水县", + "620102": "城关区", + "620103": "七里河区", + "620104": "西固区", + "620105": "安宁区", + "620111": "红古区", + "620121": "永登县", + "620122": "皋兰县", + "620123": "榆中县", + "620171": "兰州新区", + "620201": "市辖区", + "620290": "雄关区", + "620291": "长城区", + "620292": "镜铁区", + "620293": "新城镇", + "620294": "峪泉镇", + "620295": "文殊镇", + "620302": "金川区", + "620321": "永昌县", + "620402": "白银区", + "620403": "平川区", + "620421": "靖远县", + "620422": "会宁县", + "620423": "景泰县", + "620502": "秦州区", + "620503": "麦积区", + "620521": "清水县", + "620522": "秦安县", + "620523": "甘谷县", + "620524": "武山县", + "620525": "张家川回族自治县", + "620602": "凉州区", + "620621": "民勤县", + "620622": "古浪县", + "620623": "天祝藏族自治县", + "620702": "甘州区", + "620721": "肃南裕固族自治县", + "620722": "民乐县", + "620723": "临泽县", + "620724": "高台县", + "620725": "山丹县", + "620802": "崆峒区", + "620821": "泾川县", + "620822": "灵台县", + "620823": "崇信县", + "620825": "庄浪县", + "620826": "静宁县", + "620881": "华亭市", + "620902": "肃州区", + "620921": "金塔县", + "620922": "瓜州县", + "620923": "肃北蒙古族自治县", + "620924": "阿克塞哈萨克族自治县", + "620981": "玉门市", + "620982": "敦煌市", + "621002": "西峰区", + "621021": "庆城县", + "621022": "环县", + "621023": "华池县", + "621024": "合水县", + "621025": "正宁县", + "621026": "宁县", + "621027": "镇原县", + "621102": "安定区", + "621121": "通渭县", + "621122": "陇西县", + "621123": "渭源县", + "621124": "临洮县", + "621125": "漳县", + "621126": "岷县", + "621202": "武都区", + "621221": "成县", + "621222": "文县", + "621223": "宕昌县", + "621224": "康县", + "621225": "西和县", + "621226": "礼县", + "621227": "徽县", + "621228": "两当县", + "622901": "临夏市", + "622921": "临夏县", + "622922": "康乐县", + "622923": "永靖县", + "622924": "广河县", + "622925": "和政县", + "622926": "东乡族自治县", + "622927": "积石山保安族东乡族撒拉族自治县", + "623001": "合作市", + "623021": "临潭县", + "623022": "卓尼县", + "623023": "舟曲县", + "623024": "迭部县", + "623025": "玛曲县", + "623026": "碌曲县", + "623027": "夏河县", + "630102": "城东区", + "630103": "城中区", + "630104": "城西区", + "630105": "城北区", + "630106": "湟中区", + "630121": "大通回族土族自治县", + "630123": "湟源县", + "630202": "乐都区", + "630203": "平安区", + "630222": "民和回族土族自治县", + "630223": "互助土族自治县", + "630224": "化隆回族自治县", + "630225": "循化撒拉族自治县", + "632221": "门源回族自治县", + "632222": "祁连县", + "632223": "海晏县", + "632224": "刚察县", + "632301": "同仁市", + "632322": "尖扎县", + "632323": "泽库县", + "632324": "河南蒙古族自治县", + "632521": "共和县", + "632522": "同德县", + "632523": "贵德县", + "632524": "兴海县", + "632525": "贵南县", + "632621": "玛沁县", + "632622": "班玛县", + "632623": "甘德县", + "632624": "达日县", + "632625": "久治县", + "632626": "玛多县", + "632701": "玉树市", + "632722": "杂多县", + "632723": "称多县", + "632724": "治多县", + "632725": "囊谦县", + "632726": "曲麻莱县", + "632801": "格尔木市", + "632802": "德令哈市", + "632803": "茫崖市", + "632821": "乌兰县", + "632822": "都兰县", + "632823": "天峻县", + "632857": "大柴旦行政委员会", + "640104": "兴庆区", + "640105": "西夏区", + "640106": "金凤区", + "640121": "永宁县", + "640122": "贺兰县", + "640181": "灵武市", + "640202": "大武口区", + "640205": "惠农区", + "640221": "平罗县", + "640302": "利通区", + "640303": "红寺堡区", + "640323": "盐池县", + "640324": "同心县", + "640381": "青铜峡市", + "640402": "原州区", + "640422": "西吉县", + "640423": "隆德县", + "640424": "泾源县", + "640425": "彭阳县", + "640502": "沙坡头区", + "640521": "中宁县", + "640522": "海原县", + "650102": "天山区", + "650103": "沙依巴克区", + "650104": "新市区", + "650105": "水磨沟区", + "650106": "头屯河区", + "650107": "达坂城区", + "650109": "米东区", + "650121": "乌鲁木齐县", + "650202": "独山子区", + "650203": "克拉玛依区", + "650204": "白碱滩区", + "650205": "乌尔禾区", + "650402": "高昌区", + "650421": "鄯善县", + "650422": "托克逊县", + "650502": "伊州区", + "650521": "巴里坤哈萨克自治县", + "650522": "伊吾县", + "652301": "昌吉市", + "652302": "阜康市", + "652323": "呼图壁县", + "652324": "玛纳斯县", + "652325": "奇台县", + "652327": "吉木萨尔县", + "652328": "木垒哈萨克自治县", + "652701": "博乐市", + "652702": "阿拉山口市", + "652722": "精河县", + "652723": "温泉县", + "652801": "库尔勒市", + "652822": "轮台县", + "652823": "尉犁县", + "652824": "若羌县", + "652825": "且末县", + "652826": "焉耆回族自治县", + "652827": "和静县", + "652828": "和硕县", + "652829": "博湖县", + "652901": "阿克苏市", + "652902": "库车市", + "652922": "温宿县", + "652924": "沙雅县", + "652925": "新和县", + "652926": "拜城县", + "652927": "乌什县", + "652928": "阿瓦提县", + "652929": "柯坪县", + "653001": "阿图什市", + "653022": "阿克陶县", + "653023": "阿合奇县", + "653024": "乌恰县", + "653101": "喀什市", + "653121": "疏附县", + "653122": "疏勒县", + "653123": "英吉沙县", + "653124": "泽普县", + "653125": "莎车县", + "653126": "叶城县", + "653127": "麦盖提县", + "653128": "岳普湖县", + "653129": "伽师县", + "653130": "巴楚县", + "653131": "塔什库尔干塔吉克自治县", + "653201": "和田市", + "653221": "和田县", + "653222": "墨玉县", + "653223": "皮山县", + "653224": "洛浦县", + "653225": "策勒县", + "653226": "于田县", + "653227": "民丰县", + "654002": "伊宁市", + "654003": "奎屯市", + "654004": "霍尔果斯市", + "654021": "伊宁县", + "654022": "察布查尔锡伯自治县", + "654023": "霍城县", + "654024": "巩留县", + "654025": "新源县", + "654026": "昭苏县", + "654027": "特克斯县", + "654028": "尼勒克县", + "654201": "塔城市", + "654202": "乌苏市", + "654203": "沙湾市", + "654221": "额敏县", + "654224": "托里县", + "654225": "裕民县", + "654226": "和布克赛尔蒙古自治县", + "654301": "阿勒泰市", + "654321": "布尔津县", + "654322": "富蕴县", + "654323": "福海县", + "654324": "哈巴河县", + "654325": "青河县", + "654326": "吉木乃县", + "659001": "石河子市", + "659002": "阿拉尔市", + "659003": "图木舒克市", + "659004": "五家渠市", + "659005": "北屯市", + "659006": "铁门关市", + "659007": "双河市", + "659008": "可克达拉市", + "659009": "昆玉市", + "659010": "胡杨河市", + "659011": "新星市", + "659012": "白杨市", + "710101": "中正区", + "710102": "大同区", + "710103": "中山区", + "710104": "松山区", + "710105": "大安区", + "710106": "万华区", + "710107": "信义区", + "710108": "士林区", + "710109": "北投区", + "710110": "内湖区", + "710111": "南港区", + "710112": "文山区", + "710199": "其它区", + "710201": "新兴区", + "710202": "前金区", + "710203": "芩雅区", + "710204": "盐埕区", + "710205": "鼓山区", + "710206": "旗津区", + "710207": "前镇区", + "710208": "三民区", + "710209": "左营区", + "710210": "楠梓区", + "710211": "小港区", + "710241": "苓雅区", + "710242": "仁武区", + "710243": "大社区", + "710244": "冈山区", + "710245": "路竹区", + "710246": "阿莲区", + "710247": "田寮区", + "710248": "燕巢区", + "710249": "桥头区", + "710250": "梓官区", + "710251": "弥陀区", + "710252": "永安区", + "710253": "湖内区", + "710254": "凤山区", + "710255": "大寮区", + "710256": "林园区", + "710257": "鸟松区", + "710258": "大树区", + "710259": "旗山区", + "710260": "美浓区", + "710261": "六龟区", + "710262": "内门区", + "710263": "杉林区", + "710264": "甲仙区", + "710265": "桃源区", + "710266": "那玛夏区", + "710267": "茂林区", + "710268": "茄萣区", + "710299": "其它区", + "710301": "中西区", + "710302": "东区", + "710303": "南区", + "710304": "北区", + "710305": "安平区", + "710306": "安南区", + "710339": "永康区", + "710340": "归仁区", + "710341": "新化区", + "710342": "左镇区", + "710343": "玉井区", + "710344": "楠西区", + "710345": "南化区", + "710346": "仁德区", + "710347": "关庙区", + "710348": "龙崎区", + "710349": "官田区", + "710350": "麻豆区", + "710351": "佳里区", + "710352": "西港区", + "710353": "七股区", + "710354": "将军区", + "710355": "学甲区", + "710356": "北门区", + "710357": "新营区", + "710358": "后壁区", + "710359": "白河区", + "710360": "东山区", + "710361": "六甲区", + "710362": "下营区", + "710363": "柳营区", + "710364": "盐水区", + "710365": "善化区", + "710366": "大内区", + "710367": "山上区", + "710368": "新市区", + "710369": "安定区", + "710399": "其它区", + "710401": "中区", + "710402": "东区", + "710403": "南区", + "710404": "西区", + "710405": "北区", + "710406": "北屯区", + "710407": "西屯区", + "710408": "南屯区", + "710431": "太平区", + "710432": "大里区", + "710433": "雾峰区", + "710434": "乌日区", + "710435": "丰原区", + "710436": "后里区", + "710437": "石冈区", + "710438": "东势区", + "710439": "和平区", + "710440": "新社区", + "710441": "潭子区", + "710442": "大雅区", + "710443": "神冈区", + "710444": "大肚区", + "710445": "沙鹿区", + "710446": "龙井区", + "710447": "梧栖区", + "710448": "清水区", + "710449": "大甲区", + "710450": "外埔区", + "710451": "大安区", + "710499": "其它区", + "710507": "金沙镇", + "710508": "金湖镇", + "710509": "金宁乡", + "710510": "金城镇", + "710511": "烈屿乡", + "710512": "乌坵乡", + "710614": "南投市", + "710615": "中寮乡", + "710616": "草屯镇", + "710617": "国姓乡", + "710618": "埔里镇", + "710619": "仁爱乡", + "710620": "名间乡", + "710621": "集集镇", + "710622": "水里乡", + "710623": "鱼池乡", + "710624": "信义乡", + "710625": "竹山镇", + "710626": "鹿谷乡", + "710701": "仁爱区", + "710702": "信义区", + "710703": "中正区", + "710704": "中山区", + "710705": "安乐区", + "710706": "暖暖区", + "710707": "七堵区", + "710799": "其它区", + "710801": "东区", + "710802": "北区", + "710803": "香山区", + "710899": "其它区", + "710901": "东区", + "710902": "西区", + "710999": "其它区", + "711130": "万里区", + "711132": "板桥区", + "711133": "汐止区", + "711134": "深坑区", + "711135": "石碇区", + "711136": "瑞芳区", + "711137": "平溪区", + "711138": "双溪区", + "711139": "贡寮区", + "711140": "新店区", + "711141": "坪林区", + "711142": "乌来区", + "711143": "永和区", + "711144": "中和区", + "711145": "土城区", + "711146": "三峡区", + "711147": "树林区", + "711148": "莺歌区", + "711149": "三重区", + "711150": "新庄区", + "711151": "泰山区", + "711152": "林口区", + "711153": "芦洲区", + "711154": "五股区", + "711155": "八里区", + "711156": "淡水区", + "711157": "三芝区", + "711158": "石门区", + "711287": "宜兰市", + "711288": "头城镇", + "711289": "礁溪乡", + "711290": "壮围乡", + "711291": "员山乡", + "711292": "罗东镇", + "711293": "三星乡", + "711294": "大同乡", + "711295": "五结乡", + "711296": "冬山乡", + "711297": "苏澳镇", + "711298": "南澳乡", + "711299": "钓鱼台", + "711387": "竹北市", + "711388": "湖口乡", + "711389": "新丰乡", + "711390": "新埔镇", + "711391": "关西镇", + "711392": "芎林乡", + "711393": "宝山乡", + "711394": "竹东镇", + "711395": "五峰乡", + "711396": "横山乡", + "711397": "尖石乡", + "711398": "北埔乡", + "711399": "峨眉乡", + "711414": "中坜区", + "711415": "平镇区", + "711417": "杨梅区", + "711418": "新屋区", + "711419": "观音区", + "711420": "桃园区", + "711421": "龟山区", + "711422": "八德区", + "711423": "大溪区", + "711425": "大园区", + "711426": "芦竹区", + "711487": "中坜市", + "711488": "平镇市", + "711489": "龙潭乡", + "711490": "杨梅市", + "711491": "新屋乡", + "711492": "观音乡", + "711493": "桃园市", + "711494": "龟山乡", + "711495": "八德市", + "711496": "大溪镇", + "711497": "复兴乡", + "711498": "大园乡", + "711499": "芦竹乡", + "711520": "头份市", + "711582": "竹南镇", + "711583": "头份镇", + "711584": "三湾乡", + "711585": "南庄乡", + "711586": "狮潭乡", + "711587": "后龙镇", + "711588": "通霄镇", + "711589": "苑里镇", + "711590": "苗栗市", + "711591": "造桥乡", + "711592": "头屋乡", + "711593": "公馆乡", + "711594": "大湖乡", + "711595": "泰安乡", + "711596": "铜锣乡", + "711597": "三义乡", + "711598": "西湖乡", + "711599": "卓兰镇", + "711736": "员林市", + "711774": "彰化市", + "711775": "芬园乡", + "711776": "花坛乡", + "711777": "秀水乡", + "711778": "鹿港镇", + "711779": "福兴乡", + "711780": "线西乡", + "711781": "和美镇", + "711782": "伸港乡", + "711783": "员林镇", + "711784": "社头乡", + "711785": "永靖乡", + "711786": "埔心乡", + "711787": "溪湖镇", + "711788": "大村乡", + "711789": "埔盐乡", + "711790": "田中镇", + "711791": "北斗镇", + "711792": "田尾乡", + "711793": "埤头乡", + "711794": "溪州乡", + "711795": "竹塘乡", + "711796": "二林镇", + "711797": "大城乡", + "711798": "芳苑乡", + "711799": "二水乡", + "711982": "番路乡", + "711983": "梅山乡", + "711984": "竹崎乡", + "711985": "阿里山乡", + "711986": "中埔乡", + "711987": "大埔乡", + "711988": "水上乡", + "711989": "鹿草乡", + "711990": "太保市", + "711991": "朴子市", + "711992": "东石乡", + "711993": "六脚乡", + "711994": "新港乡", + "711995": "民雄乡", + "711996": "大林镇", + "711997": "溪口乡", + "711998": "义竹乡", + "711999": "布袋镇", + "712180": "斗南镇", + "712181": "大埤乡", + "712182": "虎尾镇", + "712183": "土库镇", + "712184": "褒忠乡", + "712185": "东势乡", + "712186": "台西乡", + "712187": "仑背乡", + "712188": "麦寮乡", + "712189": "斗六市", + "712190": "林内乡", + "712191": "古坑乡", + "712192": "莿桐乡", + "712193": "西螺镇", + "712194": "二仑乡", + "712195": "北港镇", + "712196": "水林乡", + "712197": "口湖乡", + "712198": "四湖乡", + "712199": "元长乡", + "712451": "崁顶乡", + "712467": "屏东市", + "712468": "三地门乡", + "712469": "雾台乡", + "712470": "玛家乡", + "712471": "九如乡", + "712472": "里港乡", + "712473": "高树乡", + "712474": "盐埔乡", + "712475": "长治乡", + "712476": "麟洛乡", + "712477": "竹田乡", + "712478": "内埔乡", + "712479": "万丹乡", + "712480": "潮州镇", + "712481": "泰武乡", + "712482": "来义乡", + "712483": "万峦乡", + "712484": "莰顶乡", + "712485": "新埤乡", + "712486": "南州乡", + "712487": "林边乡", + "712488": "东港镇", + "712489": "琉球乡", + "712490": "佳冬乡", + "712491": "新园乡", + "712492": "枋寮乡", + "712493": "枋山乡", + "712494": "春日乡", + "712495": "狮子乡", + "712496": "车城乡", + "712497": "牡丹乡", + "712498": "恒春镇", + "712499": "满州乡", + "712584": "台东市", + "712585": "绿岛乡", + "712586": "兰屿乡", + "712587": "延平乡", + "712588": "卑南乡", + "712589": "鹿野乡", + "712590": "关山镇", + "712591": "海端乡", + "712592": "池上乡", + "712593": "东河乡", + "712594": "成功镇", + "712595": "长滨乡", + "712596": "金峰乡", + "712597": "大武乡", + "712598": "达仁乡", + "712599": "太麻里乡", + "712686": "花莲市", + "712687": "新城乡", + "712688": "太鲁阁", + "712689": "秀林乡", + "712690": "吉安乡", + "712691": "寿丰乡", + "712692": "凤林镇", + "712693": "光复乡", + "712694": "丰滨乡", + "712695": "瑞穗乡", + "712696": "万荣乡", + "712697": "玉里镇", + "712698": "卓溪乡", + "712699": "富里乡", + "712794": "马公市", + "712795": "西屿乡", + "712796": "望安乡", + "712797": "七美乡", + "712798": "白沙乡", + "712799": "湖西乡", + "712896": "南竿乡", + "712897": "北竿乡", + "712898": "东引乡", + "712899": "莒光乡", + "810101": "中西区", + "810102": "湾仔区", + "810103": "东区", + "810104": "南区", + "810201": "九龙城区", + "810202": "油尖旺区", + "810203": "深水埗区", + "810204": "黄大仙区", + "810205": "观塘区", + "810301": "北区", + "810302": "大埔区", + "810303": "沙田区", + "810304": "西贡区", + "810305": "元朗区", + "810306": "屯门区", + "810307": "荃湾区", + "810308": "葵青区", + "810309": "离岛区", + "820102": "花地玛堂区", + "820103": "花王堂区", + "820104": "望德堂区", + "820105": "大堂区", + "820106": "风顺堂区", + "820202": "嘉模堂区", + "820203": "路氹填海区", + "820204": "圣方济各堂区" + } +} \ No newline at end of file diff --git a/uni_modules/lime-shared/areaData/index.ts b/uni_modules/lime-shared/areaData/index.ts new file mode 100644 index 0000000..401f77f --- /dev/null +++ b/uni_modules/lime-shared/areaData/index.ts @@ -0,0 +1,71 @@ +// @ts-nocheck +import _areaList from './city-china.json'; +export const areaList = _areaList +// #ifndef UNI-APP-X +type UTSJSONObject = Record +// #endif +// #ifdef UNI-APP-X +type Object = UTSJSONObject +// #endif +type AreaList = { + province_list : Map; + city_list : Map; + county_list : Map; +} +// type CascaderOption = { +// text : string; +// value : string; +// children ?: CascaderOption[]; +// }; + +const makeOption = ( + label : string, + value : string, + children ?: UTSJSONObject[], +) : UTSJSONObject => ({ + label, + value, + children, +}); + + + +export function useCascaderAreaData() : UTSJSONObject[] { + const city = areaList['city_list'] as UTSJSONObject + const county = areaList['county_list'] as UTSJSONObject + const province = areaList['province_list'] as UTSJSONObject + const provinceMap = new Map(); + Object.keys(province).forEach((code) => { + provinceMap.set(code.slice(0, 2), makeOption(`${province[code]}`, code, [])); + }); + + const cityMap = new Map(); + + Object.keys(city).forEach((code) => { + const option = makeOption(`${city[code]}`, code, []); + cityMap.set(code.slice(0, 4), option); + + const _province = provinceMap.get(code.slice(0, 2)); + if (_province != null) { + (_province['children'] as UTSJSONObject[]).push(option) + } + }); + + Object.keys(county).forEach((code) => { + const _city = cityMap.get(code.slice(0, 4)); + if (_city != null) { + (_city['children'] as UTSJSONObject[]).push(makeOption(`${county[code]}`, code, null)); + } + }); + + // #ifndef APP-ANDROID || APP-IOS + return Array.from(provinceMap.values()); + // #endif + // #ifdef APP-ANDROID || APP-IOS + const obj : UTSJSONObject[] = [] + provinceMap.forEach((value, code) => { + obj.push(value) + }) + return obj + // #endif +} \ No newline at end of file diff --git a/uni_modules/lime-shared/arrayBufferToFile/index.ts b/uni_modules/lime-shared/arrayBufferToFile/index.ts new file mode 100644 index 0000000..49ee530 --- /dev/null +++ b/uni_modules/lime-shared/arrayBufferToFile/index.ts @@ -0,0 +1,8 @@ +// @ts-nocheck +// #ifndef UNI-APP-X && APP +export * from './vue.ts' +// #endif + +// #ifdef UNI-APP-X && APP +export * from './uvue.uts' +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/arrayBufferToFile/uvue.uts b/uni_modules/lime-shared/arrayBufferToFile/uvue.uts new file mode 100644 index 0000000..65c7b14 --- /dev/null +++ b/uni_modules/lime-shared/arrayBufferToFile/uvue.uts @@ -0,0 +1,10 @@ +// @ts-nocheck +// import {platform} from '../platform' +/** + * buffer转路径 + * @param {Object} buffer + */ +// @ts-nocheck +export function arrayBufferToFile(buffer: ArrayBuffer, name?: string, format?:string):Promise<(File|string)> { + console.error('[arrayBufferToFile] 当前环境不支持') +} \ No newline at end of file diff --git a/uni_modules/lime-shared/arrayBufferToFile/vue.ts b/uni_modules/lime-shared/arrayBufferToFile/vue.ts new file mode 100644 index 0000000..9760b20 --- /dev/null +++ b/uni_modules/lime-shared/arrayBufferToFile/vue.ts @@ -0,0 +1,63 @@ +// @ts-nocheck +import {platform} from '../platform' +/** + * buffer转路径 + * @param {Object} buffer + */ +// @ts-nocheck +export function arrayBufferToFile(buffer: ArrayBuffer | Blob, name?: string, format?:string):Promise<(File|string)> { + return new Promise((resolve, reject) => { + // #ifdef MP + const fs = uni.getFileSystemManager() + //自定义文件名 + if (!name && !format) { + reject(new Error('ERROR_NAME_PARSE')) + } + const fileName = `${name || new Date().getTime()}.${format.replace(/(.+)?\//,'')}`; + let pre = platform() + const filePath = `${pre.env.USER_DATA_PATH}/${fileName}` + fs.writeFile({ + filePath, + data: buffer, + success() { + resolve(filePath) + }, + fail(err) { + console.error(err) + reject(err) + } + }) + // #endif + + // #ifdef H5 + const file = new File([buffer], name, { + type: format, + }); + resolve(file) + // #endif + + // #ifdef APP-PLUS + const bitmap = new plus.nativeObj.Bitmap('bitmap' + Date.now()) + const base64 = uni.arrayBufferToBase64(buffer) + bitmap.loadBase64Data(base64, () => { + if (!name && !format) { + reject(new Error('ERROR_NAME_PARSE')) + } + const fileNmae = `${name || new Date().getTime()}.${format.replace(/(.+)?\//,'')}`; + const filePath = `_doc/uniapp_temp/${fileNmae}` + bitmap.save(filePath, {}, + () => { + bitmap.clear() + resolve(filePath) + }, + (error) => { + bitmap.clear() + reject(error) + }) + }, (error) => { + bitmap.clear() + reject(error) + }) + // #endif + }) +} \ No newline at end of file diff --git a/uni_modules/lime-shared/base64ToArrayBuffer/index.ts b/uni_modules/lime-shared/base64ToArrayBuffer/index.ts new file mode 100644 index 0000000..f83b640 --- /dev/null +++ b/uni_modules/lime-shared/base64ToArrayBuffer/index.ts @@ -0,0 +1,13 @@ +// @ts-nocheck +// 未完成 +export function base64ToArrayBuffer(base64 : string) { + const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64) || []; + if (!format) { + new Error('ERROR_BASE64SRC_PARSE') + } + if(uni.base64ToArrayBuffer) { + return uni.base64ToArrayBuffer(bodyData) + } else { + + } +} \ No newline at end of file diff --git a/uni_modules/lime-shared/base64ToPath/index.ts b/uni_modules/lime-shared/base64ToPath/index.ts new file mode 100644 index 0000000..af9a9d2 --- /dev/null +++ b/uni_modules/lime-shared/base64ToPath/index.ts @@ -0,0 +1,9 @@ +// @ts-nocheck +// #ifndef UNI-APP-X && APP +export * from './vue.ts' +// #endif + + +// #ifdef UNI-APP-X && APP +export * from './uvue.uts' +// #endif diff --git a/uni_modules/lime-shared/base64ToPath/uvue.uts b/uni_modules/lime-shared/base64ToPath/uvue.uts new file mode 100644 index 0000000..364b494 --- /dev/null +++ b/uni_modules/lime-shared/base64ToPath/uvue.uts @@ -0,0 +1,22 @@ +// @ts-nocheck +import { processFile, type ProcessFileOptions } from '@/uni_modules/lime-file-utils' + +/** + * base64转路径 + * @param {Object} base64 + */ +export function base64ToPath(base64: string, filename: string | null = null):Promise { + return new Promise((resolve,reject) => { + processFile({ + type: 'toDataURL', + path: base64, + filename, + success(res: string){ + resolve(res) + }, + fail(err){ + reject(err) + } + } as ProcessFileOptions) + }) +} \ No newline at end of file diff --git a/uni_modules/lime-shared/base64ToPath/vue.ts b/uni_modules/lime-shared/base64ToPath/vue.ts new file mode 100644 index 0000000..735000f --- /dev/null +++ b/uni_modules/lime-shared/base64ToPath/vue.ts @@ -0,0 +1,75 @@ +// @ts-nocheck +import {platform} from '../platform' +/** + * base64转路径 + * @param {Object} base64 + */ +export function base64ToPath(base64: string, filename?: string):Promise { + const [, format] = /^data:image\/(\w+);base64,/.exec(base64) || []; + return new Promise((resolve, reject) => { + // #ifdef MP + const fs = uni.getFileSystemManager() + //自定义文件名 + if (!filename && !format) { + reject(new Error('ERROR_BASE64SRC_PARSE')) + } + // const time = new Date().getTime(); + const name = filename || `${new Date().getTime()}.${format}`; + let pre = platform() + const filePath = `${pre.env.USER_DATA_PATH}/${name}` + fs.writeFile({ + filePath, + data: base64.split(',')[1], + encoding: 'base64', + success() { + resolve(filePath) + }, + fail(err) { + console.error(err) + reject(err) + } + }) + // #endif + + // #ifdef H5 + // mime类型 + let mimeString = base64.split(',')[0].split(':')[1].split(';')[0]; + //base64 解码 + let byteString = atob(base64.split(',')[1]); + //创建缓冲数组 + let arrayBuffer = new ArrayBuffer(byteString.length); + //创建视图 + let intArray = new Uint8Array(arrayBuffer); + for (let i = 0; i < byteString.length; i++) { + intArray[i] = byteString.charCodeAt(i); + } + resolve(URL.createObjectURL(new Blob([intArray], { + type: mimeString + }))) + // #endif + + // #ifdef APP-PLUS + const bitmap = new plus.nativeObj.Bitmap('bitmap' + Date.now()) + bitmap.loadBase64Data(base64, () => { + if (!filename && !format) { + reject(new Error('ERROR_BASE64SRC_PARSE')) + } + // const time = new Date().getTime(); + const name = filename || `${new Date().getTime()}.${format}`; + const filePath = `_doc/uniapp_temp/${name}` + bitmap.save(filePath, {}, + () => { + bitmap.clear() + resolve(filePath) + }, + (error) => { + bitmap.clear() + reject(error) + }) + }, (error) => { + bitmap.clear() + reject(error) + }) + // #endif + }) +} \ No newline at end of file diff --git a/uni_modules/lime-shared/camelCase/index.ts b/uni_modules/lime-shared/camelCase/index.ts new file mode 100644 index 0000000..dd470ab --- /dev/null +++ b/uni_modules/lime-shared/camelCase/index.ts @@ -0,0 +1,21 @@ +/** + * 将字符串转换为 camelCase 或 PascalCase 风格的命名约定 + * @param str 要转换的字符串 + * @param isPascalCase 指示是否转换为 PascalCase 的布尔值,默认为 false + * @returns 转换后的字符串 + */ +export function camelCase(str: string, isPascalCase: boolean = false): string { + // 将字符串分割成单词数组 + let words: string[] = str.split(/[\s_-]+/); + + // 将数组中的每个单词首字母大写(除了第一个单词) + let camelCased: string[] = words.map((word, index):string => { + if (index == 0 && !isPascalCase) { + return word.toLowerCase(); // 第一个单词全小写 + } + return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); + }); + + // 将数组中的单词拼接成一个字符串 + return camelCased.join(''); +}; \ No newline at end of file diff --git a/uni_modules/lime-shared/canIUseCanvas2d/index.ts b/uni_modules/lime-shared/canIUseCanvas2d/index.ts new file mode 100644 index 0000000..be5623a --- /dev/null +++ b/uni_modules/lime-shared/canIUseCanvas2d/index.ts @@ -0,0 +1,67 @@ +// @ts-nocheck + +// #ifndef UNI-APP-X && APP + +// #ifdef MP-ALIPAY +interface My { + SDKVersion: string +} +declare var my: My +// #endif + +function compareVersion(v1:string, v2:string) { + let a1 = v1.split('.'); + let a2 = v2.split('.'); + const len = Math.max(a1.length, a2.length); + + while (a1.length < len) { + a1.push('0'); + } + while (a2.length < len) { + a2.push('0'); + } + + for (let i = 0; i < len; i++) { + const num1 = parseInt(a1[i], 10); + const num2 = parseInt(a2[i], 10); + + if (num1 > num2) { + return 1; + } + if (num1 < num2) { + return -1; + } + } + + return 0; +} + +function gte(version: string) { + let {SDKVersion} = uni.getSystemInfoSync(); + // #ifdef MP-ALIPAY + SDKVersion = my.SDKVersion + // #endif + return compareVersion(SDKVersion, version) >= 0; +} +// #endif + + +/** 环境是否支持canvas 2d */ +export function canIUseCanvas2d(): boolean { + // #ifdef MP-WEIXIN + return gte('2.9.0'); + // #endif + // #ifdef MP-ALIPAY + return gte('2.7.0'); + // #endif + // #ifdef MP-TOUTIAO + return gte('1.78.0'); + // #endif + // #ifdef UNI-APP-X && WEB || UNI-APP-X && APP + return true; + // #endif + // #ifndef MP-WEIXIN || MP-ALIPAY || MP-TOUTIAO + return false + // #endif + +} diff --git a/uni_modules/lime-shared/capitalizedAmount/index.ts b/uni_modules/lime-shared/capitalizedAmount/index.ts new file mode 100644 index 0000000..9a0c1f4 --- /dev/null +++ b/uni_modules/lime-shared/capitalizedAmount/index.ts @@ -0,0 +1,111 @@ +// @ts-nocheck +import { isString } from "../isString"; +import { isNumber } from "../isNumber"; +/** + * 将金额转换为中文大写形式 + * @param {number | string} amount - 需要转换的金额,可以是数字或字符串 + * @returns {string} 转换后的中文大写金额 + */ +function capitalizedAmount(amount : number) : string +function capitalizedAmount(amount : string) : string +function capitalizedAmount(amount : any | null) : string { + try { + let _amountStr :string; + let _amountNum :number = 0; + // 如果输入是字符串,先将其转换为数字,并去除逗号 + if (typeof amount == 'string') { + _amountNum = parseFloat((amount as string).replace(/,/g, '')); + } + if(isNumber(amount)) { + _amountNum = amount as number + } + // 判断输入是否为有效的金额 || isNaN(amount) + if (amount == null) throw new Error('不是有效的金额!'); + + let result = ''; + + // 处理负数情况 + if (_amountNum < 0) { + result = '欠'; + _amountNum = Math.abs(_amountNum); + } + + // 金额不能超过千亿以上 + if (_amountNum >= 10e11) throw new Error('计算金额过大!'); + + // 保留两位小数并转换为字符串 + _amountStr = _amountNum.toFixed(2); + + // 定义数字、单位和小数单位的映射 + const digits = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']; + const units = ['', '拾', '佰', '仟']; + const bigUnits = ['', '万', '亿']; + const decimalUnits = ['角', '分']; + + // 分离整数部分和小数部分 + const amountArray = _amountStr.split('.'); + let integerPart = amountArray[0]; // string| number[] + const decimalPart = amountArray[1]; + + // 处理整数部分 + if (integerPart != '0') { + let _integerPart = integerPart.split('').map((item):number => parseInt(item)); + + // 将整数部分按四位一级进行分组 + const levels = _integerPart.reverse().reduce((prev:string[][], item, index):string[][] => { + // const level = prev?.[0]?.length < 4 ? prev[0] : []; + const level = prev.length > 0 && prev[0].length < 4 ? prev[0]: [] + + const value = item == 0 ? digits[item] : digits[item] + units[index % 4]; + + level.unshift(value); + + if (level.length == 1) { + prev.unshift(level); + } else { + prev[0] = level; + } + + return prev; + }, [] as string[][]); + // 将分组后的整数部分转换为中文大写形式 + result += levels.reduce((prev, item, index):string => { + let _level = bigUnits[levels.length - index - 1]; + let _item = item.join('').replace(/(零)\1+/g, '$1'); + + if (_item == '零') { + _level = ''; + _item = ''; + } else if (_item.endsWith('零')) { + _item = _item.slice(0, _item.length - 1); + } + + return prev + _item + _level; + }, ''); + } else { + result += '零'; + } + + // 添加元 + result += '元'; + + // 处理小数部分 + if (decimalPart != '00') { + if (result == '零元') result = ''; + + for (let i = 0; i < decimalPart.length; i++) { + const digit = parseInt(decimalPart.charAt(i)); + + if (digit != 0) { + result += digits[digit] + decimalUnits[i]; + } + } + } else { + result += '整'; + } + + return result; + } catch (error : Error) { + return error.message; + } +}; \ No newline at end of file diff --git a/uni_modules/lime-shared/changelog.md b/uni_modules/lime-shared/changelog.md new file mode 100644 index 0000000..0c6691b --- /dev/null +++ b/uni_modules/lime-shared/changelog.md @@ -0,0 +1,63 @@ + +## 0.2.9(2025-02-19) +- chore: 更新文档 +## 0.2.8(2025-02-11) +- chore: 更新文档 +## 0.2.7(2025-01-17) +- fix: 针对canvas 平台判断优化 +## 0.2.6(2025-01-09) +- feat: 增加`areaData`中国省市区数据 +## 0.2.5(2025-01-07) +- fix: animation在app上类型问题 +## 0.2.4(2025-01-04) +- feat: getRect类型问题 +## 0.2.3(2025-01-01) +- chore: unitConvert使用uni.rpx2px +## 0.2.2(2024-12-11) +- chore: 动画使用`requestAnimationFrame` +## 0.2.1(2024-11-20) +- feat: 增加`characterLimit` +## 0.2.0(2024-11-14) +- fix: vue2的类型问题 +## 0.1.9(2024-11-14) +- feat: 增加`shuffle` +## 0.1.8(2024-10-08) +- fix: vue2 条件编译 // #ifdef APP-IOS || APP-ANDROID 会生效 +## 0.1.7(2024-09-23) +- fix: raf 类型跟随版本变更 +## 0.1.6(2024-07-24) +- fix: vue2 app ts需要明确的后缀,所有补全 +- chore: 减少依赖 +## 0.1.5(2024-07-21) +- feat: 删除 Hooks +- feat: 兼容uniappx +## 0.1.4(2023-09-05) +- feat: 增加 Hooks `useIntersectionObserver` +- feat: 增加 `floatAdd` +- feat: 因为本人插件兼容 vue2 需要使用 `composition-api`,故增加vue文件代码插件的条件编译 +## 0.1.3(2023-08-13) +- feat: 增加 `camelCase` +## 0.1.2(2023-07-17) +- feat: 增加 `getClassStr` +## 0.1.1(2023-07-06) +- feat: 增加 `isNumeric`, 区别于 `isNumber` +## 0.1.0(2023-06-30) +- fix: `clamp`忘记导出了 +## 0.0.9(2023-06-27) +- feat: 增加`arrayBufferToFile` +## 0.0.8(2023-06-19) +- feat: 增加`createAnimation`、`clamp` +## 0.0.7(2023-06-08) +- chore: 更新注释 +## 0.0.6(2023-06-08) +- chore: 增加`createImage`为`lime-watermark`和`lime-qrcode`提供依赖 +## 0.0.5(2023-06-03) +- chore: 更新注释 +## 0.0.4(2023-05-22) +- feat: 增加`range`,`exif`,`selectComponent` +## 0.0.3(2023-05-08) +- feat: 增加`fillZero`,`debounce`,`throttle`,`random` +## 0.0.2(2023-05-05) +- chore: 更新文档 +## 0.0.1(2023-05-05) +- 无 diff --git a/uni_modules/lime-shared/characterLimit/index.ts b/uni_modules/lime-shared/characterLimit/index.ts new file mode 100644 index 0000000..215de23 --- /dev/null +++ b/uni_modules/lime-shared/characterLimit/index.ts @@ -0,0 +1,63 @@ +// @ts-nocheck +/** + * 计算字符串字符的长度并可以截取字符串。 + * @param char 传入字符串(maxcharacter条件下,一个汉字表示两个字符) + * @param max 规定最大字符串长度 + * @returns 当没有传入maxCharacter/maxLength 时返回字符串字符长度,当传入maxCharacter/maxLength时返回截取之后的字符串和长度。 + */ +export type CharacterLengthResult = { + length : number; + characters : string; +} +// #ifdef APP-ANDROID +type ChartType = any +// #endif +// #ifndef APP-ANDROID +type ChartType = string | number +// #endif + +export function characterLimit(type : string, char : ChartType, max : number) : CharacterLengthResult { + const str = `${char}`; + + if (str.length == 0) { + return { + length: 0, + characters: '', + } as CharacterLengthResult + } + + if (type == 'maxcharacter') { + let len = 0; + for (let i = 0; i < str.length; i += 1) { + let currentStringLength : number// = 0; + const code = str.charCodeAt(i)! + if (code > 127 || code == 94) { + currentStringLength = 2; + } else { + currentStringLength = 1; + } + if (len + currentStringLength > max) { + return { + length: len, + characters: str.slice(0, i), + } as CharacterLengthResult + } + len += currentStringLength; + } + return { + length: len, + characters: str, + } as CharacterLengthResult + } else if (type == 'maxlength') { + const length = str.length > max ? max : str.length; + return { + length: length, + characters: str.slice(0, length), + } as CharacterLengthResult + } + + return { + length: str.length, + characters: str, + } as CharacterLengthResult +}; \ No newline at end of file diff --git a/uni_modules/lime-shared/clamp/index.ts b/uni_modules/lime-shared/clamp/index.ts new file mode 100644 index 0000000..0e16358 --- /dev/null +++ b/uni_modules/lime-shared/clamp/index.ts @@ -0,0 +1,16 @@ +// @ts-nocheck +/** + * 将一个值限制在指定的范围内 + * @param val 要限制的值 + * @param min 最小值 + * @param max 最大值 + * @returns 限制后的值 + */ +export function clamp(val: number, min: number, max: number): number { + return Math.max(min, Math.min(max, val)); +} + + +// console.log(clamp(5 ,0, 10)); // 输出: 5(在范围内,不做更改) +// console.log(clamp(-5 ,0, 10)); // 输出: 0(小于最小值,被限制为最小值) +// console.log(clamp(15 ,0, 10)); // 输出: 10(大于最大值,被限制为最大值) \ No newline at end of file diff --git a/uni_modules/lime-shared/cloneDeep/index.ts b/uni_modules/lime-shared/cloneDeep/index.ts new file mode 100644 index 0000000..3428c49 --- /dev/null +++ b/uni_modules/lime-shared/cloneDeep/index.ts @@ -0,0 +1,10 @@ +// @ts-nocheck + +// #ifdef UNI-APP-X && APP +export * from './uvue.ts' +// #endif + + +// #ifndef UNI-APP-X && APP +export * from './vue.ts' +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/cloneDeep/uvue.ts b/uni_modules/lime-shared/cloneDeep/uvue.ts new file mode 100644 index 0000000..7929bc2 --- /dev/null +++ b/uni_modules/lime-shared/cloneDeep/uvue.ts @@ -0,0 +1,17 @@ +// @ts-nocheck +/** + * 深度克隆一个对象或数组 + * @param obj 要克隆的对象或数组 + * @returns 克隆后的对象或数组 + */ +export function cloneDeep(obj: any): T { + // 如果传入的对象是基本数据类型(如字符串、数字等),则直接返回 + // if(['number', 'string'].includes(typeof obj) || Array.isArray(obj)){ + // return obj as T + // } + if(typeof obj == 'object'){ + return JSON.parse(JSON.stringify(obj as T)) as T; + } + return obj as T +} + diff --git a/uni_modules/lime-shared/cloneDeep/vue.ts b/uni_modules/lime-shared/cloneDeep/vue.ts new file mode 100644 index 0000000..ded334d --- /dev/null +++ b/uni_modules/lime-shared/cloneDeep/vue.ts @@ -0,0 +1,103 @@ +// @ts-nocheck +/** + * 深度克隆一个对象或数组 + * @param obj 要克隆的对象或数组 + * @returns 克隆后的对象或数组 + */ +export function cloneDeep(obj: any): T { + // 如果传入的对象为空,返回空 + if (obj === null) { + return null as unknown as T; + } + + // 如果传入的对象是 Set 类型,则将其转换为数组,并通过新的 Set 构造函数创建一个新的 Set 对象 + if (obj instanceof Set) { + return new Set([...obj]) as unknown as T; + } + + // 如果传入的对象是 Map 类型,则将其转换为数组,并通过新的 Map 构造函数创建一个新的 Map 对象 + if (obj instanceof Map) { + return new Map([...obj]) as unknown as T; + } + + // 如果传入的对象是 WeakMap 类型,则直接用传入的 WeakMap 对象进行赋值 + if (obj instanceof WeakMap) { + let weakMap = new WeakMap(); + weakMap = obj; + return weakMap as unknown as T; + } + + // 如果传入的对象是 WeakSet 类型,则直接用传入的 WeakSet 对象进行赋值 + if (obj instanceof WeakSet) { + let weakSet = new WeakSet(); + weakSet = obj; + return weakSet as unknown as T; + } + + // 如果传入的对象是 RegExp 类型,则通过新的 RegExp 构造函数创建一个新的 RegExp 对象 + if (obj instanceof RegExp) { + return new RegExp(obj) as unknown as T; + } + + // 如果传入的对象是 undefined 类型,则返回 undefined + if (typeof obj === 'undefined') { + return undefined as unknown as T; + } + + // 如果传入的对象是数组,则递归调用 cloneDeep 函数对数组中的每个元素进行克隆 + if (Array.isArray(obj)) { + return obj.map(cloneDeep) as unknown as T; + } + + // 如果传入的对象是 Date 类型,则通过新的 Date 构造函数创建一个新的 Date 对象 + if (obj instanceof Date) { + return new Date(obj.getTime()) as unknown as T; + } + + // 如果传入的对象是普通对象,则使用递归调用 cloneDeep 函数对对象的每个属性进行克隆 + if (typeof obj === 'object') { + const newObj: any = {}; + for (const [key, value] of Object.entries(obj)) { + newObj[key] = cloneDeep(value); + } + const symbolKeys = Object.getOwnPropertySymbols(obj); + for (const key of symbolKeys) { + newObj[key] = cloneDeep(obj[key]); + } + return newObj; + } + + // 如果传入的对象是基本数据类型(如字符串、数字等),则直接返回 + return obj; +} + +// 示例使用 + +// // 克隆一个对象 +// const obj = { name: 'John', age: 30 }; +// const clonedObj = cloneDeep(obj); + +// console.log(clonedObj); // 输出: { name: 'John', age: 30 } +// console.log(clonedObj === obj); // 输出: false (副本与原对象是独立的) + +// // 克隆一个数组 +// const arr = [1, 2, 3]; +// const clonedArr = cloneDeep(arr); + +// console.log(clonedArr); // 输出: [1, 2, 3] +// console.log(clonedArr === arr); // 输出: false (副本与原数组是独立的) + +// // 克隆一个包含嵌套对象的对象 +// const person = { +// name: 'Alice', +// age: 25, +// address: { +// city: 'New York', +// country: 'USA', +// }, +// }; +// const clonedPerson = cloneDeep(person); + +// console.log(clonedPerson); // 输出: { name: 'Alice', age: 25, address: { city: 'New York', country: 'USA' } } +// console.log(clonedPerson === person); // 输出: false (副本与原对象是独立的) +// console.log(clonedPerson.address === person.address); // 输出: false (嵌套对象的副本也是独立的) \ No newline at end of file diff --git a/uni_modules/lime-shared/closest/index.ts b/uni_modules/lime-shared/closest/index.ts new file mode 100644 index 0000000..e6e79c2 --- /dev/null +++ b/uni_modules/lime-shared/closest/index.ts @@ -0,0 +1,22 @@ +// @ts-nocheck + +/** + * 在给定数组中找到最接近目标数字的元素。 + * @param arr 要搜索的数字数组。 + * @param target 目标数字。 + * @returns 最接近目标数字的数组元素。 + */ +export function closest(arr: number[], target: number):number { + return arr.reduce((pre: number, cur: number):number => + Math.abs(pre - target) < Math.abs(cur - target) ? pre : cur + ); +} + +// 示例 +// // 定义一个数字数组 +// const numbers = [1, 3, 5, 7, 9]; + +// // 在数组中找到最接近目标数字 6 的元素 +// const closestNumber = closest(numbers, 6); + +// console.log(closestNumber); // 输出结果: 5 \ No newline at end of file diff --git a/uni_modules/lime-shared/components/lime-shared/lime-shared.vue b/uni_modules/lime-shared/components/lime-shared/lime-shared.vue new file mode 100644 index 0000000..e2d7fe2 --- /dev/null +++ b/uni_modules/lime-shared/components/lime-shared/lime-shared.vue @@ -0,0 +1,156 @@ + + + + + \ No newline at end of file diff --git a/uni_modules/lime-shared/createAnimation/index.ts b/uni_modules/lime-shared/createAnimation/index.ts new file mode 100644 index 0000000..999ec1c --- /dev/null +++ b/uni_modules/lime-shared/createAnimation/index.ts @@ -0,0 +1,9 @@ +// @ts-nocheck +// #ifndef UNI-APP-X +export * from './type.ts' +export * from './vue.ts' +// #endif + +// #ifdef UNI-APP-X +export * from './uvue.ts' +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/createAnimation/type.ts b/uni_modules/lime-shared/createAnimation/type.ts new file mode 100644 index 0000000..0f8ad34 --- /dev/null +++ b/uni_modules/lime-shared/createAnimation/type.ts @@ -0,0 +1,25 @@ +export type CreateAnimationOptions = { + /** + * 动画持续时间,单位ms + */ + duration ?: number; + /** + * 定义动画的效果 + * - linear: 动画从头到尾的速度是相同的 + * - ease: 动画以低速开始,然后加快,在结束前变慢 + * - ease-in: 动画以低速开始 + * - ease-in-out: 动画以低速开始和结束 + * - ease-out: 动画以低速结束 + * - step-start: 动画第一帧就跳至结束状态直到结束 + * - step-end: 动画一直保持开始状态,最后一帧跳到结束状态 + */ + timingFunction ?: string //'linear' | 'ease' | 'ease-in' | 'ease-in-out' | 'ease-out' | 'step-start' | 'step-end'; + /** + * 动画延迟时间,单位 ms + */ + delay ?: number; + /** + * 设置transform-origin + */ + transformOrigin ?: string; +} \ No newline at end of file diff --git a/uni_modules/lime-shared/createAnimation/uvue.ts b/uni_modules/lime-shared/createAnimation/uvue.ts new file mode 100644 index 0000000..96d8263 --- /dev/null +++ b/uni_modules/lime-shared/createAnimation/uvue.ts @@ -0,0 +1,5 @@ +// @ts-nocheck +// export * from '@/uni_modules/lime-animateIt' +export function createAnimation() { + console.error('当前环境不支持,请使用:lime-animateIt') +} \ No newline at end of file diff --git a/uni_modules/lime-shared/createAnimation/vue.ts b/uni_modules/lime-shared/createAnimation/vue.ts new file mode 100644 index 0000000..6934f27 --- /dev/null +++ b/uni_modules/lime-shared/createAnimation/vue.ts @@ -0,0 +1,148 @@ +// @ts-nocheck +// nvue 需要在节点上设置ref或在export里传入 +// const animation = createAnimation({ +// ref: this.$refs['xxx'], +// duration: 0, +// timingFunction: 'linear' +// }) +// animation.opacity(1).translate(x, y).step({duration}) +// animation.export(ref) + +// 抹平nvue 与 uni.createAnimation的使用差距 +// 但是nvue动画太慢 + + + +import { type CreateAnimationOptions } from './type' +// #ifdef APP-NVUE +const nvueAnimation = uni.requireNativePlugin('animation') + +type AnimationTypes = 'matrix' | 'matrix3d' | 'rotate' | 'rotate3d' | 'rotateX' | 'rotateY' | 'rotateZ' | 'scale' | 'scale3d' | 'scaleX' | 'scaleY' | 'scaleZ' | 'skew' | 'skewX' | 'skewY' | 'translate' | 'translate3d' | 'translateX' | 'translateY' | 'translateZ' + | 'opacity' | 'backgroundColor' | 'width' | 'height' | 'left' | 'right' | 'top' | 'bottom' + +interface Styles { + [key : string] : any +} + +interface StepConfig { + duration?: number + timingFunction?: string + delay?: number + needLayout?: boolean + transformOrigin?: string +} +interface StepAnimate { + styles?: Styles + config?: StepConfig +} +interface StepAnimates { + [key: number]: StepAnimate +} +// export interface CreateAnimationOptions extends UniApp.CreateAnimationOptions { +// ref?: string +// } + +type Callback = (time: number) => void +const animateTypes1 : AnimationTypes[] = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d', + 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY', + 'translateZ' +] +const animateTypes2 : AnimationTypes[] = ['opacity', 'backgroundColor'] +const animateTypes3 : AnimationTypes[] = ['width', 'height', 'left', 'right', 'top', 'bottom'] + +class LimeAnimation { + ref : any + context : any + options : UniApp.CreateAnimationOptions + // stack : any[] = [] + next : number = 0 + currentStepAnimates : StepAnimates = {} + duration : number = 0 + constructor(options : CreateAnimationOptions) { + const {ref} = options + this.ref = ref + this.options = options + } + addAnimate(type : AnimationTypes, args: (string | number)[]) { + let aniObj = this.currentStepAnimates[this.next] + let stepAnimate:StepAnimate = {} + if (!aniObj) { + stepAnimate = {styles: {}, config: {}} + } else { + stepAnimate = aniObj + } + + if (animateTypes1.includes(type)) { + if (!stepAnimate.styles.transform) { + stepAnimate.styles.transform = '' + } + let unit = '' + if (type === 'rotate') { + unit = 'deg' + } + stepAnimate.styles.transform += `${type}(${args.map((v: number) => v + unit).join(',')}) ` + } else { + stepAnimate.styles[type] = `${args.join(',')}` + } + this.currentStepAnimates[this.next] = stepAnimate + } + animateRun(styles: Styles = {}, config:StepConfig = {}, ref: any) { + const el = ref || this.ref + if (!el) return + return new Promise((resolve) => { + const time = +new Date() + nvueAnimation.transition(el, { + styles, + ...config + }, () => { + resolve(+new Date() - time) + }) + }) + } + nextAnimate(animates: StepAnimates, step: number = 0, ref: any, cb: Callback) { + let obj = animates[step] + if (obj) { + let { styles, config } = obj + // this.duration += config.duration + this.animateRun(styles, config, ref).then((time: number) => { + step += 1 + this.duration += time + this.nextAnimate(animates, step, ref, cb) + }) + } else { + this.currentStepAnimates = {} + cb && cb(this.duration) + } + } + step(config:StepConfig = {}) { + this.currentStepAnimates[this.next].config = Object.assign({}, this.options, config) + this.currentStepAnimates[this.next].styles.transformOrigin = this.currentStepAnimates[this.next].config.transformOrigin + this.next++ + return this + } + export(ref: any, cb?: Callback) { + ref = ref || this.ref + if(!ref) return + this.duration = 0 + this.next = 0 + this.nextAnimate(this.currentStepAnimates, 0, ref, cb) + return null + } +} + + +animateTypes1.concat(animateTypes2, animateTypes3).forEach(type => { + LimeAnimation.prototype[type] = function(...args: (string | number)[]) { + this.addAnimate(type, args) + return this + } +}) +// #endif +export function createAnimation(options : CreateAnimationOptions) { + // #ifndef APP-NVUE + return uni.createAnimation({ ...options }) + // #endif + // #ifdef APP-NVUE + return new LimeAnimation(options) + // #endif +} diff --git a/uni_modules/lime-shared/createCanvas/index.ts b/uni_modules/lime-shared/createCanvas/index.ts new file mode 100644 index 0000000..987be92 --- /dev/null +++ b/uni_modules/lime-shared/createCanvas/index.ts @@ -0,0 +1,73 @@ + +// @ts-nocheck +// #ifndef UNI-APP-X && APP +import type { ComponentInternalInstance } from '@/uni_modules/lime-shared/vue' +import { getRect } from '@/uni_modules/lime-shared/getRect' +import { canIUseCanvas2d } from '@/uni_modules/lime-shared/canIUseCanvas2d' +export const isCanvas2d = canIUseCanvas2d() +// #endif + + +export function createCanvas(canvasId : string, component : ComponentInternalInstance) { + // #ifdef UNI-APP-X + uni.createCanvasContextAsync({ + canvasId, + component, + success(context : CanvasContext) { + + }, + fail(error : UniError) { + + } + }) + // #endif + // #ifndef UNI-APP-X + const isCanvas2d = canIUseCanvas2d() + getRect('#' + canvasId, context, isCanvas2d).then(res => { + if (res.node) { + res.node.width = res.width + res.node.height = res.height + return res.node + } else { + const ctx = uni.createCanvasContext(canvasId, context) + if (!ctx._drawImage) { + ctx._drawImage = ctx.drawImage + ctx.drawImage = function (...args) { + const { path } = args.shift() + ctx._drawImage(path, ...args) + } + } + if (!ctx.getImageData) { + ctx.getImageData = function () { + return new Promise((resolve, reject) => { + uni.canvasGetImageData({ + canvasId, + x: parseInt(arguments[0]), + y: parseInt(arguments[1]), + width: parseInt(arguments[2]), + height: parseInt(arguments[3]), + success(res) { + resolve(res) + }, + fail(err) { + reject(err) + } + }, context) + }) + + } + return { + getContext(type: string) { + if(type == '2d') { + return ctx + } + }, + width: res.width, + height: res.height, + createImage + } + } + } + }) + // #endif +} \ No newline at end of file diff --git a/uni_modules/lime-shared/createImage/index.ts b/uni_modules/lime-shared/createImage/index.ts new file mode 100644 index 0000000..c9e72fe --- /dev/null +++ b/uni_modules/lime-shared/createImage/index.ts @@ -0,0 +1,71 @@ +// @ts-nocheck +// #ifndef UNI-APP-X && APP +import {isBrowser} from '../isBrowser' +class Image { + currentSrc: string | null = null + naturalHeight: number = 0 + naturalWidth: number = 0 + width: number = 0 + height: number = 0 + tagName: string = 'IMG' + path: string = '' + crossOrigin: string = '' + referrerPolicy: string = '' + onload: () => void = () => {} + onerror: () => void = () => {} + complete: boolean = false + constructor() {} + set src(src: string) { + console.log('src', src) + if(!src) { + return this.onerror() + } + src = src.replace(/^@\//,'/') + this.currentSrc = src + uni.getImageInfo({ + src, + success: (res) => { + const localReg = /^\.|^\/(?=[^\/])/; + // #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-TOUTIAO + res.path = localReg.test(src) ? `/${res.path}` : res.path; + // #endif + this.complete = true + this.path = res.path + this.naturalWidth = this.width = res.width + this.naturalHeight = this.height = res.height + this.onload() + }, + fail: () => { + this.onerror() + } + }) + } + get src() { + return this.currentSrc + } +} +interface UniImage extends WechatMiniprogram.Image { + complete?: boolean + naturalHeight?: number + naturalWidth?: number +} +/** 创建用于 canvas 的 img */ +export function createImage(canvas?: any): HTMLImageElement | UniImage { + if(canvas && canvas.createImage) { + return (canvas as WechatMiniprogram.Canvas).createImage() + } else if(this && this['tagName'] == 'canvas' && !('toBlob' in this) || canvas && !('toBlob' in canvas)){ + return new Image() + } else if(isBrowser) { + return new window.Image() + } + return new Image() +} +// #endif + + +// #ifdef UNI-APP-X && APP +export function createImage():Image{ + // console.error('当前环境不支持') + return new Image() +} +// #endif diff --git a/uni_modules/lime-shared/debounce/index.ts b/uni_modules/lime-shared/debounce/index.ts new file mode 100644 index 0000000..a168ca3 --- /dev/null +++ b/uni_modules/lime-shared/debounce/index.ts @@ -0,0 +1,10 @@ +// @ts-nocheck + +// #ifdef UNI-APP-X && APP +export * from './uvue.ts' + +// #endif + +// #ifndef UNI-APP-X && APP +export * from './vue.ts' +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/debounce/uvue.ts b/uni_modules/lime-shared/debounce/uvue.ts new file mode 100644 index 0000000..f1fc29d --- /dev/null +++ b/uni_modules/lime-shared/debounce/uvue.ts @@ -0,0 +1,36 @@ +// @ts-nocheck +/** + * 防抖函数,通过延迟一定时间来限制函数的执行频率。 + * @param fn 要防抖的函数。 + * @param wait 触发防抖的等待时间,单位为毫秒。 + * @returns 防抖函数。 + */ +export function debounce(fn : (args: A)=> void, wait = 300): (args: A)=> void { + let timer = -1 + + return (args: A) => { + if (timer >-1) {clearTimeout(timer)}; + + timer = setTimeout(()=>{ + fn(args) + }, wait) + } +}; + + + +// 示例 +// 定义一个函数 +// function saveData(data: string) { +// // 模拟保存数据的操作 +// console.log(`Saving data: ${data}`); +// } + +// // 创建一个防抖函数,延迟 500 毫秒后调用 saveData 函数 +// const debouncedSaveData = debounce(saveData, 500); + +// // 连续调用防抖函数 +// debouncedSaveData('Data 1'); // 不会立即调用 saveData 函数 +// debouncedSaveData('Data 2'); // 不会立即调用 saveData 函数 + +// 在 500 毫秒后,只会调用一次 saveData 函数,输出结果为 "Saving data: Data 2" \ No newline at end of file diff --git a/uni_modules/lime-shared/debounce/vue.ts b/uni_modules/lime-shared/debounce/vue.ts new file mode 100644 index 0000000..694b44d --- /dev/null +++ b/uni_modules/lime-shared/debounce/vue.ts @@ -0,0 +1,40 @@ +// @ts-nocheck +type Timeout = ReturnType | null; +/** + * 防抖函数,通过延迟一定时间来限制函数的执行频率。 + * @param fn 要防抖的函数。 + * @param wait 触发防抖的等待时间,单位为毫秒。 + * @returns 防抖函数。 + */ +export function debounce( + fn : (...args : A) => R, + wait : number = 300) : (...args : A) => void { + let timer : Timeout = null; + + return function (...args : A) { + if (timer) clearTimeout(timer); // 如果上一个 setTimeout 存在,则清除它 + + // 设置一个新的 setTimeout,在指定的等待时间后调用防抖函数 + timer = setTimeout(() => { + fn.apply(this, args); // 使用提供的参数调用原始函数 + }, wait); + }; +}; + + + +// 示例 +// 定义一个函数 +// function saveData(data: string) { +// // 模拟保存数据的操作 +// console.log(`Saving data: ${data}`); +// } + +// // 创建一个防抖函数,延迟 500 毫秒后调用 saveData 函数 +// const debouncedSaveData = debounce(saveData, 500); + +// // 连续调用防抖函数 +// debouncedSaveData('Data 1'); // 不会立即调用 saveData 函数 +// debouncedSaveData('Data 2'); // 不会立即调用 saveData 函数 + +// 在 500 毫秒后,只会调用一次 saveData 函数,输出结果为 "Saving data: Data 2" \ No newline at end of file diff --git a/uni_modules/lime-shared/exif/index.ts b/uni_modules/lime-shared/exif/index.ts new file mode 100644 index 0000000..c1e7e3f --- /dev/null +++ b/uni_modules/lime-shared/exif/index.ts @@ -0,0 +1,9 @@ +// @ts-nocheck +// #ifndef UNI-APP-X && APP +export * from './vue.ts' +// #endif + + +// #ifdef UNI-APP-X && APP +export * from './uvue.ts' +// #endif diff --git a/uni_modules/lime-shared/exif/uvue.ts b/uni_modules/lime-shared/exif/uvue.ts new file mode 100644 index 0000000..01d21a2 --- /dev/null +++ b/uni_modules/lime-shared/exif/uvue.ts @@ -0,0 +1,7 @@ +class EXIF { + constructor(){ + console.error('当前环境不支持') + } +} + +export const exif = new EXIF() \ No newline at end of file diff --git a/uni_modules/lime-shared/exif/vue.ts b/uni_modules/lime-shared/exif/vue.ts new file mode 100644 index 0000000..86f2454 --- /dev/null +++ b/uni_modules/lime-shared/exif/vue.ts @@ -0,0 +1,1057 @@ +// @ts-nocheck +import { base64ToArrayBuffer } from '../base64ToArrayBuffer'; +import { pathToBase64 } from '../pathToBase64'; +// import { isBase64 } from '../isBase64'; +import { isBase64DataUri } from '../isBase64'; +import { isString } from '../isString'; + +interface File { + exifdata : any + iptcdata : any + xmpdata : any + src : string +} +class EXIF { + isXmpEnabled = false + debug = false + Tags = { + // version tags + 0x9000: "ExifVersion", // EXIF version + 0xA000: "FlashpixVersion", // Flashpix format version + + // colorspace tags + 0xA001: "ColorSpace", // Color space information tag + + // image configuration + 0xA002: "PixelXDimension", // Valid width of meaningful image + 0xA003: "PixelYDimension", // Valid height of meaningful image + 0x9101: "ComponentsConfiguration", // Information about channels + 0x9102: "CompressedBitsPerPixel", // Compressed bits per pixel + + // user information + 0x927C: "MakerNote", // Any desired information written by the manufacturer + 0x9286: "UserComment", // Comments by user + + // related file + 0xA004: "RelatedSoundFile", // Name of related sound file + + // date and time + 0x9003: "DateTimeOriginal", // Date and time when the original image was generated + 0x9004: "DateTimeDigitized", // Date and time when the image was stored digitally + 0x9290: "SubsecTime", // Fractions of seconds for DateTime + 0x9291: "SubsecTimeOriginal", // Fractions of seconds for DateTimeOriginal + 0x9292: "SubsecTimeDigitized", // Fractions of seconds for DateTimeDigitized + + // picture-taking conditions + 0x829A: "ExposureTime", // Exposure time (in seconds) + 0x829D: "FNumber", // F number + 0x8822: "ExposureProgram", // Exposure program + 0x8824: "SpectralSensitivity", // Spectral sensitivity + 0x8827: "ISOSpeedRatings", // ISO speed rating + 0x8828: "OECF", // Optoelectric conversion factor + 0x9201: "ShutterSpeedValue", // Shutter speed + 0x9202: "ApertureValue", // Lens aperture + 0x9203: "BrightnessValue", // Value of brightness + 0x9204: "ExposureBias", // Exposure bias + 0x9205: "MaxApertureValue", // Smallest F number of lens + 0x9206: "SubjectDistance", // Distance to subject in meters + 0x9207: "MeteringMode", // Metering mode + 0x9208: "LightSource", // Kind of light source + 0x9209: "Flash", // Flash status + 0x9214: "SubjectArea", // Location and area of main subject + 0x920A: "FocalLength", // Focal length of the lens in mm + 0xA20B: "FlashEnergy", // Strobe energy in BCPS + 0xA20C: "SpatialFrequencyResponse", // + 0xA20E: "FocalPlaneXResolution", // Number of pixels in width direction per FocalPlaneResolutionUnit + 0xA20F: "FocalPlaneYResolution", // Number of pixels in height direction per FocalPlaneResolutionUnit + 0xA210: "FocalPlaneResolutionUnit", // Unit for measuring FocalPlaneXResolution and FocalPlaneYResolution + 0xA214: "SubjectLocation", // Location of subject in image + 0xA215: "ExposureIndex", // Exposure index selected on camera + 0xA217: "SensingMethod", // Image sensor type + 0xA300: "FileSource", // Image source (3 == DSC) + 0xA301: "SceneType", // Scene type (1 == directly photographed) + 0xA302: "CFAPattern", // Color filter array geometric pattern + 0xA401: "CustomRendered", // Special processing + 0xA402: "ExposureMode", // Exposure mode + 0xA403: "WhiteBalance", // 1 = auto white balance, 2 = manual + 0xA404: "DigitalZoomRation", // Digital zoom ratio + 0xA405: "FocalLengthIn35mmFilm", // Equivalent foacl length assuming 35mm film camera (in mm) + 0xA406: "SceneCaptureType", // Type of scene + 0xA407: "GainControl", // Degree of overall image gain adjustment + 0xA408: "Contrast", // Direction of contrast processing applied by camera + 0xA409: "Saturation", // Direction of saturation processing applied by camera + 0xA40A: "Sharpness", // Direction of sharpness processing applied by camera + 0xA40B: "DeviceSettingDescription", // + 0xA40C: "SubjectDistanceRange", // Distance to subject + + // other tags + 0xA005: "InteroperabilityIFDPointer", + 0xA420: "ImageUniqueID" // Identifier assigned uniquely to each image + } + TiffTags = { + 0x0100: "ImageWidth", + 0x0101: "ImageHeight", + 0x8769: "ExifIFDPointer", + 0x8825: "GPSInfoIFDPointer", + 0xA005: "InteroperabilityIFDPointer", + 0x0102: "BitsPerSample", + 0x0103: "Compression", + 0x0106: "PhotometricInterpretation", + 0x0112: "Orientation", + 0x0115: "SamplesPerPixel", + 0x011C: "PlanarConfiguration", + 0x0212: "YCbCrSubSampling", + 0x0213: "YCbCrPositioning", + 0x011A: "XResolution", + 0x011B: "YResolution", + 0x0128: "ResolutionUnit", + 0x0111: "StripOffsets", + 0x0116: "RowsPerStrip", + 0x0117: "StripByteCounts", + 0x0201: "JPEGInterchangeFormat", + 0x0202: "JPEGInterchangeFormatLength", + 0x012D: "TransferFunction", + 0x013E: "WhitePoint", + 0x013F: "PrimaryChromaticities", + 0x0211: "YCbCrCoefficients", + 0x0214: "ReferenceBlackWhite", + 0x0132: "DateTime", + 0x010E: "ImageDescription", + 0x010F: "Make", + 0x0110: "Model", + 0x0131: "Software", + 0x013B: "Artist", + 0x8298: "Copyright" + } + GPSTags = { + 0x0000: "GPSVersionID", + 0x0001: "GPSLatitudeRef", + 0x0002: "GPSLatitude", + 0x0003: "GPSLongitudeRef", + 0x0004: "GPSLongitude", + 0x0005: "GPSAltitudeRef", + 0x0006: "GPSAltitude", + 0x0007: "GPSTimeStamp", + 0x0008: "GPSSatellites", + 0x0009: "GPSStatus", + 0x000A: "GPSMeasureMode", + 0x000B: "GPSDOP", + 0x000C: "GPSSpeedRef", + 0x000D: "GPSSpeed", + 0x000E: "GPSTrackRef", + 0x000F: "GPSTrack", + 0x0010: "GPSImgDirectionRef", + 0x0011: "GPSImgDirection", + 0x0012: "GPSMapDatum", + 0x0013: "GPSDestLatitudeRef", + 0x0014: "GPSDestLatitude", + 0x0015: "GPSDestLongitudeRef", + 0x0016: "GPSDestLongitude", + 0x0017: "GPSDestBearingRef", + 0x0018: "GPSDestBearing", + 0x0019: "GPSDestDistanceRef", + 0x001A: "GPSDestDistance", + 0x001B: "GPSProcessingMethod", + 0x001C: "GPSAreaInformation", + 0x001D: "GPSDateStamp", + 0x001E: "GPSDifferential" + } + // EXIF 2.3 Spec + IFD1Tags = { + 0x0100: "ImageWidth", + 0x0101: "ImageHeight", + 0x0102: "BitsPerSample", + 0x0103: "Compression", + 0x0106: "PhotometricInterpretation", + 0x0111: "StripOffsets", + 0x0112: "Orientation", + 0x0115: "SamplesPerPixel", + 0x0116: "RowsPerStrip", + 0x0117: "StripByteCounts", + 0x011A: "XResolution", + 0x011B: "YResolution", + 0x011C: "PlanarConfiguration", + 0x0128: "ResolutionUnit", + 0x0201: "JpegIFOffset", // When image format is JPEG, this value show offset to JPEG data stored.(aka "ThumbnailOffset" or "JPEGInterchangeFormat") + 0x0202: "JpegIFByteCount", // When image format is JPEG, this value shows data size of JPEG image (aka "ThumbnailLength" or "JPEGInterchangeFormatLength") + 0x0211: "YCbCrCoefficients", + 0x0212: "YCbCrSubSampling", + 0x0213: "YCbCrPositioning", + 0x0214: "ReferenceBlackWhite" + } + StringValues = { + ExposureProgram: { + 0: "Not defined", + 1: "Manual", + 2: "Normal program", + 3: "Aperture priority", + 4: "Shutter priority", + 5: "Creative program", + 6: "Action program", + 7: "Portrait mode", + 8: "Landscape mode" + }, + MeteringMode: { + 0: "Unknown", + 1: "Average", + 2: "CenterWeightedAverage", + 3: "Spot", + 4: "MultiSpot", + 5: "Pattern", + 6: "Partial", + 255: "Other" + }, + LightSource: { + 0: "Unknown", + 1: "Daylight", + 2: "Fluorescent", + 3: "Tungsten (incandescent light)", + 4: "Flash", + 9: "Fine weather", + 10: "Cloudy weather", + 11: "Shade", + 12: "Daylight fluorescent (D 5700 - 7100K)", + 13: "Day white fluorescent (N 4600 - 5400K)", + 14: "Cool white fluorescent (W 3900 - 4500K)", + 15: "White fluorescent (WW 3200 - 3700K)", + 17: "Standard light A", + 18: "Standard light B", + 19: "Standard light C", + 20: "D55", + 21: "D65", + 22: "D75", + 23: "D50", + 24: "ISO studio tungsten", + 255: "Other" + }, + Flash: { + 0x0000: "Flash did not fire", + 0x0001: "Flash fired", + 0x0005: "Strobe return light not detected", + 0x0007: "Strobe return light detected", + 0x0009: "Flash fired, compulsory flash mode", + 0x000D: "Flash fired, compulsory flash mode, return light not detected", + 0x000F: "Flash fired, compulsory flash mode, return light detected", + 0x0010: "Flash did not fire, compulsory flash mode", + 0x0018: "Flash did not fire, auto mode", + 0x0019: "Flash fired, auto mode", + 0x001D: "Flash fired, auto mode, return light not detected", + 0x001F: "Flash fired, auto mode, return light detected", + 0x0020: "No flash function", + 0x0041: "Flash fired, red-eye reduction mode", + 0x0045: "Flash fired, red-eye reduction mode, return light not detected", + 0x0047: "Flash fired, red-eye reduction mode, return light detected", + 0x0049: "Flash fired, compulsory flash mode, red-eye reduction mode", + 0x004D: "Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected", + 0x004F: "Flash fired, compulsory flash mode, red-eye reduction mode, return light detected", + 0x0059: "Flash fired, auto mode, red-eye reduction mode", + 0x005D: "Flash fired, auto mode, return light not detected, red-eye reduction mode", + 0x005F: "Flash fired, auto mode, return light detected, red-eye reduction mode" + }, + SensingMethod: { + 1: "Not defined", + 2: "One-chip color area sensor", + 3: "Two-chip color area sensor", + 4: "Three-chip color area sensor", + 5: "Color sequential area sensor", + 7: "Trilinear sensor", + 8: "Color sequential linear sensor" + }, + SceneCaptureType: { + 0: "Standard", + 1: "Landscape", + 2: "Portrait", + 3: "Night scene" + }, + SceneType: { + 1: "Directly photographed" + }, + CustomRendered: { + 0: "Normal process", + 1: "Custom process" + }, + WhiteBalance: { + 0: "Auto white balance", + 1: "Manual white balance" + }, + GainControl: { + 0: "None", + 1: "Low gain up", + 2: "High gain up", + 3: "Low gain down", + 4: "High gain down" + }, + Contrast: { + 0: "Normal", + 1: "Soft", + 2: "Hard" + }, + Saturation: { + 0: "Normal", + 1: "Low saturation", + 2: "High saturation" + }, + Sharpness: { + 0: "Normal", + 1: "Soft", + 2: "Hard" + }, + SubjectDistanceRange: { + 0: "Unknown", + 1: "Macro", + 2: "Close view", + 3: "Distant view" + }, + FileSource: { + 3: "DSC" + }, + + Components: { + 0: "", + 1: "Y", + 2: "Cb", + 3: "Cr", + 4: "R", + 5: "G", + 6: "B" + } + } + enableXmp() { + this.isXmpEnabled = true + } + disableXmp() { + this.isXmpEnabled = false; + } + /** + * 获取图片数据 + * @param img 图片地址 + * @param callback 回调 返回图片数据 + * */ + getData(img : any, callback : Function) { + // if (((self.Image && img instanceof self.Image) || (self.HTMLImageElement && img instanceof self.HTMLImageElement)) && !img.complete) + // return false; + let file : File = { + src: '', + exifdata: null, + iptcdata: null, + xmpdata: null, + } + if (isBase64(img)) { + file.src = img + } else if (img.path) { + file.src = img.path + } else if (isString(img)) { + file.src = img + } else { + return false; + } + + + if (!imageHasData(file)) { + getImageData(file, callback); + } else { + if (callback) { + callback.call(file); + } + } + return true; + } + /** + * 获取图片tag + * @param img 图片数据 + * @param tag tag 类型 + * */ + getTag(img : File, tag : string) { + if (!imageHasData(img)) return; + return img.exifdata[tag]; + } + getIptcTag(img : File, tag : string) { + if (!imageHasData(img)) return; + return img.iptcdata[tag]; + } + getAllTags(img : File) { + if (!imageHasData(img)) return {}; + let a, + data = img.exifdata, + tags = {}; + for (a in data) { + if (data.hasOwnProperty(a)) { + tags[a] = data[a]; + } + } + return tags; + } + getAllIptcTags(img : File) { + if (!imageHasData(img)) return {}; + let a, + data = img.iptcdata, + tags = {}; + for (a in data) { + if (data.hasOwnProperty(a)) { + tags[a] = data[a]; + } + } + return tags; + } + pretty(img : File) { + if (!imageHasData(img)) return ""; + let a, + data = img.exifdata, + strPretty = ""; + for (a in data) { + if (data.hasOwnProperty(a)) { + if (typeof data[a] == "object") { + if (data[a] instanceof Number) { + strPretty += a + " : " + data[a] + " [" + data[a].numerator + "/" + data[a] + .denominator + "]\r\n"; + } else { + strPretty += a + " : [" + data[a].length + " values]\r\n"; + } + } else { + strPretty += a + " : " + data[a] + "\r\n"; + } + } + } + return strPretty; + } + readFromBinaryFile(file: ArrayBuffer) { + return findEXIFinJPEG(file); + } +} + +export const exif = new EXIF() +// export function getData(img, callback) { +// const exif = new EXIF() +// exif.getData(img, callback) +// } + +// export default {getData} +const ExifTags = exif.Tags +const TiffTags = exif.TiffTags +const IFD1Tags = exif.IFD1Tags +const GPSTags = exif.GPSTags +const StringValues = exif.StringValues + + +function imageHasData(img : File) : boolean { + return !!(img.exifdata); +} + +function objectURLToBlob(url : string, callback : Function) { + try { + const http = new XMLHttpRequest(); + http.open("GET", url, true); + http.responseType = "blob"; + http.onload = function (e) { + if (this.status == 200 || this.status === 0) { + callback(this.response); + } + }; + http.send(); + } catch (e) { + console.warn(e) + } +} + + +function getImageData(img : File, callback : Function) { + function handleBinaryFile(binFile: ArrayBuffer) { + const data = findEXIFinJPEG(binFile); + img.exifdata = data ?? {}; + const iptcdata = findIPTCinJPEG(binFile); + img.iptcdata = iptcdata ?? {}; + if (exif.isXmpEnabled) { + const xmpdata = findXMPinJPEG(binFile); + img.xmpdata = xmpdata ?? {}; + } + if (callback) { + callback.call(img); + } + } + + if (img.src) { + if (/^data\:/i.test(img.src)) { // Data URI + // var arrayBuffer = base64ToArrayBuffer(img.src); + handleBinaryFile(base64ToArrayBuffer(img.src)); + + } else if (/^blob\:/i.test(img.src) && typeof FileReader !== 'undefined') { // Object URL + var fileReader = new FileReader(); + fileReader.onload = function (e) { + handleBinaryFile(e.target.result); + }; + objectURLToBlob(img.src, function (blob : Blob) { + fileReader.readAsArrayBuffer(blob); + }); + } else if (typeof XMLHttpRequest !== 'undefined') { + var http = new XMLHttpRequest(); + http.onload = function () { + if (this.status == 200 || this.status === 0) { + handleBinaryFile(http.response); + } else { + throw "Could not load image"; + } + http = null; + }; + http.open("GET", img.src, true); + http.responseType = "arraybuffer"; + http.send(null); + } else { + pathToBase64(img.src).then(res => { + handleBinaryFile(base64ToArrayBuffer(res)); + }) + } + } else if (typeof FileReader !== 'undefined' && self.FileReader && (img instanceof self.Blob || img instanceof self.File)) { + var fileReader = new FileReader(); + fileReader.onload = function (e : any) { + if (exif.debug) console.log("Got file of length " + e.target.result.byteLength); + handleBinaryFile(e.target.result); + }; + + fileReader.readAsArrayBuffer(img); + } +} + +function findEXIFinJPEG(file: ArrayBuffer) { + const dataView = new DataView(file); + + if (exif.debug) console.log("Got file of length " + file.byteLength); + if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) { + if (exif.debug) console.log("Not a valid JPEG"); + return false; // not a valid jpeg + } + + let offset = 2, + length = file.byteLength, + marker; + + while (offset < length) { + if (dataView.getUint8(offset) != 0xFF) { + if (exif.debug) console.log("Not a valid marker at offset " + offset + ", found: " + dataView.getUint8( + offset)); + return false; // not a valid marker, something is wrong + } + + marker = dataView.getUint8(offset + 1); + if (exif.debug) console.log(marker); + + // we could implement handling for other markers here, + // but we're only looking for 0xFFE1 for EXIF data + + if (marker == 225) { + if (exif.debug) console.log("Found 0xFFE1 marker"); + + return readEXIFData(dataView, offset + 4, dataView.getUint16(offset + 2) - 2); + + // offset += 2 + file.getShortAt(offset+2, true); + + } else { + offset += 2 + dataView.getUint16(offset + 2); + } + + } + +} + +function findIPTCinJPEG(file: ArrayBuffer) { + const dataView = new DataView(file); + + if (exif.debug) console.log("Got file of length " + file.byteLength); + if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) { + if (exif.debug) console.log("Not a valid JPEG"); + return false; // not a valid jpeg + } + + let offset = 2, + length = file.byteLength; + + + const isFieldSegmentStart = function (dataView, offset: number) { + return ( + dataView.getUint8(offset) === 0x38 && + dataView.getUint8(offset + 1) === 0x42 && + dataView.getUint8(offset + 2) === 0x49 && + dataView.getUint8(offset + 3) === 0x4D && + dataView.getUint8(offset + 4) === 0x04 && + dataView.getUint8(offset + 5) === 0x04 + ); + }; + + while (offset < length) { + + if (isFieldSegmentStart(dataView, offset)) { + + // Get the length of the name header (which is padded to an even number of bytes) + var nameHeaderLength = dataView.getUint8(offset + 7); + if (nameHeaderLength % 2 !== 0) nameHeaderLength += 1; + // Check for pre photoshop 6 format + if (nameHeaderLength === 0) { + // Always 4 + nameHeaderLength = 4; + } + + var startOffset = offset + 8 + nameHeaderLength; + var sectionLength = dataView.getUint16(offset + 6 + nameHeaderLength); + + return readIPTCData(file, startOffset, sectionLength); + + break; + + } + + + // Not the marker, continue searching + offset++; + + } + +} + +const IptcFieldMap = { + 0x78: 'caption', + 0x6E: 'credit', + 0x19: 'keywords', + 0x37: 'dateCreated', + 0x50: 'byline', + 0x55: 'bylineTitle', + 0x7A: 'captionWriter', + 0x69: 'headline', + 0x74: 'copyright', + 0x0F: 'category' +}; + +function readIPTCData(file: ArrayBuffer, startOffset: number, sectionLength: number) { + const dataView = new DataView(file); + let data = {}; + let fieldValue, fieldName, dataSize, segmentType, segmentSize; + let segmentStartPos = startOffset; + while (segmentStartPos < startOffset + sectionLength) { + if (dataView.getUint8(segmentStartPos) === 0x1C && dataView.getUint8(segmentStartPos + 1) === 0x02) { + segmentType = dataView.getUint8(segmentStartPos + 2); + if (segmentType in IptcFieldMap) { + dataSize = dataView.getInt16(segmentStartPos + 3); + segmentSize = dataSize + 5; + fieldName = IptcFieldMap[segmentType]; + fieldValue = getStringFromDB(dataView, segmentStartPos + 5, dataSize); + // Check if we already stored a value with this name + if (data.hasOwnProperty(fieldName)) { + // Value already stored with this name, create multivalue field + if (data[fieldName] instanceof Array) { + data[fieldName].push(fieldValue); + } else { + data[fieldName] = [data[fieldName], fieldValue]; + } + } else { + data[fieldName] = fieldValue; + } + } + + } + segmentStartPos++; + } + return data; +} + +function readTags(file: DataView, tiffStart: number, dirStart: number, strings: any[], bigEnd: number) { + let entries = file.getUint16(dirStart, !bigEnd), + tags = {}, + entryOffset, tag; + + for (let i = 0; i < entries; i++) { + entryOffset = dirStart + i * 12 + 2; + tag = strings[file.getUint16(entryOffset, !bigEnd)]; + if (!tag && exif.debug) console.log("Unknown tag: " + file.getUint16(entryOffset, !bigEnd)); + tags[tag] = readTagValue(file, entryOffset, tiffStart, dirStart, bigEnd); + } + return tags; +} + +function readTagValue(file: DataView, entryOffset: number, tiffStart: number, dirStart: number, bigEnd: number) { + let type = file.getUint16(entryOffset + 2, !bigEnd), + numValues = file.getUint32(entryOffset + 4, !bigEnd), + valueOffset = file.getUint32(entryOffset + 8, !bigEnd) + tiffStart, + offset, + vals, val, n, + numerator, denominator; + + switch (type) { + case 1: // byte, 8-bit unsigned int + case 7: // undefined, 8-bit byte, value depending on field + if (numValues == 1) { + return file.getUint8(entryOffset + 8, !bigEnd); + } else { + offset = numValues > 4 ? valueOffset : (entryOffset + 8); + vals = []; + for (n = 0; n < numValues; n++) { + vals[n] = file.getUint8(offset + n); + } + return vals; + } + + case 2: // ascii, 8-bit byte + offset = numValues > 4 ? valueOffset : (entryOffset + 8); + return getStringFromDB(file, offset, numValues - 1); + + case 3: // short, 16 bit int + if (numValues == 1) { + return file.getUint16(entryOffset + 8, !bigEnd); + } else { + offset = numValues > 2 ? valueOffset : (entryOffset + 8); + vals = []; + for (n = 0; n < numValues; n++) { + vals[n] = file.getUint16(offset + 2 * n, !bigEnd); + } + return vals; + } + + case 4: // long, 32 bit int + if (numValues == 1) { + return file.getUint32(entryOffset + 8, !bigEnd); + } else { + vals = []; + for (n = 0; n < numValues; n++) { + vals[n] = file.getUint32(valueOffset + 4 * n, !bigEnd); + } + return vals; + } + + case 5: // rational = two long values, first is numerator, second is denominator + if (numValues == 1) { + numerator = file.getUint32(valueOffset, !bigEnd); + denominator = file.getUint32(valueOffset + 4, !bigEnd); + val = new Number(numerator / denominator); + val.numerator = numerator; + val.denominator = denominator; + return val; + } else { + vals = []; + for (n = 0; n < numValues; n++) { + numerator = file.getUint32(valueOffset + 8 * n, !bigEnd); + denominator = file.getUint32(valueOffset + 4 + 8 * n, !bigEnd); + vals[n] = new Number(numerator / denominator); + vals[n].numerator = numerator; + vals[n].denominator = denominator; + } + return vals; + } + + case 9: // slong, 32 bit signed int + if (numValues == 1) { + return file.getInt32(entryOffset + 8, !bigEnd); + } else { + vals = []; + for (n = 0; n < numValues; n++) { + vals[n] = file.getInt32(valueOffset + 4 * n, !bigEnd); + } + return vals; + } + + case 10: // signed rational, two slongs, first is numerator, second is denominator + if (numValues == 1) { + return file.getInt32(valueOffset, !bigEnd) / file.getInt32(valueOffset + 4, !bigEnd); + } else { + vals = []; + for (n = 0; n < numValues; n++) { + vals[n] = file.getInt32(valueOffset + 8 * n, !bigEnd) / file.getInt32(valueOffset + 4 + 8 * + n, !bigEnd); + } + return vals; + } + } +} +/** + * Given an IFD (Image File Directory) start offset + * returns an offset to next IFD or 0 if it's the last IFD. + */ +function getNextIFDOffset(dataView: DataView, dirStart: number, bigEnd: number) { + //the first 2bytes means the number of directory entries contains in this IFD + var entries = dataView.getUint16(dirStart, !bigEnd); + + // After last directory entry, there is a 4bytes of data, + // it means an offset to next IFD. + // If its value is '0x00000000', it means this is the last IFD and there is no linked IFD. + + return dataView.getUint32(dirStart + 2 + entries * 12, !bigEnd); // each entry is 12 bytes long +} + +function readThumbnailImage(dataView: DataView, tiffStart: number, firstIFDOffset: number, bigEnd: number) { + // get the IFD1 offset + const IFD1OffsetPointer = getNextIFDOffset(dataView, tiffStart + firstIFDOffset, bigEnd); + + if (!IFD1OffsetPointer) { + // console.log('******** IFD1Offset is empty, image thumb not found ********'); + return {}; + } else if (IFD1OffsetPointer > dataView.byteLength) { // this should not happen + // console.log('******** IFD1Offset is outside the bounds of the DataView ********'); + return {}; + } + // console.log('******* thumbnail IFD offset (IFD1) is: %s', IFD1OffsetPointer); + + let thumbTags : any = readTags(dataView, tiffStart, tiffStart + IFD1OffsetPointer, IFD1Tags, bigEnd) + + // EXIF 2.3 specification for JPEG format thumbnail + + // If the value of Compression(0x0103) Tag in IFD1 is '6', thumbnail image format is JPEG. + // Most of Exif image uses JPEG format for thumbnail. In that case, you can get offset of thumbnail + // by JpegIFOffset(0x0201) Tag in IFD1, size of thumbnail by JpegIFByteCount(0x0202) Tag. + // Data format is ordinary JPEG format, starts from 0xFFD8 and ends by 0xFFD9. It seems that + // JPEG format and 160x120pixels of size are recommended thumbnail format for Exif2.1 or later. + + if (thumbTags['Compression'] && typeof Blob !== 'undefined') { + // console.log('Thumbnail image found!'); + + switch (thumbTags['Compression']) { + case 6: + // console.log('Thumbnail image format is JPEG'); + if (thumbTags.JpegIFOffset && thumbTags.JpegIFByteCount) { + // extract the thumbnail + var tOffset = tiffStart + thumbTags.JpegIFOffset; + var tLength = thumbTags.JpegIFByteCount; + thumbTags['blob'] = new Blob([new Uint8Array(dataView.buffer, tOffset, tLength)], { + type: 'image/jpeg' + }); + } + break; + + case 1: + console.log("Thumbnail image format is TIFF, which is not implemented."); + break; + default: + console.log("Unknown thumbnail image format '%s'", thumbTags['Compression']); + } + } else if (thumbTags['PhotometricInterpretation'] == 2) { + console.log("Thumbnail image format is RGB, which is not implemented."); + } + return thumbTags; +} + +function getStringFromDB(buffer: DataView, start: number, length: number) { + let outstr = ""; + for (let n = start; n < start + length; n++) { + outstr += String.fromCharCode(buffer.getUint8(n)); + } + return outstr; +} + +function readEXIFData(file: DataView, start: number) { + if (getStringFromDB(file, start, 4) != "Exif") { + if (exif.debug) console.log("Not valid EXIF data! " + getStringFromDB(file, start, 4)); + return false; + } + + let bigEnd, + tags, tag, + exifData, gpsData, + tiffOffset = start + 6; + + // test for TIFF validity and endianness + if (file.getUint16(tiffOffset) == 0x4949) { + bigEnd = false; + } else if (file.getUint16(tiffOffset) == 0x4D4D) { + bigEnd = true; + } else { + if (exif.debug) console.log("Not valid TIFF data! (no 0x4949 or 0x4D4D)"); + return false; + } + + if (file.getUint16(tiffOffset + 2, !bigEnd) != 0x002A) { + if (exif.debug) console.log("Not valid TIFF data! (no 0x002A)"); + return false; + } + + const firstIFDOffset = file.getUint32(tiffOffset + 4, !bigEnd); + + if (firstIFDOffset < 0x00000008) { + if (exif.debug) console.log("Not valid TIFF data! (First offset less than 8)", file.getUint32(tiffOffset + 4, + !bigEnd)); + return false; + } + + tags = readTags(file, tiffOffset, tiffOffset + firstIFDOffset, TiffTags, bigEnd); + + if (tags.ExifIFDPointer) { + exifData = readTags(file, tiffOffset, tiffOffset + tags.ExifIFDPointer, ExifTags, bigEnd); + for (tag in exifData) { + switch (tag) { + case "LightSource": + case "Flash": + case "MeteringMode": + case "ExposureProgram": + case "SensingMethod": + case "SceneCaptureType": + case "SceneType": + case "CustomRendered": + case "WhiteBalance": + case "GainControl": + case "Contrast": + case "Saturation": + case "Sharpness": + case "SubjectDistanceRange": + case "FileSource": + exifData[tag] = StringValues[tag][exifData[tag]]; + break; + + case "ExifVersion": + case "FlashpixVersion": + exifData[tag] = String.fromCharCode(exifData[tag][0], exifData[tag][1], exifData[tag][2], + exifData[tag][3]); + break; + + case "ComponentsConfiguration": + exifData[tag] = + StringValues.Components[exifData[tag][0]] + + StringValues.Components[exifData[tag][1]] + + StringValues.Components[exifData[tag][2]] + + StringValues.Components[exifData[tag][3]]; + break; + } + tags[tag] = exifData[tag]; + } + } + + if (tags.GPSInfoIFDPointer) { + gpsData = readTags(file, tiffOffset, tiffOffset + tags.GPSInfoIFDPointer, GPSTags, bigEnd); + for (tag in gpsData) { + switch (tag) { + case "GPSVersionID": + gpsData[tag] = gpsData[tag][0] + + "." + gpsData[tag][1] + + "." + gpsData[tag][2] + + "." + gpsData[tag][3]; + break; + } + tags[tag] = gpsData[tag]; + } + } + + // extract thumbnail + tags['thumbnail'] = readThumbnailImage(file, tiffOffset, firstIFDOffset, bigEnd); + + return tags; +} + +function findXMPinJPEG(file: ArrayBuffer) { + + if (!('DOMParser' in self)) { + // console.warn('XML parsing not supported without DOMParser'); + return; + } + const dataView = new DataView(file); + + if (exif.debug) console.log("Got file of length " + file.byteLength); + if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) { + if (exif.debug) console.log("Not a valid JPEG"); + return false; // not a valid jpeg + } + + let offset = 2, + length = file.byteLength, + dom = new DOMParser(); + + while (offset < (length - 4)) { + if (getStringFromDB(dataView, offset, 4) == "http") { + const startOffset = offset - 1; + const sectionLength = dataView.getUint16(offset - 2) - 1; + let xmpString = getStringFromDB(dataView, startOffset, sectionLength) + const xmpEndIndex = xmpString.indexOf('xmpmeta>') + 8; + xmpString = xmpString.substring(xmpString.indexOf(' 0) { + json['@attributes'] = {}; + for (var j = 0; j < xml.attributes.length; j++) { + var attribute = xml.attributes.item(j); + json['@attributes'][attribute.nodeName] = attribute.nodeValue; + } + } + } else if (xml.nodeType == 3) { // text node + return xml.nodeValue; + } + + // deal with children + if (xml.hasChildNodes()) { + for (var i = 0; i < xml.childNodes.length; i++) { + var child = xml.childNodes.item(i); + var nodeName = child.nodeName; + if (json[nodeName] == null) { + json[nodeName] = xml2json(child); + } else { + if (json[nodeName].push == null) { + var old = json[nodeName]; + json[nodeName] = []; + json[nodeName].push(old); + } + json[nodeName].push(xml2json(child)); + } + } + } + + return json; +} + +function xml2Object(xml: any) { + try { + var obj = {}; + if (xml.children.length > 0) { + for (var i = 0; i < xml.children.length; i++) { + var item = xml.children.item(i); + var attributes = item.attributes; + for (var idx in attributes) { + var itemAtt = attributes[idx]; + var dataKey = itemAtt.nodeName; + var dataValue = itemAtt.nodeValue; + + if (dataKey !== undefined) { + obj[dataKey] = dataValue; + } + } + var nodeName = item.nodeName; + + if (typeof (obj[nodeName]) == "undefined") { + obj[nodeName] = xml2json(item); + } else { + if (typeof (obj[nodeName].push) == "undefined") { + var old = obj[nodeName]; + + obj[nodeName] = []; + obj[nodeName].push(old); + } + obj[nodeName].push(xml2json(item)); + } + } + } else { + obj = xml.textContent; + } + return obj; + } catch (e) { + console.log(e.message); + } +} \ No newline at end of file diff --git a/uni_modules/lime-shared/fillZero/index.ts b/uni_modules/lime-shared/fillZero/index.ts new file mode 100644 index 0000000..9952c45 --- /dev/null +++ b/uni_modules/lime-shared/fillZero/index.ts @@ -0,0 +1,11 @@ +// @ts-nocheck +/** + * 在数字前填充零,返回字符串形式的结果 + * @param number 要填充零的数字 + * @param length 填充零后的字符串长度,默认为2 + * @returns 填充零后的字符串 + */ +export function fillZero(number: number, length: number = 2): string { + // 将数字转换为字符串,然后使用 padStart 方法填充零到指定长度 + return `${number}`.padStart(length, '0'); +} \ No newline at end of file diff --git a/uni_modules/lime-shared/floatAdd/index.ts b/uni_modules/lime-shared/floatAdd/index.ts new file mode 100644 index 0000000..aad3929 --- /dev/null +++ b/uni_modules/lime-shared/floatAdd/index.ts @@ -0,0 +1,36 @@ +import { isNumber } from '../isNumber' +/** + * 返回两个浮点数相加的结果 + * @param num1 第一个浮点数 + * @param num2 第二个浮点数 + * @returns 两个浮点数的相加结果 + */ +export function floatAdd(num1 : number, num2 : number) : number { + // 检查 num1 和 num2 是否为数字类型 + if (!(isNumber(num1) || isNumber(num2))) { + console.warn('Please pass in the number type'); + return NaN; + } + + let r1 : number, r2 : number, m : number; + + try { + // 获取 num1 小数点后的位数 + r1 = num1.toString().split('.')[1].length; + } catch (error) { + r1 = 0; + } + + try { + // 获取 num2 小数点后的位数 + r2 = num2.toString().split('.')[1].length; + } catch (error) { + r2 = 0; + } + + // 计算需要扩大的倍数 + m = Math.pow(10, Math.max(r1, r2)); + + // 返回相加结果 + return (num1 * m + num2 * m) / m; +} \ No newline at end of file diff --git a/uni_modules/lime-shared/floatDiv/index.ts b/uni_modules/lime-shared/floatDiv/index.ts new file mode 100644 index 0000000..195d4ab --- /dev/null +++ b/uni_modules/lime-shared/floatDiv/index.ts @@ -0,0 +1,45 @@ +import { floatMul } from '../floatMul'; +import { isNumber } from '../isNumber'; + +/** + * 除法函数,用于处理浮点数除法并保持精度。 + * @param {number} num1 - 被除数。 + * @param {number} num2 - 除数。 + * @returns {number} 除法运算的结果,保留正确的精度。 + */ +export function floatDiv(num1:number, num2:number):number { + // 如果传入的不是数字类型,则打印警告并返回NaN + if (!isNumber(num1) || !isNumber(num2)) { + console.warn('请传入数字类型'); + return NaN; + } + + let m1 = 0, // 被除数小数点后的位数 + m2 = 0, // 除数小数点后的位数 + s1 = num1.toString(), // 将被除数转换为字符串 + s2 = num2.toString(); // 将除数转换为字符串 + + // 计算被除数小数点后的位数 + try { + m1 += s1.split('.')[1].length; + } catch (error) {} + + // 计算除数小数点后的位数 + try { + m2 += s2.split('.')[1].length; + } catch (error) {} + + // 进行除法运算并处理小数点后的位数,使用之前定义的乘法函数保持精度 + // #ifdef APP-ANDROID + return floatMul( + parseFloat(s1.replace('.', '')) / parseFloat(s2.replace('.', '')), + Math.pow(10, m2 - m1), + ); + // #endif + // #ifndef APP-ANDROID + return floatMul( + Number(s1.replace('.', '')) / Number(s2.replace('.', '')), + Math.pow(10, m2 - m1), + ); + // #endif +} diff --git a/uni_modules/lime-shared/floatMul/index.ts b/uni_modules/lime-shared/floatMul/index.ts new file mode 100644 index 0000000..51a867e --- /dev/null +++ b/uni_modules/lime-shared/floatMul/index.ts @@ -0,0 +1,44 @@ +// @ts-nocheck +import {isNumber} from '../isNumber'; +// #ifdef APP-ANDROID +import BigDecimal from 'java.math.BigDecimal' +// import BigDecimal from 'java.math.BigDecimal' +// import StringBuilder from 'java.lang.StringBuilder' +// import java.math.BigDecimal; +// #endif + +/** + * 乘法函数,用于处理浮点数乘法并保持精度。 + * @param {number} num1 - 第一个乘数。 + * @param {number} num2 - 第二个乘数。 + * @returns {number} 乘法运算的结果,保留正确的精度。 + */ +export function floatMul(num1 : number, num2 : number) : number { + if (!(isNumber(num1) || isNumber(num2))) { + console.warn('Please pass in the number type'); + return NaN; + } + let m = 0; + // #ifdef APP-ANDROID + let s1 = BigDecimal.valueOf(num1.toDouble()).toPlainString(); //new UTSNumber(num1).toString() // //`${num1.toFloat()}`// num1.toString(), + let s2 = BigDecimal.valueOf(num2.toDouble()).toPlainString(); //new UTSNumber(num2).toString() //`${num2.toFloat()}`//.toString(); + // #endif + // #ifndef APP-ANDROID + let s1:string = `${num1}`// num1.toString(), + let s2:string = `${num2}`//.toString(); + // #endif + + try { + m += s1.split('.')[1].length; + } catch (error) { } + try { + m += s2.split('.')[1].length; + } catch (error) { } + + // #ifdef APP-ANDROID + return parseFloat(s1.replace('.', '')) * parseFloat(s2.replace('.', '')) / Math.pow(10, m); + // #endif + // #ifndef APP-ANDROID + return Number(s1.replace('.', '')) * Number(s2.replace('.', '')) / Math.pow(10, m); + // #endif +} diff --git a/uni_modules/lime-shared/floatSub/index.ts b/uni_modules/lime-shared/floatSub/index.ts new file mode 100644 index 0000000..9bc25cb --- /dev/null +++ b/uni_modules/lime-shared/floatSub/index.ts @@ -0,0 +1,32 @@ +import { isNumber } from '../isNumber'; +/** + * 减法函数,用于处理浮点数减法并保持精度。 + * @param {number} num1 - 被减数。 + * @param {number} num2 - 减数。 + * @returns {number} 减法运算的结果,保留正确的精度。 + */ +export function floatSub(num1 : number, num2 : number) : number { + if (!(isNumber(num1) || isNumber(num2))) { + console.warn('Please pass in the number type'); + return NaN; + } + let r1:number, r2:number, m:number, n:number; + try { + r1 = num1.toString().split('.')[1].length; + } catch (error) { + r1 = 0; + } + try { + r2 = num2.toString().split('.')[1].length; + } catch (error) { + r2 = 0; + } + m = Math.pow(10, Math.max(r1, r2)); + n = r1 >= r2 ? r1 : r2; + // #ifndef APP-ANDROID + return Number(((num1 * m - num2 * m) / m).toFixed(n)); + // #endif + // #ifdef APP-ANDROID + return parseFloat(((num1 * m - num2 * m) / m).toFixed(n)); + // #endif +} \ No newline at end of file diff --git a/uni_modules/lime-shared/getClassStr/index.ts b/uni_modules/lime-shared/getClassStr/index.ts new file mode 100644 index 0000000..ef8c7d6 --- /dev/null +++ b/uni_modules/lime-shared/getClassStr/index.ts @@ -0,0 +1,53 @@ +// @ts-nocheck + +// #ifdef UNI-APP-X && APP +import { isNumber } from '../isNumber' +import { isString } from '../isString' +import { isDef } from '../isDef' +// #endif + +/** + * 获取对象的类名字符串 + * @param obj - 需要处理的对象 + * @returns 由对象属性作为类名组成的字符串 + */ +export function getClassStr(obj : T) : string { + let classNames : string[] = []; + // #ifdef UNI-APP-X && APP + if (obj instanceof UTSJSONObject) { + (obj as UTSJSONObject).toMap().forEach((value, key) => { + if (isDef(value)) { + if (isNumber(value)) { + classNames.push(key); + } + if (isString(value) && value !== '') { + classNames.push(key); + } + if (typeof value == 'boolean' && (value as boolean)) { + classNames.push(key); + } + } + }) + } + // #endif + // #ifndef UNI-APP-X && APP + // 遍历对象的属性 + for (let key in obj) { + // 检查属性确实属于对象自身且其值为true + if ((obj as any).hasOwnProperty(key) && obj[key]) { + // 将属性名添加到类名数组中 + classNames.push(key); + } + } + // #endif + + + // 将类名数组用空格连接成字符串并返回 + return classNames.join(' '); +} + + +// 示例 +// const obj = { foo: true, bar: false, baz: true }; +// const classNameStr = getClassStr(obj); +// console.log(classNameStr); // 输出: "foo baz" \ No newline at end of file diff --git a/uni_modules/lime-shared/getCurrentPage/index.ts b/uni_modules/lime-shared/getCurrentPage/index.ts new file mode 100644 index 0000000..af9a9d2 --- /dev/null +++ b/uni_modules/lime-shared/getCurrentPage/index.ts @@ -0,0 +1,9 @@ +// @ts-nocheck +// #ifndef UNI-APP-X && APP +export * from './vue.ts' +// #endif + + +// #ifdef UNI-APP-X && APP +export * from './uvue.uts' +// #endif diff --git a/uni_modules/lime-shared/getCurrentPage/uvue.uts b/uni_modules/lime-shared/getCurrentPage/uvue.uts new file mode 100644 index 0000000..9e96d2b --- /dev/null +++ b/uni_modules/lime-shared/getCurrentPage/uvue.uts @@ -0,0 +1,5 @@ +// @ts-nocheck +export const getCurrentPage = ():Page => { + const pages = getCurrentPages(); + return pages[pages.length - 1] +}; \ No newline at end of file diff --git a/uni_modules/lime-shared/getCurrentPage/vue.ts b/uni_modules/lime-shared/getCurrentPage/vue.ts new file mode 100644 index 0000000..79ecac8 --- /dev/null +++ b/uni_modules/lime-shared/getCurrentPage/vue.ts @@ -0,0 +1,6 @@ +// @ts-nocheck +/** 获取当前页 */ +export const getCurrentPage = () => { + const pages = getCurrentPages(); + return pages[pages.length - 1] //as T & WechatMiniprogram.Page.TrivialInstance; +}; \ No newline at end of file diff --git a/uni_modules/lime-shared/getLocalFilePath/index.ts b/uni_modules/lime-shared/getLocalFilePath/index.ts new file mode 100644 index 0000000..c496a07 --- /dev/null +++ b/uni_modules/lime-shared/getLocalFilePath/index.ts @@ -0,0 +1,62 @@ +// @ts-nocheck +// #ifdef APP-NVUE || APP-VUE +export const getLocalFilePath = (path : string) => { + if (typeof plus == 'undefined') return path + if (/^(_www|_doc|_documents|_downloads|file:\/\/|\/storage\/emulated\/0\/)/.test(path)) return path + if (/^\//.test(path)) { + const localFilePath = plus.io.convertAbsoluteFileSystem(path) + if (localFilePath !== path) { + return localFilePath + } else { + path = path.slice(1) + } + } + return '_www/' + path +} +// #endif + + +// #ifdef UNI-APP-X && APP +export { getResourcePath as getLocalFilePath } from '@/uni_modules/lime-file-utils' +// export const getLocalFilePath = (path : string) : string => { +// let uri = path +// if (uri.startsWith("http") || uri.startsWith(" { +// try { +// let uri = path +// if (uri.startsWith("http") || uri.startsWith(" { + return new Promise((resolve)=>{ + uni.createSelectorQuery().in(context).select(selector).boundingClientRect(res =>{ + resolve(res as NodeInfo) + }).exec(); + }) +} + +export function getAllRect(selector : string, context: ComponentPublicInstance):Promise { + return new Promise((resolve)=>{ + uni.createSelectorQuery().in(context).selectAll(selector).boundingClientRect(res =>{ + resolve(res as NodeInfo[]) + }).exec(); + }) +} \ No newline at end of file diff --git a/uni_modules/lime-shared/getRect/vue.ts b/uni_modules/lime-shared/getRect/vue.ts new file mode 100644 index 0000000..a4aabed --- /dev/null +++ b/uni_modules/lime-shared/getRect/vue.ts @@ -0,0 +1,117 @@ +// @ts-nocheck + +// #ifdef APP-NVUE +// 当编译环境是 APP-NVUE 时,引入 uni.requireNativePlugin('dom'),具体插件用途未知 +const dom = uni.requireNativePlugin('dom') +// #endif + +/** + * 获取节点信息 + * @param selector 选择器字符串 + * @param context ComponentInternalInstance 对象 + * @param node 是否获取node + * @returns 包含节点信息的 Promise 对象 + */ +export function getRect(selector : string, context : ComponentInternalInstance|ComponentPublicInstance, node: boolean = false) { + // 之前是个对象,现在改成实例,防止旧版会报错 + if(context== null) { + return Promise.reject('context is null') + } + if(context.context){ + context = context.context + } + // #ifdef MP || VUE2 + if (context.proxy) context = context.proxy + // #endif + return new Promise((resolve, reject) => { + // #ifndef APP-NVUE + const dom = uni.createSelectorQuery().in(context).select(selector); + const result = (rect: UniNamespace.NodeInfo) => { + if (rect) { + resolve(rect) + } else { + reject('no rect') + } + } + + if (!node) { + dom.boundingClientRect(result).exec() + } else { + dom.fields({ + node: true, + size: true, + rect: true + }, result).exec() + } + // #endif + // #ifdef APP-NVUE + let { context } = options + if (/#|\./.test(selector) && context.refs) { + selector = selector.replace(/#|\./, '') + if (context.refs[selector]) { + selector = context.refs[selector] + if(Array.isArray(selector)) { + selector = selector[0] + } + } + } + dom.getComponentRect(selector, (res) => { + if (res.size) { + resolve(res.size) + } else { + reject('no rect') + } + }) + // #endif + }); +}; + + +export function getAllRect(selector : string, context: ComponentInternalInstance|ComponentPublicInstance, node:boolean = false) { + if(context== null) { + return Promise.reject('context is null') + } + // #ifdef MP || VUE2 + if (context.proxy) context = context.proxy + // #endif + return new Promise((resolve, reject) => { + // #ifndef APP-NVUE + const dom = uni.createSelectorQuery().in(context).selectAll(selector); + const result = (rect: UniNamespace.NodeInfo[]) => { + if (rect) { + resolve(rect) + } else { + reject('no rect') + } + } + if (!node) { + dom.boundingClientRect(result).exec() + } else { + dom.fields({ + node: true, + size: true, + rect: true + }, result).exec() + } + // #endif + // #ifdef APP-NVUE + let { context } = options + if (/#|\./.test(selector) && context.refs) { + selector = selector.replace(/#|\./, '') + if (context.refs[selector]) { + selector = context.refs[selector] + if(Array.isArray(selector)) { + selector = selector[0] + } + } + } + dom.getComponentRect(selector, (res) => { + if (res.size) { + resolve([res.size]) + } else { + reject('no rect') + } + }) + // #endif + }); +}; \ No newline at end of file diff --git a/uni_modules/lime-shared/getStyleStr/index.ts b/uni_modules/lime-shared/getStyleStr/index.ts new file mode 100644 index 0000000..665941c --- /dev/null +++ b/uni_modules/lime-shared/getStyleStr/index.ts @@ -0,0 +1,54 @@ +// @ts-nocheck +// #ifndef UNI-APP-X && APP +interface CSSProperties { + [key : string] : string | number | null +} +// #endif + +// #ifdef VUE3 +// #ifdef UNI-APP-X && APP +type CSSProperties = UTSJSONObject +// #endif +// #endif +/** + * 将字符串转换为带有连字符分隔的小写形式 + * @param key - 要转换的字符串 + * @returns 转换后的字符串 + */ +export function toLowercaseSeparator(key : string):string { + return key.replace(/([A-Z])/g, '-$1').toLowerCase(); +} + +/** + * 获取样式对象对应的样式字符串 + * @param style - CSS样式对象 + * @returns 由非空有效样式属性键值对组成的字符串 + */ +export function getStyleStr(style : CSSProperties) : string { + + // #ifdef UNI-APP-X && APP + let styleStr = ''; + style.toMap().forEach((value, key) => { + if(value !== null && value != '') { + styleStr += `${toLowercaseSeparator(key as string)}: ${value};` + } + }) + return styleStr + // #endif + // #ifndef UNI-APP-X && APP + return Object.keys(style) + .filter( + (key) => + style[key] !== undefined && + style[key] !== null && + style[key] !== '') + .map((key : string) => `${toLowercaseSeparator(key)}: ${style[key]};`) + .join(' '); + // #endif +} + +// 示例 +// const style = { color: 'red', fontSize: '16px', backgroundColor: '', border: null }; +// const styleStr = getStyleStr(style); +// console.log(styleStr); +// 输出: "color: red; font-size: 16px;" \ No newline at end of file diff --git a/uni_modules/lime-shared/getStyleStr/index_.uts b/uni_modules/lime-shared/getStyleStr/index_.uts new file mode 100644 index 0000000..a4c4494 --- /dev/null +++ b/uni_modules/lime-shared/getStyleStr/index_.uts @@ -0,0 +1,39 @@ +// @ts-nocheck +// #ifndef UNI-APP-X +interface CSSProperties { + [key : string] : string | number +} +// #endif + +// #ifdef UNI-APP-X +type CSSProperties = UTSJSONObject +// #endif +/** + * 将字符串转换为带有连字符分隔的小写形式 + * @param key - 要转换的字符串 + * @returns 转换后的字符串 + */ +export function toLowercaseSeparator(key : string) : string { + return key.replace(/([A-Z])/g, '-$1').toLowerCase(); +} + +/** + * 获取样式对象对应的样式字符串 + * @param style - CSS样式对象 + * @returns 由非空有效样式属性键值对组成的字符串 + */ +export function getStyleStr(style : CSSProperties) : string { + let styleStr = ''; + style.toMap().forEach((value, key) => { + if(value !== null && value != '') { + styleStr += `${toLowercaseSeparator(key as string)}: ${value};` + } + }) + return styleStr +} + +// 示例 +// const style = { color: 'red', fontSize: '16px', backgroundColor: '', border: null }; +// const styleStr = getStyleStr(style); +// console.log(styleStr); +// 输出: "color: red; font-size: 16px;" \ No newline at end of file diff --git a/uni_modules/lime-shared/hasOwn/index.ts b/uni_modules/lime-shared/hasOwn/index.ts new file mode 100644 index 0000000..5e2b6da --- /dev/null +++ b/uni_modules/lime-shared/hasOwn/index.ts @@ -0,0 +1,9 @@ +// @ts-nocheck +// #ifdef UNI-APP-X && APP +export * from './uvue.ts' +// #endif + + +// #ifndef UNI-APP-X && APP +export * from './vue.ts' +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/hasOwn/uvue.ts b/uni_modules/lime-shared/hasOwn/uvue.ts new file mode 100644 index 0000000..50345bf --- /dev/null +++ b/uni_modules/lime-shared/hasOwn/uvue.ts @@ -0,0 +1,39 @@ +// @ts-nocheck +/** + * 检查对象或数组是否具有指定的属性或键 + * @param obj 要检查的对象或数组 + * @param key 指定的属性或键 + * @returns 如果对象或数组具有指定的属性或键,则返回true;否则返回false + */ +function hasOwn(obj: UTSJSONObject, key: string): boolean +function hasOwn(obj: Map, key: string): boolean +function hasOwn(obj: any, key: string): boolean { + if(obj instanceof UTSJSONObject){ + return obj[key] != null + } + if(obj instanceof Map){ + return (obj as Map).has(key) + } + return false +} +export { + hasOwn +} +// 示例 +// const obj = { name: 'John', age: 30 }; + +// if (hasOwn(obj, 'name')) { +// console.log("对象具有 'name' 属性"); +// } else { +// console.log("对象不具有 'name' 属性"); +// } +// // 输出: 对象具有 'name' 属性 + +// const arr = [1, 2, 3]; + +// if (hasOwn(arr, 'length')) { +// console.log("数组具有 'length' 属性"); +// } else { +// console.log("数组不具有 'length' 属性"); +// } +// 输出: 数组具有 'length' 属性 \ No newline at end of file diff --git a/uni_modules/lime-shared/hasOwn/vue.ts b/uni_modules/lime-shared/hasOwn/vue.ts new file mode 100644 index 0000000..7317879 --- /dev/null +++ b/uni_modules/lime-shared/hasOwn/vue.ts @@ -0,0 +1,30 @@ +// @ts-nocheck +const hasOwnProperty = Object.prototype.hasOwnProperty +/** + * 检查对象或数组是否具有指定的属性或键 + * @param obj 要检查的对象或数组 + * @param key 指定的属性或键 + * @returns 如果对象或数组具有指定的属性或键,则返回true;否则返回false + */ +export function hasOwn(obj: Object | Array, key: string): boolean { + return hasOwnProperty.call(obj, key); +} + +// 示例 +// const obj = { name: 'John', age: 30 }; + +// if (hasOwn(obj, 'name')) { +// console.log("对象具有 'name' 属性"); +// } else { +// console.log("对象不具有 'name' 属性"); +// } +// // 输出: 对象具有 'name' 属性 + +// const arr = [1, 2, 3]; + +// if (hasOwn(arr, 'length')) { +// console.log("数组具有 'length' 属性"); +// } else { +// console.log("数组不具有 'length' 属性"); +// } +// 输出: 数组具有 'length' 属性 \ No newline at end of file diff --git a/uni_modules/lime-shared/index.ts b/uni_modules/lime-shared/index.ts new file mode 100644 index 0000000..2eb1d94 --- /dev/null +++ b/uni_modules/lime-shared/index.ts @@ -0,0 +1,43 @@ +// @ts-nocheck +// validator +// export * from './isString' +// export * from './isNumber' +// export * from './isNumeric' +// export * from './isDef' +// export * from './isFunction' +// export * from './isObject' +// export * from './isPromise' +// export * from './isBase64' + +// export * from './hasOwn' + +// // 单位转换 +// export * from './addUnit' +// export * from './unitConvert' +// export * from './toNumber' + +// export * from './random' +// export * from './range' +// export * from './fillZero' + +// // image +// export * from './base64ToPath' +// export * from './pathToBase64' +// export * from './exif' + +// // canvas +// export * from './canIUseCanvas2d' + +// // page +// export * from './getCurrentPage' + +// // dom +// export * from './getRect' +// export * from './selectComponent' +// export * from './createAnimation' + +// // delay +// export * from './sleep' +// export * from './debounce' +// export * from './throttle' + diff --git a/uni_modules/lime-shared/isBase64/index.ts b/uni_modules/lime-shared/isBase64/index.ts new file mode 100644 index 0000000..dcb8f3e --- /dev/null +++ b/uni_modules/lime-shared/isBase64/index.ts @@ -0,0 +1,23 @@ +// @ts-nocheck + +/** + * 判断一个字符串是否为Base64编码。 + * Base64编码的字符串只包含A-Z、a-z、0-9、+、/ 和 = 这些字符。 + * @param {string} str - 要检查的字符串。 + * @returns {boolean} 如果字符串是Base64编码,返回true,否则返回false。 + */ +export function isBase64(str: string): boolean { + const base64Regex = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/; + return base64Regex.test(str); +} + +/** + * 判断一个字符串是否为Base64编码的data URI。 + * Base64编码的data URI通常以"data:"开头,后面跟着MIME类型和编码信息,然后是Base64编码的数据。 + * @param {string} str - 要检查的字符串。 + * @returns {boolean} 如果字符串是Base64编码的data URI,返回true,否则返回false。 + */ +export function isBase64DataUri(str: string): boolean { + const dataUriRegex = /^data:([a-zA-Z]+\/[a-zA-Z0-9-+.]+)(;base64)?,([a-zA-Z0-9+/]+={0,2})$/; + return dataUriRegex.test(str); +} \ No newline at end of file diff --git a/uni_modules/lime-shared/isBrowser/index.ts b/uni_modules/lime-shared/isBrowser/index.ts new file mode 100644 index 0000000..6baee2b --- /dev/null +++ b/uni_modules/lime-shared/isBrowser/index.ts @@ -0,0 +1,8 @@ +// @ts-nocheck +// #ifdef WEB +export const isBrowser = typeof window !== 'undefined'; +// #endif + +// #ifndef WEB +export const isBrowser = false; +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/isDef/index.ts b/uni_modules/lime-shared/isDef/index.ts new file mode 100644 index 0000000..f8ca9bc --- /dev/null +++ b/uni_modules/lime-shared/isDef/index.ts @@ -0,0 +1,23 @@ +// @ts-nocheck +/** + * 检查一个值是否已定义(不为 undefined)且不为 null + * @param value 要检查的值 + * @returns 如果值已定义且不为 null,则返回 true;否则返回 false + */ +// #ifndef UNI-APP-X +export function isDef(value: unknown): boolean { + return value !== undefined && value !== null; +} +// #endif + + +// #ifdef UNI-APP-X +export function isDef(value : any|null) : boolean { + // #ifdef UNI-APP-X && APP + return value != null; + // #endif + // #ifndef UNI-APP-X && APP + return value != null && value != undefined; + // #endif +} +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/isEmpty/index.ts b/uni_modules/lime-shared/isEmpty/index.ts new file mode 100644 index 0000000..74dbc35 --- /dev/null +++ b/uni_modules/lime-shared/isEmpty/index.ts @@ -0,0 +1,83 @@ +// @ts-nocheck +import {isDef} from '../isDef' +import {isString} from '../isString' +import {isNumber} from '../isNumber' +/** + * 判断一个值是否为空。 + * + * 对于字符串,去除首尾空格后判断长度是否为0。 + * 对于数组,判断长度是否为0。 + * 对于对象,判断键的数量是否为0。 + * 对于null或undefined,直接返回true。 + * 其他类型(如数字、布尔值等)默认不为空。 + * + * @param {any} value - 要检查的值。 + * @returns {boolean} 如果值为空,返回true,否则返回false。 + */ + + +// #ifdef UNI-APP-X && APP +export function isEmpty(value : any | null) : boolean { + // 为null + if(!isDef(value)){ + return true + } + // 为空字符 + if(isString(value)){ + return value.toString().trim().length == 0 + } + // 为数值 + if(isNumber(value)){ + return false + } + + if(typeof value == 'object'){ + // 数组 + if(Array.isArray(value)){ + return (value as Array).length == 0 + } + // Map + if(value instanceof Map) { + return value.size == 0 + } + // Set + if(value instanceof Set) { + return value.size == 0 + } + if(value instanceof UTSJSONObject) { + return value.toMap().size == 0 + } + return JSON.stringify(value) == '{}' + } + + return true +} +// #endif + + +// #ifndef UNI-APP-X && APP +export function isEmpty(value: any): boolean { + // 检查是否为null或undefined + if (value == null) { + return true; + } + + // 检查字符串是否为空 + if (typeof value === 'string') { + return value.trim().length === 0; + } + + // 检查数组是否为空 + if (Array.isArray(value)) { + return value.length === 0; + } + + // 检查对象是否为空 + if (typeof value === 'object') { + return Object.keys(value).length === 0; + } + + // 其他类型(如数字、布尔值等)不为空 + return false; +} +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/isFunction/index.ts b/uni_modules/lime-shared/isFunction/index.ts new file mode 100644 index 0000000..12605c3 --- /dev/null +++ b/uni_modules/lime-shared/isFunction/index.ts @@ -0,0 +1,16 @@ +// @ts-nocheck +/** + * 检查一个值是否为函数类型 + * @param val 要检查的值 + * @returns 如果值的类型是函数类型,则返回 true;否则返回 false + */ + +// #ifdef UNI-APP-X && APP +export const isFunction = (val: any):boolean => typeof val == 'function'; + // #endif + + +// #ifndef UNI-APP-X && APP +export const isFunction = (val: unknown): val is Function => + typeof val === 'function'; +// #endif diff --git a/uni_modules/lime-shared/isNumber/index.ts b/uni_modules/lime-shared/isNumber/index.ts new file mode 100644 index 0000000..cf8dd9b --- /dev/null +++ b/uni_modules/lime-shared/isNumber/index.ts @@ -0,0 +1,26 @@ +// @ts-nocheck +/** + * 检查一个值是否为数字类型 + * @param value 要检查的值,可以是 number 类型或 string 类型的数字 + * @returns 如果值是数字类型且不是 NaN,则返回 true;否则返回 false + */ + +// #ifndef UNI-APP-X +export function isNumber(value: number | string | null): boolean { + return typeof value === 'number' && !isNaN(value); +} +// #endif + +// #ifdef UNI-APP-X +export function isNumber(value: any|null): boolean { + // #ifdef APP-ANDROID + return ['Byte', 'UByte','Short','UShort','Int','UInt','Long','ULong','Float','Double','number'].includes(typeof value) + // #endif + // #ifdef APP-IOS + return ['Int8', 'UInt8','Int16','UInt16','Int32','UInt32','Int64','UInt64','Int','UInt','Float','Float16','Float32','Float64','Double', 'number'].includes(typeof value) + // #endif + // #ifndef UNI-APP-X && APP + return typeof value === 'number' && !isNaN(value); + // #endif +} +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/isNumeric/index.ts b/uni_modules/lime-shared/isNumeric/index.ts new file mode 100644 index 0000000..af5020e --- /dev/null +++ b/uni_modules/lime-shared/isNumeric/index.ts @@ -0,0 +1,33 @@ +// @ts-nocheck + +/** + * 检查一个值是否为数字类型或表示数字的字符串 + * @param value 要检查的值,可以是 string 类型或 number 类型 + * @returns 如果值是数字类型或表示数字的字符串,则返回 true;否则返回 false + */ + +// #ifndef UNI-APP-X && APP +export function isNumeric(value: string | number | undefined | null): boolean { + return /^(-)?\d+(\.\d+)?$/.test(value); +} +// #endif + + +// #ifdef UNI-APP-X && APP +import {isNumber} from '../isNumber'; +import {isString} from '../isString'; +export function isNumeric(value : any|null) : boolean { + if(value == null) { + return false + } + if(isNumber(value)) { + return true + } else if(isString(value)) { + // const regex = "-?\\d+(\\.\\d+)?".toRegex() + const regex = new RegExp("^(-)?\\d+(\\.\\d+)?$") + return regex.test(value as string) //regex.matches(value as string) + } + return false + // return /^(-)?\d+(\.\d+)?$/.test(value); +} +// #endif diff --git a/uni_modules/lime-shared/isObject/index.ts b/uni_modules/lime-shared/isObject/index.ts new file mode 100644 index 0000000..d06c15b --- /dev/null +++ b/uni_modules/lime-shared/isObject/index.ts @@ -0,0 +1,19 @@ +// @ts-nocheck +/** + * 检查一个值是否为对象类型 + * @param val 要检查的值 + * @returns 如果值的类型是对象类型,则返回 true;否则返回 false + */ + +// #ifndef UNI-APP-X && APP +export const isObject = (val : unknown) : val is Record => + val !== null && typeof val === 'object'; + +// #endif + + +// #ifdef UNI-APP-X && APP +export const isObject = (val : any | null) : boolean =>{ + return val !== null && typeof val === 'object'; +} +// #endif diff --git a/uni_modules/lime-shared/isPromise/index.ts b/uni_modules/lime-shared/isPromise/index.ts new file mode 100644 index 0000000..b13c10b --- /dev/null +++ b/uni_modules/lime-shared/isPromise/index.ts @@ -0,0 +1,22 @@ +// @ts-nocheck +import {isFunction} from '../isFunction' +import {isObject} from '../isObject' +/** + * 检查一个值是否为 Promise 类型 + * @param val 要检查的值 + * @returns 如果值的类型是 Promise 类型,则返回 true;否则返回 false + */ +// #ifndef APP-ANDROID +export const isPromise = (val: unknown): val is Promise => { + // 使用 isObject 函数判断值是否为对象类型 + // 使用 isFunction 函数判断值是否具有 then 方法和 catch 方法 + return isObject(val) && isFunction(val.then) && isFunction(val.catch); +}; +// #endif + + +// #ifdef APP-ANDROID +export const isPromise = (val: any): boolean => { + return val instanceof Promise +}; +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/isString/index.ts b/uni_modules/lime-shared/isString/index.ts new file mode 100644 index 0000000..143f876 --- /dev/null +++ b/uni_modules/lime-shared/isString/index.ts @@ -0,0 +1,19 @@ +// @ts-nocheck +/** + * 检查一个值是否为字符串类型 + * @param str 要检查的值 + * @returns 如果值的类型是字符串类型,则返回 true;否则返回 false + */ +// #ifndef UNI-APP-X && APP +// export const isString = (str: unknown): str is string => typeof str === 'string'; +export function isString (str: unknown): str is string { + return typeof str == 'string' +} +// #endif + + +// #ifdef UNI-APP-X && APP +export function isString (str: any|null): boolean { + return typeof str == 'string' +} +// #endif diff --git a/uni_modules/lime-shared/kebabCase/index.ts b/uni_modules/lime-shared/kebabCase/index.ts new file mode 100644 index 0000000..114c52c --- /dev/null +++ b/uni_modules/lime-shared/kebabCase/index.ts @@ -0,0 +1,24 @@ +// @ts-nocheck +// export function toLowercaseSeparator(key: string) { +// return key.replace(/([A-Z])/g, '-$1').toLowerCase(); +// } + +/** + * 将字符串转换为指定连接符的命名约定 + * @param str 要转换的字符串 + * @param separator 指定的连接符,默认为 "-" + * @returns 转换后的字符串 + */ +export function kebabCase(str : string, separator : string = "-") : string { + return str + + // #ifdef UNI-APP-X && APP + .replace(/[A-Z]/g, (match : string, _ : number, _ : string) : string => `${separator}${match.toLowerCase()}`) // 将大写字母替换为连接符加小写字母 + // #endif + // #ifndef UNI-APP-X && APP + .replace(/[A-Z]/g, (match : string) : string => `${separator}${match.toLowerCase()}`) // 将大写字母替换为连接符加小写字母 + // #endif + .replace(/[\s_-]+/g, separator) // 将空格、下划线和短横线替换为指定连接符 + .replace(new RegExp(`^${separator}|${separator}$`, "g"), "") // 删除开头和结尾的连接符 + .toLowerCase(); // 将结果转换为全小写 +} \ No newline at end of file diff --git a/uni_modules/lime-shared/obj2url/index.ts b/uni_modules/lime-shared/obj2url/index.ts new file mode 100644 index 0000000..518af60 --- /dev/null +++ b/uni_modules/lime-shared/obj2url/index.ts @@ -0,0 +1,11 @@ +// @ts-nocheck +// #ifndef UNI-APP-X +type UTSJSONObject = Record +// #endif +export function obj2url(data: UTSJSONObject, isPrefix: boolean = false): string { + const prefix = isPrefix ? '?' : ''; + const _result = []; + + + +} \ No newline at end of file diff --git a/uni_modules/lime-shared/package.json b/uni_modules/lime-shared/package.json new file mode 100644 index 0000000..7dd9a97 --- /dev/null +++ b/uni_modules/lime-shared/package.json @@ -0,0 +1,87 @@ +{ + "id": "lime-shared", + "displayName": "lime-shared", + "version": "0.2.9", + "description": "本人插件的几个公共函数,获取当前页,图片的base64转临时路径,图片的exif信息等", + "keywords": [ + "lime-shared", + "exif" +], + "repository": "", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "type": "sdk-js", + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "" + }, + "uni_modules": { + "dependencies": [ + + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "Vue": { + "vue2": "y", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-uvue": "y", + "app-nvue": "y", + "app-harmony": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "u", + "Edge": "u", + "Firefox": "u", + "Safari": "u" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "钉钉": "y", + "快手": "y", + "飞书": "y", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/lime-shared/pathToBase64/index.ts b/uni_modules/lime-shared/pathToBase64/index.ts new file mode 100644 index 0000000..af9a9d2 --- /dev/null +++ b/uni_modules/lime-shared/pathToBase64/index.ts @@ -0,0 +1,9 @@ +// @ts-nocheck +// #ifndef UNI-APP-X && APP +export * from './vue.ts' +// #endif + + +// #ifdef UNI-APP-X && APP +export * from './uvue.uts' +// #endif diff --git a/uni_modules/lime-shared/pathToBase64/uvue.uts b/uni_modules/lime-shared/pathToBase64/uvue.uts new file mode 100644 index 0000000..d5bbdb1 --- /dev/null +++ b/uni_modules/lime-shared/pathToBase64/uvue.uts @@ -0,0 +1,17 @@ +// @ts-nocheck +// import { processFile, ProcessFileOptions } from '@/uni_modules/lime-file-utils' +export function pathToBase64(path : string) : Promise { + console.error('pathToBase64: 当前环境不支持,请使用 【lime-file-utils】') + // return new Promise((resolve, reject) => { + // processFile({ + // type: 'toDataURL', + // path, + // success(res : string) { + // resolve(res) + // }, + // fail(err: any){ + // reject(err) + // } + // } as ProcessFileOptions) + // }) +} \ No newline at end of file diff --git a/uni_modules/lime-shared/pathToBase64/vue.ts b/uni_modules/lime-shared/pathToBase64/vue.ts new file mode 100644 index 0000000..8167f88 --- /dev/null +++ b/uni_modules/lime-shared/pathToBase64/vue.ts @@ -0,0 +1,121 @@ +// @ts-nocheck + +// #ifdef APP-PLUS +import { getLocalFilePath } from '../getLocalFilePath' +// #endif +function isImage(extension : string) { + const imageExtensions = ["jpg", "jpeg", "png", "gif", "bmp", "svg"]; + return imageExtensions.includes(extension.toLowerCase()); +} +// #ifdef H5 +function getSVGFromURL(url: string) { + return new Promise((resolve, reject) => { + const xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'text'; + + xhr.onload = function () { + if (xhr.status === 200) { + const svg = xhr.responseText; + resolve(svg); + } else { + reject(new Error(xhr.statusText)); + } + }; + + xhr.onerror = function () { + reject(new Error('Network error')); + }; + + xhr.send(); + }); +} +// #endif +/** + * 路径转base64 + * @param {Object} string + */ +export function pathToBase64(path : string) : Promise { + if (/^data:/.test(path)) return path + let extension = path.substring(path.lastIndexOf('.') + 1); + const isImageFile = isImage(extension) + let prefix = '' + if (isImageFile) { + prefix = 'image/'; + if(extension == 'svg') { + extension += '+xml' + } + } else if (extension === 'pdf') { + prefix = 'application/pdf'; + } else if (extension === 'txt') { + prefix = 'text/plain'; + } else { + // 添加更多文件类型的判断 + // 如果不是图片、PDF、文本等类型,可以设定默认的前缀或采取其他处理 + prefix = 'application/octet-stream'; + } + return new Promise((resolve, reject) => { + // #ifdef H5 + if (isImageFile) { + if(extension == 'svg') { + getSVGFromURL(path).then(svg => { + const base64 = btoa(svg); + resolve(`data:image/svg+xml;base64,${base64}`); + }) + } else { + let image = new Image(); + image.setAttribute("crossOrigin", 'Anonymous'); + image.onload = function () { + let canvas = document.createElement('canvas'); + canvas.width = this.naturalWidth; + canvas.height = this.naturalHeight; + canvas.getContext('2d').drawImage(image, 0, 0); + let result = canvas.toDataURL(`${prefix}${extension}`) + resolve(result); + canvas.height = canvas.width = 0 + } + image.src = path + '?v=' + Math.random() + image.onerror = (error) => { + reject(error); + }; + } + + } else { + reject('not image'); + } + + // #endif + + // #ifdef MP + if (uni.canIUse('getFileSystemManager')) { + uni.getFileSystemManager().readFile({ + filePath: path, + encoding: 'base64', + success: (res) => { + resolve(`data:${prefix}${extension};base64,${res.data}`) + }, + fail: (error) => { + console.error({ error, path }) + reject(error) + } + }) + } + // #endif + + // #ifdef APP-PLUS + plus.io.resolveLocalFileSystemURL(getLocalFilePath(path), (entry) => { + entry.file((file : any) => { + const fileReader = new plus.io.FileReader() + fileReader.onload = (data) => { + resolve(data.target.result) + } + fileReader.onerror = (error) => { + console.error({ error, path }) + reject(error) + } + fileReader.readAsDataURL(file) + }, reject) + }, reject) + // #endif + }) +} \ No newline at end of file diff --git a/uni_modules/lime-shared/platform/index.ts b/uni_modules/lime-shared/platform/index.ts new file mode 100644 index 0000000..55fd412 --- /dev/null +++ b/uni_modules/lime-shared/platform/index.ts @@ -0,0 +1,34 @@ +// @ts-nocheck +export function getPlatform():Uni { + // #ifdef MP-WEIXIN + return wx + // #endif + // #ifdef MP-BAIDU + return swan + // #endif + // #ifdef MP-ALIPAY + return my + // #endif + // #ifdef MP-JD + return jd + // #endif + // #ifdef MP-QQ + return qq + // #endif + // #ifdef MP-360 + return qh + // #endif + // #ifdef MP-KUAISHOU + return ks + // #endif + // #ifdef MP-LARK||MP-TOUTIAO + return tt + // #endif + // #ifdef MP-DINGTALK + return dd + // #endif + // #ifdef QUICKAPP-WEBVIEW || QUICKAPP-WEBVIEW-UNION || QUICKAPP-WEBVIEW-HUAWEI + return qa + // #endif + return uni +} \ No newline at end of file diff --git a/uni_modules/lime-shared/raf/index.ts b/uni_modules/lime-shared/raf/index.ts new file mode 100644 index 0000000..d9b2cdf --- /dev/null +++ b/uni_modules/lime-shared/raf/index.ts @@ -0,0 +1,10 @@ +// @ts-nocheck + +// #ifdef UNI-APP-X && APP +export * from './uvue' +// #endif + + +// #ifndef UNI-APP-X && APP +export * from './vue' +// #endif diff --git a/uni_modules/lime-shared/raf/uvue.ts b/uni_modules/lime-shared/raf/uvue.ts new file mode 100644 index 0000000..1b0d9f2 --- /dev/null +++ b/uni_modules/lime-shared/raf/uvue.ts @@ -0,0 +1,48 @@ +// @ts-nocheck +// 是否支持被动事件监听 +export const supportsPassive = true; + +// #ifdef uniVersion < 4.25 +// 请求动画帧 +export function raf(fn: TimerCallback): number { + return setTimeout(fn, 1000 / 60); +} + +// 取消动画帧 +export function cancelRaf(id: number) { + clearTimeout(id); +} + + +// 双倍动画帧 +export function doubleRaf(fn: TimerCallback): void { + raf(():number => raf(fn)); // 在下一帧回调中再次请求动画帧,实现双倍动画帧效果 +} +// #endif + + +// #ifdef uniVersion >= 4.25 +// 请求动画帧 +export function raf(fn: UniAnimationFrameCallback): number +export function raf(fn: UniAnimationFrameCallbackWithNoArgument): number +export function raf(fn: any): number { + if(typeof fn == 'UniAnimationFrameCallback') { + return requestAnimationFrame(fn as UniAnimationFrameCallback); + } else { + return requestAnimationFrame(fn as UniAnimationFrameCallbackWithNoArgument); + } +} + +// 取消动画帧 +export function cancelRaf(id: number) { + cancelAnimationFrame(id); +} + +// 双倍动画帧 +export function doubleRaf(fn: UniAnimationFrameCallback): void +export function doubleRaf(fn: UniAnimationFrameCallbackWithNoArgument): void +export function doubleRaf(fn: any): void { + raf(():number => raf(fn)); // 在下一帧回调中再次请求动画帧,实现双倍动画帧效果 +} +// #endif + diff --git a/uni_modules/lime-shared/raf/vue.ts b/uni_modules/lime-shared/raf/vue.ts new file mode 100644 index 0000000..98a364e --- /dev/null +++ b/uni_modules/lime-shared/raf/vue.ts @@ -0,0 +1,32 @@ +// @ts-nocheck +type Callback = () => void//Function +// 是否支持被动事件监听 +export const supportsPassive = true; + +// 请求动画帧 +export function raf(fn : Callback) : number { + // #ifndef WEB + return setTimeout(fn, 1000 / 60); // 请求动画帧 + // #endif + // #ifdef WEB + return requestAnimationFrame(fn); // 请求动画帧 + // #endif +} + +// 取消动画帧 +export function cancelRaf(id : number) { + // 如果是在浏览器环境下,使用 cancelAnimationFrame 方法 + // #ifdef WEB + cancelAnimationFrame(id); // 取消动画帧 + // #endif + // #ifndef WEB + clearTimeout(id); // 取消动画帧 + // #endif +} + +// 双倍动画帧 +export function doubleRaf(fn : Callback) : void { + raf(() => { + raf(fn) + }); // 在下一帧回调中再次请求动画帧,实现双倍动画帧效果 +} \ No newline at end of file diff --git a/uni_modules/lime-shared/random/index.ts b/uni_modules/lime-shared/random/index.ts new file mode 100644 index 0000000..49a21ed --- /dev/null +++ b/uni_modules/lime-shared/random/index.ts @@ -0,0 +1,24 @@ +// @ts-nocheck +/** + * 生成一个指定范围内的随机数 + * @param min 随机数的最小值 + * @param max 随机数的最大值 + * @param fixed 随机数的小数位数,默认为 0 + * @returns 生成的随机数 + */ + +export function random(min: number, max: number, fixed: number = 0):number { + // 将 min 和 max 转换为数字类型 + // min = +min || 0; + // max = +max || 0; + // 计算随机数范围内的一个随机数 + const num = Math.random() * (max - min) + min; + // 如果 fixed 参数为 0,则返回四舍五入的整数随机数;否则保留固定小数位数 + // Number + return fixed == 0 ? Math.round(num) : parseFloat(num.toFixed(fixed)); +} + +// 示例 +// console.log(random(0, 10)); // 输出:在 0 和 10 之间的一个整数随机数 +// console.log(random(0, 1, 2)); // 输出:在 0 和 1 之间的一个保留两位小数的随机数 +// console.log(random(1, 100, 3)); // 输出:在 1 和 100 之间的一个保留三位小数的随机数 \ No newline at end of file diff --git a/uni_modules/lime-shared/range/index.ts b/uni_modules/lime-shared/range/index.ts new file mode 100644 index 0000000..483b7d1 --- /dev/null +++ b/uni_modules/lime-shared/range/index.ts @@ -0,0 +1,36 @@ +// @ts-nocheck +/** + * 生成一个数字范围的数组 + * @param start 范围的起始值 + * @param end 范围的结束值 + * @param step 步长,默认为 1 + * @param fromRight 是否从右侧开始生成,默认为 false + * @returns 生成的数字范围数组 + */ +export function range(start : number, end : number, step : number = 1, fromRight : boolean = false) : number[] { + let index = -1; + // 计算范围的长度 + let length = Math.max(Math.ceil((end - start) / step), 0); + // 创建一个长度为 length 的数组 + // #ifdef APP-ANDROID + const result = Array.fromNative(new IntArray(length.toInt())); + // #endif + // #ifndef APP-ANDROID + const result = new Array(length); + // #endif + + // 使用循环生成数字范围数组 + let _start = start + while (length-- > 0) { + // 根据 fromRight 参数决定从左侧还是右侧开始填充数组 + result[fromRight ? length : ++index] = _start; + _start += step; + } + return result; +} + + +// 示例 +// console.log(range(0, 5)); // 输出: [0, 1, 2, 3, 4] +// console.log(range(1, 10, 2, true)); // 输出: [9, 7, 5, 3, 1] +// console.log(range(5, 0, -1)); // 输出: [5, 4, 3, 2, 1] \ No newline at end of file diff --git a/uni_modules/lime-shared/readme.md b/uni_modules/lime-shared/readme.md new file mode 100644 index 0000000..de213cf --- /dev/null +++ b/uni_modules/lime-shared/readme.md @@ -0,0 +1,464 @@ +# lime-shared 工具库 +- 本人插件的几个公共函数 +- 按需引入 + +## 安装 +在插件市场导入即可 + +## 文档 +[shared](https://limex.qcoon.cn/shared/overview.html) + +## 使用 +按需引入只会引入相关的方法,不要看着 插件函数列表多 而占空间,只要不引用不会被打包 +```js +import {getRect} from '@/uni_modules/lime-shared/getRect' +``` + +## 目录 ++ [getRect](#api_getRect): 获取节点尺寸信息 ++ [addUnit](#api_addUnit): 将未带单位的数值添加px,如果有单位则返回原值 ++ [unitConvert](#api_unitConvert): 将带有rpx|px的字符转成number,若本身是number则直接返回 ++ [canIUseCanvas2d](#api_canIUseCanvas2d): 环境是否支持使用 canvas 2d ++ [getCurrentPage](#api_getCurrentPage): 获取当前页 ++ [base64ToPath](#api_base64ToPath): 把base64的图片转成临时路径 ++ [pathToBase64](#api_pathToBase64): 把图片的临时路径转成base64 ++ [sleep](#api_sleep): async 内部程序等待一定时间后再执行 ++ [throttle](#api_throttle): 节流 ++ [debounce](#api_debounce): 防抖 ++ [random](#api_random): 返回指定范围的随机数 ++ [range](#api_range): 生成区间数组 ++ [clamp](#api_clamp): 夹在min和max之间的数值 ++ [floatAdd](#api_floatAdd): 返回两个浮点数相加的结果 ++ [fillZero](#api_fillZero): 补零,如果传入的是个位数则在前面补0 ++ [exif](#api_exif): 获取图片exif ++ [selectComponent](#api_selectComponent): 获取页面或当前实例的指定组件 ++ [createAnimation](#api_createAnimation): uni.createAnimation ++ [animation](#api_animation): 数值从一个值到另一个值的过渡 ++ [camelCase](#api_camelCase): 字符串转换为 camelCase 或 PascalCase 风格的命名约定 ++ [kebabCase](#api_kebabCase): 将字符串转换为指定连接符的命名约定 ++ [closest](#api_closest): 在给定数组中找到最接近目标数字的元素 ++ [shuffle](#api_shuffle): 将给定的数组打乱 ++ [isBase64](#api_isBase64): 判断字符串是否为base64 ++ [isNumber](#api_isNumber): 检查一个值是否为数字类型 ++ [isNumeric](#api_isNumeric): 检查一个值是否为数字类型或表示数字的字符串 ++ [isString](#api_isString): 检查一个值是否为字符串类型 ++ [composition-api](#api_composition-api): 为兼容vue2 + +## Utils + + +### getRect +- 返回节点尺寸信息 + +```js +// 组件内需要传入上下文 +// 如果是nvue 则需要在节点上加与id或class同名的ref +getRect('#id',this).then(res => {}) +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + + +### addUnit +- 将未带单位的数值添加px,如果有单位则返回原值 + +```js +addUnit(10) +// 10px +``` + +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + + +### unitConvert +- 将带有rpx|px的字符转成number,若本身是number则直接返回 + +```js +unitConvert('10rpx') +// 5 设备不同 返回的值也不同 +unitConvert('10px') +// 10 +unitConvert(10) +// 10 +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + +### canIUseCanvas2d +- 环境是否支持使用 canvas 2d + +```js +canIUseCanvas2d() +// 若支持返回 true 否则 false +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + +### getCurrentPage +- 获取当前页 + +```js +const page = getCurrentPage() +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + +### base64ToPath +- 把base64的图片转成临时路径 + +```js +base64ToPath(`xxxxx`).then(res => {}) +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + +### pathToBase64 +- 把图片的临时路径转成base64 + +```js +pathToBase64(`xxxxx/xxx.png`).then(res => {}) +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + +### sleep +- 睡眠,让 async 内部程序等待一定时间后再执行 + +```js +async next () => { + await sleep(300) + console.log('limeui'); +} +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + +### throttle +- 节流 + +```js +throttle((nama) => {console.log(nama)}, 200)('limeui'); +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + +### debounce +- 防抖 + +```js +debounce((nama) => {console.log(nama)}, 200)('limeui'); +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + +### random +- 返回指定范围的随机数 + +```js +random(1, 5); +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + +### range +- 生成区间数组 + +```js +range(0, 5) +// [0,1,2,3,4,5] +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + +### clamp +- 夹在min和max之间的数值,如小于min,返回min, 如大于max,返回max,否侧原值返回 + +```js +clamp(0, 10, -1) +// 0 +clamp(0, 10, 11) +// 10 +clamp(0, 10, 9) +// 9 +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + +### floatAdd +- 返回两个浮点数相加的结果 + +```js +floatAdd(0.1, 0.2) // 0.3 +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + +### fillZero +- 补零,如果传入的是`个位数`则在前面补0 + +```js +fillZero(9); +// 09 +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + +### exif +- 获取图片exif +- 支持临时路径、base64 + +```js +uni.chooseImage({ + count: 1, //最多可以选择的图片张数 + sizeType: "original", + success: (res) => { + exif.getData(res.tempFiles[0], function() { + let tagj = exif.getTag(this, "GPSLongitude"); + let Orientation = exif.getTag(this, 'Orientation'); + console.log(tagj, Orientation) + }) + } +}) +``` + +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | x | + + +### selectComponent +- 获取页面或当前实例的指定组件,会在页面或实例向所有的节点查找(包括子组件或子子组件) +- 仅vue3,vue2没有测试过 + +```js +// 当前页面 +const page = getCurrentPage() +selectComponent('.custom', {context: page}).then(res => { +}) +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | x | + + + +### createAnimation +- 创建动画,与uni.createAnimation使用方法一致,只为了抹平nvue + +```html + +``` +```js +const ball = ref(null) +const animation = createAnimation({ + transformOrigin: "50% 50%", + duration: 1000, + timingFunction: "ease", + delay: 0 +}) + +animation.scale(2,2).rotate(45).step() +// nvue 无导出数据,这样写只为了平台一致, +// nvue 需要把 ref 传入,其它平台不需要 +const animationData = animation.export(ball.value) +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + +### camelCase +- 将字符串转换为 camelCase 或 PascalCase 风格的命名约定 + +```js +camelCase("hello world") // helloWorld +camelCase("hello world", true) // HelloWorld +``` + +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + +### kebabCase +- 将字符串转换为指定连接符的命名约定 + +```js +kebabCase("helloWorld") // hello-world +kebabCase("hello world_example") // hello-world-example +kebabCase("helloWorld", "_") // hello_world +``` + +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + + +### closest +- 在给定数组中找到最接近目标数字的元素 + +```js +closest([1, 3, 5, 7, 9], 6) // 5 +``` + +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + +### shuffle +- 在给定数组中找到最接近目标数字的元素 + +```js +shuffle([1, 3, 5, 7, 9]) +``` + +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + +### isBase64 +- 判断字符串是否为base64 + +```js +isBase64('xxxxx') +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + +### isNumber +- 检查一个值是否为数字类型 + +```js +isNumber('0') // false +isNumber(0) // true +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + +### isNumeric +- 检查一个值是否为数字类型或表示数字的字符串 + +```js +isNumeric('0') // true +isNumeric(0) // true +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + +### isString +- 检查一个值是否为数字类型或表示数字的字符串 + +```js +isString('0') // true +isString(0) // false +``` +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | √ | + + + + +## composition-api +- 因本人插件需要兼容vue2/vue3,故增加一个vue文件,代替条件编译 +- vue2需要在main.js加上这一段 +```js +// vue2 +import Vue from 'vue' +import VueCompositionAPI from '@vue/composition-api' +Vue.use(VueCompositionAPI) +``` + +```js +//使用 +import {computed, onMounted, watch, reactive} from '@/uni_modules/lime-shared/vue' +``` + +##### 兼容性 +| uni-app | uni-app x | +|------------|----------------------------------| +| √ | x | diff --git a/uni_modules/lime-shared/selectAllComponent/index.ts b/uni_modules/lime-shared/selectAllComponent/index.ts new file mode 100644 index 0000000..17c3a3c --- /dev/null +++ b/uni_modules/lime-shared/selectAllComponent/index.ts @@ -0,0 +1,8 @@ +// @ts-nocheck +// #ifdef UNI-APP-X +export * from './uvue.uts' +// #endif + +// #ifndef UNI-APP-X +export * from './vue.ts' +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/selectAllComponent/uvue.uts b/uni_modules/lime-shared/selectAllComponent/uvue.uts new file mode 100644 index 0000000..07c9fcd --- /dev/null +++ b/uni_modules/lime-shared/selectAllComponent/uvue.uts @@ -0,0 +1,39 @@ +// @ts-nocheck +import { type ComponentPublicInstance } from 'vue'; + +type SelectOptions = { + context : ComponentPublicInstance, + needAll : boolean | null, + +} + +export function selectAllComponent(selector : string, options : UTSJSONObject) : ComponentPublicInstance[]|null { + const context = options.get('context')! as ComponentPublicInstance; + let needAll = options.get('needAll') as boolean; + let result:ComponentPublicInstance[] = [] + + if(needAll == null) { needAll = true }; + + if(context.$children.length > 0) { + const queue:ComponentPublicInstance[] = [...context.$children]; + while(queue.length > 0) { + const child = queue.shift(); + const name = child?.$options?.name; + if(name == selector) { + result.push(child as ComponentPublicInstance) + } else { + const children = child?.$children + if(children !== null) { + queue.push(...children) + } + } + if(result.length > 0 && !needAll) { + break; + } + } + } + if(result.length > 0) { + return result + } + return null +} \ No newline at end of file diff --git a/uni_modules/lime-shared/selectAllComponent/vue.ts b/uni_modules/lime-shared/selectAllComponent/vue.ts new file mode 100644 index 0000000..380bd7a --- /dev/null +++ b/uni_modules/lime-shared/selectAllComponent/vue.ts @@ -0,0 +1,151 @@ +// @ts-nocheck +interface SelectOptions { + context?: any + needAll?: boolean + node?: boolean +} +// #ifdef MP +function selectMPComponent(key: string, name: string, context: any, needAll: boolean) { + const {proxy, $vm} = context + context = $vm || proxy + if(!['ref','component'].includes(key)) { + const queue = [context] + let result = null + const selector = (key == 'id' ? '#': '.') + name; + while(queue.length > 0) { + const child = queue.shift(); + const flag = child?.selectComponent(selector) + if(flag) { + if(!needAll) {return result = flag.$vm} + return result = child.selectAllComponents(selector).map(item => item.$vm) + } else { + child.$children && (queue.push(...child.$children)); + } + } + return result + } else { + const {$templateRefs} = context.$ + const nameMap = {} + for (var i = 0; i < $templateRefs.length; i++) { + const item = $templateRefs[i] + nameMap[item.i] = item.r + } + let result = [] + if(context.$children.length) { + const queue = [...context.$children] + while(queue.length > 0) { + const child = queue.shift(); + if(key == 'component' && (child.type?.name === name || child.$?.type?.name === name)) { + result.push(child) + } else if(child.$refs && child.$refs[name]) { + result = child.$refs[name] + } else if(nameMap[child.id] === name){ + result.push(child) + } else { + child.$children && (queue.push(...child.$children)); + } + if(result.length && !needAll) { + return; + } + } + } + return needAll ? result : result[0] + } +} +// #endif +// #ifdef H5 +function selectH5Component(key: string, name: string, context: any, needAll: boolean) { + const {_, component } = context + const child = {component: _ || component || context, children: null , subTree: null, props: null} + let result = [] + let queue = [child] + while(queue.length > 0 ) { + const child = queue.shift() + const {component, children , props, subTree} = child + if(key === 'component' && component?.type?.name == name) { + result.push(component) + } else if(key === 'ref' && component && (props?.ref == name || component[key][name])) { + if(props?.ref == name) { + //exposed + result.push(component) + } else if(component[key][name]) { + result.push(component[key][name]) + } + } else if(key !== 'ref' && component?.exposed && new RegExp(`\\b${name}\\b`).test(component.attrs[key])) { + // exposed + result.push(component) + } else if(children && Array.isArray(children)) { + queue.push(...children) + } else if(!component && subTree) { + queue.push(subTree) + } else if(component?.subTree) { + queue.push(component.subTree) + } + if(result.length && !needAll) { + break + } + } + return needAll ? result : result[0] +} +// #endif +// #ifdef APP +function selectAPPComponent(key: string, name: string, context: any, needAll: boolean, node: boolean) { + let result = [] + // const {_, component} = context + // const child = {component: _ || component || context, children: null, props: null, subTree: null} + const queue = [context] + while(queue.length > 0) { + const child = queue.shift() + const {component, children, props, subTree} = child + const isComp = component && props && component.exposed && !node + if(key == 'component' && child.type && child.type.name === name) { + result.push(component) + } else if(props?.[key] === name && node) { + result.push(child) + } else if(key === 'ref' && isComp && (props.ref === name || props.ref_key === name)) { + // exposed + result.push(component) + } else if(key !== 'ref' && isComp && new RegExp(`\\b${name}\\b`).test(props[key])) { + // exposed + result.push(component) + } + // else if(component && component.subTree && Array.isArray(component.subTree.children)){ + // queue.push(...component.subTree.children) + // } + else if(subTree) { + queue.push(subTree) + } else if(component && component.subTree){ + queue.push(component.subTree) + } + else if(children && Array.isArray(children)) { + queue.push(...children) + } + if(result.length && !needAll) { + break; + } + } + return needAll ? result : result[0] +} +// #endif +export function selectAllComponent(selector: string, options: SelectOptions = {}) { + // . class + // # id + // $ ref + // @ component name + const reg = /^(\.|#|@|\$)([a-zA-Z_0-9\-]+)$/; + if(!reg.test(selector)) return null + let { context, needAll = true, node} = options + const [,prefix, name] = selector.match(reg) + const symbolMappings = {'.': 'class', '#': 'id', '$':'ref', '@':'component'} + + const key = symbolMappings [prefix] //prefix === '.' ? 'class' : prefix === '#' ? 'id' : 'ref'; + // #ifdef MP + return selectMPComponent(key, name, context, needAll) + // #endif + // #ifdef H5 + return selectH5Component(key, name, context, needAll) + // #endif + // #ifdef APP + return selectAPPComponent(key, name, context, needAll, node) + // #endif +} \ No newline at end of file diff --git a/uni_modules/lime-shared/selectComponent/index.ts b/uni_modules/lime-shared/selectComponent/index.ts new file mode 100644 index 0000000..52454fb --- /dev/null +++ b/uni_modules/lime-shared/selectComponent/index.ts @@ -0,0 +1,7 @@ +// @ts-nocheck +// #ifndef UNI-APP-X +export * from './vue.ts' +// #endif +// #ifdef UNI-APP-X +export * from './uvue.uts' +// #endif \ No newline at end of file diff --git a/uni_modules/lime-shared/selectComponent/uvue.uts b/uni_modules/lime-shared/selectComponent/uvue.uts new file mode 100644 index 0000000..c2aa2bc --- /dev/null +++ b/uni_modules/lime-shared/selectComponent/uvue.uts @@ -0,0 +1,75 @@ +// @ts-nocheck +import { type ComponentPublicInstance } from 'vue'; +// #ifdef APP +function findChildren(selector: string, context: ComponentPublicInstance, needAll: boolean): ComponentPublicInstance [] | null{ + let result:ComponentPublicInstance[] = [] + + if(context !== null && context.$children.length > 0) { + const queue:ComponentPublicInstance[] = [...context.$children]; + while(queue.length > 0) { + const child = queue.shift(); + const name = child?.$options?.name; + if(name == selector) { + result.push(child as ComponentPublicInstance) + } else { + const children = child?.$children + if(children !== null) { + queue.push(...children) + } + } + if(result.length > 0 && !needAll) { + break; + } + } + } + if(result.length > 0) { + return result + } + return null +} + +class Query { + context : ComponentPublicInstance | null = null + selector : string = '' + // components : ComponentPublicInstance[] = [] + constructor(selector : string, context : ComponentPublicInstance | null) { + this.selector = selector + this.context = context + } + in(context : ComponentPublicInstance) : Query { + return new Query(this.selector, context) + } + find(): ComponentPublicInstance | null { + const selector = this.selector + if(selector == '') return null + const component = findChildren(selector, this.context!, false) + return component != null ? component[0]: null + } + findAll():ComponentPublicInstance[] | null { + const selector = this.selector + if(selector == '') return null + return findChildren(selector, this.context!, true) + } + closest(): ComponentPublicInstance | null { + const selector = this.selector + if(selector == '') return null + let parent = this.context!.$parent + let name = parent?.$options?.name; + while (parent != null && (name == null || selector != name)) { + parent = parent.$parent + if (parent != null) { + name = parent.$options.name + } + } + return parent + } +} + +export function selectComponent(selector: string): Query{ + return new Query(selector, null) +} +// #endif + +// selectComponent('selector').in(this).find() +// selectComponent('selector').in(this).findAll() +// selectComponent('selector').in(this).closest() diff --git a/uni_modules/lime-shared/selectComponent/vue.ts b/uni_modules/lime-shared/selectComponent/vue.ts new file mode 100644 index 0000000..9fca0cd --- /dev/null +++ b/uni_modules/lime-shared/selectComponent/vue.ts @@ -0,0 +1,149 @@ +// @ts-nocheck +// #ifdef MP +function findChildren(selector : string, context : ComponentPublicInstance, needAll : boolean) { + const { proxy, $vm } = context + context = $vm || proxy + if ((selector.startsWith('.') || selector.startsWith('#'))) { + const queue = [context] + let result = null + while (queue.length > 0) { + const child = queue.shift(); + const flag = child?.selectComponent(selector) + if (flag) { + if (!needAll) { return result = flag.$vm } + return result = child.selectAllComponents(selector).map(item => item.$vm) + } else { + child.$children && (queue.push(...child.$children)); + } + } + return result + } else { + const { $templateRefs } = context.$ + const selectorValue = /#|\.|@|$/.test(selector) ? selector.substring(1) : selector + const nameMap = {} + for (var i = 0; i < $templateRefs.length; i++) { + const item = $templateRefs[i] + nameMap[item.i] = item.r + } + let result = [] + if (context.$children.length) { + const queue = [...context.$children] + while (queue.length > 0) { + const child = queue.shift(); + if (child.type?.name === selectorValue || child.$?.type?.name === selectorValue) { + result.push(child) + } else if (child.$refs && child.$refs[selectorValue]) { + result = child.$refs[selectorValue] + } else if (nameMap[child.id] === selectorValue) { + result.push(child) + } else { + child.$children && (queue.push(...child.$children)); + } + if (result.length && !needAll) { + return; + } + } + } + return needAll ? result : result[0] + } +} +// #endif + +// #ifdef H5 +function findChildren(selector : string, context : ComponentPublicInstance, needAll : boolean){ + const {_, component } = context + const child = {component: _ || component || context, children: null , subTree: null, props: null} + let result = [] + let queue = [child] + const selectorValue = /#|\.|@|$/.test(selector) ? selector.substring(1) : selector + while(queue.length > 0 ) { + const child = queue.shift() + const {component, children , props, subTree} = child + if(component?.type?.name == selectorValue) { + result.push(component) + } else if(selector.startsWith('$') && component && (props?.ref == selectorValue || component[key][selectorValue])) { + if(props?.ref == selectorValue) { + //exposed + result.push(component) + } else if(component[key][selectorValue]) { + result.push(component[key][selectorValue]) + } + } else if(!selector.startsWith('$') && component?.exposed && new RegExp(`\\b${selectorValue}\\b`).test(component.attrs[key])) { + // exposed + result.push(component) + } else if(children && Array.isArray(children)) { + queue.push(...children) + } else if(!component && subTree) { + queue.push(subTree) + } else if(component?.subTree) { + queue.push(component.subTree) + } + if(result.length && !needAll) { + break + } + } + return needAll ? result : result[0] +} +// #endif + +// #ifdef APP +function findChildren(selector : string, context : ComponentPublicInstance, needAll : boolean){ + let result = [] + const selectorValue = /#|\.|@|$/.test(selector) ? selector.substring(1) : selector + const queue = [context] + while(queue.length > 0) { + const child = queue.shift() + const {component, children, props, subTree} = child + const isComp = component && props && component.exposed && !node + if(child.type && child.type.name === selectorValue) { + result.push(component) + } else if(props?.[key] === selectorValue && node) { + result.push(child) + } else if(selector.startsWith('$') && isComp && (props.ref === selectorValue || props.ref_key === selectorValue)) { + // exposed + result.push(component) + } else if(!selector.startsWith('$') && isComp && new RegExp(`\\b${selectorValue}\\b`).test(props[key])) { + // exposed + result.push(component) + } + else if(subTree) { + queue.push(subTree) + } else if(component && component.subTree){ + queue.push(component.subTree) + } + else if(children && Array.isArray(children)) { + queue.push(...children) + } + if(result.length && !needAll) { + break; + } + } + return needAll ? result : result[0] +} +// #endif + +class Query { + context : ComponentPublicInstance | null = null + selector : string = '' + // components : ComponentPublicInstance[] = [] + constructor(selector : string, context : ComponentPublicInstance | null) { + this.selector = selector + this.context = context + } + in(context : ComponentPublicInstance) : Query { + return new Query(this.selector, context) + } + find() : ComponentPublicInstance | null { + return findChildren(this.selector, this.context, false) + } + findAll() : ComponentPublicInstance[] | null { + return findChildren(this.selector, this.context, true) + } + closest() : ComponentPublicInstance | null { + return null + } +} + +export function selectComponent(selector: string) { + return new Query(selector) +} \ No newline at end of file diff --git a/uni_modules/lime-shared/selectElement/index.uts b/uni_modules/lime-shared/selectElement/index.uts new file mode 100644 index 0000000..355b043 --- /dev/null +++ b/uni_modules/lime-shared/selectElement/index.uts @@ -0,0 +1,275 @@ +// @ts-nocheck +import {isDef} from '../isDef' +import {type ComponentPublicInstance} from 'vue' + +type HasSelectorFunc = (selector : string, element : UniElement) => boolean + +const hasSelectorClassName : HasSelectorFunc = (selector : string, element : UniElement) : boolean => { + return element.classList.includes(selector) +} +const hasSelectorId : HasSelectorFunc = (selector : string, element : UniElement) : boolean => { + return element.getAttribute("id") == selector +} +const hasSelectorTagName : HasSelectorFunc = (selector : string, element : UniElement) : boolean => { + return element.tagName!.toLowerCase() == selector.toLowerCase() +} + +type ProcessSelectorResult = { + selectorValue : string + hasSelector : HasSelectorFunc +} +const processSelector = (selector : string) : ProcessSelectorResult => { + + const selectorValue = /#|\./.test(selector) ? selector.substring(1) : selector + let hasSelector : HasSelectorFunc + + if (selector.startsWith('.')) { + hasSelector = hasSelectorClassName + } else if (selector.startsWith('#')) { + hasSelector = hasSelectorId + } else { + hasSelector = hasSelectorTagName + } + + return { + selectorValue, + hasSelector + } as ProcessSelectorResult +} + + +function isNotEmptyString(str:string): boolean { + return str.length > 0; +} + +function isElement(element:UniElement|null):boolean { + return isDef(element) && element?.tagName != 'COMMENT'; +} + +type ElementArray = Array +class Query { + context : ComponentPublicInstance | null = null + selector : string = '' + elements : ElementArray = [] + constructor(selector : string | null, context : ComponentPublicInstance | null) { + this.context = context + if(selector != null){ + this.selector = selector + } + this.find(this.selector) + } + in(context : ComponentPublicInstance) : Query { + return new Query(this.selector, context) + } + findAll(selector : string): Query { + if (isDef(this.context)) { + const root = this.context?.$el //as Element | null; + if (isDef(root)) { + this.elements = [root!] //as ElementArray + } + const { selectorValue, hasSelector } = processSelector(selector) + const foundElements : ElementArray = []; + + function findChildren(element : UniElement) { + element.children.forEach((child : UniElement) => { + if (hasSelector(selectorValue, child)) { + foundElements.push(child) + } + }) + } + this.elements.forEach(el => { + findChildren(el!); + }); + this.elements = foundElements + } else if (selector.startsWith('#')) { + const element = uni.getElementById(selector) + if (isElement(element!)) { + this.elements = [element] + } + } + return this; + } + /** + * 在当前元素集合中查找匹配的元素 + */ + find(selector : string) : Query { + if (isDef(this.context)) { + const root = this.context?.$el //as Element | null; + if (isElement(root)) { + this.elements = [root] //as ElementArray + } + if(isNotEmptyString(selector) && this.elements.length > 0){ + const { selectorValue, hasSelector } = processSelector(selector) + const foundElements : ElementArray = []; + function findChildren(element : UniElement) { + element.children.forEach((child : UniElement) => { + if (hasSelector(selectorValue, child) && foundElements.length < 1) { + foundElements.push(child) + } + if (foundElements.length < 1) { + findChildren(child); + } + }) + } + this.elements.forEach(el => { + findChildren(el!); + }); + this.elements = foundElements + } + + } else if (selector.startsWith('#')) { + const element = uni.getElementById(selector) + if (isElement(element!)) { + this.elements = [element] + } + } + return this; + } + /** + * 获取当前元素集合的直接子元素 + */ + children() : Query { + // if (this.elements.length > 0) { + // const children = this.elements.reduce((acc, el) => [...acc, ...Array.from(el.children)], []); + // this.elements = children; + // } + return this; + } + /** + * 获取当前元素集合的父元素 + */ + parent() : Query { + // if (this.elements.length > 0) { + // const parents = this.elements.map(el => el.parentElement).filter(parent => parent !== null) as ElementArray; + // this.elements = parents + // // this.elements = Array.from(new Set(parents)); + // } + return this; + } + /** + * 获取当前元素集合的兄弟元素 + */ + siblings() : Query { + // if (this.elements.length > 0) { + // const siblings = this.elements.reduce((acc, el) => [...acc, ...Array.from(el.parentElement?.children || [])], []); + // this.elements = siblings.filter(sibling => sibling !== null && !this.elements?.includes(sibling)); + // } + return this; + } + /** + * 获取当前元素集合的下一个兄弟元素 + */ + next() : Query { + // if (this.elements.length > 0) { + // const nextElements = this.elements.map(el => el.nextElementSibling).filter(next => next !== null) as ElementArray; + // this.elements = nextElements; + // } + return this; + } + /** + * 获取当前元素集合的上一个兄弟元素 + */ + prev() : Query { + // if (this.elements.length > 0) { + // const prevElements = this.elements.map(el => el.previousElementSibling).filter(prev => prev !== null) as ElementArray; + // this.elements = prevElements; + // } + return this; + } + /** + * 从当前元素开始向上查找匹配的元素 + */ + closest(selector : string) : Query { + if (isDef(this.context)) { + // && this.context.$parent != null && this.context.$parent.$el !== null + if(this.elements.length == 0 && isDef(this.context?.$parent) && isElement(this.context!.$parent?.$el)){ + this.elements = [this.context!.$parent?.$el!] + } + + const selectorsArray = selector.split(',') + // const { selectorValue, hasSelector } = processSelector(selector) + const processedSelectors = selectorsArray.map((selector: string):ProcessSelectorResult => processSelector(selector)) + const closestElements = this.elements.map((el) : UniElement | null => { + let closestElement : UniElement | null = el + while (closestElement !== null) { + // if (hasSelector(selectorValue, closestElement)) { + // break; + // } + const isMatchingSelector = processedSelectors.some(({selectorValue, hasSelector}):boolean => { + return hasSelector(selectorValue, closestElement!) + }) + if(isMatchingSelector){ + break; + } + closestElement = closestElement.parentElement; + } + return closestElement + }) + this.elements = closestElements.filter((closest : UniElement | null) : boolean => isDef(closest))// as ElementArray + + } + return this; + } + + /** + * 从当前元素集合中过滤出匹配的元素 + */ + filter() : Query { + + return this; + } + /** + * 从当前元素集合中排除匹配的元素 + */ + not() { } + /** + * 从当前元素集合中查找包含匹配元素的元素 + */ + has() { } + /** + * 获取当前元素集合的第一个 + */ + first() : Query { + if (this.elements.length > 0) { + // this.elements = [this.elements[0]]; + } + return this; + } + /** + * 最后一个元素 + */ + last() : Query { + if (this.elements.length > 0) { + // this.elements = [this.elements[this.elements.length - 1]]; + } + return this; + } + /** + * 获取当前元素在其兄弟元素中的索引 + */ + index() : number | null { + // if (this.elements.length > 0 && this.elements.length > 0 && this.elements[0].parentElement !== null) { + // return Array.from(this.elements[0].parentElement.children).indexOf(this.elements[0]); + // } + return null; + } + get(index : number) : UniElement | null { + if (this.elements.length > index) { + return this.elements[index] //as Element + } + return null + } +} + +export function selectElement(selector : string | null = null) : Query { + // if(typeof selector == 'string' || selector == null){ + // return new Query(selector as string | null, null) + // } + // else if(selector instanceof ComponentPublicInstance){ + // return new Query(null, selector) + // } + return new Query(selector, null) +} + +// $('xxx').in(this).find('xxx') +// $('xxx').in(this).get() \ No newline at end of file diff --git a/uni_modules/lime-shared/shuffle/index.ts b/uni_modules/lime-shared/shuffle/index.ts new file mode 100644 index 0000000..5b3ab51 --- /dev/null +++ b/uni_modules/lime-shared/shuffle/index.ts @@ -0,0 +1,16 @@ +// @ts-nocheck +/** + * 随机化数组中元素的顺序,使用 Fisher-Yates 算法 + * @description 函数接受一个数组作为参数,返回一个新的数组,其中包含原数组随机化顺序后的元素。 + * @param arr 要随机化的数组 + * @returns 一个新的数组,其中包含原数组随机化顺序后的元素。 + */ +export function shuffle(arr : T[]) : T[] { + for (let i = arr.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)) + const temp = arr[i] + arr[i] = arr[j] + arr[j] = temp + } + return arr +} \ No newline at end of file diff --git a/uni_modules/lime-shared/sleep/index.ts b/uni_modules/lime-shared/sleep/index.ts new file mode 100644 index 0000000..a01cdfd --- /dev/null +++ b/uni_modules/lime-shared/sleep/index.ts @@ -0,0 +1,44 @@ +// @ts-nocheck +/** + * 延迟指定时间后解析的 Promise + * @param delay 延迟的时间(以毫秒为单位),默认为 300 毫秒 + * @returns 一个 Promise,在延迟结束后解析 + */ + + +// #ifdef UNI-APP-X && APP +function sleep(delay: number = 300):Promise { + return new Promise((resolve):void => {setTimeout(() => {resolve(true)}, delay)}); +} +export { + sleep +} + +// #endif + +// #ifndef UNI-APP-X && APP +export const sleep = (delay: number = 300) => + new Promise(resolve => setTimeout(resolve, delay)); + +// #endif + +// 示例 +// async function example() { +// console.log("Start"); + +// // 延迟 1 秒后执行 +// await sleep(1000); +// console.log("1 second later"); + +// // 延迟 500 毫秒后执行 +// await sleep(500); +// console.log("500 milliseconds later"); + +// // 延迟 2 秒后执行 +// await sleep(2000); +// console.log("2 seconds later"); + +// console.log("End"); +// } + +// example(); \ No newline at end of file diff --git a/uni_modules/lime-shared/throttle/index.ts b/uni_modules/lime-shared/throttle/index.ts new file mode 100644 index 0000000..fff1d82 --- /dev/null +++ b/uni_modules/lime-shared/throttle/index.ts @@ -0,0 +1,77 @@ +// @ts-nocheck +/** + * 节流函数,用于限制函数的调用频率 + * @param fn 要进行节流的函数 + * @param delay 两次调用之间的最小间隔时间 + * @returns 节流后的函数 + */ + +// #ifndef UNI-APP-X && APP +export function throttle(fn: (...args: any[]) => void, delay: number) { + let flag = true; // 标记是否可以执行函数 + + return (...args: any[]) => { + if (flag) { + flag = false; // 设置为不可执行状态 + fn(...args); // 执行传入的函数 + + setTimeout(() => { + flag = true; // 经过指定时间后,设置为可执行状态 + }, delay); + } + }; +} +// #endif + + +// #ifdef UNI-APP-X && APP +// type Rfun = (...args: any[]) => void +// type Rfun = (...args: any[]) => void + +export function throttle( + fn: (args : T) => void, + delay: number):(args : T) => void { + let flag = true; // 标记是否可以执行函数 + + return (args : T) =>{ + if(flag){ + flag = false; + fn(args); + + setTimeout(()=>{ + flag = true; + }, delay) + } + } + // return (...args: any[]) => { + // // if (flag) { + // // flag = false; // 设置为不可执行状态 + // // fn(...args); // 执行传入的函数 + + // // setTimeout(() => { + // // flag = true; // 经过指定时间后,设置为可执行状态 + // // }, delay); + // // } + // }; +} + +// #endif + +// // 示例 +// // 定义一个被节流的函数 +// function handleScroll() { +// console.log("Scroll event handled!"); +// } + +// // 使用节流函数对 handleScroll 进行节流,间隔时间为 500 毫秒 +// const throttledScroll = throttle(handleScroll, 500); + +// // 模拟多次调用 handleScroll +// throttledScroll(); // 输出 "Scroll event handled!" +// throttledScroll(); // 不会输出 +// throttledScroll(); // 不会输出 + +// // 经过 500 毫秒后,再次调用 handleScroll +// setTimeout(() => { +// throttledScroll(); // 输出 "Scroll event handled!" +// }, 500); \ No newline at end of file diff --git a/uni_modules/lime-shared/toArray/index.ts b/uni_modules/lime-shared/toArray/index.ts new file mode 100644 index 0000000..e0840d2 --- /dev/null +++ b/uni_modules/lime-shared/toArray/index.ts @@ -0,0 +1,21 @@ +// @ts-nocheck +/** + * 将一个或多个元素转换为数组 + * @param item 要转换为数组的元素 + * @returns 转换后的数组 + */ +// #ifndef UNI-APP-X && APP +export const toArray = (item: T | T[]): T[] => Array.isArray(item) ? item : [item]; +// #endif + + +// #ifdef UNI-APP-X && APP +export function toArray(item: any): T[] { + return Array.isArray(item) ? item as T[] : [item as T]// as T[] +}; +// #endif +// 示例 +// console.log(toArray(5)); // 输出: [5] +// console.log(toArray("hello")); // 输出: ["hello"] +// console.log(toArray([1, 2, 3])); // 输出: [1, 2, 3] +// console.log(toArray(["apple", "banana"])); // 输出: ["apple", "banana"] \ No newline at end of file diff --git a/uni_modules/lime-shared/toBoolean/index.ts b/uni_modules/lime-shared/toBoolean/index.ts new file mode 100644 index 0000000..f61d49d --- /dev/null +++ b/uni_modules/lime-shared/toBoolean/index.ts @@ -0,0 +1,40 @@ +// @ts-nocheck +import { isNumber } from '../isNumber' +import { isString } from '../isString' +// 函数重载,定义多个函数签名 +// function toBoolean(value : any) : boolean; +// function toBoolean(value : string) : boolean; +// function toBoolean(value : number) : boolean; +// function toBoolean(value : boolean) : boolean; + +// #ifdef UNI-APP-X && APP +function toBoolean(value : any | null) : boolean { + // 根据输入值的类型,返回相应的布尔值 + // if (isNumber(value)) { + // return (value as number) != 0; + // } + // if (isString(value)) { + // return `${value}`.length > 0; + // } + // if (typeof value == 'boolean') { + // return value as boolean; + // } + // #ifdef APP-IOS + return value != null && value != undefined + // #endif + // #ifdef APP-ANDROID + return value != null + // #endif +} +// #endif + + +// #ifndef UNI-APP-X && APP +function toBoolean(value : any | null) : value is NonNullable { + return !!value//value !== null && value !== undefined; +} +// #endif + +export { + toBoolean +} \ No newline at end of file diff --git a/uni_modules/lime-shared/toNumber/index.ts b/uni_modules/lime-shared/toNumber/index.ts new file mode 100644 index 0000000..a8e1b1d --- /dev/null +++ b/uni_modules/lime-shared/toNumber/index.ts @@ -0,0 +1,28 @@ +// @ts-nocheck +/** + * 将字符串转换为数字 + * @param val 要转换的字符串 + * @returns 转换后的数字或原始字符串 + */ + +// #ifdef UNI-APP-X && APP +// function toNumber(val: string): number +// function toNumber(val: string): string +function toNumber(val: string): number|null { + const n = parseFloat(val); // 使用 parseFloat 函数将字符串转换为浮点数 + return isNaN(n) ? null : n; // 使用 isNaN 函数判断是否为非数字,返回转换后的数字或原始字符串 +} +export {toNumber} +// #endif + +// #ifndef UNI-APP-X && APP +export function toNumber(val: string): number | string { + const n = parseFloat(val); // 使用 parseFloat 函数将字符串转换为浮点数 + return isNaN(n) ? val : n; // 使用 isNaN 函数判断是否为非数字,返回转换后的数字或原始字符串 +} +// #endif + +// 示例 +// console.log(toNumber("123")); // 输出: 123 +// console.log(toNumber("3.14")); // 输出: 3.14 +// console.log(toNumber("hello")); // 输出: "hello" \ No newline at end of file diff --git a/uni_modules/lime-shared/unitConvert/index.ts b/uni_modules/lime-shared/unitConvert/index.ts new file mode 100644 index 0000000..455d40d --- /dev/null +++ b/uni_modules/lime-shared/unitConvert/index.ts @@ -0,0 +1,80 @@ +// @ts-nocheck +import { isString } from '../isString' +import { isNumeric } from '../isNumeric' + +/** + * 单位转换函数,将字符串数字或带有单位的字符串转换为数字 + * @param value 要转换的值,可以是字符串数字或带有单位的字符串 + * @returns 转换后的数字,如果无法转换则返回0 + */ +// #ifndef UNI-APP-X && APP +export function unitConvert(value : string | number | null | undefined, base: number = 0) : number { + // 如果是字符串数字 + if (isNumeric(value)) { + return Number(value); + } + // 如果有单位 + if (isString(value)) { + const reg = /^-?([0-9]+)?([.]{1}[0-9]+){0,1}(em|rpx|px|%)$/g; + const results = reg.exec(value); + if (!value || !results) { + return 0; + } + const unit = results[3]; + const _value = parseFloat(value); + if (unit === 'rpx') { + return uni.upx2px(_value); + } + if (unit === 'px') { + return _value * 1; + } + if(unit == '%') { + return _value / 100 * base + } + // 如果是其他单位,可以继续添加对应的转换逻辑 + } + return 0; +} +// #endif + + +// #ifdef UNI-APP-X && APP +import { isNumber } from '../isNumber' +export function unitConvert(value : any | null, base: number = 0) : number { + if (isNumber(value)) { + return value as number + } + // 如果是字符串数字 + if (isNumeric(value)) { + return parseFloat(value as string); + } + // 如果有单位 + if (isString(value)) { + const reg = /^-?([0-9]+)?([.]{1}[0-9]+){0,1}(em|rpx|px|%)$/g; + const results = reg.exec(value as string); + if (results == null) { + return 0; + } + const unit = results[3]; + const _value = parseFloat(value); + if (unit == 'rpx') { + // const { windowWidth } = uni.getWindowInfo() + // return windowWidth / 750 * _value; + return uni.rpx2px(_value) + } + if (unit == 'px') { + return _value; + } + if(unit == '%') { + return _value / 100 * base + } + // 如果是其他单位,可以继续添加对应的转换逻辑 + } + return 0; +} +// #endif +// 示例 +// console.log(unitConvert("123")); // 输出: 123 (字符串数字转换为数字) +// console.log(unitConvert("3.14em")); // 输出: 0 (无法识别的单位) +// console.log(unitConvert("20rpx")); // 输出: 根据具体情况而定 (根据单位进行转换) +// console.log(unitConvert(10)); // 输出: 10 (数字不需要转换) \ No newline at end of file diff --git a/uni_modules/lime-shared/vue/index.ts b/uni_modules/lime-shared/vue/index.ts new file mode 100644 index 0000000..07f7135 --- /dev/null +++ b/uni_modules/lime-shared/vue/index.ts @@ -0,0 +1,16 @@ +// @ts-nocheck + +// #ifdef VUE3 +export * from 'vue'; +// #endif + +// #ifndef VUE3 +export * from '@vue/composition-api'; + +// #ifdef APP-NVUE +import Vue from 'vue' +import VueCompositionAPI from '@vue/composition-api' +Vue.use(VueCompositionAPI) +// #endif + +// #endif diff --git a/uni_modules/lime-style/changelog.md b/uni_modules/lime-style/changelog.md new file mode 100644 index 0000000..417e06e --- /dev/null +++ b/uni_modules/lime-style/changelog.md @@ -0,0 +1,18 @@ +## 0.0.9(2025-01-16) +- feat: 更新 +## 0.0.8(2024-12-15) +- fix: 修复vue2 不支持rgba(0,0,0,1%) +## 0.0.7(2024-12-11) +- feat: 增加除法 +## 0.0.6(2024-12-04) +- fix: 除法问题 +## 0.0.5(2024-11-20) +- feat: 增加flex +## 0.0.4(2024-11-20) +- feat: 增加flex +## 0.0.3(2024-09-30) +- fix: 由于 vue2 h5 css变量不支持rpx,故转成px +## 0.0.2(2024-09-23) +- fix: 修复 vue2 math.div 问题 +## 0.0.1(2024-09-02) +- init diff --git a/uni_modules/lime-style/color/colorPalette.scss b/uni_modules/lime-style/color/colorPalette.scss new file mode 100644 index 0000000..f391408 --- /dev/null +++ b/uni_modules/lime-style/color/colorPalette.scss @@ -0,0 +1,186 @@ +// #ifdef VUE3 +@use "sass:math"; +// #endif + + + +$hueStep: 2; +$saturationStep1: 0.16; +$saturationStep2: 0.05; +$brightnessStep1: 0.05; +$brightnessStep2: 0.15; +$lightColorCount: 5; +$darkColorCount: 4; + +$darkColorMap: ( + (index: 7, opacity: 0.15), + (index: 6, opacity: 0.25), + (index: 5, opacity: 0.3), + (index: 5, opacity: 0.45), + (index: 5, opacity: 0.65), + (index: 5, opacity: 0.85), + (index: 4, opacity: 0.9), + (index: 3, opacity: 0.95), + (index: 2, opacity: 0.97), + (index: 1, opacity: 0.98) +); + +@function div($dividend, $divisor) { + // #ifdef VUE3 + @return math.div($dividend, $divisor); + // #endif + // #ifndef VUE3 + @return $dividend / $divisor; + // #endif +} + +// 求一个数的n次幂 +@function pow($number, $n) { + $ret: 1; + @if $n >= 0 { + @for $i from 1 through $n { + $ret: $ret * $number; + } + } @else { + @for $i from $n to 0 { + $ret: $ret / $number; + } + } + @return $ret; +} + +// 浮点数保留小数位 +@function toFixed($float, $digits: 2) { + $pow: pow(10, $digits); + @return div(round($float * $pow) , $pow); +} + + +// 根据颜色获取对应的hsv,在tinycolor中首先进行了归一化处理,这里没有 +// 返回的结果h是0~360,代表的是色相的角度, sv的范围0-1 +@function rbgToHsv($color) { + $r: red($color); + $g: green($color); + $b: blue($color); + $max: max($r, $g, $b); + $min: min($r, $g, $b); + $diff: $max - $min; + $h: 0; + + @if $max == $min { + $h: 0 + } @else if $max == $r { + $h: div(60 * ($g - $b) , $diff) + if($g >= $b, 0, 360); + } @else if $max == $g { + $h: 60 * div($b - $r , $diff) + 120 //($b - $r) / $diff + 120; + } @else if $max == $b{ + $h: div(60 * ($r - $g) , $diff) + 240; + } + + $s: if($max == 0, 0, div($diff , $max)); + $v: div($max , 255); + + @return $h, $s, $v; +} +// hsv转化成rgb,借鉴了tinycolor的做法,避免通过$th的值判断来获取对应的rgb的取值 +// $t1~4的计算目前不清楚为什么这样做 +@function hsvTorgb($h, $s, $v) { + $th: floor(div($h , 60)); + $t1: div($h , 60) - $th; + $t2: $v * (1 - $s); + $t3: $v * (1 - $t1 * $s); + $t4: $v * (1 - (1 - $t1) * $s); + $i: $th + 1; + $r: nth(($v, $t3, $t2, $t2, $t4, $v), $i); + $g: nth(($t4, $v, $v, $t3, $t2, $t2), $i); + $b: nth(($t2, $t2, $t4, $v, $v, $t3), $i); + + @return rgb($r * 255, $g * 255, $b * 255); +} + +//转换色相 +@function getHue($h, $i, $isLight) { + $hue: null; + @if $h >= 60 and $h <= 240 { + $hue: if($isLight, $h - $hueStep * $i, $h + $hueStep * $i); + } @else { + $hue: if($isLight, $h + $hueStep * $i, $h - $hueStep * $i); + } + + $hue: ($hue + 360) % 360; + + @return round($hue); +} + +// 转换饱和度 +@function getSaturation($s, $i, $isLight) { + $saturation: null; + @if $isLight { + $saturation: $s - $saturationStep1 * $i; + } @else if $i == $darkColorCount { + $saturation: $s + $saturationStep1; + } @else { + $saturation: $s + $saturationStep2 * $i; + } + $saturation: min($saturation, 1); + + @if $isLight and $i == $lightColorCount and $saturation > 0.1 { + $saturation: 0.1; + } + + $saturation: max($saturation, 0.06); + + @return toFixed($saturation, 2); +} + +// 转换明度 +@function getValue($v, $i, $isLight) { + $value: min( + if( + $isLight, + $v + $brightnessStep1 * $i, + $v - $brightnessStep2 * $i + ), + 1); + + @return toFixed($value, 2); +} + + +@function mix($rgb1, $rgb2, $amount){ + $p: $amount; + $r: (red($rgb2) - red($rgb1)) * $p + red($rgb1); + $g: (green($rgb2) - green($rgb1)) * $p + green($rgb1); + $b: (blue($rgb2) - blue($rgb1)) * $p + blue($rgb1); + + @return rgb($r, $g, $b) +} + +// 根据颜色和对应的色板位置,计算出对应的色板颜色 +@function genColor($color, $index, $theme: 'default' , $bgColor: #141414) { + $isLight: if($index <= 6, true, false); + $hsv: rbgToHsv($color); + //这里将i转换成以主色为中心,两侧的i值逐渐增大 + $i: if($isLight, $lightColorCount + 1 - $index, $index - $lightColorCount - 1); + + @if $theme == 'dark' { + $item: nth($darkColorMap, $index); + $index2: map-get($item, index); + $opacity: map-get($item, opacity); + + $rgb: genColor($color, $index2 + 1); + + // @return $rgb; + @return mix( + $bgColor, + $rgb, + $opacity + ) + } + + @return hsvTorgb( + getHue(nth($hsv, 1), $i, $isLight), + getSaturation(nth($hsv, 2), $i, $isLight), + getValue(nth($hsv, 3), $i, $isLight) + ); +} \ No newline at end of file diff --git a/uni_modules/lime-style/color/colors.scss b/uni_modules/lime-style/color/colors.scss new file mode 100644 index 0000000..10742fd --- /dev/null +++ b/uni_modules/lime-style/color/colors.scss @@ -0,0 +1,19 @@ +// 品牌色-主色 +$primary-color: #3283ff!default; +// 错误色 +$error-color: #FF4D4F!default; +// 警告色 +$warning-color: #ffb400!default;// #FF7D00!default; +// 信息色 +$info-color: $primary-color!default; +// 成功色 +$success-color: #34c471!default; + +$blue: #3283ff!default; +$red: #FF4D4F!default; +$orange: #ffb400!default; +// $yellow: #FADC19!default; +$yellow: #fcd53f!default; +$green: #34c471 !default; +$white: #fff; +$black: #000; diff --git a/uni_modules/lime-style/functions.scss b/uni_modules/lime-style/functions.scss new file mode 100644 index 0000000..acfc773 --- /dev/null +++ b/uni_modules/lime-style/functions.scss @@ -0,0 +1,11 @@ +// #ifdef VUE3 +@use "sass:math"; +// #endif +@function divide($dividend, $divisor) { + // #ifdef VUE3 + @return math.div($dividend, $divisor); + // #endif + // #ifndef VUE3 + @return $dividend / $divisor; + // #endif +} diff --git a/uni_modules/lime-style/index.scss b/uni_modules/lime-style/index.scss new file mode 100644 index 0000000..9ea8d8b --- /dev/null +++ b/uni_modules/lime-style/index.scss @@ -0,0 +1,6 @@ +@import './theme/default'; +@import './var'; +// @import './mixins/ellipsis'; +// @import './mixins/hairline'; +@import './mixins/create'; +// @import './mixins/useTheme'; \ No newline at end of file diff --git a/uni_modules/lime-style/mixins/create.scss b/uni_modules/lime-style/mixins/create.scss new file mode 100644 index 0000000..2f68499 --- /dev/null +++ b/uni_modules/lime-style/mixins/create.scss @@ -0,0 +1,154 @@ +// #ifdef VUE3 +@use "sass:math"; +// #endif +@function div($dividend, $divisor) { + // #ifdef VUE3 + @return math.div($dividend, $divisor); + // #endif + // #ifndef VUE3 + @return $dividend / $divisor; + // #endif +} + + +@function to-number($string) { + $result: 0; + $is-negative: str-slice($string, 1, 1) == '-'; + $length: str-length($string); + + @if $is-negative { + $string: str-slice($string, 2); + $length: $length - 1; + } + + $decimal-index: str-index($string, '.'); + + @if $decimal-index { + $decimal-str: str-slice($string, $decimal-index + 1); + $decimal-length: str-length($decimal-str); + $length: $length - $decimal-length - 1; + $string: str-slice($string, 1, $decimal-index - 1); + + $result: to-number($decimal-str) * pow(10, $decimal-length * -1); + } + $numbers:( + '0': 0, + '1': 1, + '2': 2, + '3': 3, + '4': 4, + '5': 5, + '6': 6, + '7': 7, + '8': 8, + '9': 9, + ); + + @for $i from 1 through $length { + $key: str-slice($string, $i, $i); + $number: map-get($numbers, $key); + $digit: if($number == 0, 0, if($length - $i > 0, pow(10, $length - $i), 0)); + $result: $result + $digit * $number + if($length - $i == 0, $number, 0); + } + @return if($is-negative, $result * -1, $result) ; +} + +// 由于vue2 h5和app不支持动态rpx 故转成px +@function rpx-to-px($rpx-string) { + @if type-of($rpx-string) == list { + $new-list: (); + @each $value in $rpx-string { + $v: $value + ''; + $start: str-index($v, 'rpx'); + @if $start { + $new-list: append($new-list, rpx-to-px($v)); + } @else { + $new-list: append($new-list, $value); + } + } + @return $new-list; + } + + @if type-of($rpx-string) == number and comparable($rpx-string, 1rpx) { + @return rpx-to-px($rpx-string + ''); + } + + @if type-of($rpx-string) != string { + @return $rpx-string; + } + $start: str-index($rpx-string, 'rpx'); + $number-map: ( + '-': 1, + '0': 1, + '1': 1, + '2': 1, + '3': 1, + '4': 1, + '5': 1, + '6': 1, + '7': 1, + '8': 1, + '9': 1, + ); + @if not $start { + @return $rpx-string; + } + $result: ''; + @while $start { + // 获取 'rpx' 前的数字 + $number-end: $start - 1; + $number-start: $number-end; + @while $number-start > 0 and map-get($number-map, str-slice($rpx-string, $number-start, $number-start)) ==1 { + $number-start: $number-start - 1; + } + // 提取数字部分 + $number: to-number(str-slice($rpx-string, $number-start + 1, $number-end)); + + // 转换 'rpx' 到 'px' + // $px-value: ($number / 2) + 'px'; + $px-value: div($number, 2) + 'px'; + $result: $result + str-slice($rpx-string, 0, $number-start) + $px-value; + + // 更新字符串和起始位置 + $rpx-string: str-slice($rpx-string, $start + 3); + $start: str-index($rpx-string, 'rpx'); + } + + @return $result + $rpx-string; +} + +@function create-var($name, $values...) { + // 将不定数量的参数转换为列表 + $value-list: $values; + $css-value: null; + @if length($value-list) == 0 { + @warn "The list must have at least 1 values."; + } @else { + // 初始化CSS变量的值为列表中的第一个值 + /* #ifdef VUE2 */ + $css-value: rpx-to-px(nth($value-list, 1)); + /* #endif */ + /* #ifndef VUE2 */ + $css-value: nth($value-list, 1); + /* #endif */ + } + // 检查列表长度是否大于等于2 + @if length($value-list) >= 2 { + // 使用@for循环遍历剩余的值,并构建CSS变量的完整值 + @for $i from 2 through length($value-list) { + /* #ifdef VUE2 */ + $css-value: $css-value + ", " + rpx-to-px(nth($value-list, $i)); + /* #endif */ + /* #ifndef VUE2 */ + $css-value: $css-value + ", " + nth($value-list, $i); + /* #endif */ + } + } + + /* #ifndef APP-NVUE || APP-ANDROID || APP-IOS */ + @return var(--l-#{$name}, #{$css-value}); + /* #endif */ + /* #ifdef APP-NVUE || APP-ANDROID || APP-IOS */ + @return $css-value; + /* #endif */ +} diff --git a/uni_modules/lime-style/mixins/ellipsis.scss b/uni_modules/lime-style/mixins/ellipsis.scss new file mode 100644 index 0000000..7568616 --- /dev/null +++ b/uni_modules/lime-style/mixins/ellipsis.scss @@ -0,0 +1,22 @@ +@mixin ellipsis { + // overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + /* #ifndef APP-ANDROID || APP-IOS || APP-NVUE */ + word-wrap: normal; + /* #endif */ +} + + +@mixin ellipsisLn($line) { + // overflow: hidden; + text-overflow: ellipsis; + /* #ifdef APP-ANDROID || APP-IOS || APP-NVUE */ + lines: $line; + /* #endif */ + /* #ifndef APP-ANDROID || APP-IOS || APP-NVUE */ + -webkit-line-clamp: $line; + display: -webkit-box; + -webkit-box-orient: vertical; + /* #endif */ +} \ No newline at end of file diff --git a/uni_modules/lime-style/mixins/flex.scss b/uni_modules/lime-style/mixins/flex.scss new file mode 100644 index 0000000..a1f36ef --- /dev/null +++ b/uni_modules/lime-style/mixins/flex.scss @@ -0,0 +1,13 @@ +@mixin flex { + /* #ifndef UNI-APP-X */ + display: flex; + /* #endif */ +} +@mixin flex-column { + /* #ifndef UNI-APP-X */ + flex-direction: column; + /* #endif */ +} +@mixin flex-row { + flex-direction: row; +} diff --git a/uni_modules/lime-style/mixins/hairline.scss b/uni_modules/lime-style/mixins/hairline.scss new file mode 100644 index 0000000..fcdf623 --- /dev/null +++ b/uni_modules/lime-style/mixins/hairline.scss @@ -0,0 +1,66 @@ +// @import '../theme/default.scss'; + +@mixin hairline-base { + position: absolute; + box-sizing: border-box; + content: ' '; + pointer-events: none; + transform-origin: center; /* cover wechat button:after default transforn-origin */ +} + +@mixin hairline($color: $border-color-2) { + @include hairline-base; + top: -50%; + right: -50%; + bottom: -50%; + left: -50%; + border: 1px solid $color; + transform: scale(.5); +} + +@mixin hairline-top($color: $border-color-1, $left: 0, $right: 0) { + @include hairline-base; + top: 0; + right: $right; + left: $left; + border-top: 1px solid $color; + transform: scaleY(0.5); +} + +@mixin hairline-bottom($color: $border-color-1, $left: 0, $right: 0) { + @include hairline-base; + right: $right; + bottom: 0; + left: $left; + border-bottom: 1px solid $color; + transform: scaleY(0.5); +} + +@mixin hairline-left($color: $border-bolor-1) { + @include hairline-base; + top: 0; + bottom: 0; + left: 0; + border-left: 1px solid $color; + transform: scaleX(.5); +} + +@mixin hairline-right($color: $border-bolor-1) { + @include hairline-base; + top: 0; + bottom: 0; + right: 0; + border-right: 1px solid $color; + transform: scaleX(.5); +} + +@mixin border { + /* #ifndef APP-ANDROID || APP-IOS */ + &:after { + @content; + } + /* #endif */ + /* #ifdef APP-ANDROID || APP-IOS */ + @content; + /* #endif */ +} \ No newline at end of file diff --git a/uni_modules/lime-style/mixins/platform.scss b/uni_modules/lime-style/mixins/platform.scss new file mode 100644 index 0000000..3c9946f --- /dev/null +++ b/uni_modules/lime-style/mixins/platform.scss @@ -0,0 +1,17 @@ +/* #ifdef APP-NVUE || APP-ANDROID || APP-IOS */ +$is-app: true; +/* #endif */ +/* #ifndef APP-NVUE || APP-ANDROID || APP-IOS */ +$is-app: false; +/* #endif */ + +@mixin is-app { + @if $is-app { + @content; + } +} +@mixin not-app { + @if not($is-app) { + @content; + } +} diff --git a/uni_modules/lime-style/mixins/useTheme.scss b/uni_modules/lime-style/mixins/useTheme.scss new file mode 100644 index 0000000..53e00f7 --- /dev/null +++ b/uni_modules/lime-style/mixins/useTheme.scss @@ -0,0 +1,37 @@ +$limeThemes: light, dark; +$theme: light; + +@mixin use-theme($mode: null) { + @if $mode != null { + /* #ifndef APP-ANDROID || APP-IOS || APP-NVUE */ + @media (prefers-color-scheme: $mode) { + @content; + } + /* #endif */ + /* #ifdef APP-ANDROID || APP-IOS || APP-NVUE */ + &.#{$mode} { + @content; + } + /* #endif */ + } @else { + @each $mode in $limeThemes { + $theme: $mode !global; + /* #ifndef APP-ANDROID || APP-IOS || APP-NVUE */ + @media (prefers-color-scheme: $mode) { + @content; + } + /* #endif */ + + /* #ifdef APP-ANDROID || APP-IOS || APP-NVUE */ + &.#{$mode} { + @content; + } + /* #endif */ + } + } + +} + +@function get-var($themes, $key) { + @return map-get($themes, $key) +} diff --git a/uni_modules/lime-style/mixins/utilities.scss b/uni_modules/lime-style/mixins/utilities.scss new file mode 100644 index 0000000..eec1fb1 --- /dev/null +++ b/uni_modules/lime-style/mixins/utilities.scss @@ -0,0 +1,7 @@ +@import './flex'; + +@mixin resize-none { + /* #ifndef APP-IOS || APP-ANDROID */ + resize: none; + /* #endif */ +} diff --git a/uni_modules/lime-style/package.json b/uni_modules/lime-style/package.json new file mode 100644 index 0000000..ba7df3e --- /dev/null +++ b/uni_modules/lime-style/package.json @@ -0,0 +1,84 @@ +{ + "id": "lime-style", + "displayName": "lime-style", + "version": "0.0.9", + "description": "lime-style", + "keywords": [ + "lime-style" +], + "repository": "", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "type": "sdk-js", + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "y" + }, + "client": { + "Vue": { + "vue2": "u", + "vue3": "u" + }, + "App": { + "app-vue": "u", + "app-nvue": "u", + "app-uvue": "u", + "app-harmony": "u" + }, + "H5-mobile": { + "Safari": "u", + "Android Browser": "u", + "微信浏览器(Android)": "u", + "QQ浏览器(Android)": "u" + }, + "H5-pc": { + "Chrome": "u", + "IE": "u", + "Edge": "u", + "Firefox": "u", + "Safari": "u" + }, + "小程序": { + "微信": "u", + "阿里": "u", + "百度": "u", + "字节跳动": "u", + "QQ": "u", + "钉钉": "u", + "快手": "u", + "飞书": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/lime-style/readme.md b/uni_modules/lime-style/readme.md new file mode 100644 index 0000000..8a55268 --- /dev/null +++ b/uni_modules/lime-style/readme.md @@ -0,0 +1 @@ +# lime-style \ No newline at end of file diff --git a/uni_modules/lime-style/theme/dark.scss b/uni_modules/lime-style/theme/dark.scss new file mode 100644 index 0000000..e69de29 diff --git a/uni_modules/lime-style/theme/default.scss b/uni_modules/lime-style/theme/default.scss new file mode 100644 index 0000000..a4de080 --- /dev/null +++ b/uni_modules/lime-style/theme/default.scss @@ -0,0 +1,147 @@ +@import '../mixins/create.scss'; +@import '../color/colorPalette.scss'; +@import '../color/colors.scss'; + +$blue-1: genColor($blue, 1); +$blue-2: genColor($blue, 2); +$blue-3: genColor($blue, 3); +$blue-4: genColor($blue, 4); +$blue-5: genColor($blue, 5); +$blue-6: $blue; +$blue-7: genColor($blue, 7); +$blue-8: genColor($blue, 8); +$blue-9: genColor($blue, 9); +$blue-10: genColor($blue, 10); + +$primary-color-1: create-var('primary-color-1', genColor($primary-color, 1)); // 浅色/白底悬浮 +$primary-color-2: create-var('primary-color-2', genColor($primary-color, 2)); // 文字禁用 +$primary-color-3: create-var('primary-color-3', genColor($primary-color, 3)); // 一般禁用 +$primary-color-4: create-var('primary-color-4', genColor($primary-color, 4)); // 特殊场景 禁用 +$primary-color-5: create-var('primary-color-5', genColor($primary-color, 5)); // 悬浮 +$primary-color-6: create-var('primary-color-6', $primary-color); // 常规 +$primary-color-7: create-var('primary-color-7', genColor($primary-color, 7)); // 点击 +$primary-color-8: create-var('primary-color-8', genColor($primary-color, 8)); // +$primary-color-9: create-var('primary-color-9', genColor($primary-color, 9)); +$primary-color-10: create-var('primary-color-10', genColor($primary-color, 10)); + +$error-color-1: create-var('error-color-1', genColor($error-color, 1)); +$error-color-2: create-var('error-color-2', genColor($error-color, 2)); +$error-color-3: create-var('error-color-3', genColor($error-color, 3)); +$error-color-4: create-var('error-color-4', genColor($error-color, 4)); +$error-color-5: create-var('error-color-5', genColor($error-color, 5)); +$error-color-6: create-var('error-color-6', $error-color); +$error-color-7: create-var('error-color-7', genColor($error-color, 7)); +$error-color-8: create-var('error-color-8', genColor($error-color, 8)); +$error-color-9: create-var('error-color-9', genColor($error-color, 9)); +$error-color-10: create-var('error-color-10', genColor($error-color, 10)); + +$warning-color-1: create-var('warning-color-1', genColor($warning-color, 1)); +$warning-color-2: create-var('warning-color-2', genColor($warning-color, 2)); +$warning-color-3: create-var('warning-color-3', genColor($warning-color, 3)); +$warning-color-4: create-var('warning-color-4', genColor($warning-color, 4)); +$warning-color-5: create-var('warning-color-5', genColor($warning-color, 5)); +$warning-color-6: create-var('warning-color-6', $warning-color); +$warning-color-7: create-var('warning-color-7', genColor($warning-color, 7)); +$warning-color-8: create-var('warning-color-8', genColor($warning-color, 8)); +$warning-color-9: create-var('warning-color-9', genColor($warning-color, 9)); +$warning-color-10: create-var('warning-color-10', genColor($warning-color, 10)); + +$success-color-1: create-var('success-color-1', genColor($success-color, 1)); // 浅色/白底悬浮 +$success-color-2: create-var('success-color-2', genColor($success-color, 2)); // 文字禁用 +$success-color-3: create-var('success-color-3', genColor($success-color, 3)); // 一般禁用 +$success-color-4: create-var('success-color-4', genColor($success-color, 4)); // 特殊场景 +$success-color-5: create-var('success-color-5', genColor($success-color, 5)); // 悬浮 +$success-color-6: create-var('success-color-6', $success-color); // 常规 +$success-color-7: create-var('success-color-7', genColor($success-color, 7)); // 点击 +$success-color-8: create-var('success-color-8', genColor($success-color, 8)); +$success-color-9: create-var('success-color-9', genColor($success-color, 9)); +$success-color-10: create-var('success-color-10', genColor($success-color, 10)); + +$gray-1: create-var('gray-1', #f3f3f3); +$gray-2: create-var('gray-2', #eeeeee); +$gray-3: create-var('gray-3', #e7e7e7); +$gray-4: create-var('gray-4', #dcdcdc); +$gray-5: create-var('gray-5', #c5c5c5); +$gray-6: create-var('gray-6', #a6a6a6); +$gray-7: create-var('gray-7', #8b8b8b); +$gray-8: create-var('gray-8', #777777); +$gray-9: create-var('gray-9', #5e5e5e); +$gray-10: create-var('gray-10', #4b4b4b); +$gray-11: create-var('gray-11', #383838); +$gray-12: create-var('gray-12', #2c2c2c); +$gray-13: create-var('gray-13', #242424); +$gray-14: create-var('gray-14', #181818); + +$text-color-1: create-var('text-color-1', rgba(0,0,0,0.88)); //primary +$text-color-2: create-var('text-color-2', rgba(0,0,0,0.65)); //secondary +$text-color-3: create-var('text-color-3', rgba(0,0,0,0.45)); //placeholder +$text-color-4: create-var('text-color-4', rgba(0,0,0,0.25)); //disabled + +// 容器 +$bg-color-page: create-var('bg-color-page', #f5f5f5); // 整体背景色 布局 +$bg-color-container: create-var('bg-color-container', #fff); // 一级容器背景 组件 +$bg-color-elevated: create-var('bg-color-elevated', #fff); // 二级容器背景 浮层 +$bg-color-spotlight: create-var('bg-color-spotlight', rgba(0, 0, 0, 0.85)); // 引起注意的如 Tooltip +$bg-color-mask: create-var('bg-color-mask', rgba(0, 0, 0, 0.45)); // 蒙层 + +// 填充 +$fill-1: create-var('fill-1', rgba(0, 0, 0, 0.15)); +$fill-2: create-var('fill-2', rgba(0, 0, 0, 0.06)); +$fill-3: create-var('fill-3', rgba(0, 0, 0, 0.04)); +$fill-4: create-var('fill-4', rgba(0, 0, 0, 0.02)); + +// 描边 +$border-color-1: create-var('border-color-1', $gray-2); // 浅色 +$border-color-2: create-var('border-color-2', $gray-3); // 一般 +$border-color-3: create-var('border-color-3', $gray-4); // 深/悬浮 +$border-color-4: create-var('border-color-4', $gray-6); // 重/按钮描边 + + +$alpha-disabled: create-var('alpha-disabled', 0.5); +$alpha-pressed: create-var('alpha-pressed', 0.07); + +// 投影 +/* #ifndef APP-ANDROID || APP-IOS */ +$shadow-1: create-var( + shadow-1, + 0 1px 10px rgba(0, 0, 0, 0.05), + 0 4px 5px rgba(0, 0, 0, 0.08), + 0 2px 4px -1px rgba(0, 0, 0, 0.12) +); + +$shadow-2: create-var( + 'shadow-2', + 0 1px 10px rgba(0, 0, 0, 0.05), + 0 4px 5px rgba(0, 0, 0, 0.08), + 0 2px 4px -1px rgba(0, 0, 0, 0.12) +); +$shadow-3: create-var( + shadow-3, + 0 6px 30px 5px rgba(0, 0, 0, 0.05), + 0 16px 24px 2px rgba(0, 0, 0, 0.04), + 0 8px 10px -5px rgba(0, 0, 0, 0.08) +); + +/* #endif */ +/* #ifdef APP-ANDROID || APP-IOS */ +$shadow-1: create-var( + shadow-1, + 0 1px 10px rgba(0, 0, 0, 0.05) +); +$shadow-2: create-var( + 'shadow-2', + 0 1px 10px rgba(0, 0, 0, 0.05) +); +$shadow-3: create-var( + shadow-3, + 0 6px 30px 5px rgba(0, 0, 0, 0.05) +); +/* #endif */ +$shadow-4: create-var(shadow-4, 0 2px 8px 0 rgba(0, 0, 0, .06)); + +// 基础颜色的扩展 用于 聚焦 / 禁用 / 点击 等状态 +$primary-color-focus: create-var('primary-color-focus', $primary-color-1);// focus态,包括鼠标和键盘 +$primary-color-active: create-var('primary-color-active', $primary-color-8);// 点击态 +$primary-color-disabled: create-var('primary-color-disabled', $primary-color-3); +$primary-color-light: create-var('primary-color-light', $primary-color-1); // 浅色的选中态 +$primary-color-light-active: create-var('primary-color-light-active', $primary-color-2); // 浅色的选中态 \ No newline at end of file diff --git a/uni_modules/lime-style/var.scss b/uni_modules/lime-style/var.scss new file mode 100644 index 0000000..ffd8caa --- /dev/null +++ b/uni_modules/lime-style/var.scss @@ -0,0 +1,66 @@ +@import './mixins/create.scss'; +// 公共前缀 +$prefix: l; + +// Spacer +$spacer: create-var('spacer', 32rpx); // base +$spacer-tn: create-var('spacer-tn', 8rpx); // Tiny +$spacer-xs: create-var('spacer-xs', 16rpx); // Extra Small +$spacer-sm: create-var('spacer-sm', 24rpx); // Small +$spacer-md: create-var('spacer-md', 48rpx); // Medium +$spacer-lg: create-var('spacer-lg', 64rpx); // Large +$spacer-xl: create-var('spacer-xl', 96rpx); // Extra Large +$spacer-hg: create-var('spacer-hg', 160rpx); // Huge //Ultra Big + +// Font +$font-size: create-var('font-size', 28rpx); +$font-size-xs: create-var('font-size-xs', 20rpx); +$font-size-sm: create-var('font-size-sm', 24rpx); +$font-size-md: create-var('font-size-md', 32rpx); +$font-size-lg: create-var('font-size-lg', 40rpx); +$font-size-xl: create-var('font-size-xl', 72rpx); + +$font-size-heading-1: create-var('font-size-heading-1', 76rpx); +$font-size-heading-2: create-var('font-size-heading-2', 60rpx); +$font-size-heading-3: create-var('font-size-heading-3', 48rpx); +$font-size-heading-4: create-var('font-size-heading-4', 40rpx); +$font-size-heading-5: create-var('font-size-heading-5', 32rpx); + + +$font-family: create-var('font-family', PingFang SC, Microsoft YaHei, Arial Regular); // 字体-磅数-常规 +$font-family-md: create-var('font-family-md', PingFang SC, Microsoft YaHei, Arial Medium); // 字体-磅数-粗体 + + +// 行高 +$line-height: create-var('line-height', 1.5714285714285714); +$line-height-sm: create-var('line-height-sm', 1.6666666666666667); +$line-height-md: create-var('line-height-lg', 1.5); +$line-height-lg: create-var('line-height-lg', 1.4); + +$line-height-heading-1: create-var('line-height-heading-1', 1.2105263157894737); +$line-height-heading-2: create-var('line-height-heading-2', 1.2666666666666666); +$line-height-heading-3: create-var('line-height-heading-3', 1.3333333333333333); +$line-height-heading-4: create-var('line-height-heading-4', 1.4); +$line-height-heading-5: create-var('line-height-heading-5', 1.5); + + +// 圆角 +$border-radius: create-var('border-radius', 12rpx); +$border-radius-xs: create-var('border-radius-xs', 4rpx); +$border-radius-sm: create-var('border-radius-sm', 6rpx); +$border-radius-md: create-var('border-radius-md', 12rpx); +$border-radius-lg: create-var('border-radius-lg', 18rpx); +$border-radius-xl: create-var('border-radius-xl', 24rpx); +$border-radius-hg: create-var('border-radius-hg', 999px); +// $border-radius-circle: var(--l-border-radius-circle, 50%); + + +// 动画 +$anim-time-fn-easing: create-var('anim-time-fn-easing', cubic-bezier(0.38, 0, 0.24, 1)); +$anim-time-fn-ease-out: create-var('anim-time-fn-ease-out', cubic-bezier(0, 0, 0.15, 1)); +$anim-time-fn-ease-in: create-var('anim-time-fn-ease-in', cubic-bezier(0.82, 0, 1, 0.9)); +$anim-duration-base: create-var('anim-duration-base', 0.2s); +$anim-duration-moderate: create-var('anim-duration-moderate', 0.24s); +$anim-duration-slow: create-var('anim-duration-slow', 0.28s); + + diff --git a/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue b/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue index 93506d6..8121751 100644 --- a/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue +++ b/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue @@ -459,14 +459,14 @@ * @param {Object} event */ onClear(event) { + console.log(111); this.val = ''; + this.$emit('clear', 'this.val'); // TODO 兼容 vue2 this.$emit('input', ''); // TODO 兼容 vue2 // TODO 兼容 vue3 this.$emit('update:modelValue', ''); - // 点击叉号触发 - this.$emit('clear'); }, /** diff --git a/uni_modules/wht-img-upload/changelog.md b/uni_modules/wht-img-upload/changelog.md new file mode 100644 index 0000000..0f22408 --- /dev/null +++ b/uni_modules/wht-img-upload/changelog.md @@ -0,0 +1,5 @@ +## 1.0.0(2024-12-05) +- 支持单图/多图上传 +- 支持自定义列数和间距 +- 支持上传进度显示 +- 支持预览和删除功能 支持自定义上传配置 diff --git a/uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.vue b/uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.vue new file mode 100644 index 0000000..1bc7e8e --- /dev/null +++ b/uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.vue @@ -0,0 +1,498 @@ + + + + + \ No newline at end of file diff --git a/uni_modules/wht-img-upload/package.json b/uni_modules/wht-img-upload/package.json new file mode 100644 index 0000000..193f539 --- /dev/null +++ b/uni_modules/wht-img-upload/package.json @@ -0,0 +1,80 @@ +{ + "id": "wht-img-upload", + "displayName": "wht-img-upload 高颜值图片上传 支持进度条 预览删除 单多图模式", + "version": "1.0.0", + "description": "【纯前端组件】功能强大的图片上传组件,支持单图/多图模式、自定义列数、实时进度条、预览/删除等功能,界面精美,使用简单。完美支持Vue2/3,适配H5/小程序/App", + "keywords": [ + "upload", + "image", + "图片上传", + "上传组件", + "多图上传" + ], + "repository": "https://gitee.com/funnywuss/uniapp-plugins.git wht-img-upload", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "type": "component-vue", + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "Vue": { + "vue2": "y", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-nvue": "n", + "app-harmony": "u", + "app-uvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "n", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/wht-img-upload/readme.md b/uni_modules/wht-img-upload/readme.md new file mode 100644 index 0000000..c0ad39a --- /dev/null +++ b/uni_modules/wht-img-upload/readme.md @@ -0,0 +1,56 @@ +# wht-img-upload + +一个简单易用的图片上传组件,支持单图/多图上传,适用于 uni-app 项目。 + +## 特性 +- 支持单图/多图上传 +- 支持自定义列数和间距 +- 支持上传进度显示 +- 支持预览和删除 +- 支持自定义上传配置 + +## 安装 + +在插件市场中搜索 `wht-img-upload` 并导入到项目中。 + +## 基础用法 + +```vue + + +``` + +## API + +### Props + +| 参数 | 说明 | 类型 | 默认值 | +|------|------|------|--------| +| modelValue/v-model | 图片列表 | Array | [] | +| max | 最大上传数量 | Number | 9 | +| mode | 上传模式,可选值:single/multi | String | 'multi' | +| columns | 列数 | Number | 3 | +| gap | 间距(rpx) | Number | 24 | +| itemHeight | 图片高度(rpx) | Number | 216 | +| buttonText | 上传按钮文字 | String | '上传图片' | +| showButtonText | 是否显示按钮文字 | Boolean | true | +| uploadConfig | 上传配置 | Object | - | + +### Events + +| 事件名 | 说明 | 回调参数 | +|------|------|------| +| update:modelValue | 图片列表更新时触发 | imageList | +| choose | 选择图片后触发 | imageList | +| delete | 删除图片时触发 | index | +| error | 上传错误时触发 | error | diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map new file mode 100644 index 0000000..cb5323e --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.js","sources":["App.uvue"],"sourcesContent":["\r\n\r\n"],"names":["defineComponent","uni"],"mappings":";;;;;;;;;;;AAEC,MAAA,YAAeA,8BAAA;AAAA,EACd,UAAU,WAAA;AACTC,kBAAAA,MAAI,MAAM,OAAM,iBAAgB,YAAY;AAAA,EAC5C;AAAA,EACD,QAAQ,WAAA;AACPA,kBAAAA,MAAI,MAAM,OAAM,iBAAgB,UAAU;AAAA,EAC1C;AAAA,EACD,QAAQ,WAAA;AACPA,kBAAAA,MAAI,MAAM,OAAM,kBAAiB,UAAU;AAAA,EAC3C;AAAA,EAmBD,QAAQ,WAAA;AACPA,kBAAAA,MAAI,MAAM,OAAM,kBAAiB,UAAU;AAAA,EAC3C;CACF;;;;;;;;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map new file mode 100644 index 0000000..8b2141b --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assets.js","sources":["static/image/组件 3 – 1.png","static/image/组 71699.png","static/image/组 71699_1@3x.png","static/image/图层_6.png","D:/static/arrow-right.png","static/image/xuanzhong.png","static/image/weixuanzhong.png","static/image/矩形 5315.png"],"sourcesContent":["export default \"__VITE_ASSET__9906b2be__\"","export default \"__VITE_ASSET__7d91eddf__\"","export default \"__VITE_ASSET__8549dfc3__\"","export default \"__VITE_ASSET__4a7099ec__\"","export default \"/static/arrow-right.png\"","export default \"__VITE_ASSET__02acdf5a__\"","export default \"__VITE_ASSET__c88d9237__\"","export default \"__VITE_ASSET__a9a9b464__\""],"names":[],"mappings":";AAAA,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;;;;;;;;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map new file mode 100644 index 0000000..46d192e --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"vendor.js","sources":["D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/shared/dist/shared.esm-bundler.js","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-shared/dist/uni-shared.es.js","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-vue/dist-x/vue.runtime.esm.js","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist-x/uni.api.esm.js","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/dist/index.esm.js","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist-x/uni.mp.esm.js"],"sourcesContent":["/**\r\n* @vue/shared v3.4.21\r\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\r\n* @license MIT\r\n**/\r\nfunction makeMap(str, expectsLowerCase) {\r\n const set = new Set(str.split(\",\"));\r\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\r\n}\r\n\r\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\r\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\r\nconst NOOP = () => {\r\n};\r\nconst NO = () => false;\r\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\r\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\r\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\r\nconst extend = Object.assign;\r\nconst remove = (arr, el) => {\r\n const i = arr.indexOf(el);\r\n if (i > -1) {\r\n arr.splice(i, 1);\r\n }\r\n};\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\r\nconst isArray = Array.isArray;\r\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\r\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\r\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\r\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\r\nconst isFunction = (val) => typeof val === \"function\";\r\nconst isString = (val) => typeof val === \"string\";\r\nconst isSymbol = (val) => typeof val === \"symbol\";\r\nconst isObject = (val) => val !== null && typeof val === \"object\";\r\nconst isPromise = (val) => {\r\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\r\n};\r\nconst objectToString = Object.prototype.toString;\r\nconst toTypeString = (value) => objectToString.call(value);\r\nconst toRawType = (value) => {\r\n return toTypeString(value).slice(8, -1);\r\n};\r\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\r\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\r\nconst isReservedProp = /* @__PURE__ */ makeMap(\r\n // the leading comma is intentional so empty string \"\" is also included\r\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\r\n);\r\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\r\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\r\n);\r\nconst cacheStringFunction = (fn) => {\r\n const cache = /* @__PURE__ */ Object.create(null);\r\n return (str) => {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n };\r\n};\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cacheStringFunction((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\r\n});\r\nconst hyphenateRE = /\\B([A-Z])/g;\r\nconst hyphenate = cacheStringFunction(\r\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\r\n);\r\nconst capitalize = cacheStringFunction((str) => {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n});\r\nconst toHandlerKey = cacheStringFunction((str) => {\r\n const s = str ? `on${capitalize(str)}` : ``;\r\n return s;\r\n});\r\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\r\nconst invokeArrayFns = (fns, arg) => {\r\n for (let i = 0; i < fns.length; i++) {\r\n fns[i](arg);\r\n }\r\n};\r\nconst def = (obj, key, value) => {\r\n Object.defineProperty(obj, key, {\r\n configurable: true,\r\n enumerable: false,\r\n value\r\n });\r\n};\r\nconst looseToNumber = (val) => {\r\n const n = parseFloat(val);\r\n return isNaN(n) ? val : n;\r\n};\r\nconst toNumber = (val) => {\r\n const n = isString(val) ? Number(val) : NaN;\r\n return isNaN(n) ? val : n;\r\n};\r\nlet _globalThis;\r\nconst getGlobalThis = () => {\r\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\r\n};\r\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\r\nfunction genPropsAccessExp(name) {\r\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\r\n}\r\n\r\nconst PatchFlags = {\r\n \"TEXT\": 1,\r\n \"1\": \"TEXT\",\r\n \"CLASS\": 2,\r\n \"2\": \"CLASS\",\r\n \"STYLE\": 4,\r\n \"4\": \"STYLE\",\r\n \"PROPS\": 8,\r\n \"8\": \"PROPS\",\r\n \"FULL_PROPS\": 16,\r\n \"16\": \"FULL_PROPS\",\r\n \"NEED_HYDRATION\": 32,\r\n \"32\": \"NEED_HYDRATION\",\r\n \"STABLE_FRAGMENT\": 64,\r\n \"64\": \"STABLE_FRAGMENT\",\r\n \"KEYED_FRAGMENT\": 128,\r\n \"128\": \"KEYED_FRAGMENT\",\r\n \"UNKEYED_FRAGMENT\": 256,\r\n \"256\": \"UNKEYED_FRAGMENT\",\r\n \"NEED_PATCH\": 512,\r\n \"512\": \"NEED_PATCH\",\r\n \"DYNAMIC_SLOTS\": 1024,\r\n \"1024\": \"DYNAMIC_SLOTS\",\r\n \"DEV_ROOT_FRAGMENT\": 2048,\r\n \"2048\": \"DEV_ROOT_FRAGMENT\",\r\n \"HOISTED\": -1,\r\n \"-1\": \"HOISTED\",\r\n \"BAIL\": -2,\r\n \"-2\": \"BAIL\"\r\n};\r\nconst PatchFlagNames = {\r\n [1]: `TEXT`,\r\n [2]: `CLASS`,\r\n [4]: `STYLE`,\r\n [8]: `PROPS`,\r\n [16]: `FULL_PROPS`,\r\n [32]: `NEED_HYDRATION`,\r\n [64]: `STABLE_FRAGMENT`,\r\n [128]: `KEYED_FRAGMENT`,\r\n [256]: `UNKEYED_FRAGMENT`,\r\n [512]: `NEED_PATCH`,\r\n [1024]: `DYNAMIC_SLOTS`,\r\n [2048]: `DEV_ROOT_FRAGMENT`,\r\n [-1]: `HOISTED`,\r\n [-2]: `BAIL`\r\n};\r\n\r\nconst ShapeFlags = {\r\n \"ELEMENT\": 1,\r\n \"1\": \"ELEMENT\",\r\n \"FUNCTIONAL_COMPONENT\": 2,\r\n \"2\": \"FUNCTIONAL_COMPONENT\",\r\n \"STATEFUL_COMPONENT\": 4,\r\n \"4\": \"STATEFUL_COMPONENT\",\r\n \"TEXT_CHILDREN\": 8,\r\n \"8\": \"TEXT_CHILDREN\",\r\n \"ARRAY_CHILDREN\": 16,\r\n \"16\": \"ARRAY_CHILDREN\",\r\n \"SLOTS_CHILDREN\": 32,\r\n \"32\": \"SLOTS_CHILDREN\",\r\n \"TELEPORT\": 64,\r\n \"64\": \"TELEPORT\",\r\n \"SUSPENSE\": 128,\r\n \"128\": \"SUSPENSE\",\r\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\r\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\r\n \"COMPONENT_KEPT_ALIVE\": 512,\r\n \"512\": \"COMPONENT_KEPT_ALIVE\",\r\n \"COMPONENT\": 6,\r\n \"6\": \"COMPONENT\"\r\n};\r\n\r\nconst SlotFlags = {\r\n \"STABLE\": 1,\r\n \"1\": \"STABLE\",\r\n \"DYNAMIC\": 2,\r\n \"2\": \"DYNAMIC\",\r\n \"FORWARDED\": 3,\r\n \"3\": \"FORWARDED\"\r\n};\r\nconst slotFlagsText = {\r\n [1]: \"STABLE\",\r\n [2]: \"DYNAMIC\",\r\n [3]: \"FORWARDED\"\r\n};\r\n\r\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error\";\r\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\r\nconst isGloballyWhitelisted = isGloballyAllowed;\r\n\r\nconst range = 2;\r\nfunction generateCodeFrame(source, start = 0, end = source.length) {\r\n let lines = source.split(/(\\r?\\n)/);\r\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\r\n lines = lines.filter((_, idx) => idx % 2 === 0);\r\n let count = 0;\r\n const res = [];\r\n for (let i = 0; i < lines.length; i++) {\r\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\r\n if (count >= start) {\r\n for (let j = i - range; j <= i + range || end > count; j++) {\r\n if (j < 0 || j >= lines.length)\r\n continue;\r\n const line = j + 1;\r\n res.push(\r\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\r\n );\r\n const lineLength = lines[j].length;\r\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\r\n if (j === i) {\r\n const pad = start - (count - (lineLength + newLineSeqLength));\r\n const length = Math.max(\r\n 1,\r\n end > count ? lineLength - pad : end - start\r\n );\r\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\r\n } else if (j > i) {\r\n if (end > count) {\r\n const length = Math.max(Math.min(end - count, lineLength), 1);\r\n res.push(` | ` + \"^\".repeat(length));\r\n }\r\n count += lineLength + newLineSeqLength;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return res.join(\"\\n\");\r\n}\r\n\r\nfunction normalizeStyle(value) {\r\n if (isArray(value)) {\r\n const res = {};\r\n for (let i = 0; i < value.length; i++) {\r\n const item = value[i];\r\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\r\n if (normalized) {\r\n for (const key in normalized) {\r\n res[key] = normalized[key];\r\n }\r\n }\r\n }\r\n return res;\r\n } else if (isString(value) || isObject(value)) {\r\n return value;\r\n }\r\n}\r\nconst listDelimiterRE = /;(?![^(]*\\))/g;\r\nconst propertyDelimiterRE = /:([^]+)/;\r\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\r\nfunction parseStringStyle(cssText) {\r\n const ret = {};\r\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\r\n if (item) {\r\n const tmp = item.split(propertyDelimiterRE);\r\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\r\n }\r\n });\r\n return ret;\r\n}\r\nfunction stringifyStyle(styles) {\r\n let ret = \"\";\r\n if (!styles || isString(styles)) {\r\n return ret;\r\n }\r\n for (const key in styles) {\r\n const value = styles[key];\r\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\r\n if (isString(value) || typeof value === \"number\") {\r\n ret += `${normalizedKey}:${value};`;\r\n }\r\n }\r\n return ret;\r\n}\r\nfunction normalizeClass(value) {\r\n let res = \"\";\r\n if (isString(value)) {\r\n res = value;\r\n } else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n const normalized = normalizeClass(value[i]);\r\n if (normalized) {\r\n res += normalized + \" \";\r\n }\r\n }\r\n } else if (isObject(value)) {\r\n for (const name in value) {\r\n if (value[name]) {\r\n res += name + \" \";\r\n }\r\n }\r\n }\r\n return res.trim();\r\n}\r\nfunction normalizeProps(props) {\r\n if (!props)\r\n return null;\r\n let { class: klass, style } = props;\r\n if (klass && !isString(klass)) {\r\n props.class = normalizeClass(klass);\r\n }\r\n if (style) {\r\n props.style = normalizeStyle(style);\r\n }\r\n return props;\r\n}\r\n\r\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\r\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\r\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\r\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\r\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\r\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\r\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\r\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\r\n\r\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\r\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\r\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\r\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\r\n);\r\nfunction includeBooleanAttr(value) {\r\n return !!value || value === \"\";\r\n}\r\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\r\nconst attrValidationCache = {};\r\nfunction isSSRSafeAttrName(name) {\r\n if (attrValidationCache.hasOwnProperty(name)) {\r\n return attrValidationCache[name];\r\n }\r\n const isUnsafe = unsafeAttrCharRE.test(name);\r\n if (isUnsafe) {\r\n console.error(`unsafe attribute name: ${name}`);\r\n }\r\n return attrValidationCache[name] = !isUnsafe;\r\n}\r\nconst propsToAttrMap = {\r\n acceptCharset: \"accept-charset\",\r\n className: \"class\",\r\n htmlFor: \"for\",\r\n httpEquiv: \"http-equiv\"\r\n};\r\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\r\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\r\n);\r\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\r\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\r\n);\r\nfunction isRenderableAttrValue(value) {\r\n if (value == null) {\r\n return false;\r\n }\r\n const type = typeof value;\r\n return type === \"string\" || type === \"number\" || type === \"boolean\";\r\n}\r\n\r\nconst escapeRE = /[\"'&<>]/;\r\nfunction escapeHtml(string) {\r\n const str = \"\" + string;\r\n const match = escapeRE.exec(str);\r\n if (!match) {\r\n return str;\r\n }\r\n let html = \"\";\r\n let escaped;\r\n let index;\r\n let lastIndex = 0;\r\n for (index = match.index; index < str.length; index++) {\r\n switch (str.charCodeAt(index)) {\r\n case 34:\r\n escaped = \""\";\r\n break;\r\n case 38:\r\n escaped = \"&\";\r\n break;\r\n case 39:\r\n escaped = \"'\";\r\n break;\r\n case 60:\r\n escaped = \"<\";\r\n break;\r\n case 62:\r\n escaped = \">\";\r\n break;\r\n default:\r\n continue;\r\n }\r\n if (lastIndex !== index) {\r\n html += str.slice(lastIndex, index);\r\n }\r\n lastIndex = index + 1;\r\n html += escaped;\r\n }\r\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\r\n}\r\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\r\n}\r\n\r\nconst toDisplayString = (val) => {\r\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\r\n};\r\nconst replacer = (_key, val) => {\r\n if (val && val.__v_isRef) {\r\n return replacer(_key, val.value);\r\n } else if (isMap(val)) {\r\n return {\r\n [`Map(${val.size})`]: [...val.entries()].reduce(\r\n (entries, [key, val2], i) => {\r\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\r\n return entries;\r\n },\r\n {}\r\n )\r\n };\r\n } else if (isSet(val)) {\r\n return {\r\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\r\n };\r\n } else if (isSymbol(val)) {\r\n return stringifySymbol(val);\r\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\r\n return String(val);\r\n }\r\n return val;\r\n};\r\nconst stringifySymbol = (v, i = \"\") => {\r\n var _a;\r\n return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;\r\n};\r\n\r\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\r\n","const isObject = (val) => val !== null && typeof val === 'object';\r\nconst defaultDelimiters = ['{', '}'];\r\nclass BaseFormatter {\r\n constructor() {\r\n this._caches = Object.create(null);\r\n }\r\n interpolate(message, values, delimiters = defaultDelimiters) {\r\n if (!values) {\r\n return [message];\r\n }\r\n let tokens = this._caches[message];\r\n if (!tokens) {\r\n tokens = parse(message, delimiters);\r\n this._caches[message] = tokens;\r\n }\r\n return compile(tokens, values);\r\n }\r\n}\r\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\r\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\r\nfunction parse(format, [startDelimiter, endDelimiter]) {\r\n const tokens = [];\r\n let position = 0;\r\n let text = '';\r\n while (position < format.length) {\r\n let char = format[position++];\r\n if (char === startDelimiter) {\r\n if (text) {\r\n tokens.push({ type: 'text', value: text });\r\n }\r\n text = '';\r\n let sub = '';\r\n char = format[position++];\r\n while (char !== undefined && char !== endDelimiter) {\r\n sub += char;\r\n char = format[position++];\r\n }\r\n const isClosed = char === endDelimiter;\r\n const type = RE_TOKEN_LIST_VALUE.test(sub)\r\n ? 'list'\r\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\r\n ? 'named'\r\n : 'unknown';\r\n tokens.push({ value: sub, type });\r\n }\r\n // else if (char === '%') {\r\n // // when found rails i18n syntax, skip text capture\r\n // if (format[position] !== '{') {\r\n // text += char\r\n // }\r\n // }\r\n else {\r\n text += char;\r\n }\r\n }\r\n text && tokens.push({ type: 'text', value: text });\r\n return tokens;\r\n}\r\nfunction compile(tokens, values) {\r\n const compiled = [];\r\n let index = 0;\r\n const mode = Array.isArray(values)\r\n ? 'list'\r\n : isObject(values)\r\n ? 'named'\r\n : 'unknown';\r\n if (mode === 'unknown') {\r\n return compiled;\r\n }\r\n while (index < tokens.length) {\r\n const token = tokens[index];\r\n switch (token.type) {\r\n case 'text':\r\n compiled.push(token.value);\r\n break;\r\n case 'list':\r\n compiled.push(values[parseInt(token.value, 10)]);\r\n break;\r\n case 'named':\r\n if (mode === 'named') {\r\n compiled.push(values[token.value]);\r\n }\r\n else {\r\n if (process.env.NODE_ENV !== 'production') {\r\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\r\n }\r\n }\r\n break;\r\n case 'unknown':\r\n if (process.env.NODE_ENV !== 'production') {\r\n console.warn(`Detect 'unknown' type of token!`);\r\n }\r\n break;\r\n }\r\n index++;\r\n }\r\n return compiled;\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\r\nconst defaultFormatter = new BaseFormatter();\r\nfunction include(str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1);\r\n}\r\nfunction startsWith(str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0);\r\n}\r\nfunction normalizeLocale(locale, messages) {\r\n if (!locale) {\r\n return;\r\n }\r\n locale = locale.trim().replace(/_/g, '-');\r\n if (messages && messages[locale]) {\r\n return locale;\r\n }\r\n locale = locale.toLowerCase();\r\n if (locale === 'chinese') {\r\n // 支付宝\r\n return LOCALE_ZH_HANS;\r\n }\r\n if (locale.indexOf('zh') === 0) {\r\n if (locale.indexOf('-hans') > -1) {\r\n return LOCALE_ZH_HANS;\r\n }\r\n if (locale.indexOf('-hant') > -1) {\r\n return LOCALE_ZH_HANT;\r\n }\r\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n return LOCALE_ZH_HANT;\r\n }\r\n return LOCALE_ZH_HANS;\r\n }\r\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\r\n if (messages && Object.keys(messages).length > 0) {\r\n locales = Object.keys(messages);\r\n }\r\n const lang = startsWith(locale, locales);\r\n if (lang) {\r\n return lang;\r\n }\r\n}\r\nclass I18n {\r\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\r\n this.locale = LOCALE_EN;\r\n this.fallbackLocale = LOCALE_EN;\r\n this.message = {};\r\n this.messages = {};\r\n this.watchers = [];\r\n if (fallbackLocale) {\r\n this.fallbackLocale = fallbackLocale;\r\n }\r\n this.formater = formater || defaultFormatter;\r\n this.messages = messages || {};\r\n this.setLocale(locale || LOCALE_EN);\r\n if (watcher) {\r\n this.watchLocale(watcher);\r\n }\r\n }\r\n setLocale(locale) {\r\n const oldLocale = this.locale;\r\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\r\n if (!this.messages[this.locale]) {\r\n // 可能初始化时不存在\r\n this.messages[this.locale] = {};\r\n }\r\n this.message = this.messages[this.locale];\r\n // 仅发生变化时,通知\r\n if (oldLocale !== this.locale) {\r\n this.watchers.forEach((watcher) => {\r\n watcher(this.locale, oldLocale);\r\n });\r\n }\r\n }\r\n getLocale() {\r\n return this.locale;\r\n }\r\n watchLocale(fn) {\r\n const index = this.watchers.push(fn) - 1;\r\n return () => {\r\n this.watchers.splice(index, 1);\r\n };\r\n }\r\n add(locale, message, override = true) {\r\n const curMessages = this.messages[locale];\r\n if (curMessages) {\r\n if (override) {\r\n Object.assign(curMessages, message);\r\n }\r\n else {\r\n Object.keys(message).forEach((key) => {\r\n if (!hasOwn(curMessages, key)) {\r\n curMessages[key] = message[key];\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n this.messages[locale] = message;\r\n }\r\n }\r\n f(message, values, delimiters) {\r\n return this.formater.interpolate(message, values, delimiters).join('');\r\n }\r\n t(key, locale, values) {\r\n let message = this.message;\r\n if (typeof locale === 'string') {\r\n locale = normalizeLocale(locale, this.messages);\r\n locale && (message = this.messages[locale]);\r\n }\r\n else {\r\n values = locale;\r\n }\r\n if (!hasOwn(message, key)) {\r\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\r\n return key;\r\n }\r\n return this.formater.interpolate(message[key], values).join('');\r\n }\r\n}\r\n\r\nfunction watchAppLocale(appVm, i18n) {\r\n // 需要保证 watch 的触发在组件渲染之前\r\n if (appVm.$watchLocale) {\r\n // vue2\r\n appVm.$watchLocale((newLocale) => {\r\n i18n.setLocale(newLocale);\r\n });\r\n }\r\n else {\r\n appVm.$watch(() => appVm.$locale, (newLocale) => {\r\n i18n.setLocale(newLocale);\r\n });\r\n }\r\n}\r\nfunction getDefaultLocale() {\r\n if (typeof uni !== 'undefined' && uni.getLocale) {\r\n return uni.getLocale();\r\n }\r\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\r\n if (typeof global !== 'undefined' && global.getLocale) {\r\n return global.getLocale();\r\n }\r\n return LOCALE_EN;\r\n}\r\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\r\n // 兼容旧版本入参\r\n if (typeof locale !== 'string') {\r\n // ;[locale, messages] = [\r\n // messages as unknown as string,\r\n // locale as unknown as LocaleMessages,\r\n // ]\r\n // 暂不使用数组解构,uts编译器暂未支持。\r\n const options = [\r\n messages,\r\n locale,\r\n ];\r\n locale = options[0];\r\n messages = options[1];\r\n }\r\n if (typeof locale !== 'string') {\r\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\r\n locale = getDefaultLocale();\r\n }\r\n if (typeof fallbackLocale !== 'string') {\r\n fallbackLocale =\r\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\r\n LOCALE_EN;\r\n }\r\n const i18n = new I18n({\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n watcher,\r\n });\r\n let t = (key, values) => {\r\n if (typeof getApp !== 'function') {\r\n // app view\r\n /* eslint-disable no-func-assign */\r\n t = function (key, values) {\r\n return i18n.t(key, values);\r\n };\r\n }\r\n else {\r\n let isWatchedAppLocale = false;\r\n t = function (key, values) {\r\n const appVm = getApp().$vm;\r\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\r\n // options: {\r\n // \ttype: Array,\r\n // \tdefault () {\r\n // \t\treturn [{\r\n // \t\t\ticon: 'shop',\r\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\r\n // \t\t}, {\r\n // \t\t\ticon: 'cart',\r\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\r\n // \t\t}]\r\n // \t}\r\n // },\r\n if (appVm) {\r\n // 触发响应式\r\n appVm.$locale;\r\n if (!isWatchedAppLocale) {\r\n isWatchedAppLocale = true;\r\n watchAppLocale(appVm, i18n);\r\n }\r\n }\r\n return i18n.t(key, values);\r\n };\r\n }\r\n return t(key, values);\r\n };\r\n return {\r\n i18n,\r\n f(message, values, delimiters) {\r\n return i18n.f(message, values, delimiters);\r\n },\r\n t(key, values) {\r\n return t(key, values);\r\n },\r\n add(locale, message, override = true) {\r\n return i18n.add(locale, message, override);\r\n },\r\n watch(fn) {\r\n return i18n.watchLocale(fn);\r\n },\r\n getLocale() {\r\n return i18n.getLocale();\r\n },\r\n setLocale(newLocale) {\r\n return i18n.setLocale(newLocale);\r\n },\r\n };\r\n}\r\n\r\nconst isString = (val) => typeof val === 'string';\r\nlet formater;\r\nfunction hasI18nJson(jsonObj, delimiters) {\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n return walkJsonObj(jsonObj, (jsonObj, key) => {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n if (isI18nStr(value, delimiters)) {\r\n return true;\r\n }\r\n }\r\n else {\r\n return hasI18nJson(value, delimiters);\r\n }\r\n });\r\n}\r\nfunction parseI18nJson(jsonObj, values, delimiters) {\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n walkJsonObj(jsonObj, (jsonObj, key) => {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n if (isI18nStr(value, delimiters)) {\r\n jsonObj[key] = compileStr(value, values, delimiters);\r\n }\r\n }\r\n else {\r\n parseI18nJson(value, values, delimiters);\r\n }\r\n });\r\n return jsonObj;\r\n}\r\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\r\n if (!isI18nStr(jsonStr, delimiters)) {\r\n return jsonStr;\r\n }\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n const localeValues = [];\r\n Object.keys(locales).forEach((name) => {\r\n if (name !== locale) {\r\n localeValues.push({\r\n locale: name,\r\n values: locales[name],\r\n });\r\n }\r\n });\r\n localeValues.unshift({ locale, values: locales[locale] });\r\n try {\r\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\r\n }\r\n catch (e) { }\r\n return jsonStr;\r\n}\r\nfunction isI18nStr(value, delimiters) {\r\n return value.indexOf(delimiters[0]) > -1;\r\n}\r\nfunction compileStr(value, values, delimiters) {\r\n return formater.interpolate(value, values, delimiters).join('');\r\n}\r\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n // 存在国际化\r\n if (isI18nStr(value, delimiters)) {\r\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\r\n if (localeValues.length > 1) {\r\n // 格式化国际化语言\r\n const valueLocales = (jsonObj[key + 'Locales'] = {});\r\n localeValues.forEach((localValue) => {\r\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n compileJsonObj(value, localeValues, delimiters);\r\n }\r\n}\r\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\r\n walkJsonObj(jsonObj, (jsonObj, key) => {\r\n compileValue(jsonObj, key, localeValues, delimiters);\r\n });\r\n return jsonObj;\r\n}\r\nfunction walkJsonObj(jsonObj, walk) {\r\n if (Array.isArray(jsonObj)) {\r\n for (let i = 0; i < jsonObj.length; i++) {\r\n if (walk(jsonObj, i)) {\r\n return true;\r\n }\r\n }\r\n }\r\n else if (isObject(jsonObj)) {\r\n for (const key in jsonObj) {\r\n if (walk(jsonObj, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nfunction resolveLocale(locales) {\r\n return (locale) => {\r\n if (!locale) {\r\n return locale;\r\n }\r\n locale = normalizeLocale(locale) || locale;\r\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\r\n };\r\n}\r\nfunction resolveLocaleChain(locale) {\r\n const chain = [];\r\n const tokens = locale.split('-');\r\n while (tokens.length) {\r\n chain.push(tokens.join('-'));\r\n tokens.pop();\r\n }\r\n return chain;\r\n}\r\n\r\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\r\n","import { isHTMLTag, isSVGTag, isString, isFunction, isPlainObject, hyphenate, camelize, normalizeStyle as normalizeStyle$1, parseStringStyle, isArray, normalizeClass as normalizeClass$1, extend, capitalize } from '@vue/shared';\r\n\r\nconst BUILT_IN_TAG_NAMES = [\r\n 'ad',\r\n 'ad-content-page',\r\n 'ad-draw',\r\n 'audio',\r\n 'button',\r\n 'camera',\r\n 'canvas',\r\n 'checkbox',\r\n 'checkbox-group',\r\n 'cover-image',\r\n 'cover-view',\r\n 'editor',\r\n 'form',\r\n 'functional-page-navigator',\r\n 'icon',\r\n 'image',\r\n 'input',\r\n 'label',\r\n 'live-player',\r\n 'live-pusher',\r\n 'map',\r\n 'movable-area',\r\n 'movable-view',\r\n 'navigator',\r\n 'official-account',\r\n 'open-data',\r\n 'picker',\r\n 'picker-view',\r\n 'picker-view-column',\r\n 'progress',\r\n 'radio',\r\n 'radio-group',\r\n 'rich-text',\r\n 'scroll-view',\r\n 'slider',\r\n 'swiper',\r\n 'swiper-item',\r\n 'switch',\r\n 'text',\r\n 'textarea',\r\n 'video',\r\n 'view',\r\n 'web-view',\r\n 'location-picker',\r\n 'location-view',\r\n];\r\nconst BUILT_IN_TAGS = BUILT_IN_TAG_NAMES.map((tag) => 'uni-' + tag);\r\nconst TAGS = [\r\n 'app',\r\n 'layout',\r\n 'content',\r\n 'main',\r\n 'top-window',\r\n 'left-window',\r\n 'right-window',\r\n 'tabbar',\r\n 'page',\r\n 'page-head',\r\n 'page-wrapper',\r\n 'page-body',\r\n 'page-refresh',\r\n 'actionsheet',\r\n 'modal',\r\n 'toast',\r\n 'resize-sensor',\r\n 'shadow-root',\r\n].map((tag) => 'uni-' + tag);\r\nconst NVUE_BUILT_IN_TAGS = [\r\n 'svg',\r\n 'view',\r\n 'a',\r\n 'div',\r\n 'img',\r\n 'image',\r\n 'text',\r\n 'span',\r\n 'input',\r\n 'textarea',\r\n 'spinner',\r\n 'select',\r\n // slider 被自定义 u-slider 替代\r\n // 'slider',\r\n 'slider-neighbor',\r\n 'indicator',\r\n 'canvas',\r\n 'list',\r\n 'cell',\r\n 'header',\r\n 'loading',\r\n 'loading-indicator',\r\n 'refresh',\r\n 'scrollable',\r\n 'scroller',\r\n 'video',\r\n 'web',\r\n 'embed',\r\n 'tabbar',\r\n 'tabheader',\r\n 'datepicker',\r\n 'timepicker',\r\n 'marquee',\r\n 'countdown',\r\n 'dc-switch',\r\n 'waterfall',\r\n 'richtext',\r\n 'recycle-list',\r\n 'u-scalable',\r\n 'barcode',\r\n 'gcanvas',\r\n];\r\nconst UVUE_BUILT_IN_TAGS = [\r\n 'ad',\r\n 'ad-content-page',\r\n 'ad-draw',\r\n 'native-view',\r\n 'loading-indicator',\r\n 'list-view',\r\n 'list-item',\r\n 'swiper',\r\n 'swiper-item',\r\n 'rich-text',\r\n 'sticky-view',\r\n 'sticky-header',\r\n 'sticky-section',\r\n // 自定义\r\n 'uni-slider',\r\n // 原生实现\r\n 'button',\r\n 'nested-scroll-header',\r\n 'nested-scroll-body',\r\n 'waterflow',\r\n 'flow-item',\r\n];\r\nconst UVUE_WEB_BUILT_IN_TAGS = [\r\n 'list-view',\r\n 'list-item',\r\n 'sticky-section',\r\n 'sticky-header',\r\n 'cloud-db-element',\r\n].map((tag) => 'uni-' + tag);\r\nconst UVUE_IOS_BUILT_IN_TAGS = [\r\n 'scroll-view',\r\n 'web-view',\r\n 'slider',\r\n 'form',\r\n 'switch',\r\n];\r\nconst NVUE_U_BUILT_IN_TAGS = [\r\n 'u-text',\r\n 'u-image',\r\n 'u-input',\r\n 'u-textarea',\r\n 'u-video',\r\n 'u-web-view',\r\n 'u-slider',\r\n 'u-ad',\r\n 'u-ad-draw',\r\n 'u-rich-text',\r\n];\r\nconst UNI_UI_CONFLICT_TAGS = ['list-item'].map((tag) => 'uni-' + tag);\r\nfunction isBuiltInComponent(tag) {\r\n if (UNI_UI_CONFLICT_TAGS.indexOf(tag) !== -1) {\r\n return false;\r\n }\r\n // h5 平台会被转换为 v-uni-\r\n const realTag = 'uni-' + tag.replace('v-uni-', '');\r\n // TODO 区分x和非x\r\n return (BUILT_IN_TAGS.indexOf(realTag) !== -1 ||\r\n UVUE_WEB_BUILT_IN_TAGS.indexOf(realTag) !== -1);\r\n}\r\nfunction isH5CustomElement(tag, isX = false) {\r\n if (isX && UVUE_WEB_BUILT_IN_TAGS.indexOf(tag) !== -1) {\r\n return true;\r\n }\r\n return TAGS.indexOf(tag) !== -1 || BUILT_IN_TAGS.indexOf(tag) !== -1;\r\n}\r\nfunction isUniXElement(name) {\r\n return /^I?Uni.*Element(?:Impl)?$/.test(name);\r\n}\r\nfunction isH5NativeTag(tag) {\r\n return (tag !== 'head' &&\r\n (isHTMLTag(tag) || isSVGTag(tag)) &&\r\n !isBuiltInComponent(tag));\r\n}\r\nfunction isAppNativeTag(tag) {\r\n return isHTMLTag(tag) || isSVGTag(tag) || isBuiltInComponent(tag);\r\n}\r\nconst NVUE_CUSTOM_COMPONENTS = [\r\n 'ad',\r\n 'ad-draw',\r\n 'button',\r\n 'checkbox-group',\r\n 'checkbox',\r\n 'form',\r\n 'icon',\r\n 'label',\r\n 'movable-area',\r\n 'movable-view',\r\n 'navigator',\r\n 'picker',\r\n 'progress',\r\n 'radio-group',\r\n 'radio',\r\n 'rich-text',\r\n 'swiper-item',\r\n 'swiper',\r\n 'switch',\r\n 'slider',\r\n 'picker-view',\r\n 'picker-view-column',\r\n];\r\n// 内置的easycom组件\r\nconst UVUE_BUILT_IN_EASY_COMPONENTS = ['map'];\r\nfunction isAppUVueBuiltInEasyComponent(tag) {\r\n return UVUE_BUILT_IN_EASY_COMPONENTS.includes(tag);\r\n}\r\n// 主要是指前端实现的组件列表\r\nconst UVUE_CUSTOM_COMPONENTS = [\r\n ...NVUE_CUSTOM_COMPONENTS,\r\n ...UVUE_BUILT_IN_EASY_COMPONENTS,\r\n];\r\nfunction isAppUVueNativeTag(tag) {\r\n // 前端实现的内置组件都会注册一个根组件\r\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\r\n return true;\r\n }\r\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (UVUE_CUSTOM_COMPONENTS.includes(tag)) {\r\n return false;\r\n }\r\n if (isBuiltInComponent(tag)) {\r\n return true;\r\n }\r\n // u-text,u-video...\r\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isAppIOSUVueNativeTag(tag) {\r\n // 前端实现的内置组件都会注册一个根组件\r\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\r\n return true;\r\n }\r\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (UVUE_IOS_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isAppNVueNativeTag(tag) {\r\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (NVUE_CUSTOM_COMPONENTS.includes(tag)) {\r\n return false;\r\n }\r\n if (isBuiltInComponent(tag)) {\r\n return true;\r\n }\r\n // u-text,u-video...\r\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isMiniProgramNativeTag(tag) {\r\n return isBuiltInComponent(tag);\r\n}\r\nfunction isMiniProgramUVueNativeTag(tag) {\r\n // 小程序平台内置的自定义元素,会被转换为 view\r\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\r\n return true;\r\n }\r\n return isBuiltInComponent(tag);\r\n}\r\nfunction createIsCustomElement(tags = []) {\r\n return function isCustomElement(tag) {\r\n return tags.includes(tag);\r\n };\r\n}\r\nfunction isComponentTag(tag) {\r\n return tag[0].toLowerCase() + tag.slice(1) === 'component';\r\n}\r\nconst COMPONENT_SELECTOR_PREFIX = 'uni-';\r\nconst COMPONENT_PREFIX = 'v-' + COMPONENT_SELECTOR_PREFIX;\r\n\r\nconst LINEFEED = '\\n';\r\nconst NAVBAR_HEIGHT = 44;\r\nconst TABBAR_HEIGHT = 50;\r\nconst ON_REACH_BOTTOM_DISTANCE = 50;\r\nconst RESPONSIVE_MIN_WIDTH = 768;\r\nconst UNI_STORAGE_LOCALE = 'UNI_LOCALE';\r\n// quickapp-webview 不能使用 default 作为插槽名称\r\nconst SLOT_DEFAULT_NAME = 'd';\r\nconst COMPONENT_NAME_PREFIX = 'VUni';\r\nconst I18N_JSON_DELIMITERS = ['%', '%'];\r\nconst PRIMARY_COLOR = '#007aff';\r\nconst SELECTED_COLOR = '#0062cc'; // 选中的颜色,如选项卡默认的选中颜色\r\nconst BACKGROUND_COLOR = '#f7f7f7'; // 背景色,如标题栏默认背景色\r\nconst UNI_SSR = '__uniSSR';\r\nconst UNI_SSR_TITLE = 'title';\r\nconst UNI_SSR_STORE = 'store';\r\nconst UNI_SSR_DATA = 'data';\r\nconst UNI_SSR_GLOBAL_DATA = 'globalData';\r\nconst SCHEME_RE = /^([a-z-]+:)?\\/\\//i;\r\nconst DATA_RE = /^data:.*,.*/;\r\nconst WEB_INVOKE_APPSERVICE = 'WEB_INVOKE_APPSERVICE';\r\nconst WXS_PROTOCOL = 'wxs://';\r\nconst JSON_PROTOCOL = 'json://';\r\nconst WXS_MODULES = 'wxsModules';\r\nconst RENDERJS_MODULES = 'renderjsModules';\r\n// lifecycle\r\n// App and Page\r\nconst ON_SHOW = 'onShow';\r\nconst ON_HIDE = 'onHide';\r\n//App\r\nconst ON_LAUNCH = 'onLaunch';\r\nconst ON_ERROR = 'onError';\r\nconst ON_THEME_CHANGE = 'onThemeChange';\r\nconst OFF_THEME_CHANGE = 'offThemeChange';\r\nconst ON_HOST_THEME_CHANGE = 'onHostThemeChange';\r\nconst OFF_HOST_THEME_CHANGE = 'offHostThemeChange';\r\nconst ON_KEYBOARD_HEIGHT_CHANGE = 'onKeyboardHeightChange';\r\nconst ON_PAGE_NOT_FOUND = 'onPageNotFound';\r\nconst ON_UNHANDLE_REJECTION = 'onUnhandledRejection';\r\nconst ON_EXIT = 'onExit';\r\n//Page\r\nconst ON_LOAD = 'onLoad';\r\nconst ON_READY = 'onReady';\r\nconst ON_UNLOAD = 'onUnload';\r\n// 百度特有\r\nconst ON_INIT = 'onInit';\r\n// 微信特有\r\nconst ON_SAVE_EXIT_STATE = 'onSaveExitState';\r\nconst ON_RESIZE = 'onResize';\r\nconst ON_BACK_PRESS = 'onBackPress';\r\nconst ON_PAGE_SCROLL = 'onPageScroll';\r\nconst ON_TAB_ITEM_TAP = 'onTabItemTap';\r\nconst ON_REACH_BOTTOM = 'onReachBottom';\r\nconst ON_PULL_DOWN_REFRESH = 'onPullDownRefresh';\r\nconst ON_SHARE_TIMELINE = 'onShareTimeline';\r\nconst ON_SHARE_CHAT = 'onShareChat'; // xhs-share\r\nconst ON_ADD_TO_FAVORITES = 'onAddToFavorites';\r\nconst ON_SHARE_APP_MESSAGE = 'onShareAppMessage';\r\n// navigationBar\r\nconst ON_NAVIGATION_BAR_BUTTON_TAP = 'onNavigationBarButtonTap';\r\nconst ON_NAVIGATION_BAR_CHANGE = 'onNavigationBarChange';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = 'onNavigationBarSearchInputClicked';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = 'onNavigationBarSearchInputChanged';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = 'onNavigationBarSearchInputConfirmed';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = 'onNavigationBarSearchInputFocusChanged';\r\n// framework\r\nconst ON_APP_ENTER_FOREGROUND = 'onAppEnterForeground';\r\nconst ON_APP_ENTER_BACKGROUND = 'onAppEnterBackground';\r\nconst ON_WEB_INVOKE_APP_SERVICE = 'onWebInvokeAppService';\r\nconst ON_WXS_INVOKE_CALL_METHOD = 'onWxsInvokeCallMethod';\r\n// mergeVirtualHostAttributes\r\nconst VIRTUAL_HOST_STYLE = 'virtualHostStyle';\r\nconst VIRTUAL_HOST_CLASS = 'virtualHostClass';\r\nconst VIRTUAL_HOST_HIDDEN = 'virtualHostHidden';\r\nconst VIRTUAL_HOST_ID = 'virtualHostId';\r\n\r\nfunction cache(fn) {\r\n const cache = Object.create(null);\r\n return (str) => {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n };\r\n}\r\nfunction cacheStringFunction(fn) {\r\n return cache(fn);\r\n}\r\nfunction getLen(str = '') {\r\n return ('' + str).replace(/[^\\x00-\\xff]/g, '**').length;\r\n}\r\nfunction hasLeadingSlash(str) {\r\n return str.indexOf('/') === 0;\r\n}\r\nfunction addLeadingSlash(str) {\r\n return hasLeadingSlash(str) ? str : '/' + str;\r\n}\r\nfunction removeLeadingSlash(str) {\r\n return hasLeadingSlash(str) ? str.slice(1) : str;\r\n}\r\nconst invokeArrayFns = (fns, arg) => {\r\n let ret;\r\n for (let i = 0; i < fns.length; i++) {\r\n ret = fns[i](arg);\r\n }\r\n return ret;\r\n};\r\nfunction updateElementStyle(element, styles) {\r\n for (const attrName in styles) {\r\n element.style[attrName] = styles[attrName];\r\n }\r\n}\r\nfunction once(fn, ctx = null) {\r\n let res;\r\n return ((...args) => {\r\n if (fn) {\r\n res = fn.apply(ctx, args);\r\n fn = null;\r\n }\r\n return res;\r\n });\r\n}\r\nconst sanitise = (val) => (val && JSON.parse(JSON.stringify(val))) || val;\r\nconst _completeValue = (value) => (value > 9 ? value : '0' + value);\r\nfunction formatDateTime({ date = new Date(), mode = 'date' }) {\r\n if (mode === 'time') {\r\n return (_completeValue(date.getHours()) + ':' + _completeValue(date.getMinutes()));\r\n }\r\n else {\r\n return (date.getFullYear() +\r\n '-' +\r\n _completeValue(date.getMonth() + 1) +\r\n '-' +\r\n _completeValue(date.getDate()));\r\n }\r\n}\r\nfunction callOptions(options, data) {\r\n options = options || {};\r\n if (isString(data)) {\r\n data = {\r\n errMsg: data,\r\n };\r\n }\r\n if (/:ok$/.test(data.errMsg)) {\r\n if (isFunction(options.success)) {\r\n options.success(data);\r\n }\r\n }\r\n else {\r\n if (isFunction(options.fail)) {\r\n options.fail(data);\r\n }\r\n }\r\n if (isFunction(options.complete)) {\r\n options.complete(data);\r\n }\r\n}\r\nfunction getValueByDataPath(obj, path) {\r\n if (!isString(path)) {\r\n return;\r\n }\r\n path = path.replace(/\\[(\\d+)\\]/g, '.$1');\r\n const parts = path.split('.');\r\n let key = parts[0];\r\n if (!obj) {\r\n obj = {};\r\n }\r\n if (parts.length === 1) {\r\n return obj[key];\r\n }\r\n return getValueByDataPath(obj[key], parts.slice(1).join('.'));\r\n}\r\nfunction sortObject(obj) {\r\n let sortObj = {};\r\n if (isPlainObject(obj)) {\r\n Object.keys(obj)\r\n .sort()\r\n .forEach((key) => {\r\n const _key = key;\r\n sortObj[_key] = obj[_key];\r\n });\r\n }\r\n return !Object.keys(sortObj) ? obj : sortObj;\r\n}\r\nfunction getGlobalOnce() {\r\n if (typeof globalThis !== 'undefined') {\r\n return globalThis;\r\n }\r\n // worker\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n // browser\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n // nodejs\r\n // if (typeof global !== 'undefined') {\r\n // return global\r\n // }\r\n function g() {\r\n return this;\r\n }\r\n if (typeof g() !== 'undefined') {\r\n return g();\r\n }\r\n return (function () {\r\n return new Function('return this')();\r\n })();\r\n}\r\nlet g = undefined;\r\nfunction getGlobal() {\r\n if (g) {\r\n return g;\r\n }\r\n g = getGlobalOnce();\r\n return g;\r\n}\r\n\r\nfunction isComponentInternalInstance(vm) {\r\n return !!vm.appContext;\r\n}\r\nfunction resolveComponentInstance(instance) {\r\n return (instance &&\r\n (isComponentInternalInstance(instance) ? instance.proxy : instance));\r\n}\r\nfunction resolveOwnerVm(vm) {\r\n if (!vm) {\r\n return;\r\n }\r\n let componentName = vm.type.name;\r\n while (componentName && isBuiltInComponent(hyphenate(componentName))) {\r\n // ownerInstance 内置组件需要使用父 vm\r\n vm = vm.parent;\r\n componentName = vm.type.name;\r\n }\r\n return vm.proxy;\r\n}\r\nfunction isElement(el) {\r\n // Element\r\n return el.nodeType === 1;\r\n}\r\nfunction resolveOwnerEl(instance, multi = false) {\r\n const { vnode } = instance;\r\n if (isElement(vnode.el)) {\r\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\r\n }\r\n const { subTree } = instance;\r\n // ShapeFlags.ARRAY_CHILDREN = 1<<4\r\n if (subTree.shapeFlag & 16) {\r\n const elemVNodes = subTree.children.filter((vnode) => vnode.el && isElement(vnode.el));\r\n if (elemVNodes.length > 0) {\r\n if (multi) {\r\n return elemVNodes.map((node) => node.el);\r\n }\r\n return elemVNodes[0].el;\r\n }\r\n }\r\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\r\n}\r\nfunction dynamicSlotName(name) {\r\n return name === 'default' ? SLOT_DEFAULT_NAME : name;\r\n}\r\nconst customizeRE = /:/g;\r\nfunction customizeEvent(str) {\r\n return camelize(str.replace(customizeRE, '-'));\r\n}\r\nfunction normalizeStyle(value) {\r\n const g = getGlobal();\r\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\r\n const styleObject = {};\r\n g.UTSJSONObject.keys(value).forEach((key) => {\r\n styleObject[key] = value[key];\r\n });\r\n return normalizeStyle$1(styleObject);\r\n }\r\n else if (value instanceof Map) {\r\n const styleObject = {};\r\n value.forEach((value, key) => {\r\n styleObject[key] = value;\r\n });\r\n return normalizeStyle$1(styleObject);\r\n }\r\n else if (isString(value)) {\r\n return parseStringStyle(value);\r\n }\r\n else if (isArray(value)) {\r\n const res = {};\r\n for (let i = 0; i < value.length; i++) {\r\n const item = value[i];\r\n const normalized = isString(item)\r\n ? parseStringStyle(item)\r\n : normalizeStyle(item);\r\n if (normalized) {\r\n for (const key in normalized) {\r\n res[key] = normalized[key];\r\n }\r\n }\r\n }\r\n return res;\r\n }\r\n else {\r\n return normalizeStyle$1(value);\r\n }\r\n}\r\nfunction normalizeClass(value) {\r\n let res = '';\r\n const g = getGlobal();\r\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\r\n g.UTSJSONObject.keys(value).forEach((key) => {\r\n if (value[key]) {\r\n res += key + ' ';\r\n }\r\n });\r\n }\r\n else if (value instanceof Map) {\r\n value.forEach((value, key) => {\r\n if (value) {\r\n res += key + ' ';\r\n }\r\n });\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n const normalized = normalizeClass(value[i]);\r\n if (normalized) {\r\n res += normalized + ' ';\r\n }\r\n }\r\n }\r\n else {\r\n res = normalizeClass$1(value);\r\n }\r\n return res.trim();\r\n}\r\nfunction normalizeProps(props) {\r\n if (!props)\r\n return null;\r\n let { class: klass, style } = props;\r\n if (klass && !isString(klass)) {\r\n props.class = normalizeClass(klass);\r\n }\r\n if (style) {\r\n props.style = normalizeStyle(style);\r\n }\r\n return props;\r\n}\r\n\r\nlet lastLogTime = 0;\r\nfunction formatLog(module, ...args) {\r\n const now = Date.now();\r\n const diff = lastLogTime ? now - lastLogTime : 0;\r\n lastLogTime = now;\r\n return `[${now}][${diff}ms][${module}]:${args\r\n .map((arg) => JSON.stringify(arg))\r\n .join(' ')}`;\r\n}\r\n\r\nfunction formatKey(key) {\r\n return camelize(key.substring(5));\r\n}\r\n// question/139181,增加副作用,避免 initCustomDataset 在 build 下被 tree-shaking\r\nconst initCustomDatasetOnce = /*#__PURE__*/ once((isBuiltInElement) => {\r\n isBuiltInElement =\r\n isBuiltInElement || ((el) => el.tagName.startsWith('UNI-'));\r\n const prototype = HTMLElement.prototype;\r\n const setAttribute = prototype.setAttribute;\r\n prototype.setAttribute = function (key, value) {\r\n if (key.startsWith('data-') && isBuiltInElement(this)) {\r\n const dataset = this.__uniDataset ||\r\n (this.__uniDataset = {});\r\n dataset[formatKey(key)] = value;\r\n }\r\n setAttribute.call(this, key, value);\r\n };\r\n const removeAttribute = prototype.removeAttribute;\r\n prototype.removeAttribute = function (key) {\r\n if (this.__uniDataset &&\r\n key.startsWith('data-') &&\r\n isBuiltInElement(this)) {\r\n delete this.__uniDataset[formatKey(key)];\r\n }\r\n removeAttribute.call(this, key);\r\n };\r\n});\r\nfunction getCustomDataset(el) {\r\n return extend({}, el.dataset, el.__uniDataset);\r\n}\r\n\r\nconst unitRE = new RegExp(`\"[^\"]+\"|'[^']+'|url\\\\([^)]+\\\\)|(\\\\d*\\\\.?\\\\d+)[r|u]px`, 'g');\r\nfunction toFixed(number, precision) {\r\n const multiplier = Math.pow(10, precision + 1);\r\n const wholeNumber = Math.floor(number * multiplier);\r\n return (Math.round(wholeNumber / 10) * 10) / multiplier;\r\n}\r\nconst defaultRpx2Unit = {\r\n unit: 'rem',\r\n unitRatio: 10 / 320,\r\n unitPrecision: 5,\r\n};\r\nconst defaultMiniProgramRpx2Unit = {\r\n unit: 'rpx',\r\n unitRatio: 1,\r\n unitPrecision: 1,\r\n};\r\nconst defaultNVueRpx2Unit = defaultMiniProgramRpx2Unit;\r\nfunction createRpx2Unit(unit, unitRatio, unitPrecision) {\r\n // ignore: rpxCalcIncludeWidth\r\n return (val) => val.replace(unitRE, (m, $1) => {\r\n if (!$1) {\r\n return m;\r\n }\r\n if (unitRatio === 1) {\r\n return `${$1}${unit}`;\r\n }\r\n const value = toFixed(parseFloat($1) * unitRatio, unitPrecision);\r\n return value === 0 ? '0' : `${value}${unit}`;\r\n });\r\n}\r\n\r\nfunction passive(passive) {\r\n return { passive };\r\n}\r\nfunction normalizeDataset(el) {\r\n // TODO\r\n return JSON.parse(JSON.stringify(el.dataset || {}));\r\n}\r\nfunction normalizeTarget(el) {\r\n const { id, offsetTop, offsetLeft } = el;\r\n return {\r\n id,\r\n dataset: getCustomDataset(el),\r\n offsetTop,\r\n offsetLeft,\r\n };\r\n}\r\nfunction addFont(family, source, desc) {\r\n const fonts = document.fonts;\r\n if (fonts) {\r\n const fontFace = new FontFace(family, source, desc);\r\n return fontFace.load().then(() => {\r\n fonts.add && fonts.add(fontFace);\r\n });\r\n }\r\n return new Promise((resolve) => {\r\n const style = document.createElement('style');\r\n const values = [];\r\n if (desc) {\r\n const { style, weight, stretch, unicodeRange, variant, featureSettings } = desc;\r\n style && values.push(`font-style:${style}`);\r\n weight && values.push(`font-weight:${weight}`);\r\n stretch && values.push(`font-stretch:${stretch}`);\r\n unicodeRange && values.push(`unicode-range:${unicodeRange}`);\r\n variant && values.push(`font-variant:${variant}`);\r\n featureSettings && values.push(`font-feature-settings:${featureSettings}`);\r\n }\r\n style.innerText = `@font-face{font-family:\"${family}\";src:${source};${values.join(';')}}`;\r\n document.head.appendChild(style);\r\n resolve();\r\n });\r\n}\r\nfunction scrollTo(scrollTop, duration, isH5) {\r\n if (isString(scrollTop)) {\r\n const el = document.querySelector(scrollTop);\r\n if (el) {\r\n const { top } = el.getBoundingClientRect();\r\n scrollTop = top + window.pageYOffset;\r\n // 如果存在,减去 高度\r\n const pageHeader = document.querySelector('uni-page-head');\r\n if (pageHeader) {\r\n scrollTop -= pageHeader.offsetHeight;\r\n }\r\n }\r\n }\r\n if (scrollTop < 0) {\r\n scrollTop = 0;\r\n }\r\n const documentElement = document.documentElement;\r\n const { clientHeight, scrollHeight } = documentElement;\r\n scrollTop = Math.min(scrollTop, scrollHeight - clientHeight);\r\n if (duration === 0) {\r\n // 部分浏览器(比如微信)中 scrollTop 的值需要通过 document.body 来控制\r\n documentElement.scrollTop = document.body.scrollTop = scrollTop;\r\n return;\r\n }\r\n if (window.scrollY === scrollTop) {\r\n return;\r\n }\r\n const scrollTo = (duration) => {\r\n if (duration <= 0) {\r\n window.scrollTo(0, scrollTop);\r\n return;\r\n }\r\n const distaince = scrollTop - window.scrollY;\r\n requestAnimationFrame(function () {\r\n window.scrollTo(0, window.scrollY + (distaince / duration) * 10);\r\n scrollTo(duration - 10);\r\n });\r\n };\r\n scrollTo(duration);\r\n}\r\n\r\nconst encode = encodeURIComponent;\r\nfunction stringifyQuery(obj, encodeStr = encode) {\r\n const res = obj\r\n ? Object.keys(obj)\r\n .map((key) => {\r\n let val = obj[key];\r\n if (typeof val === undefined || val === null) {\r\n val = '';\r\n }\r\n else if (isPlainObject(val)) {\r\n val = JSON.stringify(val);\r\n }\r\n return encodeStr(key) + '=' + encodeStr(val);\r\n })\r\n .filter((x) => x.length > 0)\r\n .join('&')\r\n : null;\r\n return res ? `?${res}` : '';\r\n}\r\n/**\r\n * Decode text using `decodeURIComponent`. Returns the original text if it\r\n * fails.\r\n *\r\n * @param text - string to decode\r\n * @returns decoded string\r\n */\r\nfunction decode(text) {\r\n try {\r\n return decodeURIComponent('' + text);\r\n }\r\n catch (err) { }\r\n return '' + text;\r\n}\r\nfunction decodedQuery(query = {}) {\r\n const decodedQuery = {};\r\n Object.keys(query).forEach((name) => {\r\n try {\r\n decodedQuery[name] = decode(query[name]);\r\n }\r\n catch (e) {\r\n decodedQuery[name] = query[name];\r\n }\r\n });\r\n return decodedQuery;\r\n}\r\nconst PLUS_RE = /\\+/g; // %2B\r\n/**\r\n * https://github.com/vuejs/vue-router-next/blob/master/src/query.ts\r\n * @internal\r\n *\r\n * @param search - search string to parse\r\n * @returns a query object\r\n */\r\nfunction parseQuery(search) {\r\n const query = {};\r\n // avoid creating an object with an empty key and empty value\r\n // because of split('&')\r\n if (search === '' || search === '?')\r\n return query;\r\n const hasLeadingIM = search[0] === '?';\r\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\r\n for (let i = 0; i < searchParams.length; ++i) {\r\n // pre decode the + into space\r\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\r\n // allow the = character\r\n let eqPos = searchParam.indexOf('=');\r\n let key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\r\n let value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\r\n if (key in query) {\r\n // an extra variable for ts types\r\n let currentValue = query[key];\r\n if (!isArray(currentValue)) {\r\n currentValue = query[key] = [currentValue];\r\n }\r\n currentValue.push(value);\r\n }\r\n else {\r\n query[key] = value;\r\n }\r\n }\r\n return query;\r\n}\r\n\r\nfunction parseUrl(url) {\r\n const [path, querystring] = url.split('?', 2);\r\n return {\r\n path,\r\n query: parseQuery(querystring || ''),\r\n };\r\n}\r\n\r\nfunction parseNVueDataset(attr) {\r\n const dataset = {};\r\n if (attr) {\r\n Object.keys(attr).forEach((key) => {\r\n if (key.indexOf('data-') === 0) {\r\n dataset[key.replace('data-', '')] = attr[key];\r\n }\r\n });\r\n }\r\n return dataset;\r\n}\r\n\r\nfunction plusReady(callback) {\r\n if (!isFunction(callback)) {\r\n return;\r\n }\r\n if (window.plus) {\r\n return callback();\r\n }\r\n document.addEventListener('plusready', callback);\r\n}\r\n\r\nclass DOMException extends Error {\r\n constructor(message) {\r\n super(message);\r\n this.name = 'DOMException';\r\n }\r\n}\r\n\r\nfunction normalizeEventType(type, options) {\r\n if (options) {\r\n if (options.capture) {\r\n type += 'Capture';\r\n }\r\n if (options.once) {\r\n type += 'Once';\r\n }\r\n if (options.passive) {\r\n type += 'Passive';\r\n }\r\n }\r\n return `on${capitalize(camelize(type))}`;\r\n}\r\nclass UniEvent {\r\n constructor(type, opts) {\r\n this.defaultPrevented = false;\r\n this.timeStamp = Date.now();\r\n this._stop = false;\r\n this._end = false;\r\n this.type = type;\r\n this.bubbles = !!opts.bubbles;\r\n this.cancelable = !!opts.cancelable;\r\n }\r\n preventDefault() {\r\n this.defaultPrevented = true;\r\n }\r\n stopImmediatePropagation() {\r\n this._end = this._stop = true;\r\n }\r\n stopPropagation() {\r\n this._stop = true;\r\n }\r\n}\r\nfunction createUniEvent(evt) {\r\n if (evt instanceof UniEvent) {\r\n return evt;\r\n }\r\n const [type] = parseEventName(evt.type);\r\n const uniEvent = new UniEvent(type, {\r\n bubbles: false,\r\n cancelable: false,\r\n });\r\n extend(uniEvent, evt);\r\n return uniEvent;\r\n}\r\nclass UniEventTarget {\r\n constructor() {\r\n this.listeners = Object.create(null);\r\n }\r\n dispatchEvent(evt) {\r\n const listeners = this.listeners[evt.type];\r\n if (!listeners) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.error(formatLog('dispatchEvent', this.nodeId), evt.type, 'not found');\r\n }\r\n return false;\r\n }\r\n // 格式化事件类型\r\n const event = createUniEvent(evt);\r\n const len = listeners.length;\r\n for (let i = 0; i < len; i++) {\r\n listeners[i].call(this, event);\r\n if (event._end) {\r\n break;\r\n }\r\n }\r\n return event.cancelable && event.defaultPrevented;\r\n }\r\n addEventListener(type, listener, options) {\r\n type = normalizeEventType(type, options);\r\n (this.listeners[type] || (this.listeners[type] = [])).push(listener);\r\n }\r\n removeEventListener(type, callback, options) {\r\n type = normalizeEventType(type, options);\r\n const listeners = this.listeners[type];\r\n if (!listeners) {\r\n return;\r\n }\r\n const index = listeners.indexOf(callback);\r\n if (index > -1) {\r\n listeners.splice(index, 1);\r\n }\r\n }\r\n}\r\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\r\nfunction parseEventName(name) {\r\n let options;\r\n if (optionsModifierRE.test(name)) {\r\n options = {};\r\n let m;\r\n while ((m = name.match(optionsModifierRE))) {\r\n name = name.slice(0, name.length - m[0].length);\r\n options[m[0].toLowerCase()] = true;\r\n }\r\n }\r\n return [hyphenate(name.slice(2)), options];\r\n}\r\n\r\nconst EventModifierFlags = /*#__PURE__*/ (() => {\r\n return {\r\n stop: 1,\r\n prevent: 1 << 1,\r\n self: 1 << 2,\r\n };\r\n})();\r\nfunction encodeModifier(modifiers) {\r\n let flag = 0;\r\n if (modifiers.includes('stop')) {\r\n flag |= EventModifierFlags.stop;\r\n }\r\n if (modifiers.includes('prevent')) {\r\n flag |= EventModifierFlags.prevent;\r\n }\r\n if (modifiers.includes('self')) {\r\n flag |= EventModifierFlags.self;\r\n }\r\n return flag;\r\n}\r\n\r\nconst NODE_TYPE_PAGE = 0;\r\nconst NODE_TYPE_ELEMENT = 1;\r\nconst NODE_TYPE_TEXT = 3;\r\nconst NODE_TYPE_COMMENT = 8;\r\nfunction sibling(node, type) {\r\n const { parentNode } = node;\r\n if (!parentNode) {\r\n return null;\r\n }\r\n const { childNodes } = parentNode;\r\n return childNodes[childNodes.indexOf(node) + (type === 'n' ? 1 : -1)] || null;\r\n}\r\nfunction removeNode(node) {\r\n const { parentNode } = node;\r\n if (parentNode) {\r\n const { childNodes } = parentNode;\r\n const index = childNodes.indexOf(node);\r\n if (index > -1) {\r\n node.parentNode = null;\r\n childNodes.splice(index, 1);\r\n }\r\n }\r\n}\r\nfunction checkNodeId(node) {\r\n if (!node.nodeId && node.pageNode) {\r\n node.nodeId = node.pageNode.genId();\r\n }\r\n}\r\n// 为优化性能,各平台不使用proxy来实现node的操作拦截,而是直接通过pageNode定制\r\nclass UniNode extends UniEventTarget {\r\n constructor(nodeType, nodeName, container) {\r\n super();\r\n this.pageNode = null;\r\n this.parentNode = null;\r\n this._text = null;\r\n if (container) {\r\n const { pageNode } = container;\r\n if (pageNode) {\r\n this.pageNode = pageNode;\r\n this.nodeId = pageNode.genId();\r\n !pageNode.isUnmounted && pageNode.onCreate(this, nodeName);\r\n }\r\n }\r\n this.nodeType = nodeType;\r\n this.nodeName = nodeName;\r\n this.childNodes = [];\r\n }\r\n get firstChild() {\r\n return this.childNodes[0] || null;\r\n }\r\n get lastChild() {\r\n const { childNodes } = this;\r\n const length = childNodes.length;\r\n return length ? childNodes[length - 1] : null;\r\n }\r\n get nextSibling() {\r\n return sibling(this, 'n');\r\n }\r\n get nodeValue() {\r\n return null;\r\n }\r\n set nodeValue(_val) { }\r\n get textContent() {\r\n return this._text || '';\r\n }\r\n set textContent(text) {\r\n this._text = text;\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onTextContent(this, text);\r\n }\r\n }\r\n get parentElement() {\r\n const { parentNode } = this;\r\n if (parentNode && parentNode.nodeType === NODE_TYPE_ELEMENT) {\r\n return parentNode;\r\n }\r\n return null;\r\n }\r\n get previousSibling() {\r\n return sibling(this, 'p');\r\n }\r\n appendChild(newChild) {\r\n return this.insertBefore(newChild, null);\r\n }\r\n cloneNode(deep) {\r\n const cloned = extend(Object.create(Object.getPrototypeOf(this)), this);\r\n const { attributes } = cloned;\r\n if (attributes) {\r\n cloned.attributes = extend({}, attributes);\r\n }\r\n if (deep) {\r\n cloned.childNodes = cloned.childNodes.map((childNode) => childNode.cloneNode(true));\r\n }\r\n return cloned;\r\n }\r\n insertBefore(newChild, refChild) {\r\n // 先从现在的父节点移除(注意:不能触发onRemoveChild,否则会生成先remove该 id,再 insert)\r\n removeNode(newChild);\r\n newChild.pageNode = this.pageNode;\r\n newChild.parentNode = this;\r\n checkNodeId(newChild);\r\n const { childNodes } = this;\r\n if (refChild) {\r\n const index = childNodes.indexOf(refChild);\r\n if (index === -1) {\r\n throw new DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`);\r\n }\r\n childNodes.splice(index, 0, newChild);\r\n }\r\n else {\r\n childNodes.push(newChild);\r\n }\r\n return this.pageNode && !this.pageNode.isUnmounted\r\n ? this.pageNode.onInsertBefore(this, newChild, refChild)\r\n : newChild;\r\n }\r\n removeChild(oldChild) {\r\n const { childNodes } = this;\r\n const index = childNodes.indexOf(oldChild);\r\n if (index === -1) {\r\n throw new DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`);\r\n }\r\n oldChild.parentNode = null;\r\n childNodes.splice(index, 1);\r\n return this.pageNode && !this.pageNode.isUnmounted\r\n ? this.pageNode.onRemoveChild(oldChild)\r\n : oldChild;\r\n }\r\n}\r\nconst ATTR_CLASS = 'class';\r\nconst ATTR_STYLE = 'style';\r\nconst ATTR_INNER_HTML = 'innerHTML';\r\nconst ATTR_TEXT_CONTENT = 'textContent';\r\nconst ATTR_V_SHOW = '.vShow';\r\nconst ATTR_V_OWNER_ID = '.vOwnerId';\r\nconst ATTR_V_RENDERJS = '.vRenderjs';\r\nconst ATTR_CHANGE_PREFIX = 'change:';\r\nclass UniBaseNode extends UniNode {\r\n constructor(nodeType, nodeName, container) {\r\n super(nodeType, nodeName, container);\r\n this.attributes = Object.create(null);\r\n this.style = null;\r\n this.vShow = null;\r\n this._html = null;\r\n }\r\n get className() {\r\n return (this.attributes[ATTR_CLASS] || '');\r\n }\r\n set className(val) {\r\n this.setAttribute(ATTR_CLASS, val);\r\n }\r\n get innerHTML() {\r\n return '';\r\n }\r\n set innerHTML(html) {\r\n this._html = html;\r\n }\r\n addEventListener(type, listener, options) {\r\n super.addEventListener(type, listener, options);\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n if (listener.wxsEvent) {\r\n this.pageNode.onAddWxsEvent(this, normalizeEventType(type, options), listener.wxsEvent, encodeModifier(listener.modifiers || []));\r\n }\r\n else {\r\n this.pageNode.onAddEvent(this, normalizeEventType(type, options), encodeModifier(listener.modifiers || []));\r\n }\r\n }\r\n }\r\n removeEventListener(type, callback, options) {\r\n super.removeEventListener(type, callback, options);\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onRemoveEvent(this, normalizeEventType(type, options));\r\n }\r\n }\r\n getAttribute(qualifiedName) {\r\n if (qualifiedName === ATTR_STYLE) {\r\n return this.style;\r\n }\r\n return this.attributes[qualifiedName];\r\n }\r\n removeAttribute(qualifiedName) {\r\n if (qualifiedName == ATTR_STYLE) {\r\n this.style = null;\r\n }\r\n else {\r\n delete this.attributes[qualifiedName];\r\n }\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onRemoveAttribute(this, qualifiedName);\r\n }\r\n }\r\n setAttribute(qualifiedName, value) {\r\n if (qualifiedName === ATTR_STYLE) {\r\n this.style = value;\r\n }\r\n else {\r\n this.attributes[qualifiedName] = value;\r\n }\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onSetAttribute(this, qualifiedName, value);\r\n }\r\n }\r\n toJSON({ attr, normalize, } = {}) {\r\n const { attributes, style, listeners, _text } = this;\r\n const res = {};\r\n if (Object.keys(attributes).length) {\r\n res.a = normalize ? normalize(attributes) : attributes;\r\n }\r\n const events = Object.keys(listeners);\r\n if (events.length) {\r\n let w = undefined;\r\n const e = {};\r\n events.forEach((name) => {\r\n const handlers = listeners[name];\r\n if (handlers.length) {\r\n // 可能存在多个 handler 且不同 modifiers 吗?\r\n const { wxsEvent, modifiers } = handlers[0];\r\n const modifier = encodeModifier(modifiers || []);\r\n if (!wxsEvent) {\r\n e[name] = modifier;\r\n }\r\n else {\r\n if (!w) {\r\n w = {};\r\n }\r\n w[name] = [normalize ? normalize(wxsEvent) : wxsEvent, modifier];\r\n }\r\n }\r\n });\r\n res.e = normalize ? normalize(e, false) : e;\r\n if (w) {\r\n res.w = normalize ? normalize(w, false) : w;\r\n }\r\n }\r\n if (style !== null) {\r\n res.s = normalize ? normalize(style) : style;\r\n }\r\n if (!attr) {\r\n res.i = this.nodeId;\r\n res.n = this.nodeName;\r\n }\r\n if (_text !== null) {\r\n res.t = normalize ? normalize(_text) : _text;\r\n }\r\n return res;\r\n }\r\n}\r\n\r\nclass UniCommentNode extends UniNode {\r\n constructor(text, container) {\r\n super(NODE_TYPE_COMMENT, '#comment', container);\r\n this._text = (process.env.NODE_ENV !== 'production') ? text : '';\r\n }\r\n toJSON(opts = {}) {\r\n // 暂时不传递 text 到 view 层,没啥意义,节省点数据量\r\n return opts.attr\r\n ? {}\r\n : {\r\n i: this.nodeId,\r\n };\r\n // return opts.attr\r\n // ? { t: this._text as string }\r\n // : {\r\n // i: this.nodeId!,\r\n // t: this._text as string,\r\n // }\r\n }\r\n}\r\n\r\nclass UniElement extends UniBaseNode {\r\n constructor(nodeName, container) {\r\n super(NODE_TYPE_ELEMENT, nodeName.toUpperCase(), container);\r\n this.tagName = this.nodeName;\r\n }\r\n}\r\nclass UniInputElement extends UniElement {\r\n get value() {\r\n return this.getAttribute('value');\r\n }\r\n set value(val) {\r\n this.setAttribute('value', val);\r\n }\r\n}\r\nclass UniTextAreaElement extends UniInputElement {\r\n}\r\n\r\nclass UniTextNode extends UniBaseNode {\r\n constructor(text, container) {\r\n super(NODE_TYPE_TEXT, '#text', container);\r\n this._text = text;\r\n }\r\n get nodeValue() {\r\n return this._text || '';\r\n }\r\n set nodeValue(text) {\r\n this._text = text;\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onNodeValue(this, text);\r\n }\r\n }\r\n}\r\n\r\nconst forcePatchProps = {\r\n AD: ['data'],\r\n 'AD-DRAW': ['data'],\r\n 'LIVE-PLAYER': ['picture-in-picture-mode'],\r\n MAP: [\r\n 'markers',\r\n 'polyline',\r\n 'circles',\r\n 'controls',\r\n 'include-points',\r\n 'polygons',\r\n ],\r\n PICKER: ['range', 'value'],\r\n 'PICKER-VIEW': ['value'],\r\n 'RICH-TEXT': ['nodes'],\r\n VIDEO: ['danmu-list', 'header'],\r\n 'WEB-VIEW': ['webview-styles'],\r\n};\r\nconst forcePatchPropKeys = ['animation'];\r\n\r\nconst forcePatchProp = (el, key) => {\r\n if (forcePatchPropKeys.indexOf(key) > -1) {\r\n return true;\r\n }\r\n const keys = forcePatchProps[el.nodeName];\r\n if (keys && keys.indexOf(key) > -1) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst ACTION_TYPE_PAGE_CREATE = 1;\r\nconst ACTION_TYPE_PAGE_CREATED = 2;\r\nconst ACTION_TYPE_CREATE = 3;\r\nconst ACTION_TYPE_INSERT = 4;\r\nconst ACTION_TYPE_REMOVE = 5;\r\nconst ACTION_TYPE_SET_ATTRIBUTE = 6;\r\nconst ACTION_TYPE_REMOVE_ATTRIBUTE = 7;\r\nconst ACTION_TYPE_ADD_EVENT = 8;\r\nconst ACTION_TYPE_REMOVE_EVENT = 9;\r\nconst ACTION_TYPE_SET_TEXT = 10;\r\nconst ACTION_TYPE_ADD_WXS_EVENT = 12;\r\nconst ACTION_TYPE_PAGE_SCROLL = 15;\r\nconst ACTION_TYPE_EVENT = 20;\r\n\r\n/**\r\n * 需要手动传入 timer,主要是解决 App 平台的定制 timer\r\n */\r\nfunction debounce(fn, delay, { clearTimeout, setTimeout }) {\r\n let timeout;\r\n const newFn = function () {\r\n clearTimeout(timeout);\r\n const timerFn = () => fn.apply(this, arguments);\r\n timeout = setTimeout(timerFn, delay);\r\n };\r\n newFn.cancel = function () {\r\n clearTimeout(timeout);\r\n };\r\n return newFn;\r\n}\r\n\r\nclass EventChannel {\r\n constructor(id, events) {\r\n this.id = id;\r\n this.listener = {};\r\n this.emitCache = [];\r\n if (events) {\r\n Object.keys(events).forEach((name) => {\r\n this.on(name, events[name]);\r\n });\r\n }\r\n }\r\n emit(eventName, ...args) {\r\n const fns = this.listener[eventName];\r\n if (!fns) {\r\n return this.emitCache.push({\r\n eventName,\r\n args,\r\n });\r\n }\r\n fns.forEach((opt) => {\r\n opt.fn.apply(opt.fn, args);\r\n });\r\n this.listener[eventName] = fns.filter((opt) => opt.type !== 'once');\r\n }\r\n on(eventName, fn) {\r\n this._addListener(eventName, 'on', fn);\r\n this._clearCache(eventName);\r\n }\r\n once(eventName, fn) {\r\n this._addListener(eventName, 'once', fn);\r\n this._clearCache(eventName);\r\n }\r\n off(eventName, fn) {\r\n const fns = this.listener[eventName];\r\n if (!fns) {\r\n return;\r\n }\r\n if (fn) {\r\n for (let i = 0; i < fns.length;) {\r\n if (fns[i].fn === fn) {\r\n fns.splice(i, 1);\r\n i--;\r\n }\r\n i++;\r\n }\r\n }\r\n else {\r\n delete this.listener[eventName];\r\n }\r\n }\r\n _clearCache(eventName) {\r\n for (let index = 0; index < this.emitCache.length; index++) {\r\n const cache = this.emitCache[index];\r\n const _name = eventName\r\n ? cache.eventName === eventName\r\n ? eventName\r\n : null\r\n : cache.eventName;\r\n if (!_name)\r\n continue;\r\n const location = this.emit.apply(this, [_name, ...cache.args]);\r\n if (typeof location === 'number') {\r\n this.emitCache.pop();\r\n continue;\r\n }\r\n this.emitCache.splice(index, 1);\r\n index--;\r\n }\r\n }\r\n _addListener(eventName, type, fn) {\r\n (this.listener[eventName] || (this.listener[eventName] = [])).push({\r\n fn,\r\n type,\r\n });\r\n }\r\n}\r\n\r\nconst PAGE_HOOKS = [\r\n ON_INIT,\r\n ON_LOAD,\r\n ON_SHOW,\r\n ON_HIDE,\r\n ON_UNLOAD,\r\n ON_BACK_PRESS,\r\n ON_PAGE_SCROLL,\r\n ON_TAB_ITEM_TAP,\r\n ON_REACH_BOTTOM,\r\n ON_PULL_DOWN_REFRESH,\r\n ON_SHARE_TIMELINE,\r\n ON_SHARE_APP_MESSAGE,\r\n ON_SHARE_CHAT,\r\n ON_ADD_TO_FAVORITES,\r\n ON_SAVE_EXIT_STATE,\r\n ON_NAVIGATION_BAR_BUTTON_TAP,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\r\n];\r\nfunction isRootImmediateHook(name) {\r\n const PAGE_SYNC_HOOKS = [ON_LOAD, ON_SHOW];\r\n return PAGE_SYNC_HOOKS.indexOf(name) > -1;\r\n}\r\n// isRootImmediateHookX deprecated\r\nfunction isRootHook(name) {\r\n return PAGE_HOOKS.indexOf(name) > -1;\r\n}\r\nconst UniLifecycleHooks = [\r\n ON_SHOW,\r\n ON_HIDE,\r\n ON_LAUNCH,\r\n ON_ERROR,\r\n ON_THEME_CHANGE,\r\n ON_PAGE_NOT_FOUND,\r\n ON_UNHANDLE_REJECTION,\r\n ON_EXIT,\r\n ON_INIT,\r\n ON_LOAD,\r\n ON_READY,\r\n ON_UNLOAD,\r\n ON_RESIZE,\r\n ON_BACK_PRESS,\r\n ON_PAGE_SCROLL,\r\n ON_TAB_ITEM_TAP,\r\n ON_REACH_BOTTOM,\r\n ON_PULL_DOWN_REFRESH,\r\n ON_SHARE_TIMELINE,\r\n ON_ADD_TO_FAVORITES,\r\n ON_SHARE_APP_MESSAGE,\r\n ON_SHARE_CHAT,\r\n ON_SAVE_EXIT_STATE,\r\n ON_NAVIGATION_BAR_BUTTON_TAP,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\r\n];\r\nconst MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /*#__PURE__*/ (() => {\r\n return {\r\n onPageScroll: 1,\r\n onShareAppMessage: 1 << 1,\r\n onShareTimeline: 1 << 2,\r\n };\r\n})();\r\nfunction isUniLifecycleHook(name, value, checkType = true) {\r\n // 检查类型\r\n if (checkType && !isFunction(value)) {\r\n return false;\r\n }\r\n if (UniLifecycleHooks.indexOf(name) > -1) {\r\n // 已预定义\r\n return true;\r\n }\r\n else if (name.indexOf('on') === 0) {\r\n // 以 on 开头\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nlet vueApp;\r\nconst createVueAppHooks = [];\r\n/**\r\n * 提供 createApp 的回调事件,方便三方插件接收 App 对象,处理挂靠全局 mixin 之类的逻辑\r\n */\r\nfunction onCreateVueApp(hook) {\r\n // TODO 每个 nvue 页面都会触发\r\n if (vueApp) {\r\n return hook(vueApp);\r\n }\r\n createVueAppHooks.push(hook);\r\n}\r\nfunction invokeCreateVueAppHook(app) {\r\n vueApp = app;\r\n createVueAppHooks.forEach((hook) => hook(app));\r\n}\r\nconst invokeCreateErrorHandler = once((app, createErrorHandler) => {\r\n // 不再判断开发者是否监听了onError,直接返回 createErrorHandler,内部 errorHandler 会调用开发者自定义的 errorHandler,以及判断开发者是否监听了onError\r\n return createErrorHandler(app);\r\n});\r\n\r\nconst E = function () {\r\n // Keep this empty so it's easier to inherit from\r\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\r\n};\r\nE.prototype = {\r\n _id: 1,\r\n on: function (name, callback, ctx) {\r\n var e = this.e || (this.e = {});\r\n (e[name] || (e[name] = [])).push({\r\n fn: callback,\r\n ctx: ctx,\r\n _id: this._id,\r\n });\r\n return this._id++;\r\n },\r\n once: function (name, callback, ctx) {\r\n var self = this;\r\n function listener() {\r\n self.off(name, listener);\r\n callback.apply(ctx, arguments);\r\n }\r\n listener._ = callback;\r\n return this.on(name, listener, ctx);\r\n },\r\n emit: function (name) {\r\n var data = [].slice.call(arguments, 1);\r\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\r\n var i = 0;\r\n var len = evtArr.length;\r\n for (i; i < len; i++) {\r\n evtArr[i].fn.apply(evtArr[i].ctx, data);\r\n }\r\n return this;\r\n },\r\n off: function (name, event) {\r\n var e = this.e || (this.e = {});\r\n var evts = e[name];\r\n var liveEvents = [];\r\n if (evts && event) {\r\n for (var i = evts.length - 1; i >= 0; i--) {\r\n if (evts[i].fn === event ||\r\n evts[i].fn._ === event ||\r\n evts[i]._id === event) {\r\n evts.splice(i, 1);\r\n break;\r\n }\r\n }\r\n liveEvents = evts;\r\n }\r\n // Remove event from queue to prevent memory leak\r\n // Suggested by https://github.com/lazd\r\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\r\n liveEvents.length ? (e[name] = liveEvents) : delete e[name];\r\n return this;\r\n },\r\n};\r\nvar E$1 = E;\r\n\r\nconst borderStyles = {\r\n black: 'rgba(0,0,0,0.4)',\r\n white: 'rgba(255,255,255,0.4)',\r\n};\r\nfunction normalizeTabBarStyles(borderStyle) {\r\n if (borderStyle && borderStyle in borderStyles) {\r\n return borderStyles[borderStyle];\r\n }\r\n return borderStyle;\r\n}\r\nfunction normalizeTitleColor(titleColor) {\r\n return titleColor === 'black' ? '#000000' : '#ffffff';\r\n}\r\nfunction resolveStringStyleItem(modeStyle, styleItem, key) {\r\n if (isString(styleItem) && styleItem.startsWith('@')) {\r\n const _key = styleItem.replace('@', '');\r\n let _styleItem = modeStyle[_key] || styleItem;\r\n switch (key) {\r\n case 'titleColor':\r\n _styleItem = normalizeTitleColor(_styleItem);\r\n break;\r\n case 'borderStyle':\r\n _styleItem = normalizeTabBarStyles(_styleItem);\r\n break;\r\n }\r\n return _styleItem;\r\n }\r\n return styleItem;\r\n}\r\nfunction normalizeStyles(pageStyle, themeConfig = {}, mode = 'light') {\r\n const modeStyle = themeConfig[mode];\r\n const styles = {};\r\n if (typeof modeStyle === 'undefined' || !pageStyle)\r\n return pageStyle;\r\n Object.keys(pageStyle).forEach((key) => {\r\n const styleItem = pageStyle[key]; // Object Array String\r\n const parseStyleItem = () => {\r\n if (isPlainObject(styleItem))\r\n return normalizeStyles(styleItem, themeConfig, mode);\r\n if (isArray(styleItem))\r\n return styleItem.map((item) => {\r\n if (typeof item === 'object')\r\n return normalizeStyles(item, themeConfig, mode);\r\n return resolveStringStyleItem(modeStyle, item);\r\n });\r\n return resolveStringStyleItem(modeStyle, styleItem, key);\r\n };\r\n styles[key] = parseStyleItem();\r\n });\r\n return styles;\r\n}\r\n\r\nfunction getEnvLocale() {\r\n const { env } = process;\r\n const lang = env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE;\r\n return (lang && lang.replace(/[.:].*/, '')) || 'en';\r\n}\r\n\r\nexport { ACTION_TYPE_ADD_EVENT, ACTION_TYPE_ADD_WXS_EVENT, ACTION_TYPE_CREATE, ACTION_TYPE_EVENT, ACTION_TYPE_INSERT, ACTION_TYPE_PAGE_CREATE, ACTION_TYPE_PAGE_CREATED, ACTION_TYPE_PAGE_SCROLL, ACTION_TYPE_REMOVE, ACTION_TYPE_REMOVE_ATTRIBUTE, ACTION_TYPE_REMOVE_EVENT, ACTION_TYPE_SET_ATTRIBUTE, ACTION_TYPE_SET_TEXT, ATTR_CHANGE_PREFIX, ATTR_CLASS, ATTR_INNER_HTML, ATTR_STYLE, ATTR_TEXT_CONTENT, ATTR_V_OWNER_ID, ATTR_V_RENDERJS, ATTR_V_SHOW, BACKGROUND_COLOR, BUILT_IN_TAGS, BUILT_IN_TAG_NAMES, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, COMPONENT_SELECTOR_PREFIX, DATA_RE, E$1 as Emitter, EventChannel, EventModifierFlags, I18N_JSON_DELIMITERS, JSON_PROTOCOL, LINEFEED, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, NAVBAR_HEIGHT, NODE_TYPE_COMMENT, NODE_TYPE_ELEMENT, NODE_TYPE_PAGE, NODE_TYPE_TEXT, NVUE_BUILT_IN_TAGS, NVUE_U_BUILT_IN_TAGS, OFF_HOST_THEME_CHANGE, OFF_THEME_CHANGE, ON_ADD_TO_FAVORITES, ON_APP_ENTER_BACKGROUND, ON_APP_ENTER_FOREGROUND, ON_BACK_PRESS, ON_ERROR, ON_EXIT, ON_HIDE, ON_HOST_THEME_CHANGE, ON_INIT, ON_KEYBOARD_HEIGHT_CHANGE, ON_LAUNCH, ON_LOAD, ON_NAVIGATION_BAR_BUTTON_TAP, ON_NAVIGATION_BAR_CHANGE, ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED, ON_PAGE_NOT_FOUND, ON_PAGE_SCROLL, ON_PULL_DOWN_REFRESH, ON_REACH_BOTTOM, ON_REACH_BOTTOM_DISTANCE, ON_READY, ON_RESIZE, ON_SAVE_EXIT_STATE, ON_SHARE_APP_MESSAGE, ON_SHARE_CHAT, ON_SHARE_TIMELINE, ON_SHOW, ON_TAB_ITEM_TAP, ON_THEME_CHANGE, ON_UNHANDLE_REJECTION, ON_UNLOAD, ON_WEB_INVOKE_APP_SERVICE, ON_WXS_INVOKE_CALL_METHOD, PLUS_RE, PRIMARY_COLOR, RENDERJS_MODULES, RESPONSIVE_MIN_WIDTH, SCHEME_RE, SELECTED_COLOR, SLOT_DEFAULT_NAME, TABBAR_HEIGHT, TAGS, UNI_SSR, UNI_SSR_DATA, UNI_SSR_GLOBAL_DATA, UNI_SSR_STORE, UNI_SSR_TITLE, UNI_STORAGE_LOCALE, UNI_UI_CONFLICT_TAGS, UVUE_BUILT_IN_TAGS, UVUE_IOS_BUILT_IN_TAGS, UVUE_WEB_BUILT_IN_TAGS, UniBaseNode, UniCommentNode, UniElement, UniEvent, UniInputElement, UniLifecycleHooks, UniNode, UniTextAreaElement, UniTextNode, VIRTUAL_HOST_CLASS, VIRTUAL_HOST_HIDDEN, VIRTUAL_HOST_ID, VIRTUAL_HOST_STYLE, WEB_INVOKE_APPSERVICE, WXS_MODULES, WXS_PROTOCOL, addFont, addLeadingSlash, borderStyles, cache, cacheStringFunction, callOptions, createIsCustomElement, createRpx2Unit, createUniEvent, customizeEvent, debounce, decode, decodedQuery, defaultMiniProgramRpx2Unit, defaultNVueRpx2Unit, defaultRpx2Unit, dynamicSlotName, forcePatchProp, formatDateTime, formatLog, getCustomDataset, getEnvLocale, getGlobal, getLen, getValueByDataPath, initCustomDatasetOnce, invokeArrayFns, invokeCreateErrorHandler, invokeCreateVueAppHook, isAppIOSUVueNativeTag, isAppNVueNativeTag, isAppNativeTag, isAppUVueBuiltInEasyComponent, isAppUVueNativeTag, isBuiltInComponent, isComponentInternalInstance, isComponentTag, isH5CustomElement, isH5NativeTag, isMiniProgramNativeTag, isMiniProgramUVueNativeTag, isRootHook, isRootImmediateHook, isUniLifecycleHook, isUniXElement, normalizeClass, normalizeDataset, normalizeEventType, normalizeProps, normalizeStyle, normalizeStyles, normalizeTabBarStyles, normalizeTarget, normalizeTitleColor, onCreateVueApp, once, parseEventName, parseNVueDataset, parseQuery, parseUrl, passive, plusReady, removeLeadingSlash, resolveComponentInstance, resolveOwnerEl, resolveOwnerVm, sanitise, scrollTo, sortObject, stringifyQuery, updateElementStyle };\r\n","import { isRootHook, getValueByDataPath, isUniLifecycleHook, ON_ERROR, UniLifecycleHooks, invokeCreateErrorHandler, normalizeStyle as normalizeStyle$1, dynamicSlotName, normalizeClass as normalizeClass$1 } from '@dcloudio/uni-shared';\r\nimport { NOOP, extend, isSymbol, isObject, def, hasChanged, isFunction, isArray, isPromise, camelize, capitalize, EMPTY_OBJ, remove, toHandlerKey, hasOwn, hyphenate, isReservedProp, toRawType, isString, normalizeClass, normalizeStyle, isOn, toTypeString, isMap, isIntegerKey, isSet, isPlainObject, makeMap, invokeArrayFns, isBuiltInDirective, looseToNumber, NO, EMPTY_ARR, isModelListener, toNumber, toDisplayString } from '@vue/shared';\r\nexport { EMPTY_OBJ, camelize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\r\n\r\n/**\r\n* @dcloudio/uni-mp-vue v3.4.21\r\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\r\n* @license MIT\r\n**/\r\n\r\nfunction warn$2(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\r\n\r\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n this.detached = detached;\r\n /**\r\n * @internal\r\n */\r\n this._active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n this.parent = activeEffectScope;\r\n if (!detached && activeEffectScope) {\r\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\r\n this\r\n ) - 1;\r\n }\r\n }\r\n get active() {\r\n return this._active;\r\n }\r\n run(fn) {\r\n if (this._active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n } finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this._active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n if (!this.detached && this.parent && !fromParent) {\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.parent = void 0;\r\n this._active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(\r\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\r\n );\r\n }\r\n}\r\n\r\nlet activeEffect;\r\nclass ReactiveEffect {\r\n constructor(fn, trigger, scheduler, scope) {\r\n this.fn = fn;\r\n this.trigger = trigger;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n /**\r\n * @internal\r\n */\r\n this._dirtyLevel = 4;\r\n /**\r\n * @internal\r\n */\r\n this._trackId = 0;\r\n /**\r\n * @internal\r\n */\r\n this._runnings = 0;\r\n /**\r\n * @internal\r\n */\r\n this._shouldSchedule = false;\r\n /**\r\n * @internal\r\n */\r\n this._depsLength = 0;\r\n recordEffectScope(this, scope);\r\n }\r\n get dirty() {\r\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\r\n this._dirtyLevel = 1;\r\n pauseTracking();\r\n for (let i = 0; i < this._depsLength; i++) {\r\n const dep = this.deps[i];\r\n if (dep.computed) {\r\n triggerComputed(dep.computed);\r\n if (this._dirtyLevel >= 4) {\r\n break;\r\n }\r\n }\r\n }\r\n if (this._dirtyLevel === 1) {\r\n this._dirtyLevel = 0;\r\n }\r\n resetTracking();\r\n }\r\n return this._dirtyLevel >= 4;\r\n }\r\n set dirty(v) {\r\n this._dirtyLevel = v ? 4 : 0;\r\n }\r\n run() {\r\n this._dirtyLevel = 0;\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let lastShouldTrack = shouldTrack;\r\n let lastEffect = activeEffect;\r\n try {\r\n shouldTrack = true;\r\n activeEffect = this;\r\n this._runnings++;\r\n preCleanupEffect(this);\r\n return this.fn();\r\n } finally {\r\n postCleanupEffect(this);\r\n this._runnings--;\r\n activeEffect = lastEffect;\r\n shouldTrack = lastShouldTrack;\r\n }\r\n }\r\n stop() {\r\n var _a;\r\n if (this.active) {\r\n preCleanupEffect(this);\r\n postCleanupEffect(this);\r\n (_a = this.onStop) == null ? void 0 : _a.call(this);\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction triggerComputed(computed) {\r\n return computed.value;\r\n}\r\nfunction preCleanupEffect(effect2) {\r\n effect2._trackId++;\r\n effect2._depsLength = 0;\r\n}\r\nfunction postCleanupEffect(effect2) {\r\n if (effect2.deps.length > effect2._depsLength) {\r\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\r\n cleanupDepEffect(effect2.deps[i], effect2);\r\n }\r\n effect2.deps.length = effect2._depsLength;\r\n }\r\n}\r\nfunction cleanupDepEffect(dep, effect2) {\r\n const trackId = dep.get(effect2);\r\n if (trackId !== void 0 && effect2._trackId !== trackId) {\r\n dep.delete(effect2);\r\n if (dep.size === 0) {\r\n dep.cleanup();\r\n }\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect instanceof ReactiveEffect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn, NOOP, () => {\r\n if (_effect.dirty) {\r\n _effect.run();\r\n }\r\n });\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nlet pauseScheduleStack = 0;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === void 0 ? true : last;\r\n}\r\nfunction pauseScheduling() {\r\n pauseScheduleStack++;\r\n}\r\nfunction resetScheduling() {\r\n pauseScheduleStack--;\r\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\r\n queueEffectSchedulers.shift()();\r\n }\r\n}\r\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\r\n var _a;\r\n if (dep.get(effect2) !== effect2._trackId) {\r\n dep.set(effect2, effect2._trackId);\r\n const oldDep = effect2.deps[effect2._depsLength];\r\n if (oldDep !== dep) {\r\n if (oldDep) {\r\n cleanupDepEffect(oldDep, effect2);\r\n }\r\n effect2.deps[effect2._depsLength++] = dep;\r\n } else {\r\n effect2._depsLength++;\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nconst queueEffectSchedulers = [];\r\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\r\n var _a;\r\n pauseScheduling();\r\n for (const effect2 of dep.keys()) {\r\n let tracking;\r\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\r\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\r\n effect2._dirtyLevel = dirtyLevel;\r\n }\r\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\r\n }\r\n effect2.trigger();\r\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\r\n effect2._shouldSchedule = false;\r\n if (effect2.scheduler) {\r\n queueEffectSchedulers.push(effect2.scheduler);\r\n }\r\n }\r\n }\r\n }\r\n resetScheduling();\r\n}\r\n\r\nconst createDep = (cleanup, computed) => {\r\n const dep = /* @__PURE__ */ new Map();\r\n dep.cleanup = cleanup;\r\n dep.computed = computed;\r\n return dep;\r\n};\r\n\r\nconst targetMap = /* @__PURE__ */ new WeakMap();\r\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\r\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\r\n }\r\n trackEffect(\r\n activeEffect,\r\n dep,\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target,\r\n type,\r\n key\r\n } : void 0\r\n );\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\") {\r\n deps = [...depsMap.values()];\r\n } else if (key === \"length\" && isArray(target)) {\r\n const newLength = Number(newValue);\r\n depsMap.forEach((dep, key2) => {\r\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\r\n deps.push(dep);\r\n }\r\n });\r\n } else {\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n switch (type) {\r\n case \"add\":\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n } else if (isIntegerKey(key)) {\r\n deps.push(depsMap.get(\"length\"));\r\n }\r\n break;\r\n case \"delete\":\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\":\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n pauseScheduling();\r\n for (const dep of deps) {\r\n if (dep) {\r\n triggerEffects(\r\n dep,\r\n 4,\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target,\r\n type,\r\n key,\r\n newValue,\r\n oldValue,\r\n oldTarget\r\n } : void 0\r\n );\r\n }\r\n }\r\n resetScheduling();\r\n}\r\nfunction getDepFromReactive(object, key) {\r\n var _a;\r\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\r\n}\r\n\r\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\r\n);\r\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\r\n instrumentations[key] = function(...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\", i + \"\");\r\n }\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n return arr[key](...args.map(toRaw));\r\n } else {\r\n return res;\r\n }\r\n };\r\n });\r\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\r\n instrumentations[key] = function(...args) {\r\n pauseTracking();\r\n pauseScheduling();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetScheduling();\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction hasOwnProperty(key) {\r\n const obj = toRaw(this);\r\n track(obj, \"has\", key);\r\n return obj.hasOwnProperty(key);\r\n}\r\nclass BaseReactiveHandler {\r\n constructor(_isReadonly = false, _isShallow = false) {\r\n this._isReadonly = _isReadonly;\r\n this._isShallow = _isShallow;\r\n }\r\n get(target, key, receiver) {\r\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\r\n if (key === \"__v_isReactive\") {\r\n return !isReadonly2;\r\n } else if (key === \"__v_isReadonly\") {\r\n return isReadonly2;\r\n } else if (key === \"__v_isShallow\") {\r\n return isShallow2;\r\n } else if (key === \"__v_raw\") {\r\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\r\n // this means the reciever is a user proxy of the reactive proxy\r\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\r\n return target;\r\n }\r\n return;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly2) {\r\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n if (key === \"hasOwnProperty\") {\r\n return hasOwnProperty;\r\n }\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly2) {\r\n track(target, \"get\", key);\r\n }\r\n if (isShallow2) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n return isReadonly2 ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n }\r\n}\r\nclass MutableReactiveHandler extends BaseReactiveHandler {\r\n constructor(isShallow2 = false) {\r\n super(false, isShallow2);\r\n }\r\n set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (!this._isShallow) {\r\n const isOldValueReadonly = isReadonly(oldValue);\r\n if (!isShallow(value) && !isReadonly(value)) {\r\n oldValue = toRaw(oldValue);\r\n value = toRaw(value);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n if (isOldValueReadonly) {\r\n return false;\r\n } else {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\", key, value);\r\n } else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\", key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n }\r\n deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\", key, void 0, oldValue);\r\n }\r\n return result;\r\n }\r\n has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\", key);\r\n }\r\n return result;\r\n }\r\n ownKeys(target) {\r\n track(\r\n target,\r\n \"iterate\",\r\n isArray(target) ? \"length\" : ITERATE_KEY\r\n );\r\n return Reflect.ownKeys(target);\r\n }\r\n}\r\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\r\n constructor(isShallow2 = false) {\r\n super(true, isShallow2);\r\n }\r\n set(target, key) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(\r\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\r\n target\r\n );\r\n }\r\n return true;\r\n }\r\n deleteProperty(target, key) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(\r\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\r\n target\r\n );\r\n }\r\n return true;\r\n }\r\n}\r\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\r\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\r\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\r\n true\r\n);\r\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\r\n\r\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get(target, key, isReadonly = false, isShallow = false) {\r\n target = target[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (hasChanged(key, rawKey)) {\r\n track(rawTarget, \"get\", key);\r\n }\r\n track(rawTarget, \"get\", rawKey);\r\n }\r\n const { has: has2 } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has2.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n } else if (has2.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n } else if (target !== rawTarget) {\r\n target.get(key);\r\n }\r\n}\r\nfunction has(key, isReadonly = false) {\r\n const target = this[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (hasChanged(key, rawKey)) {\r\n track(rawTarget, \"has\", key);\r\n }\r\n track(rawTarget, \"has\", rawKey);\r\n }\r\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\"];\r\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\r\n return Reflect.get(target, \"size\", target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\", value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has: has2, get: get2 } = getProto(target);\r\n let hadKey = has2.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has2.call(target, key);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkIdentityKeys(target, has2, key);\r\n }\r\n const oldValue = get2.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\", key, value);\r\n } else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\", key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has: has2, get: get2 } = getProto(target);\r\n let hadKey = has2.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has2.call(target, key);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkIdentityKeys(target, has2, key);\r\n }\r\n const oldValue = get2 ? get2.call(target, key) : void 0;\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\", key, void 0, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\", void 0, void 0, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function(...args) {\r\n const target = this[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\r\n const isKeyOnly = method === \"keys\" && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(\r\n rawTarget,\r\n \"iterate\",\r\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\r\n );\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done ? { value, done } : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function(...args) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n warn$2(\r\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\r\n toRaw(this)\r\n );\r\n }\r\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations2 = {\r\n get(key) {\r\n return get(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations2 = {\r\n get(key) {\r\n return get(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations2 = {\r\n get(key) {\r\n return get(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\"),\r\n set: createReadonlyMethod(\"set\"),\r\n delete: createReadonlyMethod(\"delete\"),\r\n clear: createReadonlyMethod(\"clear\"),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations2 = {\r\n get(key) {\r\n return get(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\"),\r\n set: createReadonlyMethod(\"set\"),\r\n delete: createReadonlyMethod(\"delete\"),\r\n clear: createReadonlyMethod(\"clear\"),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = [\r\n \"keys\",\r\n \"values\",\r\n \"entries\",\r\n Symbol.iterator\r\n ];\r\n iteratorMethods.forEach((method) => {\r\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\r\n method,\r\n true,\r\n true\r\n );\r\n });\r\n return [\r\n mutableInstrumentations2,\r\n readonlyInstrumentations2,\r\n shallowInstrumentations2,\r\n shallowReadonlyInstrumentations2\r\n ];\r\n}\r\nconst [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n] = /* @__PURE__ */ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\") {\r\n return !isReadonly;\r\n } else if (key === \"__v_isReadonly\") {\r\n return isReadonly;\r\n } else if (key === \"__v_raw\") {\r\n return target;\r\n }\r\n return Reflect.get(\r\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\r\n key,\r\n receiver\r\n );\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has2, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has2.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n warn$2(\r\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\r\n );\r\n }\r\n}\r\n\r\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\r\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\r\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\r\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case \"Object\":\r\n case \"Array\":\r\n return 1 /* COMMON */;\r\n case \"Map\":\r\n case \"Set\":\r\n case \"WeakMap\":\r\n case \"WeakSet\":\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(\r\n target,\r\n false,\r\n mutableHandlers,\r\n mutableCollectionHandlers,\r\n reactiveMap\r\n );\r\n}\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(\r\n target,\r\n false,\r\n shallowReactiveHandlers,\r\n shallowCollectionHandlers,\r\n shallowReactiveMap\r\n );\r\n}\r\nfunction readonly(target) {\r\n return createReactiveObject(\r\n target,\r\n true,\r\n readonlyHandlers,\r\n readonlyCollectionHandlers,\r\n readonlyMap\r\n );\r\n}\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(\r\n target,\r\n true,\r\n shallowReadonlyHandlers,\r\n shallowReadonlyCollectionHandlers,\r\n shallowReadonlyMap\r\n );\r\n}\r\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\r\n return target;\r\n }\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(\r\n target,\r\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\r\n );\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\"]);\r\n }\r\n return !!(value && value[\"__v_isReactive\"]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\"]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\"]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\"];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n if (Object.isExtensible(value)) {\r\n def(value, \"__v_skip\", true);\r\n }\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\r\n\r\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\r\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this.getter = getter;\r\n this._setter = _setter;\r\n this.dep = void 0;\r\n this.__v_isRef = true;\r\n this[\"__v_isReadonly\"] = false;\r\n this.effect = new ReactiveEffect(\r\n () => getter(this._value),\r\n () => triggerRefValue(\r\n this,\r\n this.effect._dirtyLevel === 2 ? 2 : 3\r\n )\r\n );\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\"] = isReadonly;\r\n }\r\n get value() {\r\n const self = toRaw(this);\r\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\r\n triggerRefValue(self, 4);\r\n }\r\n trackRefValue(self);\r\n if (self.effect._dirtyLevel >= 2) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\r\n warn$2(COMPUTED_SIDE_EFFECT_WARN, `\r\n\r\ngetter: `, this.getter);\r\n }\r\n triggerRefValue(self, 2);\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\r\n get _dirty() {\r\n return this.effect.dirty;\r\n }\r\n set _dirty(v) {\r\n this.effect.dirty = v;\r\n }\r\n // #endregion\r\n}\r\nfunction computed$1(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\r\n warn$2(\"Write operation failed: computed value is readonly\");\r\n } : NOOP;\r\n } else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\r\n\r\nfunction trackRefValue(ref2) {\r\n var _a;\r\n if (shouldTrack && activeEffect) {\r\n ref2 = toRaw(ref2);\r\n trackEffect(\r\n activeEffect,\r\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\r\n () => ref2.dep = void 0,\r\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\r\n ),\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target: ref2,\r\n type: \"get\",\r\n key: \"value\"\r\n } : void 0\r\n );\r\n }\r\n}\r\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\r\n ref2 = toRaw(ref2);\r\n const dep = ref2.dep;\r\n if (dep) {\r\n triggerEffects(\r\n dep,\r\n dirtyLevel,\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target: ref2,\r\n type: \"set\",\r\n key: \"value\",\r\n newValue: newVal\r\n } : void 0\r\n );\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = void 0;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\r\n newVal = useDirectValue ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = useDirectValue ? newVal : toReactive(newVal);\r\n triggerRefValue(this, 4, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref2) {\r\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\r\n}\r\nfunction unref(ref2) {\r\n return isRef(ref2) ? ref2.value : ref2;\r\n}\r\nfunction toValue(source) {\r\n return isFunction(source) ? source() : unref(source);\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n } else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = void 0;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(\r\n () => trackRefValue(this),\r\n () => triggerRefValue(this)\r\n );\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\r\n warn$2(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = propertyToRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === void 0 ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n get dep() {\r\n return getDepFromReactive(toRaw(this._object), this._key);\r\n }\r\n}\r\nclass GetterRefImpl {\r\n constructor(_getter) {\r\n this._getter = _getter;\r\n this.__v_isRef = true;\r\n this.__v_isReadonly = true;\r\n }\r\n get value() {\r\n return this._getter();\r\n }\r\n}\r\nfunction toRef(source, key, defaultValue) {\r\n if (isRef(source)) {\r\n return source;\r\n } else if (isFunction(source)) {\r\n return new GetterRefImpl(source);\r\n } else if (isObject(source) && arguments.length > 1) {\r\n return propertyToRef(source, key, defaultValue);\r\n } else {\r\n return ref(source);\r\n }\r\n}\r\nfunction propertyToRef(source, key, defaultValue) {\r\n const val = source[key];\r\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\r\n}\r\n\r\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn$1(msg, ...args) {\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(\r\n appWarnHandler,\r\n instance,\r\n 11,\r\n [\r\n msg + args.map((a) => {\r\n var _a, _b;\r\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\r\n }).join(\"\"),\r\n instance && instance.proxy,\r\n trace.map(\r\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\r\n ).join(\"\\n\"),\r\n trace\r\n ]\r\n );\r\n } else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n if (trace.length && // avoid spamming console during tests\r\n true) {\r\n warnArgs.push(`\r\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n } else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...i === 0 ? [] : [`\r\n`], ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(\r\n vnode.component,\r\n vnode.type,\r\n isRoot\r\n )}`;\r\n const close = `>` + postfix;\r\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\r\n}\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach((key) => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n } else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n } else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n } else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\r\n\r\nconst ErrorTypeStrings = {\r\n [\"sp\"]: \"serverPrefetch hook\",\r\n [\"bc\"]: \"beforeCreate hook\",\r\n [\"c\"]: \"created hook\",\r\n [\"bm\"]: \"beforeMount hook\",\r\n [\"m\"]: \"mounted hook\",\r\n [\"bu\"]: \"beforeUpdate hook\",\r\n [\"u\"]: \"updated\",\r\n [\"bum\"]: \"beforeUnmount hook\",\r\n [\"um\"]: \"unmounted hook\",\r\n [\"a\"]: \"activated hook\",\r\n [\"da\"]: \"deactivated hook\",\r\n [\"ec\"]: \"errorCaptured hook\",\r\n [\"rtc\"]: \"renderTracked hook\",\r\n [\"rtg\"]: \"renderTriggered hook\",\r\n [0]: \"setup function\",\r\n [1]: \"render function\",\r\n [2]: \"watcher getter\",\r\n [3]: \"watcher callback\",\r\n [4]: \"watcher cleanup function\",\r\n [5]: \"native event handler\",\r\n [6]: \"component event handler\",\r\n [7]: \"vnode hook\",\r\n [8]: \"directive hook\",\r\n [9]: \"transition hook\",\r\n [10]: \"app errorHandler\",\r\n [11]: \"app warnHandler\",\r\n [12]: \"ref function\",\r\n [13]: \"async component loader\",\r\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n try {\r\n return args ? fn(...args) : fn();\r\n } catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch((err) => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n const exposedInstance = instance.proxy;\r\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] || type : `https://vuejs.org/error-reference/#runtime-${type}`;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(\r\n appErrorHandler,\r\n null,\r\n 10,\r\n [err, exposedInstance, errorInfo]\r\n );\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const info = ErrorTypeStrings[type] || type;\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n if (throwInDev) {\r\n console.error(err);\r\n } else {\r\n console.error(err);\r\n }\r\n } else {\r\n console.error(err);\r\n }\r\n}\r\n\r\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick$1(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\nfunction findInsertionIndex(id) {\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = start + end >>> 1;\r\n const middleJob = queue[middle];\r\n const middleJobId = getId(middleJob);\r\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\r\n start = middle + 1;\r\n } else {\r\n end = middle;\r\n }\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n if (!queue.length || !queue.includes(\r\n job,\r\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\r\n )) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n } else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction hasQueueJob(job) {\r\n return queue.indexOf(job) > -1;\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n if (!isArray(cb)) {\r\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\r\n cb,\r\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\r\n )) {\r\n pendingPostFlushCbs.push(cb);\r\n }\r\n } else {\r\n pendingPostFlushCbs.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n seen = seen || /* @__PURE__ */ new Map();\r\n }\r\n for (; i < queue.length; i++) {\r\n const cb = queue[i];\r\n if (cb && cb.pre) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\r\n continue;\r\n }\r\n queue.splice(i, 1);\r\n i--;\r\n cb();\r\n }\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\r\n (a, b) => getId(a) - getId(b)\r\n );\r\n pendingPostFlushCbs.length = 0;\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n seen = seen || /* @__PURE__ */ new Map();\r\n }\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nconst comparator = (a, b) => {\r\n const diff = getId(a) - getId(b);\r\n if (diff === 0) {\r\n if (a.pre && !b.pre)\r\n return -1;\r\n if (b.pre && !a.pre)\r\n return 1;\r\n }\r\n return diff;\r\n};\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n seen = seen || /* @__PURE__ */ new Map();\r\n }\r\n queue.sort(comparator);\r\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\r\n continue;\r\n }\r\n callWithErrorHandling(job, null, 14);\r\n }\r\n }\r\n } finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n if (queue.length || pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n } else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n handleError(\r\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\r\n null,\r\n 10\r\n );\r\n return true;\r\n } else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\r\n\r\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit$1(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n } else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n } else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== \"undefined\" && // some envs mock window but not fully\r\n window.HTMLElement && // also exclude jsdom\r\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\r\n ) {\r\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3e3);\r\n } else {\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\r\n \"component:added\" /* COMPONENT_ADDED */\r\n);\r\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\r\n \"component:removed\" /* COMPONENT_REMOVED */\r\n);\r\nconst devtoolsComponentRemoved = (component) => {\r\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\r\n !devtools.cleanupBuffer(component)) {\r\n _devtoolsComponentRemoved(component);\r\n }\r\n};\r\n/*! #__NO_SIDE_EFFECTS__ */\r\n// @__NO_SIDE_EFFECTS__\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit$1(\r\n hook,\r\n component.appContext.app,\r\n component.uid,\r\n // fixed by xxxxxx\r\n // 为 0 是 App,无 parent 是 Page 指向 App\r\n component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0,\r\n component\r\n );\r\n };\r\n}\r\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\r\n \"perf:start\" /* PERFORMANCE_START */\r\n);\r\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\r\n \"perf:end\" /* PERFORMANCE_END */\r\n);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit$1(\r\n \"component:emit\" /* COMPONENT_EMIT */,\r\n component.appContext.app,\r\n component,\r\n event,\r\n params\r\n );\r\n}\r\n\r\nfunction emit(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const {\r\n emitsOptions,\r\n propsOptions: [propsOptions]\r\n } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) && true) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn$1(\r\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\r\n );\r\n }\r\n } else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn$1(\r\n `Invalid event arguments: event validation failed for event \"${event}\".`\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith(\"update:\");\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\r\n }\r\n if (number) {\r\n args = rawArgs.map(looseToNumber);\r\n }\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn$1(\r\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\r\n instance,\r\n instance.type\r\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\r\n event\r\n )}\" instead of \"${event}\".`\r\n );\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\r\n props[handlerName = toHandlerKey(camelize(event))];\r\n if (!handler && isModelListener) {\r\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(\r\n handler,\r\n instance,\r\n 6,\r\n args\r\n );\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n } else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(\r\n onceHandler,\r\n instance,\r\n 6,\r\n args\r\n );\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== void 0) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw2) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n if (isObject(comp)) {\r\n cache.set(comp, null);\r\n }\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach((key) => normalized[key] = null);\r\n } else {\r\n extend(normalized, raw);\r\n }\r\n if (isObject(comp)) {\r\n cache.set(comp, normalized);\r\n }\r\n return normalized;\r\n}\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, \"\");\r\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\r\n}\r\n\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = instance && instance.type.__scopeId || null;\r\n return prev;\r\n}\r\nconst withScopeId = (_id) => withCtx;\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\r\n if (!ctx)\r\n return fn;\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n let res;\r\n try {\r\n res = fn(...args);\r\n } finally {\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n renderFnWithContext._n = true;\r\n renderFnWithContext._c = true;\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\r\n\r\nfunction markAttrsAccessed() {\r\n}\r\n\r\nconst COMPONENTS = \"components\";\r\nconst DIRECTIVES = \"directives\";\r\nfunction resolveComponent(name, maybeSelfReference) {\r\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\r\n}\r\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\r\nfunction resolveDirective(name) {\r\n return resolveAsset(DIRECTIVES, name);\r\n}\r\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\r\n const instance = currentRenderingInstance || currentInstance;\r\n if (instance) {\r\n const Component = instance.type;\r\n if (type === COMPONENTS) {\r\n const selfName = getComponentName(\r\n Component,\r\n false\r\n );\r\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\r\n return Component;\r\n }\r\n }\r\n const res = (\r\n // local registration\r\n // check instance[type] first which is resolved for options API\r\n resolve(instance[type] || Component[type], name) || // global registration\r\n resolve(instance.appContext[type], name)\r\n );\r\n if (!res && maybeSelfReference) {\r\n return Component;\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\r\n const extra = type === COMPONENTS ? `\r\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\r\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\r\n }\r\n return res;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\r\n );\r\n }\r\n}\r\nfunction resolve(registry, name) {\r\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\r\n}\r\n\r\nconst ssrContextKey = Symbol.for(\"v-scx\");\r\nconst useSSRContext = () => {\r\n {\r\n const ctx = inject(ssrContextKey);\r\n if (!ctx) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\r\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\r\n );\r\n }\r\n return ctx;\r\n }\r\n};\r\n\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(\r\n effect,\r\n null,\r\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\r\n );\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(\r\n effect,\r\n null,\r\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\r\n );\r\n}\r\nconst INITIAL_WATCHER_VALUE = {};\r\nfunction watch(source, cb, options) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\r\n warn$1(\r\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\r\n );\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, {\r\n immediate,\r\n deep,\r\n flush,\r\n once,\r\n onTrack,\r\n onTrigger\r\n} = EMPTY_OBJ) {\r\n if (cb && once) {\r\n const _cb = cb;\r\n cb = (...args) => {\r\n _cb(...args);\r\n unwatch();\r\n };\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\r\n warn$1(\r\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\r\n );\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\r\n if (immediate !== void 0) {\r\n warn$1(\r\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\r\n );\r\n }\r\n if (deep !== void 0) {\r\n warn$1(\r\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\r\n );\r\n }\r\n if (once !== void 0) {\r\n warn$1(\r\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\r\n );\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn$1(\r\n `Invalid watch source: `,\r\n s,\r\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\r\n );\r\n };\r\n const instance = currentInstance;\r\n const reactiveGetter = (source2) => deep === true ? source2 : (\r\n // for deep: false, only traverse root-level properties\r\n traverse(source2, deep === false ? 1 : void 0)\r\n );\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow(source);\r\n } else if (isReactive(source)) {\r\n getter = () => reactiveGetter(source);\r\n forceTrigger = true;\r\n } else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\r\n getter = () => source.map((s) => {\r\n if (isRef(s)) {\r\n return s.value;\r\n } else if (isReactive(s)) {\r\n return reactiveGetter(s);\r\n } else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2);\r\n } else {\r\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\r\n }\r\n });\r\n } else if (isFunction(source)) {\r\n if (cb) {\r\n getter = () => callWithErrorHandling(source, instance, 2);\r\n } else {\r\n getter = () => {\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(\r\n source,\r\n instance,\r\n 3,\r\n [onCleanup]\r\n );\r\n };\r\n }\r\n } else {\r\n getter = NOOP;\r\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4);\r\n cleanup = effect.onStop = void 0;\r\n };\r\n };\r\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active || !effect.dirty) {\r\n return;\r\n }\r\n if (cb) {\r\n const newValue = effect.run();\r\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n } else {\r\n effect.run();\r\n }\r\n };\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === \"sync\") {\r\n scheduler = job;\r\n } else if (flush === \"post\") {\r\n scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense);\r\n } else {\r\n job.pre = true;\r\n if (instance)\r\n job.id = instance.uid;\r\n scheduler = () => queueJob(job);\r\n }\r\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\r\n const scope = getCurrentScope();\r\n const unwatch = () => {\r\n effect.stop();\r\n if (scope) {\r\n remove(scope.effects, effect);\r\n }\r\n };\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n } else {\r\n oldValue = effect.run();\r\n }\r\n } else if (flush === \"post\") {\r\n queuePostRenderEffect$1(\r\n effect.run.bind(effect),\r\n instance && instance.suspense\r\n );\r\n } else {\r\n effect.run();\r\n }\r\n return unwatch;\r\n}\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n } else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const reset = setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n reset();\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split(\".\");\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, depth, currentDepth = 0, seen) {\r\n if (!isObject(value) || value[\"__v_skip\"]) {\r\n return value;\r\n }\r\n if (depth && depth > 0) {\r\n if (currentDepth >= depth) {\r\n return value;\r\n }\r\n currentDepth++;\r\n }\r\n seen = seen || /* @__PURE__ */ new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, depth, currentDepth, seen);\r\n } else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], depth, currentDepth, seen);\r\n }\r\n } else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, depth, currentDepth, seen);\r\n });\r\n } else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], depth, currentDepth, seen);\r\n }\r\n }\r\n return value;\r\n}\r\n\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\r\n }\r\n}\r\nfunction withDirectives(vnode, directives) {\r\n if (currentRenderingInstance === null) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (dir) {\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n if (dir.deep) {\r\n traverse(value);\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n }\r\n return vnode;\r\n}\r\n\r\nfunction createAppContext() {\r\n return {\r\n app: null,\r\n config: {\r\n isNativeTag: NO,\r\n performance: false,\r\n globalProperties: {},\r\n optionMergeStrategies: {},\r\n errorHandler: void 0,\r\n warnHandler: void 0,\r\n compilerOptions: {}\r\n },\r\n mixins: [],\r\n components: {},\r\n directives: {},\r\n provides: /* @__PURE__ */ Object.create(null),\r\n optionsCache: /* @__PURE__ */ new WeakMap(),\r\n propsCache: /* @__PURE__ */ new WeakMap(),\r\n emitsCache: /* @__PURE__ */ new WeakMap()\r\n };\r\n}\r\nlet uid$1 = 0;\r\nfunction createAppAPI(render, hydrate) {\r\n return function createApp(rootComponent, rootProps = null) {\r\n if (!isFunction(rootComponent)) {\r\n rootComponent = extend({}, rootComponent);\r\n }\r\n if (rootProps != null && !isObject(rootProps)) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`root props passed to app.mount() must be an object.`);\r\n rootProps = null;\r\n }\r\n const context = createAppContext();\r\n const installedPlugins = /* @__PURE__ */ new WeakSet();\r\n const app = context.app = {\r\n _uid: uid$1++,\r\n _component: rootComponent,\r\n _props: rootProps,\r\n _container: null,\r\n _context: context,\r\n _instance: null,\r\n version,\r\n get config() {\r\n return context.config;\r\n },\r\n set config(v) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `app.config cannot be replaced. Modify individual options instead.`\r\n );\r\n }\r\n },\r\n use(plugin, ...options) {\r\n if (installedPlugins.has(plugin)) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Plugin has already been applied to target app.`);\r\n } else if (plugin && isFunction(plugin.install)) {\r\n installedPlugins.add(plugin);\r\n plugin.install(app, ...options);\r\n } else if (isFunction(plugin)) {\r\n installedPlugins.add(plugin);\r\n plugin(app, ...options);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `A plugin must either be a function or an object with an \"install\" function.`\r\n );\r\n }\r\n return app;\r\n },\r\n mixin(mixin) {\r\n if (__VUE_OPTIONS_API__) {\r\n if (!context.mixins.includes(mixin)) {\r\n context.mixins.push(mixin);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\r\n );\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\"Mixins are only available in builds supporting Options API\");\r\n }\r\n return app;\r\n },\r\n component(name, component) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n validateComponentName(name, context.config);\r\n }\r\n if (!component) {\r\n return context.components[name];\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\r\n warn$1(`Component \"${name}\" has already been registered in target app.`);\r\n }\r\n context.components[name] = component;\r\n return app;\r\n },\r\n directive(name, directive) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n validateDirectiveName(name);\r\n }\r\n if (!directive) {\r\n return context.directives[name];\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\r\n warn$1(`Directive \"${name}\" has already been registered in target app.`);\r\n }\r\n context.directives[name] = directive;\r\n return app;\r\n },\r\n // fixed by xxxxxx\r\n mount() {\r\n },\r\n // fixed by xxxxxx\r\n unmount() {\r\n },\r\n provide(key, value) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\r\n warn$1(\r\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\r\n );\r\n }\r\n context.provides[key] = value;\r\n return app;\r\n },\r\n runWithContext(fn) {\r\n const lastApp = currentApp;\r\n currentApp = app;\r\n try {\r\n return fn();\r\n } finally {\r\n currentApp = lastApp;\r\n }\r\n }\r\n };\r\n return app;\r\n };\r\n}\r\nlet currentApp = null;\r\n\r\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`provide() can only be used inside setup().`);\r\n }\r\n } else {\r\n let provides = currentInstance.provides;\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n provides[key] = value;\r\n if (currentInstance.type.mpType === \"app\") {\r\n currentInstance.appContext.app.provide(key, value);\r\n }\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance || currentApp) {\r\n const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;\r\n if (provides && key in provides) {\r\n return provides[key];\r\n } else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`injection \"${String(key)}\" not found.`);\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\r\nfunction hasInjectionContext() {\r\n return !!(currentInstance || currentRenderingInstance || currentApp);\r\n}\r\n\r\n/*! #__NO_SIDE_EFFECTS__ */\r\n// @__NO_SIDE_EFFECTS__\r\nfunction defineComponent(options, extraOptions) {\r\n return isFunction(options) ? (\r\n // #8326: extend call and options.name access are considered side-effects\r\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\r\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\r\n ) : options;\r\n}\r\n\r\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\", target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\", target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n return hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n const injected = injectHook(\r\n type,\r\n hook,\r\n keepAliveRoot,\r\n true\r\n /* prepend */\r\n );\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], injected);\r\n }, target);\r\n}\r\n\r\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n if (isRootHook(type)) {\r\n target = target.root;\r\n }\r\n const hooks = target[type] || (target[type] = []);\r\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n pauseTracking();\r\n const reset = setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n reset();\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n } else {\r\n hooks.push(wrappedHook);\r\n }\r\n return wrappedHook;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const apiName = toHandlerKey(\r\n (ErrorTypeStrings[type] || type.replace(/^on/, \"\")).replace(/ hook$/, \"\")\r\n );\r\n warn$1(\r\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (``)\r\n );\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\r\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\r\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\r\n);\r\nconst onBeforeMount = createHook(\"bm\");\r\nconst onMounted = createHook(\"m\");\r\nconst onBeforeUpdate = createHook(\"bu\");\r\nconst onUpdated = createHook(\"u\");\r\nconst onBeforeUnmount = createHook(\"bum\");\r\nconst onUnmounted = createHook(\"um\");\r\nconst onServerPrefetch = createHook(\"sp\");\r\nconst onRenderTriggered = createHook(\r\n \"rtg\"\r\n);\r\nconst onRenderTracked = createHook(\r\n \"rtc\"\r\n);\r\nfunction onErrorCaptured(hook, target = currentInstance) {\r\n injectHook(\"ec\", hook, target);\r\n}\r\n\r\nfunction toHandlers(obj, preserveCaseIfNecessary) {\r\n const ret = {};\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\r\n warn$1(`v-on with no argument expects an object value.`);\r\n return ret;\r\n }\r\n for (const key in obj) {\r\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\r\n }\r\n return ret;\r\n}\r\n\r\nconst getPublicInstance = (i) => {\r\n if (!i)\r\n return null;\r\n if (isStatefulComponent(i))\r\n return getExposeProxy(i) || i.proxy;\r\n return getPublicInstance(i.parent);\r\n};\r\nconst publicPropertiesMap = (\r\n // Move PURE marker to new line to workaround compiler discarding it\r\n // due to type annotation\r\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\r\n $: (i) => i,\r\n // fixed by xxxxxx vue-i18n 在 dev 模式,访问了 $el,故模拟一个假的\r\n // $el: i => i.vnode.el,\r\n $el: (i) => i.__$el || (i.__$el = {}),\r\n $data: (i) => i.data,\r\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\r\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\r\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\r\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\r\n $parent: (i) => getPublicInstance(i.parent),\r\n $root: (i) => getPublicInstance(i.root),\r\n $emit: (i) => i.emit,\r\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\r\n $forceUpdate: (i) => i.f || (i.f = () => {\r\n i.effect.dirty = true;\r\n queueJob(i.update);\r\n }),\r\n // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx\r\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\r\n })\r\n);\r\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\r\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\r\nconst PublicInstanceProxyHandlers = {\r\n get({ _: instance }, key) {\r\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\r\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\r\n return true;\r\n }\r\n let normalizedProps;\r\n if (key[0] !== \"$\") {\r\n const n = accessCache[key];\r\n if (n !== void 0) {\r\n switch (n) {\r\n case 1 /* SETUP */:\r\n return setupState[key];\r\n case 2 /* DATA */:\r\n return data[key];\r\n case 4 /* CONTEXT */:\r\n return ctx[key];\r\n case 3 /* PROPS */:\r\n return props[key];\r\n }\r\n } else if (hasSetupBinding(setupState, key)) {\r\n accessCache[key] = 1 /* SETUP */;\r\n return setupState[key];\r\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\r\n accessCache[key] = 2 /* DATA */;\r\n return data[key];\r\n } else if (\r\n // only cache other properties when instance has declared (thus stable)\r\n // props\r\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\r\n ) {\r\n accessCache[key] = 3 /* PROPS */;\r\n return props[key];\r\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\r\n accessCache[key] = 4 /* CONTEXT */;\r\n return ctx[key];\r\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\r\n accessCache[key] = 0 /* OTHER */;\r\n }\r\n }\r\n const publicGetter = publicPropertiesMap[key];\r\n let cssModule, globalProperties;\r\n if (publicGetter) {\r\n if (key === \"$attrs\") {\r\n track(instance, \"get\", key);\r\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\r\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\r\n track(instance, \"get\", key);\r\n }\r\n return publicGetter(instance);\r\n } else if (\r\n // css module (injected by vue-loader)\r\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\r\n ) {\r\n return cssModule;\r\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\r\n accessCache[key] = 4 /* CONTEXT */;\r\n return ctx[key];\r\n } else if (\r\n // global properties\r\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\r\n ) {\r\n {\r\n return globalProperties[key];\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\r\n // to infinite warning loop\r\n key.indexOf(\"__v\") !== 0)) {\r\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\r\n warn$1(\r\n `Property ${JSON.stringify(\r\n key\r\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\r\n );\r\n } else if (instance === currentRenderingInstance) {\r\n warn$1(\r\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\r\n );\r\n }\r\n }\r\n },\r\n set({ _: instance }, key, value) {\r\n const { data, setupState, ctx } = instance;\r\n if (hasSetupBinding(setupState, key)) {\r\n setupState[key] = value;\r\n return true;\r\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\r\n warn$1(`Cannot mutate \n\n","import MiniProgramPage from 'C:/Users/lj/Desktop/121/contract-front/111/pages/home/home.uvue'\nwx.createPage(MiniProgramPage)"],"names":["defineComponent","uni"],"mappings":";;;AAiDA,MAAA,YAAeA,8BAAA;AAAA,EACb,OAAI;AACF,WAAO;AAAA,MACR,aAAY;AAAA,MACZ,OAAM;AAAA,MACN,QAAO;AAAA,MACP,UAAS;AAAA,MACT,aAAY,CAAE;AAAA,MACd,QAAS;AAAA,QACP,IAAA,cAAA,EAAE,MAAM,SAAS,IAAI,GAAG;AAAA,QACxB,IAAA,cAAA,EAAE,MAAM,OAAO,IAAI,GAAG;AAAA,QACtB,IAAA,cAAA,EAAE,MAAM,SAAS,IAAI,GAAG;AAAA,QACxB,IAAA,cAAA,EAAE,MAAM,SAAS,IAAI,GAAG;AAAA,QACxB,IAAA,cAAA,EAAE,MAAM,gBAAgB,IAAI,EAAA,CAAG;AAAA,QAC/B,IAAA,cAAA,EAAE,MAAM,MAAM,IAAI,GAAG;AAAA,QACrB,IAAA,cAAA,EAAE,MAAM,UAAU,IAAI,EAAE,CAAA;AAAA,MACzB;AAAA,MACH,aAAa,CAAE;AAAA;EAEb;AAAA,EACD,UAAO;AACJ,SAAK,SAAS;AAAA,MACZ,EAAE,MAAM,SAAS,IAAI,EAAG;AAAA,MACxB,EAAE,MAAM,OAAO,IAAI,EAAG;AAAA,MACtB,EAAE,MAAM,SAAS,IAAI,EAAG;AAAA,MACxB,EAAE,MAAM,SAAS,IAAI,EAAG;AAAA,MACxB,EAAE,MAAM,gBAAgB,IAAI,EAAG;AAAA,MAC/B,EAAE,MAAM,MAAM,IAAI,EAAG;AAAA,MACrB,EAAE,MAAM,UAAU,IAAI,EAAE;AAAA;AAE1B,SAAK,cAAc,KAAK;AAAA,EAEzB;AAAA,EACF,SAAS;AAAA,IAER,cAAW;AAEV,UAAG,KAAK,QAAO;AACd,aAAK,SAAO;AAAA,MACZ,OAAI;AACJ,aAAK,SAAO;AACZC,sBAAAA,MAAI,MAAM,OAAM,8BAA6B,KAAK;AAAA,MACnD;AAAA,IACA;AAAA,IACD,aAAU;AACTA,oBAAAA,MAAI,MAAM,OAAM,8BAA6B,KAAK;AAClDA,oBAAAA,MAAI,WACJ,EAAE,KAAK,6BAA6B,CAAA;AAAA,IAEpC;AAAA;AAAA,IAED,aAAU;AAAA,IAET;AAAA,IACD,YAAY,OAAI,MAAA;AACf,WAAK,QAAQ;AACb,WAAK,YAAW;AAChB,WAAK,WAAW;AAAA,IAChB;AAAA,IACD,aAAU;AACT,WAAK,WAAW;AAAA,IAChB;AAAA;AAAA;AAAA,IAGG,aAAa,QAAK,MAAA;AACpBA,oBAAAA,MAAI,MAAM,OAAM,+BAA8B,KAAK;AACnD,UAAG,OAAM;AACR,YAAI,iBAAiB,MAAM,MAAM,EAAE;AACnC,YAAI,MAAM;AACV,aAAK,cAAc;AACnB,YAAI,SAAS,MAAM,eAAe,KAAK,GAAG,IAAI;AAC9C,YAAI,MAAM,OAAO,QAAQ,GAAG;AAC5B,aAAK,OAAO,IAAI,UAAG;AACjB,cAAI,IAAI,KAAK,KAAK,IAAI,GAAG;AACvB,iBAAK,YAAY,KAAK,IAAI;AAAA,UAC5B;AAAA,QACF,CAAC;AAAA,MACD,OAAK;AACL,aAAK,cAAY;AACjB,aAAK,cAAc,KAAK;AAAA,MACzB;AAAA,IACE;AAAA,EACL;CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnID,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/111.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/111.js.map new file mode 100644 index 0000000..df45a51 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/111.js.map @@ -0,0 +1 @@ +{"version":3,"file":"111.js","sources":["pages/index/111.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvMTExLnV2dWU"],"sourcesContent":["\n\n\n\n","import MiniProgramPage from 'C:/Users/lj/Desktop/121/contract-front/111/pages/index/111.uvue'\nwx.createPage(MiniProgramPage)"],"names":["defineComponent","uni","res"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/111/111.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/111/111.js.map new file mode 100644 index 0000000..c51c492 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/111/111.js.map @@ -0,0 +1 @@ +{"version":3,"file":"111.js","sources":["pages/index/111/111.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvMTExLzExMS51dnVl"],"sourcesContent":["\n\n\n\n","import MiniProgramPage from 'C:/Users/lj/Desktop/121/contract-front/111/pages/index/111/111.uvue'\nwx.createPage(MiniProgramPage)"],"names":["defineComponent"],"mappings":";;AAgGA,MAAA,YAAeA,8BAAA;AAAA,EACb,OAAI;AACF,WAAO;AAAA,MACL,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,iBAAiB;AAAA,MAEjB,YAAY,IAAA,cAAA;AAAA,QACV,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,cAAc;AAAA,OACf;AAAA,MAED,aAAa,IAAA,cAAA;AAAA,QACX,aAAa;AAAA,OACd;AAAA,MAED,aAAa,IAAA,cAAA;AAAA,QACX,aAAa;AAAA,OACd;AAAA,MAED,aAAa,IAAA,cAAA;AAAA,QACX,aAAa;AAAA,OACd;AAAA,MAED,aAAa,CAAC,OAAO,OAAO,MAAM;AAAA,MAClC,WAAW,CAAC,OAAO,OAAO,KAAK;AAAA,MAC/B,eAAe;AAAA,MACf,aAAa,CAAC,MAAM,MAAM,IAAI;AAAA,MAC9B,iBAAiB;AAAA,MACjB,QAAQ,CAAC,QAAQ,QAAQ,MAAM;AAAA,MAC/B,YAAY;AAAA;EAEf;AAAA,EACD,SAAS;AAAA,IACP,uBAAuB,IAAC,MAAA;AACtB,WAAK,WAAW,aAAa,EAAE,OAAO;AAAA,IACvC;AAAA,IACD,mBAAmB,IAAC,MAAA;AAClB,WAAK,gBAAgB,EAAE,OAAO;AAAA,IAC/B;AAAA,IACD,qBAAqB,IAAC,MAAA;AACpB,WAAK,kBAAkB,EAAE,OAAO;AAAA,IACjC;AAAA,IACD,gBAAgB,IAAC,MAAA;AACf,WAAK,aAAa,EAAE,OAAO;AAAA,IAC7B;AAAA,EACF;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClJA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/PayPal.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/PayPal.js.map new file mode 100644 index 0000000..d5ebdfb --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/PayPal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PayPal.js","sources":["pages/index/PayPal.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvUGF5UGFsLnV2dWU"],"sourcesContent":["\n\n\n\n","import MiniProgramPage from 'C:/Users/lj/Desktop/121/contract-front/111/pages/index/PayPal.uvue'\nwx.createPage(MiniProgramPage)"],"names":["defineComponent","uni","res"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/dingdan.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/dingdan.js.map new file mode 100644 index 0000000..2ba5cc9 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/dingdan.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dingdan.js","sources":["pages/index/dingdan.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvZGluZ2Rhbi51dnVl"],"sourcesContent":["\n\n\n\n","import MiniProgramPage from 'C:/Users/lj/Desktop/121/contract-front/111/pages/index/dingdan.uvue'\nwx.createPage(MiniProgramPage)"],"names":["defineComponent","uni"],"mappings":";;AAoDA,MAAA,YAAeA,8BAAA;AAAA,EACb,OAAI;AACF,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,MACX,MAAM,CAAC,MAAM,OAAO,KAAK;AAAA,MACzB,QAAQ;AAAA;AAAA,MAAe;AAAA;EAE1B;AAAA,EACD,UAAU;AAAA;AAAA,IAER,iBAAc;AACZ,aAAO,KAAK,OAAO,OAAO,WAAI;AAC5B,cAAM,cAAc,KAAK,cAAc,QACrC,MAAM,WAAW,KAAK;AACxB,cAAM,cAAc,MAAM,aAAa,SAAS,KAAK,SAAS,KAC5D,MAAM,MAAM,SAAS,KAAK,SAAS;AACrC,eAAO,eAAe;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,EACD;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,eAAY;AAEVC,oBAAG,MAAC,MAAM,OAAM,kCAAiC,UAAU,KAAK,SAAS;AAAA,IAC1E;AAAA;AAAA,IAGD,YAAY,UAAO,MAAA;AACjBA,oBAAAA,MAAI,iBAAiB;AAAA,QACnB,MAAM;AAAA,QACN,SAAS,MAAA;AACPA,wBAAAA,MAAI,UAAU,EAAE,OAAO,OAAQ,CAAA;AAAA,QACjC;AAAA,MACD,CAAA;AAAA,IACF;AAAA;AAAA,IAGK,YAAY,QAAK,MAAA;;AACrBA,sBAAAA,MAAI,YAAY,EAAE,OAAO,SAAU,CAAA;AAEnC,YAAI;AAEM,gBAAA,gBAAiB,MAAMA,cAAG,MAAC,aAAa;AAAA,YAC9C,KAAK;AAAA,YACL,QAAM,IAAA,cAAE,EAAE,YAAY,MAAM,GAAG,CAAA;AAAA,UAChC,CAAA;AAGD,gBAAMA,cAAAA,MAAI,SAAS;AAAA,YACjB;AAAA,YACA,SAAS,CAAC,QAAG;AACXA,4BAAAA,MAAI,UAAU,EAAE,OAAO,OAAQ,CAAA;AAC/BA,4BAAG,MAAC,MAAM,OAAM,mCAAkC,SAAS,IAAI,aAAa;AAAA,YAC9E;AAAA,UACD,CAAA;AAGDA,wBAAAA,MAAI,aAAa;AAAA,YACf,UAAU;AAAA,YACV,UAAU;AAAA,UACX,CAAA;AAAA,QACD,SAAO,KAAK;AACZA,wBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,QAAQ;AAAA,QAC/C,UAAU;AACRA,wBAAG,MAAC,YAAW;AAAA,QACjB;AAAA,OACF;AAAA,IAAA;AAAA,EACF;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzHA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/login.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/login.js.map new file mode 100644 index 0000000..0115296 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/login.js.map @@ -0,0 +1 @@ +{"version":3,"file":"login.js","sources":["pages/index/login.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvbG9naW4udXZ1ZQ"],"sourcesContent":["\n\n\n\n","import MiniProgramPage from 'C:/Users/lj/Desktop/121/contract-front/111/pages/index/login.uvue'\nwx.createPage(MiniProgramPage)"],"names":["defineComponent","uni"],"mappings":";;;AAuDA,MAAA,YAAeA,8BAAA;AAAA,EACb,OAAI;AACF,WAAO;AAAA,MACL,UAAU;AAAA,MACV,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,cAAc;AAAA,MACjB,mBAAmB;AAAA,MACnB,SAAQ;AAAA;EAER;AAAA,EACD,SAAM;AACLC,kBAAAA,MAAI,QACJ;AAAA,MACK,KAAK;AAAA,MACL,QAAO;AAAA,MACT,QAAO,IAAA,cAAA;AAAA,QACN,gBAAgB;AAAA,QAChB,kBAAiB;AAAA,OACjB;AAAA,MACC,SAAQ,CAAC,QAAG;AACXA,sBAAG,MAAC,MAAM,OAAM,gCAA+B,IAAI,IAAI;AAAA,MACxD;AAAA,IACL,CAAA;AAAA,EAEA;AAAA,EAED,SAAS;AAAA;AAAA,IAEP,cAAW;AACT,UAAI,CAAC,KAAK,YAAY,CAAC,KAAK,UAAU;AACpCA,sBAAG,MAAC,UAAU,EAAE,OAAO,YAAY,MAAM,OAAK,CAAG;AACjD,eAAM;AAAA,MACP,OAAI;AAEPA,sBAAG,MAAC,MAAM,OAAM,gCAA+B,KAAK,OAAO;AAC3D,YAAG,KAAK,SAAQ;AACZA,wBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,UAAQ,CAAG;AAChDA,wBAAAA,MAAI,UAAU,EAAE,KAAK,mBAAoB,CAAA;AAAA,QAC5C,OAAI;AACDA,wBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAK,CAAG;AAAA,QACpD;AAAA,MACD;AAAA,IACE;AAAA;AAAA,IAED,YAAS;AACZ,WAAK,oBAAoB;AAAA,IACrB;AAAA;AAAA,IAED,aAAU;AACR,WAAK,oBAAoB;AAAA,IAC1B;AAAA,IACJ,OAAO,IAAC,MAAA;AACRA,oBAAAA,MAAI,MAAM,OAAM,iCAAgC,UAAU,EAAE,OAAO,SAAS,EAAE,IAAI;AAAA,IACjF;AAAA,IACD,WAAQ;AACP,UAAG,KAAK,SAAQ;AACf,aAAK,UAAU;AAAA,MACf,OAAI;AACJ,aAAK,UAAU;AAAA,MAChB;AAAA,IACA;AAAA;AAAA,IAED,aAAU;AACTA,oBAAAA,MAAI,MAAM,OAAM,iCAAgC,KAAK;AACrD,UAAG,KAAK,SAAQ;AACf,aAAK,UAAU,KAAK;AAAA,MACpB,OAAI;AACJ,aAAK,UAAU;AAAA,MAChB;AACA,WAAK,oBAAoB;AAAA,IAC1B;AAAA,EACC;CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChID,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/wode.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/wode.js.map new file mode 100644 index 0000000..2ed3671 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/wode.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wode.js","sources":["pages/index/wode.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvd29kZS51dnVl"],"sourcesContent":["\n\n\n\n","import MiniProgramPage from 'C:/Users/lj/Desktop/121/contract-front/111/pages/index/wode.uvue'\nwx.createPage(MiniProgramPage)"],"names":["defineComponent","uni"],"mappings":";;;AAmCA,MAAA,YAAeA,8BAAA;AAAA,EACb,SAAS;AAAA,IACT,SAAM;AACJC,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,SAAS;AAAA,QACT,SAAS,CAAC,QAAG;AACX,cAAI,IAAI,SAAS;AACfA,0BAAAA,MAAI,UAAU;AAAA,cACZ,OAAO;AAAA,cACP,MAAM;AAAA,cACN,SAAS,MAAA;AAEP,2BAAW,MAAA;AACTA,gCAAAA,MAAI,WAAW,EAAE,KAAK,qBAAsB,CAAA;AAAA,gBAC7C,GAAE,IAAI;AAAA,cACT;AAAA,YACD,CAAA;AAAA,UACH;AAAA,QACF;AAAA,MACD,CAAA;AAAA,IACH;AAAA,EACE;CACH;;;;;;;;;;;;;ACzDD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/views/dingDanCreate.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/views/dingDanCreate.js.map new file mode 100644 index 0000000..908f084 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/views/dingDanCreate.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dingDanCreate.js","sources":["pages/views/dingDanCreate.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvdmlld3MvZGluZ0RhbkNyZWF0ZS51dnVl"],"sourcesContent":["\n\n\n","import MiniProgramPage from 'C:/Users/lj/Desktop/121/contract-front/111/pages/views/dingDanCreate.uvue'\nwx.createPage(MiniProgramPage)"],"names":["defineComponent","uni"],"mappings":";;AAsCC,MAAA,YAAeA,8BAAA;AAAA,EACd,OAAI;AACH,WAAO;AAAA,MACN,YAAW;AAAA,MACX,aAAY;AAAA,MACZ,SAAQ;AAAA,QACP,IAAA,cAAA;AAAA,UACI,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,UAAU;AAAA,YACR,IAAA,cAAA;AAAA,cACE,IAAI;AAAA,cACJ,MAAM;AAAA,cACN,UAAU;AAAA,gBACR,IAAA,cAAA,EAAE,IAAI,KAAK,MAAM,OAAO;AAAA,gBACxB,IAAA,cAAA,EAAE,IAAI,KAAK,MAAM,KAAK,CAAA;AAAA,cACxB;AAAA,YACD,CAAA;AAAA,YACD,IAAA,cAAA;AAAA,cACE,IAAI;AAAA,cACJ,MAAM;AAAA,cACN,UAAU;AAAA,gBACR,IAAA,cAAA,EAAE,IAAI,KAAK,MAAM,MAAM;AAAA,gBACvB,IAAA,cAAA,EAAE,IAAI,KAAK,MAAM,MAAM;AAAA,gBACvB,IAAA,cAAA,EAAE,IAAI,KAAK,MAAM,KAAK,CAAA;AAAA,cACxB;AAAA,YACF,CAAA;AAAA,UACF;AAAA,QACD,CAAA;AAAA,QACD,IAAA,cAAA;AAAA,UACE,IAAI;AAAA,UACJ,MAAM;AAAA;AAAA,UAET,UAAS;AAAA,YACR,IAAA,cAAA;AAAA,cACE,IAAI;AAAA,cACJ,MAAM;AAAA,cACN,UAAU;AAAA,gBACR,IAAA,cAAA,EAAE,IAAI,KAAK,MAAM,UAAU;AAAA,gBAC3B,IAAA,cAAA,EAAE,IAAI,KAAK,MAAM,QAAQ;AAAA,gBACzB,IAAA,cAAA,EAAE,IAAI,KAAK,MAAM,OAAO,CAAA;AAAA,cAC1B;AAAA,YACF,CAAA;AAAA,UACD;AAAA,QACC,CAAA;AAAA,MACF;AAAA,MACD,WAAU,CAAE;AAAA,MACZ,YAAW;AAAA,MACX,MAAK;AAAA;EAEN;AAAA,EACD,SAAM;AACLC,kBAAAA,MAAI,QACJ;AAAA,MACK,KAAK;AAAA,MACL,QAAO;AAAA,MACP,QAAO,IAAA,cAAA;AAAA,QACN,gBAAgB;AAAA,QAChB,kBAAiB;AAAA,OACjB;AAAA,MACD,SAAQ,CAAC,QAAG;AACXA,sBAAG,MAAC,MAAM,OAAM,yCAAwC,IAAI,KAAK,MAAM;AAAA,MACxE;AAAA,IACL,CAAA;AAAA,EAGA;AAAA,EACD,SAAS;AAAA,IACR,SAAM;AACA,UAAI,aAAa;AACjB,UAAI,cAAc,WAAW,SAAO,GAAG;AACnCA,sBAAG,MAAC,aAAY;AAAA,MAClB,OAAK;AACH,gBAAQ,KAAI;AAAA,MAChB;AAAA,IACL;AAAA,IACD,SAAM;AACLA,oBAAAA,MAAI,MAAM,OAAM,yCAAwC,GAAG;AAC3DA,oBAAAA,MAAI,WACJ,EAAE,KAAK,sBAAsB,CAAA;AAAA,IAE7B;AAAA,IACD,YAAU;AAAA,IAET;AAAA,IACD,iBAAiB,KAAE,MAAA;AAClB,WAAK,aAAa;AAClB,WAAK,YAAY,KAAK,QAAQ,KAAG,CAAC,EAAE;AAAA,IACpC;AAAA,IACD,WAAW,OAAI,MAAA;AACdA,oBAAAA,MAAI,MAAM,OAAM,yCAAwC,IAAI;AAC5D,WAAK,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EACD,aAAU;AACTA,kBAAAA,MAAI,MAAM,OAAM,yCAAwC,GAAG;AAAA,EAC5D;CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtID,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/views/payment.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/views/payment.js.map new file mode 100644 index 0000000..57cfa02 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/views/payment.js.map @@ -0,0 +1 @@ +{"version":3,"file":"payment.js","sources":["pages/views/payment.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvdmlld3MvcGF5bWVudC51dnVl"],"sourcesContent":["\n \n\n \n","import MiniProgramPage from 'C:/Users/lj/Desktop/121/contract-front/111/pages/views/payment.uvue'\nwx.createPage(MiniProgramPage)"],"names":["defineComponent","uni","res"],"mappings":";;AAuBC,MAAA,YAAeA,8BAAA;AAAA,EACd,OAAI;AACH,WAAO;AAAA;AAAA,MAEN,aAAa;AAAA,MACb,mBAAmB;AAAA;AAAA,MAEnB,YAAY;AAAA,MACZ,kBAAkB;AAAA,MACN,aAAY;AAAA;AAAA;EAEzB;AAAA,EACD,SAAM;AAAA,EAEL;AAAA,EACD,SAAS;AAAA;AAAA,IAER,eAAe,OAAI,MAAA;AAClB,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAM;AAClC,cAAM,SAAS,IAAI;AACnB,eAAO,cAAc,IAAI;AACzB,eAAO,SAAS,MAAA;AACf,gBAAM,SAAS,OAAO;AACtB,kBAAQ,MAAM;AAAA,QACf;AACA,eAAO,UAAU,CAAA,QAAM,SAAA;AAAG,iBAAA,OAAO,KAAK;AAAA;MACvC,CAAC;AAAA,IACD;AAAA;AAAA,IAED,iBAAc;AACbC,oBAAAA,MAAI,YAAY;AAAA,QACf,OAAO;AAAA,QACP,UAAU,CAAC,YAAY,YAAY;AAAA,QACnC,YAAY,CAAC,SAAS,QAAQ;AAAA,QAC9B,SAAS,CAAC,QAAG;AACZ,eAAK,oBAAoB,IAAI,cAAc,CAAC;AAC5C,eAAK,eAAe,IAAI,UAAU,CAAC,CAAC,EAAE,KAAK,CAAAC,OAAI,SAAA;AAC9C,iBAAK,eAAeA,IAAG;AAAA,UAExB,CAAC;AAAA,QACF;AAAA,MACA,CAAA;AAAA,IACD;AAAA;AAAA,IAED,gBAAa;AACZD,oBAAAA,MAAI,YAAY;AAAA,QACf,OAAO;AAAA,QACP,UAAU,CAAC,YAAY,YAAY;AAAA,QACnC,YAAY,CAAC,SAAS,QAAQ;AAAA,QAC9B,SAAS,CAAC,QAAG;AACZ,eAAK,mBAAmB,IAAI,cAAc,CAAC;AAC3C,eAAK,eAAe,IAAI,UAAU,CAAC,CAAC,EAAE,KAAK,CAAAC,OAAI,SAAA;AAC9C,iBAAK,eAAeA,IAAG;AAAA,UACxB,CAAC;AAAA,QACF;AAAA,MACA,CAAA;AAAA,IACD;AAAA;AAAA,IAED,gBAAa;AAEZD,oBAAAA,MAAI,QAAQ;AAAA;AAAA,QAEX,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM,IAAA,cAAA;AAAA,UACL,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,eAAe;AAAA,SACf;AAAA,QACD,QAAQ,IAAA,cAAA;AAAA,UACP,gBAAgB;AAAA,SAChB;AAAA,QACD,SAAS,SAAI;AACZ,eAAK,cAAe,IAAI,KAAK;AAAA,QAC9B;AAAA,MACA,CAAA;AAAA,IACD;AAAA;AAAA,IAED,eAAe,MAAG,MAAA;AACjBA,oBAAAA,MAAI,QAAQ;AAAA,QACX,KAAK,mDAAmD,KAAK;AAAA,QAC7D,QAAQ;AAAA,QACR,MAAM,IAAA,cAAA;AAAA,UACL,OAAO;AAAA,UACP,cAAc;AAAA;AAAA,SACd;AAAA,QACD,QAAQ,IAAA,cAAA;AAAA,UACP,gBAAgB;AAAA,SAChB;AAAA,QACD,SAAS,CAAAC,SAAI;AACZD,wBAAG,MAAC,MAAM,OAAM,mCAAkCC,KAAI,IAAI;AAAA,QAC3D;AAAA,MACA,CAAA;AAAA,IACD;AAAA,EACF;CACD;;;;;;;;;;;;;;;;;;;;;;;;;;ACrHD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio-group/l-radio-group.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio-group/l-radio-group.js.map new file mode 100644 index 0000000..984dbb3 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio-group/l-radio-group.js.map @@ -0,0 +1 @@ +{"version":3,"file":"l-radio-group.js","sources":["uni_modules/lime-radio/components/l-radio-group/l-radio-group.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/QzovVXNlcnMvbGovRGVza3RvcC8xMjEvY29udHJhY3QtZnJvbnQvMTExL3VuaV9tb2R1bGVzL2xpbWUtcmFkaW8vY29tcG9uZW50cy9sLXJhZGlvLWdyb3VwL2wtcmFkaW8tZ3JvdXAudXZ1ZQ"],"sourcesContent":["\n\n","import Component from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/lime-radio/components/l-radio-group/l-radio-group.uvue'\nwx.createComponent(Component)"],"names":["ref","computed","_a","provide","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQC,UAAM,OAAO;AACb,UAAM,QAAQ;AAMd,UAAM,aAAaA,kBAAc,IAAI;AACrC,UAAM,aAAaC,cAAAA,SAAS;AAAA,MAC3B,IAAI,QAAe,MAAA;AAClB,mBAAW,QAAQ;AACnB,aAAK,qBAAqB,KAAK;AAC/B,aAAK,UAAU,KAAK;AAAA,MACpB;AAAA,MACD,MAAG;;AACF,sBAAO,MAAAC,MAAA,MAAM,0CAAS,MAAM,gBAAU,QAAA,OAAA,SAAA,KAAI,MAAM,+CAAgB,WAAW;AAAA,MAC3E;AAAA,IACoC,CAAA;AAEtC,UAAM,oBAAoB,CAAC,MAAQ,SAAA;AAClC,UAAI,MAAM,gBAAgB,OAAO,WAAW,OAAO;AAClD,mBAAW,QAAQ;AAAA,MACnB,OAAM;AACN,mBAAW,QAAQ;AAAA,MACnB;AAAA,IACF;AACAC,0BAAQ,uBAAuB,KAAK;AACpCA,0BAAQ,uBAAuB,UAAU;AACzCA,0BAAQ,wBAAwB,iBAAiB;;;;;;;;;;ACnClD,GAAG,gBAAgBC,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio-group/type.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio-group/type.js.map new file mode 100644 index 0000000..9375730 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio-group/type.js.map @@ -0,0 +1 @@ +{"version":3,"file":"type.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio/l-radio.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio/l-radio.js.map new file mode 100644 index 0000000..7f442b0 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio/l-radio.js.map @@ -0,0 +1 @@ +{"version":3,"file":"l-radio.js","sources":["uni_modules/lime-radio/components/l-radio/l-radio.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/QzovVXNlcnMvbGovRGVza3RvcC8xMjEvY29udHJhY3QtZnJvbnQvMTExL3VuaV9tb2R1bGVzL2xpbWUtcmFkaW8vY29tcG9uZW50cy9sLXJhZGlvL2wtcmFkaW8udXZ1ZQ"],"sourcesContent":["\r\n\r\n","import Component from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/lime-radio/components/l-radio/l-radio.uvue'\nwx.createComponent(Component)"],"names":["inject","_useModel","computed","_a","Component"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio/type.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio/type.js.map new file mode 100644 index 0000000..9375730 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-radio/components/l-radio/type.js.map @@ -0,0 +1 @@ +{"version":3,"file":"type.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/mosowe-confirm-popup/components/mosowe-confirm-popup/mosowe-confirm-popup.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/mosowe-confirm-popup/components/mosowe-confirm-popup/mosowe-confirm-popup.js.map new file mode 100644 index 0000000..0068636 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/mosowe-confirm-popup/components/mosowe-confirm-popup/mosowe-confirm-popup.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mosowe-confirm-popup.js","sources":["uni_modules/mosowe-confirm-popup/components/mosowe-confirm-popup/mosowe-confirm-popup.vue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/QzovVXNlcnMvbGovRGVza3RvcC8xMjEvY29udHJhY3QtZnJvbnQvMTExL3VuaV9tb2R1bGVzL21vc293ZS1jb25maXJtLXBvcHVwL2NvbXBvbmVudHMvbW9zb3dlLWNvbmZpcm0tcG9wdXAvbW9zb3dlLWNvbmZpcm0tcG9wdXAudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import Component from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/mosowe-confirm-popup/components/mosowe-confirm-popup/mosowe-confirm-popup.vue'\nwx.createComponent(Component)"],"names":["ref","watch","getCurrentInstance"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAoDA,UAAM,QAAQ;AAYd,UAAM,QAAQ;AAEd,UAAM,oBAAoBA,kBAAS,IAAI;AACvCC,kBAAAA,MACE;AAAM,aAAA,MAAM;AAAA,IAAU,GACtB,MAAA;AACE,YAAM,aAAa,kBAAkB,MAAM,KAAI,IAAK,kBAAkB,MAAM;IAC9E,CAAC;AAGH,UAAM,WAAWC,cAAAA;AACjB,UAAM,WAAW,SAAS,MAAM;AAGhC,UAAM,SAAS,MAAA;AACb,UAAI,aAAA,QAAA,+BAAA,SAAU,UAAU;AACtB,cAAM,QAAQ;AAAA,MACf,OAAM;AACL,cAAM,qBAAqB,KAAK;AAAA,MACjC;AAAA,IACH;AAEA,UAAM,UAAU,MAAA;AACd,UAAI,aAAA,QAAA,+BAAA,SAAU,WAAW;AACvB,cAAM,SAAS;AAAA,MAChB,OAAM;AACL,cAAM,qBAAqB,KAAK;AAAA,MACjC;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3FA,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.js.map new file mode 100644 index 0000000..356a505 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.js.map @@ -0,0 +1 @@ +{"version":3,"file":"calendar-item.js","sources":["uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/QzovVXNlcnMvbGovRGVza3RvcC8xMjEvY29udHJhY3QtZnJvbnQvMTExL3VuaV9tb2R1bGVzL3VuaS1kYXRldGltZS1waWNrZXIvY29tcG9uZW50cy91bmktZGF0ZXRpbWUtcGlja2VyL2NhbGVuZGFyLWl0ZW0udnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import Component from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue'\nwx.createComponent(Component)"],"names":["defineComponent"],"mappings":";;AAuBC,MAAA,YAAeA,8BAAA;AAAA,EACd,OAAO;AAAA,IACN,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAM;AACL,eAAA,IAAA,cAAO,CAAA,CAAC;AAAA,MACT;AAAA,IACA;AAAA,IACD,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAA;AACR,eAAA,IAAA,cAAO,CAAA,CAAC;AAAA,MACT;AAAA,IACA;AAAA,IACD,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAA;AACR,eAAO;MACR;AAAA,IACA;AAAA,IACD,YAAY;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACA;AAAA,EACD,SAAS;AAAA,IACR,WAAW,QAAK,MAAA;AACf,WAAK,MAAM,UAAU,KAAK;AAAA,IAC1B;AAAA,IACD,gBAAgB,QAAK,MAAA;AACpB,WAAK,MAAM,eAAe,KAAK;AAAA,IAChC;AAAA,EACD;CACD;;;;;;;;;;;;;;;;;;;;;;;ACvDD,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.js.map new file mode 100644 index 0000000..ca2104a --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.js.map @@ -0,0 +1 @@ +{"version":3,"file":"calendar.js","sources":["uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/QzovVXNlcnMvbGovRGVza3RvcC8xMjEvY29udHJhY3QtZnJvbnQvMTExL3VuaV9tb2R1bGVzL3VuaS1kYXRldGltZS1waWNrZXIvY29tcG9uZW50cy91bmktZGF0ZXRpbWUtcGlja2VyL2NhbGVuZGFyLnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import Component from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue'\nwx.createComponent(Component)"],"names":["initVueI18n","i18nMessages","defineComponent","Calendar","__read","getDate","getTime"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js.map new file mode 100644 index 0000000..34d906e --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js"],"sourcesContent":["import en from './en.json'\r\nimport zhHans from './zh-Hans.json'\r\nimport zhHant from './zh-Hant.json'\r\nexport default {\r\n\ten,\r\n\t'zh-Hans': zhHans,\r\n\t'zh-Hant': zhHant\r\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAe,eAAA;AAAA,EACd;AAAA,EACA,WAAW;AAAA,EACX,WAAW;AACZ;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.js.map new file mode 100644 index 0000000..3eb734a --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.js.map @@ -0,0 +1 @@ +{"version":3,"file":"time-picker.js","sources":["uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/QzovVXNlcnMvbGovRGVza3RvcC8xMjEvY29udHJhY3QtZnJvbnQvMTExL3VuaV9tb2R1bGVzL3VuaS1kYXRldGltZS1waWNrZXIvY29tcG9uZW50cy91bmktZGF0ZXRpbWUtcGlja2VyL3RpbWUtcGlja2VyLnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import Component from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue'\nwx.createComponent(Component)"],"names":["initVueI18n","i18nMessages","defineComponent","fixIosDateFormat"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.js.map new file mode 100644 index 0000000..9e0658f --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uni-datetime-picker.js","sources":["uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/QzovVXNlcnMvbGovRGVza3RvcC8xMjEvY29udHJhY3QtZnJvbnQvMTExL3VuaV9tb2R1bGVzL3VuaS1kYXRldGltZS1waWNrZXIvY29tcG9uZW50cy91bmktZGF0ZXRpbWUtcGlja2VyL3VuaS1kYXRldGltZS1waWNrZXIudnVl"],"sourcesContent":["\n\n\n\n","import Component from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue'\nwx.createComponent(Component)"],"names":["defineComponent","getDate","getTime","initVueI18n","i18nMessages","__read","uni","fixIosDateFormat","checkDate","getDateTime","dateCompare","getDefaultSecond"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js.map new file mode 100644 index 0000000..21d42a8 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js.map @@ -0,0 +1 @@ +{"version":3,"file":"util.js","sources":["uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js"],"sourcesContent":["class Calendar {\r\n\tconstructor({\r\n\t\tselected,\r\n\t\tstartDate,\r\n\t\tendDate,\r\n\t\trange,\r\n\t} = {}) {\r\n\t\t// 当前日期\r\n\t\tthis.date = this.getDateObj(new Date()) // 当前初入日期\r\n\t\t// 打点信息\r\n\t\tthis.selected = selected || [];\r\n\t\t// 起始时间\r\n\t\tthis.startDate = startDate\r\n\t\t// 终止时间\r\n\t\tthis.endDate = endDate\r\n\t\t// 是否范围选择\r\n\t\tthis.range = range\r\n\t\t// 多选状态\r\n\t\tthis.cleanMultipleStatus()\r\n\t\t// 每周日期\r\n\t\tthis.weeks = {}\r\n\t\tthis.lastHover = false\r\n\t}\r\n\t/**\r\n\t * 设置日期\r\n\t * @param {Object} date\r\n\t */\r\n\tsetDate(date) {\r\n\t\tconst selectDate = this.getDateObj(date)\r\n\t\tthis.getWeeks(selectDate.fullDate)\r\n\t}\r\n\r\n\t/**\r\n\t * 清理多选状态\r\n\t */\r\n\tcleanMultipleStatus() {\r\n\t\tthis.multipleStatus = {\r\n\t\t\tbefore: '',\r\n\t\t\tafter: '',\r\n\t\t\tdata: []\r\n\t\t}\r\n\t}\r\n\r\n\tsetStartDate(startDate) {\r\n\t\tthis.startDate = startDate\r\n\t}\r\n\r\n\tsetEndDate(endDate) {\r\n\t\tthis.endDate = endDate\r\n\t}\r\n\r\n\tgetPreMonthObj(date) {\r\n\t\tdate = fixIosDateFormat(date)\r\n\t\tdate = new Date(date)\r\n\r\n\t\tconst oldMonth = date.getMonth()\r\n\t\tdate.setMonth(oldMonth - 1)\r\n\t\tconst newMonth = date.getMonth()\r\n\t\tif (oldMonth !== 0 && newMonth - oldMonth === 0) {\r\n\t\t\tdate.setMonth(newMonth - 1)\r\n\t\t}\r\n\t\treturn this.getDateObj(date)\r\n\t}\r\n\tgetNextMonthObj(date) {\r\n\t\tdate = fixIosDateFormat(date)\r\n\t\tdate = new Date(date)\r\n\r\n\t\tconst oldMonth = date.getMonth()\r\n\t\tdate.setMonth(oldMonth + 1)\r\n\t\tconst newMonth = date.getMonth()\r\n\t\tif (newMonth - oldMonth > 1) {\r\n\t\t\tdate.setMonth(newMonth - 1)\r\n\t\t}\r\n\t\treturn this.getDateObj(date)\r\n\t}\r\n\r\n\t/**\r\n\t * 获取指定格式Date对象\r\n\t */\r\n\tgetDateObj(date) {\r\n\t\tdate = fixIosDateFormat(date)\r\n\t\tdate = new Date(date)\r\n\r\n\t\treturn {\r\n\t\t\tfullDate: getDate(date),\r\n\t\t\tyear: date.getFullYear(),\r\n\t\t\tmonth: addZero(date.getMonth() + 1),\r\n\t\t\tdate: addZero(date.getDate()),\r\n\t\t\tday: date.getDay()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 获取上一个月日期集合\r\n\t */\r\n\tgetPreMonthDays(amount, dateObj) {\r\n\t\tconst result = []\r\n\t\tfor (let i = amount - 1; i >= 0; i--) {\r\n\t\t\tconst month = dateObj.month - 1\r\n\t\t\tresult.push({\r\n\t\t\t\tdate: new Date(dateObj.year, month, -i).getDate(),\r\n\t\t\t\tmonth,\r\n\t\t\t\tdisable: true\r\n\t\t\t})\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n\t/**\r\n\t * 获取本月日期集合\r\n\t */\r\n\tgetCurrentMonthDays(amount, dateObj) {\r\n\t\tconst result = []\r\n\t\tconst fullDate = this.date.fullDate\r\n\t\tfor (let i = 1; i <= amount; i++) {\r\n\t\t\tconst currentDate = `${dateObj.year}-${dateObj.month}-${addZero(i)}`\r\n\t\t\tconst isToday = fullDate === currentDate\r\n\t\t\t// 获取打点信息\r\n\t\t\tconst info = this.selected && this.selected.find((item) => {\r\n\t\t\t\tif (this.dateEqual(currentDate, item.date)) {\r\n\t\t\t\t\treturn item\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\t// 日期禁用\r\n\t\t\tlet disableBefore = true\r\n\t\t\tlet disableAfter = true\r\n\t\t\tif (this.startDate) {\r\n\t\t\t\tdisableBefore = dateCompare(this.startDate, currentDate)\r\n\t\t\t}\r\n\r\n\t\t\tif (this.endDate) {\r\n\t\t\t\tdisableAfter = dateCompare(currentDate, this.endDate)\r\n\t\t\t}\r\n\r\n\t\t\tlet multiples = this.multipleStatus.data\r\n\t\t\tlet multiplesStatus = -1\r\n\t\t\tif (this.range && multiples) {\r\n\t\t\t\tmultiplesStatus = multiples.findIndex((item) => {\r\n\t\t\t\t\treturn this.dateEqual(item, currentDate)\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tconst checked = multiplesStatus !== -1\r\n\r\n\t\t\tresult.push({\r\n\t\t\t\tfullDate: currentDate,\r\n\t\t\t\tyear: dateObj.year,\r\n\t\t\t\tdate: i,\r\n\t\t\t\tmultiple: this.range ? checked : false,\r\n\t\t\t\tbeforeMultiple: this.isLogicBefore(currentDate, this.multipleStatus.before, this.multipleStatus.after),\r\n\t\t\t\tafterMultiple: this.isLogicAfter(currentDate, this.multipleStatus.before, this.multipleStatus.after),\r\n\t\t\t\tmonth: dateObj.month,\r\n\t\t\t\tdisable: (this.startDate && !dateCompare(this.startDate, currentDate)) || (this.endDate && !dateCompare(\r\n\t\t\t\t\tcurrentDate, this.endDate)),\r\n\t\t\t\tisToday,\r\n\t\t\t\tuserChecked: false,\r\n\t\t\t\textraInfo: info\r\n\t\t\t})\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n\t/**\r\n\t * 获取下一个月日期集合\r\n\t */\r\n\t_getNextMonthDays(amount, dateObj) {\r\n\t\tconst result = []\r\n\t\tconst month = dateObj.month + 1\r\n\t\tfor (let i = 1; i <= amount; i++) {\r\n\t\t\tresult.push({\r\n\t\t\t\tdate: i,\r\n\t\t\t\tmonth,\r\n\t\t\t\tdisable: true\r\n\t\t\t})\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n\r\n\t/**\r\n\t * 获取当前日期详情\r\n\t * @param {Object} date\r\n\t */\r\n\tgetInfo(date) {\r\n\t\tif (!date) {\r\n\t\t\tdate = new Date()\r\n\t\t}\r\n\t\tconst res = this.calendar.find(item => item.fullDate === this.getDateObj(date).fullDate)\r\n\t\treturn res ? res : this.getDateObj(date)\r\n\t}\r\n\r\n\t/**\r\n\t * 比较时间是否相等\r\n\t */\r\n\tdateEqual(before, after) {\r\n\t\tbefore = new Date(fixIosDateFormat(before))\r\n\t\tafter = new Date(fixIosDateFormat(after))\r\n\t\treturn before.valueOf() === after.valueOf()\r\n\t}\r\n\r\n\t/**\r\n\t * 比较真实起始日期\r\n\t */\r\n\r\n\tisLogicBefore(currentDate, before, after) {\r\n\t\tlet logicBefore = before\r\n\t\tif (before && after) {\r\n\t\t\tlogicBefore = dateCompare(before, after) ? before : after\r\n\t\t}\r\n\t\treturn this.dateEqual(logicBefore, currentDate)\r\n\t}\r\n\r\n\tisLogicAfter(currentDate, before, after) {\r\n\t\tlet logicAfter = after\r\n\t\tif (before && after) {\r\n\t\t\tlogicAfter = dateCompare(before, after) ? after : before\r\n\t\t}\r\n\t\treturn this.dateEqual(logicAfter, currentDate)\r\n\t}\r\n\r\n\t/**\r\n\t * 获取日期范围内所有日期\r\n\t * @param {Object} begin\r\n\t * @param {Object} end\r\n\t */\r\n\tgeDateAll(begin, end) {\r\n\t\tvar arr = []\r\n\t\tvar ab = begin.split('-')\r\n\t\tvar ae = end.split('-')\r\n\t\tvar db = new Date()\r\n\t\tdb.setFullYear(ab[0], ab[1] - 1, ab[2])\r\n\t\tvar de = new Date()\r\n\t\tde.setFullYear(ae[0], ae[1] - 1, ae[2])\r\n\t\tvar unixDb = db.getTime() - 24 * 60 * 60 * 1000\r\n\t\tvar unixDe = de.getTime() - 24 * 60 * 60 * 1000\r\n\t\tfor (var k = unixDb; k <= unixDe;) {\r\n\t\t\tk = k + 24 * 60 * 60 * 1000\r\n\t\t\tarr.push(this.getDateObj(new Date(parseInt(k))).fullDate)\r\n\t\t}\r\n\t\treturn arr\r\n\t}\r\n\r\n\t/**\r\n\t * 获取多选状态\r\n\t */\r\n\tsetMultiple(fullDate) {\r\n\t\tif (!this.range) return\r\n\r\n\t\tlet {\r\n\t\t\tbefore,\r\n\t\t\tafter\r\n\t\t} = this.multipleStatus\r\n\t\tif (before && after) {\r\n\t\t\tif (!this.lastHover) {\r\n\t\t\t\tthis.lastHover = true\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.multipleStatus.before = fullDate\r\n\t\t\tthis.multipleStatus.after = ''\r\n\t\t\tthis.multipleStatus.data = []\r\n\t\t\tthis.multipleStatus.fulldate = ''\r\n\t\t\tthis.lastHover = false\r\n\t\t} else {\r\n\t\t\tif (!before) {\r\n\t\t\t\tthis.multipleStatus.before = fullDate\r\n\t\t\t\tthis.multipleStatus.after = undefined;\r\n\t\t\t\tthis.lastHover = false\r\n\t\t\t} else {\r\n\t\t\t\tthis.multipleStatus.after = fullDate\r\n\t\t\t\tif (dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {\r\n\t\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus\r\n\t\t\t\t\t\t.after);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus\r\n\t\t\t\t\t\t.before);\r\n\t\t\t\t}\r\n\t\t\t\tthis.lastHover = true\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.getWeeks(fullDate)\r\n\t}\r\n\r\n\t/**\r\n\t * 鼠标 hover 更新多选状态\r\n\t */\r\n\tsetHoverMultiple(fullDate) {\r\n\t\t//抖音小程序点击会触发hover事件,需要避免一下\r\n\t\t// #ifndef MP-TOUTIAO\r\n\t\tif (!this.range || this.lastHover) return\r\n\t\tconst {\r\n\t\t\tbefore\r\n\t\t} = this.multipleStatus\r\n\r\n\t\tif (!before) {\r\n\t\t\tthis.multipleStatus.before = fullDate\r\n\t\t} else {\r\n\t\t\tthis.multipleStatus.after = fullDate\r\n\t\t\tif (dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after);\r\n\t\t\t} else {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.getWeeks(fullDate)\r\n\t\t// #endif\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * 更新默认值多选状态\r\n\t */\r\n\tsetDefaultMultiple(before, after) {\r\n\t\tthis.multipleStatus.before = before\r\n\t\tthis.multipleStatus.after = after\r\n\t\tif (before && after) {\r\n\t\t\tif (dateCompare(before, after)) {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(before, after);\r\n\t\t\t\tthis.getWeeks(after)\r\n\t\t\t} else {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(after, before);\r\n\t\t\t\tthis.getWeeks(before)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 获取每周数据\r\n\t * @param {Object} dateData\r\n\t */\r\n\tgetWeeks(dateData) {\r\n\t\tconst {\r\n\t\t\tyear,\r\n\t\t\tmonth,\r\n\t\t} = this.getDateObj(dateData)\r\n\r\n\t\tconst preMonthDayAmount = new Date(year, month - 1, 1).getDay()\r\n\t\tconst preMonthDays = this.getPreMonthDays(preMonthDayAmount, this.getDateObj(dateData))\r\n\r\n\t\tconst currentMonthDayAmount = new Date(year, month, 0).getDate()\r\n\t\tconst currentMonthDays = this.getCurrentMonthDays(currentMonthDayAmount, this.getDateObj(dateData))\r\n\r\n\t\tconst nextMonthDayAmount = 42 - preMonthDayAmount - currentMonthDayAmount\r\n\t\tconst nextMonthDays = this._getNextMonthDays(nextMonthDayAmount, this.getDateObj(dateData))\r\n\r\n\t\tconst calendarDays = [...preMonthDays, ...currentMonthDays, ...nextMonthDays]\r\n\r\n\t\tconst weeks = new Array(6)\r\n\t\tfor (let i = 0; i < calendarDays.length; i++) {\r\n\t\t\tconst index = Math.floor(i / 7)\r\n\t\t\tif (!weeks[index]) {\r\n\t\t\t\tweeks[index] = new Array(7)\r\n\t\t\t}\r\n\t\t\tweeks[index][i % 7] = calendarDays[i]\r\n\t\t}\r\n\r\n\t\tthis.calendar = calendarDays\r\n\t\tthis.weeks = weeks\r\n\t}\r\n}\r\n\r\nfunction getDateTime(date, hideSecond) {\r\n\treturn `${getDate(date)} ${getTime(date, hideSecond)}`\r\n}\r\n\r\nfunction getDate(date) {\r\n\tdate = fixIosDateFormat(date)\r\n\tdate = new Date(date)\r\n\tconst year = date.getFullYear()\r\n\tconst month = date.getMonth() + 1\r\n\tconst day = date.getDate()\r\n\treturn `${year}-${addZero(month)}-${addZero(day)}`\r\n}\r\n\r\nfunction getTime(date, hideSecond) {\r\n\tdate = fixIosDateFormat(date)\r\n\tdate = new Date(date)\r\n\tconst hour = date.getHours()\r\n\tconst minute = date.getMinutes()\r\n\tconst second = date.getSeconds()\r\n\treturn hideSecond ? `${addZero(hour)}:${addZero(minute)}` : `${addZero(hour)}:${addZero(minute)}:${addZero(second)}`\r\n}\r\n\r\nfunction addZero(num) {\r\n\tif (num < 10) {\r\n\t\tnum = `0${num}`\r\n\t}\r\n\treturn num\r\n}\r\n\r\nfunction getDefaultSecond(hideSecond) {\r\n\treturn hideSecond ? '00:00' : '00:00:00'\r\n}\r\n\r\nfunction dateCompare(startDate, endDate) {\r\n\tstartDate = new Date(fixIosDateFormat(startDate))\r\n\tendDate = new Date(fixIosDateFormat(endDate))\r\n\treturn startDate <= endDate\r\n}\r\n\r\nfunction checkDate(date) {\r\n\tconst dateReg = /((19|20)\\d{2})(-|\\/)\\d{1,2}(-|\\/)\\d{1,2}/g\r\n\treturn date.match(dateReg)\r\n}\r\n//ios低版本15及以下,无法匹配 没有 ’秒‘ 时的情况,所以需要在末尾 秒 加上 问号\nconst dateTimeReg = /^\\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])( [0-5]?[0-9]:[0-5]?[0-9](:[0-5]?[0-9])?)?$/;\r\n\r\nfunction fixIosDateFormat(value) {\r\n\tif (typeof value === 'string' && dateTimeReg.test(value)) {\r\n\t\tvalue = value.replace(/-/g, '/')\r\n\t}\r\n\treturn value\r\n}\r\n\r\nexport {\r\n\tCalendar,\r\n\tgetDateTime,\r\n\tgetDate,\r\n\tgetTime,\r\n\taddZero,\r\n\tgetDefaultSecond,\r\n\tdateCompare,\r\n\tcheckDate,\r\n\tfixIosDateFormat\r\n}\n"],"names":[],"mappings":";AAAA,MAAM,SAAS;AAAA,EACd,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA,IAAG,IAAI;AAEP,SAAK,OAAO,KAAK,WAAW,oBAAI,KAAI,CAAE;AAEtC,SAAK,WAAW,YAAY;AAE5B,SAAK,YAAY;AAEjB,SAAK,UAAU;AAEf,SAAK,QAAQ;AAEb,SAAK,oBAAqB;AAE1B,SAAK,QAAQ,CAAE;AACf,SAAK,YAAY;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKD,QAAQ,MAAM;AACb,UAAM,aAAa,KAAK,WAAW,IAAI;AACvC,SAAK,SAAS,WAAW,QAAQ;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKD,sBAAsB;AACrB,SAAK,iBAAiB;AAAA,MACrB,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,CAAE;AAAA,IACR;AAAA,EACD;AAAA,EAED,aAAa,WAAW;AACvB,SAAK,YAAY;AAAA,EACjB;AAAA,EAED,WAAW,SAAS;AACnB,SAAK,UAAU;AAAA,EACf;AAAA,EAED,eAAe,MAAM;AACpB,WAAO,iBAAiB,IAAI;AAC5B,WAAO,IAAI,KAAK,IAAI;AAEpB,UAAM,WAAW,KAAK,SAAU;AAChC,SAAK,SAAS,WAAW,CAAC;AAC1B,UAAM,WAAW,KAAK,SAAU;AAChC,QAAI,aAAa,KAAK,WAAW,aAAa,GAAG;AAChD,WAAK,SAAS,WAAW,CAAC;AAAA,IAC1B;AACD,WAAO,KAAK,WAAW,IAAI;AAAA,EAC3B;AAAA,EACD,gBAAgB,MAAM;AACrB,WAAO,iBAAiB,IAAI;AAC5B,WAAO,IAAI,KAAK,IAAI;AAEpB,UAAM,WAAW,KAAK,SAAU;AAChC,SAAK,SAAS,WAAW,CAAC;AAC1B,UAAM,WAAW,KAAK,SAAU;AAChC,QAAI,WAAW,WAAW,GAAG;AAC5B,WAAK,SAAS,WAAW,CAAC;AAAA,IAC1B;AACD,WAAO,KAAK,WAAW,IAAI;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA,EAKD,WAAW,MAAM;AAChB,WAAO,iBAAiB,IAAI;AAC5B,WAAO,IAAI,KAAK,IAAI;AAEpB,WAAO;AAAA,MACN,UAAU,QAAQ,IAAI;AAAA,MACtB,MAAM,KAAK,YAAa;AAAA,MACxB,OAAO,QAAQ,KAAK,SAAQ,IAAK,CAAC;AAAA,MAClC,MAAM,QAAQ,KAAK,SAAS;AAAA,MAC5B,KAAK,KAAK,OAAQ;AAAA,IAClB;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKD,gBAAgB,QAAQ,SAAS;AAChC,UAAM,SAAS,CAAE;AACjB,aAAS,IAAI,SAAS,GAAG,KAAK,GAAG,KAAK;AACrC,YAAM,QAAQ,QAAQ,QAAQ;AAC9B,aAAO,KAAK;AAAA,QACX,MAAM,IAAI,KAAK,QAAQ,MAAM,OAAO,CAAC,CAAC,EAAE,QAAS;AAAA,QACjD;AAAA,QACA,SAAS;AAAA,MACb,CAAI;AAAA,IACD;AACD,WAAO;AAAA,EACP;AAAA;AAAA;AAAA;AAAA,EAID,oBAAoB,QAAQ,SAAS;AACpC,UAAM,SAAS,CAAE;AACjB,UAAM,WAAW,KAAK,KAAK;AAC3B,aAAS,IAAI,GAAG,KAAK,QAAQ,KAAK;AACjC,YAAM,cAAc,GAAG,QAAQ,IAAI,IAAI,QAAQ,KAAK,IAAI,QAAQ,CAAC,CAAC;AAClE,YAAM,UAAU,aAAa;AAE7B,YAAM,OAAO,KAAK,YAAY,KAAK,SAAS,KAAK,CAAC,SAAS;AAC1D,YAAI,KAAK,UAAU,aAAa,KAAK,IAAI,GAAG;AAC3C,iBAAO;AAAA,QACP;AAAA,MACL,CAAI;AAKD,UAAI,KAAK,WAAW;AACH,oBAAY,KAAK,WAAW,WAAW;AAAA,MACvD;AAED,UAAI,KAAK,SAAS;AACF,oBAAY,aAAa,KAAK,OAAO;AAAA,MACpD;AAED,UAAI,YAAY,KAAK,eAAe;AACpC,UAAI,kBAAkB;AACtB,UAAI,KAAK,SAAS,WAAW;AAC5B,0BAAkB,UAAU,UAAU,CAAC,SAAS;AAC/C,iBAAO,KAAK,UAAU,MAAM,WAAW;AAAA,QAC5C,CAAK;AAAA,MACD;AACD,YAAM,UAAU,oBAAoB;AAEpC,aAAO,KAAK;AAAA,QACX,UAAU;AAAA,QACV,MAAM,QAAQ;AAAA,QACd,MAAM;AAAA,QACN,UAAU,KAAK,QAAQ,UAAU;AAAA,QACjC,gBAAgB,KAAK,cAAc,aAAa,KAAK,eAAe,QAAQ,KAAK,eAAe,KAAK;AAAA,QACrG,eAAe,KAAK,aAAa,aAAa,KAAK,eAAe,QAAQ,KAAK,eAAe,KAAK;AAAA,QACnG,OAAO,QAAQ;AAAA,QACf,SAAU,KAAK,aAAa,CAAC,YAAY,KAAK,WAAW,WAAW,KAAO,KAAK,WAAW,CAAC;AAAA,UAC3F;AAAA,UAAa,KAAK;AAAA,QAAO;AAAA,QAC1B;AAAA,QACA,aAAa;AAAA,QACb,WAAW;AAAA,MACf,CAAI;AAAA,IACD;AACD,WAAO;AAAA,EACP;AAAA;AAAA;AAAA;AAAA,EAID,kBAAkB,QAAQ,SAAS;AAClC,UAAM,SAAS,CAAE;AACjB,UAAM,QAAQ,QAAQ,QAAQ;AAC9B,aAAS,IAAI,GAAG,KAAK,QAAQ,KAAK;AACjC,aAAO,KAAK;AAAA,QACX,MAAM;AAAA,QACN;AAAA,QACA,SAAS;AAAA,MACb,CAAI;AAAA,IACD;AACD,WAAO;AAAA,EACP;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,QAAQ,MAAM;AACb,QAAI,CAAC,MAAM;AACV,aAAO,oBAAI,KAAM;AAAA,IACjB;AACD,UAAM,MAAM,KAAK,SAAS,KAAK,UAAQ,KAAK,aAAa,KAAK,WAAW,IAAI,EAAE,QAAQ;AACvF,WAAO,MAAM,MAAM,KAAK,WAAW,IAAI;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA,EAKD,UAAU,QAAQ,OAAO;AACxB,aAAS,IAAI,KAAK,iBAAiB,MAAM,CAAC;AAC1C,YAAQ,IAAI,KAAK,iBAAiB,KAAK,CAAC;AACxC,WAAO,OAAO,cAAc,MAAM,QAAS;AAAA,EAC3C;AAAA;AAAA;AAAA;AAAA,EAMD,cAAc,aAAa,QAAQ,OAAO;AACzC,QAAI,cAAc;AAClB,QAAI,UAAU,OAAO;AACpB,oBAAc,YAAY,QAAQ,KAAK,IAAI,SAAS;AAAA,IACpD;AACD,WAAO,KAAK,UAAU,aAAa,WAAW;AAAA,EAC9C;AAAA,EAED,aAAa,aAAa,QAAQ,OAAO;AACxC,QAAI,aAAa;AACjB,QAAI,UAAU,OAAO;AACpB,mBAAa,YAAY,QAAQ,KAAK,IAAI,QAAQ;AAAA,IAClD;AACD,WAAO,KAAK,UAAU,YAAY,WAAW;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOD,UAAU,OAAO,KAAK;AACrB,QAAI,MAAM,CAAE;AACZ,QAAI,KAAK,MAAM,MAAM,GAAG;AACxB,QAAI,KAAK,IAAI,MAAM,GAAG;AACtB,QAAI,KAAK,oBAAI,KAAM;AACnB,OAAG,YAAY,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AACtC,QAAI,KAAK,oBAAI,KAAM;AACnB,OAAG,YAAY,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AACtC,QAAI,SAAS,GAAG,QAAO,IAAK,KAAK,KAAK,KAAK;AAC3C,QAAI,SAAS,GAAG,QAAO,IAAK,KAAK,KAAK,KAAK;AAC3C,aAAS,IAAI,QAAQ,KAAK,UAAS;AAClC,UAAI,IAAI,KAAK,KAAK,KAAK;AACvB,UAAI,KAAK,KAAK,WAAW,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ;AAAA,IACxD;AACD,WAAO;AAAA,EACP;AAAA;AAAA;AAAA;AAAA,EAKD,YAAY,UAAU;AACrB,QAAI,CAAC,KAAK;AAAO;AAEjB,QAAI;AAAA,MACH;AAAA,MACA;AAAA,IACA,IAAG,KAAK;AACT,QAAI,UAAU,OAAO;AACpB,UAAI,CAAC,KAAK,WAAW;AACpB,aAAK,YAAY;AACjB;AAAA,MACA;AACD,WAAK,eAAe,SAAS;AAC7B,WAAK,eAAe,QAAQ;AAC5B,WAAK,eAAe,OAAO,CAAE;AAC7B,WAAK,eAAe,WAAW;AAC/B,WAAK,YAAY;AAAA,IACpB,OAAS;AACN,UAAI,CAAC,QAAQ;AACZ,aAAK,eAAe,SAAS;AAC7B,aAAK,eAAe,QAAQ;AAC5B,aAAK,YAAY;AAAA,MACrB,OAAU;AACN,aAAK,eAAe,QAAQ;AAC5B,YAAI,YAAY,KAAK,eAAe,QAAQ,KAAK,eAAe,KAAK,GAAG;AACvE,eAAK,eAAe,OAAO,KAAK,UAAU,KAAK,eAAe,QAAQ,KAAK,eACzE,KAAK;AAAA,QACZ,OAAW;AACN,eAAK,eAAe,OAAO,KAAK,UAAU,KAAK,eAAe,OAAO,KAAK,eACxE,MAAM;AAAA,QACR;AACD,aAAK,YAAY;AAAA,MACjB;AAAA,IACD;AACD,SAAK,SAAS,QAAQ;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKD,iBAAiB,UAAU;AAG1B,QAAI,CAAC,KAAK,SAAS,KAAK;AAAW;AACnC,UAAM;AAAA,MACL;AAAA,IACA,IAAG,KAAK;AAET,QAAI,CAAC,QAAQ;AACZ,WAAK,eAAe,SAAS;AAAA,IAChC,OAAS;AACN,WAAK,eAAe,QAAQ;AAC5B,UAAI,YAAY,KAAK,eAAe,QAAQ,KAAK,eAAe,KAAK,GAAG;AACvE,aAAK,eAAe,OAAO,KAAK,UAAU,KAAK,eAAe,QAAQ,KAAK,eAAe,KAAK;AAAA,MACnG,OAAU;AACN,aAAK,eAAe,OAAO,KAAK,UAAU,KAAK,eAAe,OAAO,KAAK,eAAe,MAAM;AAAA,MAC/F;AAAA,IACD;AACD,SAAK,SAAS,QAAQ;AAAA,EAGtB;AAAA;AAAA;AAAA;AAAA,EAKD,mBAAmB,QAAQ,OAAO;AACjC,SAAK,eAAe,SAAS;AAC7B,SAAK,eAAe,QAAQ;AAC5B,QAAI,UAAU,OAAO;AACpB,UAAI,YAAY,QAAQ,KAAK,GAAG;AAC/B,aAAK,eAAe,OAAO,KAAK,UAAU,QAAQ,KAAK;AACvD,aAAK,SAAS,KAAK;AAAA,MACvB,OAAU;AACN,aAAK,eAAe,OAAO,KAAK,UAAU,OAAO,MAAM;AACvD,aAAK,SAAS,MAAM;AAAA,MACpB;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,SAAS,UAAU;AAClB,UAAM;AAAA,MACL;AAAA,MACA;AAAA,IACH,IAAM,KAAK,WAAW,QAAQ;AAE5B,UAAM,oBAAoB,IAAI,KAAK,MAAM,QAAQ,GAAG,CAAC,EAAE,OAAQ;AAC/D,UAAM,eAAe,KAAK,gBAAgB,mBAAmB,KAAK,WAAW,QAAQ,CAAC;AAEtF,UAAM,wBAAwB,IAAI,KAAK,MAAM,OAAO,CAAC,EAAE,QAAS;AAChE,UAAM,mBAAmB,KAAK,oBAAoB,uBAAuB,KAAK,WAAW,QAAQ,CAAC;AAElG,UAAM,qBAAqB,KAAK,oBAAoB;AACpD,UAAM,gBAAgB,KAAK,kBAAkB,oBAAoB,KAAK,WAAW,QAAQ,CAAC;AAE1F,UAAM,eAAe,CAAC,GAAG,cAAc,GAAG,kBAAkB,GAAG,aAAa;AAE5E,UAAM,QAAQ,IAAI,MAAM,CAAC;AACzB,aAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC7C,YAAM,QAAQ,KAAK,MAAM,IAAI,CAAC;AAC9B,UAAI,CAAC,MAAM,KAAK,GAAG;AAClB,cAAM,KAAK,IAAI,IAAI,MAAM,CAAC;AAAA,MAC1B;AACD,YAAM,KAAK,EAAE,IAAI,CAAC,IAAI,aAAa,CAAC;AAAA,IACpC;AAED,SAAK,WAAW;AAChB,SAAK,QAAQ;AAAA,EACb;AACF;AAEA,SAAS,YAAY,MAAM,YAAY;AACtC,SAAO,GAAG,QAAQ,IAAI,CAAC,IAAI,QAAQ,MAAM,UAAU,CAAC;AACrD;AAEA,SAAS,QAAQ,MAAM;AACtB,SAAO,iBAAiB,IAAI;AAC5B,SAAO,IAAI,KAAK,IAAI;AACpB,QAAM,OAAO,KAAK,YAAa;AAC/B,QAAM,QAAQ,KAAK,SAAQ,IAAK;AAChC,QAAM,MAAM,KAAK,QAAS;AAC1B,SAAO,GAAG,IAAI,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,GAAG,CAAC;AACjD;AAEA,SAAS,QAAQ,MAAM,YAAY;AAClC,SAAO,iBAAiB,IAAI;AAC5B,SAAO,IAAI,KAAK,IAAI;AACpB,QAAM,OAAO,KAAK,SAAU;AAC5B,QAAM,SAAS,KAAK,WAAY;AAChC,QAAM,SAAS,KAAK,WAAY;AAChC,SAAO,aAAa,GAAG,QAAQ,IAAI,CAAC,IAAI,QAAQ,MAAM,CAAC,KAAK,GAAG,QAAQ,IAAI,CAAC,IAAI,QAAQ,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC;AACnH;AAEA,SAAS,QAAQ,KAAK;AACrB,MAAI,MAAM,IAAI;AACb,UAAM,IAAI,GAAG;AAAA,EACb;AACD,SAAO;AACR;AAEA,SAAS,iBAAiB,YAAY;AACrC,SAAO,aAAa,UAAU;AAC/B;AAEA,SAAS,YAAY,WAAW,SAAS;AACxC,cAAY,IAAI,KAAK,iBAAiB,SAAS,CAAC;AAChD,YAAU,IAAI,KAAK,iBAAiB,OAAO,CAAC;AAC5C,SAAO,aAAa;AACrB;AAEA,SAAS,UAAU,MAAM;AACxB,QAAM,UAAU;AAChB,SAAO,KAAK,MAAM,OAAO;AAC1B;AAEA,MAAM,cAAc;AAEpB,SAAS,iBAAiB,OAAO;AAChC,MAAI,OAAO,UAAU,YAAY,YAAY,KAAK,KAAK,GAAG;AACzD,YAAQ,MAAM,QAAQ,MAAM,GAAG;AAAA,EAC/B;AACD,SAAO;AACR;;;;;;;;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map new file mode 100644 index 0000000..84e3a58 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uni-easyinput.js","sources":["uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/QzovVXNlcnMvbGovRGVza3RvcC8xMjEvY29udHJhY3QtZnJvbnQvMTExL3VuaV9tb2R1bGVzL3VuaS1lYXN5aW5wdXQvY29tcG9uZW50cy91bmktZWFzeWlucHV0L3VuaS1lYXN5aW5wdXQudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import Component from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue'\nwx.createComponent(Component)"],"names":["defineComponent","uni"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map new file mode 100644 index 0000000..2dabcc3 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uni-icons.js","sources":["uni_modules/uni-icons/components/uni-icons/uni-icons.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/QzovVXNlcnMvbGovRGVza3RvcC8xMjEvY29udHJhY3QtZnJvbnQvMTExL3VuaV9tb2R1bGVzL3VuaS1pY29ucy9jb21wb25lbnRzL3VuaS1pY29ucy91bmktaWNvbnMudXZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n\n","import Component from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue'\nwx.createComponent(Component)"],"names":["defineComponent","fontData"],"mappings":";;;AAmBE,MAAA,YAAeA,8BAAA;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,MAAM;AAAA,MACJ,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACD;AAAA,EACD,OAAI;AACF,WAAO;EACR;AAAA,EACD,UAAU;AAAA,IACR,UAAO;AACL,UAAI,QAAQ,IAAA,UAAAC,uDAAAA,UAAc,CAAC;AAAqC,eAAO,KAAK,cAAc,KAAK;AAAA,MAAM,CAAA;AACrG,UAAI,UAAU,MAAM;AAClB,eAAO,MAAM;AAAA,MACf;AACA,aAAO;AAAA,IACR;AAAA,IACD,WAAQ;AACN,YAAM,OAAO,KAAK;AAClB,UAAI,OAAO,QAAQ,UAAU;AAC3B,cAAM,MAAM;AACZ,eAAO,IAAI,KAAK,IAAc,IAAI,KAAK,OAAO,OAAO,KAAK;AAAA,MAE5D;AACA,aAAO,KAAK,YAAY,IAAc;AAAA,IACvC;AAAA,IACD,WAAQ;AACN,UAAI,KAAK,eAAe,IAAI;AAC1B,eAAA,IAAA,cAAO,EAAE,OAAO,KAAK,OAAO,UAAU,KAAK,UAAU,YAAY,KAAK,WAAW,CAAA;AAAA,MACnF;AACA,aAAA,IAAA,cAAO,EAAE,OAAO,KAAK,OAAO,UAAU,KAAK,SAAS,CAAA;AAAA,IACtD;AAAA,EACD;AAAA,EACD;EAAa;AAAA,EACb,SAAS;AAAA;AAAA;AAAA;AAAA,IAIP,YAAY,MAAa;AACvB,aAAO,OAAO;AAAA,IACf;AAAA,EACF;CACH;;;;;;;;;AC1EF,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uniicons_file.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uniicons_file.js.map new file mode 100644 index 0000000..183059f --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uniicons_file.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uniicons_file.js","sources":["uni_modules/uni-icons/components/uni-icons/uniicons_file.ts"],"sourcesContent":["\r\nexport type IconsData = {\r\n\tid : string\r\n\tname : string\r\n\tfont_family : string\r\n\tcss_prefix_text : string\r\n\tdescription : string\r\n\tglyphs : Array\r\n}\r\n\r\nexport type IconsDataItem = {\r\n\tfont_class : string\r\n\tunicode : string\r\n}\r\n\r\n\r\nexport const fontData = [\n {\n \"font_class\": \"arrow-down\",\n \"unicode\": \"\\ue6be\"\n },\n {\n \"font_class\": \"arrow-left\",\n \"unicode\": \"\\ue6bc\"\n },\n {\n \"font_class\": \"arrow-right\",\n \"unicode\": \"\\ue6bb\"\n },\n {\n \"font_class\": \"arrow-up\",\n \"unicode\": \"\\ue6bd\"\n },\n {\n \"font_class\": \"auth\",\n \"unicode\": \"\\ue6ab\"\n },\n {\n \"font_class\": \"auth-filled\",\n \"unicode\": \"\\ue6cc\"\n },\n {\n \"font_class\": \"back\",\n \"unicode\": \"\\ue6b9\"\n },\n {\n \"font_class\": \"bars\",\n \"unicode\": \"\\ue627\"\n },\n {\n \"font_class\": \"calendar\",\n \"unicode\": \"\\ue6a0\"\n },\n {\n \"font_class\": \"calendar-filled\",\n \"unicode\": \"\\ue6c0\"\n },\n {\n \"font_class\": \"camera\",\n \"unicode\": \"\\ue65a\"\n },\n {\n \"font_class\": \"camera-filled\",\n \"unicode\": \"\\ue658\"\n },\n {\n \"font_class\": \"cart\",\n \"unicode\": \"\\ue631\"\n },\n {\n \"font_class\": \"cart-filled\",\n \"unicode\": \"\\ue6d0\"\n },\n {\n \"font_class\": \"chat\",\n \"unicode\": \"\\ue65d\"\n },\n {\n \"font_class\": \"chat-filled\",\n \"unicode\": \"\\ue659\"\n },\n {\n \"font_class\": \"chatboxes\",\n \"unicode\": \"\\ue696\"\n },\n {\n \"font_class\": \"chatboxes-filled\",\n \"unicode\": \"\\ue692\"\n },\n {\n \"font_class\": \"chatbubble\",\n \"unicode\": \"\\ue697\"\n },\n {\n \"font_class\": \"chatbubble-filled\",\n \"unicode\": \"\\ue694\"\n },\n {\n \"font_class\": \"checkbox\",\n \"unicode\": \"\\ue62b\"\n },\n {\n \"font_class\": \"checkbox-filled\",\n \"unicode\": \"\\ue62c\"\n },\n {\n \"font_class\": \"checkmarkempty\",\n \"unicode\": \"\\ue65c\"\n },\n {\n \"font_class\": \"circle\",\n \"unicode\": \"\\ue65b\"\n },\n {\n \"font_class\": \"circle-filled\",\n \"unicode\": \"\\ue65e\"\n },\n {\n \"font_class\": \"clear\",\n \"unicode\": \"\\ue66d\"\n },\n {\n \"font_class\": \"close\",\n \"unicode\": \"\\ue673\"\n },\n {\n \"font_class\": \"closeempty\",\n \"unicode\": \"\\ue66c\"\n },\n {\n \"font_class\": \"cloud-download\",\n \"unicode\": \"\\ue647\"\n },\n {\n \"font_class\": \"cloud-download-filled\",\n \"unicode\": \"\\ue646\"\n },\n {\n \"font_class\": \"cloud-upload\",\n \"unicode\": \"\\ue645\"\n },\n {\n \"font_class\": \"cloud-upload-filled\",\n \"unicode\": \"\\ue648\"\n },\n {\n \"font_class\": \"color\",\n \"unicode\": \"\\ue6cf\"\n },\n {\n \"font_class\": \"color-filled\",\n \"unicode\": \"\\ue6c9\"\n },\n {\n \"font_class\": \"compose\",\n \"unicode\": \"\\ue67f\"\n },\n {\n \"font_class\": \"contact\",\n \"unicode\": \"\\ue693\"\n },\n {\n \"font_class\": \"contact-filled\",\n \"unicode\": \"\\ue695\"\n },\n {\n \"font_class\": \"down\",\n \"unicode\": \"\\ue6b8\"\n },\n\t{\n\t \"font_class\": \"bottom\",\n\t \"unicode\": \"\\ue6b8\"\n\t},\n {\n \"font_class\": \"download\",\n \"unicode\": \"\\ue68d\"\n },\n {\n \"font_class\": \"download-filled\",\n \"unicode\": \"\\ue681\"\n },\n {\n \"font_class\": \"email\",\n \"unicode\": \"\\ue69e\"\n },\n {\n \"font_class\": \"email-filled\",\n \"unicode\": \"\\ue69a\"\n },\n {\n \"font_class\": \"eye\",\n \"unicode\": \"\\ue651\"\n },\n {\n \"font_class\": \"eye-filled\",\n \"unicode\": \"\\ue66a\"\n },\n {\n \"font_class\": \"eye-slash\",\n \"unicode\": \"\\ue6b3\"\n },\n {\n \"font_class\": \"eye-slash-filled\",\n \"unicode\": \"\\ue6b4\"\n },\n {\n \"font_class\": \"fire\",\n \"unicode\": \"\\ue6a1\"\n },\n {\n \"font_class\": \"fire-filled\",\n \"unicode\": \"\\ue6c5\"\n },\n {\n \"font_class\": \"flag\",\n \"unicode\": \"\\ue65f\"\n },\n {\n \"font_class\": \"flag-filled\",\n \"unicode\": \"\\ue660\"\n },\n {\n \"font_class\": \"folder-add\",\n \"unicode\": \"\\ue6a9\"\n },\n {\n \"font_class\": \"folder-add-filled\",\n \"unicode\": \"\\ue6c8\"\n },\n {\n \"font_class\": \"font\",\n \"unicode\": \"\\ue6a3\"\n },\n {\n \"font_class\": \"forward\",\n \"unicode\": \"\\ue6ba\"\n },\n {\n \"font_class\": \"gear\",\n \"unicode\": \"\\ue664\"\n },\n {\n \"font_class\": \"gear-filled\",\n \"unicode\": \"\\ue661\"\n },\n {\n \"font_class\": \"gift\",\n \"unicode\": \"\\ue6a4\"\n },\n {\n \"font_class\": \"gift-filled\",\n \"unicode\": \"\\ue6c4\"\n },\n {\n \"font_class\": \"hand-down\",\n \"unicode\": \"\\ue63d\"\n },\n {\n \"font_class\": \"hand-down-filled\",\n \"unicode\": \"\\ue63c\"\n },\n {\n \"font_class\": \"hand-up\",\n \"unicode\": \"\\ue63f\"\n },\n {\n \"font_class\": \"hand-up-filled\",\n \"unicode\": \"\\ue63e\"\n },\n {\n \"font_class\": \"headphones\",\n \"unicode\": \"\\ue630\"\n },\n {\n \"font_class\": \"heart\",\n \"unicode\": \"\\ue639\"\n },\n {\n \"font_class\": \"heart-filled\",\n \"unicode\": \"\\ue641\"\n },\n {\n \"font_class\": \"help\",\n \"unicode\": \"\\ue679\"\n },\n {\n \"font_class\": \"help-filled\",\n \"unicode\": \"\\ue674\"\n },\n {\n \"font_class\": \"home\",\n \"unicode\": \"\\ue662\"\n },\n {\n \"font_class\": \"home-filled\",\n \"unicode\": \"\\ue663\"\n },\n {\n \"font_class\": \"image\",\n \"unicode\": \"\\ue670\"\n },\n {\n \"font_class\": \"image-filled\",\n \"unicode\": \"\\ue678\"\n },\n {\n \"font_class\": \"images\",\n \"unicode\": \"\\ue650\"\n },\n {\n \"font_class\": \"images-filled\",\n \"unicode\": \"\\ue64b\"\n },\n {\n \"font_class\": \"info\",\n \"unicode\": \"\\ue669\"\n },\n {\n \"font_class\": \"info-filled\",\n \"unicode\": \"\\ue649\"\n },\n {\n \"font_class\": \"left\",\n \"unicode\": \"\\ue6b7\"\n },\n {\n \"font_class\": \"link\",\n \"unicode\": \"\\ue6a5\"\n },\n {\n \"font_class\": \"list\",\n \"unicode\": \"\\ue644\"\n },\n {\n \"font_class\": \"location\",\n \"unicode\": \"\\ue6ae\"\n },\n {\n \"font_class\": \"location-filled\",\n \"unicode\": \"\\ue6af\"\n },\n {\n \"font_class\": \"locked\",\n \"unicode\": \"\\ue66b\"\n },\n {\n \"font_class\": \"locked-filled\",\n \"unicode\": \"\\ue668\"\n },\n {\n \"font_class\": \"loop\",\n \"unicode\": \"\\ue633\"\n },\n {\n \"font_class\": \"mail-open\",\n \"unicode\": \"\\ue643\"\n },\n {\n \"font_class\": \"mail-open-filled\",\n \"unicode\": \"\\ue63a\"\n },\n {\n \"font_class\": \"map\",\n \"unicode\": \"\\ue667\"\n },\n {\n \"font_class\": \"map-filled\",\n \"unicode\": \"\\ue666\"\n },\n {\n \"font_class\": \"map-pin\",\n \"unicode\": \"\\ue6ad\"\n },\n {\n \"font_class\": \"map-pin-ellipse\",\n \"unicode\": \"\\ue6ac\"\n },\n {\n \"font_class\": \"medal\",\n \"unicode\": \"\\ue6a2\"\n },\n {\n \"font_class\": \"medal-filled\",\n \"unicode\": \"\\ue6c3\"\n },\n {\n \"font_class\": \"mic\",\n \"unicode\": \"\\ue671\"\n },\n {\n \"font_class\": \"mic-filled\",\n \"unicode\": \"\\ue677\"\n },\n {\n \"font_class\": \"micoff\",\n \"unicode\": \"\\ue67e\"\n },\n {\n \"font_class\": \"micoff-filled\",\n \"unicode\": \"\\ue6b0\"\n },\n {\n \"font_class\": \"minus\",\n \"unicode\": \"\\ue66f\"\n },\n {\n \"font_class\": \"minus-filled\",\n \"unicode\": \"\\ue67d\"\n },\n {\n \"font_class\": \"more\",\n \"unicode\": \"\\ue64d\"\n },\n {\n \"font_class\": \"more-filled\",\n \"unicode\": \"\\ue64e\"\n },\n {\n \"font_class\": \"navigate\",\n \"unicode\": \"\\ue66e\"\n },\n {\n \"font_class\": \"navigate-filled\",\n \"unicode\": \"\\ue67a\"\n },\n {\n \"font_class\": \"notification\",\n \"unicode\": \"\\ue6a6\"\n },\n {\n \"font_class\": \"notification-filled\",\n \"unicode\": \"\\ue6c1\"\n },\n {\n \"font_class\": \"paperclip\",\n \"unicode\": \"\\ue652\"\n },\n {\n \"font_class\": \"paperplane\",\n \"unicode\": \"\\ue672\"\n },\n {\n \"font_class\": \"paperplane-filled\",\n \"unicode\": \"\\ue675\"\n },\n {\n \"font_class\": \"person\",\n \"unicode\": \"\\ue699\"\n },\n {\n \"font_class\": \"person-filled\",\n \"unicode\": \"\\ue69d\"\n },\n {\n \"font_class\": \"personadd\",\n \"unicode\": \"\\ue69f\"\n },\n {\n \"font_class\": \"personadd-filled\",\n \"unicode\": \"\\ue698\"\n },\n {\n \"font_class\": \"personadd-filled-copy\",\n \"unicode\": \"\\ue6d1\"\n },\n {\n \"font_class\": \"phone\",\n \"unicode\": \"\\ue69c\"\n },\n {\n \"font_class\": \"phone-filled\",\n \"unicode\": \"\\ue69b\"\n },\n {\n \"font_class\": \"plus\",\n \"unicode\": \"\\ue676\"\n },\n {\n \"font_class\": \"plus-filled\",\n \"unicode\": \"\\ue6c7\"\n },\n {\n \"font_class\": \"plusempty\",\n \"unicode\": \"\\ue67b\"\n },\n {\n \"font_class\": \"pulldown\",\n \"unicode\": \"\\ue632\"\n },\n {\n \"font_class\": \"pyq\",\n \"unicode\": \"\\ue682\"\n },\n {\n \"font_class\": \"qq\",\n \"unicode\": \"\\ue680\"\n },\n {\n \"font_class\": \"redo\",\n \"unicode\": \"\\ue64a\"\n },\n {\n \"font_class\": \"redo-filled\",\n \"unicode\": \"\\ue655\"\n },\n {\n \"font_class\": \"refresh\",\n \"unicode\": \"\\ue657\"\n },\n {\n \"font_class\": \"refresh-filled\",\n \"unicode\": \"\\ue656\"\n },\n {\n \"font_class\": \"refreshempty\",\n \"unicode\": \"\\ue6bf\"\n },\n {\n \"font_class\": \"reload\",\n \"unicode\": \"\\ue6b2\"\n },\n {\n \"font_class\": \"right\",\n \"unicode\": \"\\ue6b5\"\n },\n {\n \"font_class\": \"scan\",\n \"unicode\": \"\\ue62a\"\n },\n {\n \"font_class\": \"search\",\n \"unicode\": \"\\ue654\"\n },\n {\n \"font_class\": \"settings\",\n \"unicode\": \"\\ue653\"\n },\n {\n \"font_class\": \"settings-filled\",\n \"unicode\": \"\\ue6ce\"\n },\n {\n \"font_class\": \"shop\",\n \"unicode\": \"\\ue62f\"\n },\n {\n \"font_class\": \"shop-filled\",\n \"unicode\": \"\\ue6cd\"\n },\n {\n \"font_class\": \"smallcircle\",\n \"unicode\": \"\\ue67c\"\n },\n {\n \"font_class\": \"smallcircle-filled\",\n \"unicode\": \"\\ue665\"\n },\n {\n \"font_class\": \"sound\",\n \"unicode\": \"\\ue684\"\n },\n {\n \"font_class\": \"sound-filled\",\n \"unicode\": \"\\ue686\"\n },\n {\n \"font_class\": \"spinner-cycle\",\n \"unicode\": \"\\ue68a\"\n },\n {\n \"font_class\": \"staff\",\n \"unicode\": \"\\ue6a7\"\n },\n {\n \"font_class\": \"staff-filled\",\n \"unicode\": \"\\ue6cb\"\n },\n {\n \"font_class\": \"star\",\n \"unicode\": \"\\ue688\"\n },\n {\n \"font_class\": \"star-filled\",\n \"unicode\": \"\\ue68f\"\n },\n {\n \"font_class\": \"starhalf\",\n \"unicode\": \"\\ue683\"\n },\n {\n \"font_class\": \"trash\",\n \"unicode\": \"\\ue687\"\n },\n {\n \"font_class\": \"trash-filled\",\n \"unicode\": \"\\ue685\"\n },\n {\n \"font_class\": \"tune\",\n \"unicode\": \"\\ue6aa\"\n },\n {\n \"font_class\": \"tune-filled\",\n \"unicode\": \"\\ue6ca\"\n },\n {\n \"font_class\": \"undo\",\n \"unicode\": \"\\ue64f\"\n },\n {\n \"font_class\": \"undo-filled\",\n \"unicode\": \"\\ue64c\"\n },\n {\n \"font_class\": \"up\",\n \"unicode\": \"\\ue6b6\"\n },\n\t{\n\t \"font_class\": \"top\",\n\t \"unicode\": \"\\ue6b6\"\n\t},\n {\n \"font_class\": \"upload\",\n \"unicode\": \"\\ue690\"\n },\n {\n \"font_class\": \"upload-filled\",\n \"unicode\": \"\\ue68e\"\n },\n {\n \"font_class\": \"videocam\",\n \"unicode\": \"\\ue68c\"\n },\n {\n \"font_class\": \"videocam-filled\",\n \"unicode\": \"\\ue689\"\n },\n {\n \"font_class\": \"vip\",\n \"unicode\": \"\\ue6a8\"\n },\n {\n \"font_class\": \"vip-filled\",\n \"unicode\": \"\\ue6c6\"\n },\n {\n \"font_class\": \"wallet\",\n \"unicode\": \"\\ue6b1\"\n },\n {\n \"font_class\": \"wallet-filled\",\n \"unicode\": \"\\ue6c2\"\n },\n {\n \"font_class\": \"weibo\",\n \"unicode\": \"\\ue68b\"\n },\n {\n \"font_class\": \"weixin\",\n \"unicode\": \"\\ue691\"\n }\n] as IconsDataItem[]\r\n\r\n// export const fontData = JSON.parse(fontDataJson)\n"],"names":[],"mappings":";AAgBa,MAAA,WAAW;AAAA,EACtB;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACF;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACA;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACF;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACA;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;AAAA,EACD;AAAA,IACE,cAAc;AAAA,IACd,WAAW;AAAA,EACZ;;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map new file mode 100644 index 0000000..db27230 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uni-popup.js","sources":["uni_modules/uni-popup/components/uni-popup/uni-popup.uvue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/QzovVXNlcnMvbGovRGVza3RvcC8xMjEvY29udHJhY3QtZnJvbnQvMTExL3VuaV9tb2R1bGVzL3VuaS1wb3B1cC9jb21wb25lbnRzL3VuaS1wb3B1cC91bmktcG9wdXAudXZ1ZQ"],"sourcesContent":["\n\n\n\n","import Component from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue'\nwx.createComponent(Component)"],"names":["defineComponent"],"mappings":";;AAWE,MAAA,YAAeA,8BAAA;AAAA,EACb,OAAM,CAAC,SAAQ,WAAW;AAAA,EAC1B,OAAI;AACF,WAAO;AAAA,MACL,QAAO;AAAA,MACP,QAAO;AAAA;EAEV;AAAA,EACD,OAAO;AAAA,IACL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,OAAO;AAAA;AAAA,IAEL,QAAO;AAAA,MACL,QAAQ,SAAM,MAAA;AAEZ,YAAG,UAAU,KAAK,UAAU,OAAM;AAChC,eAAK,SAAS;AAAA,QAChB;AAAA,MACD;AAAA,MACD,WAAU;AAAA,IACX;AAAA;AAAA,IAED,QAAO;AAAA,MACL,QAAQ,SAAM,MAAA;AAEZ,YAAG,UAAU,KAAK,UAAU,OAAM;AAChC,eAAK,SAAS;AAAA,QAChB;AAAA,MACD;AAAA,MACD,WAAU;AAAA,IACZ;AAAA,EACD;AAAA,EACD,SAAQ;AAAA,IACN,OAAI;AAKF,WAAK,SAAS;AAAA,IACf;AAAA,IACD,YAAS;AACP,UAAG,KAAK,aAAa,MAAK;AACxB,aAAK,MAAM,WAAW;AACtB,aAAK,MAAK;AAAA,MACZ;AAAA,IACD;AAAA,IACD,QAAK;AACH,WAAK,SAAS;AACd,WAAK,MAAM,OAAO;AAAA,IAEnB;AAAA,IACD,QAAK;AACH,WAAK,SAAS;AAAA,IACf;AAAA,IACD,OAAI;AACF,WAAK,SAAS;AAAA,IAChB;AAAA,EACF;CACF;;;;;;;;;;;;;ACxEF,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.js.map new file mode 100644 index 0000000..40dcabe --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wht-img-upload.js","sources":["uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.vue","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/QzovVXNlcnMvbGovRGVza3RvcC8xMjEvY29udHJhY3QtZnJvbnQvMTExL3VuaV9tb2R1bGVzL3dodC1pbWctdXBsb2FkL2NvbXBvbmVudHMvd2h0LWltZy11cGxvYWQvd2h0LWltZy11cGxvYWQudnVl"],"sourcesContent":["\n\n\n\n","import Component from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.vue'\nwx.createComponent(Component)"],"names":["defineComponent","uni","res"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/code/cache/2c036e42c0136144d07bb6e80c230c73a5cd8268 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/code/cache/2c036e42c0136144d07bb6e80c230c73a5cd8268 new file mode 100644 index 0000000..39762e4 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/code/cache/2c036e42c0136144d07bb6e80c230c73a5cd8268 @@ -0,0 +1 @@ +{"code":"import { defineComponent } from \"vue\";\nexport default defineComponent({\n data() {\n return {\n username: '',\n password: '',\n isModalVisible: false,\n modalTitle: '',\n modalContent: '',\n popupNoCancelShow: false,\n checked: false,\n };\n },\n onLoad() {\n uni.request({\n url: 'https://gpt.aiym.run/contract/miniapp/product/categories',\n method: 'GET',\n header: new UTSJSONObject({\n \"Content-Type\": \"application/json\",\n \"X-Access-Token\": '11'\n }),\n success: (res) => {\n uni.__f__('log', 'at pages/index/login.uvue:78', res.data);\n }\n });\n },\n methods: {\n // 处理登录逻辑\n handleLogin() {\n if (!this.username || !this.password) {\n uni.showToast({ title: '请输入账号和密码', icon: 'none' });\n return null;\n }\n else {\n uni.__f__('log', 'at pages/index/login.uvue:92', this.checked);\n if (this.checked) {\n uni.showToast({ title: '登录成功', icon: 'success' });\n uni.switchTab({ url: '/pages/home/home' });\n }\n else {\n uni.showToast({ title: '请勾选服务协议', icon: 'none' });\n }\n }\n },\n // 显示弹窗\n showModal() {\n this.popupNoCancelShow = true;\n },\n // 关闭弹窗\n closeModal() {\n this.popupNoCancelShow = false;\n },\n change(e = null) {\n uni.__f__('log', 'at pages/index/login.uvue:110', '当前模式:' + e.type + ',状态:' + e.show);\n },\n changeCK() {\n if (this.checked) {\n this.checked = false;\n }\n else {\n this.checked = true;\n }\n },\n // 处理选中事件\n getConfirm() {\n uni.__f__('log', 'at pages/index/login.uvue:121', \"111\");\n if (this.checked) {\n this.checked = this.checked;\n }\n else {\n this.checked = true;\n }\n this.popupNoCancelShow = false;\n }\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/pages/index/login.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.request","uni.__f__","uni.showToast","uni.switchTab"],"map":"{\"version\":3,\"file\":\"login.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"login.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\";AACA,+BAAe;IACb,IAAI;QACF,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;YACnB,iBAAiB,EAAE,KAAK;YACxB,OAAO,EAAC,KAAK;SACX,CAAC;IACJ,CAAC;IACD,MAAM;QACL,GAAG,CAAC,OAAO,CACX;YACK,GAAG,EAAE,0DAA0D;YAC/D,MAAM,EAAC,KAAK;YACd,MAAM,oBAAC;gBACN,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAC,IAAI;aACrB,CAAA;YACC,OAAO,EAAC,CAAC,GAAG;gBACX,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,8BAA8B,EAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACzD,CAAC;SACL,CACA,CAAC;IACH,CAAC;IAED,OAAO,EAAE;QACP,SAAS;QACT,WAAW;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACpC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACnD,YAAO;aACR;iBAAI;gBAEP,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,8BAA8B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7D,IAAG,IAAI,CAAC,OAAO,EAAC;oBACZ,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBAClD,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC;iBAC9C;qBAAI;oBACD,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;iBACrD;aACD;QACA,CAAC;QACD,OAAO;QACP,SAAS;YACZ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAE;QAC5B,CAAC;QACD,OAAO;QACP,UAAU;YACR,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAE;QAClC,CAAC;QACJ,MAAM,CAAC,CAAC,OAAA;YACR,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,+BAA+B,EAAC,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACpF,CAAC;QACD,QAAQ;YACP,IAAG,IAAI,CAAC,OAAO,EAAC;gBACf,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACrB;iBAAI;gBACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACpB;QACF,CAAC;QACD,SAAS;QACT,UAAU;YACT,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,+BAA+B,EAAC,KAAK,CAAC,CAAC;YACvD,IAAG,IAAI,CAAC,OAAO,EAAC;gBACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;aAC5B;iBAAI;gBACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACpB;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAChC,CAAC;KACC;CACF,EAAC\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/35e4119837b86a4ea5334e511d82534493c69165 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/35e4119837b86a4ea5334e511d82534493c69165 new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/56a6b1cf2026f4a69c9474adc4836e30d4ce8ccd b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/56a6b1cf2026f4a69c9474adc4836e30d4ce8ccd new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/60391f4ea6477bc4598aa8739a64d6ef5b57310b b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/60391f4ea6477bc4598aa8739a64d6ef5b57310b new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/6d046c015de4a154a2586b0298351d4ddfbc7029 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/6d046c015de4a154a2586b0298351d4ddfbc7029 new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/788c227d74cc01a6329b432568c61f168ec17c3c b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/788c227d74cc01a6329b432568c61f168ec17c3c new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/f2f7c05f9fe5ded997159a98529fa423dba999cd b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_1eba1c1dbfbed44e743d31d19397cc85eaaa2bca/types/cache/f2f7c05f9fe5ded997159a98529fa423dba999cd new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/07de5e1e8534b7e5229566b131b34c69516af3bb b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/07de5e1e8534b7e5229566b131b34c69516af3bb new file mode 100644 index 0000000..11216c9 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/07de5e1e8534b7e5229566b131b34c69516af3bb @@ -0,0 +1 @@ +{"code":"export {};\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/lime-radio/components/l-radio/type.js.map","references":[],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"type.js\",\"sourceRoot\":\"\",\"sources\":[\"type.ts\"],\"names\":[],\"mappings\":\"\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/12e6b7e5c3261a7937611189ca5b83531ea92273 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/12e6b7e5c3261a7937611189ca5b83531ea92273 new file mode 100644 index 0000000..e1592df --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/12e6b7e5c3261a7937611189ca5b83531ea92273 @@ -0,0 +1 @@ +{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent } from \"vue\";\nexport default defineComponent({\n data() {\n return {\n searchKey: '',\n activeTab: '全部',\n tabs: ['全部', '已生效', '已失效'],\n orders: [ /* 从接口获取的数据 */]\n };\n },\n computed: {\n // 过滤后的订单列表\n filteredOrders() {\n return this.orders.filter(order => {\n const matchStatus = this.activeTab === '全部' ||\n order.status === this.activeTab;\n const matchSearch = order.customerName.includes(this.searchKey) ||\n order.phone.includes(this.searchKey);\n return matchStatus && matchSearch;\n });\n }\n },\n methods: {\n // 搜索处理\n handleSearch() {\n // 实际调用接口获取数据\n uni.__f__('log', 'at pages/index/dingdan.uvue:78', '搜索关键词:', this.searchKey);\n },\n // 复制订单号\n copyOrderNo(orderNo = null) {\n uni.setClipboardData({\n data: orderNo,\n success: () => {\n uni.showToast({ title: '复制成功' });\n }\n });\n },\n // PDF下载\n downloadPDF(order = null) {\n return __awaiter(this, void 0, void 0, function* () {\n uni.showLoading({ title: '下载中...' });\n try {\n // 1. 调用下载接口\n const tempFilePath = (yield uni.downloadFile({\n url: 'https://your-api.com/download',\n header: new UTSJSONObject({ 'order-id': order.id })\n })).tempFilePath;\n // 2. 保存到本地\n yield uni.saveFile({\n tempFilePath,\n success: (res) => {\n uni.showToast({ title: '下载成功' });\n uni.__f__('log', 'at pages/index/dingdan.uvue:107', '文件路径:', res.savedFilePath);\n }\n });\n // 3. 打开文档(可选)\n uni.openDocument({\n filePath: tempFilePath,\n showMenu: true\n });\n }\n catch (err) {\n uni.showToast({ title: '下载失败', icon: 'none' });\n }\n finally {\n uni.hideLoading();\n }\n });\n }\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/pages/index/dingdan.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.__f__","uni.setClipboardData","uni.showToast","uni.showLoading","uni.downloadFile","uni.saveFile","uni.openDocument","uni.hideLoading"],"map":"{\"version\":3,\"file\":\"dingdan.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"dingdan.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\";;AACA,+BAAe;IACb,IAAI;QACF,OAAO;YACL,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;YAC1B,MAAM,EAAE,EAAC,cAAc,CAAC;SACzB,CAAA;IACH,CAAC;IACD,QAAQ,EAAE;QACR,WAAW;QACX,cAAc;YACZ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;gBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI;oBACzC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAA;gBACjC,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC7D,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtC,OAAO,WAAW,IAAI,WAAW,CAAA;YACnC,CAAC,CAAC,CAAA;QACJ,CAAC;KACF;IACD,OAAO,EAAE;QACP,OAAO;QACP,YAAY;YACV,aAAa;YACb,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,gCAAgC,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5E,CAAC;QAED,QAAQ;QACR,WAAW,CAAC,OAAO,OAAA;YACjB,GAAG,CAAC,gBAAgB,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE;oBACP,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;gBAClC,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;QAED,QAAQ;QACF,WAAW,CAAC,KAAK,OAAA;;gBACrB,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAEpC,IAAI;oBACF,YAAY;oBACJ,MAAA,YAAY,GAAK,CAAA,MAAM,GAAG,CAAC,YAAY,CAAC;wBAC9C,GAAG,EAAE,+BAA+B;wBACpC,MAAM,oBAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,CAAA;qBACjC,CAAC,CAAA,aAHkB,CAGlB;oBAEF,WAAW;oBACX,MAAM,GAAG,CAAC,QAAQ,CAAC;wBACjB,YAAY;wBACZ,OAAO,EAAE,CAAC,GAAG;4BACX,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;4BAChC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,iCAAiC,EAAC,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;wBAC/E,CAAC;qBACF,CAAC,CAAA;oBAEF,cAAc;oBACd,GAAG,CAAC,YAAY,CAAC;wBACf,QAAQ,EAAE,YAAY;wBACtB,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAA;iBACH;gBAAC,OAAO,GAAG,EAAE;oBACZ,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;iBAC/C;wBAAS;oBACR,GAAG,CAAC,WAAW,EAAE,CAAA;iBAClB;YACH,CAAC;SAAA;KACF;CACF,EAAA\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/228bba54c15fe8ebaf5b435e03fb86fd29fe670d b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/228bba54c15fe8ebaf5b435e03fb86fd29fe670d new file mode 100644 index 0000000..420efd6 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/228bba54c15fe8ebaf5b435e03fb86fd29fe670d @@ -0,0 +1 @@ +{"code":"import { useModel as _useModel, mergeModels as _mergeModels, defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, sei as _sei, n as _n, s as _s, r as _r, toDisplayString as _toDisplayString, t as _t, o as _o, e as _e } from \"vue\";\nimport {} from './type';\nimport {} from 'vue';\nconst name = 'l-radio';\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'l-radio',\n props: /*#__PURE__*/ _mergeModels({\n allowUncheck: { type: Boolean, default: false },\n checked: { type: Boolean, default: false },\n defaultChecked: { type: Boolean },\n disabled: { type: Boolean, default: false },\n icon: { default: 'circle' },\n label: {},\n name: {},\n value: {},\n size: { default: 'medium' },\n fontSize: {},\n iconSize: {},\n checkedColor: {},\n iconBgColor: {},\n iconBorderColor: {},\n iconDisabledColor: {},\n iconDisabledBgColor: {}\n }, {\n \"modelValue\": { type: Boolean, default: false },\n \"modelModifiers\": {},\n }),\n emits: /*#__PURE__*/ _mergeModels(['change', 'update:checked'], [\"update:modelValue\"]),\n setup(__props, _a) {\n var __emit = _a.emit;\n const emit = __emit;\n const props = __props;\n const radioGroupProps = inject('limeRadioGroupProps', null);\n const radioGroupValue = inject('limeRadioGroupValue', null);\n const radioGroupChange = inject('limeRadioGroupChange', null);\n const modelValue = _useModel(__props, \"modelValue\");\n const innerChecked = computed({\n set(value) {\n modelValue.value = value;\n emit('change', value);\n },\n get() {\n return props.checked || modelValue.value;\n },\n });\n const isDisabled = computed(() => { var _a; return (props.disabled || ((_a = radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.disabled) !== null && _a !== void 0 ? _a : false)); });\n const groupDisabled = computed(() => { return radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.disabled; });\n const radioChecked = computed(() => { return innerChecked.value || (props.name != null && props.name == (radioGroupValue === null || radioGroupValue === void 0 ? void 0 : radioGroupValue.value)) || (props.value != null && props.value == (radioGroupValue === null || radioGroupValue === void 0 ? void 0 : radioGroupValue.value)); });\n const finalAllowUncheck = computed(() => { var _a; return props.allowUncheck || ((_a = radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.allowUncheck) !== null && _a !== void 0 ? _a : false); });\n const innerIcon = computed(() => { var _a; return (_a = radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.icon) !== null && _a !== void 0 ? _a : props.icon; });\n const innerSize = computed(() => { var _a; return (_a = radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.size) !== null && _a !== void 0 ? _a : props.size; });\n const innerIconSize = computed(() => { var _a; return (_a = radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.iconSize) !== null && _a !== void 0 ? _a : props.iconSize; });\n const innerFontSize = computed(() => { var _a; return (_a = radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.fontSize) !== null && _a !== void 0 ? _a : props.fontSize; });\n const innerCheckedColor = computed(() => { var _a; return (_a = radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.checkedColor) !== null && _a !== void 0 ? _a : props.checkedColor; });\n const innerIconBgColor = computed(() => { var _a, _b; return (_b = (_a = props.iconBgColor) !== null && _a !== void 0 ? _a : radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.iconBgColor) !== null && _b !== void 0 ? _b : 'white'; });\n const innerIconBorderColor = computed(() => { var _a, _b; return (_b = (_a = props.iconBorderColor) !== null && _a !== void 0 ? _a : radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.iconBorderColor) !== null && _b !== void 0 ? _b : '#c5c5c5'; });\n const innerIconDisabledColor = computed(() => { var _a, _b; return (_b = (_a = props.iconDisabledColor) !== null && _a !== void 0 ? _a : radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.iconDisabledColor) !== null && _b !== void 0 ? _b : '#c5c5c5'; });\n const innerIconDisabledBgColor = computed(() => { var _a, _b; return (_b = (_a = props.iconDisabledBgColor) !== null && _a !== void 0 ? _a : radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.iconDisabledBgColor) !== null && _b !== void 0 ? _b : '#f3f3f3'; });\n const classes = computed(() => {\n const cls = new Map();\n cls.set(`${name}--disabled`, isDisabled.value);\n return cls;\n });\n const iconClasses = computed(() => {\n const cls = new Map();\n cls.set(`${name}__icon--checked`, radioChecked.value);\n cls.set(`${name}__icon--${innerIcon.value}`, true);\n cls.set(`${name}__icon--disabled`, isDisabled.value);\n return cls;\n });\n const labelClass = computed(() => {\n const cls = new Map();\n cls.set(`${name}__label--disabled`, isDisabled.value);\n return cls;\n });\n const styles = computed(() => {\n const style = new Map();\n if (radioGroupProps != null && radioGroupProps.gap != null) {\n style.set(radioGroupProps.direction == 'horizontal' ? 'margin-right' : 'margin-bottom', radioGroupProps.gap);\n }\n if (innerCheckedColor.value != null) {\n style.set('--l-radio-icon-checked-color', innerCheckedColor.value);\n }\n if (innerIconBorderColor.value != null) {\n style.set('--l-radio-icon-border-color', innerIconBorderColor.value);\n }\n if (innerIconDisabledColor.value != null) {\n style.set('--l-radio-icon-disabled-color', innerIconDisabledColor.value);\n }\n if (innerIconDisabledBgColor.value != null) {\n style.set('--l-radio-icon-disabled-bg-color', innerIconDisabledBgColor.value);\n }\n if (innerFontSize.value != null) {\n style.set('--l-radio-font-size', innerFontSize.value);\n }\n return style;\n });\n const iconStyle = computed(() => {\n const style = new Map();\n if (innerIconSize.value != null) {\n style.set('width', innerIconSize.value);\n style.set('height', innerIconSize.value);\n style.set('--l-radio-icon-size', innerIconSize.value);\n }\n if (innerCheckedColor.value != null) {\n style.set('--l-radio-icon-checked-color', innerCheckedColor.value);\n }\n return style;\n });\n const labelStyle = computed(() => {\n var _a;\n const style = new Map();\n const fontSize = (_a = props.fontSize) !== null && _a !== void 0 ? _a : radioGroupProps === null || radioGroupProps === void 0 ? void 0 : radioGroupProps.fontSize;\n if (fontSize != null) {\n style.set('font-size', fontSize);\n }\n return style;\n });\n const onClick = (e) => {\n var _a;\n if (isDisabled.value)\n return null;\n const _name = (_a = props.value) !== null && _a !== void 0 ? _a : props.name;\n if (radioGroupChange != null && _name != null) {\n const value = finalAllowUncheck.value && radioChecked.value ? null : _name;\n radioGroupChange(value);\n }\n else {\n const value = finalAllowUncheck.value ? !radioChecked.value : true;\n innerChecked.value = value;\n }\n };\n return (_ctx = null, _cache = null) => {\n const __returned__ = _e(new UTSJSONObject({\n a: _sei('r0-6713f23a', 'view', 'iconRef'),\n b: _n(_unref(iconClasses)),\n c: _s(_unref(iconStyle)),\n d: _r(\"icon\", new UTSJSONObject({\n checked: _unref(radioChecked),\n disabled: _unref(isDisabled)\n })),\n e: _ctx.label != null || _ctx.$slots['default'] != null\n }), _ctx.label != null || _ctx.$slots['default'] != null ? new UTSJSONObject({\n f: _t(_ctx.label),\n g: _n(_unref(labelClass))\n }) : new UTSJSONObject({}), new UTSJSONObject({\n h: _r(\"radio\", new UTSJSONObject({\n checked: _unref(radioChecked),\n disabled: _unref(isDisabled)\n })),\n i: _sei(_ctx.virtualHostId, 'view'),\n j: _n(_unref(classes)),\n k: _s(_unref(styles)),\n l: _o(onClick)\n }));\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/lime-radio/components/l-radio/l-radio.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","C:/Users/lj/Desktop/121/contract-front/111/uni_modules/lime-radio/components/l-radio/type.ts","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"l-radio.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"l-radio.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/233327a9a0e2b582a7c5efd6ceb21dbb31c2f5b6 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/233327a9a0e2b582a7c5efd6ceb21dbb31c2f5b6 new file mode 100644 index 0000000..92b7d4c --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/233327a9a0e2b582a7c5efd6ceb21dbb31c2f5b6 @@ -0,0 +1 @@ +{"code":"export default new UTSJSONObject({\n \"uni-datetime-picker.selectDate\": \"select date\",\n \"uni-datetime-picker.selectTime\": \"select time\",\n \"uni-datetime-picker.selectDateTime\": \"select date and time\",\n \"uni-datetime-picker.startDate\": \"start date\",\n \"uni-datetime-picker.endDate\": \"end date\",\n \"uni-datetime-picker.startTime\": \"start time\",\n \"uni-datetime-picker.endTime\": \"end time\",\n \"uni-datetime-picker.ok\": \"ok\",\n \"uni-datetime-picker.clear\": \"clear\",\n \"uni-datetime-picker.cancel\": \"cancel\",\n \"uni-datetime-picker.year\": \"-\",\n \"uni-datetime-picker.month\": \"\",\n \"uni-calender.MON\": \"MON\",\n \"uni-calender.TUE\": \"TUE\",\n \"uni-calender.WED\": \"WED\",\n \"uni-calender.THU\": \"THU\",\n \"uni-calender.FRI\": \"FRI\",\n \"uni-calender.SAT\": \"SAT\",\n \"uni-calender.SUN\": \"SUN\",\n \"uni-calender.confirm\": \"confirm\"\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.uts.js.map","references":[],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"en.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"en.uts\"],\"names\":[],\"mappings\":\"AAAA,iCAAe;IACd,gCAAgC,EAAE,aAAa;IAC/C,gCAAgC,EAAE,aAAa;IAC/C,oCAAoC,EAAE,sBAAsB;IAC5D,+BAA+B,EAAE,YAAY;IAC7C,6BAA6B,EAAE,UAAU;IACzC,+BAA+B,EAAE,YAAY;IAC7C,6BAA6B,EAAE,UAAU;IACzC,wBAAwB,EAAE,IAAI;IAC9B,2BAA2B,EAAE,OAAO;IACpC,4BAA4B,EAAE,QAAQ;IACtC,0BAA0B,EAAE,GAAG;IAC/B,2BAA2B,EAAE,EAAE;IAC/B,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,KAAK;IACzB,sBAAsB,EAAE,SAAS;CACjC,EAAC\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/24db45eaaec1852e158843cf9ed0b2a48b1198a7 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/24db45eaaec1852e158843cf9ed0b2a48b1198a7 new file mode 100644 index 0000000..c0c9c9f --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/24db45eaaec1852e158843cf9ed0b2a48b1198a7 @@ -0,0 +1 @@ +{"code":"export const fontData = [\n {\n \"font_class\": \"arrow-down\",\n \"unicode\": \"\\ue6be\"\n },\n {\n \"font_class\": \"arrow-left\",\n \"unicode\": \"\\ue6bc\"\n },\n {\n \"font_class\": \"arrow-right\",\n \"unicode\": \"\\ue6bb\"\n },\n {\n \"font_class\": \"arrow-up\",\n \"unicode\": \"\\ue6bd\"\n },\n {\n \"font_class\": \"auth\",\n \"unicode\": \"\\ue6ab\"\n },\n {\n \"font_class\": \"auth-filled\",\n \"unicode\": \"\\ue6cc\"\n },\n {\n \"font_class\": \"back\",\n \"unicode\": \"\\ue6b9\"\n },\n {\n \"font_class\": \"bars\",\n \"unicode\": \"\\ue627\"\n },\n {\n \"font_class\": \"calendar\",\n \"unicode\": \"\\ue6a0\"\n },\n {\n \"font_class\": \"calendar-filled\",\n \"unicode\": \"\\ue6c0\"\n },\n {\n \"font_class\": \"camera\",\n \"unicode\": \"\\ue65a\"\n },\n {\n \"font_class\": \"camera-filled\",\n \"unicode\": \"\\ue658\"\n },\n {\n \"font_class\": \"cart\",\n \"unicode\": \"\\ue631\"\n },\n {\n \"font_class\": \"cart-filled\",\n \"unicode\": \"\\ue6d0\"\n },\n {\n \"font_class\": \"chat\",\n \"unicode\": \"\\ue65d\"\n },\n {\n \"font_class\": \"chat-filled\",\n \"unicode\": \"\\ue659\"\n },\n {\n \"font_class\": \"chatboxes\",\n \"unicode\": \"\\ue696\"\n },\n {\n \"font_class\": \"chatboxes-filled\",\n \"unicode\": \"\\ue692\"\n },\n {\n \"font_class\": \"chatbubble\",\n \"unicode\": \"\\ue697\"\n },\n {\n \"font_class\": \"chatbubble-filled\",\n \"unicode\": \"\\ue694\"\n },\n {\n \"font_class\": \"checkbox\",\n \"unicode\": \"\\ue62b\"\n },\n {\n \"font_class\": \"checkbox-filled\",\n \"unicode\": \"\\ue62c\"\n },\n {\n \"font_class\": \"checkmarkempty\",\n \"unicode\": \"\\ue65c\"\n },\n {\n \"font_class\": \"circle\",\n \"unicode\": \"\\ue65b\"\n },\n {\n \"font_class\": \"circle-filled\",\n \"unicode\": \"\\ue65e\"\n },\n {\n \"font_class\": \"clear\",\n \"unicode\": \"\\ue66d\"\n },\n {\n \"font_class\": \"close\",\n \"unicode\": \"\\ue673\"\n },\n {\n \"font_class\": \"closeempty\",\n \"unicode\": \"\\ue66c\"\n },\n {\n \"font_class\": \"cloud-download\",\n \"unicode\": \"\\ue647\"\n },\n {\n \"font_class\": \"cloud-download-filled\",\n \"unicode\": \"\\ue646\"\n },\n {\n \"font_class\": \"cloud-upload\",\n \"unicode\": \"\\ue645\"\n },\n {\n \"font_class\": \"cloud-upload-filled\",\n \"unicode\": \"\\ue648\"\n },\n {\n \"font_class\": \"color\",\n \"unicode\": \"\\ue6cf\"\n },\n {\n \"font_class\": \"color-filled\",\n \"unicode\": \"\\ue6c9\"\n },\n {\n \"font_class\": \"compose\",\n \"unicode\": \"\\ue67f\"\n },\n {\n \"font_class\": \"contact\",\n \"unicode\": \"\\ue693\"\n },\n {\n \"font_class\": \"contact-filled\",\n \"unicode\": \"\\ue695\"\n },\n {\n \"font_class\": \"down\",\n \"unicode\": \"\\ue6b8\"\n },\n {\n \"font_class\": \"bottom\",\n \"unicode\": \"\\ue6b8\"\n },\n {\n \"font_class\": \"download\",\n \"unicode\": \"\\ue68d\"\n },\n {\n \"font_class\": \"download-filled\",\n \"unicode\": \"\\ue681\"\n },\n {\n \"font_class\": \"email\",\n \"unicode\": \"\\ue69e\"\n },\n {\n \"font_class\": \"email-filled\",\n \"unicode\": \"\\ue69a\"\n },\n {\n \"font_class\": \"eye\",\n \"unicode\": \"\\ue651\"\n },\n {\n \"font_class\": \"eye-filled\",\n \"unicode\": \"\\ue66a\"\n },\n {\n \"font_class\": \"eye-slash\",\n \"unicode\": \"\\ue6b3\"\n },\n {\n \"font_class\": \"eye-slash-filled\",\n \"unicode\": \"\\ue6b4\"\n },\n {\n \"font_class\": \"fire\",\n \"unicode\": \"\\ue6a1\"\n },\n {\n \"font_class\": \"fire-filled\",\n \"unicode\": \"\\ue6c5\"\n },\n {\n \"font_class\": \"flag\",\n \"unicode\": \"\\ue65f\"\n },\n {\n \"font_class\": \"flag-filled\",\n \"unicode\": \"\\ue660\"\n },\n {\n \"font_class\": \"folder-add\",\n \"unicode\": \"\\ue6a9\"\n },\n {\n \"font_class\": \"folder-add-filled\",\n \"unicode\": \"\\ue6c8\"\n },\n {\n \"font_class\": \"font\",\n \"unicode\": \"\\ue6a3\"\n },\n {\n \"font_class\": \"forward\",\n \"unicode\": \"\\ue6ba\"\n },\n {\n \"font_class\": \"gear\",\n \"unicode\": \"\\ue664\"\n },\n {\n \"font_class\": \"gear-filled\",\n \"unicode\": \"\\ue661\"\n },\n {\n \"font_class\": \"gift\",\n \"unicode\": \"\\ue6a4\"\n },\n {\n \"font_class\": \"gift-filled\",\n \"unicode\": \"\\ue6c4\"\n },\n {\n \"font_class\": \"hand-down\",\n \"unicode\": \"\\ue63d\"\n },\n {\n \"font_class\": \"hand-down-filled\",\n \"unicode\": \"\\ue63c\"\n },\n {\n \"font_class\": \"hand-up\",\n \"unicode\": \"\\ue63f\"\n },\n {\n \"font_class\": \"hand-up-filled\",\n \"unicode\": \"\\ue63e\"\n },\n {\n \"font_class\": \"headphones\",\n \"unicode\": \"\\ue630\"\n },\n {\n \"font_class\": \"heart\",\n \"unicode\": \"\\ue639\"\n },\n {\n \"font_class\": \"heart-filled\",\n \"unicode\": \"\\ue641\"\n },\n {\n \"font_class\": \"help\",\n \"unicode\": \"\\ue679\"\n },\n {\n \"font_class\": \"help-filled\",\n \"unicode\": \"\\ue674\"\n },\n {\n \"font_class\": \"home\",\n \"unicode\": \"\\ue662\"\n },\n {\n \"font_class\": \"home-filled\",\n \"unicode\": \"\\ue663\"\n },\n {\n \"font_class\": \"image\",\n \"unicode\": \"\\ue670\"\n },\n {\n \"font_class\": \"image-filled\",\n \"unicode\": \"\\ue678\"\n },\n {\n \"font_class\": \"images\",\n \"unicode\": \"\\ue650\"\n },\n {\n \"font_class\": \"images-filled\",\n \"unicode\": \"\\ue64b\"\n },\n {\n \"font_class\": \"info\",\n \"unicode\": \"\\ue669\"\n },\n {\n \"font_class\": \"info-filled\",\n \"unicode\": \"\\ue649\"\n },\n {\n \"font_class\": \"left\",\n \"unicode\": \"\\ue6b7\"\n },\n {\n \"font_class\": \"link\",\n \"unicode\": \"\\ue6a5\"\n },\n {\n \"font_class\": \"list\",\n \"unicode\": \"\\ue644\"\n },\n {\n \"font_class\": \"location\",\n \"unicode\": \"\\ue6ae\"\n },\n {\n \"font_class\": \"location-filled\",\n \"unicode\": \"\\ue6af\"\n },\n {\n \"font_class\": \"locked\",\n \"unicode\": \"\\ue66b\"\n },\n {\n \"font_class\": \"locked-filled\",\n \"unicode\": \"\\ue668\"\n },\n {\n \"font_class\": \"loop\",\n \"unicode\": \"\\ue633\"\n },\n {\n \"font_class\": \"mail-open\",\n \"unicode\": \"\\ue643\"\n },\n {\n \"font_class\": \"mail-open-filled\",\n \"unicode\": \"\\ue63a\"\n },\n {\n \"font_class\": \"map\",\n \"unicode\": \"\\ue667\"\n },\n {\n \"font_class\": \"map-filled\",\n \"unicode\": \"\\ue666\"\n },\n {\n \"font_class\": \"map-pin\",\n \"unicode\": \"\\ue6ad\"\n },\n {\n \"font_class\": \"map-pin-ellipse\",\n \"unicode\": \"\\ue6ac\"\n },\n {\n \"font_class\": \"medal\",\n \"unicode\": \"\\ue6a2\"\n },\n {\n \"font_class\": \"medal-filled\",\n \"unicode\": \"\\ue6c3\"\n },\n {\n \"font_class\": \"mic\",\n \"unicode\": \"\\ue671\"\n },\n {\n \"font_class\": \"mic-filled\",\n \"unicode\": \"\\ue677\"\n },\n {\n \"font_class\": \"micoff\",\n \"unicode\": \"\\ue67e\"\n },\n {\n \"font_class\": \"micoff-filled\",\n \"unicode\": \"\\ue6b0\"\n },\n {\n \"font_class\": \"minus\",\n \"unicode\": \"\\ue66f\"\n },\n {\n \"font_class\": \"minus-filled\",\n \"unicode\": \"\\ue67d\"\n },\n {\n \"font_class\": \"more\",\n \"unicode\": \"\\ue64d\"\n },\n {\n \"font_class\": \"more-filled\",\n \"unicode\": \"\\ue64e\"\n },\n {\n \"font_class\": \"navigate\",\n \"unicode\": \"\\ue66e\"\n },\n {\n \"font_class\": \"navigate-filled\",\n \"unicode\": \"\\ue67a\"\n },\n {\n \"font_class\": \"notification\",\n \"unicode\": \"\\ue6a6\"\n },\n {\n \"font_class\": \"notification-filled\",\n \"unicode\": \"\\ue6c1\"\n },\n {\n \"font_class\": \"paperclip\",\n \"unicode\": \"\\ue652\"\n },\n {\n \"font_class\": \"paperplane\",\n \"unicode\": \"\\ue672\"\n },\n {\n \"font_class\": \"paperplane-filled\",\n \"unicode\": \"\\ue675\"\n },\n {\n \"font_class\": \"person\",\n \"unicode\": \"\\ue699\"\n },\n {\n \"font_class\": \"person-filled\",\n \"unicode\": \"\\ue69d\"\n },\n {\n \"font_class\": \"personadd\",\n \"unicode\": \"\\ue69f\"\n },\n {\n \"font_class\": \"personadd-filled\",\n \"unicode\": \"\\ue698\"\n },\n {\n \"font_class\": \"personadd-filled-copy\",\n \"unicode\": \"\\ue6d1\"\n },\n {\n \"font_class\": \"phone\",\n \"unicode\": \"\\ue69c\"\n },\n {\n \"font_class\": \"phone-filled\",\n \"unicode\": \"\\ue69b\"\n },\n {\n \"font_class\": \"plus\",\n \"unicode\": \"\\ue676\"\n },\n {\n \"font_class\": \"plus-filled\",\n \"unicode\": \"\\ue6c7\"\n },\n {\n \"font_class\": \"plusempty\",\n \"unicode\": \"\\ue67b\"\n },\n {\n \"font_class\": \"pulldown\",\n \"unicode\": \"\\ue632\"\n },\n {\n \"font_class\": \"pyq\",\n \"unicode\": \"\\ue682\"\n },\n {\n \"font_class\": \"qq\",\n \"unicode\": \"\\ue680\"\n },\n {\n \"font_class\": \"redo\",\n \"unicode\": \"\\ue64a\"\n },\n {\n \"font_class\": \"redo-filled\",\n \"unicode\": \"\\ue655\"\n },\n {\n \"font_class\": \"refresh\",\n \"unicode\": \"\\ue657\"\n },\n {\n \"font_class\": \"refresh-filled\",\n \"unicode\": \"\\ue656\"\n },\n {\n \"font_class\": \"refreshempty\",\n \"unicode\": \"\\ue6bf\"\n },\n {\n \"font_class\": \"reload\",\n \"unicode\": \"\\ue6b2\"\n },\n {\n \"font_class\": \"right\",\n \"unicode\": \"\\ue6b5\"\n },\n {\n \"font_class\": \"scan\",\n \"unicode\": \"\\ue62a\"\n },\n {\n \"font_class\": \"search\",\n \"unicode\": \"\\ue654\"\n },\n {\n \"font_class\": \"settings\",\n \"unicode\": \"\\ue653\"\n },\n {\n \"font_class\": \"settings-filled\",\n \"unicode\": \"\\ue6ce\"\n },\n {\n \"font_class\": \"shop\",\n \"unicode\": \"\\ue62f\"\n },\n {\n \"font_class\": \"shop-filled\",\n \"unicode\": \"\\ue6cd\"\n },\n {\n \"font_class\": \"smallcircle\",\n \"unicode\": \"\\ue67c\"\n },\n {\n \"font_class\": \"smallcircle-filled\",\n \"unicode\": \"\\ue665\"\n },\n {\n \"font_class\": \"sound\",\n \"unicode\": \"\\ue684\"\n },\n {\n \"font_class\": \"sound-filled\",\n \"unicode\": \"\\ue686\"\n },\n {\n \"font_class\": \"spinner-cycle\",\n \"unicode\": \"\\ue68a\"\n },\n {\n \"font_class\": \"staff\",\n \"unicode\": \"\\ue6a7\"\n },\n {\n \"font_class\": \"staff-filled\",\n \"unicode\": \"\\ue6cb\"\n },\n {\n \"font_class\": \"star\",\n \"unicode\": \"\\ue688\"\n },\n {\n \"font_class\": \"star-filled\",\n \"unicode\": \"\\ue68f\"\n },\n {\n \"font_class\": \"starhalf\",\n \"unicode\": \"\\ue683\"\n },\n {\n \"font_class\": \"trash\",\n \"unicode\": \"\\ue687\"\n },\n {\n \"font_class\": \"trash-filled\",\n \"unicode\": \"\\ue685\"\n },\n {\n \"font_class\": \"tune\",\n \"unicode\": \"\\ue6aa\"\n },\n {\n \"font_class\": \"tune-filled\",\n \"unicode\": \"\\ue6ca\"\n },\n {\n \"font_class\": \"undo\",\n \"unicode\": \"\\ue64f\"\n },\n {\n \"font_class\": \"undo-filled\",\n \"unicode\": \"\\ue64c\"\n },\n {\n \"font_class\": \"up\",\n \"unicode\": \"\\ue6b6\"\n },\n {\n \"font_class\": \"top\",\n \"unicode\": \"\\ue6b6\"\n },\n {\n \"font_class\": \"upload\",\n \"unicode\": \"\\ue690\"\n },\n {\n \"font_class\": \"upload-filled\",\n \"unicode\": \"\\ue68e\"\n },\n {\n \"font_class\": \"videocam\",\n \"unicode\": \"\\ue68c\"\n },\n {\n \"font_class\": \"videocam-filled\",\n \"unicode\": \"\\ue689\"\n },\n {\n \"font_class\": \"vip\",\n \"unicode\": \"\\ue6a8\"\n },\n {\n \"font_class\": \"vip-filled\",\n \"unicode\": \"\\ue6c6\"\n },\n {\n \"font_class\": \"wallet\",\n \"unicode\": \"\\ue6b1\"\n },\n {\n \"font_class\": \"wallet-filled\",\n \"unicode\": \"\\ue6c2\"\n },\n {\n \"font_class\": \"weibo\",\n \"unicode\": \"\\ue68b\"\n },\n {\n \"font_class\": \"weixin\",\n \"unicode\": \"\\ue691\"\n }\n];\n// export const fontData = JSON.parse(fontDataJson)\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-icons/components/uni-icons/uniicons_file.js.map","references":[],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"uniicons_file.js\",\"sourceRoot\":\"\",\"sources\":[\"uniicons_file.ts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/259c497ce2387a549f1026f1a2f7df8658ce606d b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/259c497ce2387a549f1026f1a2f7df8658ce606d new file mode 100644 index 0000000..cafad36 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/259c497ce2387a549f1026f1a2f7df8658ce606d @@ -0,0 +1 @@ +{"code":"import '\u0000plugin-vue:export-helper';\nimport 'uni-mp-runtime';\nimport './pages-json-js';\nimport App from './App.uvue';\nimport { createSSRApp } from 'vue';\nexport function createApp() {\n const app = createSSRApp(App);\n return {\n app\n };\n}\n;\ncreateApp().app.mount(\"#app\");\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/main.uts.js.map","references":["C:/Users/lj/Desktop/121/contract-front/111/App.uvue.ts","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"main.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"main.uts\"],\"names\":[],\"mappings\":\"AAAA,OAAO,2BAA2B,CAAC;AAAA,OAAO,gBAAgB,CAAC;AAAA,OAAO,iBAAiB,CAAC;AAAA,OAAO,GAAG,MAAM,YAAY,CAAA;AAEhH,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAClC,MAAM,UAAU,SAAS;IACxB,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAC7B,OAAO;QACN,GAAG;KACH,CAAA;AACF,CAAC;AAAA,CAAC;AAAA,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/2c036e42c0136144d07bb6e80c230c73a5cd8268 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/2c036e42c0136144d07bb6e80c230c73a5cd8268 new file mode 100644 index 0000000..39762e4 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/2c036e42c0136144d07bb6e80c230c73a5cd8268 @@ -0,0 +1 @@ +{"code":"import { defineComponent } from \"vue\";\nexport default defineComponent({\n data() {\n return {\n username: '',\n password: '',\n isModalVisible: false,\n modalTitle: '',\n modalContent: '',\n popupNoCancelShow: false,\n checked: false,\n };\n },\n onLoad() {\n uni.request({\n url: 'https://gpt.aiym.run/contract/miniapp/product/categories',\n method: 'GET',\n header: new UTSJSONObject({\n \"Content-Type\": \"application/json\",\n \"X-Access-Token\": '11'\n }),\n success: (res) => {\n uni.__f__('log', 'at pages/index/login.uvue:78', res.data);\n }\n });\n },\n methods: {\n // 处理登录逻辑\n handleLogin() {\n if (!this.username || !this.password) {\n uni.showToast({ title: '请输入账号和密码', icon: 'none' });\n return null;\n }\n else {\n uni.__f__('log', 'at pages/index/login.uvue:92', this.checked);\n if (this.checked) {\n uni.showToast({ title: '登录成功', icon: 'success' });\n uni.switchTab({ url: '/pages/home/home' });\n }\n else {\n uni.showToast({ title: '请勾选服务协议', icon: 'none' });\n }\n }\n },\n // 显示弹窗\n showModal() {\n this.popupNoCancelShow = true;\n },\n // 关闭弹窗\n closeModal() {\n this.popupNoCancelShow = false;\n },\n change(e = null) {\n uni.__f__('log', 'at pages/index/login.uvue:110', '当前模式:' + e.type + ',状态:' + e.show);\n },\n changeCK() {\n if (this.checked) {\n this.checked = false;\n }\n else {\n this.checked = true;\n }\n },\n // 处理选中事件\n getConfirm() {\n uni.__f__('log', 'at pages/index/login.uvue:121', \"111\");\n if (this.checked) {\n this.checked = this.checked;\n }\n else {\n this.checked = true;\n }\n this.popupNoCancelShow = false;\n }\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/pages/index/login.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.request","uni.__f__","uni.showToast","uni.switchTab"],"map":"{\"version\":3,\"file\":\"login.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"login.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\";AACA,+BAAe;IACb,IAAI;QACF,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;YACnB,iBAAiB,EAAE,KAAK;YACxB,OAAO,EAAC,KAAK;SACX,CAAC;IACJ,CAAC;IACD,MAAM;QACL,GAAG,CAAC,OAAO,CACX;YACK,GAAG,EAAE,0DAA0D;YAC/D,MAAM,EAAC,KAAK;YACd,MAAM,oBAAC;gBACN,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAC,IAAI;aACrB,CAAA;YACC,OAAO,EAAC,CAAC,GAAG;gBACX,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,8BAA8B,EAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACzD,CAAC;SACL,CACA,CAAC;IACH,CAAC;IAED,OAAO,EAAE;QACP,SAAS;QACT,WAAW;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACpC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACnD,YAAO;aACR;iBAAI;gBAEP,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,8BAA8B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7D,IAAG,IAAI,CAAC,OAAO,EAAC;oBACZ,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBAClD,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC;iBAC9C;qBAAI;oBACD,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;iBACrD;aACD;QACA,CAAC;QACD,OAAO;QACP,SAAS;YACZ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAE;QAC5B,CAAC;QACD,OAAO;QACP,UAAU;YACR,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAE;QAClC,CAAC;QACJ,MAAM,CAAC,CAAC,OAAA;YACR,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,+BAA+B,EAAC,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACpF,CAAC;QACD,QAAQ;YACP,IAAG,IAAI,CAAC,OAAO,EAAC;gBACf,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACrB;iBAAI;gBACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACpB;QACF,CAAC;QACD,SAAS;QACT,UAAU;YACT,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,+BAA+B,EAAC,KAAK,CAAC,CAAC;YACvD,IAAG,IAAI,CAAC,OAAO,EAAC;gBACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;aAC5B;iBAAI;gBACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACpB;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAChC,CAAC;KACC;CACF,EAAC\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/321ddf6ecda90ebcc6772a87220adae6cb5364d3 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/321ddf6ecda90ebcc6772a87220adae6cb5364d3 new file mode 100644 index 0000000..7d895d6 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/321ddf6ecda90ebcc6772a87220adae6cb5364d3 @@ -0,0 +1 @@ +{"code":"import { __read } from \"tslib\";\nimport { defineComponent } from \"vue\";\n/**\n * DatetimePicker 时间选择器\n * @description 同时支持 PC 和移动端使用日历选择日期和日期范围\n * @tutorial https://ext.dcloud.net.cn/plugin?id=3962\n * @property {String} type 选择器类型\n * @property {String|Number|Array|Date} value 绑定值\n * @property {String} placeholder 单选择时的占位内容\n * @property {String} start 起始时间\n * @property {String} end 终止时间\n * @property {String} start-placeholder 范围选择时开始日期的占位内容\n * @property {String} end-placeholder 范围选择时结束日期的占位内容\n * @property {String} range-separator 选择范围时的分隔符\n * @property {Boolean} border = [true|false] 是否有边框\n * @property {Boolean} disabled = [true|false] 是否禁用\n * @property {Boolean} clearIcon = [true|false] 是否显示清除按钮(仅PC端适用)\n * @property {[String} defaultValue 选择器打开时默认显示的时间\n * @event {Function} change 确定日期时触发的事件\n * @event {Function} maskClick 点击遮罩层触发的事件\n * @event {Function} show 打开弹出层\n * @event {Function} close 关闭弹出层\n * @event {Function} clear 清除上次选中的状态和值\n **/\nimport Calendar from './calendar.vue';\nimport TimePicker from './time-picker.vue';\nimport { initVueI18n } from '@dcloudio/uni-i18n';\nimport i18nMessages from './i18n/index.js';\nimport { getDateTime, getDate, getTime, getDefaultSecond, dateCompare, checkDate, fixIosDateFormat } from './util';\nexport default defineComponent({\n name: 'UniDatetimePicker',\n options: {\n virtualHost: true\n },\n components: {\n Calendar,\n TimePicker\n },\n data() {\n return {\n isRange: false,\n hasTime: false,\n displayValue: '',\n inputDate: '',\n calendarDate: '',\n pickerTime: '',\n calendarRange: new UTSJSONObject({\n startDate: '',\n startTime: '',\n endDate: '',\n endTime: ''\n }),\n displayRangeValue: new UTSJSONObject({\n startDate: '',\n endDate: '',\n }),\n tempRange: new UTSJSONObject({\n startDate: '',\n startTime: '',\n endDate: '',\n endTime: ''\n }),\n // 左右日历同步数据\n startMultipleStatus: new UTSJSONObject({\n before: '',\n after: '',\n data: [],\n fulldate: ''\n }),\n endMultipleStatus: new UTSJSONObject({\n before: '',\n after: '',\n data: [],\n fulldate: ''\n }),\n pickerVisible: false,\n pickerPositionStyle: null,\n isEmitValue: false,\n isPhone: false,\n isFirstShow: true,\n i18nT: () => { }\n };\n },\n props: {\n type: {\n type: String,\n default: 'datetime'\n },\n value: {\n type: [String, Number, Array, Date],\n default: ''\n },\n modelValue: {\n type: [String, Number, Array, Date],\n default: ''\n },\n start: {\n type: [Number, String],\n default: ''\n },\n end: {\n type: [Number, String],\n default: ''\n },\n returnType: {\n type: String,\n default: 'string'\n },\n placeholder: {\n type: String,\n default: ''\n },\n startPlaceholder: {\n type: String,\n default: ''\n },\n endPlaceholder: {\n type: String,\n default: ''\n },\n rangeSeparator: {\n type: String,\n default: '-'\n },\n border: {\n type: [Boolean],\n default: true\n },\n disabled: {\n type: [Boolean],\n default: false\n },\n clearIcon: {\n type: [Boolean],\n default: true\n },\n hideSecond: {\n type: [Boolean],\n default: false\n },\n defaultValue: {\n type: [String, Object, Array],\n default: ''\n }\n },\n watch: {\n type: {\n immediate: true,\n handler(newVal = null) {\n this.hasTime = newVal.indexOf('time') !== -1;\n this.isRange = newVal.indexOf('range') !== -1;\n }\n },\n modelValue: {\n immediate: true,\n handler(newVal = null) {\n if (this.isEmitValue) {\n this.isEmitValue = false;\n return null;\n }\n this.initPicker(newVal);\n }\n },\n start: {\n immediate: true,\n handler(newVal = null) {\n if (!newVal)\n return null;\n this.calendarRange.startDate = getDate(newVal);\n if (this.hasTime) {\n this.calendarRange.startTime = getTime(newVal);\n }\n }\n },\n end: {\n immediate: true,\n handler(newVal = null) {\n if (!newVal)\n return null;\n this.calendarRange.endDate = getDate(newVal);\n if (this.hasTime) {\n this.calendarRange.endTime = getTime(newVal, this.hideSecond);\n }\n }\n },\n },\n computed: {\n timepickerStartTime() {\n const activeDate = this.isRange ? this.tempRange.startDate : this.inputDate;\n return activeDate === this.calendarRange.startDate ? this.calendarRange.startTime : '';\n },\n timepickerEndTime() {\n const activeDate = this.isRange ? this.tempRange.endDate : this.inputDate;\n return activeDate === this.calendarRange.endDate ? this.calendarRange.endTime : '';\n },\n mobileCalendarTime() {\n const timeRange = new UTSJSONObject({\n start: this.tempRange.startTime,\n end: this.tempRange.endTime\n });\n return this.isRange ? timeRange : this.pickerTime;\n },\n mobSelectableTime() {\n return new UTSJSONObject({\n start: this.calendarRange.startTime,\n end: this.calendarRange.endTime\n });\n },\n datePopupWidth() {\n // todo\n return this.isRange ? 653 : 301;\n },\n /**\n * for i18n\n */\n singlePlaceholderText() {\n return this.placeholder || (this.type === 'date' ? this.selectDateText : this.selectDateTimeText);\n },\n startPlaceholderText() {\n return this.startPlaceholder || this.startDateText;\n },\n endPlaceholderText() {\n return this.endPlaceholder || this.endDateText;\n },\n selectDateText() {\n return this.i18nT(\"uni-datetime-picker.selectDate\");\n },\n selectDateTimeText() {\n return this.i18nT(\"uni-datetime-picker.selectDateTime\");\n },\n selectTimeText() {\n return this.i18nT(\"uni-datetime-picker.selectTime\");\n },\n startDateText() {\n return this.startPlaceholder || this.i18nT(\"uni-datetime-picker.startDate\");\n },\n startTimeText() {\n return this.i18nT(\"uni-datetime-picker.startTime\");\n },\n endDateText() {\n return this.endPlaceholder || this.i18nT(\"uni-datetime-picker.endDate\");\n },\n endTimeText() {\n return this.i18nT(\"uni-datetime-picker.endTime\");\n },\n okText() {\n return this.i18nT(\"uni-datetime-picker.ok\");\n },\n clearText() {\n return this.i18nT(\"uni-datetime-picker.clear\");\n },\n showClearIcon() {\n return this.clearIcon && !this.disabled && (this.displayValue || (this.displayRangeValue.startDate && this\n .displayRangeValue.endDate));\n }\n },\n created() {\n this.initI18nT();\n this.platform();\n },\n methods: {\n initI18nT() {\n const vueI18n = initVueI18n(i18nMessages);\n this.i18nT = vueI18n.t;\n },\n initPicker(newVal = null) {\n if ((!newVal && !this.defaultValue) || Array.isArray(newVal) && !newVal.length) {\n this.$nextTick(() => {\n this.clear(false);\n });\n return null;\n }\n if (!Array.isArray(newVal) && !this.isRange) {\n if (newVal) {\n this.displayValue = this.inputDate = this.calendarDate = getDate(newVal);\n if (this.hasTime) {\n this.pickerTime = getTime(newVal, this.hideSecond);\n this.displayValue = `${this.displayValue} ${this.pickerTime}`;\n }\n }\n else if (this.defaultValue) {\n this.inputDate = this.calendarDate = getDate(this.defaultValue);\n if (this.hasTime) {\n this.pickerTime = getTime(this.defaultValue, this.hideSecond);\n }\n }\n }\n else {\n const _a = __read(newVal, 2), before = _a[0], after = _a[1];\n if (!before && !after)\n return null;\n const beforeDate = getDate(before);\n const beforeTime = getTime(before, this.hideSecond);\n const afterDate = getDate(after);\n const afterTime = getTime(after, this.hideSecond);\n const startDate = beforeDate;\n const endDate = afterDate;\n this.displayRangeValue.startDate = this.tempRange.startDate = startDate;\n this.displayRangeValue.endDate = this.tempRange.endDate = endDate;\n if (this.hasTime) {\n this.displayRangeValue.startDate = `${beforeDate} ${beforeTime}`;\n this.displayRangeValue.endDate = `${afterDate} ${afterTime}`;\n this.tempRange.startTime = beforeTime;\n this.tempRange.endTime = afterTime;\n }\n const defaultRange = new UTSJSONObject({\n before: beforeDate,\n after: afterDate\n });\n this.startMultipleStatus = Object.assign({}, this.startMultipleStatus, defaultRange, {\n which: 'right'\n });\n this.endMultipleStatus = Object.assign({}, this.endMultipleStatus, defaultRange, {\n which: 'left'\n });\n }\n },\n updateLeftCale(e = null) {\n const left = this.$refs.left;\n // 设置范围选\n left.cale.setHoverMultiple(e.after);\n left.setDate(this.$refs.left.nowDate.fullDate);\n },\n updateRightCale(e = null) {\n const right = this.$refs.right;\n // 设置范围选\n right.cale.setHoverMultiple(e.after);\n right.setDate(this.$refs.right.nowDate.fullDate);\n },\n platform() {\n if (typeof navigator !== \"undefined\") {\n this.isPhone = navigator.userAgent.toLowerCase().indexOf('mobile') !== -1;\n return null;\n }\n const windowWidth = uni.getWindowInfo().windowWidth;\n this.isPhone = windowWidth <= 500;\n this.windowWidth = windowWidth;\n },\n show() {\n this.$emit(\"show\");\n if (this.disabled) {\n return null;\n }\n this.platform();\n if (this.isPhone) {\n setTimeout(() => {\n this.$refs.mobile.open();\n }, 0);\n return null;\n }\n this.pickerPositionStyle = {\n top: '10px'\n };\n const dateEditor = uni.createSelectorQuery().in(this).select(\".uni-date-editor\");\n dateEditor.boundingClientRect((rect = null) => {\n if (this.windowWidth - rect.left < this.datePopupWidth) {\n this.pickerPositionStyle.right = 0;\n }\n }).exec();\n setTimeout(() => {\n this.pickerVisible = !this.pickerVisible;\n if (!this.isPhone && this.isRange && this.isFirstShow) {\n this.isFirstShow = false;\n const _a = this.calendarRange, startDate = _a.startDate, endDate = _a.endDate;\n if (startDate && endDate) {\n if (this.diffDate(startDate, endDate) < 30) {\n this.$refs.right.changeMonth('pre');\n }\n }\n else {\n // this.$refs.right.changeMonth('next')\n if (this.isPhone) {\n this.$refs.right.cale.lastHover = false;\n }\n }\n }\n }, 50);\n },\n close() {\n setTimeout(() => {\n this.pickerVisible = false;\n this.$emit('maskClick', this.value);\n this.$refs.mobile && this.$refs.mobile.close();\n }, 20);\n },\n setEmit(value = null) {\n if (this.returnType === \"timestamp\" || this.returnType === \"date\") {\n if (!Array.isArray(value)) {\n if (!this.hasTime) {\n value = value + ' ' + '00:00:00';\n }\n value = this.createTimestamp(value);\n if (this.returnType === \"date\") {\n value = new Date(value);\n }\n }\n else {\n if (!this.hasTime) {\n value[0] = value[0] + ' ' + '00:00:00';\n value[1] = value[1] + ' ' + '00:00:00';\n }\n value[0] = this.createTimestamp(value[0]);\n value[1] = this.createTimestamp(value[1]);\n if (this.returnType === \"date\") {\n value[0] = new Date(value[0]);\n value[1] = new Date(value[1]);\n }\n }\n }\n this.$emit('update:modelValue', value);\n this.$emit('input', value);\n this.$emit('change', value);\n this.isEmitValue = true;\n },\n createTimestamp(date = null) {\n date = fixIosDateFormat(date);\n return Date.parse(new Date(date));\n },\n singleChange(e = null) {\n this.calendarDate = this.inputDate = e.fulldate;\n if (this.hasTime)\n return null;\n this.confirmSingleChange();\n },\n confirmSingleChange() {\n var _a, _b, _c, _d;\n if (!checkDate(this.inputDate)) {\n const now = new Date();\n this.calendarDate = this.inputDate = getDate(now);\n this.pickerTime = getTime(now, this.hideSecond);\n }\n let startLaterInputDate = false;\n let startDate = null, startTime = null;\n if (this.start) {\n let startString = this.start;\n if (typeof this.start === 'number') {\n startString = getDateTime(this.start, this.hideSecond);\n }\n _a = startString.split(' '), _b = __read(_a, 2), startDate = _b[0], startTime = _b[1], _a;\n if (this.start && !dateCompare(startDate, this.inputDate)) {\n startLaterInputDate = true;\n this.inputDate = startDate;\n }\n }\n let endEarlierInputDate = false;\n let endDate = null, endTime = null;\n if (this.end) {\n let endString = this.end;\n if (typeof this.end === 'number') {\n endString = getDateTime(this.end, this.hideSecond);\n }\n _c = endString.split(' '), _d = __read(_c, 2), endDate = _d[0], endTime = _d[1], _c;\n if (this.end && !dateCompare(this.inputDate, endDate)) {\n endEarlierInputDate = true;\n this.inputDate = endDate;\n }\n }\n if (this.hasTime) {\n if (startLaterInputDate) {\n this.pickerTime = startTime || getDefaultSecond(this.hideSecond);\n }\n if (endEarlierInputDate) {\n this.pickerTime = endTime || getDefaultSecond(this.hideSecond);\n }\n if (!this.pickerTime) {\n this.pickerTime = getTime(Date.now(), this.hideSecond);\n }\n this.displayValue = `${this.inputDate} ${this.pickerTime}`;\n }\n else {\n this.displayValue = this.inputDate;\n }\n this.setEmit(this.displayValue);\n this.pickerVisible = false;\n },\n leftChange(e = null) {\n const _a = e.range, before = _a.before, after = _a.after;\n this.rangeChange(before, after);\n const obj = new UTSJSONObject({\n before: e.range.before,\n after: e.range.after,\n data: e.range.data,\n fulldate: e.fulldate\n });\n this.startMultipleStatus = Object.assign({}, this.startMultipleStatus, obj);\n this.$emit('calendarClick', e);\n },\n rightChange(e = null) {\n const _a = e.range, before = _a.before, after = _a.after;\n this.rangeChange(before, after);\n const obj = new UTSJSONObject({\n before: e.range.before,\n after: e.range.after,\n data: e.range.data,\n fulldate: e.fulldate\n });\n this.endMultipleStatus = Object.assign({}, this.endMultipleStatus, obj);\n this.$emit('calendarClick', e);\n },\n mobileChange(e = null) {\n if (this.isRange) {\n const _a = e.range, before = _a.before, after = _a.after;\n if (!before) {\n return null;\n }\n this.handleStartAndEnd(before, after, true);\n if (this.hasTime) {\n const _b = e.timeRange, startTime = _b.startTime, endTime = _b.endTime;\n this.tempRange.startTime = startTime;\n this.tempRange.endTime = endTime;\n }\n this.confirmRangeChange();\n }\n else {\n if (this.hasTime) {\n this.displayValue = e.fulldate + ' ' + e.time;\n }\n else {\n this.displayValue = e.fulldate;\n }\n this.setEmit(this.displayValue);\n }\n this.$refs.mobile.close();\n },\n rangeChange(before = null, after = null) {\n if (!(before && after))\n return null;\n this.handleStartAndEnd(before, after, true);\n if (this.hasTime)\n return null;\n this.confirmRangeChange();\n },\n confirmRangeChange() {\n var _a, _b, _c, _d, _e, _f;\n if (!this.tempRange.startDate || !this.tempRange.endDate) {\n this.pickerVisible = false;\n return null;\n }\n if (!checkDate(this.tempRange.startDate)) {\n this.tempRange.startDate = getDate(Date.now());\n }\n if (!checkDate(this.tempRange.endDate)) {\n this.tempRange.endDate = getDate(Date.now());\n }\n let start = null, end = null;\n let startDateLaterRangeStartDate = false;\n let startDateLaterRangeEndDate = false;\n let startDate = null, startTime = null;\n if (this.start) {\n let startString = this.start;\n if (typeof this.start === 'number') {\n startString = getDateTime(this.start, this.hideSecond);\n }\n _a = startString.split(' '), _b = __read(_a, 2), startDate = _b[0], startTime = _b[1], _a;\n if (this.start && !dateCompare(this.start, `${this.tempRange.startDate} ${this.tempRange.startTime}`)) {\n startDateLaterRangeStartDate = true;\n this.tempRange.startDate = startDate;\n }\n if (this.start && !dateCompare(this.start, `${this.tempRange.endDate} ${this.tempRange.endTime}`)) {\n startDateLaterRangeEndDate = true;\n this.tempRange.endDate = startDate;\n }\n }\n let endDateEarlierRangeStartDate = false;\n let endDateEarlierRangeEndDate = false;\n let endDate = null, endTime = null;\n if (this.end) {\n let endString = this.end;\n if (typeof this.end === 'number') {\n endString = getDateTime(this.end, this.hideSecond);\n }\n _c = endString.split(' '), _d = __read(_c, 2), endDate = _d[0], endTime = _d[1], _c;\n if (this.end && !dateCompare(`${this.tempRange.startDate} ${this.tempRange.startTime}`, this.end)) {\n endDateEarlierRangeStartDate = true;\n this.tempRange.startDate = endDate;\n }\n if (this.end && !dateCompare(`${this.tempRange.endDate} ${this.tempRange.endTime}`, this.end)) {\n endDateEarlierRangeEndDate = true;\n this.tempRange.endDate = endDate;\n }\n }\n if (!this.hasTime) {\n start = this.displayRangeValue.startDate = this.tempRange.startDate;\n end = this.displayRangeValue.endDate = this.tempRange.endDate;\n }\n else {\n if (startDateLaterRangeStartDate) {\n this.tempRange.startTime = startTime || getDefaultSecond(this.hideSecond);\n }\n else if (endDateEarlierRangeStartDate) {\n this.tempRange.startTime = endTime || getDefaultSecond(this.hideSecond);\n }\n if (!this.tempRange.startTime) {\n this.tempRange.startTime = getTime(Date.now(), this.hideSecond);\n }\n if (startDateLaterRangeEndDate) {\n this.tempRange.endTime = startTime || getDefaultSecond(this.hideSecond);\n }\n else if (endDateEarlierRangeEndDate) {\n this.tempRange.endTime = endTime || getDefaultSecond(this.hideSecond);\n }\n if (!this.tempRange.endTime) {\n this.tempRange.endTime = getTime(Date.now(), this.hideSecond);\n }\n start = this.displayRangeValue.startDate = `${this.tempRange.startDate} ${this.tempRange.startTime}`;\n end = this.displayRangeValue.endDate = `${this.tempRange.endDate} ${this.tempRange.endTime}`;\n }\n if (!dateCompare(start, end)) {\n _e = [end, start], _f = __read(_e, 2), start = _f[0], end = _f[1], _e;\n }\n this.displayRangeValue.startDate = start;\n this.displayRangeValue.endDate = end;\n const displayRange = [start, end];\n this.setEmit(displayRange);\n this.pickerVisible = false;\n },\n handleStartAndEnd(before = null, after = null, temp = false) {\n if (!before)\n return null;\n if (!after)\n after = before;\n const type = temp ? 'tempRange' : 'range';\n const isStartEarlierEnd = dateCompare(before, after);\n this[type].startDate = isStartEarlierEnd ? before : after;\n this[type].endDate = isStartEarlierEnd ? after : before;\n },\n /**\n * 比较时间大小\n */\n dateCompare(startDate = null, endDate = null) {\n // 计算截止时间\n startDate = new Date(startDate.replace('-', '/').replace('-', '/'));\n // 计算详细项的截止时间\n endDate = new Date(endDate.replace('-', '/').replace('-', '/'));\n return startDate <= endDate;\n },\n /**\n * 比较时间差\n */\n diffDate(startDate = null, endDate = null) {\n // 计算截止时间\n startDate = new Date(startDate.replace('-', '/').replace('-', '/'));\n // 计算详细项的截止时间\n endDate = new Date(endDate.replace('-', '/').replace('-', '/'));\n const diff = (endDate - startDate) / (24 * 60 * 60 * 1000);\n return Math.abs(diff);\n },\n clear(needEmit = true) {\n if (!this.isRange) {\n this.displayValue = '';\n this.inputDate = '';\n this.pickerTime = '';\n if (this.isPhone) {\n this.$refs.mobile && this.$refs.mobile.clearCalender();\n }\n else {\n this.$refs.pcSingle && this.$refs.pcSingle.clearCalender();\n }\n if (needEmit) {\n this.$emit('change', '');\n this.$emit('input', '');\n this.$emit('update:modelValue', '');\n }\n }\n else {\n this.displayRangeValue.startDate = '';\n this.displayRangeValue.endDate = '';\n this.tempRange.startDate = '';\n this.tempRange.startTime = '';\n this.tempRange.endDate = '';\n this.tempRange.endTime = '';\n if (this.isPhone) {\n this.$refs.mobile && this.$refs.mobile.clearCalender();\n }\n else {\n this.$refs.left && this.$refs.left.clearCalender();\n this.$refs.right && this.$refs.right.clearCalender();\n this.$refs.right && this.$refs.right.changeMonth('next');\n }\n if (needEmit) {\n this.$emit('change', []);\n this.$emit('input', []);\n this.$emit('update:modelValue', []);\n }\n }\n },\n calendarClick(e = null) {\n this.$emit('calendarClick', e);\n }\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue?vue&type=script&lang.uts.js.map","references":["C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue.ts","C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue.ts","C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js","C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js"],"uniExtApis":["uni.getWindowInfo","uni.createSelectorQuery"],"map":"{\"version\":3,\"file\":\"uni-datetime-picker.vue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"uni-datetime-picker.vue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/3b92bfd69adc8ba92daf45a06da1ff9e5a1d0ab7 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/3b92bfd69adc8ba92daf45a06da1ff9e5a1d0ab7 new file mode 100644 index 0000000..2d9a260 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/3b92bfd69adc8ba92daf45a06da1ff9e5a1d0ab7 @@ -0,0 +1 @@ +{"code":"import { defineComponent } from \"vue\";\nlet closeCallBack = () => { };\nexport default defineComponent({\n emits: [\"close\", \"clickMask\"],\n data() {\n return {\n isShow: false,\n isOpen: false\n };\n },\n props: {\n maskClick: {\n type: Boolean,\n default: true\n },\n },\n watch: {\n // 设置show = true 时,如果没有 open 需要设置为 open\n isShow: {\n handler(isShow = null) {\n // uni.__f__('log','at uni_modules/uni-popup/components/uni-popup/uni-popup.uvue:30',\"isShow\",isShow)\n if (isShow && this.isOpen == false) {\n this.isOpen = true;\n }\n },\n immediate: true\n },\n // 设置isOpen = true 时,如果没有 isShow 需要设置为 isShow\n isOpen: {\n handler(isOpen = null) {\n // uni.__f__('log','at uni_modules/uni-popup/components/uni-popup/uni-popup.uvue:40',\"isOpen\",isOpen)\n if (isOpen && this.isShow == false) {\n this.isShow = true;\n }\n },\n immediate: true\n }\n },\n methods: {\n open() {\n // ...funs : CloseCallBack[]\n // if(funs.length > 0){\n // closeCallBack = funs[0]\n // }\n this.isOpen = true;\n },\n clickMask() {\n if (this.maskClick == true) {\n this.$emit('clickMask');\n this.close();\n }\n },\n close() {\n this.isOpen = false;\n this.$emit('close');\n closeCallBack();\n },\n hiden() {\n this.isShow = false;\n },\n show() {\n this.isShow = true;\n }\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"uni-popup.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"uni-popup.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\";AAEE,IAAI,aAAa,GAAiB,QAAa,CAAC,CAAC;AACjD,+BAAe;IACb,KAAK,EAAC,CAAC,OAAO,EAAC,WAAW,CAAC;IAC3B,IAAI;QACF,OAAO;YACL,MAAM,EAAC,KAAK;YACZ,MAAM,EAAC,KAAK;SACb,CAAA;IACH,CAAC;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI;SACd;KACF;IACD,KAAK,EAAE;QACL,uCAAuC;QACvC,MAAM,EAAC;YACL,OAAO,CAAC,MAAM,OAAA;gBACZ,qGAAqG;gBACrG,IAAG,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAC;oBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;iBACnB;YACH,CAAC;YACD,SAAS,EAAC,IAAI;SACf;QACD,6CAA6C;QAC7C,MAAM,EAAC;YACL,OAAO,CAAC,MAAM,OAAA;gBACZ,qGAAqG;gBACrG,IAAG,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAC;oBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;iBACnB;YACH,CAAC;YACD,SAAS,EAAC,IAAI;SACf;KACF;IACD,OAAO,EAAC;QACN,IAAI;YACF,4BAA4B;YAC5B,uBAAuB;YACvB,4BAA4B;YAC5B,IAAI;YACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,SAAS;YACP,IAAG,IAAI,CAAC,SAAS,IAAI,IAAI,EAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;gBACvB,IAAI,CAAC,KAAK,EAAE,CAAA;aACb;QACH,CAAC;QACD,KAAK;YACH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACnB,aAAa,EAAE,CAAA;QACjB,CAAC;QACD,KAAK;YACH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACrB,CAAC;QACD,IAAI;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QACpB,CAAC;KACF;CACF,EAAA\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/4494282be361fc6acddaf4d6177c77b2a0d16f9d b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/4494282be361fc6acddaf4d6177c77b2a0d16f9d new file mode 100644 index 0000000..955115c --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/4494282be361fc6acddaf4d6177c77b2a0d16f9d @@ -0,0 +1 @@ +{"code":"import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, t as _t, o as _o, resolveComponent as _resolveComponent, sr as _sr, p as _p, e as _e } from \"vue\";\nconst __BINDING_COMPONENTS__ = '{\"uni-popup\":{\"name\":\"_easycom_uni_popup\",\"type\":\"unknown\"}}';\nif (!Array) {\n const _easycom_uni_popup_1 = _resolveComponent(\"uni-popup\");\n (_easycom_uni_popup_1)();\n}\nimport _easycom_uni_popup from 'C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue';\nif (!Math) {\n (_easycom_uni_popup)();\n}\nimport { ref, watch, getCurrentInstance } from 'vue';\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'mosowe-confirm-popup',\n props: {\n modelValue: { type: Boolean },\n title: { default: '提示' },\n message: { type: Boolean },\n hideCancel: { type: Boolean },\n confirmText: { default: '确认' },\n cancelText: { default: '取消' }\n },\n emits: [\"update:modelValue\", \"cancel\", \"confirm\"],\n setup(__props, _a) {\n var __emit = _a.emit;\n const props = __props;\n // emits\n const emits = __emit;\n const zoConfirmPopupRef = ref(null);\n watch(() => { return props.modelValue; }, () => {\n props.modelValue ? zoConfirmPopupRef.value.open() : zoConfirmPopupRef.value.close();\n });\n const instance = getCurrentInstance();\n const hasProps = instance.vnode.props;\n // 取消\n const cancel = () => {\n if (hasProps === null || hasProps === void 0 ? void 0 : hasProps.onCancel) {\n emits('cancel');\n }\n else {\n emits('update:modelValue', false);\n }\n };\n // 确认\n const confirm = () => {\n if (hasProps === null || hasProps === void 0 ? void 0 : hasProps.onConfirm) {\n emits('confirm');\n }\n else {\n emits('update:modelValue', false);\n }\n };\n return (_ctx = null, _cache = null) => {\n const __returned__ = _e(new UTSJSONObject({\n a: props.title\n }), props.title ? new UTSJSONObject({\n b: _t(props.title)\n }) : new UTSJSONObject({}), new UTSJSONObject({\n c: props.message ? 1 : '',\n d: !props.hideCancel\n }), !props.hideCancel ? new UTSJSONObject({\n e: _t(_ctx.cancelText),\n f: _o(cancel)\n }) : new UTSJSONObject({}), new UTSJSONObject({\n g: _t(_ctx.confirmText),\n h: _o(confirm),\n i: _sr(zoConfirmPopupRef, '58b7238c-0', new UTSJSONObject({\n \"k\": \"zoConfirmPopupRef\"\n })),\n j: _ctx.virtualHostId,\n k: _p(new UTSJSONObject({\n ['is-mask-click']: false,\n id: _ctx.virtualHostId\n }))\n }));\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/mosowe-confirm-popup/components/mosowe-confirm-popup/mosowe-confirm-popup.vue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue.ts","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts"],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"mosowe-confirm-popup.vue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"mosowe-confirm-popup.vue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/749f1d5f41115972ffb2fb949288a7c7ca14bed3 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/749f1d5f41115972ffb2fb949288a7c7ca14bed3 new file mode 100644 index 0000000..be00020 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/749f1d5f41115972ffb2fb949288a7c7ca14bed3 @@ -0,0 +1 @@ +{"code":"import { defineComponent } from \"vue\";\nimport { fontData } from './uniicons_file';\n/**\n * Icons 图标\n * @description 用于展示 icon 图标\n * @tutorial https://ext.dcloud.net.cn/plugin?id=28\n * @property {Number,String} size 图标大小\n * @property {String} type 图标图案,参考示例\n * @property {String} color 图标颜色\n * @property {String} customPrefix 自定义图标\n * @event {Function} click 点击 Icon 触发事件\n */\nexport default defineComponent({\n name: \"uni-icons\",\n props: {\n type: {\n type: String,\n default: ''\n },\n color: {\n type: String,\n default: '#333333'\n },\n size: {\n type: [Number, String],\n default: 16\n },\n fontFamily: {\n type: String,\n default: ''\n }\n },\n data() {\n return {};\n },\n computed: {\n unicode() {\n let codes = UTS.arrayFind(fontData, (item) => { return item.font_class == this.type; });\n if (codes !== null) {\n return codes.unicode;\n }\n return '';\n },\n iconSize() {\n const size = this.size;\n if (typeof size == 'string') {\n const reg = /^[0-9]*$/g;\n return reg.test(size) ? '' + size + 'px' : '' + size;\n // return '' + this.size\n }\n return this.getFontSize(size);\n },\n styleObj() {\n if (this.fontFamily !== '') {\n return new UTSJSONObject({ color: this.color, fontSize: this.iconSize, fontFamily: this.fontFamily });\n }\n return new UTSJSONObject({ color: this.color, fontSize: this.iconSize });\n }\n },\n created() { },\n methods: {\n /**\n * 字体大小\n */\n getFontSize(size) {\n return size + 'px';\n },\n },\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue?vue&type=script&lang.uts.js.map","references":["C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts"],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"uni-icons.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"uni-icons.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\";AACE,OAAO,EAAE,QAAQ,EAAiB,MAAM,iBAAiB,CAAA;AAEzD;;;;;;;;;GASG;AACH,+BAAe;IACb,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;SACnB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,OAAO,EAAE,EAAE;SACZ;QACD,UAAU,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;KACF;IACD,IAAI;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,QAAQ,EAAE;QACR,OAAO;YACL,IAAI,KAAK,iBAAG,QAAQ,EAAM,CAAC,IAAoB,OAAiB,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAA,CAAC,CAAC,CAAC,CAAA;YACtG,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,OAAO,KAAK,CAAC,OAAO,CAAA;aACrB;YACD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,QAAQ;YACN,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACtB,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE;gBAC3B,MAAM,GAAG,GAAG,WAAW,CAAA;gBACvB,OAAO,GAAG,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;gBAC/D,wBAAwB;aACzB;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAc,CAAC,CAAA;QACzC,CAAC;QACD,QAAQ;YACN,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;gBAC1B,yBAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAA;aACnF;YACD,yBAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAA;QACvD,CAAC;KACF;IACD,OAAO,KAAK,CAAC;IACb,OAAO,EAAE;QACP;;WAEG;QACH,WAAW,CAAC,IAAa;YACvB,OAAO,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;KACF;CACF,EAAA\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/74dcf9352f24d4b00686ee64d3005fe2c76420ed b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/74dcf9352f24d4b00686ee64d3005fe2c76420ed new file mode 100644 index 0000000..242d095 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/74dcf9352f24d4b00686ee64d3005fe2c76420ed @@ -0,0 +1 @@ +{"code":"import { defineComponent } from \"vue\";\n/**\n * Easyinput 输入框\n * @description 此组件可以实现表单的输入与校验,包括 \"text\" 和 \"textarea\" 类型。\n * @tutorial https://ext.dcloud.net.cn/plugin?id=3455\n * @property {String}\tvalue\t输入内容\n * @property {String }\ttype\t输入框的类型(默认text) password/text/textarea/..\n * \t@value text\t\t\t文本输入键盘\n * \t@value textarea\t多行文本输入键盘\n * \t@value password\t密码输入键盘\n * \t@value number\t\t数字输入键盘,注意iOS上app-vue弹出的数字键盘并非9宫格方式\n * \t@value idcard\t\t身份证输入键盘,信、支付宝、百度、QQ小程序\n * \t@value digit\t\t带小数点的数字键盘\t,App的nvue页面、微信、支付宝、百度、头条、QQ小程序支持\n * @property {Boolean}\tclearable\t是否显示右侧清空内容的图标控件,点击可清空输入框内容(默认true)\n * @property {Boolean}\tautoHeight\t是否自动增高输入区域,type为textarea时有效(默认true)\n * @property {String }\tplaceholder\t输入框的提示文字\n * @property {String }\tplaceholderStyle\tplaceholder的样式(内联样式,字符串),如\"color: #ddd\"\n * @property {Boolean}\tfocus\t是否自动获得焦点(默认false)\n * @property {Boolean}\tdisabled\t是否禁用(默认false)\n * @property {Number }\tmaxlength\t最大输入长度,设置为 -1 的时候不限制最大长度(默认140)\n * @property {String }\tconfirmType\t设置键盘右下角按钮的文字,仅在type=\"text\"时生效(默认done)\n * @property {Number }\tclearSize\t清除图标的大小,单位px(默认15)\n * @property {String}\tprefixIcon\t输入框头部图标\n * @property {String}\tsuffixIcon\t输入框尾部图标\n * @property {String}\tprimaryColor\t设置主题色(默认#2979ff)\n * @property {Boolean}\ttrim\t是否自动去除两端的空格\n * @property {Boolean}\tcursorSpacing\t指定光标与键盘的距离,单位 px\n * @property {Boolean} ajust-position 当键盘弹起时,是否上推内容,默认值:true\n * @value both\t去除两端空格\n * @value left\t去除左侧空格\n * @value right\t去除右侧空格\n * @value start\t去除左侧空格\n * @value end\t\t去除右侧空格\n * @value all\t\t去除全部空格\n * @value none\t不去除空格\n * @property {Boolean}\tinputBorder\t是否显示input输入框的边框(默认true)\n * @property {Boolean}\tpasswordIcon\ttype=password时是否显示小眼睛图标\n * @property {Object}\tstyles\t自定义颜色\n * @event {Function}\tinput\t输入框内容发生变化时触发\n * @event {Function}\tfocus\t输入框获得焦点时触发\n * @event {Function}\tblur\t输入框失去焦点时触发\n * @event {Function}\tconfirm\t点击完成按钮时触发\n * @event {Function}\ticonClick\t点击图标时触发\n * @example \n */\nfunction obj2strClass(obj = null) {\n let classess = '';\n for (let key in obj) {\n const val = obj[key];\n if (val) {\n classess += `${key} `;\n }\n }\n return classess;\n}\nfunction obj2strStyle(obj = null) {\n let style = '';\n for (let key in obj) {\n const val = obj[key];\n style += `${key}:${val};`;\n }\n return style;\n}\nexport default defineComponent({\n name: 'uni-easyinput',\n emits: [\n 'click',\n 'iconClick',\n 'update:modelValue',\n 'input',\n 'focus',\n 'blur',\n 'confirm',\n 'clear',\n 'eyes',\n 'change',\n 'keyboardheightchange'\n ],\n model: {\n prop: 'modelValue',\n event: 'update:modelValue'\n },\n options: {\n virtualHost: true\n },\n inject: {\n form: {\n from: 'uniForm',\n default: null\n },\n formItem: {\n from: 'uniFormItem',\n default: null\n }\n },\n props: {\n name: String,\n value: [Number, String],\n modelValue: [Number, String],\n type: {\n type: String,\n default: 'text'\n },\n clearable: {\n type: Boolean,\n default: true\n },\n autoHeight: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String,\n default: ' '\n },\n placeholderStyle: String,\n focus: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n maxlength: {\n type: [Number, String],\n default: 140\n },\n confirmType: {\n type: String,\n default: 'done'\n },\n clearSize: {\n type: [Number, String],\n default: 24\n },\n inputBorder: {\n type: Boolean,\n default: true\n },\n prefixIcon: {\n type: String,\n default: ''\n },\n suffixIcon: {\n type: String,\n default: ''\n },\n trim: {\n type: [Boolean, String],\n default: false\n },\n cursorSpacing: {\n type: Number,\n default: 0\n },\n passwordIcon: {\n type: Boolean,\n default: true\n },\n adjustPosition: {\n type: Boolean,\n default: true\n },\n primaryColor: {\n type: String,\n default: '#2979ff'\n },\n styles: {\n type: Object,\n default() {\n return new UTSJSONObject({\n color: '#333',\n backgroundColor: '#fff',\n disableColor: '#F7F6F6',\n borderColor: '#e5e5e5'\n });\n }\n },\n errorMessage: {\n type: [String, Boolean],\n default: ''\n },\n },\n data() {\n return {\n focused: false,\n val: '',\n showMsg: '',\n border: false,\n isFirstBorder: false,\n showClearIcon: false,\n showPassword: false,\n focusShow: false,\n localMsg: '',\n isEnter: false // 用于判断当前是否是使用回车操作\n };\n },\n computed: {\n // 输入框内是否有值\n isVal() {\n const val = this.val;\n // fixed by mehaotian 处理值为0的情况,字符串0不在处理范围\n if (val || val === 0) {\n return true;\n }\n return false;\n },\n msg() {\n // uni.__f__('log','at uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue:253','computed', this.form, this.formItem);\n // if (this.form) {\n // \treturn this.errorMessage || this.formItem.errMsg;\n // }\n // TODO 处理头条 formItem 中 errMsg 不更新的问题\n return this.localMsg || this.errorMessage;\n },\n // 因为uniapp的input组件的maxlength组件必须要数值,这里转为数值,用户可以传入字符串数值\n inputMaxlength() {\n return Number(this.maxlength);\n },\n // 处理外层样式的style\n boxStyle() {\n return `color:${this.inputBorder && this.msg ? '#e43d33' : this.styles.color};`;\n },\n // input 内容的类和样式处理\n inputContentClass() {\n return obj2strClass(new UTSJSONObject({\n 'is-input-border': this.inputBorder,\n 'is-input-error-border': this.inputBorder && this.msg,\n 'is-textarea': this.type === 'textarea',\n 'is-disabled': this.disabled,\n 'is-focused': this.focusShow\n }));\n },\n inputContentStyle() {\n const focusColor = this.focusShow ?\n this.primaryColor :\n this.styles.borderColor;\n const borderColor = this.inputBorder && this.msg ? '#dd524d' : focusColor;\n return obj2strStyle(new UTSJSONObject({\n 'border-color': borderColor || '#e5e5e5',\n 'background-color': this.disabled ?\n this.styles.disableColor : this.styles.backgroundColor\n }));\n },\n // input右侧样式\n inputStyle() {\n const paddingRight = this.type === 'password' || this.clearable || this.prefixIcon ?\n '' :\n '10px';\n return obj2strStyle(new UTSJSONObject({\n 'padding-right': paddingRight,\n 'padding-left': this.prefixIcon ? '' : '10px'\n }));\n }\n },\n watch: {\n value(newVal = null) {\n // fix by mehaotian 解决 值为null的情况下,input报错的bug\n if (newVal === null) {\n this.val = '';\n return null;\n }\n this.val = newVal;\n },\n modelValue(newVal = null) {\n if (newVal === null) {\n this.val = '';\n return null;\n }\n this.val = newVal;\n },\n focus(newVal = null) {\n this.$nextTick(() => {\n this.focused = this.focus;\n this.focusShow = this.focus;\n });\n }\n },\n created() {\n this.init();\n // TODO 处理头条vue3 computed 不监听 inject 更改的问题(formItem.errMsg)\n if (this.form && this.formItem) {\n this.$watch('formItem.errMsg', (newVal = null) => {\n this.localMsg = newVal;\n });\n }\n },\n mounted() {\n this.$nextTick(() => {\n this.focused = this.focus;\n this.focusShow = this.focus;\n });\n },\n methods: {\n /**\n * 初始化变量值\n */\n init() {\n if (this.value || this.value === 0) {\n this.val = this.value;\n }\n else if (this.modelValue ||\n this.modelValue === 0 ||\n this.modelValue === '') {\n this.val = this.modelValue;\n }\n else {\n // fix by ht 如果初始值为null,则input报错,待框架修复\n this.val = '';\n }\n },\n /**\n * 点击图标时触发\n * @param {Object} type\n */\n onClickIcon(type = null) {\n this.$emit('iconClick', type);\n },\n /**\n * 显示隐藏内容,密码框时生效\n */\n onEyes() {\n this.showPassword = !this.showPassword;\n this.$emit('eyes', this.showPassword);\n },\n /**\n * 输入时触发\n * @param {Object} event\n */\n onInput(event = null) {\n let value = event.detail.value;\n // 判断是否去除空格\n if (this.trim) {\n if (typeof this.trim === 'boolean' && this.trim) {\n value = this.trimStr(value);\n }\n if (typeof this.trim === 'string') {\n value = this.trimStr(value, this.trim);\n }\n }\n if (this.errMsg)\n this.errMsg = '';\n this.val = value;\n // TODO 兼容 vue2\n this.$emit('input', value);\n // TODO 兼容 vue3\n this.$emit('update:modelValue', value);\n },\n /**\n * 外部调用方法\n * 获取焦点时触发\n * @param {Object} event\n */\n onFocus() {\n this.$nextTick(() => {\n this.focused = true;\n });\n this.$emit('focus', null);\n },\n _Focus(event = null) {\n this.focusShow = true;\n this.$emit('focus', event);\n },\n /**\n * 外部调用方法\n * 失去焦点时触发\n * @param {Object} event\n */\n onBlur() {\n this.focused = false;\n this.$emit('blur', null);\n },\n _Blur(event = null) {\n let value = event.detail.value;\n this.focusShow = false;\n this.$emit('blur', event);\n // 根据类型返回值,在event中获取的值理论上讲都是string\n if (this.isEnter === false) {\n this.$emit('change', this.val);\n }\n // 失去焦点时参与表单校验\n if (this.form && this.formItem) {\n const validateTrigger = this.form.validateTrigger;\n if (validateTrigger === 'blur') {\n this.formItem.onFieldChange();\n }\n }\n },\n /**\n * 按下键盘的发送键\n * @param {Object} e\n */\n onConfirm(e = null) {\n this.$emit('confirm', this.val);\n this.isEnter = true;\n this.$emit('change', this.val);\n this.$nextTick(() => {\n this.isEnter = false;\n });\n },\n /**\n * 清理内容\n * @param {Object} event\n */\n onClear(event = null) {\n uni.__f__('log', 'at uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue:462', 111);\n this.val = '';\n this.$emit('clear', 'this.val');\n // TODO 兼容 vue2\n this.$emit('input', '');\n // TODO 兼容 vue2\n // TODO 兼容 vue3\n this.$emit('update:modelValue', '');\n },\n /**\n * 键盘高度发生变化的时候触发此事件\n * 兼容性:微信小程序2.7.0+、App 3.1.0+\n * @param {Object} event\n */\n onkeyboardheightchange(event = null) {\n this.$emit('keyboardheightchange', event);\n },\n /**\n * 去除空格\n */\n trimStr(str = null, pos = 'both') {\n if (pos === 'both') {\n return str.trim();\n }\n else if (pos === 'left') {\n return str.trimLeft();\n }\n else if (pos === 'right') {\n return str.trimRight();\n }\n else if (pos === 'start') {\n return str.trimStart();\n }\n else if (pos === 'end') {\n return str.trimEnd();\n }\n else if (pos === 'all') {\n return str.replace(/\\s+/g, '');\n }\n else if (pos === 'none') {\n return str;\n }\n return str;\n }\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.__f__"],"map":"{\"version\":3,\"file\":\"uni-easyinput.vue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"uni-easyinput.vue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/7fb9018086c7df5bbd5d2cb72b88e189c408ff1b b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/7fb9018086c7df5bbd5d2cb72b88e189c408ff1b new file mode 100644 index 0000000..3e16187 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/7fb9018086c7df5bbd5d2cb72b88e189c408ff1b @@ -0,0 +1 @@ +{"code":"import { defineComponent } from \"vue\";\nexport default defineComponent({\n data() {\n return {\n firstFocus: true,\n ServiceName: '',\n product: [\n new UTSJSONObject({\n id: 1,\n name: '数码',\n children: [\n new UTSJSONObject({\n id: 12,\n name: '耳机',\n children: [\n new UTSJSONObject({ id: 121, name: '漫步者' }),\n new UTSJSONObject({ id: 122, name: '倍思' })\n ]\n }),\n new UTSJSONObject({\n id: 13,\n name: '电脑',\n children: [\n new UTSJSONObject({ id: 131, name: '联想' }),\n new UTSJSONObject({ id: 132, name: '小米' }),\n new UTSJSONObject({ id: 133, name: '戴尔' })\n ]\n })\n ]\n }),\n new UTSJSONObject({\n id: 2,\n name: '家用电器',\n // 类似数码的子结构\n children: [\n new UTSJSONObject({\n id: 11,\n name: '手机',\n children: [\n new UTSJSONObject({ id: 111, name: 'iphone' }),\n new UTSJSONObject({ id: 112, name: 'vivo' }),\n new UTSJSONObject({ id: 113, name: 'oppo' })\n ]\n })\n ]\n })\n ],\n product_2: [],\n FirstIndex: 0,\n name: ''\n };\n },\n onLoad() {\n uni.request({\n url: 'https://gpt.aiym.run/contract/miniapp/product/categories',\n method: 'GET',\n header: new UTSJSONObject({\n \"Content-Type\": \"application/json\",\n \"X-Access-Token\": '11'\n }),\n success: (res) => {\n uni.__f__('log', 'at pages/views/dingDanCreate.uvue:100', res.data.result);\n }\n });\n },\n methods: {\n toBack() {\n let canNavBack = getCurrentPages();\n if (canNavBack && canNavBack.length > 1) {\n uni.navigateBack();\n }\n else {\n history.back();\n }\n },\n toNext() {\n uni.__f__('log', 'at pages/views/dingDanCreate.uvue:116', 111);\n uni.navigateTo({ url: '/pages/index/PayPal' });\n },\n nameClick() {\n },\n FirstLevelChange(id = null) {\n this.FirstIndex = id;\n this.product_2 = this.product[id - 1].children;\n },\n selctRadio(name = null) {\n uni.__f__('log', 'at pages/views/dingDanCreate.uvue:129', name);\n this.name = name;\n }\n },\n searchName() {\n uni.__f__('log', 'at pages/views/dingDanCreate.uvue:134', '1');\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/pages/views/dingDanCreate.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.request","uni.__f__","uni.navigateBack","uni.navigateTo"],"map":"{\"version\":3,\"file\":\"dingDanCreate.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"dingDanCreate.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/8621050a120377220a80446baf5f2a0bd6651237 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/8621050a120377220a80446baf5f2a0bd6651237 new file mode 100644 index 0000000..29e0025 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/8621050a120377220a80446baf5f2a0bd6651237 @@ -0,0 +1 @@ +{"code":"import { defineComponent as _defineComponent } from 'vue';\nimport { sei as _sei, n as _n } from \"vue\";\nimport {} from './type';\nexport default /*#__PURE__*/ _defineComponent({\n __name: 'l-radio-group',\n props: {\n allowUncheck: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n name: {},\n value: {},\n defaultValue: {},\n modelValue: {},\n checkedColor: {},\n iconBgColor: {},\n iconBorderColor: {},\n iconDisabledColor: {},\n iconDisabledBgColor: {},\n icon: {},\n size: {},\n iconSize: {},\n fontSize: {},\n gap: {},\n direction: { default: 'horizontal' }\n },\n emits: ['change', 'update:modelValue'],\n setup(__props, _a) {\n var __emit = _a.emit;\n const emit = __emit;\n const props = __props;\n const innerValue = ref(null);\n const groupValue = computed({\n set(value = null) {\n innerValue.value = value;\n emit('update:modelValue', value);\n emit('change', value);\n },\n get() {\n var _a, _b, _c;\n return (_c = (_b = (_a = props.value) !== null && _a !== void 0 ? _a : props.modelValue) !== null && _b !== void 0 ? _b : props.defaultValue) !== null && _c !== void 0 ? _c : innerValue.value;\n }\n });\n const handleRadioChange = (val = null) => {\n if (props.allowUncheck && val == groupValue.value) {\n groupValue.value = '';\n }\n else {\n groupValue.value = val;\n }\n };\n provide('limeRadioGroupProps', props);\n provide('limeRadioGroupValue', groupValue);\n provide('limeRadioGroupChange', handleRadioChange);\n return (_ctx = null, _cache = null) => {\n const __returned__ = {\n a: _sei(_ctx.virtualHostId, 'view'),\n b: _n('l-radio-group--' + _ctx.direction)\n };\n return __returned__;\n };\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/lime-radio/components/l-radio-group/l-radio-group.uvue?vue&type=script&setup=true&lang.uts.js.map","references":["D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","D:/Program Files (x86)/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","C:/Users/lj/Desktop/121/contract-front/111/uni_modules/lime-radio/components/l-radio-group/type.ts"],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"l-radio-group.uvue?vue&type=script&setup=true&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"l-radio-group.uvue?vue&type=script&setup=true&lang.uts\"],\"names\":[],\"mappings\":\"AAAA,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,KAAK,CAAA;AACzD,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,KAAK,CAAA;AAE1C,OAAO,EAAmB,MAAM,QAAQ,CAAC;AAGzC,eAAe,aAAa,CAAA,gBAAgB,CAAC;IAC3C,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE;QACL,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC/C,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3C,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE,EAAE;QACvB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,EAAE;QACP,SAAS,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;KACrC;IACD,KAAK,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACtC,KAAK,CAAC,OAAY,EAAE,EAAgB;YAAR,MAAM,UAAA;QAEnC,MAAM,IAAI,GAAG,MAAM,CAAA;QACnB,MAAM,KAAK,GAAG,OAAO,CAAA;QACrB,MAAM,UAAU,GAAG,GAAG,CAAW,IAAI,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC;YAC3B,GAAG,CAAC,YAAe;gBAClB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAA;gBACxB,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;gBAChC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YACtB,CAAC;YACD,GAAG;;gBACF,OAAO,MAAA,MAAA,MAAA,KAAK,CAAC,KAAK,mCAAI,KAAK,CAAC,UAAU,mCAAI,KAAK,CAAC,YAAY,mCAAI,UAAU,CAAC,KAAK,CAAA;YACjF,CAAC;SACoC,CAAC,CAAA;QAEvC,MAAM,iBAAiB,GAAG,CAAC,UAAQ;YAClC,IAAI,KAAK,CAAC,YAAY,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;gBAClD,UAAU,CAAC,KAAK,GAAG,EAAE,CAAA;aACrB;iBAAM;gBACN,UAAU,CAAC,KAAK,GAAG,GAAG,CAAA;aACtB;QACF,CAAC,CAAA;QACD,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;QACrC,OAAO,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAA;QAC1C,OAAO,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAA;QAGnD,OAAO,CAAC,IAAI,OAAA,EAAE,MAAM,OAAA;YAClB,MAAM,YAAY,GAAG;gBACrB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;gBACnC,CAAC,EAAE,EAAE,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;aAC1C,CAAA;YACC,OAAO,YAAY,CAAA;QACrB,CAAC,CAAA;IACD,CAAC;CAEA,CAAC,CAAA\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/8a55f3c2df1d9a91a1c6e07c601dcabf5810492c b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/8a55f3c2df1d9a91a1c6e07c601dcabf5810492c new file mode 100644 index 0000000..95c82d2 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/8a55f3c2df1d9a91a1c6e07c601dcabf5810492c @@ -0,0 +1 @@ +{"code":"export default new UTSJSONObject({\n \"uni-datetime-picker.selectDate\": \"选择日期\",\n \"uni-datetime-picker.selectTime\": \"选择时间\",\n \"uni-datetime-picker.selectDateTime\": \"选择日期时间\",\n \"uni-datetime-picker.startDate\": \"开始日期\",\n \"uni-datetime-picker.endDate\": \"结束日期\",\n \"uni-datetime-picker.startTime\": \"开始时间\",\n \"uni-datetime-picker.endTime\": \"结束时间\",\n \"uni-datetime-picker.ok\": \"确定\",\n \"uni-datetime-picker.clear\": \"清除\",\n \"uni-datetime-picker.cancel\": \"取消\",\n \"uni-datetime-picker.year\": \"年\",\n \"uni-datetime-picker.month\": \"月\",\n \"uni-calender.SUN\": \"日\",\n \"uni-calender.MON\": \"一\",\n \"uni-calender.TUE\": \"二\",\n \"uni-calender.WED\": \"三\",\n \"uni-calender.THU\": \"四\",\n \"uni-calender.FRI\": \"五\",\n \"uni-calender.SAT\": \"六\",\n \"uni-calender.confirm\": \"确认\"\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.uts.js.map","references":[],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"zh-Hans.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"zh-Hans.uts\"],\"names\":[],\"mappings\":\"AAAA,iCAAe;IACd,gCAAgC,EAAE,MAAM;IACxC,gCAAgC,EAAE,MAAM;IACxC,oCAAoC,EAAE,QAAQ;IAC9C,+BAA+B,EAAE,MAAM;IACvC,6BAA6B,EAAE,MAAM;IACrC,+BAA+B,EAAE,MAAM;IACvC,6BAA6B,EAAE,MAAM;IACrC,wBAAwB,EAAE,IAAI;IAC9B,2BAA2B,EAAE,IAAI;IACjC,4BAA4B,EAAE,IAAI;IAClC,0BAA0B,EAAE,GAAG;IAC/B,2BAA2B,EAAE,GAAG;IAChC,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,sBAAsB,EAAE,IAAI;CAC5B,EAAC\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/8f58be92f7d449ab52aaa192c29b4f8383955ddf b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/8f58be92f7d449ab52aaa192c29b4f8383955ddf new file mode 100644 index 0000000..6888d28 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/8f58be92f7d449ab52aaa192c29b4f8383955ddf @@ -0,0 +1 @@ +{"code":"export default new UTSJSONObject({\n \"uni-datetime-picker.selectDate\": \"選擇日期\",\n \"uni-datetime-picker.selectTime\": \"選擇時間\",\n \"uni-datetime-picker.selectDateTime\": \"選擇日期時間\",\n \"uni-datetime-picker.startDate\": \"開始日期\",\n \"uni-datetime-picker.endDate\": \"結束日期\",\n \"uni-datetime-picker.startTime\": \"開始时间\",\n \"uni-datetime-picker.endTime\": \"結束时间\",\n \"uni-datetime-picker.ok\": \"確定\",\n \"uni-datetime-picker.clear\": \"清除\",\n \"uni-datetime-picker.cancel\": \"取消\",\n \"uni-datetime-picker.year\": \"年\",\n \"uni-datetime-picker.month\": \"月\",\n \"uni-calender.SUN\": \"日\",\n \"uni-calender.MON\": \"一\",\n \"uni-calender.TUE\": \"二\",\n \"uni-calender.WED\": \"三\",\n \"uni-calender.THU\": \"四\",\n \"uni-calender.FRI\": \"五\",\n \"uni-calender.SAT\": \"六\",\n \"uni-calender.confirm\": \"確認\"\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.uts.js.map","references":[],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"zh-Hant.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"zh-Hant.uts\"],\"names\":[],\"mappings\":\"AAAA,iCAAe;IACd,gCAAgC,EAAE,MAAM;IACxC,gCAAgC,EAAE,MAAM;IACxC,oCAAoC,EAAE,QAAQ;IAC9C,+BAA+B,EAAE,MAAM;IACvC,6BAA6B,EAAE,MAAM;IACrC,+BAA+B,EAAE,MAAM;IACvC,6BAA6B,EAAE,MAAM;IACrC,wBAAwB,EAAE,IAAI;IAC9B,2BAA2B,EAAE,IAAI;IACjC,4BAA4B,EAAE,IAAI;IAClC,0BAA0B,EAAE,GAAG;IAC/B,2BAA2B,EAAE,GAAG;IAChC,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,GAAG;IACvB,sBAAsB,EAAE,IAAI;CAC5B,EAAC\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/a21f5bf9b7a2c595fce652eb675080fd83e4bcae b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/a21f5bf9b7a2c595fce652eb675080fd83e4bcae new file mode 100644 index 0000000..318216d --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/a21f5bf9b7a2c595fce652eb675080fd83e4bcae @@ -0,0 +1 @@ +{"code":"import { defineComponent } from \"vue\";\nexport default defineComponent({\n props: {\n weeks: {\n type: Object,\n default() {\n return new UTSJSONObject({});\n }\n },\n calendar: {\n type: Object,\n default: () => {\n return new UTSJSONObject({});\n }\n },\n selected: {\n type: Array,\n default: () => {\n return [];\n }\n },\n checkHover: {\n type: Boolean,\n default: false\n }\n },\n methods: {\n choiceDate(weeks = null) {\n this.$emit('change', weeks);\n },\n handleMousemove(weeks = null) {\n this.$emit('handleMouse', weeks);\n }\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"calendar-item.vue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"calendar-item.vue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\";AACC,+BAAe;IACd,KAAK,EAAE;QACN,KAAK,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,OAAO;gBACN,yBAAO,EAAE,EAAA;YACV,CAAC;SACD;QACD,QAAQ,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACR,yBAAO,EAAE,EAAA;YACV,CAAC;SACD;QACD,QAAQ,EAAE;YACT,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACR,OAAO,EAAE,CAAA;YACV,CAAC;SACD;QACD,UAAU,EAAE;YACX,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACd;KACD;IACD,OAAO,EAAE;QACR,UAAU,CAAC,KAAK,OAAA;YACf,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC5B,CAAC;QACD,eAAe,CAAC,KAAK,OAAA;YACpB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QACjC,CAAC;KACD;CACD,EAAA\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/a357d4b8f70b11f9de0ecf40e80c33bce91a8dc0 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/a357d4b8f70b11f9de0ecf40e80c33bce91a8dc0 new file mode 100644 index 0000000..e0d1f3d --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/a357d4b8f70b11f9de0ecf40e80c33bce91a8dc0 @@ -0,0 +1 @@ +{"code":"import { __awaiter } from \"tslib\";\nimport { defineComponent } from \"vue\";\n// 定义一个工具函数来处理不同Vue版本的emit\nconst emitEvent = (ctx = null, eventName = null, ...args) => {\n if (ctx.$emit) {\n // Vue 2\n ctx.$emit(eventName, ...args);\n }\n else {\n // Vue 3\n ctx.emit(eventName, ...args);\n }\n};\nexport default defineComponent({\n name: 'wht-img-upload',\n props: {\n imageFormat: {\n type: Array,\n default: () => { return ['jpg', 'jpeg', 'png']; } // 默认支持的图片格式 \n },\n max: {\n type: Number,\n default: 9\n },\n modelValue: {\n type: Array,\n default: () => { return []; }\n },\n buttonText: {\n type: String,\n default: '上传图片'\n },\n showButtonText: {\n type: Boolean,\n default: true\n },\n mode: {\n type: String,\n default: 'multi',\n validator: (value = null) => { return ['multi', 'single'].includes(value); }\n },\n columns: {\n type: Number,\n default: 3\n },\n itemWidth: {\n type: Number,\n default: 0\n },\n itemHeight: {\n type: Number,\n default: 216\n },\n gap: {\n type: Number,\n default: 24\n },\n name: {\n type: String,\n default: 'file'\n },\n // 上传相关配置\n uploadConfig: {\n type: Object,\n default: () => { return (new UTSJSONObject({\n // 上传地址\n url: '',\n // 文件字段名\n name: 'file',\n // 请求头\n header: new UTSJSONObject({}),\n // 附带的表单数据\n formData: new UTSJSONObject({}),\n // 是否开启实际上传\n enabled: true\n })); }\n },\n },\n computed: {\n containerWidth() {\n if (this.mode === 'single') {\n return this.itemWidth;\n }\n return this.itemWidth;\n },\n listStyle() {\n if (this.mode === 'single') {\n return new UTSJSONObject({\n gap: `${this.gap}rpx`,\n });\n }\n return new UTSJSONObject({\n gap: `${this.gap}rpx`,\n });\n },\n itemStyle() {\n if (this.mode === 'single') {\n return new UTSJSONObject({\n width: '100%',\n height: `${this.itemHeight}rpx`\n });\n }\n return new UTSJSONObject({\n width: `${this.calculatedItemWidth}rpx`,\n height: `${this.calculatedItemHeight}rpx`\n });\n },\n // 获取实际的值(兼容 Vue2/3)\n actualValue() {\n return this.modelValue;\n }\n },\n data() {\n return {\n imageList: [],\n uploadStatus: [],\n calculatedItemWidth: 0,\n calculatedItemHeight: 0\n };\n },\n watch: {\n actualValue: {\n handler(val = null) {\n uni.__f__('log', 'at uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.vue:159', 'actualValue changed:', val);\n this.imageList = val;\n },\n immediate: true\n }\n },\n methods: {\n // 选择图片\n chooseImage() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const count = this.mode === 'single' ? 1 : this.max - this.imageList.length;\n const res = yield uni.chooseImage({\n count: count,\n sizeType: ['original', 'compressed'],\n sourceType: ['album', 'camera']\n });\n // const validImages = res.tempFilePaths.filter(filePath => {\n // const extension = filePath.split('.').pop().toLowerCase();\n // return this.imageFormat.includes(extension);\n // });\n const validImages = res.tempFilePaths;\n // if (validImages.length === 0) {\n // uni.showToast({\n // title: '没有符合格式的图片',\n // icon: 'none'\n // });\n // return;\n // }\n if (this.mode === 'single') {\n this.imageList = [validImages[0]];\n emitEvent(this, 'update:modelValue', this.imageList);\n // 设置上传状态\n this.$set(this.uploadStatus, 0, new UTSJSONObject({\n isLoading: true,\n progress: 0\n }));\n let res_1 = null;\n if (this.uploadConfig.enabled && this.uploadConfig.url) {\n res_1 = yield this.uploadFile(validImages[0], 0);\n }\n else {\n res_1 = yield this.simulateUpload(validImages[0], 0);\n }\n this.imageList = [res_1.url];\n uni.__f__('log', 'at uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.vue:208', 'this.imageList:', res_1);\n }\n else {\n const startIndex = this.imageList.length;\n const newImages = [...this.imageList, ...validImages];\n this.imageList = newImages;\n emitEvent(this, 'update:modelValue', newImages);\n for (let i = 0; i < validImages.length; i++) {\n const currentIndex = startIndex + i;\n // 设置每张图片的上传状态\n this.$set(this.uploadStatus, currentIndex, new UTSJSONObject({\n isLoading: true,\n progress: 0\n }));\n if (this.uploadConfig.enabled && this.uploadConfig.url) {\n this.uploadFile(validImages[i], currentIndex)\n .then((res = null) => {\n this.imageList[currentIndex] = res.url;\n });\n }\n else {\n this.simulateUpload(validImages[i], currentIndex)\n .then((res = null) => {\n this.imageList[currentIndex] = res.url;\n });\n }\n }\n }\n emitEvent(this, 'update:modelValue', this.imageList);\n emitEvent(this, 'choose', validImages);\n }\n catch (error) {\n uni.__f__('error', 'at uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.vue:239', '选择图片失败:', error);\n emitEvent(this, 'error', error);\n }\n });\n },\n // 实际的文件上传方法\n uploadFile(filePath = null, index = null) {\n return new Promise((resolve, reject) => {\n const uploadTask = uni.uploadFile({\n url: this.uploadConfig.url,\n filePath: filePath,\n name: this.uploadConfig.name,\n header: this.uploadConfig.header,\n formData: this.uploadConfig.formData,\n success: (uploadRes) => {\n try {\n // 更新上传状态为完成\n this.$set(this.uploadStatus, index, new UTSJSONObject({\n isLoading: false,\n progress: 100\n }));\n uni.__f__('log', 'at uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.vue:260', 'uploadRes:', uploadRes);\n resolve(UTS.JSON.parse(uploadRes.data));\n }\n catch (e) {\n reject(e);\n }\n },\n fail: (err) => {\n // 更新上传状态为失败\n this.$set(this.uploadStatus, index, new UTSJSONObject({\n isLoading: false,\n progress: 0\n }));\n emitEvent(this, 'error', new UTSJSONObject({ error: err, index }));\n reject(err);\n }\n });\n uploadTask.onProgressUpdate((res) => {\n uni.__f__('log', 'at uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.vue:278', 'onProgressUpdate ', res);\n // 更新对应图片的上传进度\n this.$set(this.uploadStatus, index, new UTSJSONObject({\n isLoading: true,\n progress: res.progress\n }));\n emitEvent(this, 'progress', new UTSJSONObject({\n index,\n progress: res.progress\n }));\n });\n });\n },\n // 模拟上传进度\n simulateUpload(filePath = null, index = null) {\n return new Promise((resolve) => {\n let progress = 0;\n const timer = setInterval(() => {\n progress += 10;\n this.$set(this.uploadStatus, index, new UTSJSONObject({\n isLoading: true,\n progress\n }));\n if (progress >= 100) {\n clearInterval(timer);\n setTimeout(() => {\n this.$set(this.uploadStatus, index, new UTSJSONObject({\n isLoading: false,\n progress: 100\n }));\n resolve({ url: filePath });\n }, 200);\n }\n }, 200);\n });\n },\n // 删除图片时清除对应的上传状态\n deleteImage(index = null) {\n this.imageList.splice(index, 1);\n this.$delete(this.uploadStatus, index);\n emitEvent(this, 'update:modelValue', this.imageList);\n emitEvent(this, 'delete', index);\n },\n // 预览图片\n previewImage(index = null) {\n uni.previewImage({\n urls: this.imageList,\n current: index\n });\n },\n // 计算项目宽度\n calculateItemWidth() {\n const query = uni.createSelectorQuery().in(this);\n query.select('.wht-upload-list').boundingClientRect((data = null) => {\n if (data) {\n // 将px转换为rpx\n const screenWidth = uni.getSystemInfoSync().windowWidth;\n const containerWidthRpx = (data.width * 750) / screenWidth;\n // 计算单个项目宽度:(容器宽度 - 总间距) / 列数\n const totalGap = this.gap * (this.columns - 1);\n this.calculatedItemWidth = (containerWidthRpx - totalGap) / this.columns;\n // 设高度等于宽度,保持正方形\n this.calculatedItemHeight = this.calculatedItemWidth;\n }\n }).exec();\n }\n },\n mounted() {\n this.calculateItemWidth();\n // 使用 uni.onWindowResize 监听窗口大小变化\n uni.onWindowResize(this.calculateItemWidth);\n },\n beforeDestroy() {\n // 使用 uni.offWindowResize 移除监听\n uni.offWindowResize(this.calculateItemWidth);\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/wht-img-upload/components/wht-img-upload/wht-img-upload.vue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.__f__","uni.chooseImage","uni.uploadFile","uni.previewImage","uni.createSelectorQuery","uni.getSystemInfoSync","uni.onWindowResize","uni.offWindowResize"],"map":"{\"version\":3,\"file\":\"wht-img-upload.vue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"wht-img-upload.vue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/b0b0320786db01cb9e445f9af217c525841bddbc b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/b0b0320786db01cb9e445f9af217c525841bddbc new file mode 100644 index 0000000..20b6089 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/b0b0320786db01cb9e445f9af217c525841bddbc @@ -0,0 +1 @@ +{"code":"import { defineComponent } from \"vue\";\nexport default defineComponent({\n methods: {\n logout() {\n uni.showModal({\n title: '提示',\n content: '确定要退出登录吗?',\n success: (res) => {\n if (res.confirm) {\n uni.showToast({\n title: '退出登录成功',\n icon: 'success',\n success: () => {\n // 这里可以添加退出登录的逻辑,例如清除用户登录状态\n setTimeout(() => {\n uni.navigateTo({ url: '/pages/index/index' });\n }, 1500);\n }\n });\n }\n }\n });\n }\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/pages/index/wode.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.showModal","uni.showToast","uni.navigateTo"],"map":"{\"version\":3,\"file\":\"wode.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"wode.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\";AACA,+BAAe;IACb,OAAO,EAAE;QACT,MAAM;YACJ,GAAG,CAAC,SAAS,CAAC;gBACZ,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,CAAC,GAAG;oBACX,IAAI,GAAG,CAAC,OAAO,EAAE;wBACf,GAAG,CAAC,SAAS,CAAC;4BACZ,KAAK,EAAE,QAAQ;4BACf,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE;gCACP,2BAA2B;gCAC3B,UAAU,CAAC;oCACT,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,CAAC;gCAChD,CAAC,EAAE,IAAI,CAAC,CAAC;4BACX,CAAC;yBACF,CAAC,CAAC;qBACJ;gBACH,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACE;CACJ,EAAC\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/b59ec2e87eb94b5a84d9795d70a9fe2963fd0577 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/b59ec2e87eb94b5a84d9795d70a9fe2963fd0577 new file mode 100644 index 0000000..e0880ce --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/b59ec2e87eb94b5a84d9795d70a9fe2963fd0577 @@ -0,0 +1 @@ +{"code":"import { defineComponent } from \"vue\";\nexport default defineComponent({\n data() {\n return {\n selectedProduct: \"自动填写所选商品服务分类\",\n selectedStore: \"自动填写所选择的门店\",\n selectedService: \"自动填写所选择的服务分类\",\n paymentMethod: '全款',\n customerType: '个人',\n clientInfo: new UTSJSONObject({\n name: '',\n address: '',\n idNumber: '',\n contact: '',\n department: '',\n salesAdvisor: ''\n }),\n imageList: [],\n vehicleInfo: new UTSJSONObject({\n plateNumber: '456123351'\n }),\n productInfo: new UTSJSONObject({\n salesAmount: ''\n }),\n paymentInfo: new UTSJSONObject({\n paymentTime: ''\n }),\n departments: ['售前', '售后', '二网车'],\n carBrands: ['品牌A', '品牌B', '品牌C'],\n carBrandIndex: -1,\n serviceAges: ['1年', '2年', '3年'],\n serviceAgeIndex: -1,\n payees: ['收款方A', '收款方B', '收款方C'],\n payeeIndex: -1,\n // 扫描\n positiveImg: '/static/image/组件 4 – 1.png',\n upLoadPositiveImg: '',\n // 反面身份证\n reverseImg: '/static/image/组 71663.png',\n upLoadReverseImg: '',\n // 行车驾驶证\n carImg: '/static/image/组件 2 – 1.png',\n upLoadCarImg: '',\n baidu_token: ' ' //百度token\n };\n },\n methods: {\n get_to() {\n uni.__f__('log', 'at pages/index/PayPal.uvue:229', 111);\n },\n toBack() {\n let canNavBack = getCurrentPages();\n if (canNavBack && canNavBack.length > 1) {\n uni.navigateBack();\n }\n else {\n history.back();\n }\n },\n handleDepartmentChange(e = null) {\n this.clientInfo.department = e.detail.value;\n },\n bindCarBrandChange(e = null) {\n this.carBrandIndex = e.detail.value;\n },\n bindServiceAgeChange(e = null) {\n this.serviceAgeIndex = e.detail.value;\n },\n bindPayeeChange(e = null) {\n this.payeeIndex = e.detail.value;\n },\n // file文件转base64\n getImageBase64(blob = null) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onload = () => {\n const base64 = reader.result;\n resolve(base64);\n };\n reader.onerror = (error = null) => { return reject(error); };\n });\n },\n // 身份证正面上传\n uploadPositive() {\n uni.chooseImage({\n count: 1,\n sizeType: ['original', 'compressed'],\n sourceType: ['album', 'camera'],\n success: (res) => {\n this.upLoadPositiveImg = res.tempFilePaths[0];\n this.getImageBase64(res.tempFiles[0]).then((res = null) => {\n this.uploadIdentify(res);\n });\n }\n });\n },\n // 身份证反面上传\n uploadReverse() {\n uni.chooseImage({\n count: 1,\n sizeType: ['original', 'compressed'],\n sourceType: ['album', 'camera'],\n success: (res) => {\n this.upLoadReverseImg = res.tempFilePaths[0];\n this.getImageBase64(res.tempFiles[0]).then((res = null) => {\n this.uploadIdentify(res);\n });\n }\n });\n },\n // 获取百度token\n getACSS_TOKEN() {\n let that = this;\n uni.request({\n // url: '/baiduApi/oauth/2.0/token',\n url: 'https://aip.baidubce.com/oauth/2.0/token',\n method: 'POST',\n data: new UTSJSONObject({\n grant_type: 'client_credentials',\n client_id: '你的',\n client_secret: '你的',\n }),\n header: new UTSJSONObject({\n 'Content-Type': 'application/x-www-form-urlencoded'\n }),\n success: res => {\n this.baidu_token = res.data.access_token;\n }\n });\n },\n // 上传识别\n uploadIdentify(res = null) {\n uni.request({\n url: '/baiduApi/rest/2.0/ocr/v1/idcard?access_token=' + this.baidu_token,\n method: 'POST',\n data: new UTSJSONObject({\n image: res,\n id_card_side: 'back' // 身份证 正反面 front:身份证含照片的一面 back:身份证带国徽的一面\n }),\n header: new UTSJSONObject({\n 'Content-Type': 'application/x-www-form-urlencoded'\n }),\n success: res => {\n uni.__f__('log', 'at pages/index/PayPal.uvue:326', res.data);\n }\n });\n },\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/pages/index/PayPal.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.__f__","uni.navigateBack","uni.chooseImage","uni.request"],"map":"{\"version\":3,\"file\":\"PayPal.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"PayPal.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/c5cbade0b347266c55a51bc262e9ab9d513eeff7 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/c5cbade0b347266c55a51bc262e9ab9d513eeff7 new file mode 100644 index 0000000..b2dda5b --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/c5cbade0b347266c55a51bc262e9ab9d513eeff7 @@ -0,0 +1 @@ +{"code":"import { defineComponent } from \"vue\";\nexport default defineComponent({\n data() {\n return {\n ServiceName: '',\n title: \"北京汽车有限公司\",\n isshow: false,\n isshow_1: false,\n newListData: [],\n allMsg: [\n new UTSJSONObject({ name: \"myhua\", id: 1 }),\n new UTSJSONObject({ name: \"mp3\", id: 2 }),\n new UTSJSONObject({ name: \"hello\", id: 3 }),\n new UTSJSONObject({ name: \"world\", id: 4 }),\n new UTSJSONObject({ name: \"warm weather\", id: 5 }),\n new UTSJSONObject({ name: \"m3\", id: 6 }),\n new UTSJSONObject({ name: \"hahaha\", id: 7 })\n ],\n textcontent: [],\n };\n },\n mounted() {\n this.allMsg = [\n { name: \"myhua\", id: 1 },\n { name: \"mp3\", id: 2 },\n { name: \"hello\", id: 3 },\n { name: \"world\", id: 4 },\n { name: \"warm weather\", id: 5 },\n { name: \"m3\", id: 6 },\n { name: \"hahaha\", id: 7 }\n ];\n this.textcontent = this.allMsg;\n },\n methods: {\n change_text() {\n if (this.isshow) {\n this.isshow = false;\n }\n else {\n this.isshow = true;\n uni.__f__('log', 'at pages/home/home.uvue:91', '111');\n }\n },\n orderEntry() {\n uni.__f__('log', 'at pages/home/home.uvue:95', '111');\n uni.navigateTo({ url: '/pages/views/dingDanCreate' });\n },\n // 搜索城市名字\n searchName() {\n },\n change_city(name = null) {\n this.title = name;\n this.change_text();\n this.isshow_1 = true;\n },\n close_view() {\n this.isshow_1 = false;\n },\n // 模糊匹配\n // 右上角搜索框--模糊查询\n handleSearch(event = null) {\n uni.__f__('log', 'at pages/home/home.uvue:115', event);\n if (event) {\n let queryStringArr = event.split(\"\");\n let str = \"(.*?)\";\n this.textcontent = [];\n let regStr = str + queryStringArr.join(str) + str;\n let reg = RegExp(regStr, \"i\"); // 以mh为例生成的正则表达式为/(.*?)m(.*?)h(.*?)/i\n this.allMsg.map(item => {\n if (reg.test(item.name)) {\n this.textcontent.push(item);\n }\n });\n }\n else {\n this.textcontent = [];\n this.textcontent = this.allMsg;\n }\n }\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/pages/home/home.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.__f__","uni.navigateTo"],"map":"{\"version\":3,\"file\":\"home.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"home.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/c713818d99fa9e855201a02673bc76df819cb09b b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/c713818d99fa9e855201a02673bc76df819cb09b new file mode 100644 index 0000000..3c6f806 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/c713818d99fa9e855201a02673bc76df819cb09b @@ -0,0 +1 @@ +{"code":"import { __read } from \"tslib\";\nimport { defineComponent } from \"vue\";\nimport { Calendar, getDate, getTime } from './util.js';\nimport calendarItem from './calendar-item.vue';\nimport timePicker from './time-picker.vue';\nimport { initVueI18n } from '@dcloudio/uni-i18n';\nimport i18nMessages from './i18n/index.js';\nconst t = initVueI18n(i18nMessages).t;\n/**\n * Calendar 日历\n * @description 日历组件可以查看日期,选择任意范围内的日期,打点操作。常用场景如:酒店日期预订、火车机票选择购买日期、上下班打卡等\n * @tutorial https://ext.dcloud.net.cn/plugin?id=56\n * @property {String} date 自定义当前时间,默认为今天\n * @property {String} startDate 日期选择范围-开始日期\n * @property {String} endDate 日期选择范围-结束日期\n * @property {Boolean} range 范围选择\n * @property {Boolean} insert = [true|false] 插入模式,默认为false\n * \t@value true 弹窗模式\n * \t@value false 插入模式\n * @property {Boolean} clearDate = [true|false] 弹窗模式是否清空上次选择内容\n * @property {Array} selected 打点,期待格式[{date: '2019-06-27', info: '签到', data: { custom: '自定义信息', name: '自定义消息头',xxx:xxx... }}]\n * @property {Boolean} showMonth 是否选择月份为背景\n * @property {[String} defaultValue 选择器打开时默认显示的时间\n * @event {Function} change 日期改变,`insert :ture` 时生效\n * @event {Function} confirm 确认选择`insert :false` 时生效\n * @event {Function} monthSwitch 切换月份时触发\n * @example \n */\nexport default defineComponent({\n components: {\n calendarItem,\n timePicker\n },\n options: {\n virtualHost: true\n },\n props: {\n date: {\n type: String,\n default: ''\n },\n defTime: {\n type: [String, Object],\n default: ''\n },\n selectableTimes: {\n type: [Object],\n default() {\n return new UTSJSONObject({});\n }\n },\n selected: {\n type: Array,\n default() {\n return [];\n }\n },\n startDate: {\n type: String,\n default: ''\n },\n endDate: {\n type: String,\n default: ''\n },\n startPlaceholder: {\n type: String,\n default: ''\n },\n endPlaceholder: {\n type: String,\n default: ''\n },\n range: {\n type: Boolean,\n default: false\n },\n hasTime: {\n type: Boolean,\n default: false\n },\n insert: {\n type: Boolean,\n default: true\n },\n showMonth: {\n type: Boolean,\n default: true\n },\n clearDate: {\n type: Boolean,\n default: true\n },\n checkHover: {\n type: Boolean,\n default: true\n },\n hideSecond: {\n type: [Boolean],\n default: false\n },\n pleStatus: {\n type: Object,\n default() {\n return new UTSJSONObject({\n before: '',\n after: '',\n data: [],\n fulldate: ''\n });\n }\n },\n defaultValue: {\n type: [String, Object, Array],\n default: ''\n }\n },\n data() {\n return {\n show: false,\n weeks: [],\n calendar: new UTSJSONObject({}),\n nowDate: new UTSJSONObject({}),\n aniMaskShow: false,\n firstEnter: true,\n time: '',\n timeRange: new UTSJSONObject({\n startTime: '',\n endTime: ''\n }),\n tempSingleDate: '',\n tempRange: new UTSJSONObject({\n before: '',\n after: ''\n })\n };\n },\n watch: {\n date: {\n immediate: true,\n handler(newVal = null) {\n if (!this.range) {\n this.tempSingleDate = newVal;\n setTimeout(() => {\n this.init(newVal);\n }, 100);\n }\n }\n },\n defTime: {\n immediate: true,\n handler(newVal = null) {\n if (!this.range) {\n this.time = newVal;\n }\n else {\n this.timeRange.startTime = newVal.start;\n this.timeRange.endTime = newVal.end;\n }\n }\n },\n startDate(val = null) {\n // 字节小程序 watch 早于 created\n if (!this.cale) {\n return null;\n }\n this.cale.setStartDate(val);\n this.cale.setDate(this.nowDate.fullDate);\n this.weeks = this.cale.weeks;\n },\n endDate(val = null) {\n // 字节小程序 watch 早于 created\n if (!this.cale) {\n return null;\n }\n this.cale.setEndDate(val);\n this.cale.setDate(this.nowDate.fullDate);\n this.weeks = this.cale.weeks;\n },\n selected(newVal = null) {\n // 字节小程序 watch 早于 created\n if (!this.cale) {\n return null;\n }\n this.cale.setSelectInfo(this.nowDate.fullDate, newVal);\n this.weeks = this.cale.weeks;\n },\n pleStatus: {\n immediate: true,\n handler(newVal = null) {\n const before = newVal.before, after = newVal.after, fulldate = newVal.fulldate, which = newVal.which;\n this.tempRange.before = before;\n this.tempRange.after = after;\n setTimeout(() => {\n if (fulldate) {\n this.cale.setHoverMultiple(fulldate);\n if (before && after) {\n this.cale.lastHover = true;\n if (this.rangeWithinMonth(after, before))\n return null;\n this.setDate(before);\n }\n else {\n this.cale.setMultiple(fulldate);\n this.setDate(this.nowDate.fullDate);\n this.calendar.fullDate = '';\n this.cale.lastHover = false;\n }\n }\n else {\n // 字节小程序 watch 早于 created\n if (!this.cale) {\n return null;\n }\n this.cale.setDefaultMultiple(before, after);\n if (which === 'left' && before) {\n this.setDate(before);\n this.weeks = this.cale.weeks;\n }\n else if (after) {\n this.setDate(after);\n this.weeks = this.cale.weeks;\n }\n this.cale.lastHover = true;\n }\n }, 16);\n }\n }\n },\n computed: {\n timepickerStartTime() {\n const activeDate = this.range ? this.tempRange.before : this.calendar.fullDate;\n return activeDate === this.startDate ? this.selectableTimes.start : '';\n },\n timepickerEndTime() {\n const activeDate = this.range ? this.tempRange.after : this.calendar.fullDate;\n return activeDate === this.endDate ? this.selectableTimes.end : '';\n },\n /**\n * for i18n\n */\n selectDateText() {\n return t(\"uni-datetime-picker.selectDate\");\n },\n startDateText() {\n return this.startPlaceholder || t(\"uni-datetime-picker.startDate\");\n },\n endDateText() {\n return this.endPlaceholder || t(\"uni-datetime-picker.endDate\");\n },\n okText() {\n return t(\"uni-datetime-picker.ok\");\n },\n yearText() {\n return t(\"uni-datetime-picker.year\");\n },\n monthText() {\n return t(\"uni-datetime-picker.month\");\n },\n MONText() {\n return t(\"uni-calender.MON\");\n },\n TUEText() {\n return t(\"uni-calender.TUE\");\n },\n WEDText() {\n return t(\"uni-calender.WED\");\n },\n THUText() {\n return t(\"uni-calender.THU\");\n },\n FRIText() {\n return t(\"uni-calender.FRI\");\n },\n SATText() {\n return t(\"uni-calender.SAT\");\n },\n SUNText() {\n return t(\"uni-calender.SUN\");\n },\n confirmText() {\n return t(\"uni-calender.confirm\");\n },\n },\n created() {\n // 获取日历方法实例\n this.cale = new Calendar(new UTSJSONObject({\n selected: this.selected,\n startDate: this.startDate,\n endDate: this.endDate,\n range: this.range,\n }));\n // 选中某一天\n this.init(this.date);\n },\n methods: {\n leaveCale() {\n this.firstEnter = true;\n },\n handleMouse(weeks = null) {\n if (weeks.disable)\n return null;\n if (this.cale.lastHover)\n return null;\n let _a = this.cale.multipleStatus, before = _a.before, after = _a.after;\n if (!before)\n return null;\n this.calendar = weeks;\n // 设置范围选\n this.cale.setHoverMultiple(this.calendar.fullDate);\n this.weeks = this.cale.weeks;\n // hover时,进入一个日历,更新另一个\n if (this.firstEnter) {\n this.$emit('firstEnterCale', this.cale.multipleStatus);\n this.firstEnter = false;\n }\n },\n rangeWithinMonth(A = null, B = null) {\n const _a = __read(A.split('-'), 2), yearA = _a[0], monthA = _a[1];\n const _b = __read(B.split('-'), 2), yearB = _b[0], monthB = _b[1];\n return yearA === yearB && monthA === monthB;\n },\n // 蒙版点击事件\n maskClick() {\n this.close();\n this.$emit('maskClose');\n },\n clearCalender() {\n if (this.range) {\n this.timeRange.startTime = '';\n this.timeRange.endTime = '';\n this.tempRange.before = '';\n this.tempRange.after = '';\n this.cale.multipleStatus.before = '';\n this.cale.multipleStatus.after = '';\n this.cale.multipleStatus.data = [];\n this.cale.lastHover = false;\n }\n else {\n this.time = '';\n this.tempSingleDate = '';\n }\n this.calendar.fullDate = '';\n this.setDate(new Date());\n },\n bindDateChange(e = null) {\n const value = e.detail.value + '-1';\n this.setDate(value);\n },\n /**\n * 初始化日期显示\n * @param {Object} date\n */\n init(date = null) {\n // 字节小程序 watch 早于 created\n if (!this.cale) {\n return null;\n }\n this.cale.setDate(date || new Date());\n this.weeks = this.cale.weeks;\n this.nowDate = this.cale.getInfo(date);\n this.calendar = new UTSJSONObject(Object.assign({}, this.nowDate));\n if (!date) {\n // 优化date为空默认不选中今天\n this.calendar.fullDate = '';\n if (this.defaultValue && !this.range) {\n // 暂时只支持移动端非范围选择\n const defaultDate = new Date(this.defaultValue);\n const fullDate = getDate(defaultDate);\n const year = defaultDate.getFullYear();\n const month = defaultDate.getMonth() + 1;\n const date_1 = defaultDate.getDate();\n const day = defaultDate.getDay();\n this.calendar = new UTSJSONObject({\n fullDate,\n year,\n month,\n date,\n day\n }),\n this.tempSingleDate = fullDate;\n this.time = getTime(defaultDate, this.hideSecond);\n }\n }\n },\n /**\n * 打开日历弹窗\n */\n open() {\n // 弹窗模式并且清理数据\n if (this.clearDate && !this.insert) {\n this.cale.cleanMultipleStatus();\n this.init(this.date);\n }\n this.show = true;\n this.$nextTick(() => {\n setTimeout(() => {\n this.aniMaskShow = true;\n }, 50);\n });\n },\n /**\n * 关闭日历弹窗\n */\n close() {\n this.aniMaskShow = false;\n this.$nextTick(() => {\n setTimeout(() => {\n this.show = false;\n this.$emit('close');\n }, 300);\n });\n },\n /**\n * 确认按钮\n */\n confirm() {\n this.setEmit('confirm');\n this.close();\n },\n /**\n * 变化触发\n */\n change(isSingleChange = null) {\n if (!this.insert && !isSingleChange)\n return null;\n this.setEmit('change');\n },\n /**\n * 选择月份触发\n */\n monthSwitch() {\n let _a = this.nowDate, year = _a.year, month = _a.month;\n this.$emit('monthSwitch', {\n year,\n month: Number(month)\n });\n },\n /**\n * 派发事件\n * @param {Object} name\n */\n setEmit(name = null) {\n if (!this.range) {\n if (!this.calendar.fullDate) {\n this.calendar = this.cale.getInfo(new Date());\n this.tempSingleDate = this.calendar.fullDate;\n }\n if (this.hasTime && !this.time) {\n this.time = getTime(new Date(), this.hideSecond);\n }\n }\n let _a = this.calendar, year = _a.year, month = _a.month, date = _a.date, fullDate = _a.fullDate, extraInfo = _a.extraInfo;\n this.$emit(name, {\n range: this.cale.multipleStatus,\n year,\n month,\n date,\n time: this.time,\n timeRange: this.timeRange,\n fulldate: fullDate,\n extraInfo: extraInfo || {}\n });\n },\n /**\n * 选择天触发\n * @param {Object} weeks\n */\n choiceDate(weeks = null) {\n if (weeks.disable)\n return null;\n this.calendar = weeks;\n this.calendar.userChecked = true;\n // 设置多选\n this.cale.setMultiple(this.calendar.fullDate, true);\n this.weeks = this.cale.weeks;\n this.tempSingleDate = this.calendar.fullDate;\n const beforeDate = new Date(this.cale.multipleStatus.before).getTime();\n const afterDate = new Date(this.cale.multipleStatus.after).getTime();\n if (beforeDate > afterDate && afterDate) {\n this.tempRange.before = this.cale.multipleStatus.after;\n this.tempRange.after = this.cale.multipleStatus.before;\n }\n else {\n this.tempRange.before = this.cale.multipleStatus.before;\n this.tempRange.after = this.cale.multipleStatus.after;\n }\n this.change(true);\n },\n changeMonth(type = null) {\n let newDate = null;\n if (type === 'pre') {\n newDate = this.cale.getPreMonthObj(this.nowDate.fullDate).fullDate;\n }\n else if (type === 'next') {\n newDate = this.cale.getNextMonthObj(this.nowDate.fullDate).fullDate;\n }\n this.setDate(newDate);\n this.monthSwitch();\n },\n /**\n * 设置日期\n * @param {Object} date\n */\n setDate(date = null) {\n this.cale.setDate(date);\n this.weeks = this.cale.weeks;\n this.nowDate = this.cale.getInfo(date);\n }\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue?vue&type=script&lang.uts.js.map","references":["C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js","C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue.ts","C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue.ts","C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js"],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"calendar.vue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"calendar.vue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/df77b07f540d6b7b1984d444e27e2d7c87c91f42 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/df77b07f540d6b7b1984d444e27e2d7c87c91f42 new file mode 100644 index 0000000..8db7c34 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/df77b07f540d6b7b1984d444e27e2d7c87c91f42 @@ -0,0 +1 @@ +{"code":"export {};\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/lime-radio/components/l-radio-group/type.js.map","references":[],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"type.js\",\"sourceRoot\":\"\",\"sources\":[\"type.ts\"],\"names\":[],\"mappings\":\"\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/f446b13f5d2671c3fecd91c52d1bf2c467317b4c b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/f446b13f5d2671c3fecd91c52d1bf2c467317b4c new file mode 100644 index 0000000..981d1cf --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/f446b13f5d2671c3fecd91c52d1bf2c467317b4c @@ -0,0 +1 @@ +{"code":"import {} from \"vue\";\nlet firstBackTime = 0;\nexport default defineComponent({\n onLaunch: function () {\n uni.__f__('log', 'at App.uvue:5', 'App Launch');\n },\n onShow: function () {\n uni.__f__('log', 'at App.uvue:8', 'App Show');\n },\n onHide: function () {\n uni.__f__('log', 'at App.uvue:11', 'App Hide');\n },\n onExit: function () {\n uni.__f__('log', 'at App.uvue:32', 'App Exit');\n },\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/App.uvue?vue&type=script&lang.uts.js.map","references":[],"uniExtApis":["uni.__f__"],"map":"{\"version\":3,\"file\":\"App.uvue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"App.uvue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\";AACC,IAAI,aAAa,GAAG,CAAC,CAAA;AACrB,+BAAe;IACd,QAAQ,EAAE;QACT,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,eAAe,EAAC,YAAY,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,EAAE;QACP,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,eAAe,EAAC,UAAU,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,EAAE;QACP,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,gBAAgB,EAAC,UAAU,CAAC,CAAA;IAC7C,CAAC;IAmBD,MAAM,EAAE;QACP,GAAG,CAAC,KAAK,CAAC,KAAK,EAAC,gBAAgB,EAAC,UAAU,CAAC,CAAA;IAC7C,CAAC;CACD,EAAA\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/f87d429aee67003b359147baddf2dd2f4723737a b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/f87d429aee67003b359147baddf2dd2f4723737a new file mode 100644 index 0000000..f465923 --- /dev/null +++ b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/code/cache/f87d429aee67003b359147baddf2dd2f4723737a @@ -0,0 +1 @@ +{"code":"import { defineComponent } from \"vue\";\nimport { initVueI18n } from '@dcloudio/uni-i18n';\nimport i18nMessages from './i18n/index.js';\nconst t = initVueI18n(i18nMessages).t;\nimport { fixIosDateFormat } from './util';\n/**\n * DatetimePicker 时间选择器\n * @description 可以同时选择日期和时间的选择器\n * @tutorial https://ext.dcloud.net.cn/plugin?id=xxx\n * @property {String} type = [datetime | date | time] 显示模式\n * @property {Boolean} multiple = [true|false] 是否多选\n * @property {String|Number} value 默认值\n * @property {String|Number} start 起始日期或时间\n * @property {String|Number} end 起始日期或时间\n * @property {String} return-type = [timestamp | string]\n * @event {Function} change 选中发生变化触发\n */\nexport default defineComponent({\n name: 'UniDatetimePicker',\n data() {\n return {\n indicatorStyle: `height: 50px;`,\n visible: false,\n fixNvueBug: new UTSJSONObject({}),\n dateShow: true,\n timeShow: true,\n title: '日期和时间',\n // 输入框当前时间\n time: '',\n // 当前的年月日时分秒\n year: 1920,\n month: 0,\n day: 0,\n hour: 0,\n minute: 0,\n second: 0,\n // 起始时间\n startYear: 1920,\n startMonth: 1,\n startDay: 1,\n startHour: 0,\n startMinute: 0,\n startSecond: 0,\n // 结束时间\n endYear: 2120,\n endMonth: 12,\n endDay: 31,\n endHour: 23,\n endMinute: 59,\n endSecond: 59,\n };\n },\n options: {\n virtualHost: true\n },\n props: {\n type: {\n type: String,\n default: 'datetime'\n },\n value: {\n type: [String, Number],\n default: ''\n },\n modelValue: {\n type: [String, Number],\n default: ''\n },\n start: {\n type: [Number, String],\n default: ''\n },\n end: {\n type: [Number, String],\n default: ''\n },\n returnType: {\n type: String,\n default: 'string'\n },\n disabled: {\n type: [Boolean, String],\n default: false\n },\n border: {\n type: [Boolean, String],\n default: true\n },\n hideSecond: {\n type: [Boolean, String],\n default: false\n }\n },\n watch: {\n modelValue: {\n handler(newVal = null) {\n if (newVal) {\n this.parseValue(fixIosDateFormat(newVal));\n this.initTime(false);\n }\n else {\n this.time = '';\n this.parseValue(Date.now());\n }\n },\n immediate: true\n },\n type: {\n handler(newValue = null) {\n if (newValue === 'date') {\n this.dateShow = true;\n this.timeShow = false;\n this.title = '日期';\n }\n else if (newValue === 'time') {\n this.dateShow = false;\n this.timeShow = true;\n this.title = '时间';\n }\n else {\n this.dateShow = true;\n this.timeShow = true;\n this.title = '日期和时间';\n }\n },\n immediate: true\n },\n start: {\n handler(newVal = null) {\n this.parseDatetimeRange(fixIosDateFormat(newVal), 'start');\n },\n immediate: true\n },\n end: {\n handler(newVal = null) {\n this.parseDatetimeRange(fixIosDateFormat(newVal), 'end');\n },\n immediate: true\n },\n // 月、日、时、分、秒可选范围变化后,检查当前值是否在范围内,不在则当前值重置为可选范围第一项\n months(newVal = null) {\n this.checkValue('month', this.month, newVal);\n },\n days(newVal = null) {\n this.checkValue('day', this.day, newVal);\n },\n hours(newVal = null) {\n this.checkValue('hour', this.hour, newVal);\n },\n minutes(newVal = null) {\n this.checkValue('minute', this.minute, newVal);\n },\n seconds(newVal = null) {\n this.checkValue('second', this.second, newVal);\n }\n },\n computed: {\n // 当前年、月、日、时、分、秒选择范围\n years() {\n return this.getCurrentRange('year');\n },\n months() {\n return this.getCurrentRange('month');\n },\n days() {\n return this.getCurrentRange('day');\n },\n hours() {\n return this.getCurrentRange('hour');\n },\n minutes() {\n return this.getCurrentRange('minute');\n },\n seconds() {\n return this.getCurrentRange('second');\n },\n // picker 当前值数组\n ymd() {\n return [this.year - this.minYear, this.month - this.minMonth, this.day - this.minDay];\n },\n hms() {\n return [this.hour - this.minHour, this.minute - this.minMinute, this.second - this.minSecond];\n },\n // 当前 date 是 start\n currentDateIsStart() {\n return this.year === this.startYear && this.month === this.startMonth && this.day === this.startDay;\n },\n // 当前 date 是 end\n currentDateIsEnd() {\n return this.year === this.endYear && this.month === this.endMonth && this.day === this.endDay;\n },\n // 当前年、月、日、时、分、秒的最小值和最大值\n minYear() {\n return this.startYear;\n },\n maxYear() {\n return this.endYear;\n },\n minMonth() {\n if (this.year === this.startYear) {\n return this.startMonth;\n }\n else {\n return 1;\n }\n },\n maxMonth() {\n if (this.year === this.endYear) {\n return this.endMonth;\n }\n else {\n return 12;\n }\n },\n minDay() {\n if (this.year === this.startYear && this.month === this.startMonth) {\n return this.startDay;\n }\n else {\n return 1;\n }\n },\n maxDay() {\n if (this.year === this.endYear && this.month === this.endMonth) {\n return this.endDay;\n }\n else {\n return this.daysInMonth(this.year, this.month);\n }\n },\n minHour() {\n if (this.type === 'datetime') {\n if (this.currentDateIsStart) {\n return this.startHour;\n }\n else {\n return 0;\n }\n }\n if (this.type === 'time') {\n return this.startHour;\n }\n },\n maxHour() {\n if (this.type === 'datetime') {\n if (this.currentDateIsEnd) {\n return this.endHour;\n }\n else {\n return 23;\n }\n }\n if (this.type === 'time') {\n return this.endHour;\n }\n },\n minMinute() {\n if (this.type === 'datetime') {\n if (this.currentDateIsStart && this.hour === this.startHour) {\n return this.startMinute;\n }\n else {\n return 0;\n }\n }\n if (this.type === 'time') {\n if (this.hour === this.startHour) {\n return this.startMinute;\n }\n else {\n return 0;\n }\n }\n },\n maxMinute() {\n if (this.type === 'datetime') {\n if (this.currentDateIsEnd && this.hour === this.endHour) {\n return this.endMinute;\n }\n else {\n return 59;\n }\n }\n if (this.type === 'time') {\n if (this.hour === this.endHour) {\n return this.endMinute;\n }\n else {\n return 59;\n }\n }\n },\n minSecond() {\n if (this.type === 'datetime') {\n if (this.currentDateIsStart && this.hour === this.startHour && this.minute === this.startMinute) {\n return this.startSecond;\n }\n else {\n return 0;\n }\n }\n if (this.type === 'time') {\n if (this.hour === this.startHour && this.minute === this.startMinute) {\n return this.startSecond;\n }\n else {\n return 0;\n }\n }\n },\n maxSecond() {\n if (this.type === 'datetime') {\n if (this.currentDateIsEnd && this.hour === this.endHour && this.minute === this.endMinute) {\n return this.endSecond;\n }\n else {\n return 59;\n }\n }\n if (this.type === 'time') {\n if (this.hour === this.endHour && this.minute === this.endMinute) {\n return this.endSecond;\n }\n else {\n return 59;\n }\n }\n },\n /**\n * for i18n\n */\n selectTimeText() {\n return t(\"uni-datetime-picker.selectTime\");\n },\n okText() {\n return t(\"uni-datetime-picker.ok\");\n },\n clearText() {\n return t(\"uni-datetime-picker.clear\");\n },\n cancelText() {\n return t(\"uni-datetime-picker.cancel\");\n }\n },\n mounted() {\n },\n methods: {\n /**\n * @param {Object} item\n * 小于 10 在前面加个 0\n */\n lessThanTen(item = null) {\n return item < 10 ? '0' + item : item;\n },\n /**\n * 解析时分秒字符串,例如:00:00:00\n * @param {String} timeString\n */\n parseTimeType(timeString = null) {\n if (timeString) {\n let timeArr = timeString.split(':');\n this.hour = Number(timeArr[0]);\n this.minute = Number(timeArr[1]);\n this.second = Number(timeArr[2]);\n }\n },\n /**\n * 解析选择器初始值,类型可以是字符串、时间戳,例如:2000-10-02、'08:30:00'、 1610695109000\n * @param {String | Number} datetime\n */\n initPickerValue(datetime = null) {\n let defaultValue = null;\n if (datetime) {\n defaultValue = this.compareValueWithStartAndEnd(datetime, this.start, this.end);\n }\n else {\n defaultValue = Date.now();\n defaultValue = this.compareValueWithStartAndEnd(defaultValue, this.start, this.end);\n }\n this.parseValue(defaultValue);\n },\n /**\n * 初始值规则:\n * - 用户设置初始值 value\n * \t- 设置了起始时间 start、终止时间 end,并 start < value < end,初始值为 value, 否则初始值为 start\n * \t- 只设置了起始时间 start,并 start < value,初始值为 value,否则初始值为 start\n * \t- 只设置了终止时间 end,并 value < end,初始值为 value,否则初始值为 end\n * \t- 无起始终止时间,则初始值为 value\n * - 无初始值 value,则初始值为当前本地时间 Date.now()\n * @param {Object} value\n * @param {Object} dateBase\n */\n compareValueWithStartAndEnd(value = null, start = null, end = null) {\n let winner = null;\n value = this.superTimeStamp(value);\n start = this.superTimeStamp(start);\n end = this.superTimeStamp(end);\n if (start && end) {\n if (value < start) {\n winner = new Date(start);\n }\n else if (value > end) {\n winner = new Date(end);\n }\n else {\n winner = new Date(value);\n }\n }\n else if (start && !end) {\n winner = start <= value ? new Date(value) : new Date(start);\n }\n else if (!start && end) {\n winner = value <= end ? new Date(value) : new Date(end);\n }\n else {\n winner = new Date(value);\n }\n return winner;\n },\n /**\n * 转换为可比较的时间戳,接受日期、时分秒、时间戳\n * @param {Object} value\n */\n superTimeStamp(value = null) {\n let dateBase = '';\n if (this.type === 'time' && value && typeof value === 'string') {\n const now = new Date();\n const year = now.getFullYear();\n const month = now.getMonth() + 1;\n const day = now.getDate();\n dateBase = year + '/' + month + '/' + day + ' ';\n }\n if (Number(value)) {\n value = parseInt(value);\n dateBase = 0;\n }\n return this.createTimeStamp(dateBase + value);\n },\n /**\n * 解析默认值 value,字符串、时间戳\n * @param {Object} defaultTime\n */\n parseValue(value = null) {\n if (!value) {\n return null;\n }\n if (this.type === 'time' && typeof value === \"string\") {\n this.parseTimeType(value);\n }\n else {\n let defaultDate = null;\n defaultDate = new Date(value);\n if (this.type !== 'time') {\n this.year = defaultDate.getFullYear();\n this.month = defaultDate.getMonth() + 1;\n this.day = defaultDate.getDate();\n }\n if (this.type !== 'date') {\n this.hour = defaultDate.getHours();\n this.minute = defaultDate.getMinutes();\n this.second = defaultDate.getSeconds();\n }\n }\n if (this.hideSecond) {\n this.second = 0;\n }\n },\n /**\n * 解析可选择时间范围 start、end,年月日字符串、时间戳\n * @param {Object} defaultTime\n */\n parseDatetimeRange(point = null, pointType = null) {\n // 时间为空,则重置为初始值\n if (!point) {\n if (pointType === 'start') {\n this.startYear = 1920;\n this.startMonth = 1;\n this.startDay = 1;\n this.startHour = 0;\n this.startMinute = 0;\n this.startSecond = 0;\n }\n if (pointType === 'end') {\n this.endYear = 2120;\n this.endMonth = 12;\n this.endDay = 31;\n this.endHour = 23;\n this.endMinute = 59;\n this.endSecond = 59;\n }\n return null;\n }\n if (this.type === 'time') {\n const pointArr = point.split(':');\n this[pointType + 'Hour'] = Number(pointArr[0]);\n this[pointType + 'Minute'] = Number(pointArr[1]);\n this[pointType + 'Second'] = Number(pointArr[2]);\n }\n else {\n if (!point) {\n pointType === 'start' ? this.startYear = this.year - 60 : this.endYear = this.year + 60;\n return null;\n }\n if (Number(point)) {\n point = parseInt(point);\n }\n // datetime 的 end 没有时分秒, 则不限制\n const hasTime = /[0-9]:[0-9]/;\n if (this.type === 'datetime' && pointType === 'end' && typeof point === 'string' && !hasTime.test(point)) {\n point = point + ' 23:59:59';\n }\n const pointDate = new Date(point);\n this[pointType + 'Year'] = pointDate.getFullYear();\n this[pointType + 'Month'] = pointDate.getMonth() + 1;\n this[pointType + 'Day'] = pointDate.getDate();\n if (this.type === 'datetime') {\n this[pointType + 'Hour'] = pointDate.getHours();\n this[pointType + 'Minute'] = pointDate.getMinutes();\n this[pointType + 'Second'] = pointDate.getSeconds();\n }\n }\n },\n // 获取 年、月、日、时、分、秒 当前可选范围\n getCurrentRange(value = null) {\n const range = [];\n for (let i = this['min' + this.capitalize(value)]; i <= this['max' + this.capitalize(value)]; i++) {\n range.push(i);\n }\n return range;\n },\n // 字符串首字母大写\n capitalize(str = null) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n // 检查当前值是否在范围内,不在则当前值重置为可选范围第一项\n checkValue(name = null, value = null, values = null) {\n if (values.indexOf(value) === -1) {\n this[name] = values[0];\n }\n },\n // 每个月的实际天数\n daysInMonth(year = null, month = null) {\n return new Date(year, month, 0).getDate();\n },\n /**\n * 生成时间戳\n * @param {Object} time\n */\n createTimeStamp(time = null) {\n if (!time)\n return null;\n if (typeof time === \"number\") {\n return time;\n }\n else {\n time = time.replace(/-/g, '/');\n if (this.type === 'date') {\n time = time + ' ' + '00:00:00';\n }\n return Date.parse(time);\n }\n },\n /**\n * 生成日期或时间的字符串\n */\n createDomSting() {\n const yymmdd = this.year +\n '-' +\n this.lessThanTen(this.month) +\n '-' +\n this.lessThanTen(this.day);\n let hhmmss = this.lessThanTen(this.hour) +\n ':' +\n this.lessThanTen(this.minute);\n if (!this.hideSecond) {\n hhmmss = hhmmss + ':' + this.lessThanTen(this.second);\n }\n if (this.type === 'date') {\n return yymmdd;\n }\n else if (this.type === 'time') {\n return hhmmss;\n }\n else {\n return yymmdd + ' ' + hhmmss;\n }\n },\n /**\n * 初始化返回值,并抛出 change 事件\n */\n initTime(emit = true) {\n this.time = this.createDomSting();\n if (!emit)\n return null;\n if (this.returnType === 'timestamp' && this.type !== 'time') {\n this.$emit('change', this.createTimeStamp(this.time));\n this.$emit('input', this.createTimeStamp(this.time));\n this.$emit('update:modelValue', this.createTimeStamp(this.time));\n }\n else {\n this.$emit('change', this.time);\n this.$emit('input', this.time);\n this.$emit('update:modelValue', this.time);\n }\n },\n /**\n * 用户选择日期或时间更新 data\n * @param {Object} e\n */\n bindDateChange(e = null) {\n const val = e.detail.value;\n this.year = this.years[val[0]];\n this.month = this.months[val[1]];\n this.day = this.days[val[2]];\n },\n bindTimeChange(e = null) {\n const val = e.detail.value;\n this.hour = this.hours[val[0]];\n this.minute = this.minutes[val[1]];\n this.second = this.seconds[val[2]];\n },\n /**\n * 初始化弹出层\n */\n initTimePicker() {\n if (this.disabled)\n return null;\n const value = fixIosDateFormat(this.time);\n this.initPickerValue(value);\n this.visible = !this.visible;\n },\n /**\n * 触发或关闭弹框\n */\n tiggerTimePicker(e = null) {\n this.visible = !this.visible;\n },\n /**\n * 用户点击“清空”按钮,清空当前值\n */\n clearTime() {\n this.time = '';\n this.$emit('change', this.time);\n this.$emit('input', this.time);\n this.$emit('update:modelValue', this.time);\n this.tiggerTimePicker();\n },\n /**\n * 用户点击“确定”按钮\n */\n setTime() {\n this.initTime();\n this.tiggerTimePicker();\n }\n }\n});\n//# sourceMappingURL=C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue?vue&type=script&lang.uts.js.map","references":["C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js","C:/Users/lj/Desktop/121/contract-front/111/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js"],"uniExtApis":[],"map":"{\"version\":3,\"file\":\"time-picker.vue?vue&type=script&lang.uts.js\",\"sourceRoot\":\"\",\"sources\":[\"time-picker.vue?vue&type=script&lang.uts\"],\"names\":[],\"mappings\":\"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\"}"} diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/34e6af9c3d2c5972056c9944d626f0d409f13a82 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/34e6af9c3d2c5972056c9944d626f0d409f13a82 new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/42d32db182865af5b3175f3cda22731eb4f4c402 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/42d32db182865af5b3175f3cda22731eb4f4c402 new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/5f11b650199e61ab6baf8fe964abc35169415ae1 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/5f11b650199e61ab6baf8fe964abc35169415ae1 new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/8bbace1682efca6755e748a272a230a1de8972af b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/8bbace1682efca6755e748a272a230a1de8972af new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/94368ab1fee3d4b78b10c3010eca4264539c4a84 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/94368ab1fee3d4b78b10c3010eca4264539c4a84 new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/b67542af9fa3862d87dd995317588f126769dac3 b/unpackage/dist/dev/cache/.mp-weixin/.uts2js/cache/uts_4d3a23a0a562f8e474d860be212edc00a050e6fb/types/cache/b67542af9fa3862d87dd995317588f126769dac3 new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js new file mode 100644 index 0000000..965f97a --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/app.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); +const common_vendor = require("./common/vendor.js"); +if (!Math) { + "./pages/index/login.js"; + "./pages/home/home.js"; + "./pages/index/wode.js"; + "./pages/views/dingDanCreate.js"; + "./pages/index/dingdan.js"; + "./pages/index/PayPal.js"; +} +const _sfc_main = common_vendor.defineComponent({ + onLaunch: function() { + common_vendor.index.__f__("log", "at App.uvue:5", "App Launch"); + }, + onShow: function() { + common_vendor.index.__f__("log", "at App.uvue:8", "App Show"); + }, + onHide: function() { + common_vendor.index.__f__("log", "at App.uvue:11", "App Hide"); + }, + onExit: function() { + common_vendor.index.__f__("log", "at App.uvue:32", "App Exit"); + } +}); +function createApp() { + const app = common_vendor.createSSRApp(_sfc_main); + return { + app + }; +} +createApp().app.mount("#app"); +exports.createApp = createApp; +//# sourceMappingURL=../.sourcemap/mp-weixin/app.js.map diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json new file mode 100644 index 0000000..80a6f42 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/app.json @@ -0,0 +1,43 @@ +{ + "pages": [ + "pages/index/login", + "pages/home/home", + "pages/index/wode", + "pages/views/dingDanCreate", + "pages/index/dingdan", + "pages/index/PayPal" + ], + "window": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app x", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "tabBar": { + "color": "#7A7E83", + "selectedColor": "#3cc51f", + "borderStyle": "black", + "backgroundColor": "#ffffff", + "list": [ + { + "pagePath": "pages/home/home", + "iconPath": "/static/image/11.png", + "selectedIconPath": "/static/image/路径 3909.png", + "text": "首页" + }, + { + "pagePath": "pages/index/dingdan", + "iconPath": "/static/image/路径 4016_1.png", + "selectedIconPath": "/static/image/路径 4016.png", + "text": "订单" + }, + { + "pagePath": "pages/index/wode", + "iconPath": "/static/image/路径 3917.png", + "selectedIconPath": "/static/image/路径 24.png", + "text": "我的" + } + ] + }, + "usingComponents": {} +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/app.wxss b/unpackage/dist/dev/mp-weixin/app.wxss new file mode 100644 index 0000000..6ae6be1 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/app.wxss @@ -0,0 +1,144 @@ +@font-face { + font-family: "iconfont"; /* Project id 2996747 */ + src: url('data:font/ttf;base64,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') format('woff2'), + url('data:font/ttf;base64,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') format('woff'), + url('data:font/ttf;base64,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') format('truetype'); +} +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.qungonggao:before { + content: "\e69a"; +} +.cancel:before { + content: "\e6db"; +} +.showviewvisible:before { + content: "\e9d3"; +} +.hideinvisiblehidden:before { + content: "\e9db"; +} +.check:before { + content: "\e645"; +} +.delete:before { + content: "\e67e"; +} +.error:before { + content: "\e613"; +} +.message:before { + content: "\e604"; +} +.search:before { + content: "\e626"; +} +.edit:before { + content: "\e62a"; +} +.star-off:before { + content: "\e60e"; +} +.goback:before { + content: "\e68c"; +} +.container { + display: flex; + flex-direction: column; + height: 100vh; + width: 100%; + background-color: #f5f5f5; + /* position: relative; */ +} + +/* 头部 */ +.header { +height: 15%; +width: 100%; +display: flex; +flex-direction: row; +align-items: center; +padding: 1rem; +background-color: #044f7a; +} +.header_info{ + width: 100%; + height: 100%; + display: flex; + flex-direction: row; + align-items: center; +} +.header_info_icons{ + display: flex; + align-items: center; + height: 100%; + width: 100%; + margin: 0 0.5rem 0 0.5rem; +} +.header_info_icon{ + display: flex; + height: 100%; + width: 10%; + width: 5%; + align-items: center; + justify-content: center; +} +.header_text{ +color: #bdd1dc; +font-size: 1rem; +left : 25%; +} +.header_texts{ +color: #bdd1dc; +font-size: 1rem; +} +.header_change{ +display: flex; +flex-direction: row; +align-items: center; +font-size: 1rem; +color: #bdd1dc; +} + +/*每个页面公共css */ +body{ + background-color: #ffffff; +} +body { + font-family: Arial, sans-serif; + margin: 0; + padding: 0; +} +@media only screen and (-webkit-min-device-pixel-ratio:2), (min-device-pixel-ratio:2){ +.uni-hairline{ + border-width: 0.5px !important; +} +.uni-nbfc { + background-color: transparent !important; +} +} +@media screen and (min-width: 320px) { +html {font-size: 14px;} +} +@media screen and (min-width: 360px) { +html {font-size: 16px;} +} +@media screen and (min-width: 400px) { +html {font-size: 18px;} +} +@media screen and (min-width: 440px) { +html {font-size: 20px;} +} +@media screen and (min-width: 480px) { +html {font-size: 22px;} +} +@media screen and (min-width: 640px) { +html {font-size: 28px;} +} + +page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/common/assets.js b/unpackage/dist/dev/mp-weixin/common/assets.js new file mode 100644 index 0000000..0295f84 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/common/assets.js @@ -0,0 +1,18 @@ +"use strict"; +const _imports_0$3 = "/static/image/组件 3 – 1.png"; +const _imports_0$2 = "/static/image/组 71699.png"; +const _imports_1$1 = "/static/image/组 71699_1@3x.png"; +const _imports_2 = "/static/image/图层_6.png"; +const _imports_0$1 = "/static/arrow-right.png"; +const _imports_0 = "/static/image/xuanzhong.png"; +const _imports_1 = "/static/image/weixuanzhong.png"; +const _imports_5 = "/static/image/矩形 5315.png"; +exports._imports_0 = _imports_0$3; +exports._imports_0$1 = _imports_0$2; +exports._imports_0$2 = _imports_0$1; +exports._imports_0$3 = _imports_0; +exports._imports_1 = _imports_1$1; +exports._imports_1$1 = _imports_1; +exports._imports_2 = _imports_2; +exports._imports_5 = _imports_5; +//# sourceMappingURL=../../.sourcemap/mp-weixin/common/assets.js.map diff --git a/unpackage/dist/dev/mp-weixin/common/uniView.wxs b/unpackage/dist/dev/mp-weixin/common/uniView.wxs new file mode 100644 index 0000000..32faaa9 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/common/uniView.wxs @@ -0,0 +1,7 @@ +module.exports = { + sS: function (newValue, oldValue, _ownerInstance, instance) { + if (newValue) { + instance.setStyle(newValue) + } + } +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js new file mode 100644 index 0000000..b5e7d00 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/common/vendor.js @@ -0,0 +1,9631 @@ +"use strict"; +/** +* @vue/shared v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +function makeMap(str, expectsLowerCase) { + const set2 = new Set(str.split(",")); + return expectsLowerCase ? (val) => set2.has(val.toLowerCase()) : (val) => set2.has(val); +} +const EMPTY_OBJ = Object.freeze({}); +const EMPTY_ARR = Object.freeze([]); +const NOOP = () => { +}; +const NO = () => false; +const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter +(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); +const isModelListener = (key) => key.startsWith("onUpdate:"); +const extend = Object.assign; +const remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } +}; +const hasOwnProperty$2 = Object.prototype.hasOwnProperty; +const hasOwn$1 = (val, key) => hasOwnProperty$2.call(val, key); +const isArray = Array.isArray; +const isMap = (val) => toTypeString(val) === "[object Map]"; +const isSet = (val) => toTypeString(val) === "[object Set]"; +const isFunction = (val) => typeof val === "function"; +const isString = (val) => typeof val === "string"; +const isSymbol = (val) => typeof val === "symbol"; +const isObject$1 = (val) => val !== null && typeof val === "object"; +const isPromise = (val) => { + return (isObject$1(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); +}; +const objectToString = Object.prototype.toString; +const toTypeString = (value) => objectToString.call(value); +const toRawType = (value) => { + return toTypeString(value).slice(8, -1); +}; +const isPlainObject$1 = (val) => toTypeString(val) === "[object Object]"; +const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; +const isReservedProp = /* @__PURE__ */ makeMap( + // the leading comma is intentional so empty string "" is also included + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" +); +const isBuiltInDirective = /* @__PURE__ */ makeMap( + "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" +); +const cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return (str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; +}; +const camelizeRE = /-(\w)/g; +const camelize = cacheStringFunction((str) => { + return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); +}); +const hyphenateRE = /\B([A-Z])/g; +const hyphenate = cacheStringFunction( + (str) => str.replace(hyphenateRE, "-$1").toLowerCase() +); +const capitalize = cacheStringFunction((str) => { + return str.charAt(0).toUpperCase() + str.slice(1); +}); +const toHandlerKey = cacheStringFunction((str) => { + const s2 = str ? `on${capitalize(str)}` : ``; + return s2; +}); +const hasChanged = (value, oldValue) => !Object.is(value, oldValue); +const invokeArrayFns$1 = (fns, arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](arg); + } +}; +const def = (obj, key, value) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + value + }); +}; +const looseToNumber = (val) => { + const n2 = parseFloat(val); + return isNaN(n2) ? val : n2; +}; +function normalizeStyle$1(value) { + if (isArray(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle$1(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString(value) || isObject$1(value)) { + return value; + } +} +const listDelimiterRE = /;(?![^(]*\))/g; +const propertyDelimiterRE = /:([^]+)/; +const styleCommentRE = /\/\*[^]*?\*\//g; +function parseStringStyle(cssText) { + const ret = {}; + cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +function normalizeClass$1(value) { + let res = ""; + if (isString(value)) { + res = value; + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass$1(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject$1(value)) { + for (const name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); +} +const toDisplayString = (val) => { + return isString(val) ? val : val == null ? "" : isArray(val) || isObject$1(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); +}; +const replacer = (_key, val) => { + if (val && val.__v_isRef) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce( + (entries, [key, val2], i) => { + entries[stringifySymbol(key, i) + " =>"] = val2; + return entries; + }, + {} + ) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) + }; + } else if (isSymbol(val)) { + return stringifySymbol(val); + } else if (isObject$1(val) && !isArray(val) && !isPlainObject$1(val)) { + return String(val); + } + return val; +}; +const stringifySymbol = (v, i = "") => { + var _a; + return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v; +}; +const isObject = (val) => val !== null && typeof val === "object"; +const defaultDelimiters = ["{", "}"]; +class BaseFormatter { + constructor() { + this._caches = /* @__PURE__ */ Object.create(null); + } + interpolate(message, values, delimiters = defaultDelimiters) { + if (!values) { + return [message]; + } + let tokens = this._caches[message]; + if (!tokens) { + tokens = parse(message, delimiters); + this._caches[message] = tokens; + } + return compile$1(tokens, values); + } +} +const RE_TOKEN_LIST_VALUE = /^(?:\d)+/; +const RE_TOKEN_NAMED_VALUE = /^(?:\w)+/; +function parse(format, [startDelimiter, endDelimiter]) { + const tokens = []; + let position = 0; + let text = ""; + while (position < format.length) { + let char = format[position++]; + if (char === startDelimiter) { + if (text) { + tokens.push({ type: "text", value: text }); + } + text = ""; + let sub = ""; + char = format[position++]; + while (char !== void 0 && char !== endDelimiter) { + sub += char; + char = format[position++]; + } + const isClosed = char === endDelimiter; + const type = RE_TOKEN_LIST_VALUE.test(sub) ? "list" : isClosed && RE_TOKEN_NAMED_VALUE.test(sub) ? "named" : "unknown"; + tokens.push({ value: sub, type }); + } else { + text += char; + } + } + text && tokens.push({ type: "text", value: text }); + return tokens; +} +function compile$1(tokens, values) { + const compiled = []; + let index2 = 0; + const mode = Array.isArray(values) ? "list" : isObject(values) ? "named" : "unknown"; + if (mode === "unknown") { + return compiled; + } + while (index2 < tokens.length) { + const token = tokens[index2]; + switch (token.type) { + case "text": + compiled.push(token.value); + break; + case "list": + compiled.push(values[parseInt(token.value, 10)]); + break; + case "named": + if (mode === "named") { + compiled.push(values[token.value]); + } else { + { + console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`); + } + } + break; + case "unknown": + { + console.warn(`Detect 'unknown' type of token!`); + } + break; + } + index2++; + } + return compiled; +} +const LOCALE_ZH_HANS = "zh-Hans"; +const LOCALE_ZH_HANT = "zh-Hant"; +const LOCALE_EN = "en"; +const LOCALE_FR = "fr"; +const LOCALE_ES = "es"; +const hasOwnProperty$1 = Object.prototype.hasOwnProperty; +const hasOwn = (val, key) => hasOwnProperty$1.call(val, key); +const defaultFormatter = new BaseFormatter(); +function include(str, parts) { + return !!parts.find((part) => str.indexOf(part) !== -1); +} +function startsWith(str, parts) { + return parts.find((part) => str.indexOf(part) === 0); +} +function normalizeLocale(locale, messages) { + if (!locale) { + return; + } + locale = locale.trim().replace(/_/g, "-"); + if (messages && messages[locale]) { + return locale; + } + locale = locale.toLowerCase(); + if (locale === "chinese") { + return LOCALE_ZH_HANS; + } + if (locale.indexOf("zh") === 0) { + if (locale.indexOf("-hans") > -1) { + return LOCALE_ZH_HANS; + } + if (locale.indexOf("-hant") > -1) { + return LOCALE_ZH_HANT; + } + if (include(locale, ["-tw", "-hk", "-mo", "-cht"])) { + return LOCALE_ZH_HANT; + } + return LOCALE_ZH_HANS; + } + let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES]; + if (messages && Object.keys(messages).length > 0) { + locales = Object.keys(messages); + } + const lang = startsWith(locale, locales); + if (lang) { + return lang; + } +} +class I18n { + constructor({ locale, fallbackLocale, messages, watcher, formater: formater2 }) { + this.locale = LOCALE_EN; + this.fallbackLocale = LOCALE_EN; + this.message = {}; + this.messages = {}; + this.watchers = []; + if (fallbackLocale) { + this.fallbackLocale = fallbackLocale; + } + this.formater = formater2 || defaultFormatter; + this.messages = messages || {}; + this.setLocale(locale || LOCALE_EN); + if (watcher) { + this.watchLocale(watcher); + } + } + setLocale(locale) { + const oldLocale = this.locale; + this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale; + if (!this.messages[this.locale]) { + this.messages[this.locale] = {}; + } + this.message = this.messages[this.locale]; + if (oldLocale !== this.locale) { + this.watchers.forEach((watcher) => { + watcher(this.locale, oldLocale); + }); + } + } + getLocale() { + return this.locale; + } + watchLocale(fn) { + const index2 = this.watchers.push(fn) - 1; + return () => { + this.watchers.splice(index2, 1); + }; + } + add(locale, message, override = true) { + const curMessages = this.messages[locale]; + if (curMessages) { + if (override) { + Object.assign(curMessages, message); + } else { + Object.keys(message).forEach((key) => { + if (!hasOwn(curMessages, key)) { + curMessages[key] = message[key]; + } + }); + } + } else { + this.messages[locale] = message; + } + } + f(message, values, delimiters) { + return this.formater.interpolate(message, values, delimiters).join(""); + } + t(key, locale, values) { + let message = this.message; + if (typeof locale === "string") { + locale = normalizeLocale(locale, this.messages); + locale && (message = this.messages[locale]); + } else { + values = locale; + } + if (!hasOwn(message, key)) { + console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`); + return key; + } + return this.formater.interpolate(message[key], values).join(""); + } +} +function watchAppLocale(appVm, i18n) { + if (appVm.$watchLocale) { + appVm.$watchLocale((newLocale) => { + i18n.setLocale(newLocale); + }); + } else { + appVm.$watch(() => appVm.$locale, (newLocale) => { + i18n.setLocale(newLocale); + }); + } +} +function getDefaultLocale() { + if (typeof index !== "undefined" && index.getLocale) { + return index.getLocale(); + } + if (typeof global !== "undefined" && global.getLocale) { + return global.getLocale(); + } + return LOCALE_EN; +} +function initVueI18n(locale, messages = {}, fallbackLocale, watcher) { + if (typeof locale !== "string") { + const options = [ + messages, + locale + ]; + locale = options[0]; + messages = options[1]; + } + if (typeof locale !== "string") { + locale = getDefaultLocale(); + } + if (typeof fallbackLocale !== "string") { + fallbackLocale = typeof __uniConfig !== "undefined" && __uniConfig.fallbackLocale || LOCALE_EN; + } + const i18n = new I18n({ + locale, + fallbackLocale, + messages, + watcher + }); + let t2 = (key, values) => { + if (typeof getApp !== "function") { + t2 = function(key2, values2) { + return i18n.t(key2, values2); + }; + } else { + let isWatchedAppLocale = false; + t2 = function(key2, values2) { + const appVm = getApp().$vm; + if (appVm) { + appVm.$locale; + if (!isWatchedAppLocale) { + isWatchedAppLocale = true; + watchAppLocale(appVm, i18n); + } + } + return i18n.t(key2, values2); + }; + } + return t2(key, values); + }; + return { + i18n, + f(message, values, delimiters) { + return i18n.f(message, values, delimiters); + }, + t(key, values) { + return t2(key, values); + }, + add(locale2, message, override = true) { + return i18n.add(locale2, message, override); + }, + watch(fn) { + return i18n.watchLocale(fn); + }, + getLocale() { + return i18n.getLocale(); + }, + setLocale(newLocale) { + return i18n.setLocale(newLocale); + } + }; +} +const SLOT_DEFAULT_NAME = "d"; +const ON_SHOW = "onShow"; +const ON_HIDE = "onHide"; +const ON_LAUNCH = "onLaunch"; +const ON_ERROR = "onError"; +const ON_THEME_CHANGE = "onThemeChange"; +const ON_PAGE_NOT_FOUND = "onPageNotFound"; +const ON_UNHANDLE_REJECTION = "onUnhandledRejection"; +const ON_EXIT = "onExit"; +const ON_LOAD = "onLoad"; +const ON_READY = "onReady"; +const ON_UNLOAD = "onUnload"; +const ON_INIT = "onInit"; +const ON_SAVE_EXIT_STATE = "onSaveExitState"; +const ON_RESIZE = "onResize"; +const ON_BACK_PRESS = "onBackPress"; +const ON_PAGE_SCROLL = "onPageScroll"; +const ON_TAB_ITEM_TAP = "onTabItemTap"; +const ON_REACH_BOTTOM = "onReachBottom"; +const ON_PULL_DOWN_REFRESH = "onPullDownRefresh"; +const ON_SHARE_TIMELINE = "onShareTimeline"; +const ON_SHARE_CHAT = "onShareChat"; +const ON_ADD_TO_FAVORITES = "onAddToFavorites"; +const ON_SHARE_APP_MESSAGE = "onShareAppMessage"; +const ON_NAVIGATION_BAR_BUTTON_TAP = "onNavigationBarButtonTap"; +const ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = "onNavigationBarSearchInputClicked"; +const ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = "onNavigationBarSearchInputChanged"; +const ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = "onNavigationBarSearchInputConfirmed"; +const ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = "onNavigationBarSearchInputFocusChanged"; +const VIRTUAL_HOST_STYLE = "virtualHostStyle"; +const VIRTUAL_HOST_CLASS = "virtualHostClass"; +const VIRTUAL_HOST_HIDDEN = "virtualHostHidden"; +const VIRTUAL_HOST_ID = "virtualHostId"; +function hasLeadingSlash(str) { + return str.indexOf("/") === 0; +} +function addLeadingSlash(str) { + return hasLeadingSlash(str) ? str : "/" + str; +} +const invokeArrayFns = (fns, arg) => { + let ret; + for (let i = 0; i < fns.length; i++) { + ret = fns[i](arg); + } + return ret; +}; +function once(fn, ctx = null) { + let res; + return (...args) => { + if (fn) { + res = fn.apply(ctx, args); + fn = null; + } + return res; + }; +} +function getValueByDataPath(obj, path) { + if (!isString(path)) { + return; + } + path = path.replace(/\[(\d+)\]/g, ".$1"); + const parts = path.split("."); + let key = parts[0]; + if (!obj) { + obj = {}; + } + if (parts.length === 1) { + return obj[key]; + } + return getValueByDataPath(obj[key], parts.slice(1).join(".")); +} +function sortObject(obj) { + let sortObj = {}; + if (isPlainObject$1(obj)) { + Object.keys(obj).sort().forEach((key) => { + const _key = key; + sortObj[_key] = obj[_key]; + }); + } + return !Object.keys(sortObj) ? obj : sortObj; +} +function getGlobalOnce() { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + function g2() { + return this; + } + if (typeof g2() !== "undefined") { + return g2(); + } + return function() { + return new Function("return this")(); + }(); +} +let g = void 0; +function getGlobal$1() { + if (g) { + return g; + } + g = getGlobalOnce(); + return g; +} +const customizeRE = /:/g; +function customizeEvent(str) { + return camelize(str.replace(customizeRE, "-")); +} +function normalizeStyle(value) { + const g2 = getGlobal$1(); + if (g2 && g2.UTSJSONObject && value instanceof g2.UTSJSONObject) { + const styleObject = {}; + g2.UTSJSONObject.keys(value).forEach((key) => { + styleObject[key] = value[key]; + }); + return normalizeStyle$1(styleObject); + } else if (value instanceof Map) { + const styleObject = {}; + value.forEach((value2, key) => { + styleObject[key] = value2; + }); + return normalizeStyle$1(styleObject); + } else if (isString(value)) { + return parseStringStyle(value); + } else if (isArray(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else { + return normalizeStyle$1(value); + } +} +function normalizeClass(value) { + let res = ""; + const g2 = getGlobal$1(); + if (g2 && g2.UTSJSONObject && value instanceof g2.UTSJSONObject) { + g2.UTSJSONObject.keys(value).forEach((key) => { + if (value[key]) { + res += key + " "; + } + }); + } else if (value instanceof Map) { + value.forEach((value2, key) => { + if (value2) { + res += key + " "; + } + }); + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else { + res = normalizeClass$1(value); + } + return res.trim(); +} +const encode = encodeURIComponent; +function stringifyQuery(obj, encodeStr = encode) { + const res = obj ? Object.keys(obj).map((key) => { + let val = obj[key]; + if (typeof val === void 0 || val === null) { + val = ""; + } else if (isPlainObject$1(val)) { + val = JSON.stringify(val); + } + return encodeStr(key) + "=" + encodeStr(val); + }).filter((x) => x.length > 0).join("&") : null; + return res ? `?${res}` : ""; +} +const PAGE_HOOKS = [ + ON_INIT, + ON_LOAD, + ON_SHOW, + ON_HIDE, + ON_UNLOAD, + ON_BACK_PRESS, + ON_PAGE_SCROLL, + ON_TAB_ITEM_TAP, + ON_REACH_BOTTOM, + ON_PULL_DOWN_REFRESH, + ON_SHARE_TIMELINE, + ON_SHARE_APP_MESSAGE, + ON_SHARE_CHAT, + ON_ADD_TO_FAVORITES, + ON_SAVE_EXIT_STATE, + ON_NAVIGATION_BAR_BUTTON_TAP, + ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, + ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, + ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, + ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED +]; +function isRootHook(name) { + return PAGE_HOOKS.indexOf(name) > -1; +} +const UniLifecycleHooks = [ + ON_SHOW, + ON_HIDE, + ON_LAUNCH, + ON_ERROR, + ON_THEME_CHANGE, + ON_PAGE_NOT_FOUND, + ON_UNHANDLE_REJECTION, + ON_EXIT, + ON_INIT, + ON_LOAD, + ON_READY, + ON_UNLOAD, + ON_RESIZE, + ON_BACK_PRESS, + ON_PAGE_SCROLL, + ON_TAB_ITEM_TAP, + ON_REACH_BOTTOM, + ON_PULL_DOWN_REFRESH, + ON_SHARE_TIMELINE, + ON_ADD_TO_FAVORITES, + ON_SHARE_APP_MESSAGE, + ON_SHARE_CHAT, + ON_SAVE_EXIT_STATE, + ON_NAVIGATION_BAR_BUTTON_TAP, + ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, + ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, + ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, + ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED +]; +const MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /* @__PURE__ */ (() => { + return { + onPageScroll: 1, + onShareAppMessage: 1 << 1, + onShareTimeline: 1 << 2 + }; +})(); +function isUniLifecycleHook(name, value, checkType = true) { + if (checkType && !isFunction(value)) { + return false; + } + if (UniLifecycleHooks.indexOf(name) > -1) { + return true; + } else if (name.indexOf("on") === 0) { + return true; + } + return false; +} +let vueApp; +const createVueAppHooks = []; +function onCreateVueApp(hook) { + if (vueApp) { + return hook(vueApp); + } + createVueAppHooks.push(hook); +} +function invokeCreateVueAppHook(app) { + vueApp = app; + createVueAppHooks.forEach((hook) => hook(app)); +} +const invokeCreateErrorHandler = once((app, createErrorHandler2) => { + return createErrorHandler2(app); +}); +const E = function() { +}; +E.prototype = { + _id: 1, + on: function(name, callback, ctx) { + var e2 = this.e || (this.e = {}); + (e2[name] || (e2[name] = [])).push({ + fn: callback, + ctx, + _id: this._id + }); + return this._id++; + }, + once: function(name, callback, ctx) { + var self2 = this; + function listener() { + self2.off(name, listener); + callback.apply(ctx, arguments); + } + listener._ = callback; + return this.on(name, listener, ctx); + }, + emit: function(name) { + var data = [].slice.call(arguments, 1); + var evtArr = ((this.e || (this.e = {}))[name] || []).slice(); + var i = 0; + var len = evtArr.length; + for (i; i < len; i++) { + evtArr[i].fn.apply(evtArr[i].ctx, data); + } + return this; + }, + off: function(name, event) { + var e2 = this.e || (this.e = {}); + var evts = e2[name]; + var liveEvents = []; + if (evts && event) { + for (var i = evts.length - 1; i >= 0; i--) { + if (evts[i].fn === event || evts[i].fn._ === event || evts[i]._id === event) { + evts.splice(i, 1); + break; + } + } + liveEvents = evts; + } + liveEvents.length ? e2[name] = liveEvents : delete e2[name]; + return this; + } +}; +var E$1 = E; +/** +* @dcloudio/uni-mp-vue v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +function warn$2(msg, ...args) { + console.warn(`[Vue warn] ${msg}`, ...args); +} +let activeEffectScope; +class EffectScope { + constructor(detached = false) { + this.detached = detached; + this._active = true; + this.effects = []; + this.cleanups = []; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( + this + ) - 1; + } + } + get active() { + return this._active; + } + run(fn) { + if (this._active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } else { + warn$2(`cannot run an inactive effect scope.`); + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + on() { + activeEffectScope = this; + } + /** + * This should only be called on non-detached scopes + * @internal + */ + off() { + activeEffectScope = this.parent; + } + stop(fromParent) { + if (this._active) { + let i, l; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].stop(); + } + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + } + if (!this.detached && this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + this._active = false; + } + } +} +function recordEffectScope(effect2, scope = activeEffectScope) { + if (scope && scope.active) { + scope.effects.push(effect2); + } +} +function getCurrentScope() { + return activeEffectScope; +} +let activeEffect; +class ReactiveEffect { + constructor(fn, trigger2, scheduler, scope) { + this.fn = fn; + this.trigger = trigger2; + this.scheduler = scheduler; + this.active = true; + this.deps = []; + this._dirtyLevel = 4; + this._trackId = 0; + this._runnings = 0; + this._shouldSchedule = false; + this._depsLength = 0; + recordEffectScope(this, scope); + } + get dirty() { + if (this._dirtyLevel === 2 || this._dirtyLevel === 3) { + this._dirtyLevel = 1; + pauseTracking(); + for (let i = 0; i < this._depsLength; i++) { + const dep = this.deps[i]; + if (dep.computed) { + triggerComputed(dep.computed); + if (this._dirtyLevel >= 4) { + break; + } + } + } + if (this._dirtyLevel === 1) { + this._dirtyLevel = 0; + } + resetTracking(); + } + return this._dirtyLevel >= 4; + } + set dirty(v) { + this._dirtyLevel = v ? 4 : 0; + } + run() { + this._dirtyLevel = 0; + if (!this.active) { + return this.fn(); + } + let lastShouldTrack = shouldTrack; + let lastEffect = activeEffect; + try { + shouldTrack = true; + activeEffect = this; + this._runnings++; + preCleanupEffect(this); + return this.fn(); + } finally { + postCleanupEffect(this); + this._runnings--; + activeEffect = lastEffect; + shouldTrack = lastShouldTrack; + } + } + stop() { + var _a; + if (this.active) { + preCleanupEffect(this); + postCleanupEffect(this); + (_a = this.onStop) == null ? void 0 : _a.call(this); + this.active = false; + } + } +} +function triggerComputed(computed2) { + return computed2.value; +} +function preCleanupEffect(effect2) { + effect2._trackId++; + effect2._depsLength = 0; +} +function postCleanupEffect(effect2) { + if (effect2.deps.length > effect2._depsLength) { + for (let i = effect2._depsLength; i < effect2.deps.length; i++) { + cleanupDepEffect(effect2.deps[i], effect2); + } + effect2.deps.length = effect2._depsLength; + } +} +function cleanupDepEffect(dep, effect2) { + const trackId = dep.get(effect2); + if (trackId !== void 0 && effect2._trackId !== trackId) { + dep.delete(effect2); + if (dep.size === 0) { + dep.cleanup(); + } + } +} +let shouldTrack = true; +let pauseScheduleStack = 0; +const trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +function pauseScheduling() { + pauseScheduleStack++; +} +function resetScheduling() { + pauseScheduleStack--; + while (!pauseScheduleStack && queueEffectSchedulers.length) { + queueEffectSchedulers.shift()(); + } +} +function trackEffect(effect2, dep, debuggerEventExtraInfo) { + var _a; + if (dep.get(effect2) !== effect2._trackId) { + dep.set(effect2, effect2._trackId); + const oldDep = effect2.deps[effect2._depsLength]; + if (oldDep !== dep) { + if (oldDep) { + cleanupDepEffect(oldDep, effect2); + } + effect2.deps[effect2._depsLength++] = dep; + } else { + effect2._depsLength++; + } + { + (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo)); + } + } +} +const queueEffectSchedulers = []; +function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) { + var _a; + pauseScheduling(); + for (const effect2 of dep.keys()) { + let tracking; + if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { + effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0); + effect2._dirtyLevel = dirtyLevel; + } + if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { + { + (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo)); + } + effect2.trigger(); + if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) { + effect2._shouldSchedule = false; + if (effect2.scheduler) { + queueEffectSchedulers.push(effect2.scheduler); + } + } + } + } + resetScheduling(); +} +const createDep = (cleanup, computed2) => { + const dep = /* @__PURE__ */ new Map(); + dep.cleanup = cleanup; + dep.computed = computed2; + return dep; +}; +const targetMap = /* @__PURE__ */ new WeakMap(); +const ITERATE_KEY = Symbol("iterate"); +const MAP_KEY_ITERATE_KEY = Symbol("Map key iterate"); +function track(target, type, key) { + if (shouldTrack && activeEffect) { + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = createDep(() => depsMap.delete(key))); + } + trackEffect( + activeEffect, + dep, + { + target, + type, + key + } + ); + } +} +function trigger(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + return; + } + let deps = []; + if (type === "clear") { + deps = [...depsMap.values()]; + } else if (key === "length" && isArray(target)) { + const newLength = Number(newValue); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || !isSymbol(key2) && key2 >= newLength) { + deps.push(dep); + } + }); + } else { + if (key !== void 0) { + deps.push(depsMap.get(key)); + } + switch (type) { + case "add": + if (!isArray(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isIntegerKey(key)) { + deps.push(depsMap.get("length")); + } + break; + case "delete": + if (!isArray(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (isMap(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + } + break; + } + } + pauseScheduling(); + for (const dep of deps) { + if (dep) { + triggerEffects( + dep, + 4, + { + target, + type, + key, + newValue, + oldValue, + oldTarget + } + ); + } + } + resetScheduling(); +} +const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); +const builtInSymbols = new Set( + /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) +); +const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations(); +function createArrayInstrumentations() { + const instrumentations = {}; + ["includes", "indexOf", "lastIndexOf"].forEach((key) => { + instrumentations[key] = function(...args) { + const arr = toRaw(this); + for (let i = 0, l = this.length; i < l; i++) { + track(arr, "get", i + ""); + } + const res = arr[key](...args); + if (res === -1 || res === false) { + return arr[key](...args.map(toRaw)); + } else { + return res; + } + }; + }); + ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { + instrumentations[key] = function(...args) { + pauseTracking(); + pauseScheduling(); + const res = toRaw(this)[key].apply(this, args); + resetScheduling(); + resetTracking(); + return res; + }; + }); + return instrumentations; +} +function hasOwnProperty(key) { + const obj = toRaw(this); + track(obj, "has", key); + return obj.hasOwnProperty(key); +} +class BaseReactiveHandler { + constructor(_isReadonly = false, _isShallow = false) { + this._isReadonly = _isReadonly; + this._isShallow = _isShallow; + } + get(target, key, receiver) { + const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return isShallow2; + } else if (key === "__v_raw") { + if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype + // this means the reciever is a user proxy of the reactive proxy + Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { + return target; + } + return; + } + const targetIsArray = isArray(target); + if (!isReadonly2) { + if (targetIsArray && hasOwn$1(arrayInstrumentations, key)) { + return Reflect.get(arrayInstrumentations, key, receiver); + } + if (key === "hasOwnProperty") { + return hasOwnProperty; + } + } + const res = Reflect.get(target, key, receiver); + if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (isShallow2) { + return res; + } + if (isRef(res)) { + return targetIsArray && isIntegerKey(key) ? res : res.value; + } + if (isObject$1(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + } +} +class MutableReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(false, isShallow2); + } + set(target, key, value, receiver) { + let oldValue = target[key]; + if (!this._isShallow) { + const isOldValueReadonly = isReadonly(oldValue); + if (!isShallow(value) && !isReadonly(value)) { + oldValue = toRaw(oldValue); + value = toRaw(value); + } + if (!isArray(target) && isRef(oldValue) && !isRef(value)) { + if (isOldValueReadonly) { + return false; + } else { + oldValue.value = value; + return true; + } + } + } + const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn$1(target, key); + const result = Reflect.set(target, key, value, receiver); + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + } + return result; + } + deleteProperty(target, key) { + const hadKey = hasOwn$1(target, key); + const oldValue = target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; + } + has(target, key) { + const result = Reflect.has(target, key); + if (!isSymbol(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; + } + ownKeys(target) { + track( + target, + "iterate", + isArray(target) ? "length" : ITERATE_KEY + ); + return Reflect.ownKeys(target); + } +} +class ReadonlyReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(true, isShallow2); + } + set(target, key) { + { + warn$2( + `Set operation on key "${String(key)}" failed: target is readonly.`, + target + ); + } + return true; + } + deleteProperty(target, key) { + { + warn$2( + `Delete operation on key "${String(key)}" failed: target is readonly.`, + target + ); + } + return true; + } +} +const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); +const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); +const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler( + true +); +const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); +const toShallow = (value) => value; +const getProto = (v) => Reflect.getPrototypeOf(v); +function get(target, key, isReadonly2 = false, isShallow2 = false) { + target = target["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has: has2 } = getProto(rawTarget); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + if (has2.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has2.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } +} +function has$1(key, isReadonly2 = false) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); +} +function size(target, isReadonly2 = false) { + target = target["__v_raw"]; + !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); + return Reflect.get(target, "size", target); +} +function add(value) { + value = toRaw(value); + const target = toRaw(this); + const proto = getProto(target); + const hadKey = proto.has.call(target, value); + if (!hadKey) { + target.add(value); + trigger(target, "add", value, value); + } + return this; +} +function set$1(key, value) { + value = toRaw(value); + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + const oldValue = get2.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + return this; +} +function deleteEntry(key) { + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + const oldValue = get2 ? get2.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; +} +function clear() { + const target = toRaw(this); + const hadItems = target.size !== 0; + const oldTarget = isMap(target) ? new Map(target) : new Set(target); + const result = target.clear(); + if (hadItems) { + trigger(target, "clear", void 0, void 0, oldTarget); + } + return result; +} +function createForEach(isReadonly2, isShallow2) { + return function forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw(target); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + }; +} +function createIterableMethod(method, isReadonly2, isShallow2) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const targetIsMap = isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track( + rawTarget, + "iterate", + isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY + ); + return { + // iterator protocol + next() { + const { value, done } = innerIterator.next(); + return done ? { value, done } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + }, + // iterable protocol + [Symbol.iterator]() { + return this; + } + }; + }; +} +function createReadonlyMethod(type) { + return function(...args) { + { + const key = args[0] ? `on key "${args[0]}" ` : ``; + warn$2( + `${capitalize(type)} operation ${key}failed: target is readonly.`, + toRaw(this) + ); + } + return type === "delete" ? false : type === "clear" ? void 0 : this; + }; +} +function createInstrumentations() { + const mutableInstrumentations2 = { + get(key) { + return get(this, key); + }, + get size() { + return size(this); + }, + has: has$1, + add, + set: set$1, + delete: deleteEntry, + clear, + forEach: createForEach(false, false) + }; + const shallowInstrumentations2 = { + get(key) { + return get(this, key, false, true); + }, + get size() { + return size(this); + }, + has: has$1, + add, + set: set$1, + delete: deleteEntry, + clear, + forEach: createForEach(false, true) + }; + const readonlyInstrumentations2 = { + get(key) { + return get(this, key, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has$1.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, false) + }; + const shallowReadonlyInstrumentations2 = { + get(key) { + return get(this, key, true, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has$1.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, true) + }; + const iteratorMethods = [ + "keys", + "values", + "entries", + Symbol.iterator + ]; + iteratorMethods.forEach((method) => { + mutableInstrumentations2[method] = createIterableMethod(method, false, false); + readonlyInstrumentations2[method] = createIterableMethod(method, true, false); + shallowInstrumentations2[method] = createIterableMethod(method, false, true); + shallowReadonlyInstrumentations2[method] = createIterableMethod( + method, + true, + true + ); + }); + return [ + mutableInstrumentations2, + readonlyInstrumentations2, + shallowInstrumentations2, + shallowReadonlyInstrumentations2 + ]; +} +const [ + mutableInstrumentations, + readonlyInstrumentations, + shallowInstrumentations, + shallowReadonlyInstrumentations +] = /* @__PURE__ */ createInstrumentations(); +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get( + hasOwn$1(instrumentations, key) && key in target ? instrumentations : target, + key, + receiver + ); + }; +} +const mutableCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, false) +}; +const shallowCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, true) +}; +const readonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, false) +}; +const shallowReadonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, true) +}; +function checkIdentityKeys(target, has2, key) { + const rawKey = toRaw(key); + if (rawKey !== key && has2.call(target, rawKey)) { + const type = toRawType(target); + warn$2( + `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` + ); + } +} +const reactiveMap = /* @__PURE__ */ new WeakMap(); +const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +const readonlyMap = /* @__PURE__ */ new WeakMap(); +const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } +} +function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); +} +function reactive(target) { + if (isReadonly(target)) { + return target; + } + return createReactiveObject( + target, + false, + mutableHandlers, + mutableCollectionHandlers, + reactiveMap + ); +} +function shallowReactive(target) { + return createReactiveObject( + target, + false, + shallowReactiveHandlers, + shallowCollectionHandlers, + shallowReactiveMap + ); +} +function readonly(target) { + return createReactiveObject( + target, + true, + readonlyHandlers, + readonlyCollectionHandlers, + readonlyMap + ); +} +function shallowReadonly(target) { + return createReactiveObject( + target, + true, + shallowReadonlyHandlers, + shallowReadonlyCollectionHandlers, + shallowReadonlyMap + ); +} +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject$1(target)) { + { + warn$2(`value cannot be made reactive: ${String(target)}`); + } + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const targetType = getTargetType(target); + if (targetType === 0) { + return target; + } + const proxy = new Proxy( + target, + targetType === 2 ? collectionHandlers : baseHandlers + ); + proxyMap.set(target, proxy); + return proxy; +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); +} +function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); +} +function isShallow(value) { + return !!(value && value["__v_isShallow"]); +} +function isProxy(value) { + return isReactive(value) || isReadonly(value); +} +function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? toRaw(raw) : observed; +} +function markRaw(value) { + if (Object.isExtensible(value)) { + def(value, "__v_skip", true); + } + return value; +} +const toReactive = (value) => isObject$1(value) ? reactive(value) : value; +const toReadonly = (value) => isObject$1(value) ? readonly(value) : value; +const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`; +class ComputedRefImpl { + constructor(getter, _setter, isReadonly2, isSSR) { + this.getter = getter; + this._setter = _setter; + this.dep = void 0; + this.__v_isRef = true; + this["__v_isReadonly"] = false; + this.effect = new ReactiveEffect( + () => getter(this._value), + () => triggerRefValue( + this, + this.effect._dirtyLevel === 2 ? 2 : 3 + ) + ); + this.effect.computed = this; + this.effect.active = this._cacheable = !isSSR; + this["__v_isReadonly"] = isReadonly2; + } + get value() { + const self2 = toRaw(this); + if ((!self2._cacheable || self2.effect.dirty) && hasChanged(self2._value, self2._value = self2.effect.run())) { + triggerRefValue(self2, 4); + } + trackRefValue(self2); + if (self2.effect._dirtyLevel >= 2) { + if (this._warnRecursive) { + warn$2(COMPUTED_SIDE_EFFECT_WARN, ` + +getter: `, this.getter); + } + triggerRefValue(self2, 2); + } + return self2._value; + } + set value(newValue) { + this._setter(newValue); + } + // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x + get _dirty() { + return this.effect.dirty; + } + set _dirty(v) { + this.effect.dirty = v; + } + // #endregion +} +function computed$1(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + const onlyGetter = isFunction(getterOrOptions); + if (onlyGetter) { + getter = getterOrOptions; + setter = () => { + warn$2("Write operation failed: computed value is readonly"); + }; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR); + if (debugOptions && !isSSR) { + cRef.effect.onTrack = debugOptions.onTrack; + cRef.effect.onTrigger = debugOptions.onTrigger; + } + return cRef; +} +function trackRefValue(ref2) { + var _a; + if (shouldTrack && activeEffect) { + ref2 = toRaw(ref2); + trackEffect( + activeEffect, + (_a = ref2.dep) != null ? _a : ref2.dep = createDep( + () => ref2.dep = void 0, + ref2 instanceof ComputedRefImpl ? ref2 : void 0 + ), + { + target: ref2, + type: "get", + key: "value" + } + ); + } +} +function triggerRefValue(ref2, dirtyLevel = 4, newVal) { + ref2 = toRaw(ref2); + const dep = ref2.dep; + if (dep) { + triggerEffects( + dep, + dirtyLevel, + { + target: ref2, + type: "set", + key: "value", + newValue: newVal + } + ); + } +} +function isRef(r2) { + return !!(r2 && r2.__v_isRef === true); +} +function ref(value) { + return createRef(value, false); +} +function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); +} +class RefImpl { + constructor(value, __v_isShallow) { + this.__v_isShallow = __v_isShallow; + this.dep = void 0; + this.__v_isRef = true; + this._rawValue = __v_isShallow ? value : toRaw(value); + this._value = __v_isShallow ? value : toReactive(value); + } + get value() { + trackRefValue(this); + return this._value; + } + set value(newVal) { + const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal); + newVal = useDirectValue ? newVal : toRaw(newVal); + if (hasChanged(newVal, this._rawValue)) { + this._rawValue = newVal; + this._value = useDirectValue ? newVal : toReactive(newVal); + triggerRefValue(this, 4, newVal); + } + } +} +function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; +} +const shallowUnwrapHandlers = { + get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } +}; +function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +class CustomRefImpl { + constructor(factory) { + this.dep = void 0; + this.__v_isRef = true; + const { get: get2, set: set2 } = factory( + () => trackRefValue(this), + () => triggerRefValue(this) + ); + this._get = get2; + this._set = set2; + } + get value() { + return this._get(); + } + set value(newVal) { + this._set(newVal); + } +} +function customRef(factory) { + return new CustomRefImpl(factory); +} +const stack = []; +function pushWarningContext(vnode) { + stack.push(vnode); +} +function popWarningContext() { + stack.pop(); +} +function warn$1(msg, ...args) { + pauseTracking(); + const instance = stack.length ? stack[stack.length - 1].component : null; + const appWarnHandler = instance && instance.appContext.config.warnHandler; + const trace = getComponentTrace(); + if (appWarnHandler) { + callWithErrorHandling( + appWarnHandler, + instance, + 11, + [ + msg + args.map((a) => { + var _a, _b; + return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); + }).join(""), + instance && instance.proxy, + trace.map( + ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>` + ).join("\n"), + trace + ] + ); + } else { + const warnArgs = [`[Vue warn]: ${msg}`, ...args]; + if (trace.length && // avoid spamming console during tests + true) { + warnArgs.push(` +`, ...formatTrace(trace)); + } + console.warn(...warnArgs); + } + resetTracking(); +} +function getComponentTrace() { + let currentVNode = stack[stack.length - 1]; + if (!currentVNode) { + return []; + } + const normalizedStack = []; + while (currentVNode) { + const last = normalizedStack[0]; + if (last && last.vnode === currentVNode) { + last.recurseCount++; + } else { + normalizedStack.push({ + vnode: currentVNode, + recurseCount: 0 + }); + } + const parentInstance = currentVNode.component && currentVNode.component.parent; + currentVNode = parentInstance && parentInstance.vnode; + } + return normalizedStack; +} +function formatTrace(trace) { + const logs = []; + trace.forEach((entry, i) => { + logs.push(...i === 0 ? [] : [` +`], ...formatTraceEntry(entry)); + }); + return logs; +} +function formatTraceEntry({ vnode, recurseCount }) { + const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; + const isRoot = vnode.component ? vnode.component.parent == null : false; + const open = ` at <${formatComponentName( + vnode.component, + vnode.type, + isRoot + )}`; + const close = `>` + postfix; + return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; +} +function formatProps(props) { + const res = []; + const keys = Object.keys(props); + keys.slice(0, 3).forEach((key) => { + res.push(...formatProp(key, props[key])); + }); + if (keys.length > 3) { + res.push(` ...`); + } + return res; +} +function formatProp(key, value, raw) { + if (isString(value)) { + value = JSON.stringify(value); + return raw ? value : [`${key}=${value}`]; + } else if (typeof value === "number" || typeof value === "boolean" || value == null) { + return raw ? value : [`${key}=${value}`]; + } else if (isRef(value)) { + value = formatProp(key, toRaw(value.value), true); + return raw ? value : [`${key}=Ref<`, value, `>`]; + } else if (isFunction(value)) { + return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; + } else { + value = toRaw(value); + return raw ? value : [`${key}=`, value]; + } +} +const ErrorTypeStrings = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ." +}; +function callWithErrorHandling(fn, instance, type, args) { + try { + return args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } +} +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (isFunction(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && isPromise(res)) { + res.catch((err) => { + handleError(err, instance, type); + }); + } + return res; + } + const values = []; + for (let i = 0; i < fn.length; i++) { + values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); + } + return values; +} +function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = ErrorTypeStrings[type] || type; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i = 0; i < errorCapturedHooks.length; i++) { + if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + const appErrorHandler = instance.appContext.config.errorHandler; + if (appErrorHandler) { + callWithErrorHandling( + appErrorHandler, + null, + 10, + [err, exposedInstance, errorInfo] + ); + return; + } + } + logError(err, type, contextVNode, throwInDev); +} +function logError(err, type, contextVNode, throwInDev = true) { + { + const info = ErrorTypeStrings[type] || type; + if (contextVNode) { + pushWarningContext(contextVNode); + } + warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); + if (contextVNode) { + popWarningContext(); + } + if (throwInDev) { + console.error(err); + } else { + console.error(err); + } + } +} +let isFlushing = false; +let isFlushPending = false; +const queue$1 = []; +let flushIndex = 0; +const pendingPostFlushCbs = []; +let activePostFlushCbs = null; +let postFlushIndex = 0; +const resolvedPromise = /* @__PURE__ */ Promise.resolve(); +let currentFlushPromise = null; +const RECURSION_LIMIT = 100; +function nextTick$1(fn) { + const p2 = currentFlushPromise || resolvedPromise; + return fn ? p2.then(this ? fn.bind(this) : fn) : p2; +} +function findInsertionIndex(id) { + let start = flushIndex + 1; + let end = queue$1.length; + while (start < end) { + const middle = start + end >>> 1; + const middleJob = queue$1[middle]; + const middleJobId = getId(middleJob); + if (middleJobId < id || middleJobId === id && middleJob.pre) { + start = middle + 1; + } else { + end = middle; + } + } + return start; +} +function queueJob(job) { + if (!queue$1.length || !queue$1.includes( + job, + isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex + )) { + if (job.id == null) { + queue$1.push(job); + } else { + queue$1.splice(findInsertionIndex(job.id), 0, job); + } + queueFlush(); + } +} +function queueFlush() { + if (!isFlushing && !isFlushPending) { + isFlushPending = true; + currentFlushPromise = resolvedPromise.then(flushJobs); + } +} +function hasQueueJob(job) { + return queue$1.indexOf(job) > -1; +} +function invalidateJob(job) { + const i = queue$1.indexOf(job); + if (i > flushIndex) { + queue$1.splice(i, 1); + } +} +function queuePostFlushCb(cb) { + if (!isArray(cb)) { + if (!activePostFlushCbs || !activePostFlushCbs.includes( + cb, + cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex + )) { + pendingPostFlushCbs.push(cb); + } + } else { + pendingPostFlushCbs.push(...cb); + } + queueFlush(); +} +function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) { + { + seen = seen || /* @__PURE__ */ new Map(); + } + for (; i < queue$1.length; i++) { + const cb = queue$1[i]; + if (cb && cb.pre) { + if (checkRecursiveUpdates(seen, cb)) { + continue; + } + queue$1.splice(i, 1); + i--; + cb(); + } + } +} +function flushPostFlushCbs(seen) { + if (pendingPostFlushCbs.length) { + const deduped = [...new Set(pendingPostFlushCbs)].sort( + (a, b) => getId(a) - getId(b) + ); + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + { + seen = seen || /* @__PURE__ */ new Map(); + } + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) { + continue; + } + activePostFlushCbs[postFlushIndex](); + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +const getId = (job) => job.id == null ? Infinity : job.id; +const comparator = (a, b) => { + const diff2 = getId(a) - getId(b); + if (diff2 === 0) { + if (a.pre && !b.pre) + return -1; + if (b.pre && !a.pre) + return 1; + } + return diff2; +}; +function flushJobs(seen) { + isFlushPending = false; + isFlushing = true; + { + seen = seen || /* @__PURE__ */ new Map(); + } + queue$1.sort(comparator); + const check = (job) => checkRecursiveUpdates(seen, job); + try { + for (flushIndex = 0; flushIndex < queue$1.length; flushIndex++) { + const job = queue$1[flushIndex]; + if (job && job.active !== false) { + if (check(job)) { + continue; + } + callWithErrorHandling(job, null, 14); + } + } + } finally { + flushIndex = 0; + queue$1.length = 0; + flushPostFlushCbs(seen); + isFlushing = false; + currentFlushPromise = null; + if (queue$1.length || pendingPostFlushCbs.length) { + flushJobs(seen); + } + } +} +function checkRecursiveUpdates(seen, fn) { + if (!seen.has(fn)) { + seen.set(fn, 1); + } else { + const count = seen.get(fn); + if (count > RECURSION_LIMIT) { + const instance = fn.ownerInstance; + const componentName = instance && getComponentName(instance.type); + handleError( + `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, + null, + 10 + ); + return true; + } else { + seen.set(fn, count + 1); + } + } +} +let devtools; +let buffer = []; +let devtoolsNotInstalled = false; +function emit$1(event, ...args) { + if (devtools) { + devtools.emit(event, ...args); + } else if (!devtoolsNotInstalled) { + buffer.push({ event, args }); + } +} +function setDevtoolsHook(hook, target) { + var _a, _b; + devtools = hook; + if (devtools) { + devtools.enabled = true; + buffer.forEach(({ event, args }) => devtools.emit(event, ...args)); + buffer = []; + } else if ( + // handle late devtools injection - only do this if we are in an actual + // browser environment to avoid the timer handle stalling test runner exit + // (#4815) + typeof window !== "undefined" && // some envs mock window but not fully + window.HTMLElement && // also exclude jsdom + !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom")) + ) { + const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; + replay.push((newHook) => { + setDevtoolsHook(newHook, target); + }); + setTimeout(() => { + if (!devtools) { + target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; + devtoolsNotInstalled = true; + buffer = []; + } + }, 3e3); + } else { + devtoolsNotInstalled = true; + buffer = []; + } +} +function devtoolsInitApp(app, version2) { + emit$1("app:init", app, version2, { + Fragment, + Text, + Comment, + Static + }); +} +const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook( + "component:added" + /* COMPONENT_ADDED */ +); +const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook( + "component:updated" + /* COMPONENT_UPDATED */ +); +const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook( + "component:removed" + /* COMPONENT_REMOVED */ +); +const devtoolsComponentRemoved = (component) => { + if (devtools && typeof devtools.cleanupBuffer === "function" && // remove the component if it wasn't buffered + !devtools.cleanupBuffer(component)) { + _devtoolsComponentRemoved(component); + } +}; +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function createDevtoolsComponentHook(hook) { + return (component) => { + emit$1( + hook, + component.appContext.app, + component.uid, + // fixed by xxxxxx + // 为 0 是 App,无 parent 是 Page 指向 App + component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0, + component + ); + }; +} +const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook( + "perf:start" + /* PERFORMANCE_START */ +); +const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook( + "perf:end" + /* PERFORMANCE_END */ +); +function createDevtoolsPerformanceHook(hook) { + return (component, type, time) => { + emit$1(hook, component.appContext.app, component.uid, component, type, time); + }; +} +function devtoolsComponentEmit(component, event, params) { + emit$1( + "component:emit", + component.appContext.app, + component, + event, + params + ); +} +function emit(instance, event, ...rawArgs) { + if (instance.isUnmounted) + return; + const props = instance.vnode.props || EMPTY_OBJ; + { + const { + emitsOptions, + propsOptions: [propsOptions] + } = instance; + if (emitsOptions) { + if (!(event in emitsOptions) && true) { + if (!propsOptions || !(toHandlerKey(event) in propsOptions)) { + warn$1( + `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.` + ); + } + } else { + const validator = emitsOptions[event]; + if (isFunction(validator)) { + const isValid = validator(...rawArgs); + if (!isValid) { + warn$1( + `Invalid event arguments: event validation failed for event "${event}".` + ); + } + } + } + } + } + let args = rawArgs; + const isModelListener2 = event.startsWith("update:"); + const modelArg = isModelListener2 && event.slice(7); + if (modelArg && modelArg in props) { + const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`; + const { number, trim } = props[modifiersKey] || EMPTY_OBJ; + if (trim) { + args = rawArgs.map((a) => isString(a) ? a.trim() : a); + } + if (number) { + args = rawArgs.map(looseToNumber); + } + } + { + devtoolsComponentEmit(instance, event, args); + } + { + const lowerCaseEvent = event.toLowerCase(); + if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) { + warn$1( + `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName( + instance, + instance.type + )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate( + event + )}" instead of "${event}".` + ); + } + } + let handlerName; + let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249) + props[handlerName = toHandlerKey(camelize(event))]; + if (!handler && isModelListener2) { + handler = props[handlerName = toHandlerKey(hyphenate(event))]; + } + if (handler) { + callWithAsyncErrorHandling( + handler, + instance, + 6, + args + ); + } + const onceHandler = props[handlerName + `Once`]; + if (onceHandler) { + if (!instance.emitted) { + instance.emitted = {}; + } else if (instance.emitted[handlerName]) { + return; + } + instance.emitted[handlerName] = true; + callWithAsyncErrorHandling( + onceHandler, + instance, + 6, + args + ); + } +} +function normalizeEmitsOptions(comp, appContext, asMixin = false) { + const cache = appContext.emitsCache; + const cached = cache.get(comp); + if (cached !== void 0) { + return cached; + } + const raw = comp.emits; + let normalized = {}; + let hasExtends = false; + if (!isFunction(comp)) { + const extendEmits = (raw2) => { + const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); + if (normalizedFromExtend) { + hasExtends = true; + extend(normalized, normalizedFromExtend); + } + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendEmits); + } + if (comp.extends) { + extendEmits(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendEmits); + } + } + if (!raw && !hasExtends) { + if (isObject$1(comp)) { + cache.set(comp, null); + } + return null; + } + if (isArray(raw)) { + raw.forEach((key) => normalized[key] = null); + } else { + extend(normalized, raw); + } + if (isObject$1(comp)) { + cache.set(comp, normalized); + } + return normalized; +} +function isEmitListener(options, key) { + if (!options || !isOn(key)) { + return false; + } + key = key.slice(2).replace(/Once$/, ""); + return hasOwn$1(options, key[0].toLowerCase() + key.slice(1)) || hasOwn$1(options, hyphenate(key)) || hasOwn$1(options, key); +} +let currentRenderingInstance = null; +function setCurrentRenderingInstance(instance) { + const prev = currentRenderingInstance; + currentRenderingInstance = instance; + instance && instance.type.__scopeId || null; + return prev; +} +const COMPONENTS = "components"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component2 = instance.type; + if (type === COMPONENTS) { + const selfName = getComponentName( + Component2, + false + ); + if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) { + return Component2; + } + } + const res = ( + // local registration + // check instance[type] first which is resolved for options API + resolve(instance[type] || Component2[type], name) || // global registration + resolve(instance.appContext[type], name) + ); + if (!res && maybeSelfReference) { + return Component2; + } + if (warnMissing && !res) { + const extra = type === COMPONENTS ? ` +If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; + warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); + } + return res; + } else { + warn$1( + `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().` + ); + } +} +function resolve(registry, name) { + return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); +} +function watchSyncEffect(effect2, options) { + return doWatch( + effect2, + null, + extend({}, options, { flush: "sync" }) + ); +} +const INITIAL_WATCHER_VALUE = {}; +function watch(source, cb, options) { + if (!isFunction(cb)) { + warn$1( + `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.` + ); + } + return doWatch(source, cb, options); +} +function doWatch(source, cb, { + immediate, + deep, + flush, + once: once2, + onTrack, + onTrigger +} = EMPTY_OBJ) { + if (cb && once2) { + const _cb = cb; + cb = (...args) => { + _cb(...args); + unwatch(); + }; + } + if (deep !== void 0 && typeof deep === "number") { + warn$1( + `watch() "deep" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.` + ); + } + if (!cb) { + if (immediate !== void 0) { + warn$1( + `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.` + ); + } + if (deep !== void 0) { + warn$1( + `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.` + ); + } + if (once2 !== void 0) { + warn$1( + `watch() "once" option is only respected when using the watch(source, callback, options?) signature.` + ); + } + } + const warnInvalidSource = (s2) => { + warn$1( + `Invalid watch source: `, + s2, + `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.` + ); + }; + const instance = currentInstance; + const reactiveGetter = (source2) => deep === true ? source2 : ( + // for deep: false, only traverse root-level properties + traverse(source2, deep === false ? 1 : void 0) + ); + let getter; + let forceTrigger = false; + let isMultiSource = false; + if (isRef(source)) { + getter = () => source.value; + forceTrigger = isShallow(source); + } else if (isReactive(source)) { + getter = () => reactiveGetter(source); + forceTrigger = true; + } else if (isArray(source)) { + isMultiSource = true; + forceTrigger = source.some((s2) => isReactive(s2) || isShallow(s2)); + getter = () => source.map((s2) => { + if (isRef(s2)) { + return s2.value; + } else if (isReactive(s2)) { + return reactiveGetter(s2); + } else if (isFunction(s2)) { + return callWithErrorHandling(s2, instance, 2); + } else { + warnInvalidSource(s2); + } + }); + } else if (isFunction(source)) { + if (cb) { + getter = () => callWithErrorHandling(source, instance, 2); + } else { + getter = () => { + if (cleanup) { + cleanup(); + } + return callWithAsyncErrorHandling( + source, + instance, + 3, + [onCleanup] + ); + }; + } + } else { + getter = NOOP; + warnInvalidSource(source); + } + if (cb && deep) { + const baseGetter = getter; + getter = () => traverse(baseGetter()); + } + let cleanup; + let onCleanup = (fn) => { + cleanup = effect2.onStop = () => { + callWithErrorHandling(fn, instance, 4); + cleanup = effect2.onStop = void 0; + }; + }; + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = () => { + if (!effect2.active || !effect2.dirty) { + return; + } + if (cb) { + const newValue = effect2.run(); + if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) { + if (cleanup) { + cleanup(); + } + callWithAsyncErrorHandling(cb, instance, 3, [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, + onCleanup + ]); + oldValue = newValue; + } + } else { + effect2.run(); + } + }; + job.allowRecurse = !!cb; + let scheduler; + if (flush === "sync") { + scheduler = job; + } else if (flush === "post") { + scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense); + } else { + job.pre = true; + if (instance) + job.id = instance.uid; + scheduler = () => queueJob(job); + } + const effect2 = new ReactiveEffect(getter, NOOP, scheduler); + const scope = getCurrentScope(); + const unwatch = () => { + effect2.stop(); + if (scope) { + remove(scope.effects, effect2); + } + }; + { + effect2.onTrack = onTrack; + effect2.onTrigger = onTrigger; + } + if (cb) { + if (immediate) { + job(); + } else { + oldValue = effect2.run(); + } + } else if (flush === "post") { + queuePostRenderEffect$1( + effect2.run.bind(effect2), + instance && instance.suspense + ); + } else { + effect2.run(); + } + return unwatch; +} +function instanceWatch(source, value, options) { + const publicThis = this.proxy; + const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); + let cb; + if (isFunction(value)) { + cb = value; + } else { + cb = value.handler; + options = value; + } + const reset = setCurrentInstance(this); + const res = doWatch(getter, cb.bind(publicThis), options); + reset(); + return res; +} +function createPathGetter(ctx, path) { + const segments = path.split("."); + return () => { + let cur = ctx; + for (let i = 0; i < segments.length && cur; i++) { + cur = cur[segments[i]]; + } + return cur; + }; +} +function traverse(value, depth, currentDepth = 0, seen) { + if (!isObject$1(value) || value["__v_skip"]) { + return value; + } + if (depth && depth > 0) { + if (currentDepth >= depth) { + return value; + } + currentDepth++; + } + seen = seen || /* @__PURE__ */ new Set(); + if (seen.has(value)) { + return value; + } + seen.add(value); + if (isRef(value)) { + traverse(value.value, depth, currentDepth, seen); + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + traverse(value[i], depth, currentDepth, seen); + } + } else if (isSet(value) || isMap(value)) { + value.forEach((v) => { + traverse(v, depth, currentDepth, seen); + }); + } else if (isPlainObject$1(value)) { + for (const key in value) { + traverse(value[key], depth, currentDepth, seen); + } + } + return value; +} +function validateDirectiveName(name) { + if (isBuiltInDirective(name)) { + warn$1("Do not use built-in directive ids as custom directive id: " + name); + } +} +function createAppContext() { + return { + app: null, + config: { + isNativeTag: NO, + performance: false, + globalProperties: {}, + optionMergeStrategies: {}, + errorHandler: void 0, + warnHandler: void 0, + compilerOptions: {} + }, + mixins: [], + components: {}, + directives: {}, + provides: /* @__PURE__ */ Object.create(null), + optionsCache: /* @__PURE__ */ new WeakMap(), + propsCache: /* @__PURE__ */ new WeakMap(), + emitsCache: /* @__PURE__ */ new WeakMap() + }; +} +let uid$1 = 0; +function createAppAPI(render, hydrate) { + return function createApp2(rootComponent, rootProps = null) { + if (!isFunction(rootComponent)) { + rootComponent = extend({}, rootComponent); + } + if (rootProps != null && !isObject$1(rootProps)) { + warn$1(`root props passed to app.mount() must be an object.`); + rootProps = null; + } + const context = createAppContext(); + const installedPlugins = /* @__PURE__ */ new WeakSet(); + const app = context.app = { + _uid: uid$1++, + _component: rootComponent, + _props: rootProps, + _container: null, + _context: context, + _instance: null, + version, + get config() { + return context.config; + }, + set config(v) { + { + warn$1( + `app.config cannot be replaced. Modify individual options instead.` + ); + } + }, + use(plugin2, ...options) { + if (installedPlugins.has(plugin2)) { + warn$1(`Plugin has already been applied to target app.`); + } else if (plugin2 && isFunction(plugin2.install)) { + installedPlugins.add(plugin2); + plugin2.install(app, ...options); + } else if (isFunction(plugin2)) { + installedPlugins.add(plugin2); + plugin2(app, ...options); + } else { + warn$1( + `A plugin must either be a function or an object with an "install" function.` + ); + } + return app; + }, + mixin(mixin) { + { + if (!context.mixins.includes(mixin)) { + context.mixins.push(mixin); + } else { + warn$1( + "Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "") + ); + } + } + return app; + }, + component(name, component) { + { + validateComponentName(name, context.config); + } + if (!component) { + return context.components[name]; + } + if (context.components[name]) { + warn$1(`Component "${name}" has already been registered in target app.`); + } + context.components[name] = component; + return app; + }, + directive(name, directive) { + { + validateDirectiveName(name); + } + if (!directive) { + return context.directives[name]; + } + if (context.directives[name]) { + warn$1(`Directive "${name}" has already been registered in target app.`); + } + context.directives[name] = directive; + return app; + }, + // fixed by xxxxxx + mount() { + }, + // fixed by xxxxxx + unmount() { + }, + provide(key, value) { + if (key in context.provides) { + warn$1( + `App already provides property with key "${String(key)}". It will be overwritten with the new value.` + ); + } + context.provides[key] = value; + return app; + }, + runWithContext(fn) { + const lastApp = currentApp; + currentApp = app; + try { + return fn(); + } finally { + currentApp = lastApp; + } + } + }; + return app; + }; +} +let currentApp = null; +function provide(key, value) { + if (!currentInstance) { + { + warn$1(`provide() can only be used inside setup().`); + } + } else { + let provides = currentInstance.provides; + const parentProvides = currentInstance.parent && currentInstance.parent.provides; + if (parentProvides === provides) { + provides = currentInstance.provides = Object.create(parentProvides); + } + provides[key] = value; + if (currentInstance.type.mpType === "app") { + currentInstance.appContext.app.provide(key, value); + } + } +} +function inject(key, defaultValue, treatDefaultAsFactory = false) { + const instance = currentInstance || currentRenderingInstance; + if (instance || currentApp) { + const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides; + if (provides && key in provides) { + return provides[key]; + } else if (arguments.length > 1) { + return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue; + } else { + warn$1(`injection "${String(key)}" not found.`); + } + } else { + warn$1(`inject() can only be used inside setup() or functional components.`); + } +} +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineComponent(options, extraOptions) { + return isFunction(options) ? ( + // #8326: extend call and options.name access are considered side-effects + // by Rollup, so we have to wrap it in a pure-annotated IIFE. + /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))() + ) : options; +} +const isKeepAlive = (vnode) => vnode.type.__isKeepAlive; +function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); +} +function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); +} +function registerKeepAliveHook(hook, type, target = currentInstance) { + const wrappedHook = hook.__wdc || (hook.__wdc = () => { + let current = target; + while (current) { + if (current.isDeactivated) { + return; + } + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + let current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) { + injectToKeepAliveRoot(wrappedHook, type, target, current); + } + current = current.parent; + } + } +} +function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + const injected = injectHook( + type, + hook, + keepAliveRoot, + true + /* prepend */ + ); + onUnmounted(() => { + remove(keepAliveRoot[type], injected); + }, target); +} +function injectHook(type, hook, target = currentInstance, prepend = false) { + if (target) { + if (isRootHook(type)) { + target = target.root; + } + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + if (target.isUnmounted) { + return; + } + pauseTracking(); + const reset = setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + reset(); + resetTracking(); + return res; + }); + if (prepend) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } else { + const apiName = toHandlerKey( + (ErrorTypeStrings[type] || type.replace(/^on/, "")).replace(/ hook$/, "") + ); + warn$1( + `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + ); + } +} +const createHook = (lifecycle) => (hook, target = currentInstance) => ( + // post-create lifecycle registrations are noops during SSR (except for serverPrefetch) + (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target) +); +const onBeforeMount = createHook("bm"); +const onMounted = createHook("m"); +const onBeforeUpdate = createHook("bu"); +const onUpdated = createHook("u"); +const onBeforeUnmount = createHook("bum"); +const onUnmounted = createHook("um"); +const onServerPrefetch = createHook("sp"); +const onRenderTriggered = createHook( + "rtg" +); +const onRenderTracked = createHook( + "rtc" +); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} +const getPublicInstance = (i) => { + if (!i) + return null; + if (isStatefulComponent(i)) + return getExposeProxy(i) || i.proxy; + return getPublicInstance(i.parent); +}; +const publicPropertiesMap = ( + // Move PURE marker to new line to workaround compiler discarding it + // due to type annotation + /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), { + $: (i) => i, + // fixed by xxxxxx vue-i18n 在 dev 模式,访问了 $el,故模拟一个假的 + // $el: i => i.vnode.el, + $el: (i) => i.__$el || (i.__$el = {}), + $data: (i) => i.data, + $props: (i) => shallowReadonly(i.props), + $attrs: (i) => shallowReadonly(i.attrs), + $slots: (i) => shallowReadonly(i.slots), + $refs: (i) => shallowReadonly(i.refs), + $parent: (i) => getPublicInstance(i.parent), + $root: (i) => getPublicInstance(i.root), + $emit: (i) => i.emit, + $options: (i) => resolveMergedOptions(i), + $forceUpdate: (i) => i.f || (i.f = () => { + i.effect.dirty = true; + queueJob(i.update); + }), + // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx + $watch: (i) => instanceWatch.bind(i) + }) +); +const isReservedPrefix = (key) => key === "_" || key === "$"; +const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn$1(state, key); +const PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + const { ctx, setupState, data, props, accessCache, type, appContext } = instance; + if (key === "__isVue") { + return true; + } + let normalizedProps; + if (key[0] !== "$") { + const n2 = accessCache[key]; + if (n2 !== void 0) { + switch (n2) { + case 1: + return setupState[key]; + case 2: + return data[key]; + case 4: + return ctx[key]; + case 3: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1; + return setupState[key]; + } else if (data !== EMPTY_OBJ && hasOwn$1(data, key)) { + accessCache[key] = 2; + return data[key]; + } else if ( + // only cache other properties when instance has declared (thus stable) + // props + (normalizedProps = instance.propsOptions[0]) && hasOwn$1(normalizedProps, key) + ) { + accessCache[key] = 3; + return props[key]; + } else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (shouldCacheAccess) { + accessCache[key] = 0; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + track(instance, "get", key); + } else if (key === "$slots") { + track(instance, "get", key); + } + return publicGetter(instance); + } else if ( + // css module (injected by vue-loader) + (cssModule = type.__cssModules) && (cssModule = cssModule[key]) + ) { + return cssModule; + } else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if ( + // global properties + globalProperties = appContext.config.globalProperties, hasOwn$1(globalProperties, key) + ) { + { + return globalProperties[key]; + } + } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading + // to infinite warning loop + key.indexOf("__v") !== 0)) { + if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn$1(data, key)) { + warn$1( + `Property ${JSON.stringify( + key + )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.` + ); + } else if (instance === currentRenderingInstance) { + warn$1( + `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.` + ); + } + } + }, + set({ _: instance }, key, value) { + const { data, setupState, ctx } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value; + return true; + } else if (setupState.__isScriptSetup && hasOwn$1(setupState, key)) { + warn$1(`Cannot mutate