Full Code of anyup/uView-Pro for AI

master 59af59f5ea16 cached
633 files
3.4 MB
915.1k tokens
699 symbols
1 requests
Download .txt
Showing preview only (4,108K chars total). Download the full file or copy to clipboard to get everything.
Repository: anyup/uView-Pro
Branch: master
Commit: 59af59f5ea16
Files: 633
Total size: 3.4 MB

Directory structure:
gitextract_x38b8_sy/

├── .changelogrc.js
├── .copilot.md
├── .cz-config.js
├── .czrc
├── .editorconfig
├── .eslintignore
├── .gitee/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   └── feature_request.yml
│   └── PULL_REQUEST_TEMPLATE.md
├── .github/
│   └── ISSUE_TEMPLATE/
│       ├── bug_report.md
│       ├── feature_request.md
│       └── pull_request_template.md
├── .gitignore
├── .hbuilderx/
│   └── launch.json
├── .husky/
│   ├── commit-msg
│   └── pre-commit
├── .lintstagedrc
├── .nvmrc
├── .prettierignore
├── .prettierrc.js
├── .vscode/
│   ├── extensions.json
│   ├── settings.json
│   └── uview-pro.code-snippets
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── README-pnpm.md
├── README.en.md
├── README.md
├── commitlint.config.js
├── edgeone.json
├── harmony-configs/
│   └── build-profile.json5
├── index.html
├── package.json
├── scripts/
│   ├── README.md
│   ├── contributors-map.json
│   ├── contributors-usage.md
│   ├── fix-empty-css.js
│   ├── generate-changelog.js
│   ├── listColors.mjs
│   ├── release.bat
│   ├── release.js
│   ├── release.ps1
│   ├── release.sh
│   ├── replaceColors.mjs
│   ├── test-npm-cleanup.js
│   ├── test-npm-package.js
│   └── update-date.js
├── shims-uni.d.ts
├── src/
│   ├── App.ku.vue
│   ├── App.vue
│   ├── api/
│   │   └── index.ts
│   ├── common/
│   │   ├── classify.data.ts
│   │   ├── constant.ts
│   │   ├── demo-experience.config.json
│   │   ├── demo.scss
│   │   ├── http.interceptor.ts
│   │   ├── iconfont.css
│   │   ├── index.list.ts
│   │   ├── request.ts
│   │   ├── share.ts
│   │   ├── useExperience.ts
│   │   ├── useExperienceCenter.ts
│   │   ├── useHooks.ts
│   │   └── util.ts
│   ├── components/
│   │   ├── demo-animation/
│   │   │   ├── animation.css
│   │   │   └── demo-animation.vue
│   │   ├── demo-card/
│   │   │   └── demo-card.vue
│   │   ├── demo-guide/
│   │   │   └── demo-guide.vue
│   │   ├── demo-guide-use/
│   │   │   └── demo-guide-use.vue
│   │   ├── demo-page/
│   │   │   └── demo-page.vue
│   │   ├── page-nav/
│   │   │   └── page-nav.vue
│   │   └── wx-tips/
│   │       └── wx-tips.vue
│   ├── env.d.ts
│   ├── locales/
│   │   ├── index.ts
│   │   └── langs/
│   │       ├── en.json
│   │       └── zh-Hans.json
│   ├── main.ts
│   ├── manifest.json
│   ├── pages/
│   │   ├── componentsA/
│   │   │   ├── avatar/
│   │   │   │   └── index.vue
│   │   │   ├── avatarCropper/
│   │   │   │   └── index.vue
│   │   │   ├── backTop/
│   │   │   │   └── index.vue
│   │   │   ├── calendar/
│   │   │   │   └── index.vue
│   │   │   ├── empty/
│   │   │   │   └── index.vue
│   │   │   ├── field/
│   │   │   │   └── index.vue
│   │   │   ├── form/
│   │   │   │   └── index.vue
│   │   │   ├── fullScreen/
│   │   │   │   └── index.vue
│   │   │   ├── icon/
│   │   │   │   └── index.vue
│   │   │   ├── indexList/
│   │   │   │   └── index.vue
│   │   │   ├── input/
│   │   │   │   └── index.vue
│   │   │   ├── keyboard/
│   │   │   │   └── index.vue
│   │   │   ├── lazyLoad/
│   │   │   │   └── index.vue
│   │   │   ├── modal/
│   │   │   │   └── index.vue
│   │   │   ├── navbar/
│   │   │   │   └── index.vue
│   │   │   ├── noNetwork/
│   │   │   │   └── index.vue
│   │   │   ├── select/
│   │   │   │   └── index.vue
│   │   │   ├── slider/
│   │   │   │   └── index.vue
│   │   │   ├── tabs/
│   │   │   │   └── index.vue
│   │   │   ├── tag/
│   │   │   │   └── index.vue
│   │   │   ├── test/
│   │   │   │   └── index.vue
│   │   │   ├── textarea/
│   │   │   │   └── index.vue
│   │   │   ├── timeLine/
│   │   │   │   └── index.vue
│   │   │   ├── toast/
│   │   │   │   └── index.vue
│   │   │   ├── topTips/
│   │   │   │   └── index.vue
│   │   │   └── verificationCode/
│   │   │       └── index.vue
│   │   ├── componentsB/
│   │   │   ├── card/
│   │   │   │   └── index.vue
│   │   │   ├── checkbox/
│   │   │   │   └── index.vue
│   │   │   ├── divider/
│   │   │   │   └── index.vue
│   │   │   ├── dropdown/
│   │   │   │   └── index.vue
│   │   │   ├── image/
│   │   │   │   └── index.vue
│   │   │   ├── line/
│   │   │   │   └── index.vue
│   │   │   ├── loading/
│   │   │   │   └── index.vue
│   │   │   ├── loadingPopup/
│   │   │   │   └── index.vue
│   │   │   ├── noticeBar/
│   │   │   │   └── index.vue
│   │   │   ├── picker/
│   │   │   │   └── index.vue
│   │   │   ├── radio/
│   │   │   │   └── index.vue
│   │   │   ├── rate/
│   │   │   │   └── index.vue
│   │   │   ├── readMore/
│   │   │   │   └── index.vue
│   │   │   ├── search/
│   │   │   │   ├── index.vue
│   │   │   │   └── types.ts
│   │   │   ├── skeleton/
│   │   │   │   └── index.vue
│   │   │   ├── steps/
│   │   │   │   └── index.vue
│   │   │   ├── sticky/
│   │   │   │   └── index.vue
│   │   │   ├── swipeAction/
│   │   │   │   └── index.vue
│   │   │   ├── swiper/
│   │   │   │   ├── image.ts
│   │   │   │   └── index.vue
│   │   │   ├── switch/
│   │   │   │   └── index.vue
│   │   │   ├── tabbar/
│   │   │   │   └── index.vue
│   │   │   ├── table/
│   │   │   │   └── index.vue
│   │   │   ├── transition/
│   │   │   │   └── index.vue
│   │   │   ├── upload/
│   │   │   │   └── index.vue
│   │   │   └── waterfall/
│   │   │       └── index.vue
│   │   ├── componentsC/
│   │   │   ├── actionSheet/
│   │   │   │   └── index.vue
│   │   │   ├── alertTips/
│   │   │   │   └── index.vue
│   │   │   ├── badge/
│   │   │   │   └── index.vue
│   │   │   ├── button/
│   │   │   │   └── index.vue
│   │   │   ├── cell/
│   │   │   │   └── index.vue
│   │   │   ├── circleProgress/
│   │   │   │   └── index.vue
│   │   │   ├── collapse/
│   │   │   │   └── index.vue
│   │   │   ├── color/
│   │   │   │   └── index.vue
│   │   │   ├── countDown/
│   │   │   │   └── index.vue
│   │   │   ├── countTo/
│   │   │   │   └── index.vue
│   │   │   ├── fab/
│   │   │   │   └── index.vue
│   │   │   ├── gap/
│   │   │   │   └── index.vue
│   │   │   ├── grid/
│   │   │   │   └── index.vue
│   │   │   ├── layout/
│   │   │   │   └── index.vue
│   │   │   ├── link/
│   │   │   │   └── index.vue
│   │   │   ├── loadmore/
│   │   │   │   └── index.vue
│   │   │   ├── mask/
│   │   │   │   └── index.vue
│   │   │   ├── messageInput/
│   │   │   │   └── index.vue
│   │   │   ├── numberBox/
│   │   │   │   └── index.vue
│   │   │   ├── pagination/
│   │   │   │   └── index.vue
│   │   │   ├── popup/
│   │   │   │   └── index.vue
│   │   │   ├── progress/
│   │   │   │   └── index.vue
│   │   │   ├── section/
│   │   │   │   └── index.vue
│   │   │   ├── subsection/
│   │   │   │   └── index.vue
│   │   │   └── text/
│   │   │       └── index.vue
│   │   ├── example/
│   │   │   ├── about/
│   │   │   │   ├── about-me.vue
│   │   │   │   ├── contributors.vue
│   │   │   │   ├── faq.vue
│   │   │   │   ├── guide.vue
│   │   │   │   ├── license.vue
│   │   │   │   ├── settings.vue
│   │   │   │   └── version.vue
│   │   │   ├── about.vue
│   │   │   ├── components.config.ts
│   │   │   ├── components.vue
│   │   │   ├── experienceMap.vue
│   │   │   ├── fullScreen.vue
│   │   │   ├── js.config.ts
│   │   │   ├── js.vue
│   │   │   ├── template.config.ts
│   │   │   └── template.vue
│   │   ├── hooks/
│   │   │   ├── useModal/
│   │   │   │   └── index.vue
│   │   │   └── useToast/
│   │   │       └── index.vue
│   │   ├── index/
│   │   │   └── index.vue
│   │   ├── library/
│   │   │   ├── color/
│   │   │   │   └── index.vue
│   │   │   ├── colorSwitch/
│   │   │   │   └── index.vue
│   │   │   ├── debounce/
│   │   │   │   └── index.vue
│   │   │   ├── deepClone/
│   │   │   │   └── index.vue
│   │   │   ├── deepMerge/
│   │   │   │   └── index.vue
│   │   │   ├── getRect/
│   │   │   │   └── index.vue
│   │   │   ├── guid/
│   │   │   │   └── index.vue
│   │   │   ├── http/
│   │   │   │   └── index.vue
│   │   │   ├── md5/
│   │   │   │   └── index.vue
│   │   │   ├── mpShare/
│   │   │   │   └── index.vue
│   │   │   ├── queryParams/
│   │   │   │   └── index.vue
│   │   │   ├── random/
│   │   │   │   └── index.vue
│   │   │   ├── randomArray/
│   │   │   │   └── index.vue
│   │   │   ├── route/
│   │   │   │   ├── index.vue
│   │   │   │   └── routeTo.vue
│   │   │   ├── test/
│   │   │   │   └── index.vue
│   │   │   ├── timeFormat/
│   │   │   │   └── index.vue
│   │   │   ├── timeFrom/
│   │   │   │   └── index.vue
│   │   │   └── trim/
│   │   │       └── index.vue
│   │   ├── other/
│   │   │   ├── locale/
│   │   │   │   └── index.vue
│   │   │   └── theme/
│   │   │       └── index.vue
│   │   ├── scenes/
│   │   │   ├── dashboard/
│   │   │   │   └── index.vue
│   │   │   ├── favorites/
│   │   │   │   └── index.vue
│   │   │   ├── index.vue
│   │   │   ├── notes/
│   │   │   │   └── index.vue
│   │   │   └── todo/
│   │   │       └── index.vue
│   │   └── template/
│   │       ├── address/
│   │       │   ├── addSite.vue
│   │       │   └── index.vue
│   │       ├── citySelect/
│   │       │   └── index.vue
│   │       ├── comment/
│   │       │   ├── index.vue
│   │       │   └── reply.vue
│   │       ├── coupon/
│   │       │   └── index.vue
│   │       ├── detail/
│   │       │   └── index.vue
│   │       ├── keyboardPay/
│   │       │   └── index.vue
│   │       ├── login/
│   │       │   ├── code.vue
│   │       │   └── index.vue
│   │       ├── mallMenu/
│   │       │   ├── index1.vue
│   │       │   └── index2.vue
│   │       ├── order/
│   │       │   └── index.vue
│   │       ├── submitBar/
│   │       │   └── index.vue
│   │       └── wxCenter/
│   │           └── index.vue
│   ├── pages.json
│   ├── shime-uni.d.ts
│   ├── static/
│   │   ├── app/
│   │   │   └── markdown/
│   │   │       ├── actionSheet.md
│   │   │       ├── addQQGroup.md
│   │   │       ├── alertTips.md
│   │   │       ├── avatar.md
│   │   │       ├── avatarCropper.md
│   │   │       ├── backTop.md
│   │   │       ├── badge.md
│   │   │       ├── button.md
│   │   │       ├── calendar.md
│   │   │       ├── card.md
│   │   │       ├── cell.md
│   │   │       ├── changeGuide.md
│   │   │       ├── changelog.md
│   │   │       ├── chatGroup.md
│   │   │       ├── checkbox.md
│   │   │       ├── circleProgress.md
│   │   │       ├── collapse.md
│   │   │       ├── color.md
│   │   │       ├── colorSwitch.md
│   │   │       ├── colorjs.md
│   │   │       ├── common.md
│   │   │       ├── countDown.md
│   │   │       ├── countTo.md
│   │   │       ├── debounce.md
│   │   │       ├── deepClone.md
│   │   │       ├── deepMerge.md
│   │   │       ├── divider.md
│   │   │       ├── downloadSetting.md
│   │   │       ├── dropdown.md
│   │   │       ├── empty.md
│   │   │       ├── fastUse.md
│   │   │       ├── feature.md
│   │   │       ├── field.md
│   │   │       ├── form.md
│   │   │       ├── fullScreen.md
│   │   │       ├── gap.md
│   │   │       ├── getRect.md
│   │   │       ├── grid.md
│   │   │       ├── guid.md
│   │   │       ├── http.md
│   │   │       ├── icon.md
│   │   │       ├── image.md
│   │   │       ├── indexList.md
│   │   │       ├── input.md
│   │   │       ├── install.md
│   │   │       ├── intro copy.md
│   │   │       ├── intro.md
│   │   │       ├── keyboard.md
│   │   │       ├── layout.md
│   │   │       ├── lazyLoad.md
│   │   │       ├── line.md
│   │   │       ├── lineProgress.md
│   │   │       ├── link.md
│   │   │       ├── loadMore.md
│   │   │       ├── loading.md
│   │   │       ├── mask.md
│   │   │       ├── md5.md
│   │   │       ├── messageInput.md
│   │   │       ├── modal.md
│   │   │       ├── mpShare.md
│   │   │       ├── navbar.md
│   │   │       ├── noNetwork.md
│   │   │       ├── noticeBar.md
│   │   │       ├── npmSetting.md
│   │   │       ├── numberBox.md
│   │   │       ├── nvue.md
│   │   │       ├── parse.md
│   │   │       ├── picker.md
│   │   │       ├── popup.md
│   │   │       ├── queryParams.md
│   │   │       ├── quickstart.md
│   │   │       ├── radio.md
│   │   │       ├── random.md
│   │   │       ├── randomArray.md
│   │   │       ├── rate.md
│   │   │       ├── read.md
│   │   │       ├── readMore.md
│   │   │       ├── request.md
│   │   │       ├── resource.md
│   │   │       ├── route.md
│   │   │       ├── safeAreaInset.md
│   │   │       ├── search.md
│   │   │       ├── section.md
│   │   │       ├── select.md
│   │   │       ├── setting.md
│   │   │       ├── settingDesc.md
│   │   │       ├── skeleton.md
│   │   │       ├── slider.md
│   │   │       ├── steps.md
│   │   │       ├── sticky.md
│   │   │       ├── subsection.md
│   │   │       ├── swipeAction.md
│   │   │       ├── swiper.md
│   │   │       ├── switch.md
│   │   │       ├── tabbar.md
│   │   │       ├── table.md
│   │   │       ├── tabs.md
│   │   │       ├── tabsSwiper.md
│   │   │       ├── tag.md
│   │   │       ├── test.md
│   │   │       ├── time.md
│   │   │       ├── timeLine.md
│   │   │       ├── toast.md
│   │   │       ├── topTips.md
│   │   │       ├── trim.md
│   │   │       ├── uniModulesSetting.md
│   │   │       ├── upload.md
│   │   │       ├── verificationCode.md
│   │   │       ├── vueUse.md
│   │   │       ├── vuexDetail.md
│   │   │       └── waterfall.md
│   │   └── common/
│   │       └── js/
│   │           └── touch-emulator.js
│   ├── theme.json
│   ├── uni.scss
│   ├── uni_modules/
│   │   ├── uview-pro/
│   │   │   ├── .npmignore
│   │   │   ├── changelog.md
│   │   │   ├── components/
│   │   │   │   ├── u-action-sheet/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-action-sheet.vue
│   │   │   │   ├── u-action-sheet-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-action-sheet-item.vue
│   │   │   │   ├── u-alert-tips/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-alert-tips.vue
│   │   │   │   ├── u-avatar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-avatar.vue
│   │   │   │   ├── u-avatar-cropper/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   ├── u-avatar-cropper.vue
│   │   │   │   │   ├── weCropper.d.ts
│   │   │   │   │   ├── weCropper.js
│   │   │   │   │   └── weCropper.ts
│   │   │   │   ├── u-back-top/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-back-top.vue
│   │   │   │   ├── u-badge/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-badge.vue
│   │   │   │   ├── u-button/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-button.vue
│   │   │   │   ├── u-calendar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-calendar.vue
│   │   │   │   ├── u-car-keyboard/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-car-keyboard.vue
│   │   │   │   ├── u-card/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-card.vue
│   │   │   │   ├── u-cell-group/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-cell-group.vue
│   │   │   │   ├── u-cell-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-cell-item.vue
│   │   │   │   ├── u-checkbox/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-checkbox.vue
│   │   │   │   ├── u-checkbox-group/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-checkbox-group.vue
│   │   │   │   ├── u-circle-progress/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-circle-progress.vue
│   │   │   │   ├── u-city-select/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-city-select.vue
│   │   │   │   ├── u-col/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-col.vue
│   │   │   │   ├── u-collapse/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-collapse.vue
│   │   │   │   ├── u-collapse-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-collapse-item.vue
│   │   │   │   ├── u-column-notice/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-column-notice.vue
│   │   │   │   ├── u-config-provider/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-config-provider.vue
│   │   │   │   ├── u-count-down/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-count-down.vue
│   │   │   │   ├── u-count-to/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-count-to.vue
│   │   │   │   ├── u-divider/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-divider.vue
│   │   │   │   ├── u-dropdown/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-dropdown.vue
│   │   │   │   ├── u-dropdown-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-dropdown-item.vue
│   │   │   │   ├── u-empty/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-empty.vue
│   │   │   │   ├── u-fab/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-fab.vue
│   │   │   │   ├── u-field/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-field.vue
│   │   │   │   ├── u-form/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-form.vue
│   │   │   │   ├── u-form-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-form-item.vue
│   │   │   │   ├── u-full-screen/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-full-screen.vue
│   │   │   │   ├── u-gap/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-gap.vue
│   │   │   │   ├── u-grid/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-grid.vue
│   │   │   │   ├── u-grid-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-grid-item.vue
│   │   │   │   ├── u-icon/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-icon.vue
│   │   │   │   ├── u-image/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-image.vue
│   │   │   │   ├── u-index-anchor/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-index-anchor.vue
│   │   │   │   ├── u-index-list/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-index-list.vue
│   │   │   │   ├── u-input/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-input.vue
│   │   │   │   ├── u-keyboard/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-keyboard.vue
│   │   │   │   ├── u-lazy-load/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-lazy-load.vue
│   │   │   │   ├── u-line/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-line.vue
│   │   │   │   ├── u-line-progress/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-line-progress.vue
│   │   │   │   ├── u-link/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-link.vue
│   │   │   │   ├── u-loading/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-loading.vue
│   │   │   │   ├── u-loading-popup/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-loading-popup.vue
│   │   │   │   ├── u-loadmore/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-loadmore.vue
│   │   │   │   ├── u-mask/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-mask.vue
│   │   │   │   ├── u-message-input/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-message-input.vue
│   │   │   │   ├── u-modal/
│   │   │   │   │   ├── service.ts
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-modal.vue
│   │   │   │   ├── u-navbar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-navbar.vue
│   │   │   │   ├── u-no-network/
│   │   │   │   │   ├── image.ts
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-no-network.vue
│   │   │   │   ├── u-notice-bar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-notice-bar.vue
│   │   │   │   ├── u-number-box/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-number-box.vue
│   │   │   │   ├── u-number-keyboard/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-number-keyboard.vue
│   │   │   │   ├── u-pagination/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-pagination.vue
│   │   │   │   ├── u-picker/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-picker.vue
│   │   │   │   ├── u-popup/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-popup.vue
│   │   │   │   ├── u-radio/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-radio.vue
│   │   │   │   ├── u-radio-group/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-radio-group.vue
│   │   │   │   ├── u-rate/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-rate.vue
│   │   │   │   ├── u-read-more/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-read-more.vue
│   │   │   │   ├── u-root-portal/
│   │   │   │   │   └── u-root-portal.vue
│   │   │   │   ├── u-row/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-row.vue
│   │   │   │   ├── u-row-notice/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-row-notice.vue
│   │   │   │   ├── u-safe-bottom/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-safe-bottom.vue
│   │   │   │   ├── u-search/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-search.vue
│   │   │   │   ├── u-section/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-section.vue
│   │   │   │   ├── u-select/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-select.vue
│   │   │   │   ├── u-skeleton/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-skeleton.vue
│   │   │   │   ├── u-slider/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-slider.vue
│   │   │   │   ├── u-status-bar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-status-bar.vue
│   │   │   │   ├── u-step/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-step.vue
│   │   │   │   ├── u-steps/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-steps.vue
│   │   │   │   ├── u-sticky/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-sticky.vue
│   │   │   │   ├── u-subsection/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-subsection.vue
│   │   │   │   ├── u-swipe-action/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-swipe-action.vue
│   │   │   │   ├── u-swiper/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-swiper.vue
│   │   │   │   ├── u-switch/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-switch.vue
│   │   │   │   ├── u-tabbar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-tabbar.vue
│   │   │   │   ├── u-table/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-table.vue
│   │   │   │   ├── u-tabs/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-tabs.vue
│   │   │   │   ├── u-tabs-swiper/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-tabs-swiper.vue
│   │   │   │   ├── u-tag/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-tag.vue
│   │   │   │   ├── u-td/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-td.vue
│   │   │   │   ├── u-text/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-text.vue
│   │   │   │   ├── u-textarea/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-textarea.vue
│   │   │   │   ├── u-th/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-th.vue
│   │   │   │   ├── u-time-line/
│   │   │   │   │   └── u-time-line.vue
│   │   │   │   ├── u-time-line-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-time-line-item.vue
│   │   │   │   ├── u-toast/
│   │   │   │   │   ├── service.ts
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-toast.vue
│   │   │   │   ├── u-top-tips/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-top-tips.vue
│   │   │   │   ├── u-tr/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-tr.vue
│   │   │   │   ├── u-transition/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-transition.vue
│   │   │   │   ├── u-upload/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-upload.vue
│   │   │   │   ├── u-verification-code/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-verification-code.vue
│   │   │   │   └── u-waterfall/
│   │   │   │       ├── types.ts
│   │   │   │       └── u-waterfall.vue
│   │   │   ├── iconfont.css
│   │   │   ├── index.scss
│   │   │   ├── index.ts
│   │   │   ├── libs/
│   │   │   │   ├── config/
│   │   │   │   │   ├── color.ts
│   │   │   │   │   ├── config.ts
│   │   │   │   │   ├── theme-tokens.ts
│   │   │   │   │   └── zIndex.ts
│   │   │   │   ├── css/
│   │   │   │   │   ├── color.scss
│   │   │   │   │   ├── common.scss
│   │   │   │   │   ├── style.components.scss
│   │   │   │   │   ├── style.h5.scss
│   │   │   │   │   ├── style.mp.scss
│   │   │   │   │   ├── style.nvue.scss
│   │   │   │   │   ├── style.theme.scss
│   │   │   │   │   └── style.vue.scss
│   │   │   │   ├── function/
│   │   │   │   │   ├── $parent.ts
│   │   │   │   │   ├── addUnit.ts
│   │   │   │   │   ├── clipboard.ts
│   │   │   │   │   ├── color.ts
│   │   │   │   │   ├── colorGradient.ts
│   │   │   │   │   ├── debounce.ts
│   │   │   │   │   ├── deepClone.ts
│   │   │   │   │   ├── deepMerge.ts
│   │   │   │   │   ├── getParent.ts
│   │   │   │   │   ├── getRect.ts
│   │   │   │   │   ├── guid.ts
│   │   │   │   │   ├── md5.ts
│   │   │   │   │   ├── parent.ts
│   │   │   │   │   ├── queryParams.ts
│   │   │   │   │   ├── random.ts
│   │   │   │   │   ├── randomArray.ts
│   │   │   │   │   ├── route.ts
│   │   │   │   │   ├── styleUtils.ts
│   │   │   │   │   ├── sys.ts
│   │   │   │   │   ├── test.ts
│   │   │   │   │   ├── throttle.ts
│   │   │   │   │   ├── timeFormat.ts
│   │   │   │   │   ├── timeFrom.ts
│   │   │   │   │   ├── toast.ts
│   │   │   │   │   ├── trim.ts
│   │   │   │   │   └── type2icon.ts
│   │   │   │   ├── hooks/
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── useColor.ts
│   │   │   │   │   ├── useCompRelation.ts
│   │   │   │   │   ├── useDebounce.ts
│   │   │   │   │   ├── useEmitter.ts
│   │   │   │   │   ├── useLocale.ts
│   │   │   │   │   ├── useModal.ts
│   │   │   │   │   ├── useRect.ts
│   │   │   │   │   ├── useRouter.ts
│   │   │   │   │   ├── useTheme.ts
│   │   │   │   │   ├── useThrottle.ts
│   │   │   │   │   └── useToast.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── request/
│   │   │   │   │   ├── auto-http.ts
│   │   │   │   │   └── index.ts
│   │   │   │   ├── store/
│   │   │   │   │   └── index.ts
│   │   │   │   └── util/
│   │   │   │       ├── area.ts
│   │   │   │       ├── async-validator.d.ts
│   │   │   │       ├── async-validator.js
│   │   │   │       ├── calendar.d.ts
│   │   │   │       ├── calendar.js
│   │   │   │       ├── canvas-2d.ts
│   │   │   │       ├── city.ts
│   │   │   │       ├── config-provider.ts
│   │   │   │       ├── emitter.ts
│   │   │   │       ├── mitt.ts
│   │   │   │       ├── province.ts
│   │   │   │       └── system-theme.ts
│   │   │   ├── locale/
│   │   │   │   ├── index.ts
│   │   │   │   └── lang/
│   │   │   │       ├── en-US.ts
│   │   │   │       └── zh-CN.ts
│   │   │   ├── package.json
│   │   │   ├── readme.md
│   │   │   ├── theme.scss
│   │   │   └── types/
│   │   │       ├── components.d.ts
│   │   │       ├── global.d.ts
│   │   │       ├── ignore-errors.d.ts
│   │   │       ├── index.d.ts
│   │   │       └── uni-app.d.ts
│   │   └── zero-markdown-view/
│   │       ├── changelog.md
│   │       ├── components/
│   │       │   ├── mp-html/
│   │       │   │   ├── highlight/
│   │       │   │   │   ├── config.js
│   │       │   │   │   └── index.js
│   │       │   │   ├── latex/
│   │       │   │   │   └── index.js
│   │       │   │   ├── markdown/
│   │       │   │   │   └── index.js
│   │       │   │   ├── mp-html.vue
│   │       │   │   ├── node/
│   │       │   │   │   └── node.vue
│   │       │   │   ├── parser.js
│   │       │   │   └── style/
│   │       │   │       ├── index.js
│   │       │   │       └── parser.js
│   │       │   └── zero-markdown-view/
│   │       │       └── zero-markdown-view.vue
│   │       ├── package.json
│   │       └── readme.md
│   └── uview-pro.theme.ts
├── tsconfig.json
└── vite.config.ts

================================================
FILE CONTENTS
================================================

================================================
FILE: .changelogrc.js
================================================
module.exports = {
    preset: 'conventionalcommits',
    releaseCount: 0,
    outputUnreleased: true,
    lernaPackage: false,
    tagPrefix: 'v',
    issuePrefixes: ['#'],
    commitUrlFormat: '{{host}}/{{owner}}/{{repository}}/commit/{{hash}}',
    compareUrlFormat: '{{host}}/{{owner}}/{{repository}}/compare/{{previousTag}}...{{currentTag}}',
    issueUrlFormat: '{{host}}/{{owner}}/{{repository}}/issues/{{id}}',
    userUrlFormat: '{{host}}/{{user}}',
    // 自定义类型和 emoji
    types: [
        { type: 'feat', section: '✨ Features | 新功能' },
        { type: 'fix', section: '🐛 Bug Fixes | Bug 修复' },
        { type: 'docs', section: '📝 Documentation | 文档' },
        { type: 'style', section: '💄 Styles | 风格' },
        { type: 'refactor', section: '♻️ Code Refactoring | 代码重构' },
        { type: 'perf', section: '⚡ Performance Improvements | 性能优化' },
        { type: 'test', section: '✅ Tests | 测试' },
        { type: 'build', section: '📦‍ Build System | 打包构建' },
        { type: 'ci', section: '👷 Continuous Integration | CI 配置' },
        { type: 'chore', section: '🚀 Chore | 构建/工程依赖/工具' },
        { type: 'revert', section: '⏪ Revert | 回退' }
    ]
};


================================================
FILE: .copilot.md
================================================
项目说明:
本项目为 uView Pro 组件库,基于 uni-app、Vue3、TypeScript、Composition API 语法,重构自 uView UI 1.8.8。

目录规范:

- 每个组件目录下包含:组件名.vue、types.ts(Props、emit等类型定义)
- 组件代码路径:src/uni_modules/uview-pro/components/组件名/
- 示例代码路径:src/pages/

开发建议:

- 组件开发请统一使用 Vue3 + TS + <script setup> 语法
- 类型定义(Props、emit等)请放在 types.ts 文件
- 示例代码请放在 src/pages 下,便于查阅和演示


================================================
FILE: .cz-config.js
================================================
module.exports = {
    // 可选类型
    types: [
        { value: 'feat', name: 'feat:     新功能' },
        { value: 'fix', name: 'fix:      修复bug' },
        { value: 'docs', name: 'docs:     文档更新' },
        { value: 'style', name: 'style:    代码格式调整' },
        { value: 'refactor', name: 'refactor: 代码重构' },
        { value: 'perf', name: 'perf:     性能优化' },
        { value: 'test', name: 'test:     测试相关' },
        { value: 'build', name: 'build:    构建相关' },
        { value: 'ci', name: 'ci:        CI/CD相关' },
        { value: 'chore', name: 'chore:    其他修改' },
        { value: 'revert', name: 'revert:   回退代码' }
    ],
    // 消息步骤
    messages: {
        type: '选择更改类型:',
        scope: '更改范围 (可选):',
        subject: '简短描述:',
        body: '详细描述 (可选):',
        breaking: '破坏性变更 (可选):',
        footer: '关联issue (可选):',
        confirmCommit: '确认提交?'
    },
    // 跳过问题
    skipQuestions: ['body', 'footer'],
    // 范围列表
    scopes: [
        { name: 'components', description: '组件相关' },
        { name: 'pages', description: '页面相关' },
        { name: 'utils', description: '工具函数' },
        { name: 'styles', description: '样式相关' },
        { name: 'docs', description: '文档相关' },
        { name: 'config', description: '配置相关' },
        { name: 'deps', description: '依赖相关' }
    ],
    // 范围前缀
    scopePrefix: '',
    // 主题前缀
    subjectPrefix: '',
    // 主题后缀
    subjectSuffix: '',
    // 范围前缀
    scopePrefix: '',
    // 范围后缀
    scopeSuffix: '',
    // 主题前缀
    subjectPrefix: '',
    // 主题后缀
    subjectSuffix: '',
    // 破坏性变更前缀
    breakingPrefix: 'BREAKING CHANGE:',
    // 关联issue前缀
    footerPrefix: 'Closes',
    // 关联issue后缀
    footerSuffix: '',
    // 是否允许自定义范围
    allowCustomScopes: true,
    // 是否允许空范围
    allowEmptyScopes: true,
    // 是否允许自定义主题
    allowCustomSubject: true,
    // 是否允许空主题
    allowEmptySubject: false,
    // 主题最大长度
    subjectLimit: 100,
    // 范围最大长度
    scopeLimit: 100
};


================================================
FILE: .czrc
================================================
{
  "path": "./node_modules/cz-git"
} 

================================================
FILE: .editorconfig
================================================
[*]
#缩进风格:空格
indent_style = tab
#缩进大小2
indent_size = 4
#换行符lf
end_of_line = lf
#字符集utf-8
charset = utf-8




================================================
FILE: .eslintignore
================================================
unpackage
node_modules
async-validator.js
calendar.js
area.ts
city.ts
province.ts


================================================
FILE: .gitee/ISSUE_TEMPLATE/bug_report.yml
================================================
name: 问题反馈
about: 提交问题反馈或使用疑问,便于强化项目维护和优化体验
labels: ['bug', 'question']
title: '【问题反馈】'
body:
    - type: textarea
      attributes:
          label: 问题描述
          description: 请简要描述您遇到的问题或疑问。
    - type: textarea
      attributes:
          label: 复现步骤
          description: 请详细描述如何复现该问题,建议提供相关页面/组件/功能入口、操作步骤、期望结果与实际结果。
    - type: textarea
      attributes:
          label: 复现环境
          description: |
              - uView Pro 版本:
              - uni-app 版本:
              - 运行平台:H5 / 微信小程序 / 支付宝小程序 / App / 其他
              - 浏览器或系统版本:
    - type: textarea
      attributes:
          label: 截图或日志(可选)
          description: 如有报错信息、控制台输出、页面截图等,请一并附上,便于定位问题。
    - type: textarea
      attributes:
          label: 其他补充信息(可选)
          description: 如有相关代码片段、配置文件、第三方依赖等信息,请补充说明。


================================================
FILE: .gitee/ISSUE_TEMPLATE/feature_request.yml
================================================
name: 新功能征集
about: 提出新功能或优化建议,使 uView Pro 更强大!
labels: ['enhancement', 'feature-request']
title: '【新功能征集】'
body:
    - type: textarea
      attributes:
          label: 功能描述
          description: 简要说明您希望实现的功能是什么。
    - type: textarea
      attributes:
          label: 使用场景
          description: 举例说明该功能在实际项目中的应用场景或痛点。
    - type: textarea
      attributes:
          label: 期望效果
          description: 描述该功能实现后,开发者或用户将获得哪些便利。
    - type: textarea
      attributes:
          label: API 设计(可选)
          description: 如有具体 API 或用法建议,请一并提供。
    - type: textarea
      attributes:
          label: 相关资料(可选)
          description: 如有参考的其他框架、设计稿、交互原型等,请附上链接或截图。
    - type: textarea
      attributes:
          label: 扩展建议(可选)
          description: 如有多端兼容性、性能、可配置性、文档等建议可补充。


================================================
FILE: .gitee/PULL_REQUEST_TEMPLATE.md
================================================
# 该模板用于 Gitee Pull Request 自动加载,无需 YAML 头部

## 🔀 PR 提交 | Pull Request

感谢您的贡献!为提升代码质量和协作效率,请按以下模板补充关键信息:

### 1. 变更类型

- [ ] 新功能(Feature)
- [ ] 问题修复(Bugfix)
- [ ] 文档优化(Docs)
- [ ] 样式调整(Style)
- [ ] 代码重构(Refactor)
- [ ] 性能优化(Perf)
- [ ] 测试用例(Test)
- [ ] 构建相关(Build)
- [ ] 其他(请说明):

### 2. 变更内容简述

请简要描述本次 PR 的主要内容、涉及的模块或组件。

### 3. 相关 Issue(可选)

如有相关 Issue,请填写(如:Close #123)。

### 4. 变更影响范围

- [ ] 兼容多端(H5/小程序/APP 等)
- [ ] 影响现有 API
- [ ] 需要文档同步
- [ ] 需要补充测试
- [ ] 其他:

### 5. 测试用例与截图(可选)

如有测试截图、演示视频、关键代码片段等,请一并附上。

### 6. 其他说明(可选)

如有注意事项、兼容性说明、后续计划等,请补充。

---

**提交格式参考:**

```markdown
### 变更类型

- 新功能

### 变更内容简述

新增 u-xxx 组件,支持 xxx 功能。

### 相关 Issue

Close #123

### 变更影响范围

- 兼容多端
- 需要文档同步

### 测试用例与截图

<粘贴截图或说明>

### 其他说明

无
```

---

感谢您的贡献!我们会尽快审核和合并。如有疑问欢迎补充说明。


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: '问题反馈 Bug Report / Question'
about: '提交问题反馈或使用疑问,便于强化项目维护和优化体验'
title: '【问题反馈】'
labels: ['bug', 'question']
assignees: []
---

## 🐛 问题反馈 | Bug Report / Question

### 1. 问题描述

请简要描述您遇到的问题或疑问。

### 2. 复现步骤

请详细描述如何复现该问题,建议提供:

- 相关页面/组件/功能入口
- 操作步骤
- 期望结果与实际结果

### 3. 复现环境

- uView Pro 版本:
- uni-app 版本:
- 运行平台:H5 / 微信小程序 / 支付宝小程序 / App / 其他
- 浏览器或系统版本:

### 4. 截图或日志(可选)

如有报错信息、控制台输出、页面截图等,请一并附上,便于定位问题。

### 5. 其他补充信息(可选)

如有相关代码片段、配置文件、第三方依赖等信息,请补充说明。

---

感谢您的反馈!我们会尽快跟进和处理。如有更多细节,欢迎补充。


================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: '新功能征集 Feature Request'
about: '提出新功能或优化建议,使 uView Pro 更强大!'
title: '【新功能征集】'
labels: ['enhancement', 'feature-request']
assignees: []
---

## 🚀 新功能征集 | Feature Request

### 1. 说明

感谢您关注 uView Pro!我们欢迎社区开发者和用户为框架提出新功能建议。请详细描述您希望添加的功能、预期的使用场景,以及该功能将如何提升开发体验或解决实际问题。我们会认真评估每一条建议,并根据实际情况进行规划和实现。

### 2. 提交要求

请在提交新功能建议时,尽量补充以下内容:

- **功能描述**:简要说明您希望实现的功能是什么。
- **使用场景**:举例说明该功能在实际项目中的应用场景或痛点。
- **期望效果**:描述该功能实现后,开发者或用户将获得哪些便利。
- **API 设计(可选)**:如有具体 API 或用法建议,请一并提供。
- **相关资料(可选)**:如有参考的其他框架、设计稿、交互原型等,请附上链接或截图。

### 3. 使用场景举例

- 需要支持某类业务常用的 UI 组件(如时间轴、甘特图、数据可视化等)
- 希望增强现有组件的某些能力(如表单校验、国际化、无障碍支持等)
- 期望提供更灵活的主题定制、暗黑模式、响应式布局等
- 希望集成第三方服务(如地图、支付、消息推送等)
- 其他能提升开发效率或用户体验的创新点

### 4. 扩展建议

- **多端兼容性**:请考虑新功能在 H5、微信/支付宝/百度/QQ 小程序、App 等多端的适配性。
- **性能与体积**:建议关注实现方式对包体积和运行性能的影响,避免引入过重依赖。
- **可配置性**:优先考虑通用性和可配置性,便于不同项目灵活使用。
- **文档与示例**:如有时间,欢迎一并补充文档说明或 DEMO 示例,方便他人理解和使用。

---

我们期待您的宝贵建议,共同打造更好用的 uView Pro!🎉


================================================
FILE: .github/ISSUE_TEMPLATE/pull_request_template.md
================================================
---
name: 'PR 提交 Pull Request'
about: '提交优质 PR,使 uView Pro 更强大!'
title: '【PR提交】'
labels: ['pr', 'contribution']
assignees: []
---

## 🔀 PR 提交 | Pull Request

感谢您的贡献!为提升代码质量和协作效率,请按以下模板补充关键信息:

### 1. 变更类型

- [ ] 新功能(Feature)
- [ ] 问题修复(Bugfix)
- [ ] 文档优化(Docs)
- [ ] 样式调整(Style)
- [ ] 代码重构(Refactor)
- [ ] 性能优化(Perf)
- [ ] 测试用例(Test)
- [ ] 构建相关(Build)
- [ ] 其他(请说明):

### 2. 变更内容简述

请简要描述本次 PR 的主要内容、涉及的模块或组件。

### 3. 相关 Issue(可选)

如有相关 Issue,请填写(如:Close #123)。

### 4. 变更影响范围

- [ ] 兼容多端(H5/小程序/APP 等)
- [ ] 影响现有 API
- [ ] 需要文档同步
- [ ] 需要补充测试
- [ ] 其他:

### 5. 测试用例与截图(可选)

如有测试截图、演示视频、关键代码片段等,请一并附上。

### 6. 其他说明(可选)

如有注意事项、兼容性说明、后续计划等,请补充。

---

感谢您的贡献!我们会尽快审核和合并。如有疑问欢迎补充说明。


================================================
FILE: .gitignore
================================================
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
.DS_Store
dist
build/
docs/
*.local
*.zip

# Editor directories and files
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.npmrc
.trae/
.agents/
skills-lock.json


================================================
FILE: .hbuilderx/launch.json
================================================
{
    "version": "1.0",
    "configurations": [
        {
            "playground": "standard",
            "type": "uni-app:app-android"
        }
    ]
}


================================================
FILE: .husky/commit-msg
================================================
#!/usr/bin/env sh

npx --no -- commitlint --edit "$1" 

================================================
FILE: .husky/pre-commit
================================================
#!/usr/bin/env sh
. "$(dirname "$0")/_/husky.sh"

# 可以在这里添加其他pre-commit检查,比如lint-staged等
npx lint-staged

# 校验已缓存区文件格式和类型
# npx lint-staged
# pnpm exec vue-tsc --noEmit --incremental --include $(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(ts|vue)$' | tr '\n' ' ')


================================================
FILE: .lintstagedrc
================================================
{
    "*.{js,ts,vue,scss,md,json}": "prettier --write --ignore-path .prettierignore"
}


================================================
FILE: .nvmrc
================================================
20.13.1

================================================
FILE: .prettierignore
================================================
node_modules
*.log
dist
build
coverage
*.min.js
*.map
*.md
pnpm-lock.yaml
async-validator.js
calendar.js
area.ts
city.ts
province.ts
src/uni_modules/zero-markdown-view/*


================================================
FILE: .prettierrc.js
================================================
/**
 * Prettier 代码格式化配置
 * 详见:https://prettier.io/docs/en/options.html
 */
module.exports = {
    // 箭头函数参数是否加括号
    arrowParens: 'avoid', // always/avoid
    // 对象字面量大括号间是否加空格
    bracketSpacing: true,
    // 换行符风格(auto/lf/crlf/cr)
    endOfLine: 'auto',
    // HTML 空白敏感度
    htmlWhitespaceSensitivity: 'css',
    // 是否在文件头插入 @prettier
    insertPragma: false,
    // JSX > 是否将 > 放在同一行
    jsxBracketSameLine: false,
    // JSX 使用单引号
    jsxSingleQuote: true,
    // 每行最大字符数
    printWidth: 120, // 推荐 100~120
    // markdown/文档换行策略
    proseWrap: 'preserve',
    // 对象属性是否强制加引号
    quoteProps: 'as-needed',
    // 是否要求文件头有 @prettier
    requirePragma: false,
    // 语句末尾加分号
    semi: true,
    // 使用单引号
    singleQuote: true,
    // tab 宽度
    tabWidth: 4,
    // 末尾是否加逗号
    trailingComma: 'none', // es5/none/all
    // 使用 tab 还是空格
    useTabs: false,
    // Vue 文件 script/style 是否缩进
    vueIndentScriptAndStyle: false,
    // 是否格式化嵌入的代码(如 HTML <script>)
    embeddedLanguageFormatting: 'auto'
};


================================================
FILE: .vscode/extensions.json
================================================
{
    // 推荐团队/贡献者安装的 VS Code 插件
    "recommendations": [
        "esbenp.prettier-vscode", // Prettier 代码格式化
        "Vue.volar", // Vue3 官方语法支持(推荐代替 vetur)
        "dbaeumer.vscode-eslint", // ESLint 代码规范
        "stylelint.vscode-stylelint", // CSS/SCSS/Less 规范
        "streetsidesoftware.code-spell-checker" // 拼写检查
    ]
}


================================================
FILE: .vscode/settings.json
================================================
{
    "git.enableSmartCommit": true,
    "git.confirmSync": false,
    "git.autofetch": true,
    "emmet.includeLanguages": {
        "vue-html": "html",
        "vue": "html"
    },
    "typescript.preferences.importModuleSpecifier": "relative",
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": "explicit"
    },
    "files.associations": {
        "*.cz-config.js": "javascript"
    },
    "i18n-ally.localesPaths": ["src/locales", "src/locales/langs", "src/uni_modules/uview-pro/locale"],
    "eslint.validate": ["javascript", "typescript", "vue"],
    "[vue]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    // Markdown 文件禁用保存时格式化
    "[markdown]": {
        "editor.formatOnSave": false
    }
}


================================================
FILE: .vscode/uview-pro.code-snippets
================================================
{
    // Place your colorful-uni-plus 工作区 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
    // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
    // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
    // used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
    // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
    // Placeholders with the same ids are connected.
    // Example:
    "Print to console": {
        "scope": "javascript,typescript",
        "prefix": "types",
        "body": [
            "import { type ComponentPublicInstance, type ExtractPropTypes } from 'vue'",
            "",
            "// 定义组件 Props",
            "export const Props = {",
            "$1",
            "}",
            "",
            "// 将 Props 转换为类型",
            "export type Props = ExtractPropTypes<typeof Props>",
            "",
            "// 暴露的组件实例方法和属性",
            "export type Expose = {",
            "",
            "}",
            "// 导出组件实例类型",
            "export type Instance = ComponentPublicInstance<Props, Expose>"
        ],
        "description": "初始化组件types定义"
    }
}


================================================
FILE: CHANGELOG.md
================================================
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 0.6.0-beta.1 - 2026-05-08

### ✨ Features | 新功能

- **u-upload:** 新增image-shape属性支持圆形和方形展示 ([fac9414](https://github.com/anyup/uView-Pro/commit/fac941413ba4d944116513934306376a0188fcda))
- **u-upload:** 新增customChoose属性支持自定义文件选择功能 ([97e17ee](https://github.com/anyup/uView-Pro/commit/97e17eeae15c03a7791bb5eec4159782f3d70d84))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## 0.6.0-beta.0 - 2026-04-30

### ✨ Features | 新功能

- **u-upload:** 新增多种上传模式和文件类型支持,支持图片、视频、文档等多种类型,支持网格(grid)和列表(list)两种展示模式 ([f75d34c](https://github.com/anyup/uView-Pro/commit/f75d34c22d551c41e8e873bc5779089ff2b2c0c7))
- **u-upload:** 新增 v-model 支持并优化文件列表同步逻辑 ([5548d84](https://github.com/anyup/uView-Pro/commit/5548d847b5c442da40775ec06ecfab7f0fddf448))
- **upload:** 完善上传组件示例页面功能,添加多种上传模式示例:图片上传(网格模式)、文件上传(列表模式)、视频上传 ([d43b3d2](https://github.com/anyup/uView-Pro/commit/d43b3d2c7f0ff7a7fe45467d49d451ca878b7eb1))

### ♻️ Code Refactoring | 代码重构

- **u-divider:** 规范化 slot 标签 ([fccac33](https://github.com/anyup/uView-Pro/commit/fccac33b6adce3395179d5c55b7b8a0a4d25a800))

### 🐛 Bug Fixes | Bug 修复

- **u-upload:** 优化微信小程序平台监听文件列表变化不触发on-list-change事件的场景 ([47fa5c1](https://github.com/anyup/uView-Pro/commit/47fa5c1dfa30214dfc40f7ee01b09f6f95d09b9a))
- **changelog:** 修复版本标题格式和Unreleased区块处理 ([3a87f47](https://github.com/anyup/uView-Pro/commit/3a87f4739cdebc1aafcb33e3f9b31dd79f9bc3d2))

### 👷 Continuous Integration | CI 配置

- 增强预发布版本支持和发布管理功能 ([86abdaa](https://github.com/anyup/uView-Pro/commit/86abdaad6a618dfa42416138f05baf910f52fba5))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.18] - 2026-04-22

### 🐛 Bug Fixes | Bug 修复

- **u-calendar:** 修复农历数据响应式访问问题 ([0a88b13](https://github.com/anyup/uView-Pro/commit/0a88b13911fc8c47229f5d9cab0fdfc8ade09ecb))
- **mp-weixin:** 修复微信小程序演示示例vue-i18n多语言切换后uni.getLocale()始终获取中文的问题 ([30b811f](https://github.com/anyup/uView-Pro/commit/30b811f85db29165cd150bea380dfe44f94fda79))
- **demo:** 取消底部导航标题配置设置国际化文案 ([7b949ab](https://github.com/anyup/uView-Pro/commit/7b949ab8695fbc3d9db51b96da1b25a1f05c2ed3))
- **demo:** 修复日历组件demo切换逻辑 ([9aa706a](https://github.com/anyup/uView-Pro/commit/9aa706a0e7b564c2bef75d1d6e7a90023dfc1c17))

### ✨ Features | 新功能

- **u-tabbar:** 底部导航栏支持自定义item宽度配置,优化item平分功能 ([997846f](https://github.com/anyup/uView-Pro/commit/997846fb5f8ba4648e4d0514f0846ce80a217490))

### 📝 Documentation | 文档

- update uview pro desc ([ba65d2e](https://github.com/anyup/uView-Pro/commit/ba65d2e34a1e620b595122a81df48a333c97bbcd))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.17] - 2026-04-15

### 🐛 Bug Fixes | Bug 修复

- **demo:** 修复topTips组件演示示例在小程序中不弹出的问题,需设置自定义navbar高度 ([0c72d24](https://github.com/anyup/uView-Pro/commit/0c72d24cd77f4ba6b6cb411810fcf5f0bd1d3272))
- **u-table:** 修复表格表头暗黑模式背景色问题 ([c7fd1a5](https://github.com/anyup/uView-Pro/commit/c7fd1a58e87c4efb84ccf737fe9d1e755908ba8f))
- **u-alert-tips:** 修复关闭按钮颜色样式问题 ([94001cf](https://github.com/anyup/uView-Pro/commit/94001cf79a03ea75695e414a7971e7ec39f445b6))

### ✨ Features | 新功能

- **theme:** 更新主题配置和本地化文本 ([4caa2ed](https://github.com/anyup/uView-Pro/commit/4caa2edf9542f7f2b0a7bb9870585390f0241e80))
- **u-calendar:** 增强日历组件功能,支持多种日历模式:打卡签到、节假日标记、价格日历等场景,支持自定义插槽功能,动态价格显示;支持选中日期,只读模式设置;修复范围选择背景色样式问题 ([7a9250e](https://github.com/anyup/uView-Pro/commit/7a9250eb49f6694286bb0c3dad7bc9780ae95864))
- **u-popup:** 新增inline模式支持,允许弹窗组件直接插入页面内容而非传统弹窗形式 ([2e8890c](https://github.com/anyup/uView-Pro/commit/2e8890ca3c9cacb90739b33cb0e38db7e2bdb473))
- **u-calendar:** 统一日期格式YYYY-MM-DD,确保跨组件日期处理的一致性 ([092cc53](https://github.com/anyup/uView-Pro/commit/092cc5392b64990342c43fcbac9aec1bfa2bf982))

### ♻️ Code Refactoring | 代码重构

- **u-calendar:** 重构日历组件模板,统一页面和弹窗模式的日历组件结构 ([42894b8](https://github.com/anyup/uView-Pro/commit/42894b850f903e2471ca42e02f0379443139838b))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.16] - 2026-03-26

### ✨ Features | 新功能

- **web:** 浏览器平台添加触摸模拟器支持 ([cf96a73](https://github.com/anyup/uView-Pro/commit/cf96a73e09512291143954401aa7850ac59f1207))
- **u-button:** 新增 large、small 按钮尺寸选项,丰富按钮尺寸规格 ([053d7e8](https://github.com/anyup/uView-Pro/commit/053d7e8ab92af403cdfde36369f38a2aded27288))
- **u-input:** u-input添加size属性,支持small/default/large预设值以及自定义尺寸(#137) ([afed961](https://github.com/anyup/uView-Pro/commit/afed961f65c86bd84a2b02828bb361480c7f95b3))
- **u-textarea:** u-textarea组件新增size属性,支持small/default/large预设值以及自定义数值(#137) ([47296e8](https://github.com/anyup/uView-Pro/commit/47296e8669d419d41959dff01de758a610122d34))
- **u-checkbox:** u-checkbox,u-checkbox-group支持small/default/large预设尺寸配置,优化组件样式(#137) ([e8918e2](https://github.com/anyup/uView-Pro/commit/e8918e28a413d861e05a213d49f9a1b39af17964))
- **u-radio:** u-radio,u-radio-group支持small/default/large预设尺寸配置(#137) ([51af7f8](https://github.com/anyup/uView-Pro/commit/51af7f8f86eed99ee159738e43d5dc2d5c6747c8))
- **u-switch:** u-switch支持small/default/large预设尺寸配置(#137) ([6041d52](https://github.com/anyup/uView-Pro/commit/6041d52338172d40957e3ed7af1dde01aa7de074))
- **u-form:** 新增表单大小配置功能,u-form支持小、中、大三种尺寸设置(#137) ([324adb9](https://github.com/anyup/uView-Pro/commit/324adb99de9dfbb72a0a0c40748c11323d3b9470))
- **u-tag:** 为深色模式标签添加边框样式,保持统一性 ([84d0ad6](https://github.com/anyup/uView-Pro/commit/84d0ad6c805d570e216beaa2dc586687a5aae848))

### ♻️ Code Refactoring | 代码重构

- 添加调试模式配置并重构日志系统 ([a52a3f7](https://github.com/anyup/uView-Pro/commit/a52a3f7d6be7d8332a67c1d8458f4e65e0a0204e))
- **props:** 移除baseProps公共属性并内联到各组件,修复uni_modules引入方式在微信小程序正式打包运行报错的问题 ([f30f779](https://github.com/anyup/uView-Pro/commit/f30f7792a48679afc3cf705a5eb0b182591fe9b5))
- **form:** 调整表单大小配置位置 ([45ffecd](https://github.com/anyup/uView-Pro/commit/45ffecd3522df85cdaaa62ecb9c33d7839443586))

### 🐛 Bug Fixes | Bug 修复

- **useChildren:** 修复组件关系工具子组件ID缓存问题,避免同组件多次调用useChildren时重复注册 ([3a8c659](https://github.com/anyup/uView-Pro/commit/3a8c659ce596b483559cf4b061d0b54d784a902b))
- **u-form:** 修复移除字段时方法不存在的错误 ([58ada99](https://github.com/anyup/uView-Pro/commit/58ada99a8cbd44874eebfd305a4aeb721add8558))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.15] - 2026-03-25

### 🐛 Bug Fixes | Bug 修复

- **u-form:** 修复表单项底部边框默认值逻辑 ([d939fbd](https://github.com/anyup/uView-Pro/commit/d939fbd5df85c266f8a8f5e23ebeca251eee94ec))
- **u-input:** 修复u-input输入框在某些微信小程序平台下,重新获取焦点时会清空输入框的问题 ([cedecfa](https://github.com/anyup/uView-Pro/commit/cedecfa4bf2142046bb512b1d9e87f6c9d77516d))
- **demo:** 优化微信小程序首页u-sticky使用配置 ([cc4e9ac](https://github.com/anyup/uView-Pro/commit/cc4e9ac9f022e7713b2eb2746038a8481729c0b4))

### ✨ Features | 新功能

- **types:** 添加昵称输入类型支持 ([bd15170](https://github.com/anyup/uView-Pro/commit/bd15170d0ccc76098debb9e37b4acfbe43fef043))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/xaunseus"><img src="https://github.com/xaunseus.png?size=40" width="40" height="40" alt="xaunseus" title="xaunseus"/></a> 

## [0.5.14] - 2026-03-23

### 🐛 Bug Fixes | Bug 修复

- **u-toast:** 调整提示框位置和边框样式 ([093e31a](https://github.com/anyup/uView-Pro/commit/093e31a34a26902ced26ac841ddfa738fa796528))
- **u-form:** 修复表单项错误消息样式显示问题 ([462eb6e](https://github.com/anyup/uView-Pro/commit/462eb6e9e3b4d676ac97877327d93705f53400a5))

### 📝 Documentation | 文档

- **readme:** 添加快速启动模板链接 ([afce866](https://github.com/anyup/uView-Pro/commit/afce866f0e7e20b97132bebcbaf56f9aafc25c5c))

### ✨ Features | 新功能

- **u-form-item:** 增加前后图标前缀自定义配置和插槽支持 ([9f32cf7](https://github.com/anyup/uView-Pro/commit/9f32cf7f32e0697ab6771711bc96bc2d8395c597))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.13] - 2026-03-17

### ✨ Features | 新功能

- **u-tabs:** tabs标签组件添加徽标圆点配置功能 ([4c9fe9b](https://github.com/anyup/uView-Pro/commit/4c9fe9b36ee9f04721f53e177bea08407c5e6d11))
- **u-input:** 优化输入框清除图标显示控制逻辑(#141) ([e08bc10](https://github.com/anyup/uView-Pro/commit/e08bc10ffe81945b09f1afc50e273588b346c9d8))
- **u-textarea:** 优化textarea清空按钮显示逻辑(#141) ([feab6cf](https://github.com/anyup/uView-Pro/commit/feab6cf55c17e655b7a89b9f748ef814b5ff8472))
- **demo:** 优化微信小程序声明显示条件 ([72a5cd2](https://github.com/anyup/uView-Pro/commit/72a5cd2503bf90e99a9b7379703e7dce284896cc))
- **toast:** 调整toast组件配置并添加回调功能 ([e9f697f](https://github.com/anyup/uView-Pro/commit/e9f697f58c6cc207bc4df3c16203565762cb860e))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.12] - 2026-03-09

### 🐛 Bug Fixes | Bug 修复

- **u-tabs:** 延迟初始化tabs组件以确保正确获取尺寸信息,修复在App端滑块偏移问题(#139) ([90f79ff](https://github.com/anyup/uView-Pro/commit/90f79ff8f1e71a2ebc05be7d0318b8107425e09a))
- **u-upload:** 优化u-upload组件在暗黑模式下的显示效果 ([24955ad](https://github.com/anyup/uView-Pro/commit/24955ad947d6edc736c695f9052344a83fa191ae))
- **u-calendar:** 优化日历组件设置为range范围选择时,仅当开始、结束时间选择完成时才可点击确定(#136) ([4dee864](https://github.com/anyup/uView-Pro/commit/4dee864abda5e65a755aaaccbaffc430ca463cdd))

### ✨ Features | 新功能

- **demo:** 添加H5平台条件编译控制,优化组件描述文案 ([d482223](https://github.com/anyup/uView-Pro/commit/d4822234e1f0e13a6480732350f884d5034368b5))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.11] - 2026-03-02

### 🐛 Bug Fixes | Bug 修复

- **u-table:** 修复table文字换行后导致的行高度不一致,边框线错位的问题 ([b6b9c33](https://github.com/anyup/uView-Pro/commit/b6b9c33d41ac3adc6f6a1eb33edd50a355d267bf))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.10] - 2026-02-28

### 🐛 Bug Fixes | Bug 修复

- **useToast:** 修复useToast使用全局弹出时,某场景下弹出失败的问题 ([83b3d7b](https://github.com/anyup/uView-Pro/commit/83b3d7b64995a1801fdf6a33ff2ce0c99ecceaa6))
- **useModal:** 修复useModal使用全局弹出时,某场景下弹出失败的问题 ([43f98ea](https://github.com/anyup/uView-Pro/commit/43f98ea4adda12e28cd1d906c36279f808b3ea32))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.9] - 2026-02-26

### 🐛 Bug Fixes | Bug 修复

- **calendar:** minDate / maxDate 纳入校验年月范围 ([249c04f](https://github.com/anyup/uView-Pro/commit/249c04f11e8610df4964f2d24d5fbe580e9236f8))

### ✨ Features | 新功能

- **calendar:** 日历选择演示页面新增最小/最大日期切换功能 ([dc8aeae](https://github.com/anyup/uView-Pro/commit/dc8aeae5072774d3d1be1318e4f7b4567c9b0385))

### 👥 Contributors

<a href="https://github.com/zakicheung"><img src="https://github.com/zakicheung.png?size=40" width="40" height="40" alt="张淇" title="张淇"/></a> <a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.8] - 2026-02-10

### 🚀 Chore | 构建/工程依赖/工具

- **deps:** 更新 uni-app 相关依赖包版本到 4.87,修复更新包后运行到 h5 报错问题 ([b00751b](https://github.com/anyup/uView-Pro/commit/b00751b2643bd582f2d1b9472e245d856352d4ed))

### 📝 Documentation | 文档

- 添加npm下载量统计徽章 ([63971ee](https://github.com/anyup/uView-Pro/commit/63971eead3365d5efe29166b2252e58904c0306c))

### 🐛 Bug Fixes | Bug 修复

- **useToast:** 修复使用useToast全局提示会触发多次监听的问题(#130) ([ae56413](https://github.com/anyup/uView-Pro/commit/ae564132604d27c3d92de2f6ece5eaae75980aaa))
- **useModal:** 修复使用useModal全局弹窗会触发多次监听的问题(#130) ([50da10c](https://github.com/anyup/uView-Pro/commit/50da10c7c19d65885244df5c99634775be088824))
- **u-upload:** 修复u-upload组件中删除确认弹窗的“取消”和“确认”按钮国际化问题(#128) ([e48ab1d](https://github.com/anyup/uView-Pro/commit/e48ab1d23f50c850b1fd85c9b48860bd1d5105b0))

### ✨ Features | 新功能

- **useToast:** 支持使用useToast页面级弹出时,toast可指定页面ID(#130) ([7d09ffe](https://github.com/anyup/uView-Pro/commit/7d09ffe5f8bbee5a3872dfc716dc7ba013f7e1bc))
- **useModal:** 支持使用useModal页面级弹出时,modal可指定页面ID(#130) ([63af409](https://github.com/anyup/uView-Pro/commit/63af409370f775bac7ceabe98db8b5225491baa8))
- **u-button:** 添加按钮文本属性支持 ([72fda47](https://github.com/anyup/uView-Pro/commit/72fda47673f1b099f12dcd88ca20570d20d3d5bc))
- **router:** 添加路由跳转hooks功能 ([cb5a687](https://github.com/anyup/uView-Pro/commit/cb5a687bd7ec8c863d237f69b5cb486e86016398))
- **demo:** 添加useModal和useToast示例页面 ([f42ca51](https://github.com/anyup/uView-Pro/commit/f42ca51839b1ebd3f02106da0310f4bbbfbb96cf))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.7] - 2026-02-06

### 🐛 Bug Fixes | Bug 修复

- **u-tabs:** 修复u-tabs的scroll-view在不同平台会显示滚动条的问题,统一各平台的滚动条隐藏逻辑 ([6ba904b](https://github.com/anyup/uView-Pro/commit/6ba904b85fdc5be69ab8b430878e16fa74674c64))
- **demo:** 修复演示项目在钉钉小程序调用uni.setTabBarItem报错问题(#125) ([fd4ea39](https://github.com/anyup/uView-Pro/commit/fd4ea3987928039e9dcc3a53dc8bea42fce2b685))
- **u-input,u-field:** 修复输入框绑定值为undefined和null时的显示异常问题 ([4af659f](https://github.com/anyup/uView-Pro/commit/4af659fb365179e3ed7db26a1d8571c327497f7a))

### ✨ Features | 新功能

- **demo-page:** 所有页面支持小程序分享功能 ([a055904](https://github.com/anyup/uView-Pro/commit/a05590443e898ed076d47a04cb8bfc74c2e73da8))
- **u-card:** u-card添加圆角配置功能并调整默认边框样式 ([e43c939](https://github.com/anyup/uView-Pro/commit/e43c9396a17fe485305e63895a7ea8d6edf1906b))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.6] - 2026-02-04

### 🐛 Bug Fixes | Bug 修复

- **vue-tsc:** 修复部分定时器ts类型定义错误问题(#124) ([dada764](https://github.com/anyup/uView-Pro/commit/dada764eaa6ea73402e8fa6d96a783ae2a68715a))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.5] - 2026-02-02

### ✨ Features | 新功能

- **u-toast:** 新增页面级toast功能并优化loading逻辑 ([4eae5b7](https://github.com/anyup/uView-Pro/commit/4eae5b7ef5d4494c4619bee383e62490994b4317))
- **useModal:** 新增useModal函数式调用API和全局modal功能(#101) ([724edf3](https://github.com/anyup/uView-Pro/commit/724edf3cd69607a6d4e33954f8d2d701f9502ff3))
- **locale:** 新增语言配置的标签字段label和区域设置字段locale ([49ba6cb](https://github.com/anyup/uView-Pro/commit/49ba6cbea6b53712496e465dd40654af7608a02d))

### ♻️ Code Refactoring | 代码重构

- **demo:** 调整demo演示中吸顶组件默认偏移量为200 ([165da80](https://github.com/anyup/uView-Pro/commit/165da80eb9eec54cf1a5fa8511d82e2b3d11fed1))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.4] - 2026-01-30

### 🐛 Bug Fixes | Bug 修复

- **types:** 优化组件库类型定义和代码健壮性 ([e83eac8](https://github.com/anyup/uView-Pro/commit/e83eac8192476dea5e2d4e5b8b3c68b7da992673))
- **u-navbar:** 修复状态栏高度获取的条件判断,区分鸿蒙、微信小程序和其他 ([b13d112](https://github.com/anyup/uView-Pro/commit/b13d112be80c46f62bfa343a089f2de70a00f774))

### ✨ Features | 新功能

- **u-loading:** 增强u-loading的自定义样式功能 ([c9151ce](https://github.com/anyup/uView-Pro/commit/c9151ce4bee44c762bd7970ab280184c730e97b1))
- **u-toast:** 新增函数式调用API和全局toast功能(#101) ([b8c8fbf](https://github.com/anyup/uView-Pro/commit/b8c8fbff70c14fe0a6106794a638e450cecbeddf))
- **components:** 优化组件类型安全 ([02b638f](https://github.com/anyup/uView-Pro/commit/02b638f6e251c9b52e5e3ebb1e40d644d895308a))

### ♻️ Code Refactoring | 代码重构

- **demo:** 移除多余的toast引用 ([67b2677](https://github.com/anyup/uView-Pro/commit/67b26772eb67e9e2b830c95359688b0116395452))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.3] - 2026-01-26

### ♻️ Code Refactoring | 代码重构

- **demo-page:** 移除标签栏外层sticky组件 ([ed49275](https://github.com/anyup/uView-Pro/commit/ed49275bc2962426dc4f9185b4b35f6a994cf383))

### 👷 Continuous Integration | CI 配置

- 添加 npm 包测试脚本 ([78c5524](https://github.com/anyup/uView-Pro/commit/78c5524abbbc368949ec58437361c995f5146234))

### 🐛 Bug Fixes | Bug 修复

- **locale:** 修复本地运行时locale国际化字段未加载成功的问题 ([10c017a](https://github.com/anyup/uView-Pro/commit/10c017a401232224ca1642274d65f031f74f12f0))
- **u-picker:** 修复u-picker/u-select选择器在亮色/暗黑模式下背景色显示问题 ([072a6cc](https://github.com/anyup/uView-Pro/commit/072a6cc1095b5f17b0c15c3cd2a3d6a75d8a9f08))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.2] - 2026-01-23

### ✨ Features | 新功能

- **u-checkbox-group:** 重构u-checkbox多选框组件,group支持v-model双向绑定,标准化使用api ([e4a12f1](https://github.com/anyup/uView-Pro/commit/e4a12f1af6a4d8cae18823b42a918052df36b62d))
- **hooks:** 新增防抖和节流hook ([4b09373](https://github.com/anyup/uView-Pro/commit/4b09373c31dc3ab7ded01c6ea0cfdf902642b857))
- **u-search:** 新增adjust-position属性控制键盘弹出时的高度调节 ([3443e7c](https://github.com/anyup/uView-Pro/commit/3443e7cc0d754c10df03134e8bc2c6c977758610))
- **u-tabbar:** 调整u-tabbar凸起图标上边距以优化显示效果 ([d0963be](https://github.com/anyup/uView-Pro/commit/d0963be197079733779719aae43694ae5b47e6bc))
- **u-transition:** 新增transition过渡动画组件 ([28ee2c8](https://github.com/anyup/uView-Pro/commit/28ee2c8b0f74bae722f0fe50e498e3407907d2f6))
- **u-transition:** 添加动画模式切换时的时序控制 ([af4bf0a](https://github.com/anyup/uView-Pro/commit/af4bf0a690128ba16e7660d2ae54c5b93644cfdf))
- **u-text:** 优化按钮模式在block模式下的样式 ([afda81d](https://github.com/anyup/uView-Pro/commit/afda81d0c8fa7b628b81f8368e6bd2983779b7c9))
- **u-radio:** 添加label和value属性支持 ([1b824d7](https://github.com/anyup/uView-Pro/commit/1b824d7867dc7fcc3793d7b5d84cbbbcb512dab0))

### 🐛 Bug Fixes | Bug 修复

- **u-checkbox-group:** 修复全选时,u-checkbox-group多次触发change的问题 ([9f813df](https://github.com/anyup/uView-Pro/commit/9f813dfb8a2b8e178b7347223281e09b039f74b0))
- **u-gap:** 修复 gap 间隔槽传递带单位尺寸无法正确解析的问题 ([cc24efd](https://github.com/anyup/uView-Pro/commit/cc24efd658e510fb9655a189ceaee2647db81528))
- **u-alert-tips:** 修复微信小程序下组件样式和图标配置不生效的问题 ([d74900e](https://github.com/anyup/uView-Pro/commit/d74900e9e8a61a68b8971abc81e440e8449d3576))
- **u-navbar:** 修复获取状态栏高度在某些平台失败的问题 ([b8b288e](https://github.com/anyup/uView-Pro/commit/b8b288e33348b78e03be349c6c123e36511342af))
- **u-toast:** 修复toast提示组件设置prop无效的问题 ([ecd3a0a](https://github.com/anyup/uView-Pro/commit/ecd3a0a23a0ca039fa0abe3a946bfdf1024dd10a))
- **locale:** 修复注册uview-pro组件库时,未传递locale导致初始化语言包失败的问题 ([d716100](https://github.com/anyup/uView-Pro/commit/d7161000fe9e3d222453603d8fa31d29a1b9a9bb))
- **u-field:** 修复u-field在禁用状态下,点击输入框无法触发click事件的问题 ([f47761d](https://github.com/anyup/uView-Pro/commit/f47761d00fe2913f0e611577651a3f4108e060b6))

### ♻️ Code Refactoring | 代码重构

- **demo:** 重构u-checkbox复选框演示示例 ([77fc19b](https://github.com/anyup/uView-Pro/commit/77fc19b6f23f8d776b7a56ef9ac27726da7405a1))
- **demo:** 同步鸿蒙应用功能 ([2ac7050](https://github.com/anyup/uView-Pro/commit/2ac70500004e04bd22442d696e3e869ba33ac355))
- update release scripts ([818f8b9](https://github.com/anyup/uView-Pro/commit/818f8b9cf6a0a22893305f76e4af2b71409cbc12))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.1] - 2026-01-15

### ✨ Features | 新功能

- **locale:** 统一组件国际化命名空间,以保持命名的一致性并避免与自定义字段时冲突 ([8bd3cc3](https://github.com/anyup/uView-Pro/commit/8bd3cc32b26349da63f5005cb3c29e575c831142))
- **u-form:** 支持label插槽功能 ([f82994f](https://github.com/anyup/uView-Pro/commit/f82994f5500ec4509dff64c05e115afb0465d4a2))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.5.0] - 2026-01-14

### ✨ Features | 新功能

- **locale:** 添加组件国际化支持和 use locale hooks ([ff96211](https://github.com/anyup/uView-Pro/commit/ff96211423d27bde350a2ea4b9f1d5a5eb72d604))
- **locale:** 添加中、英文国际化语言字段支持 ([257eb41](https://github.com/anyup/uView-Pro/commit/257eb4143ac39cab4940ab76844d0c3be02b198c))
- **locale:** 所有组件实现组件国际化显示替换 ([ef52ff7](https://github.com/anyup/uView-Pro/commit/ef52ff7669c8cb7389377b8bdd4da681dddbb0a6))
- **locale:** 跟随vue-i18n国际化语言切换功能 ([cccecb0](https://github.com/anyup/uView-Pro/commit/cccecb03763990689e6e66d856cf3588157a61b6))
- **fullScreen:** 优化fullscreen页面配置和实现,支持国际化 ([8518218](https://github.com/anyup/uView-Pro/commit/85182186848fa6443ed74de9af1e3f5cd15fa724))
- **locale:** 新增locale国际化和vue-i18n切换示例页面 ([da79723](https://github.com/anyup/uView-Pro/commit/da797230005ff130ea66c315921e4d8d9fa613c1))
- **demo-page:** 添加支付宝小程序navbar兼容性处理 ([75284a4](https://github.com/anyup/uView-Pro/commit/75284a403b9eb7dee9625279ca5cadd14bba3a63))
- **u-skeleton:** 重构u-skeleton骨架屏组件实现全新设计 ([c39405d](https://github.com/anyup/uView-Pro/commit/c39405dfd8c4e1fe06fd842efde79ebf6706b0d1))
- **u-tabbar:** 重构u-tabbar组件内部结构,增加图标文字间距配置 ([e5655da](https://github.com/anyup/uView-Pro/commit/e5655da55c515a8288b12e37084dfec093da542b))
- **mp-weixin:** 添加小程序全局分享功能 ([e4f8bf5](https://github.com/anyup/uView-Pro/commit/e4f8bf5baae237e8dc443de7c90cd751ef045101))
- **useLocale:** uselocale hooks 支持命名空间功能 ([4d6e8f2](https://github.com/anyup/uView-Pro/commit/4d6e8f26976725cfdf862bd21af3648b864fdc29))
- **u-tabbar:** 优化u-tabbar文本样式渲染优先级 ([7d73861](https://github.com/anyup/uView-Pro/commit/7d73861b4cbe1266bc4cbfff31b45a57d9ed960f))
- **locale:** 初始化多语言时添加 isForce 参数支持强制设置默认语言 ([3309017](https://github.com/anyup/uView-Pro/commit/3309017e6fea3bc00f10efcec9f3ec3f83de9a88))
- **demo:** 优化国际化配置示例并添加多语言支持 ([177b978](https://github.com/anyup/uView-Pro/commit/177b97869f14023daf4bca632093076716b616d6))
- **theme:** 主题配置支持强制初始化功能 ([95c895d](https://github.com/anyup/uView-Pro/commit/95c895d0cfb1df37aa6285b88a2247f83add7361))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.4.13] - 2026-01-06

### ✨ Features | 新功能

- **theme:** 主题初始化时支持默认主题设置 ([f2b61f6](https://github.com/anyup/uView-Pro/commit/f2b61f6caa1c285753b2e02f97309aa55bb77cca))
- **theme:** 增强主题系统初始化配置,支持在初始化时设置默认主题和暗黑模式 ([d228d10](https://github.com/anyup/uView-Pro/commit/d228d100baf619799b1dc1c8e289e1e8c9a30699))

### 🐛 Bug Fixes | Bug 修复

- **u-number-box:** 修复 u-number-box 步进器 disabled 时字体不显示问题 ([75b3a74](https://github.com/anyup/uView-Pro/commit/75b3a74e6e763dec1a1ee0d3b4d0a62d646ee389))
- **u-textarea:** 修复u-textarea组件设置props.border='none'无效的问题 ([c5a97ba](https://github.com/anyup/uView-Pro/commit/c5a97ba4c00d226c8c0fd9605660d2654dec9dc2))

### ♻️ Code Refactoring | 代码重构

- **theme:** 调整u-bg-gray-light默认色值,优化演示示例 ([37d6bda](https://github.com/anyup/uView-Pro/commit/37d6bda939f5d7c54aec09960878f236dfa32bb2))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.4.12] - 2026-01-04

### ♻️ Code Refactoring | 代码重构

- **u-action-sheet:** 优化u-action-sheet组件的类型定义 ([bc5e474](https://github.com/anyup/uView-Pro/commit/bc5e474e7117e20495504ff0e2397a147595033c))
- **zIndex:** 统一组件z-index值配置 ([ae1da98](https://github.com/anyup/uView-Pro/commit/ae1da986d307e5b4855fa32e5b2995fdb7be69e8))

### 🐛 Bug Fixes | Bug 修复

- **form:** 修复field实例销毁时没有正常移除问题 ([57bfd3b](https://github.com/anyup/uView-Pro/commit/57bfd3bf9315d74c416869cd5a8c41562231166a))

### ✨ Features | 新功能

- **u-tabbar:** 新增z-index属性支持自定义层级 ([c75d45f](https://github.com/anyup/uView-Pro/commit/c75d45f45e237453d0248124cdbe5bb797edb117))
- **u-modal:** 增加u-modal基础属性支持和自定义样式功能 ([201231e](https://github.com/anyup/uView-Pro/commit/201231ee2e0c25c605f12f582650b048e83213de))
- **components:** 增加u-pagination和u-picker自定义样式支持 ([eb22265](https://github.com/anyup/uView-Pro/commit/eb222657540179fcf8359133df83da89c10b09b8))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/yoshinosk"><img src="https://github.com/yoshinosk.png?size=40" width="40" height="40" alt="yoshinosk" title="yoshinosk"/></a> <a href="https://github.com/liujiayii"><img src="https://github.com/liujiayii.png?size=40" width="40" height="40" alt="liujiayii" title="liujiayii"/></a> 

## [0.4.11] - 2025-12-30

### 📦‍ Build System | 打包构建

- 添加edgeone.json配置 ([ed7ba7d](https://github.com/anyup/uView-Pro/commit/ed7ba7d94dbfa791264a624a03938dc6ac58c0bb))

### 🐛 Bug Fixes | Bug 修复

- **theme:** 修复运行时设置 color 与 theme 主题色不同步问题 ([1dcf56a](https://github.com/anyup/uView-Pro/commit/1dcf56a232f5b046e0dce5eb58ec90fb46ce19d5))
- **u-top-tips:** 修复顶部提示组件zindex显示问题,避免影响其他组件的层级显示 ([91391a8](https://github.com/anyup/uView-Pro/commit/91391a8ca10d505936c0b45488af0a3145cab335))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.4.10] - 2025-12-26

### 🚀 Chore | 构建/工程依赖/工具

- **contributors:** 更新贡献者映射配置 ([d496b21](https://github.com/anyup/uView-Pro/commit/d496b21d85bede68fefc9ffd752e31ecde14735a))

### 🐛 Bug Fixes | Bug 修复

- **u-popup:** 修复u-popup设置mode=center,点击遮罩层无法关闭的问题 ([3896019](https://github.com/anyup/uView-Pro/commit/389601965933d9e1dc74d32c370c4e858df86595))
- **u-upload:** 优化u-upload组件在多个平台的样式兼容性 ([bfb60b5](https://github.com/anyup/uView-Pro/commit/bfb60b5c2f431d14425eceed9c9e5c248e7cfa29))

### ✨ Features | 新功能

- **u-tabbar:** 增强u-tabbar组件能力,支持文字和图标显示隐藏配置功能 ([29f3394](https://github.com/anyup/uView-Pro/commit/29f3394d7e8a5e2a818e397ffe97420855970333))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.4.9] - 2025-12-24

### 📝 Documentation | 文档

- **readme:** 修复捐赠页面链接 ([93323ab](https://github.com/anyup/uView-Pro/commit/93323ab414ddc5a4542604928f221a050cbe55c5))

### ✨ Features | 新功能

- **request:** 增强http请求工具,添加请求超时配置和全局配置合并功能 ([54d4a44](https://github.com/anyup/uView-Pro/commit/54d4a448a82d76889524cc2ad0f8f08b758b73fb))
- **http:** 修改http请求实例和响应拦截器 ([d566496](https://github.com/anyup/uView-Pro/commit/d56649673103b519492033504aa387cd6d037721))
- **source:** 添加静态资源文件 ([346bce6](https://github.com/anyup/uView-Pro/commit/346bce63126c4cb2c9db1f1665568eb11e26be07))
- **pages:** 优化多个页面演示样式,统一布局和暗黑模式 ([da68f17](https://github.com/anyup/uView-Pro/commit/da68f17ddf3018f7f5d53a7eebfb3dc1bad550ab))
- **i18n:** 完善国际化支持文案 ([68accbd](https://github.com/anyup/uView-Pro/commit/68accbd1d864f190e510de380d4ed8d603f8676b))
- **pages:** 更新iconfont图标 ([bafd4af](https://github.com/anyup/uView-Pro/commit/bafd4af26f6d2ca4dbe6e818b31be84f57c787b0))
- **demo-page:** 调整演示页面样式并添加tabbar支持 ([f4c5cfc](https://github.com/anyup/uView-Pro/commit/f4c5cfc70920b50602f226220ded4690279cb331))

### 🚀 Chore | 构建/工程依赖/工具

- **harmony:** 添加调试配置并调整harmony兼容版本 ([bd18fd2](https://github.com/anyup/uView-Pro/commit/bd18fd234bf0aec9671663f5b26294b4622bae81))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.4.8] - 2025-12-23

### 🐛 Bug Fixes | Bug 修复

- **u-avatar:** 修复 ios 微信小程序默认头像不显示问题 ([9e3420f](https://github.com/anyup/uView-Pro/commit/9e3420fb8d0db533ce7fb3a8e83543b43ac0c7a7))
- 修复 u-cell 组件中使用 u-icon 样式在微信小程序不生效问题,修复 u-upload 图片上传失败重试是否显示提示配置不生效问题 ([e591d62](https://github.com/anyup/uView-Pro/commit/e591d62befce95c207ca47158549e6fd97f1e58d))
- **u-cell-item:** 修复图标样式问题并优化组件结构 ([294bf4b](https://github.com/anyup/uView-Pro/commit/294bf4be88fb53a2ccd72fcc8702b09f6d736a30))

### ♻️ Code Refactoring | 代码重构

- **theme:** 修改主题默认为官方内置主题,暗黑模式默认为亮色 ([176b482](https://github.com/anyup/uView-Pro/commit/176b48210209ae362fe30e459e73dff6fc81b53e))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/lime"><img src="https://github.com/lime.png?size=40" width="40" height="40" alt="lime" title="lime"/></a> 

## [0.4.7] - 2025-12-19

### 🚀 Chore | 构建/工程依赖/工具

- 忽略部分文件 ([a8a747f](https://github.com/anyup/uView-Pro/commit/a8a747f97e93ed278a305cd1b2671d2ede5c0fde))

### ✨ Features | 新功能

- **u-tabbar:** u-tabbar 组件支持 custom-icon 直接配置图标 custom-prefix ([e577c2d](https://github.com/anyup/uView-Pro/commit/e577c2d083cf46db7124b0df46b2848ef9bdbe80))

### 🐛 Bug Fixes | Bug 修复

- **u-icon:** 修复图标组件样式和事件处理问题 ([1cadf27](https://github.com/anyup/uView-Pro/commit/1cadf27f8bd2aec3a11fb1befb9255256a2e3b3a))
- **u-pagination:** 修复分页切换时传递不正确的当前页码值 ([4befe02](https://github.com/anyup/uView-Pro/commit/4befe02c5cbb4e7db6fbf49f04ca68fac0f69a37))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.4.6] - 2025-12-17

### 📝 Documentation | 文档

- 添加鸿蒙系统预览说明及二维码 ([7f6199a](https://github.com/anyup/uView-Pro/commit/7f6199a30d5477743c20b27a94711b4605787757))

### ✨ Features | 新功能

- **u-slider:** 增强滑块组件功能与灵活性,支持设置滑块的整体范围起点(start)和终点(end) ([a20c44b](https://github.com/anyup/uView-Pro/commit/a20c44b0270cffde02afd8738a932b2d6bae49f4))
- **button:** 新增按钮禁用与自定义样式功能演示 ([5f1f482](https://github.com/anyup/uView-Pro/commit/5f1f4823e027dc5ab2e6f49f29fe327c6d4318c6))

### 🐛 Bug Fixes | Bug 修复

- **button:** 更新禁用状态下按钮样式优先级 ([b3ff20b](https://github.com/anyup/uView-Pro/commit/b3ff20b59818c8bc8204bb2a489eff42ded7e842))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.4.5] - 2025-12-10

### ✨ Features | 新功能

- **u-input:** 为选择类型输入框添加覆盖层以增强交互 ([9b7bac2](https://github.com/anyup/uView-Pro/commit/9b7bac221195d010c31b15915d2927d095bd257f))
- **u-form:** 增强 u-form 深层校验、动态校验表单 ([97d0ccb](https://github.com/anyup/uView-Pro/commit/97d0ccbe03391f63bed81dcfd1af1432f4f7c77d))

### 🐛 Bug Fixes | Bug 修复

- **u-input:** 修复清空图标点击事件冒泡问题 ([8a214ff](https://github.com/anyup/uView-Pro/commit/8a214ffe8e5588395cdc456e600bc8dd0f03a603))
- **style:** 修复除H5环境外主题样式作用域问题 ([c02ba3c](https://github.com/anyup/uView-Pro/commit/c02ba3c1454e709b1fa9de817d77b0f2128b5fc0))
- **u-switch:** 修复开关组件激活颜色默认值的响应式问题 ([3d78647](https://github.com/anyup/uView-Pro/commit/3d78647d75c3201cced2643395ff5dd935d0e7ec))
- **form:** 修复 form 校验报错问题 ([8d6d60d](https://github.com/anyup/uView-Pro/commit/8d6d60d4af4e5653f7b87afc3f208d0e26809505))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/yoshinosk"><img src="https://github.com/yoshinosk.png?size=40" width="40" height="40" alt="yoshinosk" title="yoshinosk"/></a> 

## [0.4.4] - 2025-12-08

### ✨ Features | 新功能

- **u-card:** u-card 组件的默认插槽同 body 插槽 ([ffa13ed](https://github.com/anyup/uView-Pro/commit/ffa13edcf17ff1559e8bdf2260f6b146680f9d07))
- **u-tag:** 优化自定义样式 custom-style 应用,支持 text 插槽内容 ([5bdb733](https://github.com/anyup/uView-Pro/commit/5bdb73346252850d74165cda0bb00766e5f6f59f))
- **u-line-progress:** 优化u-line-progress进度条百分比显示方式 ([1c1d979](https://github.com/anyup/uView-Pro/commit/1c1d97958f3c7e5a28943b46ea25d38b50449364))
- **switch:** 增强开关组件支持自定义值类型 ([2bcb136](https://github.com/anyup/uView-Pro/commit/2bcb1368aa1f3c7fe83799e909b89fc4349b30c3))

### 📝 Documentation | 文档

- 优化 Markdown 文档样式和格式 ([c80ff6d](https://github.com/anyup/uView-Pro/commit/c80ff6df269eb92a88001373aa96344ff4cafb79))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/liujiayii"><img src="https://github.com/liujiayii.png?size=40" width="40" height="40" alt="liujiayii" title="liujiayii"/></a> 

## [0.4.3] - 2025-12-03

### 📝 Documentation | 文档

- 更新项目描述和移除冗余信息 ([3d5c105](https://github.com/anyup/uView-Pro/commit/3d5c1053873a1a1dc592e02caf62b5e5f9aba3ad))
- **readme:** 更新交流反馈和捐赠链接 ([266e788](https://github.com/anyup/uView-Pro/commit/266e7883a4e2f3ea8058e0bba0b7ce07a972bad8))

### 🐛 Bug Fixes | Bug 修复

- **theme:** 修复不使用 u-config-privider 全局注入时,部分颜色变量不存在的问题 ([cd82d9d](https://github.com/anyup/uView-Pro/commit/cd82d9da3e8fd6066177e3b78b855583e2756a5f))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.4.2] - 2025-12-01

### 📝 Documentation | 文档

- **scripts:** 更新发布指定版本说明文档 ([db6bfe8](https://github.com/anyup/uView-Pro/commit/db6bfe8a7ec2812f34738b5b707240cdfe57e8b3))

### 🐛 Bug Fixes | Bug 修复

- **theme:** 修复npm方式加载主题包失效的问题 ([7b9c947](https://github.com/anyup/uView-Pro/commit/7b9c947581697ddbd36632919652689ca8595503))
- **dark-mode:** 修复 App 平台暗黑模式跟随系统下,切换系统暗黑模式后不即时生效问题 ([880b181](https://github.com/anyup/uView-Pro/commit/880b18153d186f6f5c5f9c81bf12307bd8f00c22))
- **initTheme:** 优化组件库 install 方法中的主题初始化默认逻辑 ([39e273b](https://github.com/anyup/uView-Pro/commit/39e273b98cd53ec2891c7e68419dd6dfbbeb30c0))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> 

## [0.4.1] - 2025-11-30

### ✨ Features | 新功能

- **root:** 新增根节点组件支持,优化主题文件 ([12d14f8](https://github.com/anyup/uView-Pro/commit/12d14f8c859bae1e330b246b6eb1f87c2597c2d7))
- **iconfont:** 新增iconfont实例 ([4d34d25](https://github.com/anyup/uView-Pro/commit/4d34d25f0c124a6622b8b38b7501b85586843a42))
- **locales:** 新增locales中英文字段 ([2dbad6d](https://github.com/anyup/uView-Pro/commit/2dbad6d38bc5cd2fbe55aa0998d2264782cb4dfe))
- **markdown-view:** 新增 markdown-view 模块 ([9e21b6a](https://github.com/anyup/uView-Pro/commit/9e21b6af96c17175dd178923ab2f98c595bacb20))
- **u-config-provider:** 新增 u-config-provider 组件用于全局主题管理 ([f44857c](https://github.com/anyup/uView-Pro/commit/f44857c44f0354b9408bc40c8d586ace1ea40538))
- **theme:** 实现自定义多主题,主题切换功能 ([9551d26](https://github.com/anyup/uView-Pro/commit/9551d260451d2c21b7fe9dfab4850a57c5601573))
- **demo:** 新增 demo-page 组件并重构组件演示页面,添加 API 文档展示 ([ecfd77e](https://github.com/anyup/uView-Pro/commit/ecfd77ea3776720e0bbba7f7678896e685adff3a))
- **demo-page:** 优化代码示例组件文档获取方式 ([50738be](https://github.com/anyup/uView-Pro/commit/50738beafa879e3f95831287a1aa7cb560b59c20))
- **theme:** 实现暗黑模式并优化多主题管理 ([38f9346](https://github.com/anyup/uView-Pro/commit/38f93464edf7ba3e6a0d28c025e31cfe27a147bb))
- **u-config-provider:** 完善u-config-provider主题注入和暗黑模式切换 ([726a7f9](https://github.com/anyup/uView-Pro/commit/726a7f96a31c2e6346c9037842963624b22c3f60))
- **demo:** 优化主题切换示例逻辑和样式 ([d69af6a](https://github.com/anyup/uView-Pro/commit/d69af6a82b639d35ce757abccccb9f8f9aae14a5))
- **theme:** 优化主题系统,兼容单主题、多主题配置能力 ([d06cd7f](https://github.com/anyup/uView-Pro/commit/d06cd7f592e5ae4f9dae7f0cd90f173f76cc5e62))
- **theme:** 更新深蓝主题的色彩配置 ([77e8e5c](https://github.com/anyup/uView-Pro/commit/77e8e5c6ca55281253f86dbc5244c807f04324b3))
- **config-provider:** 增加非 H5 平台系统暗黑模式识别 ([2175dc6](https://github.com/anyup/uView-Pro/commit/2175dc6892f7f559507e19c44638f5c57ac13e4a))
- **u-button:** 调整u-button按钮节流默认值为0,优化点击逻辑 ([3fa2593](https://github.com/anyup/uView-Pro/commit/3fa2593dba31c05a97e001fda9cd233306f42a9d))
- **theme:** 优化主题配置中的暗黑模式处理逻辑,按规则自动生成完整暗色方案 ([8246853](https://github.com/anyup/uView-Pro/commit/82468538004c88637b98c9bd2381b0d44aef0d22))
- **system:** 添加系统主题变更监听 ([9c35243](https://github.com/anyup/uView-Pro/commit/9c3524390847d92c7345e8a27c4603afa8d094f4))
- **theme:** 多主题配置兼容单主题 ([79d3223](https://github.com/anyup/uView-Pro/commit/79d3223459a306fb4ba320713ed03a4a6579f563))
- **u-image:** 增强 u-image 组件自定义样式 ([b133c3c](https://github.com/anyup/uView-Pro/commit/b133c3c00f14738eaa0a61eaec19dbe1b5defcfe))

### ♻️ Code Refactoring | 代码重构

- **app:** 添加本地应用资源 ([cd3f020](https://github.com/anyup/uView-Pro/commit/cd3f02074c871772ea0e42fb26336751eeda7c35))
- **theme:** 重构主题配置和颜色处理逻辑 ([31aa36b](https://github.com/anyup/uView-Pro/commit/31aa36b9207144836be7073a804b8c7ebd68fc6b))
- **demo:** 修改演示页面功能及样式,调整演示组件整体样式 ([8760b3c](https://github.com/anyup/uView-Pro/commit/8760b3c82ff129bd1695e384abbc762de6c85cd4))
- **components:** 优化多个组件主题颜色变量使用,兼容多主题和暗黑模式 ([1a2856f](https://github.com/anyup/uView-Pro/commit/1a2856fc98ec3169d29330f9b7470e936d4aa334))
- **demo:** 优化演示示例 Demo 的功能 ([445878b](https://github.com/anyup/uView-Pro/commit/445878b906475f5dd3bcc9b15efd9aac597f0603))
- **demo-page:** 优化demo page展示,主题切换逻辑优化 ([c5ecbaa](https://github.com/anyup/uView-Pro/commit/c5ecbaa437e51cf1bf47f84f0f3bc071f37dd413))
- 更新自定义主题文件 ([cab8be3](https://github.com/anyup/uView-Pro/commit/cab8be38832bca9de1254a06f199e6b3704ee88e))
- **color:** 重构颜色组件以提升可维护性 ([d92a052](https://github.com/anyup/uView-Pro/commit/d92a0526f7bfa51eeb40bb90eb0e7fc8f24fe488))

### ⚡ Performance Improvements | 性能优化

- 优化微信小程序代码包体积 ([bf56c99](https://github.com/anyup/uView-Pro/commit/bf56c99515e41d067481cd6498187ed5bd37c193))

### 💄 Styles | 风格

- **demo:** 优化演示页面样式 ([ae5de09](https://github.com/anyup/uView-Pro/commit/ae5de091ee1234b4432eb7d2609f77fd5afd27aa))
- **components:** 使用变量替代硬编码的颜色值 ([cf0044e](https://github.com/anyup/uView-Pro/commit/cf0044e3be68daff91b764eb31a75cf3ecad86aa))
- **demo:** 优化替代组件颜色硬编码值,保证主题色和暗黑模式 ([291e92b](https://github.com/anyup/uView-Pro/commit/291e92b07d80532b1620f62ae0ac3f4909bdab6a))

### 📦‍ Build System | 打包构建

- 新增颜色替换脚本 ([b160c28](https://github.com/anyup/uView-Pro/commit/b160c28e838a4f27b9bfa2f3ce47e8ad46e807a0))
- 指定 Node.js 版本 ([7147284](https://github.com/anyup/uView-Pro/commit/714728421527bbd5abed02fe4fdf51cdf3c2a583))
- **deps:** 更新 dcloudio uni-app 依赖版本至 4.76 ([f92a348](https://github.com/anyup/uView-Pro/commit/f92a34892369facda3d89add34cfbeddc1872a65))

### 🐛 Bug Fixes | Bug 修复

- **u-tabbar:** 修复 u-tabbar 在鸿蒙应用上高度计算错误的问题 ([cc4bc1a](https://github.com/anyup/uView-Pro/commit/cc4bc1add7ef63f6d9eb519e9ee38414ef3c73eb))
- **clipboard:** 处理未传入可选参数引起的错误 ([1756b53](https://github.com/anyup/uView-Pro/commit/1756b53f8ce2e2a21d288124c257b4729e48d92a))
- **theme:** 修复获取系统设置的theme不正确的问题 ([58b0cbb](https://github.com/anyup/uView-Pro/commit/58b0cbb3aa666d8f127bc88850b66d469cc1b996))
- **install:** 优化 install 方法的错误处理和代码结构 ([7edb867](https://github.com/anyup/uView-Pro/commit/7edb8673b0cdf4238c184a480b91fb73908e6c5c))

### 👷 Continuous Integration | CI 配置

- **release:** 支持直接指定版本号发布 ([e4db5f8](https://github.com/anyup/uView-Pro/commit/e4db5f8b349954548ddef37fc02aa5a397cace01))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/lonelyflyer"><img src="https://github.com/lonelyflyer.png?size=40" width="40" height="40" alt="Lonelyflyer" title="Lonelyflyer"/></a> 

## [0.3.16] - 2025-11-21

### 📝 Documentation | 文档

- 更新贡献者信息 ([a6d52dc](https://github.com/anyup/uView-Pro/commit/a6d52dc6db9d56ccdf5c5ad4230e32c716e36241))

### ♻️ Code Refactoring | 代码重构

- **u-waterfall:** 优化瀑布流组件性能和代码结构 ([841c465](https://github.com/anyup/uView-Pro/commit/841c465de4f1a1efc43e05248794b566e0051bd8))
- **pages:** 重构工具和模板页面,优化i18n国际化功能 ([6cfda7f](https://github.com/anyup/uView-Pro/commit/6cfda7f2ecfd6dd60501201d8797fe702b29df4d))
- **u-dropdown:** 删除无用的测试代码 ([7c06f1f](https://github.com/anyup/uView-Pro/commit/7c06f1f3f0d1dcd5ae2bbd3420a4124c5faec004))

### 🐛 Bug Fixes | Bug 修复

- **backTop:** 修复回到顶部组件示例无效的问题 ([5a9b736](https://github.com/anyup/uView-Pro/commit/5a9b7366f5916627815488039327669f424dd0ce))
- **u-text:** 修复 u-text 组件单行省略号显示无效的问题 ([041ee36](https://github.com/anyup/uView-Pro/commit/041ee36fb60d5a082fbdde7e9334ae42b386944c))

### ✨ Features | 新功能

- **u-link:** 添加自定义点击跳转功能 ([8a521f3](https://github.com/anyup/uView-Pro/commit/8a521f36a9f417aa90263cdcf7978ce48d6ed01e))
- **u-tabs:** 增强 u-tabs 组件,支持隐藏 tab 项的功能配置 ([9a58964](https://github.com/anyup/uView-Pro/commit/9a58964061a7d18510624fb4c6d009568bd3974c))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.3.15] - 2025-11-14

### ✨ Features | 新功能

- **u-dropdown:** u-dropdown中的u-dropdown-item中新增控制显示隐藏属性 ([e4ee28f](https://github.com/anyup/uView-Pro/commit/e4ee28fd0a66ceb6bbed07b7969862e936e5e573))
- 支持嵌套属性验证(a.b.c格式) ([1bbead8](https://github.com/anyup/uView-Pro/commit/1bbead8be764491844a7d3909480a360ff2dc4d4))
- **form:** 添加表单字段的嵌套校验演示示例 ([73b4abe](https://github.com/anyup/uView-Pro/commit/73b4abe98047ac5193b56b71cdacb05957760e93))

### 🚀 Chore | 构建/工程依赖/工具

- 更新应用 logo 和图标 ([38d52e4](https://github.com/anyup/uView-Pro/commit/38d52e4a9e8656bcae89892a5f94a5201a1af7b2))

### ♻️ Code Refactoring | 代码重构

- 更新 logo 图片地址 ([c0fe3d1](https://github.com/anyup/uView-Pro/commit/c0fe3d15d6f4498229feaba860ff78e43a5297e6))

### 👥 Contributors

<a href="https://github.com/xiaozuoovo"><img src="https://github.com/xiaozuoovo.png?size=40" width="40" height="40" alt="XiaoZuoOvO" title="XiaoZuoOvO"/></a> <a href="https://github.com/不爱说话郭德纲"><img src="https://github.com/不爱说话郭德纲.png?size=40" width="40" height="40" alt="不爱说话郭德纲" title="不爱说话郭德纲"/></a> <a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.3.14] - 2025-11-14

### ✨ Features | 新功能

- **app-harmony:** 更新应用信息并添加鸿蒙签名配置,鸿蒙应用打包差异性编译 ([81a33c1](https://github.com/anyup/uView-Pro/commit/81a33c13a471721848033cc5f7ac1e3b3b30abc6))
- **u-message-input:** 新增输入框类型prop,支持number,text等模式 ([68a865a](https://github.com/anyup/uView-Pro/commit/68a865a12b7e0b20db458ea403579d28a227aaeb))

### ♻️ Code Refactoring | 代码重构

- **components:** 优化 u-icon 和 u-toast 组件样式和结构 ([3cfb01d](https://github.com/anyup/uView-Pro/commit/3cfb01ddb8612e274e1bccd43fca0b5bb4e0a405))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.3.13] - 2025-11-11

### 🐛 Bug Fixes | Bug 修复

- **u-root-portal:** 修复根节点传送组件运行时报错问题 ([3c24a75](https://github.com/anyup/uView-Pro/commit/3c24a75de00982bbdc1388a413721377de4f1e3d))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.3.12] - 2025-11-10

### 🐛 Bug Fixes | Bug 修复

- **u-dropdown:** 修复下拉菜单激活颜色不正确的问题 ([d3cc1e8](https://github.com/anyup/uView-Pro/commit/d3cc1e87ff0951c5385da5e667a528d30b7fd1cf))

### 📦‍ Build System | 打包构建

- **app-harmony:** 新增 HarmonyOS 构建配置 ([c18a537](https://github.com/anyup/uView-Pro/commit/c18a537d9bf4edcbe626290642225363486cfb1e))
- 更新项目版本号 ([8eaee77](https://github.com/anyup/uView-Pro/commit/8eaee7784fb348c5637b55b037f62ba51409a4f2))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.3.10] - 2025-11-06

### ♻️ Code Refactoring | 代码重构

- **theme:** 优化动态颜色获取方式 ([26f44dd](https://github.com/anyup/uView-Pro/commit/26f44dd0d03b9cb93a2bc6b94ab6eb15a7b2261e))
- **types:** 优化类型导入并修复 u-pagination 类型定义 ([c6cbe61](https://github.com/anyup/uView-Pro/commit/c6cbe61242492ddae896ad44482f130da90033dc))

### ✨ Features | 新功能

- **u-pagination:** 新增分页组件及演示示例 ([3915064](https://github.com/anyup/uView-Pro/commit/39150648e599e818ce5c3648b3829f30754e2706))
- **u-navbar:** 新增左侧插槽 left ([4474e3b](https://github.com/anyup/uView-Pro/commit/4474e3b07d44126dbbcb85957bf1026c602301e7))
- **u-input:** 新增 focus 发射当前输入值 ([d8082ec](https://github.com/anyup/uView-Pro/commit/d8082ec2d30ae143a2cb223b6a933e5b58e1826b))

### 🐛 Bug Fixes | Bug 修复

- **demo:** 修复 u-navbar 演示示例中,因 ref('toast') 和组件名重复问题 ([2bd32a3](https://github.com/anyup/uView-Pro/commit/2bd32a3906fa3dd7ae2a91c8e0382aef7089bba7))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/wjp980108"><img src="https://github.com/wjp980108.png?size=40" width="40" height="40" alt="wjp980108" title="wjp980108"/></a> <a href="https://github.com/wjp"><img src="https://github.com/wjp.png?size=40" width="40" height="40" alt="wjp" title="wjp"/></a>

## [0.3.9] - 2025-11-05

### 🐛 Bug Fixes | Bug 修复

- **types:** 修正组件声明文件中uLoadmore的命名大小写问题 ([eb69b18](https://github.com/anyup/uView-Pro/commit/eb69b18d969dac13a75375501018edc4f3097e33))
- **loadmore:** 修复 u-loadmore 组件使用类型声明报错问题 ([92facfd](https://github.com/anyup/uView-Pro/commit/92facfdb5b2b57bcd634d93412c90661c5f6e59d))

### ✨ Features | 新功能

- **theme:** 新增本地主题文件支持 ([a989314](https://github.com/anyup/uView-Pro/commit/a989314a7b691e94ed81e524100e70d6e9a22a12))
- **theme:** 实现运行时主题变更功能,新增 setTheme 函数 ([12765d0](https://github.com/anyup/uView-Pro/commit/12765d07244a9d6ca49c4dd34d81f66a61c87c6d))

### 👥 Contributors

<a href="https://github.com/liujiayii"><img src="https://github.com/liujiayii.png?size=40" width="40" height="40" alt="liujiayii" title="liujiayii"/></a> <a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.3.8] - 2025-11-04

### 📦‍ Build System | 打包构建

- 新增钉钉小程序运行和打包命令 ([a5b4ab3](https://github.com/anyup/uView-Pro/commit/a5b4ab3abab95b4c56bf02415f1785371f7f19ee))

### 🐛 Bug Fixes | Bug 修复

- **u-circle-progress:** 修复微信小程序 canvas 2d 环形进度条绘制问题,适配不同平台的 canvas 上下文 ([e7ab701](https://github.com/anyup/uView-Pro/commit/e7ab701bcbd83e7861aeb9a104269265c6b38a56))

### ✨ Features | 新功能

- **u-fab:** 新增悬浮按钮组件及演示示例 ([85848de](https://github.com/anyup/uView-Pro/commit/85848de6bae15d91942a633959459ae8e6ecb857))
- **u-fab:** 优化悬浮组件功能和交互,新增预设定位position、拖动吸边autoStick属性 ([65a4bde](https://github.com/anyup/uView-Pro/commit/65a4bde2331c8b2a49933bb4c5d7e1f97a11c56a))
- **u-text:** 新增 u-text 组件默认插槽支持 ([a7b6e59](https://github.com/anyup/uView-Pro/commit/a7b6e5944afbcd48920c25a58c07642544ff3d3e))

### ♻️ Code Refactoring | 代码重构

- **fab:** 优化 fab 组件示例代码 ([ca71fa2](https://github.com/anyup/uView-Pro/commit/ca71fa28fa86baa53384eb366384d97a0b8d84b2))
- **u-fab:** 重构 gap 属性以支持对象类型 ([bee34bf](https://github.com/anyup/uView-Pro/commit/bee34bffd6a7587e9a82fe3e35cc64c096d8d2b3))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/wjp980108"><img src="https://github.com/wjp980108.png?size=40" width="40" height="40" alt="wjp980108" title="wjp980108"/></a>

## [0.3.7] - 2025-10-28

### 🐛 Bug Fixes | Bug 修复

- **u-index-list:** 修复 u-index-list 组件中 indexList 的响应式,确保数据正确对应,滚动到正确的锚点 ([536479b](https://github.com/anyup/uView-Pro/commit/536479b0c444f50892c789191265b373297ec0b5))
- **u-form:** 优化 u-form-item 组件样式,修复微信小程序光标样式偏移问题 ([7e6694b](https://github.com/anyup/uView-Pro/commit/7e6694b5db11f654b081d10bb83d53c99437c730))
- **u-form:** 优化 model 属性的响应式更新,修复 model 对象整体替换导致的表单校验失效问题 ([bc49b5b](https://github.com/anyup/uView-Pro/commit/bc49b5b2fa6f51c803d64252184f5eba93a0d3c1))
- **u-form:** 修复 u-form 的重置表单方法 resetFields 失效问题 ([a31f800](https://github.com/anyup/uView-Pro/commit/a31f800e206fa9671bdd0d6a46ca7a4afba6aefd))
- **u-checkbox:** 修复 u-checkbox 单独使用报错的问题 ([dad2832](https://github.com/anyup/uView-Pro/commit/dad2832a2e7219b0454ec97970c9cb8f4fac0625))

### ✨ Features | 新功能

- **u-textarea:** 新增 u-textarea 组件及演示示例,增强 textarea 功能,分离 u-input 的 textarea 模式 ([efbb75e](https://github.com/anyup/uView-Pro/commit/efbb75e21a044a664267930396ce496fd64d33fe))
- **u-input:** 增强 u-input 的 textarea 字数统计功能 ([5e14354](https://github.com/anyup/uView-Pro/commit/5e14354a2e34768650cd2417f81b14cdbbced132))
- **u-form:** 增强表单校验功能,发射校验错误,便于自定义提示 ([a553b53](https://github.com/anyup/uView-Pro/commit/a553b53581cc470938030c0f1f8d5f7671d8c25a))

### ♻️ Code Refactoring | 代码重构

- **form:** 优化表单组件的提示文本 ([04b5fc7](https://github.com/anyup/uView-Pro/commit/04b5fc7a071835425786958c5f6de04e233c151c))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.3.6] - 2025-10-24

### ✨ Features | 新功能

- **u-select:** 优化选择器组件 u-select 默认值处理逻辑,添加 preserveSelection 属性,用于控制是否保留用户上次确认的选择 ([8493ff1](https://github.com/anyup/uView-Pro/commit/8493ff16d2eee42fabe926917d940a350b86abe0))
- **u-picker:** 优化 picker 的初始化和渲染流程,实现多次打开 picker 时保留用户选择的逻辑,新增 preserveSelection 属性支持 ([974872e](https://github.com/anyup/uView-Pro/commit/974872ec944fbb28cdb3c40fda08c9039bf0b960))

### ♻️ Code Refactoring | 代码重构

- **components:** 使用主题色替代硬编码颜色值,统一组件的颜色风格,便于未来主题颜色的调整和维护 ([ec348d4](https://github.com/anyup/uView-Pro/commit/ec348d4a8bff4dee62da78eadd23fc3a292ebdca))
- **example:** 代码示例中使用主题色替换硬编码颜色值 ([3216497](https://github.com/anyup/uView-Pro/commit/32164973d54cfff3edcbe765a8ed27158f4bec7d))
- **u-steps:** 新增u-step ([6b86eea](https://github.com/anyup/uView-Pro/commit/6b86eeaf7699eb13f739fc038d86efb4e3b48f8a))
- **u-step:** 替换步骤条组件中的默认硬编码颜色值 ([f3408ef](https://github.com/anyup/uView-Pro/commit/f3408ef006991702895432e775f266fb196ddf12))

### 🐛 Bug Fixes | Bug 修复

- **u-picker:** 修复使用u-picker组件选择地区不设置默认值报错的问题 ([7941135](https://github.com/anyup/uView-Pro/commit/7941135a87a3511a562ed10e34573ef7f786fb57))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/lonelyflyer"><img src="https://github.com/lonelyflyer.png?size=40" width="40" height="40" alt="Lonelyflyer" title="Lonelyflyer"/></a>

## [0.3.5] - 2025-10-21

### 🐛 Bug Fixes | Bug 修复

- **u-input:** 修复input组件不支持input事件的问题 ([52d6a6a](https://github.com/anyup/uView-Pro/commit/52d6a6aaeec9ec78e4088234ff7ba056cc10fd9c))
- **u-search:** 修复search组件不支持input事件的问题 ([603b96f](https://github.com/anyup/uView-Pro/commit/603b96f7eeb16d3e54c82b0be7dd03deb930aef5))
- **u-popup:** 修复微信小程序环境下,u-popup 组件 mode=center 时,设置关闭图标位置无效的问题 ([f08197a](https://github.com/anyup/uView-Pro/commit/f08197aafdc3f874b1efcddf6cc6ff9c9edde954))
- **u-line-progress:** type 属性设置后仍被 active-color 内联样式覆盖的问题 ([c6f29f9](https://github.com/anyup/uView-Pro/commit/c6f29f9dc8437035a0e698e869af2fd418d0bd65))

### ✨ Features | 新功能

- **useChildren:** 添加子组件索引功能 ([8ad744f](https://github.com/anyup/uView-Pro/commit/8ad744fd51df934cc20c099686cbdc5512b22c79))
- **addUnit:** 增强 addUnit 函数支持多值空格分隔 ([6d89cd3](https://github.com/anyup/uView-Pro/commit/6d89cd3c5aacc0770f6f2684fd737d0f05a6e929))
- **u-action-sheet:** 新增自定义 ActionSheet 组件 ([f709523](https://github.com/anyup/uView-Pro/commit/f709523cba5a089eed7c717cc36b9ab199ae24da))

### 📝 Documentation | 文档

- 移除issue模板中的提交格式参考 ([83799e8](https://github.com/anyup/uView-Pro/commit/83799e882f69b0e8787a014cfab9f16ab34ba57c))

### ♻️ Code Refactoring | 代码重构

- **u-popup:** 移除弹窗组件中的冗余代码 ([40c5b64](https://github.com/anyup/uView-Pro/commit/40c5b641539fce56af4f9a4ad2440b9240464a89))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/sunjianwei"><img src="https://github.com/sunjianwei.png?size=40" width="40" height="40" alt="sunjianwei" title="sunjianwei"/></a> <a href="https://github.com/koboshi"><img src="https://github.com/koboshi.png?size=40" width="40" height="40" alt="koboshi" title="koboshi"/></a>

## [0.3.4] - 2025-10-20

### ♻️ Code Refactoring | 代码重构

- **components:** 移除不必要的父组件和事件总线相关代码,优化组件间通信 ([280c2f8](https://github.com/anyup/uView-Pro/commit/280c2f8acc75764a7706ec38c742cc16703c941a))
- **u-safe-bottom:** 优化底部安全区组件 ([161f2d3](https://github.com/anyup/uView-Pro/commit/161f2d32ff6b9abbb6f8221a4dd99c438a606e94))
- **u-status-bar:** 优化状态栏组件 ([53c50ab](https://github.com/anyup/uView-Pro/commit/53c50ab8b6314a7d702b90e6b48b79301a334090))

### 🐛 Bug Fixes | Bug 修复

- **u-subsection:** 优化列表和模式变化的监听逻辑,移除不必要的初始化调用 ([f77ee7c](https://github.com/anyup/uView-Pro/commit/f77ee7ccc7521ec2472f72dcf2fb47362ca0abd9))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.3.3] - 2025-10-16

### 🐛 Bug Fixes | Bug 修复

- **u-read-more:** 修复 init 方法无法在外部调用的问题 ([415d401](https://github.com/anyup/uView-Pro/commit/415d401883a3567653ab1f311b28b075b7bb5603))
- **u-button:** 修复 hover-class 属性被忽略的问题 ([b919c58](https://github.com/anyup/uView-Pro/commit/b919c58cea048f9e559a6448cebe5abbf1490acf))

### ♻️ Code Refactoring | 代码重构

- **component-relation:** 重构组件关系逻辑并添加新功能 ([85d0cd2](https://github.com/anyup/uView-Pro/commit/85d0cd20db839a61733887f82825d47de0a1b1a6))
- **u-talbe:** 重构u-td和u-th组件,增强u-table的兼容性 ([3fbbc52](https://github.com/anyup/uView-Pro/commit/3fbbc5233bd41b91ca829f9a65cf95ee3b599e36))
- 修改 uView Pro 日志配置 ([6b9bb68](https://github.com/anyup/uView-Pro/commit/6b9bb6852af3eb24f109207f864145771c3e9c79))
- **clipboard:** add clipboard function ([efdaa58](https://github.com/anyup/uView-Pro/commit/efdaa58dda923b281d9b764a82a7492f36717ac4))

### 👥 Contributors

<a href="https://github.com/koboshi"><img src="https://github.com/koboshi.png?size=40" width="40" height="40" alt="koboshi" title="koboshi"/></a> <a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/lonelyflyer"><img src="https://github.com/lonelyflyer.png?size=40" width="40" height="40" alt="Lonelyflyer" title="Lonelyflyer"/></a>

## [0.3.2] - 2025-10-15

### 📝 Documentation | 文档

- **changelog:** 更新 CHANGELOG.md 生成配置 ([27a2609](https://github.com/anyup/uView-Pro/commit/27a26095b92cf8cbc6477c563a68b1557f9fb045))
- 更新交流群图片链接 ([832815d](https://github.com/anyup/uView-Pro/commit/832815deb63f8b144f525591d16e3ccf900b8632))

### ⚡ Performance Improvements | 性能优化

- **component-relation:** 增强组件间通信功能;修改 broadcast 方法,支持定向广播;移除对子组件名称的强制要求,允许匿名组件 ([28ea814](https://github.com/anyup/uView-Pro/commit/28ea814810055aa4c99b53d676b16da337fdf7d5))

### 🐛 Bug Fixes | Bug 修复

- **u-index-list:** 重构索引锚点组件,兼容多端,修复IndexList索引列表在微信小程序没有吸顶效果 ([ce6a7a3](https://github.com/anyup/uView-Pro/commit/ce6a7a3c01b622cad268779098390c0d593f75bc))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.3.1] - tag v0.3.1

Tagger: anyup <anyupxing@163.com>

Release version 0.3.1
2025-10-14

### 📝 Documentation | 文档

- 更新 package.json 中的平台支持信息 ([c30da7c](https://github.com/anyup/uView-Pro/commit/c30da7cf32c8c97e740df75166d1d7dfa4016942))

### 🐛 Bug Fixes | Bug 修复

- **request:** 修复http request请求拦截器中config.header为undefined的问题 ([8da453a](https://github.com/anyup/uView-Pro/commit/8da453afe193338a53c9f320346acabdb8803a79))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.3.1 ([4fc2902](https://github.com/anyup/uView-Pro/commit/4fc29028bdd360833c285857e8c588ad1dfd28f3))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.3.0] - tag v0.3.0

Tagger: anyup <anyupxing@163.com>

Release version 0.3.0
2025-10-12

### 📝 Documentation | 文档

- 更新开源捐赠图片 ([8eb0f00](https://github.com/anyup/uView-Pro/commit/8eb0f00ed5308cd1c3574b66dc752b050bbfcb70))
- update readme ([c93cdcb](https://github.com/anyup/uView-Pro/commit/c93cdcb1278040b8c5b6232b0d7928edad22af5d))

### ✨ Features | 新功能

- **component-relation:** 添加组件关系管理 Hooks 工具,用于完全替换 provide/inject,全平台兼容 ([927be95](https://github.com/anyup/uView-Pro/commit/927be95e8b1c1bd5e05cf91c00888c314f6431e8))

### ♻️ Code Refactoring | 代码重构

- **components:** 重构复选框checkbox和手风琴collapse组件,使用新版组件关系管理工具,优化兼容性 ([a6b2e86](https://github.com/anyup/uView-Pro/commit/a6b2e86394193a1ff5b58df045cba5518b322d38))
- **u-radio:** 修复单选框组件,兼容微信、头条小程序 ([6c409dc](https://github.com/anyup/uView-Pro/commit/6c409dc2c0ed116abcdde23a366c7f575fd56a24))
- **styles:** 优化 u-collapse-item 和 u-text 组件的样式合并逻辑 ([d4436c5](https://github.com/anyup/uView-Pro/commit/d4436c51dc2ddb27d70eeba4cad804504da40013))
- **layout:** 优化布局组件兼容性 ([285b7a7](https://github.com/anyup/uView-Pro/commit/285b7a73fcd9f8a21521be0d7e7a83690495dc4b))
- **u-form:** 重构表单组件的错误处理和样式,增强兼容性,支持多种小程序平台 ([587f87d](https://github.com/anyup/uView-Pro/commit/587f87d1b8d3dd6cd98e583b2640bef61bd8f119))
- **components:** 所有组件允许接受外部样式,允许样式穿透 ([e736e90](https://github.com/anyup/uView-Pro/commit/e736e9014e36c995ba434a56a6ccfee01c56ad35))
- **u-grid:** 重构宫格组件,支持自定义样式 ([d999ece](https://github.com/anyup/uView-Pro/commit/d999eceed2447ddc99a62a6bdcc57deaa1d1b515))
- **component-relation:** 优化子组件挂载时连接父组件的逻辑 ([2d038f2](https://github.com/anyup/uView-Pro/commit/2d038f2721e91db2f1773079341473505f2f6836))
- **u-dropdown:** 重构下拉菜单组件,兼容多平台 ([393caa5](https://github.com/anyup/uView-Pro/commit/393caa57910e9a63484e0c9e852c634fc15ef606))
- **components:** 优化部分组件中的 customStyle 属性及样式处理 ([3506a5a](https://github.com/anyup/uView-Pro/commit/3506a5a055a7a106311351b4b8b90127b019a061))
- **components:** 统一使用 customClass 和 customStyle 属性,统一处理组件样式和类名 ([d400997](https://github.com/anyup/uView-Pro/commit/d40099782b97011edc04c5040342b585b8f18fcd))

### 🐛 Bug Fixes | Bug 修复

- **u-collapse:** 修复手风琴模式和非手风琴模式的处理回调时,index错误的问题 ([a5882eb](https://github.com/anyup/uView-Pro/commit/a5882eb17d87fee4e06448ecc353bf4237f25d52))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.3.0 ([959c6a7](https://github.com/anyup/uView-Pro/commit/959c6a7c191ddeacac5fdf86cf72ddb72fd736a7))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.2.4] - tag v0.2.4

Tagger: anyup <anyupxing@163.com>

Release version 0.2.4
2025-10-08

### 🐛 Bug Fixes | Bug 修复

- **i18n:** 修复切换中英文切换失效问题 ([d61d817](https://github.com/anyup/uView-Pro/commit/d61d81790aecd774435999c9ab8c3672a2df38ad))
- **style:** 修复文本溢出样式u-line-1生成错误问题 ([5d2bf3c](https://github.com/anyup/uView-Pro/commit/5d2bf3ca080f8c5bc9fe40bb1f421c28f7ee8017))

### ✨ Features | 新功能

- **calendar:** 增加日历组件的页面显示模式 ([af13724](https://github.com/anyup/uView-Pro/commit/af137241e644a5f1e99b07e580c8d3aca9250e9e))

### ♻️ Code Refactoring | 代码重构

- 优化代码格式和可读性 ([2e338d5](https://github.com/anyup/uView-Pro/commit/2e338d5cb2dbf3ce42f38c9581c04164b852f992))
- **useComponent:** 重构组件事件处理并添加热更新支持 ([80f7e5e](https://github.com/anyup/uView-Pro/commit/80f7e5efaa2b2ab1668969072cb6d18652d00cc2))
- **u-collapse:** 重构 u-collapse 组件中的事件处理逻辑 ([6aadfd1](https://github.com/anyup/uView-Pro/commit/6aadfd16d5aefd45f022c8da1612ba1921942f6e))
- **u-checkbox:** 优化复选框组件的父组件事件处理 ([3b597ea](https://github.com/anyup/uView-Pro/commit/3b597ea2833ca71e5752d097b2f07c143869f0d2))
- **hooks:** 优化 useComponent 以支持页面级别组件关系管理 ([429192f](https://github.com/anyup/uView-Pro/commit/429192f66ba59a26acb957acfc01d5f318d43fb6))

### 📝 Documentation | 文档

- 更新微信交流群图片链接 ([e67588a](https://github.com/anyup/uView-Pro/commit/e67588ae392d5150ec4d271ce45e65fe32372460))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.2.4 ([27e1624](https://github.com/anyup/uView-Pro/commit/27e1624619311de1ee10f4dfc0ef5ffbd6210898))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.2.3] - tag v0.2.3

Tagger: anyup <anyupxing@163.com>

Release version 0.2.3
2025-10-06

### 🐛 Bug Fixes | Bug 修复

- **u-collapse:** 修复手风琴组件在头条小程序的兼容性 ([3189dc4](https://github.com/anyup/uView-Pro/commit/3189dc468edd977bc3e20256bd8a6c1b124bc4e6))

### ✨ Features | 新功能

- **util:** 新增日志功能并调整主题配置 ([5e07894](https://github.com/anyup/uView-Pro/commit/5e078945fb64867e4e49be1c9228aac7be8c1104))
- **components:** 重构复选框和手风琴组件,新增父子组件通信库 ([55b9b60](https://github.com/anyup/uView-Pro/commit/55b9b6069f1a40a6c4190b27952bcf9a489f8923))
- **util:** 添加自定义事件总线 ([6589f4f](https://github.com/anyup/uView-Pro/commit/6589f4f20b1391a9267670f6622538d4a6db0d82))

### ♻️ Code Refactoring | 代码重构

- **components:** 重构复选框和折叠组件,支持多平台小程序,微信,支付宝,头条 ([0ebc0f5](https://github.com/anyup/uView-Pro/commit/0ebc0f5edcc1df6ccd9baaaf659a0bde7b37d21d))
- **hooks:** 移除组件关系热更新时的错误日志输出 ([c8a2a3d](https://github.com/anyup/uView-Pro/commit/c8a2a3d041a55f94c8bd86d47eaaee9657cbd597))

### 📝 Documentation | 文档

- **readme:** 更新微信交流群二维码 ([cff3a3d](https://github.com/anyup/uView-Pro/commit/cff3a3dbb035ca365a1ab9839b14f300ef775c16))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.2.3 ([f125c67](https://github.com/anyup/uView-Pro/commit/f125c67f3e9a6303cfa9a8e8718b66531c923ddb))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.2.2] - tag v0.2.2

Tagger: anyup <anyupxing@163.com>

Release version 0.2.2
2025-09-30

### 🚀 Chore | 构建/工程依赖/工具

- 删除未使用的公共 API 和国际化文件 ([e73d3da](https://github.com/anyup/uView-Pro/commit/e73d3da7ede71584ec8b58a386307747b62f5e7a))
- **release:** bump version to 0.2.2 ([c1932fe](https://github.com/anyup/uView-Pro/commit/c1932fe43b224109e49465b2a454c15965587a19))

### ♻️ Code Refactoring | 代码重构

- **components:** 提示组件抽离为全局组件 wx-tips ([3fc0111](https://github.com/anyup/uView-Pro/commit/3fc0111f296de37bdb9b56fdfc023537aa6d79c4))
- **u-collapse:** 优化手风琴模式和样式配置 ([5cff422](https://github.com/anyup/uView-Pro/commit/5cff422a8462403f3c3f23a66f9306a81499a3b0))

### ✨ Features | 新功能

- **components:** 新增 u-root-portal 根节点传送组件 ([891d021](https://github.com/anyup/uView-Pro/commit/891d021faf76ad0248ef21248d89ff1fe1c5b669))
- **manifest:** 添加支付宝小程序配置 ([cb0b42a](https://github.com/anyup/uView-Pro/commit/cb0b42a9397df1c335d2c5492136efa38dde2ca0))

### 📝 Documentation | 文档

- 添加支付宝小程序二维码并更新微信群聊图片 ([1dc0db3](https://github.com/anyup/uView-Pro/commit/1dc0db340e34675f15a7e83c79c3ac5d453853a2))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.2.1] - tag v0.2.1

Tagger: anyup <anyupxing@163.com>

Release version 0.2.1
2025-09-29

### 🚀 Chore | 构建/工程依赖/工具

- 优化代码格式化和 ESLint 配置 ([771eacd](https://github.com/anyup/uView-Pro/commit/771eacd58d410e468a8aec4225bbe7b402480b2f))
- **release:** bump version to 0.2.1 ([b835513](https://github.com/anyup/uView-Pro/commit/b8355133aa7bdb57344a662f4968e148f652ffb6))

### ⚡ Performance Improvements | 性能优化

- 压缩部分js工具库 ([6615b70](https://github.com/anyup/uView-Pro/commit/6615b7085a51c4fbc9f884ec68e05db1a1e89e27))

### ✨ Features | 新功能

- **u-calendar:** 日历组件增加农历显示功能 ([e2368ac](https://github.com/anyup/uView-Pro/commit/e2368ac88b0abb4493ab12a1785eb2a0e38e502c))

### ♻️ Code Refactoring | 代码重构

- **calendar:** 重构日历组件类型定义 ([0040e9e](https://github.com/anyup/uView-Pro/commit/0040e9e1095446536370e9aca3c135bc05527acb))

### 🐛 Bug Fixes | Bug 修复

- **u-input:** 修复输入框禁用状态时清空按钮仍显示的问题 ([722715f](https://github.com/anyup/uView-Pro/commit/722715f7d6607584c0e158ba2de2342147e3be17))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.2.0] - tag v0.2.0

Tagger: anyup <anyupxing@163.com>

Release version 0.2.0
2025-09-28

### ♻️ Code Refactoring | 代码重构

- **example:** 优化 about 页面中的链接处理 ([d04ba8a](https://github.com/anyup/uView-Pro/commit/d04ba8a26278b6a0ea4f5e906bfec89ce6954459))
- **css:** 重构 CSS 样式并添加新样式 ([50b2670](https://github.com/anyup/uView-Pro/commit/50b2670a5e09aff9994a97f60a7d376b5b99a544))
- **libs:** 重构 libs 工具类代码并优化导出方式 ([10a604e](https://github.com/anyup/uView-Pro/commit/10a604e86f8712ee65c658a019c231b56cdcc7e7))
- **u-icon:** 移除 customStyle 属性并整合全局样式 ([cd52e14](https://github.com/anyup/uView-Pro/commit/cd52e14739604f1f126205e16383f187f1d38e8e))
- **props:** 优化 Props 类型定义和样式处理 ([c6ca0de](https://github.com/anyup/uView-Pro/commit/c6ca0de0876cb61671c25e58f33e51674edab266))
- **u-text:** 优化文本组件的样式和布局 ([885a0cf](https://github.com/anyup/uView-Pro/commit/885a0cf3f348184b3546979f1cc1914ded198411))
- **u-text:** 优化文本组件样式和属性 ([315d437](https://github.com/anyup/uView-Pro/commit/315d4379148fddbed059e55e5f9a0d0268345e62))
- **pages:** 优化微信小程序多个页面的用户提示展示,审核相关 ([0f3741f](https://github.com/anyup/uView-Pro/commit/0f3741f65d39f74bc3dc27df8514324e02c3582a))
- **pages:** 添加微信小程序端布局演示提示 ([9eaac70](https://github.com/anyup/uView-Pro/commit/9eaac70cf143327589d56a627160f33c56585d2e))

### ✨ Features | 新功能

- **components:** 添加 input 组件演示页面 ([91baf00](https://github.com/anyup/uView-Pro/commit/91baf0012e381856b79ca49edb60735928d78099))
- **collapse:** 更新折叠面板组件默认配置和样式 ([a03e0be](https://github.com/anyup/uView-Pro/commit/a03e0be3a9f8ac8b03dbd406d5d8c37227e869bd))
- **components:** 新增 Text 组件 ([a034f9d](https://github.com/anyup/uView-Pro/commit/a034f9d029ab38dbf1a066978f3c62c1328c96a5))
- **hooks:** 重构 useParent 并添加父子组件关系管理 ([37e35d8](https://github.com/anyup/uView-Pro/commit/37e35d84112a08b3d28aa8e5caec12a0a2696594))
- **hooks:** 新增自定义 Hooks 工具库 ([0b3f680](https://github.com/anyup/uView-Pro/commit/0b3f68051b09917fbd39006093291f6dcc4eb0ef))

### 📝 Documentation | 文档

- 添加 Copilot 提示词 ([c10cd20](https://github.com/anyup/uView-Pro/commit/c10cd201214907ae2ac8228498927a59f8411cfb))

### 🐛 Bug Fixes | Bug 修复

- **u-collapse:** 重构手风琴组件并解决手风琴失效问题 ([a64e607](https://github.com/anyup/uView-Pro/commit/a64e6075f556ffeb3f5ad6b9ea443e3a22f83a86))
- **u-collapse:** 修复折叠面板内容高度在头条小程序适配 ([5fdcd26](https://github.com/anyup/uView-Pro/commit/5fdcd262ab3e134a97a4f25482d188d93222fddf))

### 👷 Continuous Integration | CI 配置

- **vscode:** 设置 Vue 文件默认格式化工具为 Prettier ([84d5259](https://github.com/anyup/uView-Pro/commit/84d52599f2632e814a137e8d553793fb3cdad1f1))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.2.0 ([41a9319](https://github.com/anyup/uView-Pro/commit/41a93199896682b574f78f161b5a63b2268ae89a))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.1.1] - tag v0.1.1

Tagger: anyup <anyupxing@163.com>

Release version 0.1.1
2025-09-22

### ♻️ Code Refactoring | 代码重构

- **theme:** 重构主题颜色定义和导出 ([a58a477](https://github.com/anyup/uView-Pro/commit/a58a477c8af42e466ed544d7737d84de80f3dc27))

### ✨ Features | 新功能

- **i18n:** 优化国际化配置并添加安全措施 ([952dd88](https://github.com/anyup/uView-Pro/commit/952dd887dcadeebccb98a25ec066181904ab727e))

### 📝 Documentation | 文档

- 简化提交 issue 模板结构 ([c818685](https://github.com/anyup/uView-Pro/commit/c818685383ae400b10d6662e7f4b9ba6be5b31f6))

### 🐛 Bug Fixes | Bug 修复

- **u-input:** 解决u-input组件在微信小程序端,开启clearable属性后,focus会自动清空输入问题 ([283551c](https://github.com/anyup/uView-Pro/commit/283551c54cd7006899a66b97afe7137b4bbb14b1))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.1.1 ([7397b86](https://github.com/anyup/uView-Pro/commit/7397b86aa2670cb8c7a7d094a62a895ec1fb560d))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.1.0] - tag v0.1.0

Tagger: anyup <anyupxing@163.com>

Release version 0.1.0
2025-09-21

### ♻️ Code Refactoring | 代码重构

- **http:** 优化 HTTP 请求和响应拦截器 ([b9ea27f](https://github.com/anyup/uView-Pro/commit/b9ea27f7a2fc3425316211784a07b2cde030282a))
- 修改路由基础路径 ([23143c8](https://github.com/anyup/uView-Pro/commit/23143c839242fcd19c9c6ca73a8ff1bcfdb8b83b))
- 移除多个组件中未使用的样式标签 ([f8d353a](https://github.com/anyup/uView-Pro/commit/f8d353a0b99b3d9a2530d8d8a4bd8d0d5fe7dcc5))
- 更新项目文档链接和基础配置 ([435a1ea](https://github.com/anyup/uView-Pro/commit/435a1ea5b89f8ba850f3cd469f4583d3946f8142))

### 📦‍ Build System | 打包构建

- **vite:** 配置别名和服务器设置 ([b319288](https://github.com/anyup/uView-Pro/commit/b3192882a104963ab6a2c7b6c03e2fb8ee17f609))
- **vite:** 配置别名和服务器设置 ([9483730](https://github.com/anyup/uView-Pro/commit/9483730b371a5722511cd515d20a1eac28834f04))
- 添加修复空 CSS 文件的脚本 ([38b943d](https://github.com/anyup/uView-Pro/commit/38b943d0f1234978e90284fa759f13b604160e96))

### ✨ Features | 新功能

- **theme:** 支持自定义的color值传入 ([3de798f](https://github.com/anyup/uView-Pro/commit/3de798f8de48af07774376366f5472f463b07177))

### 💄 Styles | 风格

- 移除多余空格和换行 ([80df4d4](https://github.com/anyup/uView-Pro/commit/80df4d44b631b12adb1ae45a6dd0dfa69a2694b1))

### 📝 Documentation | 文档

- 更新交流群图片 ([3b71cb0](https://github.com/anyup/uView-Pro/commit/3b71cb092efd4c5a89c36ee559028d0fe438a013))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.1.0 ([2b3ef26](https://github.com/anyup/uView-Pro/commit/2b3ef26968f8c87bd3086877315efee8d11183fe))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.23] - tag v0.0.23

Tagger: anyup <anyupxing@163.com>

Release version 0.0.23
2025-09-15

### 🐛 Bug Fixes | Bug 修复

- **u-collapse:** fix accordion mode ([c411fef](https://github.com/anyup/uView-Pro/commit/c411fef340cff07ab06a64f623741e9c1ad125cb))

### 🚀 Chore | 构建/工程依赖/工具

- revert comments ([3eed330](https://github.com/anyup/uView-Pro/commit/3eed330c27a7026eb87cb9ef285d1ecbe6789552))
- **docs:** 增加贡献者 ([8b9d44e](https://github.com/anyup/uView-Pro/commit/8b9d44e281c02f639079b77b7c32cc0a566b35a1))
- **docs:** add contributors ([b4035da](https://github.com/anyup/uView-Pro/commit/b4035da5a39acc5ae9dcb13b06143cda6a73fec3))
- **release:** bump version to 0.0.23 ([b230c3f](https://github.com/anyup/uView-Pro/commit/b230c3fb9436bf9ea8c51c20c9c0a0d8cb5bb34a))

### 📝 Documentation | 文档

- 更新交流群二维码图片 ([00c0581](https://github.com/anyup/uView-Pro/commit/00c058159ea9d169219474728e8b31cdc892ab2c))

### 👥 Contributors

<a href="https://github.com/bin"><img src="https://github.com/bin.png?size=40" width="40" height="40" alt="Bin" title="Bin"/></a> <a href="https://github.com/fuwb"><img src="https://github.com/fuwb.png?size=40" width="40" height="40" alt="fuwb" title="fuwb"/></a> <a href="https://github.com/qianyuanji"><img src="https://github.com/qianyuanji.png?size=40" width="40" height="40" alt="qianyuanji" title="qianyuanji"/></a> <a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.22] - tag v0.0.22

Tagger: anyup <anyupxing@163.com>

Release version 0.0.22
2025-09-11

### 🚀 Chore | 构建/工程依赖/工具

- 忽略 pnpm-lock.yaml 文件 ([28802d3](https://github.com/anyup/uView-Pro/commit/28802d308d3c1f2d0d6b583b3b27725b6b40b1a9))
- **release:** bump version to 0.0.22 ([1b30faa](https://github.com/anyup/uView-Pro/commit/1b30faab76518af4799767204abd838a876d9fd0))

### 🐛 Bug Fixes | Bug 修复

- **td/th:** fix invalid width setting ([21718fc](https://github.com/anyup/uView-Pro/commit/21718fc3b2f09e1ccf9f1ce8247b78f30e5fe465))
- **u-modal:** 修复在 modal 组件中添加 clearLoading 方法的暴露,以便外部可以调用 ([34b51a7](https://github.com/anyup/uView-Pro/commit/34b51a7187da296b11f4b5db027a86c41a50a477))

### ✨ Features | 新功能

- **components:** add u-status-bar and u-safe-bottom component ([2085e73](https://github.com/anyup/uView-Pro/commit/2085e73be725f921c436069c27c124e507b24d0e))
- **u-upload:** 调整上传组件默认值和功能 ([4808627](https://github.com/anyup/uView-Pro/commit/48086274f5fe16f4b3b7554a99038a76aa08e8c5))
- **pages:** 在多个页面中添加功能说明的弹窗提示 ([5e59855](https://github.com/anyup/uView-Pro/commit/5e59855ff81f21c54cbfa44a3f4641b4b9f1f6bd))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/bin"><img src="https://github.com/bin.png?size=40" width="40" height="40" alt="Bin" title="Bin"/></a> <a href="https://github.com/lonely-flyer"><img src="https://github.com/lonely-flyer.png?size=40" width="40" height="40" alt="Lonely-flyer" title="Lonely-flyer"/></a>

## [0.0.21] - tag v0.0.21

Tagger: anyup <anyupxing@163.com>

Release version 0.0.21
2025-09-09

### ⚡ Performance Improvements | 性能优化

- **pages:** options 语法升级为 composition 语法 ([e38878c](https://github.com/anyup/uView-Pro/commit/e38878c696ffc548374169423613e97c3878bafd))
- **pages:** options 语法升级为 composition 语法 ([0403545](https://github.com/anyup/uView-Pro/commit/040354507bd187a9bff4371fc4950dfd6412cd5b))
- **pages:** options 语法升级为 composition 语法 ([514ecb6](https://github.com/anyup/uView-Pro/commit/514ecb6f8e2b133b962a6cbe7609a64e4d973928))
- **pages:** options 语法升级为 composition 语法 ([ffcc1cb](https://github.com/anyup/uView-Pro/commit/ffcc1cb8993196252535ea6553d7fd999ab57719))
- **pages:** options 语法升级为 composition 语法 ([2c755e3](https://github.com/anyup/uView-Pro/commit/2c755e3e1f386c3be1ae8955607d64f72b2b6640))
- 优化首页图标渲染问题 ([a6d4b16](https://github.com/anyup/uView-Pro/commit/a6d4b1690544f3261fb138cb490a10131d4fb749))

### 🐛 Bug Fixes | Bug 修复

- **u-tag:** 修复 u-tag 类型 ([c9071a6](https://github.com/anyup/uView-Pro/commit/c9071a610e08efc4581eff97e4d4998c2d01c9eb))
- **u-table:** 修复 u-table props style 属性变化时,u-th/t-td 未更新问题 ([b1ee7d6](https://github.com/anyup/uView-Pro/commit/b1ee7d6ade7a59e305d7a4081415418387bb6832))
- 修复微信小程序环境下 http interceptor 的路径问题 ([a7fe746](https://github.com/anyup/uView-Pro/commit/a7fe7466b3f66644e097ee6be23f231bce77fa5f))
- 优化checkbox示例页面逻辑 ([9818b20](https://github.com/anyup/uView-Pro/commit/9818b20471e11b96ded606db808f2eda32904f82))
- 修复微信小程序不支持u-circle-progress绘制canvas失败问题 ([46406c5](https://github.com/anyup/uView-Pro/commit/46406c593260f29b081c6a5d98c48dc97e225600))
- 修复 u-picker 组件 params 属性默认值设置 ([36a713b](https://github.com/anyup/uView-Pro/commit/36a713b3c84ddb6e9ef40132512063cdde35ea19))

### 📝 Documentation | 文档

- 更新微信交流群图片 ([825b187](https://github.com/anyup/uView-Pro/commit/825b187619ee745a23559bfe0b597b75f90f220d))

### 🚀 Chore | 构建/工程依赖/工具

- update project configuration and add prettier support ([9c0cc6a](https://github.com/anyup/uView-Pro/commit/9c0cc6ae3719b975d702b0283bd0c15ee4f3c374))
- **release:** bump version to 0.0.21 ([7bbcbeb](https://github.com/anyup/uView-Pro/commit/7bbcbeb8fa98057e6ff94a9c3233fbc5fc13758d))

### ♻️ Code Refactoring | 代码重构

- **library:** 移除不需要的 globalVariable ([420c40e](https://github.com/anyup/uView-Pro/commit/420c40eac3c67e184924e166edaf4cf2ea904477))
- 更新 pages.json ([03297ce](https://github.com/anyup/uView-Pro/commit/03297ce219ae9337c1a424b9583fa53c74f0291d))

### 💄 Styles | 风格

- 格式化代码 ([a9e0a38](https://github.com/anyup/uView-Pro/commit/a9e0a387ffa55df740b828ea4a1463d97089c4bd))

### 📦‍ Build System | 打包构建

- mp-alipay 开启 component2 支持 ([430d248](https://github.com/anyup/uView-Pro/commit/430d248ef9e805365dcee0373f6a524bd7084a38))

### 👥 Contributors

<a href="https://github.com/bin"><img src="https://github.com/bin.png?size=40" width="40" height="40" alt="Bin" title="Bin"/></a> <a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.20] - tag v0.0.20

Tagger: anyup <anyupxing@163.com>

Release version 0.0.20
2025-09-08

### ♻️ Code Refactoring | 代码重构

- 优化http使用示例 ([39d0910](https://github.com/anyup/uView-Pro/commit/39d091056dc1e335625ce884aade35c8bd11ee6f))

### 📝 Documentation | 文档

- 更新微信交流群图片 ([21bbec1](https://github.com/anyup/uView-Pro/commit/21bbec14937ee52b225d1f415d90aecbe4d4950f))

### 🚀 Chore | 构建/工程依赖/工具

- update project configuration and add prettier support ([74a714d](https://github.com/anyup/uView-Pro/commit/74a714ddc30dc0c2c5a6389f254f1e2c922d905e))
- **release:** bump version to 0.0.20 ([0b94520](https://github.com/anyup/uView-Pro/commit/0b945200d962e584b4c467fdd312e45f944f3f64))

### 🐛 Bug Fixes | Bug 修复

- 修复微信小程序环境下 http interceptor 的路径问题 ([6db4db8](https://github.com/anyup/uView-Pro/commit/6db4db89ef1ab22e3051a6ee944ba44430aa3474))

### 👷 Continuous Integration | CI 配置

- update husky pre-commit ([dd04f9a](https://github.com/anyup/uView-Pro/commit/dd04f9a8f2ebdbec37a148e1cf2fa3280c1ab2cd))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.19] - tag v0.0.19

Tagger: anyup <anyupxing@163.com>

Release version 0.0.19
2025-09-04

### 🐛 Bug Fixes | Bug 修复

- include uview-pro changelog.md in release commit ([18d902d](https://github.com/anyup/uView-Pro/commit/18d902db2bba4f8f574d7b3b72be218747525bb9))

### 📝 Documentation | 文档

- update uview pro changelog ([31261db](https://github.com/anyup/uView-Pro/commit/31261dbd6b17aea8126a43def1912324b782096e))

### ♻️ Code Refactoring | 代码重构

- 移除 uni-http 模块 ([5f21735](https://github.com/anyup/uView-Pro/commit/5f2173503cc904fb0a7fa2abd3ed3b9dbe09aeb2))

### ✨ Features | 新功能

- 新增http请求模块并实现插件化 ([31c6f88](https://github.com/anyup/uView-Pro/commit/31c6f880d12e586d445faddcc1a3910fda9926bc))
- 增强 toast 工具函数的灵活性 ([2232054](https://github.com/anyup/uView-Pro/commit/22320540acee36c6c11688387431a4ddba93520f))
- 添加 HTTP 请求拦截器和配置示例代码 ([aba7cf9](https://github.com/anyup/uView-Pro/commit/aba7cf97ed2424432da51be1841aa17a5a2d7932))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.0.19 ([ac9f999](https://github.com/anyup/uView-Pro/commit/ac9f9990cab450e14ddcd14681004417a14846ac))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.18] - tag v0.0.18

Tagger: anyup <anyupxing@163.com>

Release version 0.0.18
2025-09-03

### 🚀 Chore | 构建/工程依赖/工具

- update release script for better version management ([b64f38f](https://github.com/anyup/uView-Pro/commit/b64f38fea28de39c99cdf84f7e767aa7ceac1344))
- **release:** bump version to 0.0.18 ([ba61715](https://github.com/anyup/uView-Pro/commit/ba61715b4288f0c7beba5452f1c00a7dbfa3fb47))

### 🐛 Bug Fixes | Bug 修复

- **u-checkbox:** 兼容头条小程序获取父组件数据不支持provide/inject的写法 ([498e12e](https://github.com/anyup/uView-Pro/commit/498e12e2f3aa52021d1be282426536b45f39ca6a))

### 👷 Continuous Integration | CI 配置

- optimize changelog generation and spacing ([3103e7b](https://github.com/anyup/uView-Pro/commit/3103e7b56a0e2dd0392efdb6a85824b11ef6800c))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.17] - tag v0.0.17

Tagger: anyup <anyupxing@163.com>

Release version 0.0.17
2025-09-02

### ✨ Features | 新功能

- **components:** add u-loading-popup component ([6245df9](https://github.com/anyup/uView-Pro/commit/6245df951034b06225ab36d3f18cae8e7ab4b329))
- loading popup component enhance functionality and customization ([82f2aba](https://github.com/anyup/uView-Pro/commit/82f2aba81ead557e6c827cee13c2354fb8c3e16a))
- 添加 Loading 加载弹窗组件的示例页面 ([1bce868](https://github.com/anyup/uView-Pro/commit/1bce86810863012c5a73104ca0a85ebacb4aa92a))
- 更新发布脚本,支持同时更新两个package.json文件的版本号 ([b251b31](https://github.com/anyup/uView-Pro/commit/b251b314d0ef6f64653299460bcf321ec0872e0b))

### 🐛 Bug Fixes | Bug 修复

- 修复瀑布流组件u-waterfll,暴露celar/remove/modify方法 ([240e023](https://github.com/anyup/uView-Pro/commit/240e0238af092d4c6bde86d0db9e49636b806d6f))

### ♻️ Code Refactoring | 代码重构

- migrate waterfall demo to vue 3 composition api ([93949ad](https://github.com/anyup/uView-Pro/commit/93949ad8ae2a36c6130f87340c222ab9ec69d21f))
- 优化 loading popup 弹窗组件 ([eb0c981](https://github.com/anyup/uView-Pro/commit/eb0c981184a28952004c137f2db4fbc460e72a0f))

### 📝 Documentation | 文档

- update docs ([8604485](https://github.com/anyup/uView-Pro/commit/860448594a35814f0f0891ac12b586b7e2b533a4))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.0.17 ([9fcbdd9](https://github.com/anyup/uView-Pro/commit/9fcbdd90a0a1764134c8d33a011223a5dda990be))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.15] - tag v0.0.15

Tagger: anyup <anyupxing@163.com>

Release version 0.0.15
2025-08-30

### 📝 Documentation | 文档

- update readme docs ([2633c45](https://github.com/anyup/uView-Pro/commit/2633c4504a678802a997e6065292204f3b3fda2a))
- update readme docs ([2fd99d8](https://github.com/anyup/uView-Pro/commit/2fd99d8f6f9531e172e6eeabff513bdb3efcee41))
- update readme ([179c9d3](https://github.com/anyup/uView-Pro/commit/179c9d36f9872b4d69d4792f65cf0e01cca96f85))
- update readme docs ([ed211d7](https://github.com/anyup/uView-Pro/commit/ed211d7cf5cee823e94294506f786d8ce1877d14))
- 更新文档链接 ([58e34d5](https://github.com/anyup/uView-Pro/commit/58e34d50b1bff89ad76132b2b72fe7abe45918ed))
- types/v3-directive not published ([fc93b34](https://github.com/anyup/uView-Pro/commit/fc93b349c326aa29f872d3e337954fc91c9221c9))

### 🐛 Bug Fixes | Bug 修复

- 解决使用u-swipe-action右边会出现一条背景线的bug ([a5b60c6](https://github.com/anyup/uView-Pro/commit/a5b60c6485120e164c0e0c29eea3b765c10f9aac))
- update error text descriptions ([314c394](https://github.com/anyup/uView-Pro/commit/314c3940145c657b12f16d005af7d271f4ae74e3))
- **u-form:** update form validation rules and improve form component ([3912fd6](https://github.com/anyup/uView-Pro/commit/3912fd6ade3a1d612f6f5e86ddc0336376ee5618))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.0.14 ([d1afdf7](https://github.com/anyup/uView-Pro/commit/d1afdf735853eae65cc8676f2182379868ed9c4a))
- **release:** bump version to 0.0.15 ([d5bc854](https://github.com/anyup/uView-Pro/commit/d5bc854a4410104ca1864e35f9a932c7452a196f))

### ✨ Features | 新功能

- 优化 u-image 组件 slot 使用体验,兼容头条小程序 ([a6ca54f](https://github.com/anyup/uView-Pro/commit/a6ca54fce06b20b7a6938d0bef9342954b787641))

### ♻️ Code Refactoring | 代码重构

- **form:** migrate form demo to vue 3 composition api ([9d7c7d3](https://github.com/anyup/uView-Pro/commit/9d7c7d3f1bbfeda145bd3de57c65e0eccbcfdde9))

### 👷 Continuous Integration | CI 配置

- update changelog script with correct github url ([7761721](https://github.com/anyup/uView-Pro/commit/7761721dbd580de37fa94ac48514aeb4d570bc77))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.13] - tag v0.0.13

Tagger: anyup <anyupxing@163.com>

Release version 0.0.13
2025-08-27

### 🐛 Bug Fixes | Bug 修复

- 修复count-down组件暴露start和end方法 ([0f42a01](https://github.com/anyup/uView-Pro/commit/0f42a01f55aa6799f57eb93dc5d029b06115b154))

### 📝 Documentation | 文档

- 更新文档 ([ec8d987](https://github.com/anyup/uView-Pro/commit/ec8d987c840d32729b9d227f6cdcb1005aec4028))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.0.13 ([ea5c4df](https://github.com/anyup/uView-Pro/commit/ea5c4df6b77c4a7004fb0e4a9d538917e1ed4003))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.12] - tag v0.0.12

Tagger: anyup <anyupxing@163.com>

Release version 0.0.12
2025-08-27

### 📝 Documentation | 文档

- update readme docs ([103114b](https://github.com/anyup/uView-Pro/commit/103114b364add458d7d986fc2bfea2960b71231a))
- update readme docs ([06fd2ac](https://github.com/anyup/uView-Pro/commit/06fd2acbcbd2693bb77cf541f99bbcda41c4547d))
- update readme docs ([db35ab7](https://github.com/anyup/uView-Pro/commit/db35ab7e11daafd28097bae9eb4afeb92556cc83))

### 🐛 Bug Fixes | Bug 修复

- 优化 async-validator 文件多余注释导致的问题 ([f06c80d](https://github.com/anyup/uView-Pro/commit/f06c80d57e61e7b75f1384fe89f309b8a0e379fa))

### 📦‍ Build System | 打包构建

- 编译文件 ([212ec8d](https://github.com/anyup/uView-Pro/commit/212ec8d306725cb5e7a7680b399553ddbaff07b4))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.0.12 ([f791252](https://github.com/anyup/uView-Pro/commit/f7912525316f493d925eef34fed01594eb6d7d61))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.11] - tag v0.0.11

Tagger: anyup <anyupxing@163.com>

Release version 0.0.11
2025-08-26

### 🐛 Bug Fixes | Bug 修复

- 修复u-count-down倒计时符号显示逻辑 ([a4c9498](https://github.com/anyup/uView-Pro/commit/a4c94986b020c5ac0fdf92bde3c7b79cdfbedbe8))

### ♻️ Code Refactoring | 代码重构

- 取消 async-validator ts 检查 ([772a729](https://github.com/anyup/uView-Pro/commit/772a729164f2cb268a886b6749e4a58846ebb3dc))
- 移除u-tr未使用的类型导入和属性定义 ([46ce459](https://github.com/anyup/uView-Pro/commit/46ce4590166a30a0eb048110efc046095a87f6e8))

### 📝 Documentation | 文档

- update docs ([541f7bb](https://github.com/anyup/uView-Pro/commit/541f7bbc31a40cc7ce286c2a20b49545b1e823f5))
- 更新 package.json 描述文件 ([e1ced9c](https://github.com/anyup/uView-Pro/commit/e1ced9c412f2cd85d485054946df436b014b726e))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.0.11 ([86f972a](https://github.com/anyup/uView-Pro/commit/86f972ab537120e86acac35441466ca710370b0b))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.10] - tag v0.0.10

Tagger: anyup <anyupxing@163.com>

Release version 0.0.10
2025-08-26

### ♻️ Code Refactoring | 代码重构

- 完善 select 组件类型定义 ([26af2da](https://github.com/anyup/uView-Pro/commit/26af2da5be7801e35ffbbdd4aebcbfd13e5a44fe))

### ✨ Features | 新功能

- 添加 easycom 组件自动扫描 ([b125039](https://github.com/anyup/uView-Pro/commit/b1250390a4f594f5deaa133d7a92bd6e72707890))
- 增强 u-select 组件的类型安全和功能 ([38635e9](https://github.com/anyup/uView-Pro/commit/38635e963f9eff6e4c730692e8c97f10b3a092c5))

### 📝 Documentation | 文档

- 更新快速上手指南 ([a863a7a](https://github.com/anyup/uView-Pro/commit/a863a7a1b25a28dbb8318c35986f8e86117475be))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.0.10 ([7914ffb](https://github.com/anyup/uView-Pro/commit/7914ffb5d13ddf192c8d489b85ce7c38804deda4))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.9] - tag v0.0.9

Tagger: anyup <anyupxing@163.com>

Release version 0.0.9
2025-08-25

### ♻️ Code Refactoring | 代码重构

- 优化全局工具导出方式 ([7a80b6f](https://github.com/anyup/uView-Pro/commit/7a80b6f99ad3022ca995f99f8ec6803af7941eb9))

### 📦‍ Build System | 打包构建

- update version to 0.0.9 ([1bb904a](https://github.com/anyup/uView-Pro/commit/1bb904ab28017afb0e7fcad19db422ddfeeb4c3f))

### 📝 Documentation | 文档

- update changelog ([48d8e88](https://github.com/anyup/uView-Pro/commit/48d8e88f9e9918542777a77c1098d9c183b7be4d))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.0.9 ([e7cedb3](https://github.com/anyup/uView-Pro/commit/e7cedb37e2b1917f1bb66c43012e4d33662b5ec2))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.8] - tag v0.0.8

Tagger: anyup <anyupxing@163.com>

Release version 0.0.8
2025-08-25

### ♻️ Code Refactoring | 代码重构

- 重构类型定义types ([466463e](https://github.com/anyup/uView-Pro/commit/466463ea51909210c698d52577b0fccf35091558))
- 重构组件Props属性定义,每个组件具有完善的ts类型定义 ([8cc0de7](https://github.com/anyup/uView-Pro/commit/8cc0de7c1527b48dd223d89207135eea01766294))
- 重构类型定义并统一到全局类型文件global types ([b0fd010](https://github.com/anyup/uView-Pro/commit/b0fd0107289eb1c6df2f58d91b63d9b25902caee))

### 📦‍ Build System | 打包构建

- release v0.0.8 ([6f8c240](https://github.com/anyup/uView-Pro/commit/6f8c24044f966fbdc8323e3a29718c45b31005c2))

### 🚀 Chore | 构建/工程依赖/工具

- **release:** bump version to 0.0.8 ([168fd72](https://github.com/anyup/uView-Pro/commit/168fd7298f89e886e44d418250297b487b573c93))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.7] - tag v0.0.7

Tagger: anyup <anyupxing@163.com>

Release version 0.0.7
2025-08-21

### 📝 Documentation | 文档

- **README:** 更新文档 ([7b0fcaf](https://github.com/anyup/uView-Pro/commit/7b0fcaf8d940077a3626bf5b4d27ea76281aa4cc))
- 更新项目文档链接 ([a5b2ec1](https://github.com/anyup/uView-Pro/commit/a5b2ec12e932beb483dc7235e255e4ea258eb6e3))
- 更新插件市场下载链接 ([16ecf8d](https://github.com/anyup/uView-Pro/commit/16ecf8d2a8339467f34d2b39779be89b2fb195f5))
- 添加 issue 和 PR 模板以提高项目管理效率 ([fd93594](https://github.com/anyup/uView-Pro/commit/fd93594649bb082ebb031d3835a5bd8db1141347))
- 更新 issue 和 PR 模板 ([b090a23](https://github.com/anyup/uView-Pro/commit/b090a23443103008a88fb708deb3b8600a5dd070))
- 添加 issue 和 PR 模板 ([5b94bff](https://github.com/anyup/uView-Pro/commit/5b94bff012db1f3baa8eec692d423535b9fd431f))
- 删除无用的 issue 模板 ([b85761c](https://github.com/anyup/uView-Pro/commit/b85761ceebe25ef06b275b4497d6cfb10667aca8))
- 更新 README.md 中的徽章 ([4f9e241](https://github.com/anyup/uView-Pro/commit/4f9e241518a19db051bb7d787bca3deddfdd3bdf))
- **README:** 更新项目徽章和文档链接 ([e759065](https://github.com/anyup/uView-Pro/commit/e759065dced747c68ccf4a8258dce1b273aba260))
- **request:** 添加 uni-http 使用说明并实现 hooks 版本 ([00191b3](https://github.com/anyup/uView-Pro/commit/00191b3dd2110cb5a15e170ba0fab0fce41a1f7c))
- **uview-pro:** 更新 readme 文档 ([8d300a8](https://github.com/anyup/uView-Pro/commit/8d300a82a64149d33e76f6a927050a23158856c9))
- 更新 README ([81243c6](https://github.com/anyup/uView-Pro/commit/81243c6d70006202420f0e831d650db458fe043d))
- **uview-pro:** 更新组件功能和优化描述 ([a840a46](https://github.com/anyup/uView-Pro/commit/a840a46cd3d35b8d2a4d287f2a9ca192ff596969))
- **uview-pro:** 更新组件列表和 changelog ([aee4275](https://github.com/anyup/uView-Pro/commit/aee4275641f3e5f97192349587b1b53acc5321e2))
- 更新 SSR 安装指南和 pages.json 配置 ([dcb8b91](https://github.com/anyup/uView-Pro/commit/dcb8b91b45b2fedb02fbfd59f24d8627b38cb600))
- 更新图片链接 ([24484aa](https://github.com/anyup/uView-Pro/commit/24484aae02f4bcc0880b80c2910b264486e9b592))

### ♻️ Code Refactoring | 代码重构

- **components:** [icon] 优化 margin 为 space ([e26b5db](https://github.com/anyup/uView-Pro/commit/e26b5dbc1d0d670484744d55bbfeb61a7b33bf6c))
- 更新文档链接为 Netlify 部署地址 ([3b7adfd](https://github.com/anyup/uView-Pro/commit/3b7adfde4d22403123c27f777027884a93ec516b))
- **page-nav:** 重构页面导航栏组件 ([9ae343c](https://github.com/anyup/uView-Pro/commit/9ae343c3fda13599f02528e3c7ee5d75e1c021b6))
- **gitee:** 优化 Gitee Issue 模板并调整页面配置 ([be54720](https://github.com/anyup/uView-Pro/commit/be547205d2c095316d7eb9252be0f4010719d06f))
- **uview-pro:** 重构 md5 函数的默认导出方式 ([75b6d3c](https://github.com/anyup/uView-Pro/commit/75b6d3c8840c922bbb03835ae4899cd28742e129))
- **example:** 重构 components 页面 ([a03c62d](https://github.com/anyup/uView-Pro/commit/a03c62ddd5bb0809f869cb847179549ae2b9cbd2))
- **library:** 重构工具库示例页面 ([49b438e](https://github.com/anyup/uView-Pro/commit/49b438ef141327af01b61d4ef2d1e14387dcd340))
- **components:** 更新多个组件插槽使用方式 ([c38ea5b](https://github.com/anyup/uView-Pro/commit/c38ea5b75e2a63f0bc54e489eaa09449122d6911))
- 优化关于页面布局和内容 ([ad5f6a4](https://github.com/anyup/uView-Pro/commit/ad5f6a47847999268b43b8c5dbf1a34cb8f70802))
- 删除分类数据文件 ([5ed7a11](https://github.com/anyup/uView-Pro/commit/5ed7a1113db58ff493ad606296a210358348affe))
- 重构index list页面 ([13d780e](https://github.com/anyup/uView-Pro/commit/13d780ea5acc4c8eed72062482735df826d4b37a))
- 更新商场菜单组件引用 ([a5f1bf3](https://github.com/anyup/uView-Pro/commit/a5f1bf3f256705d6cad028d60701b4b0544332de))
- 修改图片地址 ([c459893](https://github.com/anyup/uView-Pro/commit/c459893848936aa9a44e7bda3277ab1428109869))
- 重构upload上传组件示例页面 ([686831d](https://github.com/anyup/uView-Pro/commit/686831de357aca67bbf7015e2f0696cf6bf48164))
- 优化多个组件的代码结构和样式 ([f2af44c](https://github.com/anyup/uView-Pro/commit/f2af44ca1710334495e4c4fad99d04027b3788f8))
- 删除不再使用的u-parse组件及相关文件 ([a09bc6d](https://github.com/anyup/uView-Pro/commit/a09bc6d595d5ee8757c97778433488a9c08431ab))
- 优化多个组件的代码结构 ([df66344](https://github.com/anyup/uView-Pro/commit/df663445ae7082e2e6c88ac5d8cead1b757e8fc8))
- 重构 u-avatar-cropper 组件的类型声明文件 ([dc951c9](https://github.com/anyup/uView-Pro/commit/dc951c96346946e651c889dcaa3a7cb198e67116))
- 添加 async-validator 类型声明文件 ([752116b](https://github.com/anyup/uView-Pro/commit/752116b2b723160764579f5c63a13a638dd14240))

### 📦‍ Build System | 打包构建

- 修改路由基础路径,去除h5 ([24dbff7](https://github.com/anyup/uView-Pro/commit/24dbff796e577157ac2ec8764d48b476cb6eb2ea))
- 更新版本号versionCode ([3877b67](https://github.com/anyup/uView-Pro/commit/3877b67dd8b9a2a6acb142c9ee7cdfe0bbf31912))
- 更新 android sdk 版本号 ([8885a1d](https://github.com/anyup/uView-Pro/commit/8885a1d2c2d1b165a1930452bb741d3e895c3957))
- version 0.0.5 ([2f97a50](https://github.com/anyup/uView-Pro/commit/2f97a50c9954375257e430d971dd80b2d7234fa6))
- 更新版本号 ([1280508](https://github.com/anyup/uView-Pro/commit/1280508612cfefa8fbf12df0c089886581d24ed5))
- 更新组件库显示名称 ([89f06df](https://github.com/anyup/uView-Pro/commit/89f06df683e76104eab4ba7cf09094cd2930d63f))
- 更新项目依赖并优化打包构建 ([c172d36](https://github.com/anyup/uView-Pro/commit/c172d368d82404564650756a872cd7c7e29ebfa2))
- 更新版本号至 0.0.6 ([04c8bac](https://github.com/anyup/uView-Pro/commit/04c8bace794fd1fe16c53565df2236c96e80a835))

### ✨ Features | 新功能

- **example:** 添加页面分享功能 ([0c1a8e2](https://github.com/anyup/uView-Pro/commit/0c1a8e2d05a194791c494a6cb2c1b7c6fe4873a8))
- **components:** 添加 demo-animation 组件 ([aca752b](https://github.com/anyup/uView-Pro/commit/aca752b02d37c8c8382bae65825401f4531f227d))
- **components:** 添加 demo-card 组件 ([60ca440](https://github.com/anyup/uView-Pro/commit/60ca4403df5d7336d3a6bf533aee765dfcfba0a6))
- **example:** 添加 JS 工具库示例页面 ([685ab38](https://github.com/anyup/uView-Pro/commit/685ab38bae80161b9db795069eb9497944fcb746))
- **tabBar:** 添加工具页面并调整 tabBar 列表 ([1f4ba43](https://github.com/anyup/uView-Pro/commit/1f4ba43f9d29a4c8fd6bf12de577ff59933ea312))
- **uview-pro:** 发布 0.0.4 版本 ([5d595d2](https://github.com/anyup/uView-Pro/commit/5d595d281ed957184d3925c5d059224f6cafb9e6))
- 添加提交规范相关配置文件git-cz/husky/changelog ([d93b816](https://github.com/anyup/uView-Pro/commit/d93b816a5a3e468c4bc45e3161d7c006cba5fbf6))
- 优化 deepClone 和 deepMerge 页面的结果展示 ([b0daa70](https://github.com/anyup/uView-Pro/commit/b0daa700b6a385e037d38dc1f10b3612596e2403))
- 新增优惠券模板 ([1b77762](https://github.com/anyup/uView-Pro/commit/1b777621615f7ebe9d83606d53650987c8b2c4e0))
- 更新easycom配置说明,一定要放在custom里,否则不生效 ([fc14bf9](https://github.com/anyup/uView-Pro/commit/fc14bf90cb77088d258e20e79e3d25820f37e97e))
- 添加 u-city-select 城市选择器组件 ([0eb4806](https://github.com/anyup/uView-Pro/commit/0eb4806db3be39e1a6c6f33c9ea511d8445da884))
- 添加模板示例页面 ([3336af4](https://github.com/anyup/uView-Pro/commit/3336af406161648d18578c988d9b3ad79b86059a))
- 新增模版相关页面 ([8925a02](https://github.com/anyup/uView-Pro/commit/8925a02f9fa88f4742d984f2ff02909afc6ad0d7))
- 重构request类,优化泛型支持 ([d7b2e6a](https://github.com/anyup/uView-Pro/commit/d7b2e6a224d96f717e5bdbaf09edb19b712ced47))
- 完善u-button的open-type支持类型 ([37c0db5](https://github.com/anyup/uView-Pro/commit/37c0db527258bca57dbd55d7013b633230489853))
- 添加 uview-pro 组件库的 TypeScript 类型声明 ([e6b2cbf](https://github.com/anyup/uView-Pro/commit/e6b2cbfc8417b0877c8cd1d374e2cd8731ec6bec))
- changelog增加生成指定范围变更日志的功能 ([79c6fd0](https://github.com/anyup/uView-Pro/commit/79c6fd01426ff3b4a83db2b98a8b595805fc9d22))

### 🐛 Bug Fixes | Bug 修复

- **components:** update ([b0f7b17](https://github.com/anyup/uView-Pro/commit/b0f7b171916b0c65ed452d04354a5b80f3745e87))
- **upload:** 解决上传组件并添加自定义按钮不生效的问题 ([ae35c0e](https://github.com/anyup/uView-Pro/commit/ae35c0e5517add4ec703ffd6a9a3d0133d17ddb5))
- u-upload 暴露 lists 属性 ([09f8424](https://github.com/anyup/uView-Pro/commit/09f8424774baaee3b6fc7a42458949f8d5903951))
- u-upload深度监听文件列表变化并优化事件触发 ([a41a571](https://github.com/anyup/uView-Pro/commit/a41a5719ddf9d6793b78c55a13025bbdc88fdfe3))
- 修复 notice 组件背景色和键盘组件默认值问题 ([4ef252a](https://github.com/anyup/uView-Pro/commit/4ef252a4f4a093d0899fc3de4ad1b3bfc74277b4))
- 修复中tabbar布局高度计算错误的问题 ([5c1342c](https://github.com/anyup/uView-Pro/commit/5c1342cb3fb6dd2c7c84fe785953fcaed13e809f))

### 🚀 Chore | 构建/工程依赖/工具

- 更新 .gitignore 文件 ([8ff834e](https://github.com/anyup/uView-Pro/commit/8ff834ed6d0bceaf9c2c467a1d4a5f63bc06ad19))
- **release:** bump version to 0.0.7 ([6830df1](https://github.com/anyup/uView-Pro/commit/6830df1cde517c063c26c2d5f16f22259b3b2f5d))

### 💄 Styles | 风格

- 添加 referrer 策略 meta 标签 ([5f8961a](https://github.com/anyup/uView-Pro/commit/5f8961ab19cd166b06f7d42af204c84ed61f42b9))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a> <a href="https://github.com/wjp"><img src="https://github.com/wjp.png?size=40" width="40" height="40" alt="wjp" title="wjp"/></a> <a href="https://github.com/chouchouji"><img src="https://github.com/chouchouji.png?size=40" width="40" height="40" alt="chouchouji" title="chouchouji"/></a> <a href="https://github.com/yourname"><img src="https://github.com/yourname.png?size=40" width="40" height="40" alt="Your Name" title="Your Name"/></a>

## [0.0.3] - tag v0.0.3

Tagger: anyup <anyupxing@163.com>

- 添加插件使用示例工程
- github/gitee/npmjs/插件市场版本同步2025-08-06

### 📝 Documentation | 文档

- 添加 uView Pro QQ 交流群链接 ([756befb](https://github.com/anyup/uView-Pro/commit/756befbf5646129f2d6dd4652bc6e5934cbe3a3b))
- 更新 README 中的徽章链接 ([b28b150](https://github.com/anyup/uView-Pro/commit/b28b150614cd8fffff4763ec6cd2ce35a76bb777))
- 调整 README.md 中的徽标位置 ([56aa752](https://github.com/anyup/uView-Pro/commit/56aa7523ac4c7da57eeb7cc024ec2f2e2473ff78))
- **readme:** 更新 uView Pro 项目文档 ([5bf77b5](https://github.com/anyup/uView-Pro/commit/5bf77b50763307f0a9569c0a48bfd996fb876396))
- **README:** 更新项目徽标展示布局 ([650ed2f](https://github.com/anyup/uView-Pro/commit/650ed2f5c5ca4a092d468342bf1e113befd07784))
- 更新 README 中的项目链接 ([335b707](https://github.com/anyup/uView-Pro/commit/335b707a8941a5c4a429f9734a69a2cae951cbfc))
- **README:** 更新安装方式说明 ([c1f95ac](https://github.com/anyup/uView-Pro/commit/c1f95ac6f57aefe069adcdb7ab4bc51edac8aab8))
- 更新官方文档链接 ([7cd7ce9](https://github.com/anyup/uView-Pro/commit/7cd7ce9425987993b3e6a0c89e271d6bffac3a64))
- **uview-pro:** 更新文档链接地址 ([9688d79](https://github.com/anyup/uView-Pro/commit/9688d790af3526f8dcecd08574ab6a7ee7a2a1c6))
- **README:** 更新快速入门指南并优化文档结构 ([d894a5b](https://github.com/anyup/uView-Pro/commit/d894a5b7bfa6944bda7267d5ccc030c58019ce0b))
- **README:** 更新中文和英文版本的 README 文件 ([a9102c1](https://github.com/anyup/uView-Pro/commit/a9102c12672db1cf5df79f385d5f46d4d63c3ca0))
- 更新 README 文件中的 GitHub 链接 ([dc80417](https://github.com/anyup/uView-Pro/commit/dc804176d4a11a79e1fdbaf510935be00f94aebb))
- **readme:** 移除升级指南链接 ([e6417dd](https://github.com/anyup/uView-Pro/commit/e6417dd3078f132c3040ea5a089c1445f82bc27a))
- **README:** 更新文档链接 ([6794352](https://github.com/anyup/uView-Pro/commit/6794352e3a15a568e1fb9a75201fde8cb4a4cf59))

### 🚀 Chore | 构建/工程依赖/工具

- 更新 .gitignore 文件 ([b38550b](https://github.com/anyup/uView-Pro/commit/b38550bb0861b04afedfa2e50ffd1fa8435b43b2))

### 👷 Continuous Integration | CI 配置

- **uview-pro:** 更新 Vue 版本兼容性并调整文档 ([82c3725](https://github.com/anyup/uView-Pro/commit/82c37255f42a0b7a26bf829552fb0d27f8a38a15))

### 👥 Contributors

<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>

## [0.0.2] - tag v0.0.2

Tagger: anyup <anyupxing@163.com>


================================================
FILE: CONTRIBUTING.md
================================================
# 贡献指南

感谢您的贡献!为保证代码风格统一,所有提交必须通过 Prettier 格式化校验。

## 代码风格要求

- 仓库已配置 `.prettierrc.js`,请勿修改格式化规则。
- 所有 JS/TS/Vue/SCSS/MD/JSON 文件必须通过 Prettier 校验。
- 提交前会自动执行格式化检查,未通过则无法提交。

## 本地开发建议

1. 安装依赖:
    ```bash
    npm install
    ```
2. 推荐在编辑器安装 Prettier 插件,保存时自动格式化。
3. 手动格式化:
    ```bash
    npm run format
    ```

## PR 合并要求

- 未通过 Prettier 校验的代码将被拒绝合并。
- 如遇格式化问题请先修复后再提交。


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2025 uviewpro.cn

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README-pnpm.md
================================================
# 使用 pnpm 管理依赖

本项目为 pnpm 依赖管理。

## 常用命令

- 安装依赖:
    ```bash
    pnpm install
    ```
- 启动开发:

    ```bash
    # 运行h5
    pnpm dev:h5

    # 运行微信小程序
    pnpm dev:mp-weixin

    # 运行安卓APP
    pnpm dev:app-android
    ```

- 构建生产包:

    ```bash
    # 运行h5
    pnpm build:h5

    # 运行微信小程序
    pnpm build:mp-weixin

    # 运行安卓APP
    pnpm build:app-android
    ```

- 添加依赖:
    ```bash
    pnpm add <包名>
    ```
- 删除依赖:
    ```bash
    pnpm remove <包名>
    ```

## 说明

- 已自动生成 `pnpm-lock.yaml`,请勿手动修改。
- 如遇 node_modules 兼容问题,可先删除 node_modules 和 pnpm-lock.yaml 后重新 `pnpm install`。
- 推荐全员统一使用 pnpm,避免包管理混乱。


================================================
FILE: README.en.md
================================================
<!-- Language Switch Button -->
<p align="right" style="margin-top: 10px;">
    <span style="padding: 6px 16px; background: #ededed; color: #333; border-radius: 6px; margin-left: 8px; font-weight: bold;">English</span>
    <a href="README.md" style="padding: 6px 16px; background: #2979ff; color: #fff; border-radius: 6px; text-decoration: none; font-weight: bold;">中文</a>
</p>

<p align="center">
    <img alt="logo" src="https://ik.imagekit.io/anyup/uview-pro/common/logo-new.png" width="120" height="120" style="margin-bottom: 10px;">
</p>
<h3 align="center" style="margin: 30px 0 30px;font-weight: bold;font-size:40px;">uView Pro</h3>
<h3 align="center">uni-app Vue3 Multi-platform Rapid Development UI Framework</h3>

<div align="center">

[![star](https://gitee.com/anyup/uView-Pro/badge/star.svg)](https://gitee.com/anyup/uView-Pro)
[![fork](https://gitee.com/anyup/uView-Pro/badge/fork.svg)](https://gitee.com/anyup/uView-Pro)
[![stars](https://img.shields.io/github/stars/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro)
[![forks](https://img.shields.io/github/forks/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro)
[![issues](https://img.shields.io/github/issues/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro/issues)
[![downloads](https://img.shields.io/npm/dm/uview-pro?logo=npm&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fuview-pro&style=flat-square)](https://www.npmjs.com/package/uview-pro)
[![npm version](https://img.shields.io/npm/v/uview-pro)](https://www.npmjs.com/package/uview-pro)
[![Website](https://img.shields.io/badge/uView%20Pro-docs-blue?style=flat-square)](https://uviewpro.cn)
[![node version](https://img.shields.io/badge/node-%3E%3D18-green)](https://nodejs.org/)
[![pnpm version](https://img.shields.io/badge/pnpm-%3E%3D7.30-green)](https://pnpm.io/)
[![license](https://img.shields.io/github/license/anyup/uView-Pro?style=flat-square)](https://en.wikipedia.org/wiki/MIT_License)

</div>

## Description

uView UI is an excellent UI framework in the [uni-app](https://uniapp.dcloud.io/) ecosystem, providing comprehensive components and handy tools for efficient development.

uView Pro is a uni-app ecosystem framework that fully supports Vue3.0 and TypeScript. The baseline version of uView Pro is modified based on uView 1.8.8, completely reconstructed using TypeScript, and now fully supports uni-app Vue3.0.

## [Official Documentation: https://uviewpro.cn](https://uviewpro.cn)

## [Quick Start: https://starter.uviewpro.cn](https://starter.uviewpro.cn)

## Features

- Compatible with Android, iOS, WeChat Mini Programs, H5, QQ Mini Programs, Baidu Mini Programs, Alipay Mini Programs, and Toutiao Mini Programs
- 70+ selected components, rich in functionality, multi-end compatibility, quick integration, and ready to use out of the box
- Numerous handy JS tools for efficient development
- A variety of commonly used pages and layouts, allowing you to focus on logic and achieve more with less effort
- Detailed documentation and modern demo effects
- On-demand import, streamlined bundle size

## HarmonyOS Preview

The uView Pro HarmonyOS application has officially been launched in the Huawei App Market, providing you with a complete business scenario demonstration platform. It includes a component library, template samples, scenario cases, and supports one-click copying and downloading to help developers quickly get started and experience the practical value of the components!

> System requirements: Only supported on HarmonyOS 5.0 and above devices

<table>
    <tr align="center">
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_harmony.png" width="180" height="180" ></td>
    </tr>
    <tr>
        <td align="center"><strong>HarmonyOS</strong><br>(Scan with browse)</td>
    </tr>
</table>

## Mobile Preview

You can scan the following QR codes with **WeChat** or **mobile browser** to view the best demo effect.

<table class="table">
    <tr>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_wx.jpg" width="150" height="150" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_alipay.png" width="150" height="150" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_h5.png" width="150" height="150" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_android.png" width="150" height="150" ></td>
    </tr>
    <tr>
        <td align="center"><strong>WeChat Mini Program</strong><br>(Scan with WeChat)</td>
        <td align="center"><strong>AliPay Mini Program</strong><br>(Scan with AliPay)</td>
        <td align="center"><strong>H5</strong><br>(Scan with browser)</td>
        <td align="center"><strong>Android</strong><br>(Scan with browser)</td>
    </tr>
</table>

To run the sample project, please [download the source code](https://github.com/anyup/uview-pro) and execute the following commands in the project root directory:

```bash
pnpm install
pnpm dev
```

For more running and building commands, please refer to the [pnpm Running Guide](README-pnpm.md)

## Links

- [Github](https://github.com/anyup/uview-pro)
- [Gitee](https://gitee.com/anyup/uview-pro)
- [Official Documentation](https://uviewpro.cn)
- [Changelog](https://github.com/anyup/uView-Pro/blob/master/src/uni_modules/uview-pro/changelog.md)

## Communication & Feedback

uView Pro WeChat Group: [Click to Join](https://uviewpro.cn/zh/resource/about.html)

uView Pro QQ Group: [Click to Join](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=98nSVDldWEbDdq4lxiP4aL7uATfMSlI6&authKey=G2yQJ5MQiKzMldaxBsIfKt17NuJuUw8Fr6zdKLggc6NZXgw4BVbqkU2U3EE994yd&noverify=0&group_code=811732166)

<table class="table">
    <tr>
        <td><img src="https://ik.imagekit.io/anyup/images/social/weixin-chat-cl.png" width="250" height="345" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qq-chat.png" width="250" height="345" ></td>
    </tr>
    <tr>
        <td align="center"><strong>WeChat Group</strong><br></td>
        <td align="center"><strong>QQ Group</strong><br></td>
    </tr>
</table>

## About PR

We are very happy to accept high-quality PRs from everyone. However, please note that uView Pro needs to be compatible with multiple platforms (Mini Programs, H5, iOS App, Android App), including nvue and vue pages.

Therefore, before you fix bugs and submit PRs, please try your best to test compatibility on these platforms. It would be best to include test screenshots to facilitate review. Thank you very much!

## Installation And Configuration

uView Pro supports both `npm` and `uni_modules` installation methods, and the configuration is highly consistent. No matter which method you use, you can use easycom for automatic component import, greatly improving development efficiency. The following is a unified configuration guide:

### 1. Install uView Pro

- npm installation:

```bash
npm install uview-pro
# or
yarn add uview-pro
# or
pnpm add uview-pro
```

- uni_modules installation:

Download from HBuilderX plugin market or manually, and place uView Pro in the `uni_modules` directory.

[Plugin Market: https://ext.dcloud.net.cn/plugin?id=24633](https://ext.dcloud.net.cn/plugin?id=24633)

### 2. Import uView Pro main library

Import and register uView Pro in `main.ts`:

```js
// main.ts
import { createSSRApp } from 'vue';
// npm method
import uViewPro from 'uview-pro';
// uni_modules method
// import uViewPro from "@/uni_modules/uview-pro";

export function createApp() {
    const app = createSSRApp(App);
    app.use(uViewPro);
    return {
        app
    };
}
```

### 3. Import global styles

Import theme styles in `uni.scss`:

```scss
/* uni.scss */
// npm method
@import 'uview-pro/theme.scss';
// uni_modules method
// @import "@/uni_modules/uview-pro/theme.scss";
```

Import base styles at the top of `App.vue`:

```scss
<style lang="scss">
  // npm method
  @import "uview-pro/index.scss";
  // uni_modules method
  // @import "@/uni_modules/uview-pro/index.scss";
</style>
```

### 4. Configure easycom for automatic component import

Configure easycom rules in `pages.json` for automatic component import:

```json
// pages.json
{
    "easycom": {
        "autoscan": true,
        "custom": {
            // npm method
            "^u-(.*)": "uview-pro/components/u-$1/u-$1.vue"
            // uni_modules method
            // "^u-(.*)": "@/uni_modules/uview-pro/components/u-$1/u-$1.vue"
        }
    },
    "pages": [
        // ...
    ]
}
```

**Tips**

-   1. After modifying the `easycom` rules, you need to restart HX or recompile the project.
-   2. Please ensure there is only one easycom field in `pages.json`, otherwise please merge multiple rules yourself.
-   3. It must be placed inside `custom`, otherwise it will not take effect.

### 5. Volar Type Support

For global Volar type support in CLI projects, add the following to `tsconfig.json`:

```json
{
    "compilerOptions": {
        // npm method
        "types": ["uview-pro/types"]
        // uni_modules method
        // "types": ["@/uni_modules/uview-pro/types"]
    }
}
```

> HBuilderX projects do not support the types configuration in tsconfig.json. CLI projects are recommended to configure for the best TS experience.

### 6. Component Usage

After configuration, you can use uView Pro components directly in SFC without import or components registration:

```vue
<template>
    <u-button type="primary">Button</u-button>
</template>
```

See [Quick Start](https://uviewpro.cn/zh/components/quickstart.html) for more details.

## Donate to uView Pro

The documentation and framework source code of uView Pro are developed based on uView UI and are therefore open source and free. If you think uView Pro has helped your development work, you can donate to support uView Pro. There is no threshold for donation, even a cup of cola is appreciated (believe me, this is more meaningful than tipping a streamer).

<table class="table">
    <tr>
        <td><img src="https://ik.imagekit.io/anyup/images/social/wechat-pay.png" width="250" height="345" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/ali-pay.png" width="250" height="345" ></td>
    </tr>
    <tr>
        <td align="center"><strong>WeChat</strong><br></td>
        <td align="center"><strong>Alipay</strong><br></td>
    </tr>
</table>

## Contributors

<a href="https://github.com/anyup/uView-Pro/graphs/contributors">
  <img alt="Contributors" src="https://contrib.rocks/image?repo=anyup/uView-Pro" />
</a>

## License

uView Pro follows the [MIT](https://en.wikipedia.org/wiki/MIT_License) open source license, which means you do not need to pay any fees or obtain authorization to use uView Pro in your products.

## Acknowledgements

Special thanks to the uView UI development team, all contributors to uView UI, and all contributors to uView Pro.

- [Github](https://github.com/anyup/uview-pro)
- [Gitee](https://gitee.com/anyup/uview-pro)
- [uView UI 1.0](https://github.com/umicro/uView)
- [uView UI 2.0](https://github.com/umicro/uView2.0)


================================================
FILE: README.md
================================================
<!-- 语言切换按钮 -->
<p align="right" style="margin-top: 10px;">
    <a href="README.en.md" style="padding: 6px 16px; background: #2979ff; color: #fff; border-radius: 6px; text-decoration: none; font-weight: bold;">English</a>
    <span style="padding: 6px 16px; background: #ededed; color: #333; border-radius: 6px; margin-left: 8px; font-weight: bold;">中文</span>
</p>

<p align="center">
    <img alt="logo" src="https://ik.imagekit.io/anyup/uview-pro/common/logo-new.png" width="120" height="120" style="margin-bottom: 10px;">
</p>
<h3 align="center" style="margin: 30px 0 30px;font-weight: bold;font-size:40px;">uView Pro</h3>
<h3 align="center">uni-app Vue3 多平台快速开发的 UI 框架</h3>

<div align="center">

[![star](https://gitee.com/anyup/uView-Pro/badge/star.svg)](https://gitee.com/anyup/uView-Pro)
[![fork](https://gitee.com/anyup/uView-Pro/badge/fork.svg)](https://gitee.com/anyup/uView-Pro)
[![stars](https://img.shields.io/github/stars/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro)
[![forks](https://img.shields.io/github/forks/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro)
[![issues](https://img.shields.io/github/issues/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro/issues)
[![downloads](https://img.shields.io/npm/dm/uview-pro?logo=npm&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fuview-pro&style=flat-square)](https://www.npmjs.com/package/uview-pro)
[![npm version](https://img.shields.io/npm/v/uview-pro)](https://www.npmjs.com/package/uview-pro)
[![Website](https://img.shields.io/badge/uView%20Pro-docs-blue?style=flat-square)](https://uviewpro.cn)
[![node version](https://img.shields.io/badge/node-%3E%3D18-green)](https://nodejs.org/)
[![pnpm version](https://img.shields.io/badge/pnpm-%3E%3D7.30-green)](https://pnpm.io/)
[![license](https://img.shields.io/github/license/anyup/uView-Pro?style=flat-square)](https://en.wikipedia.org/wiki/MIT_License)

</div>

## 说明

`uView UI`,是 [uni-app](https://uniapp.dcloud.io/) 生态优秀的 UI 框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水。

`uView Pro`,是全面支持 Vue3.0、TypeScript 的 uni-app 生态框架,uView Pro 的基线版本是基于 uView 1.8.8 修改,使用 TypeScript 完全重构,已覆盖 Android、iOS、鸿蒙以及微信/头条/支付宝等主流小程序平台,真正实现“一套代码,多端运行”,支持多主题系统、暗黑模式与国际化(i18n)。

## [官方文档:https://uviewpro.cn](https://uviewpro.cn)

## [快速启动模板:https://starter.uviewpro.cn](https://starter.uviewpro.cn)

## 特性

- 兼容安卓,iOS,微信小程序,H5,QQ 小程序,百度小程序,支付宝小程序,头条小程序
- 70+精选组件,功能丰富,多端兼容,让您快速集成,开箱即用
- 众多贴心的 JS 利器,让您飞镖在手,召之即来,百步穿杨
- 众多的常用页面和布局,让您专注逻辑,事半功倍
- 详尽的文档支持,现代化的演示效果
- 按需引入,精简打包体积

## 鸿蒙预览

🎉🎉 uView Pro 鸿蒙端应用已正式上线华为鸿蒙应用市场,为您提供完整的业务场景演示平台,包含组件库、模板示例、场景案例等,支持一键复制下载,帮助开发者快速上手并体验组件的实际应用价值!

> 系统要求:仅支持 HarmonyOS 5.0 及以上版本设备

<table>
    <tr align="center">
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_harmony.png" width="180" height="180" ></td>
    </tr>
    <tr>
        <td align="center"><strong>鸿蒙应用</strong><br>(浏览器扫码)</td>
    </tr>
</table>

## 手机预览

您可以通过**微信**或**手机浏览器**扫描以下二维码,查看最佳的演示效果。

<table class="table">
    <tr>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_wx.jpg" width="150" height="150" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_alipay.png" width="150" height="150" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_h5.png" width="150" height="150" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_android.png" width="150" height="150" ></td>
    </tr>
    <tr>
        <td align="center"><strong>微信小程序</strong><br>(微信扫码)</td>
        <td align="center"><strong>支付宝小程序</strong><br>(支付宝扫码)</td>
        <td align="center"><strong>H5</strong><br>(浏览器扫码)</td>
        <td align="center"><strong>Android</strong><br>(浏览器扫码)</td>
    </tr>
</table>

运行示例工程,请[下载源码](https://github.com/anyup/uview-pro)后,在项目根目录执行以下命令:

```bash
pnpm install
pnpm dev
```

更多运行和构建命令参考:[pnpm 运行指南](README-pnpm.md)

## 链接

- [Github](https://github.com/anyup/uview-pro)
- [Gitee](https://gitee.com/anyup/uview-pro)
- [官方文档](https://uviewpro.cn)
- [更新日志](https://github.com/anyup/uView-Pro/blob/master/src/uni_modules/uview-pro/changelog.md)

## 交流反馈

`uView Pro` 微信交流群: [点击进入](https://uviewpro.cn/zh/resource/about.html)

`uView Pro` QQ 交流群: [点击进入](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=98nSVDldWEbDdq4lxiP4aL7uATfMSlI6&authKey=G2yQJ5MQiKzMldaxBsIfKt17NuJuUw8Fr6zdKLggc6NZXgw4BVbqkU2U3EE994yd&noverify=0&group_code=811732166)

<table class="table">
    <tr>
        <td><img src="https://ik.imagekit.io/anyup/images/social/weixin-chat-cl.png" width="250" height="345" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qq-chat.png" width="250" height="345" ></td>
    </tr>
    <tr>
        <td align="center"><strong>微信群</strong><br></td>
        <td align="center"><strong>QQ群</strong><br></td>
    </tr>
</table>

## 关于 PR

我们非常乐意接受各位的优质 PR,但在此之前我希望您了解 `uView Pro` 是一个需要兼容多个平台的(小程序、h5、iOS App、Android App)包括 nvue 页面、vue 页面。

所以希望在您修复 bug 并提交之前尽可能的去这些平台测试一下兼容性。最好能携带测试截图以方便审核。非常感谢!

## 安装配置

`uView Pro` 支持 `npm` 和 `uni_modules` 两种主流安装方式,配置方式高度一致。无论采用哪种方式,均可通过 `easycom` 实现组件自动引入,极大提升开发效率。以下为统一的配置说明:

### 1. 安装 uView Pro

- npm 安装:

```bash
npm install uview-pro
# 或
yarn add uview-pro
# 或
pnpm add uview-pro
```

- uni_modules 安装:

通过 HBuilderX 插件市场或手动下载,将 uView Pro 放入 `uni_modules` 目录。

[插件市场:https://ext.dcloud.net.cn/plugin?id=24633](https://ext.dcloud.net.cn/plugin?id=24633)

### 2. 引入 uView Pro 主库

在 `main.ts` 中引入并注册 uView Pro:

```js
import { createSSRApp } from 'vue';
// npm 方式
import uViewPro from 'uview-pro';
// uni_modules 方式
// import uViewPro from "@/uni_modules/uview-pro";

export function createApp() {
    const app = createSSRApp(App);
    app.use(uViewPro);
    return {
        app
    };
}
```

### 3. 引入全局样式

在 `uni.scss` 中引入主题样式:

```scss
/* npm 方式 */
@import 'uview-pro/theme.scss';
/* uni_modules 方式 */
/* @import "@/uni_modules/uview-pro/theme.scss"; */
```

在 `App.vue` 首行引入基础样式:

```scss
<style lang="scss">
  /* npm 方式 */
  @import "uview-pro/index.scss";
  /* uni_modules 方式 */
  /* @import "@/uni_modules/uview-pro/index.scss"; */
</style>
```

### 4. 配置 easycom 自动引入组件

在 `pages.json` 中配置 `easycom` 规则,实现组件自动引入:

```json
{
    "easycom": {
        "autoscan": true,
        "custom": {
            // npm 方式
            "^u-(.*)": "uview-pro/components/u-$1/u-$1.vue"
            // uni_modules 方式
            // "^u-(.*)": "@/uni_modules/uview-pro/components/u-$1/u-$1.vue"
        }
    },
    "pages": []
}
```

**温馨提示**

- 1.修改 `easycom` 规则后需重启 HX 或重新编译项目。
- 2.请确保 `pages.json` 中只有一个 easycom 字段,否则请自行合并多个规则。
- 3.一定要放在 `custom` 内,否则无效。

### 5. Volar 类型提示支持

如需在 `CLI` 项目中获得 `Volar` 的全局类型提示,请在 `tsconfig.json` 中添加:

```json
{
    "compilerOptions": {
        // npm 方式
        "types": ["uview-pro/types"]
        // uni_modules 方式
        // "types": ["@/uni_modules/uview-pro/types"]
    }
}
```

> HBuilderX 项目暂不支持 `tsconfig.json` 的 `types` 配置,`CLI` 项目推荐配置以获得最佳 `TS` 体验。

### 6. 组件使用

配置完成后,无需 `import` 和 `components` 注册,可直接在 `SFC` 中使用 `uView Pro` 组件:

```vue
<template>
    <u-button type="primary">按钮</u-button>
</template>
```

请通过[快速上手](https://uviewpro.cn/zh/components/quickstart.html)了解更详细的内容

## 捐赠 uView Pro

`uView Pro` 文档内容和框架源码基于 `uView UI` 二次开发,因此全部开源免费,如果您认为 `uView Pro` 帮到了您的开发工作,您可以捐赠 `uView Pro` 的研发工作,捐赠无门槛,哪怕是一杯可乐也好(相信这比打赏主播更有意义)。

<table class="table">
    <tr>
        <td><img src="https://ik.imagekit.io/anyup/images/social/wechat-pay.png" width="250" height="345" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/ali-pay.png" width="250" height="345" ></td>
    </tr>
    <tr>
        <td align="center"><strong>微信</strong><br></td>
        <td align="center"><strong>支付宝</strong><br></td>
    </tr>
</table>

## 贡献者

<a href="https://github.com/anyup/uView-Pro/graphs/contributors">
  <img alt="Contributors" src="https://contrib.rocks/image?repo=anyup/uView-Pro" />
</a>

## 版权信息

`uView Pro` 遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议,意味着您无需支付任何费用,也无需授权,即可将 `uView Pro` 应用到您的产品中。

## 鸣谢

再次感谢 `uView UI` 开发团队,以及所有为 `uView UI` 的贡献者,以及所有为 `uView Pro` 的贡献者。

- [Github](https://github.com/anyup/uview-pro)
- [Gitee](https://gitee.com/anyup/uview-pro)
- [uView UI 1.0](https://github.com/umicro/uView)
- [uView UI 2.0](https://github.com/umicro/uView2.0)


================================================
FILE: commitlint.config.js
================================================
module.exports = {
    extends: ['@commitlint/config-conventional'],
    rules: {
        'type-enum': [
            2,
            'always',
            ['feat', 'fix', 'docs', 'style', 'refactor', 'perf', 'test', 'build', 'ci', 'chore', 'revert']
        ],
        'type-case': [2, 'always', 'lowerCase'],
        'type-empty': [2, 'never'],
        'subject-case': [2, 'always', 'lowerCase'],
        'subject-empty': [2, 'never'],
        'subject-full-stop': [2, 'never', '.'],
        'header-max-length': [2, 'always', 100]
    }
};


================================================
FILE: edgeone.json
================================================
{
    "nodeVersion": "20.18.0"
}


================================================
FILE: harmony-configs/build-profile.json5
================================================
{
    app: {
        signingConfigs: [
            {
                name: 'default',
                type: 'HarmonyOS',
                material: {
                    certpath: 'D:/workspace/anyup/uView-Pro/docs/uviewpro.cer',
                    keyAlias: 'uviewpro',
                    keyPassword: '0000001E03BC9F744DDA1E65DB718ABE646E0C96802C4E604F7BB8E641FE1E6C0BB5F6CF2CC8F93E9DD5970C60D9',
                    profile: 'D:/workspace/anyup/uView-Pro/docs/uviewpro_prodRelease.p7b',
                    signAlg: 'SHA256withECDSA',
                    storeFile: 'D:/workspace/anyup/uView-Pro/docs/uviewpro.p12',
                    storePassword: '0000001EC410E2814F8ECF2C93D41DBCA86EF1381EBB4F9244F19A773307924FD9277EDD4D41DFDCE9D7E5D64F0A'
                }
            },
            {
                name: 'release',
                type: 'HarmonyOS',
                material: {
                    storeFile: 'D:/workspace/anyup/uView-Pro/docs/uviewpro.p12',
                    storePassword: '0000001E30C002F824A24AAE774D27FD6C08E3A1C204051D8AE3B98CD212AAB3063E2E585F3E8DA111351F1C45E9',
                    keyAlias: 'uviewpro',
                    keyPassword: '0000001E22D0A4589545854C7766D101B721B0238D57AC30E5368E43F61A08656442D948EF5DC4D3E47AC40AABE7',
                    signAlg: 'SHA256withECDSA',
                    profile: 'D:/workspace/anyup/uView-Pro/docs/uviewpro_prodRelease.p7b',
                    certpath: 'D:/workspace/anyup/uView-Pro/docs/uviewpro.cer'
                }
            }
        ],
        products: [
            {
                name: 'default',
                signingConfig: 'default',
                targetSdkVersion: '6.0.0(20)',
                compatibleSdkVersion: '5.0.0(12)',
                compatibleSdkVersionStage: 'beta6',
                runtimeOS: 'HarmonyOS',
                buildOption: {
                    strictMode: {
                        caseSensitiveCheck: true,
                        useNormalizedOHMUrl: true
                    }
                }
            },
            {
                name: 'release',
                signingConfig: 'release',
                targetSdkVersion: '6.0.0(20)',
                compatibleSdkVersion: '5.0.0(12)',
                compatibleSdkVersionStage: 'beta6',
                runtimeOS: 'HarmonyOS',
                buildOption: {
                    strictMode: {
                        caseSensitiveCheck: true,
                        useNormalizedOHMUrl: true
                    }
                }
            }
        ],
        buildModeSet: [
            {
                name: 'debug'
            },
            {
                name: 'release'
            }
        ]
    },
    modules: [
        {
            name: 'entry',
            srcPath: './entry',
            targets: [
                {
                    name: 'default',
                    applyToProducts: ['default']
                }
            ]
        }
    ]
}


================================================
FILE: index.html
================================================
<!doctype html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="referrer" content="no-referrer" />
        <link
            rel="shortcut icon"
            type="image/x-icon"
            href="https://ik.imagekit.io/anyup/uview-pro/common/favicon.ico"
        />
        <script>
            var coverSupport =
                'CSS' in window &&
                typeof CSS.supports === 'function' &&
                (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'));
            document.write(
                '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
                    (coverSupport ? ', viewport-fit=cover' : '') +
                    '" />'
            );
        </script>
        <!-- 正式发布的时候使用,开发期间不启用。↓ -->
        <script src="/static/common/js/touch-emulator.js"></script>
        <script>
            TouchEmulator();
        </script>
        <title></title>
        <!--preload-links-->
        <!--app-context-->
    </head>
    <body>
        <div id="app"><!--app-html--></div>
        <script type="module" src="/src/main.ts"></script>
    </body>
</html>


================================================
FILE: package.json
================================================
{
    "name": "uview-pro-demo",
    "version": "0.6.0-beta.1",
    "scripts": {
        "dev": "uni",
        "dev:custom": "uni -p",
        "dev:h5": "uni",
        "dev:h5:ssr": "uni --ssr",
        "dev:app": "uni -p app",
        "dev:app-android": "uni -p app-android",
        "dev:app-ios": "uni -p app-ios",
        "dev:mp-alipay": "uni -p mp-alipay",
        "dev:mp-baidu": "uni -p mp-baidu",
        "dev:mp-jd": "uni -p mp-jd",
        "dev:mp-kuaishou": "uni -p mp-kuaishou",
        "dev:mp-lark": "uni -p mp-lark",
        "dev:mp-qq": "uni -p mp-qq",
        "dev:mp-toutiao": "uni -p mp-toutiao",
        "dev:mp-weixin": "uni -p mp-weixin",
        "dev:mp-xhs": "uni -p mp-xhs",
        "dev:mp-dingtalk": "uni -p mp-dingtalk",
        "dev:quickapp-webview": "uni -p quickapp-webview",
        "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei",
        "dev:quickapp-webview-union": "uni -p quickapp-webview-union",
        "build": "node scripts/update-date.js && uni build",
        "postbuild": "node scripts/fix-empty-css.js",
        "build:custom": "node scripts/update-date.js && uni build -p",
        "build:h5": "node scripts/update-date.js && uni build",
        "build:h5:ssr": "uni build --ssr",
        "build:app": "uni build -p app",
        "build:app-android": "uni build -p app-android",
        "build:app-ios": "uni build -p app-ios",
        "build:mp-alipay": "uni build -p mp-alipay",
        "build:mp-baidu": "uni build -p mp-baidu",
        "build:mp-jd": "uni build -p mp-jd",
        "build:mp-kuaishou": "uni build -p mp-kuaishou",
        "build:mp-lark": "uni build -p mp-lark",
        "build:mp-qq": "uni build -p mp-qq",
        "build:mp-toutiao": "uni build -p mp-toutiao",
        "build:mp-weixin": "node scripts/update-date.js && uni build -p mp-weixin",
        "build:mp-xhs": "uni build -p mp-xhs",
        "build:mp-dingtalk": "uni build -p mp-dingtalk",
        "build:quickapp-webview": "uni build -p quickapp-webview",
        "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
        "build:quickapp-webview-union": "uni build -p quickapp-webview-union",
        "type-check": "vue-tsc --noEmit",
        "commit": "git-cz",
        "commit:lint": "commitlint --edit",
        "changelog": "node scripts/generate-changelog.js",
        "changelog:first": "node scripts/generate-changelog.js",
        "changelog:emoji": "node scripts/generate-changelog.js --emoji",
        "changelog:plain": "node scripts/generate-changelog.js --plain",
        "changelog:current": "node scripts/generate-changelog.js --emoji --current",
        "changelog:current:plain": "node scripts/generate-changelog.js --plain --current",
        "changelog:current:no-unreleased": "node scripts/generate-changelog.js --emoji --current --no-unreleased",
        "changelog:current:plain:no-unreleased": "node scripts/generate-changelog.js --plain --current --no-unreleased",
        "changelog:last": "node scripts/generate-changelog.js --emoji --last",
        "changelog:last:plain": "node scripts/generate-changelog.js --plain --last",
        "changelog:all": "node scripts/generate-changelog.js --emoji --all",
        "changelog:all:plain": "node scripts/generate-changelog.js --plain --all",
        "release": "node scripts/release.js",
        "release:changelog": "npm run changelog && git add CHANGELOG.md && git commit -m 'docs: update changelog' && git push",
        "release:patch": "node scripts/release.js patch",
        "release:minor": "node scripts/release.js minor",
        "release:major": "node scripts/release.js major",
        "release:beta": "node scripts/release.js prerelease beta",
        "release:alpha": "node scripts/release.js prerelease alpha",
        "release:rc": "node scripts/release.js prerelease rc",
        "release:push": "node scripts/release.js push",
        "release:undo": "node scripts/release.js undo",
        "publish": "cd src/uni_modules/uview-pro && npm publish --access public && cd ../../..",
        "prepare": "husky",
        "format": "prettier --write . --ignore-path .prettierignore",
        "test:npm": "node scripts/test-npm-package.js",
        "test:npm:cleanup": "node scripts/test-npm-cleanup.js"
    },
    "config": {
        "commitizen": {
            "path": "./node_modules/cz-git"
        }
    },
    "dependencies": {
        "@dcloudio/uni-app": "3.0.0-4080720251210001",
        "@dcloudio/uni-app-harmony": "3.0.0-4080720251210001",
        "@dcloudio/uni-app-plus": "3.0.0-4080720251210001",
        "@dcloudio/uni-components": "3.0.0-4080720251210001",
        "@dcloudio/uni-h5": "3.0.0-4080720251210001",
        "@dcloudio/uni-mp-alipay": "3.0.0-4080720251210001",
        "@dcloudio/uni-mp-baidu": "3.0.0-4080720251210001",
        "@dcloudio/uni-mp-harmony": "3.0.0-4080720251210001",
        "@dcloudio/uni-mp-jd": "3.0.0-4080720251210001",
        "@dcloudio/uni-mp-kuaishou": "3.0.0-4080720251210001",
        "@dcloudio/uni-mp-lark": "3.0.0-4080720251210001",
        "@dcloudio/uni-mp-qq": "3.0.0-4080720251210001",
        "@dcloudio/uni-mp-toutiao": "3.0.0-4080720251210001",
        "@dcloudio/uni-mp-weixin": "3.0.0-4080720251210001",
        "@dcloudio/uni-mp-xhs": "3.0.0-4080720251210001",
        "@dcloudio/uni-quickapp-webview": "3.0.0-4080720251210001",
        "vue": "^3.4.21",
        "vue-i18n": "9.1.9"
    },
    "devDependencies": {
        "@commitlint/cli": "^19.8.1",
        "@commitlint/config-conventional": "^19.8.1",
        "@dcloudio/types": "^3.4.8",
        "@dcloudio/uni-automator": "3.0.0-4080720251210001",
        "@dcloudio/uni-cli-shared": "3.0.0-4080720251210001",
        "@dcloudio/uni-stacktracey": "3.0.0-4080720251210001",
        "@dcloudio/vite-plugin-uni": "3.0.0-4080720251210001",
        "@uni-ku/root": "^1.4.1",
        "@vue/runtime-core": "3.4.21",
        "@vue/tsconfig": "^0.8.1",
        "commitizen": "^4.3.1",
        "cz-git": "^1.12.0",
        "husky": "^9.1.7",
        "prettier": "^3.6.2",
        "sass": "1.63.2",
        "sass-loader": "10.4.1",
        "typescript": "^5.5.4",
        "vite": "5.2.8",
        "vue-tsc": "^3.0.5"
    },
    "lint-staged": {
        "*.{js,ts,vue,scss,md,json}": "prettier --write --ignore-path .prettierignore"
    },
    "uni-app": {
        "scripts": {
            "mp-dingtalk": {
                "title": "钉钉小程序",
                "env": {
                    "UNI_PLATFORM": "mp-alipay"
                },
                "define": {
                    "MP-DINGTALK": true
                }
            }
        }
    },
    "volta": {
        "node": "20.13.1"
    },
    "buildDate": "2026-04-17",
    "releaseDate": "2026-05-08"
}


================================================
FILE: scripts/README.md
================================================
# 发布脚本使用说明

本项目提供了多个版本的发布脚本,以确保在不同操作系统上都能正常运行。

## 脚本文件说明

- `release.sh` - Bash 脚本 (适用于 Linux/macOS)
- `release.ps1` - PowerShell 脚本 (适用于 Windows)
- `release.bat` - 批处理脚本 (适用于 Windows)
- `release.js` - Node.js 脚本 (适用于所有平台,推荐使用)

## 使用方法

### 1. 推荐方式 (跨平台)

使用 Node.js 脚本,在所有平台上都能运行:

```bash
# 发布补丁版本
npm run release:patch

# 发布次要版本
npm run release:minor

# 发布主要版本
npm run release:major

# 发布指定版本
npm run release 0.5.1
```

或者直接使用:

```bash
node scripts/release.js patch
node scripts/release.js minor
node scripts/release.js major
node scripts/release.js 0.5.1
```

### 2. Windows PowerShell 方式

```powershell
# 发布补丁版本
npm run release:patch:win

# 发布次要版本
npm run release:minor:win

# 发布主要版本
npm run release:major:win
```

或者直接使用:

```powershell
powershell -ExecutionPolicy Bypass -File scripts/release.ps1 patch
```

### 3. Windows 批处理方式

```cmd
# 发布补丁版本
npm run release:patch:bat

# 发布次要版本
npm run release:minor:bat

# 发布主要版本
npm run release:major:bat
```

或者直接使用:

```cmd
scripts\release.bat patch
```

### 4. Linux/macOS 方式

```bash
# 发布补丁版本
npm run release:patch

# 发布次要版本
npm run release:minor

# 发布主要版本
npm run release:major
```

或者直接使用:

```bash
./scripts/release.sh patch
```

## 版本类型说明

- `patch` - 补丁版本 (修复 bug,如 1.0.0 → 1.0.1)
- `minor` - 次要版本 (新功能,如 1.0.0 → 1.1.0)
- `major` - 主要版本 (破坏性更新,如 1.0.0 → 2.0.0)
- `0.5.1` - 指定版本 (自定义更新,如 1.0.0 → 1.5.1)

## 脚本功能

所有脚本都会执行以下操作:

1. ✅ 检查 Git 状态 (确保没有未提交的更改)
2. ✅ 检查当前分支 (建议在 main/master 分支上发布)
3. ✅ 更新根目录 package.json 中的版本号
4. ✅ 更新 uview-pro 模块 package.json 中的版本号
5. ✅ 生成 CHANGELOG.md
6. ✅ 提交所有更改
7. ✅ 创建 Git 标签
8. ✅ 推送到远程仓库

## 注意事项

- 确保已安装 Node.js 和 npm
- 确保 Git 已配置并可以推送到远程仓库
- 确保有足够的权限执行脚本
- 在 Windows 上使用 PowerShell 时,可能需要调整执行策略

## 故障排除

### Windows PowerShell 执行策略问题

如果遇到执行策略错误,可以运行:

```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```

### 权限问题

确保脚本文件有执行权限:

```bash
chmod +x scripts/release.sh
```

### Git 配置问题

确保 Git 已正确配置:

```bash
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
```

## 发布平台令牌(GitHub / Gitee)

发布脚本支持在推送标签后自动创建 Release,并将当前版本的 changelog 作为 Release 描述。需要为对应平台配置令牌(Token):

### GitHub Token

1. 创建 Token:
    - GitHub → Settings → Developer settings → Personal access tokens
    - 任选其一:
        - classic:勾选 `repo`(至少包含 repo:status、repo_deployment、public_repo)
        - fine-grained:选择当前仓库,权限建议:`Contents: Read and write`、`Metadata: Read-only`
2. 设置环境变量(Windows PowerShell):
    - 仅当前会话:

    ```powershell
    $env:GITHUB_TOKEN = "你的token"
    ```

    - 永久生效(新开终端生效):

    ```powershell
    setx GITHUB_TOKEN "你的token"
    ```

    - 亦可使用 `GH_TOKEN`:

    ```powershell
    $env:GH_TOKEN = "你的token"; setx GH_TOKEN "你的token"
    ```

### Gitee Token

1. 创建 Token:
    - Gitee → 头像 → 设置 → 私人令牌(或 安全设置 → 私人令牌)
    - 新建令牌,授予仓库相关权限(至少包含发布 Release 所需权限)
2. 设置环境变量(Windows PowerShell):
    - 仅当前会话:

    ```powershell
    $env:GITEE_TOKEN = "你的token"
    ```

    - 永久生效(新开终端生效):

    ```powershell
    setx GITEE_TOKEN "你的token"
    ```

### 验证

重新打开 PowerShell,执行:

```powershell
echo $env:GITHUB_TOKEN
echo $env:GH_TOKEN
echo $env:GITEE_TOKEN
```

能看到值即已生效。随后正常执行:

```bash
pnpm release:patch | pnpm release:minor | pnpm release:major
```

脚本会自动识别远程仓库:

- GitHub 仓库使用 `GITHUB_TOKEN`/`GH_TOKEN` 创建 Release
- Gitee 仓库使用 `GITEE_TOKEN` 创建 Release


================================================
FILE: scripts/contributors-map.json
================================================
{
    "nameToGithub": {
        "前端梦工厂": "anyup",
        "不爱说话郭德纲": "elkelkelkelkelk",
        "xiaozuoovo": "zuo-wentao",
        "lime": "limes-cloud",
        "张淇": "zakicheung"
    },
    "ignore": ["前端梦工厂"],
    "note": "此文件用于将作者名映射到 GitHub 用户名。如果自动推断的用户名头像不显示,可以在此配置。ignore 数组中的作者名将不会显示头像。"
}


================================================
FILE: scripts/contributors-usage.md
================================================
# Contributors 配置使用说明

## 📋 配置文件

`scripts/contributors-map.json` 用于配置贡献者信息。

## 🎯 配置项说明

### 1. nameToGithub(映射配置)

将作者名映射到 GitHub 用户名。

```json
{
    "nameToGithub": {
        "前端梦工厂": "anyup",
        "John Doe": "johndoe"
    }
}
```

**使用场景**:

- 自动推断的 GitHub 用户名不正确
- 作者名与 GitHub 用户名不一致
- 需要指定特定的 GitHub 用户名

### 2. ignore(忽略配置)

忽略某些贡献者,不显示他们的头像。

```json
{
    "ignore": ["bot", "dependabot", "某些用户"]
}
```

**使用场景**:

- 机器人账号(如 dependabot)
- 头像不显示的用户
- 不想显示的贡献者

## 📝 完整配置示例

```json
{
    "nameToGithub": {
        "前端梦工厂": "anyup",
        "John Doe": "johndoe",
        "李四": "lisi"
    },
    "ignore": ["bot", "dependabot", "某些用户"],
    "note": "此文件用于将作者名映射到 GitHub 用户名。如果自动推断的用户名头像不显示,可以在此配置。ignore 数组中的作者名将不会显示头像。"
}
```

## 🔧 使用方法

### 添加映射

编辑 `scripts/contributors-map.json`,在 `nameToGithub` 中添加映射:

```json
{
    "nameToGithub": {
        "作者名": "github用户名"
    }
}
```

### 忽略贡献者

编辑 `scripts/contributors-map.json`,在 `ignore` 数组中添加要忽略的作者名:

```json
{
    "ignore": ["要忽略的作者名"]
}
```

## 🚀 重新生成 Changelog

修改配置后,需要重新生成 changelog:

```bash
# 生成所有版本
pnpm changelog:all

# 生成当前版本
pnpm changelog:current:no-unreleased
```

## 📊 优先级说明

1. **ignore 配置**:最高优先级,如果在 ignore 列表中,直接跳过
2. **nameToGithub 映射**:如果配置了映射,使用映射的 GitHub 用户名
3. **自动推断**:将作者名转换为小写并移除空格作为 GitHub 用户名

## ❓ 常见问题

### Q: 如何查看贡献者列表?

A: 运行以下命令查看所有贡献者:

```bash
git log --format="%an" | sort -u
```

### Q: 如何忽略机器人账号?

A: 在 `ignore` 数组中添加机器人名称:

```json
{
    "ignore": ["dependabot[bot]", "renovate[bot]"]
}
```

### Q: 如何为中文作者名配置映射?

A: 直接在 `nameToGithub` 中配置:

```json
{
    "nameToGithub": {
        "前端梦工厂": "anyup",
        "张三": "zhangsan"
    }
}
```

## 📚 相关文件

- `scripts/contributors-map.json` - 配置文件
- `scripts/generate-changelog.js` - 生成脚本
- `CHANGELOG.md` - 生成的变更日志


================================================
FILE: scripts/fix-empty-css.js
================================================
#!/usr/bin/env node

/*
  Ensure non-empty CSS assets in dist to avoid hosts stripping zero-byte files
  Usage: runs automatically via npm postbuild
*/

const fs = require('fs');
const path = require('path');

const DIST_DIR = path.resolve(process.cwd(), 'dist');

function walk(dir, handler) {
    const entries = fs.readdirSync(dir, { withFileTypes: true });
    for (const entry of entries) {
        const full = path.join(dir, entry.name);
        if (entry.isDirectory()) walk(full, handler);
        else handler(full);
    }
}

function ensureCssNotEmpty(filePath) {
    try {
        const stat = fs.statSync(filePath);
        if (stat.size === 0) {
            fs.writeFileSync(
                filePath,
                '/* keep: prevent hosting from stripping empty CSS; referenced by JS chunk */\n',
                'utf8'
            );
            // eslint-disable-next-line no-console
            console.log(`fixed empty css: ${path.relative(process.cwd(), filePath)}`);
        }
    } catch (e) {
        // eslint-disable-next-line no-console
        console.warn(`skip css check: ${filePath}`, e?.message);
    }
}

function run() {
    if (!fs.existsSync(DIST_DIR)) return;
    walk(DIST_DIR, full => {
        if (full.endsWith('.css')) ensureCssNotEmpty(full);
    });
}

run();


================================================
FILE: scripts/generate-changelog.js
================================================
#!/usr/bin/env node

const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');

// 解析命令行参数
const args = process.argv.slice(2);
const useEmoji = args.includes('--emoji');
const usePlain = args.includes('--plain');
const onlyCurrent = args.includes('--current');
const sinceLastTag = args.includes('--last') || args.includes('--since-last-tag');
const generateAll = args.includes('--all') || args.includes('--by-tags');
const noUnreleased = args.includes('--no-unreleased');

// 如果没有指定参数,默认使用 emoji
const shouldUseEmoji = useEmoji || (!usePlain && !useEmoji);

// Emoji 映射
const emojiMap = {
    feat: '✨',
    fix: '🐛',
    docs: '📝',
    style: '💄',
    refactor: '♻️',
    perf: '⚡',
    test: '✅',
    build: '📦‍',
    ci: '👷',
    chore: '🚀',
    revert: '⏪'
};

// 类型名称映射(带 emoji)
const typeNamesWithEmoji = {
    feat: '✨ Features | 新功能',
    fix: '🐛 Bug Fixes | Bug 修复',
    docs: '📝 Documentation | 文档',
    style: '💄 Styles | 风格',
    refactor: '♻️ Code Refactoring | 代码重构',
    perf: '⚡ Performance Improvements | 性能优化',
    test: '✅ Tests | 测试',
    build: '📦‍ Build System | 打包构建',
    ci: '👷 Continuous Integration | CI 配置',
    chore: '🚀 Chore | 构建/工程依赖/工具',
    revert: '⏪ Revert | 回退'
};

// 类型名称映射(不带 emoji)
const typeNamesPlain = {
    feat: 'Features | 新功能',
    fix: 'Bug Fixes | Bug 修复',
    docs: 'Documentation | 文档',
    style: 'Styles | 风格',
    refactor: 'Code Refactoring | 代码重构',
    perf: 'Performance Improvements | 性能优化',
    test: 'Tests | 测试',
    build: 'Build System | 打包构建',
    ci: 'Continuous Integration | CI 配置',
    chore: 'Chore | 构建/工程依赖/工具',
    revert: 'Revert | 回退'
};

// 根据设置选择类型名称
const typeNames = shouldUseEmoji ? typeNamesWithEmoji : typeNamesPlain;

function safeExec(cmd) {
    try {
        return execSync(cmd, { encoding: 'utf8' }).trim();
    } catch (e) {
        return '';
    }
}

function resolveRange() {
    // --current: 以 package.json 的 version 为标签 vX.Y.Z,取上一个标签..当前标签
    if (onlyCurrent) {
        const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
        const currentTag = `v${pkg.version}`;
        // 上一个标签(当前标签的前一个)
        const prevTag = safeExec(`git describe --tags --abbrev=0 ${currentTag}^`);
        if (prevTag) return `${prevTag}..${currentTag}`;
        // 兜底:若当前标签不存在,则取最近一个标签..HEAD
        const lastTag = safeExec('git describe --tags --abbrev=0');
        if (lastTag) return `${lastTag}..HEAD`;
        return '';
    }
    // --last / --since-last-tag: 最近一个标签..HEAD
    if (sinceLastTag) {
        const lastTag = safeExec('git describe --tags --abbrev=0');
        if (lastTag) return `${lastTag}..HEAD`;
        return '';
    }
    // 默认:全量
    return '';
}

function buildSectionHeader({ version, date }) {
    return `## ${version} - ${date}`;
}

function collectCommits(range) {
    const rangeArg = range ? ` ${range}` : '';
    const lines = execSync(`git log${rangeArg} --pretty=format:"%H|%s|%an|%ae" --reverse`, { encoding: 'utf8' })
        .split('\n')
        .filter(line => line.trim());
    return lines.map(line => {
        const [hash, subject, authorName, authorEmail] = line.split('|');
        return { hash, subject, authorName, authorEmail };
    });
}

function groupCommitsByType(commits) {
    const commitsByType = {};
    commits.forEach(commit => {
        if (!commit.subject) return;
        const match = commit.subject.match(/^(\w+)(?:\(([^)]+)\))?:\s*(.+)/);
        if (match) {
            const [, type, scope, description] = match;
            if (!emojiMap[type]) return;
            if (!commitsByType[type]) commitsByType[type] = [];
            commitsByType[type].push({
                ...commit,
                scope: scope || '',
                description: description.trim()
            });
        }
    });
    return commitsByType;
}

function collectContributors(commits) {
    const contributorsMap = new Map();
    const seenUsernames = new Set(); // 用于去重 GitHub 用户名

    // 读取贡献者映射配置
    let nameToGithub = {};
    let ignoreList = [];
    try {
        const configPath = path.join(__dirname, 'contributors-map.json');
        if (fs.existsSync(configPath)) {
            const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
            nameToGithub = config.nameToGithub || {};
            ignoreList = config.ignore || [];
        }
    } catch (e) {
        // 忽略配置文件读取错误
    }

    commits.forEach(commit => {
        if (!commit.authorName || !commit.authorEmail) return;

        // 检查是否在忽略列表中
        if (ignoreList.includes(commit.authorName)) {
            return;
        }

        const key = `${commit.authorName}|${commit.authorEmail}`;
        if (!contributorsMap.has(key)) {
            let githubUsername = '';

            // 1. 优先使用配置文件中的映射
            if (nameToGithub[commit.authorName]) {
                githubUsername = nameToGithub[commit.authorName];
            } else {
                // 2. 使用作者名称推断 GitHub 用户名
                // 将作者名转换为小写并移除空格
                githubUsername = commit.authorName.toLowerCase().replace(/\s+/g, '');
            }

            // 3. 检查 GitHub 用户名是否已存在,避免重复
            if (!seenUsernames.has(githubUsername)) {
                seenUsernames.add(githubUsername);
                contributorsMap.set(key, {
                    name: commit.authorName,
                    email: commit.authorEmail,
                    githubUsername: githubUsername
                });
            }
        }
    });

    return Array.from(contributorsMap.values());
}

function renderContributors(contributors) {
    if (!contributors || contributors.length === 0) return '';

    let section = '### 👥 Contributors\n\n';

    contributors.forEach(contributor => {
        if (contributor.githubUsername) {
            // 使用 GitHub 头像
            section += `<a href="https://github.com/${contributor.githubUsername}"><img src="https://github.com/${contributor.githubUsername}.png?size=40" width="40" height="40" alt="${contributor.name}" title="${contributor.name}"/></a> `;
        } else {
            // 没有 GitHub 用户名,显示姓名
            section += `**${contributor.name}** `;
        }
    });

    section += '\n\n';
    return section;
}

function renderBodyFromGroups(commitsByType, contributors = null) {
    let body = '';
    Object.keys(commitsByType).forEach(type => {
        if (commitsByType[type].length === 0) return;
        const typeName = typeNames[type];
        body += `### ${typeName}\n\n`;
        commitsByType[type].forEach(commit => {
            const scope = commit.scope ? `**${commit.scope}:** ` : '';
            const shortHash = commit.hash.substring(0, 7);
            body += `- ${scope}${commit.description} ([${shortHash}](https://github.com/anyup/uView-Pro/commit/${commit.hash}))\n`;
        });
        body += '\n';
    });

    // 添加 Contributors 部分
    if (contributors && contributors.length > 0) {
        body += renderContributors(contributors);
    }

    return body;
}

function renderFallbackBody() {
    if (shouldUseEmoji) {
        return `### ✨ Features | 新功能\n\n- Initial project setup with commitizen, cz-git, and conventional changelog\n\n### 🐛 Bug Fixes | Bug 修复\n\n### 📝 Documentation | 文档\n\n### 💄 Styles | 风格\n\n### ♻️ Code Refactoring | 代码重构\n\n### ⚡ Performance Improvements | 性能优化\n\n### ✅ Tests | 测试\n\n### 📦‍ Build System | 打包构建\n\n### 👷 Continuous Integration | CI 配置\n\n### 🚀 Chore | 构建/工程依赖/工具\n\n### ⏪ Revert | 回退\n\n`;
    }
    return `### Features | 新功能\n\n- Initial project setup with commitizen, cz-git, and conventional changelog\n\n### Bug Fixes | Bug 修复\n\n### Documentation | 文档\n\n### Styles | 风格\n\n### Code Refactoring | 代码重构\n\n### Performance Improvements | 性能优化\n\n### Tests | 测试\n\n### Build System | 打包构建\n\n### Continuous Integration | CI 配置\n\n### Chore | 构建/工程依赖/工具\n\n### Revert | 回退\n\n`;
}

function generateChangelog() {
    try {
        const range = resolveRange();
        console.log(
            `🔄 Generating changelog... ${shouldUseEmoji ? 'with emoji' : 'without emoji'}${range ? ` (range: ${range})` : ''}`
        );

        // 解析提交
        const commits = collectCommits(range);
        const commitsByType = groupCommitsByType(commits);

        // 收集贡献者信息
        const contributors = collectContributors(commits);

        const hasExisting = fs.existsSync('CHANGELOG.md');
        const existingContent = hasExisting ? fs.readFileSync('CHANGELOG.md', 'utf8') : '';

        // 标准化头部(可选移除 Unreleased)
        const baseHeader = `# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),\nand this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n`;
        const standardHeader = noUnreleased ? baseHeader : baseHeader + '## [Unreleased]\n\n';

        let changelogBody = renderBodyFromGroups(commitsByType, contributors);

        // 如果没有找到任何符合规范的提交,添加默认内容
        if (Object.keys(commitsByType).length === 0) {
            changelogBody += renderFallbackBody();
        }

        let finalContent = '';
        if (generateAll) {
            // 基于标签重建所有版本区块
            const tagsOutput = safeExec('git tag --list --sort=-v:refname');
            const tags = tagsOutput ? tagsOutput.split('\n').filter(Boolean) : [];

            let sections = '';
            for (let i = 0; i < tags.length; i++) {
                const tag = tags[i];
                const prev = tags[i + 1];
                const tagDate = safeExec(`git show -s --format=%ad --date=format:%Y-%m-%d ${tag}`) || '';
                const rangeExp = prev ? `${prev}..${tag}` : `${tag}`;
                const tagCommits = collectCommits(rangeExp);
                const groups = groupCommitsByType(tagCommits);
                const tagContributors = collectContributors(tagCommits);
                let body = renderBodyFromGroups(groups, tagContributors);
                if (!body) body = renderFallbackBody();
                const header = buildSectionHeader({ version: tag.replace(/^v/, ''), date: tagDate });
                sections += `${header}\n\n${body}`;
            }

            const headerIdx = existingContent.indexOf('## [Unreleased]');
            const base =
                headerIdx !== -1
                    ? existingContent.slice(0, existingContent.indexOf('\n', headerIdx) + 1)
                    : standardHeader;
            finalContent = base + '\n' + sections.trim() + '\n';
        } else if (onlyCurrent) {
            // 将当前范围内容生成到版本段落,并插入到 Unreleased 之后
            const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
            const version = pkg.version;
            const today = new Date();
            const yyyy = today.getFullYear();
            const mm = String(today.getMonth() + 1).padStart(2, '0');
            const dd = String(today.getDate()).padStart(2, '0');
            const dateStr = `${yyyy}-${mm}-${dd}`;

            const sectionHeader = buildSectionHeader({ version, date: dateStr });
            const newSection = `${sectionHeader}\n\n${changelogBody}`;

            if (hasExisting) {
                if (noUnreleased) {
                    // 不保留 Unreleased 模式:找到第一个版本区块(跳过 ## [Unreleased]),在其前插入新版本
                    let firstVersionIndex = existingContent.indexOf('\n## ');
                    // 如果找到的是 ## [Unreleased],则继续找下一个
                    if (firstVersionIndex !== -1) {
                        const lineEnd = existingContent.indexOf('\n', firstVersionIndex + 1);
                        const headerLine = existingContent.slice(firstVersionIndex, lineEnd);
                        if (headerLine.includes('[Unreleased]')) {
                            firstVersionIndex = existingContent.indexOf('\n## ', lineEnd);
                        }
                    }
                    if (firstVersionIndex !== -1) {
                        finalContent =
                            existingContent.slice(0, firstVersionIndex) +
                            '\n' +
                            newSection +
                            '\n' +
                            existingContent.slice(firstVersionIndex);
                    } else {
                        // 没有版本区块,直接追加
                        finalContent = existingContent + '\n' + newSection + '\n';
                    }
                } else {
                    // 保留 Unreleased 模式:找到 Unreleased 段落,在其后插入新版本
                    const unreleasedIndex = existingContent.indexOf('## [Unreleased]');
                    if (unreleasedIndex !== -1) {
                        // 找到 Unreleased 段落的结束位置(下一个 "## " 标题或文件末尾)
                        const afterUnreleased = existingContent.indexOf(
                            '\n## ',
                            unreleasedIndex + '## [Unreleased]'.length
                        );
                        if (afterUnreleased !== -1) {
                            finalContent =
                                existingContent.slice(0, afterUnreleased) +
                                '\n' +
                                newSection +
                                '\n' +
                                existingContent.slice(afterUnreleased);
                        } else {
                            finalContent = existingContent + '\n' + newSection + '\n';
                        }
                    } else {
                        // 不存在 Unreleased,则在头部后插入
                        finalContent = standardHeader + newSection + '\n' + existingContent;
                    }
                }
            } else {
                // 初次生成,包含标准头和新版本段
                finalContent = standardHeader + newSection + '\n';
            }
        } else {
            // 默认行为:写入标准头和将本次统计结果放在 Unreleased 下
            finalContent = standardHeader + changelogBody;
        }

        // 彻底清理重复内容(防止多次运行导致重复)
        if (finalContent.includes('# Changelog')) {
            // 找到第一个头部结束位置
            const headerEndIndex = finalContent.indexOf('\n\n## ');
            if (headerEndIndex !== -1) {
                const header = finalContent.slice(0, headerEndIndex);
                const body = finalContent.slice(headerEndIndex);

                // 移除所有重复的头部和重复的版本区块
                let cleanBody = body;

                // 移除重复的头部
                cleanBody = cleanBody.replace(
                    /# Changelog\n\nAll notable changes to this project will be documented in this file\.\n\nThe format is based on \[Keep a Changelog\].*?and this project adheres to \[Semantic Versioning\].*?\n\n/g,
                    ''
                );

                // 移除重复的版本区块(保留第一个)
                const versionBlocks = cleanBody.split('\n## ');
                if (versionBlocks.length > 1) {
                    const firstBlock = versionBlocks[0];
                    const otherBlocks = versionBlocks.slice(1);

                    // 去重:只保留唯一的版本区块
                    const uniqueBlocks = [];
                    const seenVersions = new Set();

                    otherBlocks.forEach(block => {
                        // 跳过 Unreleased 区块
                        if (block.startsWith('[Unreleased]')) {
                            return;
                        }
                        const versionMatch = block.match(/^(\[?\d+\.\d+\.\d+)/);
                        if (versionMatch && !seenVersions.has(versionMatch[1])) {
                            seenVersions.add(versionMatch[1]);
                            uniqueBlocks.push('## ' + block);
                        }
                    });

                    cleanBody = firstBlock + (uniqueBlocks.length > 0 ? '\n' + uniqueBlocks.join('\n') : '');
                }

                finalContent = header + cleanBody;
            }
        }

        // 统一调整版本间隔为1行(清理多余的空行)
        if (finalContent.includes('## ')) {
            // 清理头部后的多余空行,只保留1行间隔(匹配 ## [Unreleased] 或 ## 版本号)
            finalContent = finalContent.replace(/(# Changelog[\s\S]*?)\n\n\n+## /, '$1\n\n## ');

            // 清理版本区块之间的多余空行,只保留1行间隔
            finalContent = finalContent.replace(/\n\n\n+## /g, '\n\n## ');

            // 清理文件末尾的多余空行
            finalContent = finalContent.replace(/\n+$/, '\n');
        }

        // 写入主 CHANGELOG.md 文件
        fs.writeFileSync('CHANGELOG.md', finalContent);
        console.log(`✅ Changelog generated successfully ${shouldUseEmoji ? 'with emoji icons' : 'without emoji'}!`);

        // 如果是 current 模式且 no-unreleased,同时更新组件库的 changelog.md
        if (onlyCurrent && noUnreleased) {
            try {
                const componentChangelogPath = 'src/uni_modules/uview-pro/changelog.md';
                if (fs.existsSync(componentChangelogPath)) {
                    const componentContent = fs.readFileSync(componentChangelogPath, 'utf8');

                    // 提取当前版本的内容(兼容带方括号和不带方括号的格式)
                    const currentVersion = JSON.parse(fs.readFileSync('package.json', 'utf8')).version;
                    const currentSectionMatch = finalContent.match(
                        new RegExp(`## \\[?${currentVersion}\\]?[\\s\\S]*?(?=\\n## |$)`)
                    );

                    if (currentSectionMatch) {
                        let currentSection = currentSectionMatch[0];

                        // 转换为组件库 changelog 的格式(去掉 emoji,调整日期格式)
                        currentSection = currentSection
                            .replace(/## \[?(\d+\.\d+\.\d+[^\s]*)\]? - (\d{4}-\d{2}-\d{2})/, '## $1($2)')
                            .replace(/### 🚀 Chore \| 构建\/工程依赖\/工具/, '### 🚀 Chore | 构建/工程依赖/工具')
                            .replace(/### 🐛 Bug Fixes \| Bug 修复/, '### 🐛 Bug Fixes | Bug 修复')
                            .replace(/### ✨ Features \| 新功能/, '### ✨ Features | 新功能')
                            .replace(/### ♻️ Code Refactoring \| 代码重构/, '### ♻️ Code Refactoring | 代码重构')
                            .replace(/### 📝 Documentation \| 文档/, '### 📝 Documentation | 文档')
                            .replace(/### 💄 Styles \| 风格/, '### 💄 Styles | 风格')
                            .replace(
                                /### ⚡ Performance Improvements \| 性能优化/,
                                '### ⚡ Performance Improvements | 性能优化'
                            )
                            .replace(/### ✅ Tests \| 测试/, '### ✅ Tests | 测试')
                            .replace(/### 📦‍ Build System \| 打包构建/, '### 📦‍ Build System | 打包构建')
                            .replace(
                                /### 👷 Continuous Integration \| CI 配置/,
                                '### 👷 Continuous Integration | CI 配置'
                            )
                            .replace(/### ⏪ Revert \| 回退/, '### ⏪ Revert | 回退')
                            .replace(/### 👥 Contributors/, '### 👥 Contributors');

                        // 检查是否已经存在该版本
                        const versionExists = new RegExp(`## ${currentVersion}(`).test(componentContent);

                        if (!versionExists) {
                            // 在文件开头插入新版本,只保留1行间隔
                            // 清理 currentSection 末尾的多余空行
                            const cleanSection = currentSection.replace(/\n+$/, '');
                            const newContent = cleanSection + '\n\n' + componentContent;
                            fs.writeFileSync(componentChangelogPath, newContent);
                            console.log(`✅ Component changelog updated: ${componentChangelogPath}`);
                        } else {
                            console.log(`ℹ️  Version ${currentVersion} already exists in component changelog`);
                        }
                    }
                } else {
                    console.log(`⚠️  Component changelog file not found: ${componentChangelogPath}`);
                }
            } catch (error) {
                console.log(`⚠️  Failed to update component changelog: ${error.message}`);
            }
        }

        // 显示统计信息
        Object.keys(commitsByType).forEach(type => {
            const emoji = shouldUseEmoji ? emojiMap[type] + ' ' : '';
            console.log(`${emoji}${typeNamesPlain[type]}: ${commitsByType[type].length} commits`);
        });

        // 显示使用说明
        console.log('\n📖 Usage:');
        console.log('  pnpm changelog:emoji              - Generate changelog with emoji (full history)');
        console.log('  pnpm changelog:plain              - Generate changelog without emoji (full history)');
        console.log('  pnpm changelog:current            - Generate current version changelog (emoji)');
        console.log('  pnpm changelog:current:plain      - Generate current version changelog (plain)');
        console.log('  pnpm changelog:last               - Generate since last tag changelog (emoji)');
        console.log('  pnpm changelog:last:plain         - Generate since last tag changelog (plain)');
        console.log('  pnpm changelog:all                - Rebuild all version sections from git tags (emoji)');
        console.log('  pnpm changelog:all:plain          - Rebuild all version sections from git tags (plain)');
    } catch (error) {
        console.error('❌ Error generating changelog:', error.message);
        process.exit(1);
    }
}

generateChangelog();


================================================
FILE: scripts/listColors.mjs
================================================
import fs from 'fs';
import { fileURLToPath } from 'url';
import { dirname, join } from 'path';

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const root = join(__dirname, '..', 'src', 'uni_modules', 'uview-pro', 'components');

const pattern = /#([0-9a-fA-F]{3,6})/g;
const counts = {};

function walk(dir) {
    const entries = fs.readdirSync(dir, { withFileTypes: true });
    for (const entry of entries) {
        const fullPath = join(dir, entry.name);
        if (entry.isDirectory()) {
            walk(fullPath);
        } else if (entry.isFile()) {
            let text;
            try {
                text = fs.readFileSync(fullPath, 'utf8');
            } catch (e) {
                text = fs.readFileSync(fullPath, { encoding: 'utf8', flag: 'r' });
            }
            let match;
            while ((match = pattern.exec(text)) !== null) {
                const hex = match[0].toLowerCase();
                counts[hex] = (counts[hex] || 0) + 1;
            }
        }
    }
}

walk(root);

Object.keys(counts)
    .sort()
    .forEach(hex => {
        console.log(`${hex} ${counts[hex]}`);
    });


================================================
FILE: scripts/release.bat
================================================
@echo off
setlocal enabledelayedexpansion

REM 发布脚本 (批处理版本)
REM 使用方法: scripts\release.bat [patch|minor|major]

if "%~1"=="" (
    echo 请指定版本类型: patch, minor, 或 major
    echo 使用方法: scripts\release.bat [patch^|minor^|major]
    exit /b 1
)

set VERSION_TYPE=%~1

REM 验证版本类型
if not "%VERSION_TYPE%"=="patch" if not "%VERSION_TYPE%"=="minor" if not "%VERSION_TYPE%"=="major" (
    echo 错误: 版本类型必须是 patch, minor, 或 major
    exit /b 1
)

echo 开始发布 %VERSION_TYPE% 版本...

REM 检查是否有未提交的更改
git status --porcelain >nul 2>&1
if %errorlevel% neq 0 (
    echo 错误: 有未提交的更改,请先提交或暂存
    git status --porcelain
    exit /b 1
)

REM 检查当前分支
for /f "tokens=*" %%i in ('git branch --show-current') do set CURRENT_BRANCH=%%i
if not "%CURRENT_BRANCH%"=="main" if not "%CURRENT_BRANCH%"=="master" (
    echo 警告: 当前分支是 %CURRENT_BRANCH%,建议在 main 或 master 分支上发布
    set /p CONTINUE="是否继续? (y/N): "
    if /i not "!CONTINUE!"=="y" exit /b 1
)

REM 更新版本号
echo 更新版本号...
call npm version %VERSION_TYPE% --no-git-tag-version

REM 获取新版本号
for /f "tokens=*" %%i in ('node -p "require('./package.json').version"') do set NEW_VERSION=%%i
echo 新版本: %NEW_VERSION%

REM 同时更新uview-pro模块的版本号
echo 更新uview-pro模块版本号...
set UVEW_PRO_PACKAGE_PATH=src\uni_modules\uview-pro\package.json
if exist "%UVEW_PRO_PACKAGE_PATH%" (
    node -e "const pkg = require('./%UVEW_PRO_PACKAGE_PATH%'); pkg.version = '%NEW_VERSION%'; require('fs').writeFileSync('./%UVEW_PRO_PACKAGE_PATH%', JSON.stringify(pkg, null, 4) + '\n');"
    echo ✅ uview-pro模块版本已更新为: %NEW_VERSION%
) else (
    echo ⚠️  未找到uview-pro模块的package.json文件
)

REM 生成 changelog
echo 生成 changelog...
call npm run changelog

REM 提交更改
echo 提交更改...
git add package.json src/uni_modules/uview-pro/package.json CHANGELOG.md
git commit -m "chore(release): bump version to %NEW_VERSION%

- Update package.json version
- Update uview-pro module version
- Generate changelog for %NEW_VERSION%"

REM 创建标签
echo 创建标签 v%NEW_VERSION%...
git tag -a "v%NEW_VERSION%" -m "Release version %NEW_VERSION%"

REM 推送更改和标签
echo 推送更改和标签...
git push origin HEAD
git push origin "v%NEW_VERSION%"

echo ✅ 版本 %NEW_VERSION% 发布成功!
echo 📝 Changelog 已更新
echo 🏷️  标签 v%NEW_VERSION% 已创建并推送
echo.
echo 下一步:
echo 1. 在 GitHub/GitLab 上创建 Release
echo 2. 将 CHANGELOG.md 中的内容复制到 Release 描述中
echo 3. 上传构建产物 (如果需要)


================================================
FILE: scripts/release.js
================================================
#!/usr/bin/env node

/**
 * 发布脚本 (Node.js版本)
 * 使用方法:
 *   node scripts/release.js [patch|minor|major]              # 语义化版本(默认不推送)
 *   node scripts/release.js prerelease [alpha|beta|rc]       # 预览版本(默认不推送)
 *   node scripts/release.js 0.5.1                          # 直接指定版本号(默认不推送)
 *   node scripts/release.js patch --push                   # 提交并推送
 *   node scripts/release.js push                           # 推送上次未推送的发布
 *   node scripts/release.js undo                           # 撤销本地发布(仅未推送时)
 * 在所有平台上都能运行
 */

const { execSync, spawn } = require('child_process');
const fs = require('fs');
const path = require('path');

// 获取命令行参数
const args = process.argv.slice(2);

// 特殊命令:push - 用于推送之前未 push 的发布
if (args[0] === 'push') {
    console.log('🚀 开始推送发布标签和提交...');
    try {
        // 获取当前版本
        const packageJsonPath = path.join(process.cwd(), 'package.json');
        const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
        const version = packageJson.version;

        // 推送提交和标签
        console.log('📤 推送提交...');
        execSync('git push origin HEAD', { stdio: 'inherit' });
        console.log(`📤 推送标签 v${version}...`);
        execSync(`git push origin "v${version}"`, { stdio: 'inherit' });
        console.log(`✅ 版本 ${version} 推送成功!`);
        process.exit(0);
    } catch (error) {
        console.error('❌ 推送失败:', error.message);
        process.exit(1);
    }
}

// 特殊命令:undo - 用于撤销本地的发布(仅支持未推送的情况)
if (args[0] === 'undo') {
    console.log('↩️  开始撤销本地发布...');
    try {
        // 获取当前版本
        const packageJsonPath = path.join(process.cwd(), 'package.json');
        const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
        const version = packageJson.version;
        const tagName = `v${version}`;

        // 检查是否有未推送的提交
        console.log('🔍 检查提交状态...');
        try {
            const unpushedCommits = execSync('git log origin/HEAD..HEAD --oneline', { encoding: 'utf8' }).trim();
            if (!unpushedCommits) {
                console.error('❌ 错误:没有未推送的提交,或者当前分支没有远程跟踪分支');
                console.error('💡 该命令仅用于撤销未推送的本地发布');
                process.exit(1);
            }
        } catch (e) {
            // 如果没有远程分支,git log 会报错,这也是可以撤销的情况
        }

        // 检查标签是否存在
        console.log(`🔍 检查标签 ${tagName}...`);
        let tagExists = false;
        try {
            execSync(`git rev-parse ${tagName}`, { stdio: 'pipe' });
            tagExists = true;
        } catch (e) {
            console.log(`⚠️  标签 ${tagName} 不存在`);
        }

        // 获取最后一次提交信息
        const lastCommitMsg = execSync('git log -1 --pretty=%B', { encoding: 'utf8' }).trim();
        const isReleaseCommit = lastCommitMsg.includes('chore(release): bump version to');

        if (!isReleaseCommit) {
            console.error('❌ 错误:最后一次提交不是发布提交');
            console.error('💡 最后一次提交信息:', lastCommitMsg.substring(0, 50) + '...');
            console.error('💡 请手动检查并撤销');
            process.exit(1);
        }

        console.log('');
        console.log('⚠️  即将执行以下操作:');
        console.log(`   1. 删除本地标签: ${tagName}`);
        console.log('   2. 撤销最后一次提交(保留修改到暂存区)');
        console.log('   3. 恢复 package.json 和 changelog 文件');
        console.log('');
        console.log('💡 撤销后版本号需要手动修改回之前的版本');
        console.log('');

        // 由于是命令行工具,直接执行而不询问
        // 删除本地标签
        if (tagExists) {
            console.log(`🗑️  删除本地标签 ${tagName}...`);
            execSync(`git tag -d ${tagName}`, { stdio: 'inherit' });
        }

        // 撤销最后一次提交,保留修改
        console.log('↩️  撤销最后一次提交...');
        execSync('git reset --soft HEAD~1', { stdio: 'inherit' });

        // 恢复 package.json 文件
        console.log('📄 恢复 package.json...');
        execSync('git checkout -- package.json', { stdio: 'inherit' });

        // 恢复 uview-pro 模块的 package.json
        const uviewProPackagePath = 'src/uni_modules/uview-pro/package.json';
        if (fs.existsSync(uviewProPackagePath)) {
            console.log('📄 恢复 uview-pro package.json...');
            try {
                execSync(`git checkout -- ${uviewProPackagePath}`, { stdio: 'inherit' });
            } catch (e) {
                console.log('⚠️  未找到 uview-pro package.json 或无需恢复');
            }
        }

        // 恢复 changelog
        console.log('📄 恢复 changelog...');
        execSync('git checkout -- CHANGELOG.md', { stdio: 'inherit' });
        try {
            execSync('git checkout -- src/uni_modules/uview-pro/changelog.md', { stdio: 'inherit' });
        } catch (e) {
            console.log('⚠️  未找到 uview-pro changelog 或无需恢复');
        }

        console.log('');
        console.log('✅ 本地发布撤销成功!');
        console.log('');
        console.log('📋 当前状态:');
        console.log(`   • 标签 ${tagName} 已删除`);
        console.log('   • 提交已撤销,修改已保留在暂存区');
        console.log('   • package.json 和 changelog 已恢复');
        console.log('');
        console.log('💡 如需修改版本号,请手动编辑 package.json');
        console.log('💡 如需重新发布,运行: npm run release:patch (或其他版本类型)');
        process.exit(0);
    } catch (error) {
        console.error('❌ 撤销失败:', error.message);
        process.exit(1);
    }
}

// 检查是否有 --push 参数(默认不推送)
const shouldPush = args.includes('--push');
const versionInput = args.find(arg => !arg.startsWith('--'));

// 验证版本号格式 (支持 x.y.z 格式,如 0.5.1, 1.0.0, 2.3.4-beta.1)
function isValidVersion(version) {
    if (!version || typeof version !== 'string') return false;
    // 匹配语义化版本号: x.y.z 或 x.y.z-prerelease
    const semverRegex = /^\d+\.\d+\.\d+(-[a-zA-Z0-9.-]+)?$/;
    return semverRegex.test(version);
}

// 判断是语义化版本类型还是直接指定版本号
const isSemverType = ['patch', 'minor', 'major', 'prerelease'].includes(versionInput);
const isDirectVersion = isValidVersion(versionInput);

// 验证参数
if (!versionInput || (!isSemverType && !isDirectVersion)) {
    console.error('❌ 请指定版本类型或版本号');
    console.error('使用方法:');
    console.error('  node scripts/release.js [patch|minor|major]              # 语义化版本(默认不推送)');
    console.error('  node scripts/release.js prerelease [alpha|beta|rc]       # 预览版本(默认不推送)');
    console.error('  node scripts/release.js 0.5.1                            # 直接指定版本号(默认不推送)');
    console.error('');
    console.error('选项:');
    console.error('  --push                                                   # 提交并推送');
    console.error('');
    console.error('其他命令:');
    console.error('  node scripts/release.js push                             # 推送上次未推送的发布');
    console.error('  node scripts/release.js undo                             # 撤销本地发布(仅未推送时)');
    process.exit(1);
}

// 处理 prerelease 类型和标识
let prereleaseId = '';
if (versionInput === 'prerelease') {
    prereleaseId = args[1] || 'beta'; // 默认使用 beta
}

const versionType = isSemverType ? versionInput : null;
const targetVersion = isDirectVersion ? versionInput : null;

// 显示发布信息
const releaseTypeText = targetVersion
    ? targetVersion
    : versionType === 'prerelease'
      ? `${prereleaseId} 预览版`
      : versionType;
const isPrereleaseType = versionType === 'prerelease' || (targetVersion && targetVersion.includes('-'));

console.log(`${isPrereleaseType ? '🧪' : '🚀'} 开始发布 ${releaseTypeText} 版本...`);

// 执行命令的辅助函数
function execCommand(command, options = {}) {
    try {
        const result = execSync(command, {
            encoding: 'utf8',
            stdio: 'inherit',
            ...options
        });
        return result;
    } catch (error) {
        console.error(`❌ 命令执行失败: ${command}`);
        console.error(error.message);
        process.exit(1);
    }
}

// 检查是否有未提交的更改
console.log('📋 检查Git状态...');
const gitStatus = execCommand('git status --porcelain', { stdio: 'pipe' });
if (gitStatus.trim()) {
    console.error('❌ 有未提交的更改,请先提交或暂存');
    console.log(gitStatus);
    process.exit(1);
}

// 检查当前分支
console.log('🌿 检查当前分支...');
const currentBranch = execCommand('git branch --show-current', { stdio: 'pipe' }).trim();
if (currentBranch !== 'main' && currentBranch !== 'master') {
    console.warn(`⚠️  警告: 当前分支是 ${currentBranch},建议在 main 或 master 分支上发布`);

    // 在Node.js中实现交互式输入
    const readline = require('readline');
    const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout
    });

    rl.question('是否继续? (y/N): ', answer => {
        rl.close();
        if (!/^[Yy]$/.test(answer)) {
            console.log('❌ 操作已取消');
            process.exit(1);
        }
        continueRelease();
    });
} else {
    continueRelease();
}

function continueRelease() {
    try {
        const packageJsonPath = path.join(process.cwd(), 'package.json');
        const currentDate = new Date().toISOString().split('T')[0]; // YYYY-MM-DD格式
        let newVersion;
        const isPrerelease = versionType === 'prerelease' || (targetVersion && targetVersion.includes('-'));

        // 更新版本号
        if (targetVersion) {
            // 直接指定版本号
            console.log(`📦 更新版本号为 ${targetVersion}...`);
            const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
            packageJson.version = targetVersion;
            // 更新发布日期
            packageJson.releaseDate = currentDate;
            fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
            newVersion = targetVersion;
        } else if (versionType === 'prerelease') {
            // 预览版本
            console.log(`📦 更新版本号为 ${prereleaseId} 预览版本...`);
            execCommand(`npm version prerelease --preid=${prereleaseId} --no-git-tag-version`);
            const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
            newVersion = packageJson.version;
            // 更新发布日期
            packageJson.releaseDate = currentDate;
            fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
        } else {
            // 语义化版本类型
            console.log('📦 更新版本号...');
            execCommand(`npm version ${versionType} --no-git-tag-version`);
            const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
            newVersion = packageJson.version;
            // 更新发布日期
            packageJson.releaseDate = currentDate;
            fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
        }

        console.log(`✨ 新版本: ${newVersion}`);
        console.log(`✅ 发布日期: ${currentDate}`);

        // 同时更新uview-pro模块的版本号
        console.log('📦 更新uview-pro模块版本号...');
        const uviewProPackagePath = path.join(process.cwd(), 'src', 'uni_modules', 'uview-pro', 'package.json');
        if (fs.existsSync(uviewProPackagePath)) {
            const uviewProPackage = JSON.parse(fs.readFileSync(uviewProPackagePath, 'utf8'));
            uviewProPackage.version = newVersion;
            fs.writeFileSync(uviewProPackagePath, JSON.stringify(uviewProPackage, null, 4) + '\n');
            console.log(`✅ uview-pro模块版本已更新为: ${newVersion}`);
        } else {
            console.warn('⚠️  未找到uview-pro模块的package.json文件');
        }

        // 生成 changelog(按当前版本生成版本化条目,可配置是否保留 Unreleased)
        console.log('📝 生成 changelog...');
        execCommand('npm run changelog:current:no-unreleased');

        // 提交更改
        console.log('💾 提交更改...');
        execCommand(
            'git add package.json src/uni_modules/uview-pro/package.json CHANGELOG.md src/uni_modules/uview-pro/changelog.md'
        );
        execCommand(`git commit -m "chore(release): bump version to ${newVersion}

- Update package.json version
- Update uview-pro module version
- Generate changelog for ${newVersion}
- Update uview-pro component changelog"`);

        // 创建标签
        console.log(`🏷️  创建标签 v${newVersion}...`);
        execCommand(`git tag -a "v${newVersion}" -m "Release version ${newVersion}"`);

        // 推送更改和标签
        if (shouldPush) {
            console.log('🚀 推送更改和标签...');
            execCommand('git push origin HEAD');
            execCommand(`git push origin "v${newVersion}"`);
        }

        console.log(`${isPrerelease ? '🎉 预览版本' : '✅ 版本'} ${newVersion} 发布成功!`);
        console.log('📝 Changelog 已更新');
        if (shouldPush) {
            console.log(`🏷️  标签 v${newVersion} 已创建并推送`);
        } else {
            console.log(`🏷️  标签 v${newVersion} 已创建(未推送)`);
            console.log('💡 如需推送,运行: npm run release:push');
            console.log(`   或: git push origin HEAD && git push origin "v${newVersion}"`);
        }
        if (isPrerelease) {
            console.log('');
            console.log('⚠️  这是一个预览版本,仅供测试使用');
        }
        console.log('');
        console.log('📋 下一步:');
        if (!shouldPush) {
            console.log('1. 检查无误后,运行 npm run release:push 推送发布');
            console.log('2. 如需创建 GitHub/Gitee Release,请手动前往仓库创建');
        } else {
            console.log('如需创建 GitHub/Gitee Release,请手动前往仓库创建');
        }
    } catch (error) {
        console.error('❌ 发布过程中出现错误:', error.message);
        process.exit(1);
    }
}


================================================
FILE: scripts/release.ps1
================================================
# 发布脚本 (PowerShell版本)
# 使用方法: .\scripts\release.ps1 [patch|minor|major]

param(
    [Parameter(Mandatory=$true)]
    [ValidateSet("patch", "minor", "major")]
    [string]$VersionType
)

# 设置错误处理
$ErrorActionPreference = "Stop"

Write-Host "开始发布 $VersionType 版本..." -ForegroundColor Green

# 检查是否有未提交的更改
$gitStatus = git status --porcelain
if ($gitStatus) {
    Write-Host "错误: 有未提交的更改,请先提交或暂存" -ForegroundColor Red
    Write-Host $gitStatus
    exit 1
}

# 检查当前分支
$currentBranch = git branch --show-current
if ($currentBranch -ne "main" -and $currentBranch -ne "master") {
    Write-Host "警告: 当前分支是 $currentBranch,建议在 main 或 master 分支上发布" -ForegroundColor Yellow
    $continue = Read-Host "是否继续? (y/N)"
    if ($continue -notmatch "^[Yy]$") {
        exit 1
    }
}

# 更新版本号
Write-Host "更新版本号..." -ForegroundColor Cyan
npm version $VersionType --no-git-tag-version

# 获取新版本号
$packageJson = Get-Content "package.json" | ConvertFrom-Json
$newVersion = $packageJson.version
Write-Host "新版本: $newVersion" -ForegroundColor Green

# 同时更新uview-pro模块的版本号
Write-Host "更新uview-pro模块版本号..." -ForegroundColor Cyan
$uviewProPackagePath = "src\uni_modules\uview-pro\package.json"
if (Test-Path $uviewProPackagePath) {
    $uviewProPackage = Get-Content $uviewProPackagePath | ConvertFrom-Json
    $uviewProPackage.version = $newVersion
    $uviewProPackage | ConvertTo-Json -Depth 10 | Set-Content $uviewProPackagePath
    Write-Host "✅ uview-pro模块版本已更新为: $newVersion" -ForegroundColor Green
} else {
    Write-Host "⚠️  未找到uview-pro模块的package.json文件" -ForegroundColor Yellow
}

# 生成 changelog
Write-Host "生成 changelog..." -ForegroundColor Cyan
npm run changelog

# 提交更改
Write-Host "提交更改..." -ForegroundColor Cyan
git add package.json src/uni_modules/uview-pro/package.json CHANGELOG.md
git commit -m "chore(release): bump version to $newVersion

- Update package.json version
- Update uview-pro module version
- Generate changelog for $newVersion"

# 创建标签
Write-Host "创建标签 v$newVersion..." -ForegroundColor Cyan
git tag -a "v$newVersion" -m "Release version $newVersion"

# 推送更改和标签
Write-Host "推送更改和标签..." -ForegroundColor Cyan
git push origin HEAD
git push origin "v$newVersion"

Write-Host "✅ 版本 $newVersion 发布成功!" -ForegroundColor Green
Write-Host "📝 Changelog 已更新" -ForegroundColor Green
Write-Host "🏷️  标签 v$newVersion 已创建并推送" -ForegroundColor Green
Write-Host ""
Write-Host "下一步:" -ForegroundColor Yellow
Write-Host "1. 在 GitHub/GitLab 上创建 Release" -ForegroundColor White
Write-Host "2. 将 CHANGELOG.md 中的内容复制到 Release 描述中" -ForegroundColor White
Write-Host "3. 上传构建产物 (如果需要)" -ForegroundColor White


===
Download .txt
gitextract_x38b8_sy/

├── .changelogrc.js
├── .copilot.md
├── .cz-config.js
├── .czrc
├── .editorconfig
├── .eslintignore
├── .gitee/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   └── feature_request.yml
│   └── PULL_REQUEST_TEMPLATE.md
├── .github/
│   └── ISSUE_TEMPLATE/
│       ├── bug_report.md
│       ├── feature_request.md
│       └── pull_request_template.md
├── .gitignore
├── .hbuilderx/
│   └── launch.json
├── .husky/
│   ├── commit-msg
│   └── pre-commit
├── .lintstagedrc
├── .nvmrc
├── .prettierignore
├── .prettierrc.js
├── .vscode/
│   ├── extensions.json
│   ├── settings.json
│   └── uview-pro.code-snippets
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── README-pnpm.md
├── README.en.md
├── README.md
├── commitlint.config.js
├── edgeone.json
├── harmony-configs/
│   └── build-profile.json5
├── index.html
├── package.json
├── scripts/
│   ├── README.md
│   ├── contributors-map.json
│   ├── contributors-usage.md
│   ├── fix-empty-css.js
│   ├── generate-changelog.js
│   ├── listColors.mjs
│   ├── release.bat
│   ├── release.js
│   ├── release.ps1
│   ├── release.sh
│   ├── replaceColors.mjs
│   ├── test-npm-cleanup.js
│   ├── test-npm-package.js
│   └── update-date.js
├── shims-uni.d.ts
├── src/
│   ├── App.ku.vue
│   ├── App.vue
│   ├── api/
│   │   └── index.ts
│   ├── common/
│   │   ├── classify.data.ts
│   │   ├── constant.ts
│   │   ├── demo-experience.config.json
│   │   ├── demo.scss
│   │   ├── http.interceptor.ts
│   │   ├── iconfont.css
│   │   ├── index.list.ts
│   │   ├── request.ts
│   │   ├── share.ts
│   │   ├── useExperience.ts
│   │   ├── useExperienceCenter.ts
│   │   ├── useHooks.ts
│   │   └── util.ts
│   ├── components/
│   │   ├── demo-animation/
│   │   │   ├── animation.css
│   │   │   └── demo-animation.vue
│   │   ├── demo-card/
│   │   │   └── demo-card.vue
│   │   ├── demo-guide/
│   │   │   └── demo-guide.vue
│   │   ├── demo-guide-use/
│   │   │   └── demo-guide-use.vue
│   │   ├── demo-page/
│   │   │   └── demo-page.vue
│   │   ├── page-nav/
│   │   │   └── page-nav.vue
│   │   └── wx-tips/
│   │       └── wx-tips.vue
│   ├── env.d.ts
│   ├── locales/
│   │   ├── index.ts
│   │   └── langs/
│   │       ├── en.json
│   │       └── zh-Hans.json
│   ├── main.ts
│   ├── manifest.json
│   ├── pages/
│   │   ├── componentsA/
│   │   │   ├── avatar/
│   │   │   │   └── index.vue
│   │   │   ├── avatarCropper/
│   │   │   │   └── index.vue
│   │   │   ├── backTop/
│   │   │   │   └── index.vue
│   │   │   ├── calendar/
│   │   │   │   └── index.vue
│   │   │   ├── empty/
│   │   │   │   └── index.vue
│   │   │   ├── field/
│   │   │   │   └── index.vue
│   │   │   ├── form/
│   │   │   │   └── index.vue
│   │   │   ├── fullScreen/
│   │   │   │   └── index.vue
│   │   │   ├── icon/
│   │   │   │   └── index.vue
│   │   │   ├── indexList/
│   │   │   │   └── index.vue
│   │   │   ├── input/
│   │   │   │   └── index.vue
│   │   │   ├── keyboard/
│   │   │   │   └── index.vue
│   │   │   ├── lazyLoad/
│   │   │   │   └── index.vue
│   │   │   ├── modal/
│   │   │   │   └── index.vue
│   │   │   ├── navbar/
│   │   │   │   └── index.vue
│   │   │   ├── noNetwork/
│   │   │   │   └── index.vue
│   │   │   ├── select/
│   │   │   │   └── index.vue
│   │   │   ├── slider/
│   │   │   │   └── index.vue
│   │   │   ├── tabs/
│   │   │   │   └── index.vue
│   │   │   ├── tag/
│   │   │   │   └── index.vue
│   │   │   ├── test/
│   │   │   │   └── index.vue
│   │   │   ├── textarea/
│   │   │   │   └── index.vue
│   │   │   ├── timeLine/
│   │   │   │   └── index.vue
│   │   │   ├── toast/
│   │   │   │   └── index.vue
│   │   │   ├── topTips/
│   │   │   │   └── index.vue
│   │   │   └── verificationCode/
│   │   │       └── index.vue
│   │   ├── componentsB/
│   │   │   ├── card/
│   │   │   │   └── index.vue
│   │   │   ├── checkbox/
│   │   │   │   └── index.vue
│   │   │   ├── divider/
│   │   │   │   └── index.vue
│   │   │   ├── dropdown/
│   │   │   │   └── index.vue
│   │   │   ├── image/
│   │   │   │   └── index.vue
│   │   │   ├── line/
│   │   │   │   └── index.vue
│   │   │   ├── loading/
│   │   │   │   └── index.vue
│   │   │   ├── loadingPopup/
│   │   │   │   └── index.vue
│   │   │   ├── noticeBar/
│   │   │   │   └── index.vue
│   │   │   ├── picker/
│   │   │   │   └── index.vue
│   │   │   ├── radio/
│   │   │   │   └── index.vue
│   │   │   ├── rate/
│   │   │   │   └── index.vue
│   │   │   ├── readMore/
│   │   │   │   └── index.vue
│   │   │   ├── search/
│   │   │   │   ├── index.vue
│   │   │   │   └── types.ts
│   │   │   ├── skeleton/
│   │   │   │   └── index.vue
│   │   │   ├── steps/
│   │   │   │   └── index.vue
│   │   │   ├── sticky/
│   │   │   │   └── index.vue
│   │   │   ├── swipeAction/
│   │   │   │   └── index.vue
│   │   │   ├── swiper/
│   │   │   │   ├── image.ts
│   │   │   │   └── index.vue
│   │   │   ├── switch/
│   │   │   │   └── index.vue
│   │   │   ├── tabbar/
│   │   │   │   └── index.vue
│   │   │   ├── table/
│   │   │   │   └── index.vue
│   │   │   ├── transition/
│   │   │   │   └── index.vue
│   │   │   ├── upload/
│   │   │   │   └── index.vue
│   │   │   └── waterfall/
│   │   │       └── index.vue
│   │   ├── componentsC/
│   │   │   ├── actionSheet/
│   │   │   │   └── index.vue
│   │   │   ├── alertTips/
│   │   │   │   └── index.vue
│   │   │   ├── badge/
│   │   │   │   └── index.vue
│   │   │   ├── button/
│   │   │   │   └── index.vue
│   │   │   ├── cell/
│   │   │   │   └── index.vue
│   │   │   ├── circleProgress/
│   │   │   │   └── index.vue
│   │   │   ├── collapse/
│   │   │   │   └── index.vue
│   │   │   ├── color/
│   │   │   │   └── index.vue
│   │   │   ├── countDown/
│   │   │   │   └── index.vue
│   │   │   ├── countTo/
│   │   │   │   └── index.vue
│   │   │   ├── fab/
│   │   │   │   └── index.vue
│   │   │   ├── gap/
│   │   │   │   └── index.vue
│   │   │   ├── grid/
│   │   │   │   └── index.vue
│   │   │   ├── layout/
│   │   │   │   └── index.vue
│   │   │   ├── link/
│   │   │   │   └── index.vue
│   │   │   ├── loadmore/
│   │   │   │   └── index.vue
│   │   │   ├── mask/
│   │   │   │   └── index.vue
│   │   │   ├── messageInput/
│   │   │   │   └── index.vue
│   │   │   ├── numberBox/
│   │   │   │   └── index.vue
│   │   │   ├── pagination/
│   │   │   │   └── index.vue
│   │   │   ├── popup/
│   │   │   │   └── index.vue
│   │   │   ├── progress/
│   │   │   │   └── index.vue
│   │   │   ├── section/
│   │   │   │   └── index.vue
│   │   │   ├── subsection/
│   │   │   │   └── index.vue
│   │   │   └── text/
│   │   │       └── index.vue
│   │   ├── example/
│   │   │   ├── about/
│   │   │   │   ├── about-me.vue
│   │   │   │   ├── contributors.vue
│   │   │   │   ├── faq.vue
│   │   │   │   ├── guide.vue
│   │   │   │   ├── license.vue
│   │   │   │   ├── settings.vue
│   │   │   │   └── version.vue
│   │   │   ├── about.vue
│   │   │   ├── components.config.ts
│   │   │   ├── components.vue
│   │   │   ├── experienceMap.vue
│   │   │   ├── fullScreen.vue
│   │   │   ├── js.config.ts
│   │   │   ├── js.vue
│   │   │   ├── template.config.ts
│   │   │   └── template.vue
│   │   ├── hooks/
│   │   │   ├── useModal/
│   │   │   │   └── index.vue
│   │   │   └── useToast/
│   │   │       └── index.vue
│   │   ├── index/
│   │   │   └── index.vue
│   │   ├── library/
│   │   │   ├── color/
│   │   │   │   └── index.vue
│   │   │   ├── colorSwitch/
│   │   │   │   └── index.vue
│   │   │   ├── debounce/
│   │   │   │   └── index.vue
│   │   │   ├── deepClone/
│   │   │   │   └── index.vue
│   │   │   ├── deepMerge/
│   │   │   │   └── index.vue
│   │   │   ├── getRect/
│   │   │   │   └── index.vue
│   │   │   ├── guid/
│   │   │   │   └── index.vue
│   │   │   ├── http/
│   │   │   │   └── index.vue
│   │   │   ├── md5/
│   │   │   │   └── index.vue
│   │   │   ├── mpShare/
│   │   │   │   └── index.vue
│   │   │   ├── queryParams/
│   │   │   │   └── index.vue
│   │   │   ├── random/
│   │   │   │   └── index.vue
│   │   │   ├── randomArray/
│   │   │   │   └── index.vue
│   │   │   ├── route/
│   │   │   │   ├── index.vue
│   │   │   │   └── routeTo.vue
│   │   │   ├── test/
│   │   │   │   └── index.vue
│   │   │   ├── timeFormat/
│   │   │   │   └── index.vue
│   │   │   ├── timeFrom/
│   │   │   │   └── index.vue
│   │   │   └── trim/
│   │   │       └── index.vue
│   │   ├── other/
│   │   │   ├── locale/
│   │   │   │   └── index.vue
│   │   │   └── theme/
│   │   │       └── index.vue
│   │   ├── scenes/
│   │   │   ├── dashboard/
│   │   │   │   └── index.vue
│   │   │   ├── favorites/
│   │   │   │   └── index.vue
│   │   │   ├── index.vue
│   │   │   ├── notes/
│   │   │   │   └── index.vue
│   │   │   └── todo/
│   │   │       └── index.vue
│   │   └── template/
│   │       ├── address/
│   │       │   ├── addSite.vue
│   │       │   └── index.vue
│   │       ├── citySelect/
│   │       │   └── index.vue
│   │       ├── comment/
│   │       │   ├── index.vue
│   │       │   └── reply.vue
│   │       ├── coupon/
│   │       │   └── index.vue
│   │       ├── detail/
│   │       │   └── index.vue
│   │       ├── keyboardPay/
│   │       │   └── index.vue
│   │       ├── login/
│   │       │   ├── code.vue
│   │       │   └── index.vue
│   │       ├── mallMenu/
│   │       │   ├── index1.vue
│   │       │   └── index2.vue
│   │       ├── order/
│   │       │   └── index.vue
│   │       ├── submitBar/
│   │       │   └── index.vue
│   │       └── wxCenter/
│   │           └── index.vue
│   ├── pages.json
│   ├── shime-uni.d.ts
│   ├── static/
│   │   ├── app/
│   │   │   └── markdown/
│   │   │       ├── actionSheet.md
│   │   │       ├── addQQGroup.md
│   │   │       ├── alertTips.md
│   │   │       ├── avatar.md
│   │   │       ├── avatarCropper.md
│   │   │       ├── backTop.md
│   │   │       ├── badge.md
│   │   │       ├── button.md
│   │   │       ├── calendar.md
│   │   │       ├── card.md
│   │   │       ├── cell.md
│   │   │       ├── changeGuide.md
│   │   │       ├── changelog.md
│   │   │       ├── chatGroup.md
│   │   │       ├── checkbox.md
│   │   │       ├── circleProgress.md
│   │   │       ├── collapse.md
│   │   │       ├── color.md
│   │   │       ├── colorSwitch.md
│   │   │       ├── colorjs.md
│   │   │       ├── common.md
│   │   │       ├── countDown.md
│   │   │       ├── countTo.md
│   │   │       ├── debounce.md
│   │   │       ├── deepClone.md
│   │   │       ├── deepMerge.md
│   │   │       ├── divider.md
│   │   │       ├── downloadSetting.md
│   │   │       ├── dropdown.md
│   │   │       ├── empty.md
│   │   │       ├── fastUse.md
│   │   │       ├── feature.md
│   │   │       ├── field.md
│   │   │       ├── form.md
│   │   │       ├── fullScreen.md
│   │   │       ├── gap.md
│   │   │       ├── getRect.md
│   │   │       ├── grid.md
│   │   │       ├── guid.md
│   │   │       ├── http.md
│   │   │       ├── icon.md
│   │   │       ├── image.md
│   │   │       ├── indexList.md
│   │   │       ├── input.md
│   │   │       ├── install.md
│   │   │       ├── intro copy.md
│   │   │       ├── intro.md
│   │   │       ├── keyboard.md
│   │   │       ├── layout.md
│   │   │       ├── lazyLoad.md
│   │   │       ├── line.md
│   │   │       ├── lineProgress.md
│   │   │       ├── link.md
│   │   │       ├── loadMore.md
│   │   │       ├── loading.md
│   │   │       ├── mask.md
│   │   │       ├── md5.md
│   │   │       ├── messageInput.md
│   │   │       ├── modal.md
│   │   │       ├── mpShare.md
│   │   │       ├── navbar.md
│   │   │       ├── noNetwork.md
│   │   │       ├── noticeBar.md
│   │   │       ├── npmSetting.md
│   │   │       ├── numberBox.md
│   │   │       ├── nvue.md
│   │   │       ├── parse.md
│   │   │       ├── picker.md
│   │   │       ├── popup.md
│   │   │       ├── queryParams.md
│   │   │       ├── quickstart.md
│   │   │       ├── radio.md
│   │   │       ├── random.md
│   │   │       ├── randomArray.md
│   │   │       ├── rate.md
│   │   │       ├── read.md
│   │   │       ├── readMore.md
│   │   │       ├── request.md
│   │   │       ├── resource.md
│   │   │       ├── route.md
│   │   │       ├── safeAreaInset.md
│   │   │       ├── search.md
│   │   │       ├── section.md
│   │   │       ├── select.md
│   │   │       ├── setting.md
│   │   │       ├── settingDesc.md
│   │   │       ├── skeleton.md
│   │   │       ├── slider.md
│   │   │       ├── steps.md
│   │   │       ├── sticky.md
│   │   │       ├── subsection.md
│   │   │       ├── swipeAction.md
│   │   │       ├── swiper.md
│   │   │       ├── switch.md
│   │   │       ├── tabbar.md
│   │   │       ├── table.md
│   │   │       ├── tabs.md
│   │   │       ├── tabsSwiper.md
│   │   │       ├── tag.md
│   │   │       ├── test.md
│   │   │       ├── time.md
│   │   │       ├── timeLine.md
│   │   │       ├── toast.md
│   │   │       ├── topTips.md
│   │   │       ├── trim.md
│   │   │       ├── uniModulesSetting.md
│   │   │       ├── upload.md
│   │   │       ├── verificationCode.md
│   │   │       ├── vueUse.md
│   │   │       ├── vuexDetail.md
│   │   │       └── waterfall.md
│   │   └── common/
│   │       └── js/
│   │           └── touch-emulator.js
│   ├── theme.json
│   ├── uni.scss
│   ├── uni_modules/
│   │   ├── uview-pro/
│   │   │   ├── .npmignore
│   │   │   ├── changelog.md
│   │   │   ├── components/
│   │   │   │   ├── u-action-sheet/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-action-sheet.vue
│   │   │   │   ├── u-action-sheet-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-action-sheet-item.vue
│   │   │   │   ├── u-alert-tips/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-alert-tips.vue
│   │   │   │   ├── u-avatar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-avatar.vue
│   │   │   │   ├── u-avatar-cropper/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   ├── u-avatar-cropper.vue
│   │   │   │   │   ├── weCropper.d.ts
│   │   │   │   │   ├── weCropper.js
│   │   │   │   │   └── weCropper.ts
│   │   │   │   ├── u-back-top/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-back-top.vue
│   │   │   │   ├── u-badge/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-badge.vue
│   │   │   │   ├── u-button/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-button.vue
│   │   │   │   ├── u-calendar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-calendar.vue
│   │   │   │   ├── u-car-keyboard/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-car-keyboard.vue
│   │   │   │   ├── u-card/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-card.vue
│   │   │   │   ├── u-cell-group/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-cell-group.vue
│   │   │   │   ├── u-cell-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-cell-item.vue
│   │   │   │   ├── u-checkbox/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-checkbox.vue
│   │   │   │   ├── u-checkbox-group/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-checkbox-group.vue
│   │   │   │   ├── u-circle-progress/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-circle-progress.vue
│   │   │   │   ├── u-city-select/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-city-select.vue
│   │   │   │   ├── u-col/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-col.vue
│   │   │   │   ├── u-collapse/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-collapse.vue
│   │   │   │   ├── u-collapse-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-collapse-item.vue
│   │   │   │   ├── u-column-notice/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-column-notice.vue
│   │   │   │   ├── u-config-provider/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-config-provider.vue
│   │   │   │   ├── u-count-down/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-count-down.vue
│   │   │   │   ├── u-count-to/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-count-to.vue
│   │   │   │   ├── u-divider/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-divider.vue
│   │   │   │   ├── u-dropdown/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-dropdown.vue
│   │   │   │   ├── u-dropdown-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-dropdown-item.vue
│   │   │   │   ├── u-empty/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-empty.vue
│   │   │   │   ├── u-fab/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-fab.vue
│   │   │   │   ├── u-field/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-field.vue
│   │   │   │   ├── u-form/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-form.vue
│   │   │   │   ├── u-form-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-form-item.vue
│   │   │   │   ├── u-full-screen/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-full-screen.vue
│   │   │   │   ├── u-gap/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-gap.vue
│   │   │   │   ├── u-grid/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-grid.vue
│   │   │   │   ├── u-grid-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-grid-item.vue
│   │   │   │   ├── u-icon/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-icon.vue
│   │   │   │   ├── u-image/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-image.vue
│   │   │   │   ├── u-index-anchor/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-index-anchor.vue
│   │   │   │   ├── u-index-list/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-index-list.vue
│   │   │   │   ├── u-input/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-input.vue
│   │   │   │   ├── u-keyboard/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-keyboard.vue
│   │   │   │   ├── u-lazy-load/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-lazy-load.vue
│   │   │   │   ├── u-line/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-line.vue
│   │   │   │   ├── u-line-progress/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-line-progress.vue
│   │   │   │   ├── u-link/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-link.vue
│   │   │   │   ├── u-loading/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-loading.vue
│   │   │   │   ├── u-loading-popup/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-loading-popup.vue
│   │   │   │   ├── u-loadmore/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-loadmore.vue
│   │   │   │   ├── u-mask/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-mask.vue
│   │   │   │   ├── u-message-input/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-message-input.vue
│   │   │   │   ├── u-modal/
│   │   │   │   │   ├── service.ts
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-modal.vue
│   │   │   │   ├── u-navbar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-navbar.vue
│   │   │   │   ├── u-no-network/
│   │   │   │   │   ├── image.ts
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-no-network.vue
│   │   │   │   ├── u-notice-bar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-notice-bar.vue
│   │   │   │   ├── u-number-box/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-number-box.vue
│   │   │   │   ├── u-number-keyboard/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-number-keyboard.vue
│   │   │   │   ├── u-pagination/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-pagination.vue
│   │   │   │   ├── u-picker/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-picker.vue
│   │   │   │   ├── u-popup/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-popup.vue
│   │   │   │   ├── u-radio/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-radio.vue
│   │   │   │   ├── u-radio-group/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-radio-group.vue
│   │   │   │   ├── u-rate/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-rate.vue
│   │   │   │   ├── u-read-more/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-read-more.vue
│   │   │   │   ├── u-root-portal/
│   │   │   │   │   └── u-root-portal.vue
│   │   │   │   ├── u-row/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-row.vue
│   │   │   │   ├── u-row-notice/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-row-notice.vue
│   │   │   │   ├── u-safe-bottom/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-safe-bottom.vue
│   │   │   │   ├── u-search/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-search.vue
│   │   │   │   ├── u-section/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-section.vue
│   │   │   │   ├── u-select/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-select.vue
│   │   │   │   ├── u-skeleton/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-skeleton.vue
│   │   │   │   ├── u-slider/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-slider.vue
│   │   │   │   ├── u-status-bar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-status-bar.vue
│   │   │   │   ├── u-step/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-step.vue
│   │   │   │   ├── u-steps/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-steps.vue
│   │   │   │   ├── u-sticky/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-sticky.vue
│   │   │   │   ├── u-subsection/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-subsection.vue
│   │   │   │   ├── u-swipe-action/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-swipe-action.vue
│   │   │   │   ├── u-swiper/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-swiper.vue
│   │   │   │   ├── u-switch/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-switch.vue
│   │   │   │   ├── u-tabbar/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-tabbar.vue
│   │   │   │   ├── u-table/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-table.vue
│   │   │   │   ├── u-tabs/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-tabs.vue
│   │   │   │   ├── u-tabs-swiper/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-tabs-swiper.vue
│   │   │   │   ├── u-tag/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-tag.vue
│   │   │   │   ├── u-td/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-td.vue
│   │   │   │   ├── u-text/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-text.vue
│   │   │   │   ├── u-textarea/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-textarea.vue
│   │   │   │   ├── u-th/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-th.vue
│   │   │   │   ├── u-time-line/
│   │   │   │   │   └── u-time-line.vue
│   │   │   │   ├── u-time-line-item/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-time-line-item.vue
│   │   │   │   ├── u-toast/
│   │   │   │   │   ├── service.ts
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-toast.vue
│   │   │   │   ├── u-top-tips/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-top-tips.vue
│   │   │   │   ├── u-tr/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-tr.vue
│   │   │   │   ├── u-transition/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-transition.vue
│   │   │   │   ├── u-upload/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-upload.vue
│   │   │   │   ├── u-verification-code/
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── u-verification-code.vue
│   │   │   │   └── u-waterfall/
│   │   │   │       ├── types.ts
│   │   │   │       └── u-waterfall.vue
│   │   │   ├── iconfont.css
│   │   │   ├── index.scss
│   │   │   ├── index.ts
│   │   │   ├── libs/
│   │   │   │   ├── config/
│   │   │   │   │   ├── color.ts
│   │   │   │   │   ├── config.ts
│   │   │   │   │   ├── theme-tokens.ts
│   │   │   │   │   └── zIndex.ts
│   │   │   │   ├── css/
│   │   │   │   │   ├── color.scss
│   │   │   │   │   ├── common.scss
│   │   │   │   │   ├── style.components.scss
│   │   │   │   │   ├── style.h5.scss
│   │   │   │   │   ├── style.mp.scss
│   │   │   │   │   ├── style.nvue.scss
│   │   │   │   │   ├── style.theme.scss
│   │   │   │   │   └── style.vue.scss
│   │   │   │   ├── function/
│   │   │   │   │   ├── $parent.ts
│   │   │   │   │   ├── addUnit.ts
│   │   │   │   │   ├── clipboard.ts
│   │   │   │   │   ├── color.ts
│   │   │   │   │   ├── colorGradient.ts
│   │   │   │   │   ├── debounce.ts
│   │   │   │   │   ├── deepClone.ts
│   │   │   │   │   ├── deepMerge.ts
│   │   │   │   │   ├── getParent.ts
│   │   │   │   │   ├── getRect.ts
│   │   │   │   │   ├── guid.ts
│   │   │   │   │   ├── md5.ts
│   │   │   │   │   ├── parent.ts
│   │   │   │   │   ├── queryParams.ts
│   │   │   │   │   ├── random.ts
│   │   │   │   │   ├── randomArray.ts
│   │   │   │   │   ├── route.ts
│   │   │   │   │   ├── styleUtils.ts
│   │   │   │   │   ├── sys.ts
│   │   │   │   │   ├── test.ts
│   │   │   │   │   ├── throttle.ts
│   │   │   │   │   ├── timeFormat.ts
│   │   │   │   │   ├── timeFrom.ts
│   │   │   │   │   ├── toast.ts
│   │   │   │   │   ├── trim.ts
│   │   │   │   │   └── type2icon.ts
│   │   │   │   ├── hooks/
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── useColor.ts
│   │   │   │   │   ├── useCompRelation.ts
│   │   │   │   │   ├── useDebounce.ts
│   │   │   │   │   ├── useEmitter.ts
│   │   │   │   │   ├── useLocale.ts
│   │   │   │   │   ├── useModal.ts
│   │   │   │   │   ├── useRect.ts
│   │   │   │   │   ├── useRouter.ts
│   │   │   │   │   ├── useTheme.ts
│   │   │   │   │   ├── useThrottle.ts
│   │   │   │   │   └── useToast.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── request/
│   │   │   │   │   ├── auto-http.ts
│   │   │   │   │   └── index.ts
│   │   │   │   ├── store/
│   │   │   │   │   └── index.ts
│   │   │   │   └── util/
│   │   │   │       ├── area.ts
│   │   │   │       ├── async-validator.d.ts
│   │   │   │       ├── async-validator.js
│   │   │   │       ├── calendar.d.ts
│   │   │   │       ├── calendar.js
│   │   │   │       ├── canvas-2d.ts
│   │   │   │       ├── city.ts
│   │   │   │       ├── config-provider.ts
│   │   │   │       ├── emitter.ts
│   │   │   │       ├── mitt.ts
│   │   │   │       ├── province.ts
│   │   │   │       └── system-theme.ts
│   │   │   ├── locale/
│   │   │   │   ├── index.ts
│   │   │   │   └── lang/
│   │   │   │       ├── en-US.ts
│   │   │   │       └── zh-CN.ts
│   │   │   ├── package.json
│   │   │   ├── readme.md
│   │   │   ├── theme.scss
│   │   │   └── types/
│   │   │       ├── components.d.ts
│   │   │       ├── global.d.ts
│   │   │       ├── ignore-errors.d.ts
│   │   │       ├── index.d.ts
│   │   │       └── uni-app.d.ts
│   │   └── zero-markdown-view/
│   │       ├── changelog.md
│   │       ├── components/
│   │       │   ├── mp-html/
│   │       │   │   ├── highlight/
│   │       │   │   │   ├── config.js
│   │       │   │   │   └── index.js
│   │       │   │   ├── latex/
│   │       │   │   │   └── index.js
│   │       │   │   ├── markdown/
│   │       │   │   │   └── index.js
│   │       │   │   ├── mp-html.vue
│   │       │   │   ├── node/
│   │       │   │   │   └── node.vue
│   │       │   │   ├── parser.js
│   │       │   │   └── style/
│   │       │   │       ├── index.js
│   │       │   │       └── parser.js
│   │       │   └── zero-markdown-view/
│   │       │       └── zero-markdown-view.vue
│   │       ├── package.json
│   │       └── readme.md
│   └── uview-pro.theme.ts
├── tsconfig.json
└── vite.config.ts
Download .txt
SYMBOL INDEX (699 symbols across 184 files)

FILE: scripts/fix-empty-css.js
  constant DIST_DIR (line 11) | const DIST_DIR = path.resolve(process.cwd(), 'dist');
  function walk (line 13) | function walk(dir, handler) {
  function ensureCssNotEmpty (line 22) | function ensureCssNotEmpty(filePath) {
  function run (line 40) | function run() {

FILE: scripts/generate-changelog.js
  function safeExec (line 67) | function safeExec(cmd) {
  function resolveRange (line 75) | function resolveRange() {
  function buildSectionHeader (line 98) | function buildSectionHeader({ version, date }) {
  function collectCommits (line 102) | function collectCommits(range) {
  function groupCommitsByType (line 113) | function groupCommitsByType(commits) {
  function collectContributors (line 132) | function collectContributors(commits) {
  function renderContributors (line 186) | function renderContributors(contributors) {
  function renderBodyFromGroups (line 205) | function renderBodyFromGroups(commitsByType, contributors = null) {
  function renderFallbackBody (line 227) | function renderFallbackBody() {
  function generateChangelog (line 234) | function generateChangelog() {

FILE: scripts/listColors.mjs
  function walk (line 12) | function walk(dir) {

FILE: scripts/release.js
  function isValidVersion (line 154) | function isValidVersion(version) {
  function execCommand (line 202) | function execCommand(command, options = {}) {
  function continueRelease (line 251) | function continueRelease() {

FILE: scripts/replaceColors.mjs
  function replaceInFile (line 67) | function replaceInFile(filePath) {
  function walk (line 83) | function walk(dir) {

FILE: scripts/test-npm-cleanup.js
  function log (line 10) | function log(...args) {

FILE: scripts/test-npm-package.js
  function log (line 22) | function log(...args) {
  function copyDirSync (line 27) | function copyDirSync(src, dest) {
  function installByCopy (line 46) | function installByCopy() {
  function modifyViteConfig (line 58) | function modifyViteConfig() {
  function modifyPagesJson (line 89) | function modifyPagesJson() {
  function ensureMainImport (line 113) | function ensureMainImport() {
  function main (line 133) | function main() {

FILE: scripts/update-date.js
  function getCurrentDate (line 19) | function getCurrentDate() {

FILE: shims-uni.d.ts
  type Hooks (line 5) | type Hooks = App.AppInstance & Page.PageInstance;
  type ComponentCustomOptions (line 7) | interface ComponentCustomOptions extends Hooks {}

FILE: src/api/index.ts
  function getJson (line 14) | function getJson(id: string) {
  function getMarkdown (line 18) | function getMarkdown(id: string) {
  function loadJSON (line 22) | function loadJSON(path: string) {

FILE: src/common/constant.ts
  constant APP_INFO (line 4) | const APP_INFO: {
  constant UVIEW_PRO_INFO (line 16) | const UVIEW_PRO_INFO = {
  function getPlatform (line 22) | function getPlatform() {
  type PlatformType (line 46) | type PlatformType = 'H5' | 'weixin' | 'alipay' | 'toutiao' | 'App' | 'Ha...
  function isPlatform (line 47) | function isPlatform(value: PlatformType | PlatformType[]): boolean {
  constant ONBOARDING_STORAGE_BASE_KEY (line 72) | const ONBOARDING_STORAGE_BASE_KEY = `guide-onboarded-${APP_INFO.version}`;
  constant GUIDE_TABS_KEY (line 74) | const GUIDE_TABS_KEY = `guide-page-tabs-${APP_INFO.version}`;
  constant GUIDE_FAB_KEY (line 76) | const GUIDE_FAB_KEY = `guide-page-fab-${APP_INFO.version}`;
  constant GUIDE_TABBAR_KEY (line 78) | const GUIDE_TABBAR_KEY = `guide-page-tabbar-${APP_INFO.version}`;
  constant GUIDE_THEME_SWITCHER_KEY (line 80) | const GUIDE_THEME_SWITCHER_KEY = `guide-theme-switcher-${APP_INFO.versio...
  constant GUIDE_EXPERIENCE_KEY (line 82) | const GUIDE_EXPERIENCE_KEY = `guide-experience-entry-${APP_INFO.version}`;

FILE: src/common/http.interceptor.ts
  function logout (line 12) | function logout() {
  function showLoading (line 86) | function showLoading() {
  function hideLoading (line 94) | function hideLoading() {
  function showToast (line 102) | function showToast(

FILE: src/common/request.ts
  type RequestMeta (line 6) | interface RequestMeta {
  type RequestConfig (line 16) | interface RequestConfig {
  constant IGNORE_REQUEST_KEYS (line 30) | const IGNORE_REQUEST_KEYS = ['baseUrl', 'meta'];
  type RequestInterceptor (line 35) | interface RequestInterceptor {
  type RequestOptions (line 43) | interface RequestOptions {
  class Request (line 56) | class Request {
    method constructor (line 66) | constructor() {
    method getPendingRequestOptions (line 89) | public getPendingRequestOptions(): Array<{ id: number; options: Reques...
    method cancelRequestById (line 100) | public cancelRequestById(id: number): { cancelled: boolean; sent: bool...
    method cancelAllPendingRequests (line 134) | public cancelAllPendingRequests(): Array<{ id: number; cancelled: bool...
    method cancelRequestsByUrl (line 149) | public cancelRequestsByUrl(
    method mergeGlobalConfigToOptions (line 177) | private mergeGlobalConfigToOptions(options: RequestOptions): RequestOp...
    method validateOptions (line 235) | private validateOptions(options: RequestOptions): RequestOptions {
    method setConfig (line 265) | setConfig(customConfig: Partial<RequestConfig>): void {
    method request (line 273) | request<T = unknown>(options: RequestOptions): Promise<T> {
    method get (line 369) | get<T = unknown>(
    method post (line 383) | post<T = unknown>(
    method put (line 397) | put<T = unknown>(
    method delete (line 411) | delete<T = unknown>(
  type HttpPluginOptions (line 429) | interface HttpPluginOptions {
  method install (line 436) | install(app: any, options: HttpPluginOptions = {}) {

FILE: src/common/share.ts
  function getCurrentPageUrl (line 1) | function getCurrentPageUrl() {
  method onShareAppMessage (line 10) | onShareAppMessage(res) {
  method onShareTimeline (line 18) | onShareTimeline(res) {

FILE: src/common/useExperience.ts
  type ExperienceTaskConfig (line 6) | interface ExperienceTaskConfig {
  type ExperiencePageConfig (line 12) | interface ExperiencePageConfig {
  type ExperienceTask (line 16) | interface ExperienceTask extends ExperienceTaskConfig {
  type Mission (line 20) | interface Mission {
  type ExperienceState (line 128) | interface ExperienceState {
  type ExperienceConfigMap (line 133) | type ExperienceConfigMap = Record<string, ExperiencePageConfig>;
  function createInitialTasks (line 138) | function createInitialTasks(pageKey: string): ExperienceTask[] {
  function getStorageKeys (line 147) | function getStorageKeys(pageKey: string) {
  function restoreState (line 155) | function restoreState(pageKey: string): ExperienceState {
  function persistState (line 178) | function persistState(pageKey: string, state: ExperienceState) {
  function useExperience (line 189) | function useExperience(pageKey: string) {
  constant MISSION_STORAGE_KEY (line 248) | const MISSION_STORAGE_KEY = 'uview-experience-assigned-missions';
  constant COMPLETED_MISSIONS_KEY (line 249) | const COMPLETED_MISSIONS_KEY = 'uview-experience-completed-missions';
  function loadAssignedMissions (line 254) | function loadAssignedMissions() {
  function saveAssignedMissions (line 267) | function saveAssignedMissions() {
  function loadCompletedMissions (line 277) | function loadCompletedMissions() {
  function saveCompletedMissions (line 290) | function saveCompletedMissions() {
  function unassignMission (line 308) | function unassignMission(missionId: string): boolean {
  function assignMission (line 324) | function assignMission(missionId: string, force = false): boolean {
  function completeMission (line 352) | function completeMission(missionId: string): boolean {
  function claimMissionReward (line 386) | function claimMissionReward(missionId: string): boolean {
  function getAssignedMissionIds (line 424) | function getAssignedMissionIds(): string[] {
  function getCompletedMissionIds (line 431) | function getCompletedMissionIds(): string[] {
  function isMissionAssigned (line 438) | function isMissionAssigned(missionId: string): boolean {
  function isMissionCompleted (line 445) | function isMissionCompleted(missionId: string): boolean {

FILE: src/common/useExperienceCenter.ts
  type ComponentStat (line 3) | interface ComponentStat {
  type ExperienceLog (line 13) | interface ExperienceLog {
  type AtlasNode (line 18) | interface AtlasNode {
  type PersistedState (line 25) | interface PersistedState {
  constant STORAGE_KEY (line 32) | const STORAGE_KEY = 'uview-experience-center';
  function loadState (line 50) | function loadState() {
  function persistState (line 68) | function persistState() {
  function ensureRegistered (line 83) | function ensureRegistered(key: string) {
  function useExperienceCenter (line 98) | function useExperienceCenter() {

FILE: src/common/useHooks.ts
  function useLang (line 4) | function useLang() {
  function useTitle (line 25) | function useTitle(index: number) {

FILE: src/common/util.ts
  function getRandomColor (line 6) | function getRandomColor(): string {

FILE: src/main.ts
  function createApp (line 10) | function createApp() {

FILE: src/pages/componentsB/search/types.ts
  type Props (line 7) | type Props = ExtractPropTypes<typeof Props>;
  type Expose (line 10) | type Expose = {};
  type Instance (line 12) | type Instance = ComponentPublicInstance<Props, Expose>;

FILE: src/shime-uni.d.ts
  type Hooks (line 4) | type Hooks = App.AppInstance & Page.PageInstance;
  type ComponentCustomOptions (line 5) | interface ComponentCustomOptions extends Hooks {}

FILE: src/static/common/js/touch-emulator.js
  function Touch (line 50) | function Touch(target, identifier, pos, deltaX, deltaY) {
  function TouchList (line 69) | function TouchList() {
  function fakeTouchSupport (line 88) | function fakeTouchSupport() {
  function hasTouchSupport (line 105) | function hasTouchSupport() {
  function preventMouseEvents (line 117) | function preventMouseEvents(ev) {
  function onMouse (line 128) | function onMouse(touchType) {
  function triggerTouch (line 180) | function triggerTouch(eventName, mouseEv) {
  function createTouchList (line 201) | function createTouchList(mouseEv) {
  function getActiveTouches (line 223) | function getActiveTouches(mouseEv, eventName) {
  function getChangedTouches (line 242) | function getChangedTouches(mouseEv, eventName) {
  function showTouches (line 260) | function showTouches(ev) {
  function TouchEmulator (line 294) | function TouchEmulator() {

FILE: src/uni_modules/uview-pro/components/u-action-sheet-item/types.ts
  type ActionSheetItemProps (line 35) | type ActionSheetItemProps = ExtractPropTypes<typeof ActionSheetItemProps>;

FILE: src/uni_modules/uview-pro/components/u-action-sheet/types.ts
  type ActionSheetProps (line 54) | type ActionSheetProps = ExtractPropTypes<typeof ActionSheetProps>;

FILE: src/uni_modules/uview-pro/components/u-alert-tips/types.ts
  type AlertTipsProps (line 49) | type AlertTipsProps = ExtractPropTypes<typeof AlertTipsProps>;

FILE: src/uni_modules/uview-pro/components/u-avatar-cropper/types.ts
  type AvatarCropperProps (line 23) | type AvatarCropperProps = ExtractPropTypes<typeof AvatarCropperProps>;

FILE: src/uni_modules/uview-pro/components/u-avatar-cropper/weCropper.d.ts
  type WeCropperOptions (line 7) | interface WeCropperOptions {
  type WeCropperEvent (line 30) | type WeCropperEvent = (ctx: any, instance?: any) => void;
  type WeCropperInstance (line 32) | interface WeCropperInstance {
  class WeCropper (line 48) | class WeCropper {

FILE: src/uni_modules/uview-pro/components/u-avatar-cropper/weCropper.js
  function firstLetterUpper (line 19) | function firstLetterUpper(str) {
  function setTouchState (line 23) | function setTouchState(instance) {
  function validator (line 35) | function validator(instance, o) {
  function getDevice (line 39) | function getDevice() {
  function prepare (line 203) | function prepare() {
  function createCommonjsModule (line 252) | function createCommonjsModule(fn, module) {
  function observer (line 346) | function observer() {
  function wxPromise (line 361) | function wxPromise(fn) {
  function draw (line 380) | function draw(ctx, reserve) {
  function makeURI (line 541) | function makeURI(strData, type) {
  function fixType (line 545) | function fixType(type) {
  function encodeData (line 551) | function encodeData(data) {
  function getImageData (line 572) | function getImageData(canvasId, x, y, width, height, done) {
  function genBitmapImage (line 594) | function genBitmapImage(oData) {
  function convertToImage (line 747) | function convertToImage(canvasId, x, y, width, height, type, done) {
  function methods (line 788) | function methods() {
  function update (line 972) | function update() {
  function cut (line 1102) | function cut() {

FILE: src/uni_modules/uview-pro/components/u-avatar-cropper/weCropper.ts
  type WeCropperOptions (line 10) | interface WeCropperOptions {
  function firstLetterUpper (line 26) | function firstLetterUpper(str: any): any {
  function setTouchState (line 30) | function setTouchState(instance: any, ...arg: any[]): void {
  function validator (line 38) | function validator(instance: any, o: any): void {
  function getDevice (line 42) | function getDevice(): any {
  function prepare (line 206) | function prepare(this: any): void {
  function createCommonjsModule (line 248) | function createCommonjsModule(fn: any, module: any): any {
  function observer (line 343) | function observer(this: any) {
  function wxPromise (line 358) | function wxPromise(this: any, fn: any) {
  function draw (line 377) | function draw(this: any, ctx: any, reserve: any) {
  function makeURI (line 538) | function makeURI(strData, type) {
  function fixType (line 542) | function fixType(type) {
  function encodeData (line 548) | function encodeData(data) {
  function getImageData (line 569) | function getImageData(canvasId: any, x: any, y: any, width: any, height:...
  function genBitmapImage (line 591) | function genBitmapImage(oData: any) {
  function convertToImage (line 744) | function convertToImage(canvasId: any, x: any, y: any, width: any, heigh...
  function methods (line 785) | function methods(this: any) {
  function update (line 969) | function update(this: any) {
  function cut (line 1099) | function cut(this: any) {

FILE: src/uni_modules/uview-pro/components/u-avatar/types.ts
  type AvatarProps (line 44) | type AvatarProps = ExtractPropTypes<typeof AvatarProps>;

FILE: src/uni_modules/uview-pro/components/u-back-top/types.ts
  type BackTopProps (line 44) | type BackTopProps = ExtractPropTypes<typeof BackTopProps>;

FILE: src/uni_modules/uview-pro/components/u-badge/types.ts
  type BadgeProps (line 46) | type BadgeProps = ExtractPropTypes<typeof BadgeProps>;

FILE: src/uni_modules/uview-pro/components/u-button/types.ts
  type ButtonProps (line 76) | type ButtonProps = ExtractPropTypes<typeof ButtonProps>;

FILE: src/uni_modules/uview-pro/components/u-calendar/types.ts
  type CalendarProps (line 122) | type CalendarProps = ExtractPropTypes<typeof CalendarProps>;
  type CalendarEmits (line 124) | type CalendarEmits = {

FILE: src/uni_modules/uview-pro/components/u-car-keyboard/types.ts
  type CarKeyboardProps (line 22) | type CarKeyboardProps = ExtractPropTypes<typeof CarKeyboardProps>;

FILE: src/uni_modules/uview-pro/components/u-card/types.ts
  type CardIndex (line 7) | type CardIndex = string | number | Record<string, any>;
  type CardStyle (line 8) | type CardStyle = Record<string, any>;
  type CardProps (line 69) | type CardProps = ExtractPropTypes<typeof CardProps>;

FILE: src/uni_modules/uview-pro/components/u-cell-group/types.ts
  type CellGroupProps (line 27) | type CellGroupProps = ExtractPropTypes<typeof CellGroupProps>;

FILE: src/uni_modules/uview-pro/components/u-cell-item/types.ts
  type CellItemIndex (line 8) | type CellItemIndex = string | number;
  type CellItemStyle (line 9) | type CellItemStyle = Record<string, any>;
  type CellItemProps (line 64) | type CellItemProps = ExtractPropTypes<typeof CellItemProps>;

FILE: src/uni_modules/uview-pro/components/u-checkbox-group/types.ts
  type CheckboxGroupProps (line 45) | type CheckboxGroupProps = ExtractPropTypes<typeof CheckboxGroupProps>;

FILE: src/uni_modules/uview-pro/components/u-checkbox/types.ts
  type CheckboxValue (line 8) | type CheckboxValue = string | number | boolean;
  type CheckboxProps (line 45) | type CheckboxProps = ExtractPropTypes<typeof CheckboxProps>;

FILE: src/uni_modules/uview-pro/components/u-circle-progress/types.ts
  type CircleProgressProps (line 63) | type CircleProgressProps = ExtractPropTypes<typeof CircleProgressProps>;

FILE: src/uni_modules/uview-pro/components/u-city-select/types.ts
  type CitySelectProps (line 30) | type CitySelectProps = ExtractPropTypes<typeof CitySelectProps>;

FILE: src/uni_modules/uview-pro/components/u-col/types.ts
  type ColProps (line 40) | type ColProps = ExtractPropTypes<typeof ColProps>;

FILE: src/uni_modules/uview-pro/components/u-collapse-item/types.ts
  type CollapseItemProps (line 35) | type CollapseItemProps = ExtractPropTypes<typeof CollapseItemProps>;

FILE: src/uni_modules/uview-pro/components/u-collapse/types.ts
  type CollapseProps (line 41) | type CollapseProps = ExtractPropTypes<typeof CollapseProps>;

FILE: src/uni_modules/uview-pro/components/u-column-notice/types.ts
  type ColumnNoticeProps (line 58) | type ColumnNoticeProps = ExtractPropTypes<typeof ColumnNoticeProps>;

FILE: src/uni_modules/uview-pro/components/u-config-provider/types.ts
  type ConfigProviderProps (line 53) | type ConfigProviderProps = ExtractPropTypes<typeof ConfigProviderProps>;

FILE: src/uni_modules/uview-pro/components/u-count-down/types.ts
  type CountDownProps (line 52) | type CountDownProps = ExtractPropTypes<typeof CountDownProps>;

FILE: src/uni_modules/uview-pro/components/u-count-to/types.ts
  type CountToProps (line 42) | type CountToProps = ExtractPropTypes<typeof CountToProps>;

FILE: src/uni_modules/uview-pro/components/u-divider/types.ts
  type DividerProps (line 41) | type DividerProps = ExtractPropTypes<typeof DividerProps>;

FILE: src/uni_modules/uview-pro/components/u-dropdown-item/types.ts
  type DropdownItemProps (line 40) | type DropdownItemProps = ExtractPropTypes<typeof DropdownItemProps>;

FILE: src/uni_modules/uview-pro/components/u-dropdown/types.ts
  type DropdownProps (line 43) | type DropdownProps = ExtractPropTypes<typeof DropdownProps>;

FILE: src/uni_modules/uview-pro/components/u-empty/types.ts
  type EmptyProps (line 46) | type EmptyProps = ExtractPropTypes<typeof EmptyProps>;

FILE: src/uni_modules/uview-pro/components/u-fab/types.ts
  type FabProps (line 49) | type FabProps = ExtractPropTypes<typeof FabProps>;
  type DirectionConfig (line 51) | interface DirectionConfig {

FILE: src/uni_modules/uview-pro/components/u-field/types.ts
  type FieldProps (line 79) | type FieldProps = ExtractPropTypes<typeof FieldProps>;

FILE: src/uni_modules/uview-pro/components/u-form-item/types.ts
  type FormItemProps (line 95) | type FormItemProps = ExtractPropTypes<typeof FormItemProps>;

FILE: src/uni_modules/uview-pro/components/u-form/types.ts
  type FormProps (line 39) | type FormProps = ExtractPropTypes<typeof FormProps>;

FILE: src/uni_modules/uview-pro/components/u-full-screen/types.ts
  type FullScreenProps (line 26) | type FullScreenProps = ExtractPropTypes<typeof FullScreenProps>;

FILE: src/uni_modules/uview-pro/components/u-gap/types.ts
  type GapProps (line 28) | type GapProps = ExtractPropTypes<typeof GapProps>;

FILE: src/uni_modules/uview-pro/components/u-grid-item/types.ts
  type GridItemProps (line 24) | type GridItemProps = ExtractPropTypes<typeof GridItemProps>;

FILE: src/uni_modules/uview-pro/components/u-grid/types.ts
  type GridProps (line 29) | type GridProps = ExtractPropTypes<typeof GridProps>;

FILE: src/uni_modules/uview-pro/components/u-icon/types.ts
  type IconProps (line 69) | type IconProps = ExtractPropTypes<typeof IconProps>;

FILE: src/uni_modules/uview-pro/components/u-image/types.ts
  type ImageProps (line 53) | type ImageProps = ExtractPropTypes<typeof ImageProps>;
  type ImageExpose (line 56) | type ImageExpose = {
  type ImageInstance (line 61) | type ImageInstance = ComponentPublicInstance<ImageProps, ImageExpose>;

FILE: src/uni_modules/uview-pro/components/u-index-anchor/types.ts
  type IndexAnchorProps (line 24) | type IndexAnchorProps = ExtractPropTypes<typeof IndexAnchorProps>;

FILE: src/uni_modules/uview-pro/components/u-index-list/types.ts
  type IndexListProps (line 44) | type IndexListProps = ExtractPropTypes<typeof IndexListProps>;

FILE: src/uni_modules/uview-pro/components/u-input/types.ts
  type InputProps (line 158) | type InputProps = ExtractPropTypes<typeof InputProps>;

FILE: src/uni_modules/uview-pro/components/u-keyboard/types.ts
  type KeyboardProps (line 43) | type KeyboardProps = ExtractPropTypes<typeof KeyboardProps>;

FILE: src/uni_modules/uview-pro/components/u-lazy-load/types.ts
  type LazyLoadProps (line 37) | type LazyLoadProps = ExtractPropTypes<typeof LazyLoadProps>;

FILE: src/uni_modules/uview-pro/components/u-line-progress/types.ts
  type LineProgressProps (line 58) | type LineProgressProps = ExtractPropTypes<typeof LineProgressProps>;

FILE: src/uni_modules/uview-pro/components/u-line/types.ts
  type LineProps (line 44) | type LineProps = ExtractPropTypes<typeof LineProps>;

FILE: src/uni_modules/uview-pro/components/u-link/types.ts
  type LinkProps (line 51) | type LinkProps = ExtractPropTypes<typeof LinkProps>;

FILE: src/uni_modules/uview-pro/components/u-loading-popup/types.ts
  type LoadingMode (line 2) | type LoadingMode = 'circle' | 'flower';
  type LoadingPopupProps (line 26) | type LoadingPopupProps = ExtractPropTypes<typeof LoadingPopupProps>;

FILE: src/uni_modules/uview-pro/components/u-loading/types.ts
  type LoadingMode (line 3) | type LoadingMode = 'circle' | 'flower';
  type LoadingProps (line 45) | type LoadingProps = ExtractPropTypes<typeof LoadingProps>;

FILE: src/uni_modules/uview-pro/components/u-loadmore/types.ts
  type LoadmoreProps (line 92) | type LoadmoreProps = ExtractPropTypes<typeof LoadmoreProps>;

FILE: src/uni_modules/uview-pro/components/u-mask/types.ts
  type MaskProps (line 48) | type MaskProps = ExtractPropTypes<typeof MaskProps>;

FILE: src/uni_modules/uview-pro/components/u-message-input/types.ts
  type MessageInputProps (line 90) | type MessageInputProps = ExtractPropTypes<typeof MessageInputProps>;

FILE: src/uni_modules/uview-pro/components/u-modal/service.ts
  constant U_MODAL_EVENT_SHOW (line 11) | const U_MODAL_EVENT_SHOW = 'uview-pro:u-modal:show:';
  constant U_MODAL_EVENT_HIDE (line 12) | const U_MODAL_EVENT_HIDE = 'uview-pro:u-modal:hide:';
  constant U_MODAL_EVENT_CLEAR_LOADING (line 13) | const U_MODAL_EVENT_CLEAR_LOADING = 'uview-pro:u-modal:clear-loading:';
  constant U_MODAL_GLOBAL_EVENT_SHOW (line 16) | const U_MODAL_GLOBAL_EVENT_SHOW = 'uview-pro:u-modal:global:show';
  constant U_MODAL_GLOBAL_EVENT_HIDE (line 17) | const U_MODAL_GLOBAL_EVENT_HIDE = 'uview-pro:u-modal:global:hide';
  constant U_MODAL_GLOBAL_EVENT_CLEAR_LOADING (line 18) | const U_MODAL_GLOBAL_EVENT_CLEAR_LOADING = 'uview-pro:u-modal:global:cle...
  function getEventWithCurrentPage (line 21) | function getEventWithCurrentPage(event: string, page?: string | boolean) {
  function getCurrentPage (line 29) | function getCurrentPage() {
  type ModalPayload (line 43) | type ModalPayload = Partial<Omit<ModalProps, 'modelValue'>> & {

FILE: src/uni_modules/uview-pro/components/u-modal/types.ts
  type ModalProps (line 141) | type ModalProps = ExtractPropTypes<typeof ModalProps>;

FILE: src/uni_modules/uview-pro/components/u-navbar/types.ts
  type NavbarProps (line 104) | type NavbarProps = ExtractPropTypes<typeof NavbarProps>;

FILE: src/uni_modules/uview-pro/components/u-no-network/types.ts
  type NoNetworkProps (line 32) | type NoNetworkProps = ExtractPropTypes<typeof NoNetworkProps>;

FILE: src/uni_modules/uview-pro/components/u-notice-bar/types.ts
  type NoticeBarProps (line 111) | type NoticeBarProps = ExtractPropTypes<typeof NoticeBarProps>;

FILE: src/uni_modules/uview-pro/components/u-number-box/types.ts
  type NumberBoxProps (line 42) | type NumberBoxProps = ExtractPropTypes<typeof NumberBoxProps>;

FILE: src/uni_modules/uview-pro/components/u-number-keyboard/types.ts
  type NumberKeyboardProps (line 26) | type NumberKeyboardProps = ExtractPropTypes<typeof NumberKeyboardProps>;

FILE: src/uni_modules/uview-pro/components/u-pagination/types.ts
  type PaginationEmits (line 39) | type PaginationEmits = {

FILE: src/uni_modules/uview-pro/components/u-picker/types.ts
  type PickerProps (line 142) | type PickerProps = ExtractPropTypes<typeof PickerProps>;

FILE: src/uni_modules/uview-pro/components/u-popup/types.ts
  type PopupProps (line 64) | type PopupProps = ExtractPropTypes<typeof PopupProps>;

FILE: src/uni_modules/uview-pro/components/u-radio-group/types.ts
  type RadioGroupProps (line 40) | type RadioGroupProps = ExtractPropTypes<typeof RadioGroupProps>;

FILE: src/uni_modules/uview-pro/components/u-radio/types.ts
  type RadioProps (line 39) | type RadioProps = ExtractPropTypes<typeof RadioProps>;

FILE: src/uni_modules/uview-pro/components/u-rate/types.ts
  type RateProps (line 50) | type RateProps = ExtractPropTypes<typeof RateProps>;

FILE: src/uni_modules/uview-pro/components/u-read-more/types.ts
  type ReadMoreProps (line 48) | type ReadMoreProps = ExtractPropTypes<typeof ReadMoreProps>;

FILE: src/uni_modules/uview-pro/components/u-row-notice/types.ts
  type RowNoticeProps (line 49) | type RowNoticeProps = ExtractPropTypes<typeof RowNoticeProps>;

FILE: src/uni_modules/uview-pro/components/u-row/types.ts
  type RowProps (line 30) | type RowProps = ExtractPropTypes<typeof RowProps>;

FILE: src/uni_modules/uview-pro/components/u-safe-bottom/types.ts
  type SafeBottomProps (line 19) | type SafeBottomProps = ExtractPropTypes<typeof SafeBottomProps>;

FILE: src/uni_modules/uview-pro/components/u-search/types.ts
  type SearchProps (line 68) | type SearchProps = ExtractPropTypes<typeof SearchProps>;

FILE: src/uni_modules/uview-pro/components/u-section/types.ts
  type FontSize (line 10) | type FontSize = string | number;
  type SectionProps (line 45) | type SectionProps = ExtractPropTypes<typeof SectionProps>;

FILE: src/uni_modules/uview-pro/components/u-select/types.ts
  type SelectProps (line 58) | type SelectProps = ExtractPropTypes<typeof SelectProps>;

FILE: src/uni_modules/uview-pro/components/u-skeleton/types.ts
  type SkeletonProps (line 89) | type SkeletonProps = ExtractPropTypes<typeof SkeletonProps>;

FILE: src/uni_modules/uview-pro/components/u-slider/types.ts
  type SliderProps (line 55) | type SliderProps = ExtractPropTypes<typeof SliderProps>;

FILE: src/uni_modules/uview-pro/components/u-status-bar/types.ts
  type StatusBarProps (line 21) | type StatusBarProps = ExtractPropTypes<typeof StatusBarProps>;

FILE: src/uni_modules/uview-pro/components/u-step/types.ts
  type StepProps (line 37) | type StepProps = ExtractPropTypes<typeof StepProps>;

FILE: src/uni_modules/uview-pro/components/u-steps/types.ts
  type StepsProps (line 39) | type StepsProps = ExtractPropTypes<typeof StepsProps>;

FILE: src/uni_modules/uview-pro/components/u-sticky/types.ts
  type StickyProps (line 33) | type StickyProps = ExtractPropTypes<typeof StickyProps>;

FILE: src/uni_modules/uview-pro/components/u-subsection/types.ts
  type SubsectionProps (line 46) | type SubsectionProps = ExtractPropTypes<typeof SubsectionProps>;

FILE: src/uni_modules/uview-pro/components/u-swipe-action/types.ts
  type SwipeActionProps (line 60) | type SwipeActionProps = ExtractPropTypes<typeof SwipeActionProps>;

FILE: src/uni_modules/uview-pro/components/u-swiper/types.ts
  type SwiperProps (line 57) | type SwiperProps = ExtractPropTypes<typeof SwiperProps>;

FILE: src/uni_modules/uview-pro/components/u-switch/types.ts
  type SwitchProps (line 39) | type SwitchProps = ExtractPropTypes<typeof SwitchProps>;

FILE: src/uni_modules/uview-pro/components/u-tabbar/types.ts
  type TabbarProps (line 57) | type TabbarProps = ExtractPropTypes<typeof TabbarProps>;

FILE: src/uni_modules/uview-pro/components/u-table/types.ts
  type TableProps (line 35) | type TableProps = ExtractPropTypes<typeof TableProps>;

FILE: src/uni_modules/uview-pro/components/u-tabs-swiper/types.ts
  type TabsSwiperProps (line 64) | type TabsSwiperProps = ExtractPropTypes<typeof TabsSwiperProps>;

FILE: src/uni_modules/uview-pro/components/u-tabs/types.ts
  type TabsProps (line 64) | type TabsProps = ExtractPropTypes<typeof TabsProps>;

FILE: src/uni_modules/uview-pro/components/u-tag/types.ts
  type TagProps (line 47) | type TagProps = ExtractPropTypes<typeof TagProps>;

FILE: src/uni_modules/uview-pro/components/u-td/types.ts
  type TdProps (line 22) | type TdProps = ExtractPropTypes<typeof TdProps>;

FILE: src/uni_modules/uview-pro/components/u-text/types.ts
  type TextProps (line 80) | type TextProps = ExtractPropTypes<typeof TextProps>;

FILE: src/uni_modules/uview-pro/components/u-textarea/types.ts
  type TextareaProps (line 98) | type TextareaProps = ExtractPropTypes<typeof TextareaProps>;

FILE: src/uni_modules/uview-pro/components/u-th/types.ts
  type ThProps (line 22) | type ThProps = ExtractPropTypes<typeof ThProps>;

FILE: src/uni_modules/uview-pro/components/u-time-line-item/types.ts
  type TimeLineItemProps (line 24) | type TimeLineItemProps = ExtractPropTypes<typeof TimeLineItemProps>;

FILE: src/uni_modules/uview-pro/components/u-toast/service.ts
  constant U_TOAST_EVENT_SHOW (line 11) | const U_TOAST_EVENT_SHOW = 'uview-pro:u-toast:show:';
  constant U_TOAST_EVENT_HIDE (line 12) | const U_TOAST_EVENT_HIDE = 'uview-pro:u-toast:hide:';
  constant U_TOAST_GLOBAL_EVENT_SHOW (line 15) | const U_TOAST_GLOBAL_EVENT_SHOW = 'uview-pro:u-toast:global:show';
  constant U_TOAST_GLOBAL_EVENT_HIDE (line 16) | const U_TOAST_GLOBAL_EVENT_HIDE = 'uview-pro:u-toast:global:hide';
  function getEventWithCurrentPage (line 19) | function getEventWithCurrentPage(event: string, page?: string | boolean) {
  function getCurrentPage (line 27) | function getCurrentPage() {
  type ToastPayload (line 37) | type ToastPayload = Partial<ToastProps> & {

FILE: src/uni_modules/uview-pro/components/u-toast/types.ts
  type ToastProps (line 48) | type ToastProps = ExtractPropTypes<typeof ToastProps>;
  type ToastExpose (line 50) | type ToastExpose = {

FILE: src/uni_modules/uview-pro/components/u-top-tips/types.ts
  type TopTipsProps (line 25) | type TopTipsProps = ExtractPropTypes<typeof TopTipsProps>;

FILE: src/uni_modules/uview-pro/components/u-tr/types.ts
  type TrProps (line 19) | type TrProps = ExtractPropTypes<typeof TrProps>;

FILE: src/uni_modules/uview-pro/components/u-upload/types.ts
  type UploadProps (line 171) | type UploadProps = ExtractPropTypes<typeof UploadProps>;

FILE: src/uni_modules/uview-pro/components/u-verification-code/types.ts
  type VerificationCodeProps (line 35) | type VerificationCodeProps = ExtractPropTypes<typeof VerificationCodePro...

FILE: src/uni_modules/uview-pro/components/u-waterfall/types.ts
  type WaterfallProps (line 26) | type WaterfallProps = ExtractPropTypes<typeof WaterfallProps>;

FILE: src/uni_modules/uview-pro/libs/config/config.ts
  type AppConfig (line 8) | type AppConfig = {

FILE: src/uni_modules/uview-pro/libs/config/zIndex.ts
  type ZIndexConfig (line 4) | interface ZIndexConfig {

FILE: src/uni_modules/uview-pro/libs/function/$parent.ts
  function $parent (line 7) | function $parent(

FILE: src/uni_modules/uview-pro/libs/function/addUnit.ts
  function addUnit (line 21) | function addUnit(value: string | number = 'auto', unit: string = 'rpx'):...

FILE: src/uni_modules/uview-pro/libs/function/clipboard.ts
  function H5Copy (line 1) | function H5Copy(text: string, config: TClipboardOptions) {
  function UniCopy (line 49) | function UniCopy(text: string, config: TClipboardOptions) {
  type TClipboardOptions (line 54) | type TClipboardOptions = Omit<UniNamespace.SetClipboardDataOptions, 'dat...
  function clipboard (line 56) | function clipboard(content: string, options?: TClipboardOptions) {

FILE: src/uni_modules/uview-pro/libs/function/color.ts
  function getColor (line 12) | function getColor(name: ColorType): string {
  function setColor (line 22) | function setColor(theme: Partial<ThemeColor> | undefined) {

FILE: src/uni_modules/uview-pro/libs/function/colorGradient.ts
  function colorGradient (line 8) | function colorGradient(
  function hexToRgb (line 38) | function hexToRgb(sColor: string, str: boolean = true): [number, number,...
  function rgbToHex (line 73) | function rgbToHex(rgb: string): string | undefined {
  function colorToRgba (line 111) | function colorToRgba(color: string, alpha: number = 0.3): string {

FILE: src/uni_modules/uview-pro/libs/function/debounce.ts
  function debounce (line 10) | function debounce(func: () => void, wait: number = 500, immediate: boole...

FILE: src/uni_modules/uview-pro/libs/function/deepClone.ts
  function isArray (line 2) | function isArray(arr: any): arr is any[] {
  function deepClone (line 12) | function deepClone<T>(obj: T, cache: WeakMap<any, any> = new WeakMap()):...

FILE: src/uni_modules/uview-pro/libs/function/deepMerge.ts
  function deepMerge (line 9) | function deepMerge<T extends object, S extends object>(target: T = {} as...

FILE: src/uni_modules/uview-pro/libs/function/getParent.ts
  type VueInstance (line 3) | interface VueInstance {
  function getParent (line 16) | function getParent(

FILE: src/uni_modules/uview-pro/libs/function/guid.ts
  function guid (line 12) | function guid(len: number = 32, firstU: boolean = true, radix?: number):...

FILE: src/uni_modules/uview-pro/libs/function/md5.ts
  function hex_md5 (line 22) | function hex_md5(s: string): string {
  function b64_md5 (line 25) | function b64_md5(s: string): string {
  function any_md5 (line 28) | function any_md5(s: string, e: string): string {
  function hex_hmac_md5 (line 31) | function hex_hmac_md5(k: string, d: string): string {
  function b64_hmac_md5 (line 34) | function b64_hmac_md5(k: string, d: string): string {
  function any_hmac_md5 (line 37) | function any_hmac_md5(k: string, d: string, e: string): string {
  function md5_vm_test (line 45) | function md5_vm_test(): boolean {
  function rstr_md5 (line 54) | function rstr_md5(s: string): string {
  function rstr_hmac_md5 (line 64) | function rstr_hmac_md5(key: string, data: string): string {
  function rstr2hex (line 84) | function rstr2hex(input: string): string {
  function rstr2b64 (line 105) | function rstr2b64(input: string): string {
  function rstr2any (line 133) | function rstr2any(input: string, encoding: string): string {
  function str2rstr_utf8 (line 176) | function str2rstr_utf8(input: string): string {
  function str2rstr_utf16le (line 211) | function str2rstr_utf16le(input: string): string {
  function str2rstr_utf16be (line 223) | function str2rstr_utf16be(input: string): string {
  function rstr2binl (line 235) | function rstr2binl(input: string): number[] {
  function binl2rstr (line 247) | function binl2rstr(input: number[]): string {
  function binl_md5 (line 259) | function binl_md5(x: number[], len: number): number[] {
  function md5_cmn (line 354) | function md5_cmn(q: number, a: number, b: number, x: number, s: number, ...
  function md5_ff (line 357) | function md5_ff(a: number, b: number, c: number, d: number, x: number, s...
  function md5_gg (line 360) | function md5_gg(a: number, b: number, c: number, d: number, x: number, s...
  function md5_hh (line 363) | function md5_hh(a: number, b: number, c: number, d: number, x: number, s...
  function md5_ii (line 366) | function md5_ii(a: number, b: number, c: number, d: number, x: number, s...
  function safe_add (line 376) | function safe_add(x: number, y: number): number {
  function bit_rol (line 388) | function bit_rol(num: number, cnt: number): number {
  function md5 (line 397) | function md5(str: string): string {

FILE: src/uni_modules/uview-pro/libs/function/parent.ts
  function parent (line 3) | function parent(componentName?: string, _instance: ComponentInternalInst...
  function parentData (line 17) | function parentData(componentName?: string, _instance: ComponentInternal...

FILE: src/uni_modules/uview-pro/libs/function/queryParams.ts
  function queryParams (line 8) | function queryParams(

FILE: src/uni_modules/uview-pro/libs/function/random.ts
  function random (line 7) | function random(min: number, max: number): number {

FILE: src/uni_modules/uview-pro/libs/function/randomArray.ts
  function randomArray (line 6) | function randomArray<T>(array: T[] = []): T[] {

FILE: src/uni_modules/uview-pro/libs/function/route.ts
  type RouterConfig (line 6) | interface RouterConfig {
  class Router (line 18) | class Router {
    method constructor (line 22) | constructor() {
    method addRootPath (line 39) | addRootPath(url: string): string {
    method mixinParam (line 44) | mixinParam(url: string, params: Record<string, any>): string {
    method route (line 66) | async route(options: string | RouterConfig = {}, params: Record<string...
    method openPage (line 98) | openPage(config: RouterConfig): void {

FILE: src/uni_modules/uview-pro/libs/function/styleUtils.ts
  function isValidValue (line 5) | function isValidValue(value: any): boolean {
  function cssStrToObj (line 17) | function cssStrToObj(str: string): object {
  function cssObjToStr (line 37) | function cssObjToStr(obj: object): string {
  function mergeStyles (line 55) | function mergeStyles(...args: (object | string)[]): CSSProperties {
  function mergeCssStrings (line 80) | function mergeCssStrings(...args: (object | string)[]): string {

FILE: src/uni_modules/uview-pro/libs/function/sys.ts
  function os (line 5) | function os(): string {
  function sys (line 13) | function sys(): UniApp.GetSystemInfoResult {

FILE: src/uni_modules/uview-pro/libs/function/test.ts
  function email (line 4) | function email(value: string): boolean {
  function mobile (line 13) | function mobile(value: string): boolean {
  function url (line 20) | function url(value: string): boolean {
  function date (line 27) | function date(value: string): boolean {
  function dateISO (line 34) | function dateISO(value: string): boolean {
  function number (line 41) | function number(value: string): boolean {
  function digits (line 48) | function digits(value: string): boolean {
  function idCard (line 55) | function idCard(value: string): boolean {
  function carNo (line 62) | function carNo(value: string): boolean {
  function amount (line 81) | function amount(value: string): boolean {
  function chinese (line 89) | function chinese(value: string): boolean {
  function letter (line 97) | function letter(value: string): boolean {
  function enOrNum (line 104) | function enOrNum(value: string): boolean {
  function contains (line 113) | function contains(value: string, param: string): boolean {
  function range (line 120) | function range(value: number, param: [number, number]): boolean {
  function rangeLength (line 127) | function rangeLength(value: string, param: [number, number]): boolean {
  function landline (line 134) | function landline(value: string): boolean {
  function empty (line 142) | function empty(value: any): boolean {
  function jsonString (line 168) | function jsonString(value: string): boolean {
  function array (line 187) | function array(value: any): boolean {
  function object (line 198) | function object(value: any): boolean {
  function code (line 205) | function code(value: string, len: number = 6): boolean {
  function func (line 213) | function func(value: any) {
  function promise (line 221) | function promise(value: any) {
  function image (line 228) | function image(value: any) {
  function video (line 238) | function video(value: any) {
  function regExp (line 248) | function regExp(o: any) {
  function string (line 255) | function string(value: any) {

FILE: src/uni_modules/uview-pro/libs/function/throttle.ts
  function throttle (line 10) | function throttle(func: () => void, wait: number = 500, immediate: boole...

FILE: src/uni_modules/uview-pro/libs/function/timeFormat.ts
  function timeFormat (line 28) | function timeFormat(dateTime: number | string | Date | null = null, fmt:...

FILE: src/uni_modules/uview-pro/libs/function/timeFrom.ts
  function timeFrom (line 9) | function timeFrom(dateTime: number | string | Date | null = null, format...

FILE: src/uni_modules/uview-pro/libs/function/toast.ts
  function toast (line 6) | function toast(title: string, option: number | string | Record<string, a...

FILE: src/uni_modules/uview-pro/libs/function/trim.ts
  function trim (line 7) | function trim(str: string, pos: 'both' | 'left' | 'right' | 'all' = 'bot...

FILE: src/uni_modules/uview-pro/libs/function/type2icon.ts
  function type2icon (line 9) | function type2icon(type: ThemeType = 'success', fill: boolean = false): ...

FILE: src/uni_modules/uview-pro/libs/hooks/useColor.ts
  function useColor (line 19) | function useColor() {

FILE: src/uni_modules/uview-pro/libs/hooks/useCompRelation.ts
  type ParentContext (line 5) | interface ParentContext {
  type ChildContext (line 18) | interface ChildContext {
  constant PARENT_CONTEXT_SYMBOL (line 29) | const PARENT_CONTEXT_SYMBOL = Symbol('parent_context');
  constant CHILD_ID_SYMBOL (line 31) | const CHILD_ID_SYMBOL = Symbol('child_id');
  function generateInstanceId (line 36) | function generateInstanceId(componentName: string): string {
  function findParentInstance (line 43) | function findParentInstance(name: string, instance: any): any {
  function getParentContext (line 60) | function getParentContext(name: string, instance: any): ParentContext | ...
  function findAllChildComponents (line 68) | function findAllChildComponents(componentName: string, instance: any): a...
  function useParent (line 97) | function useParent(componentName?: string) {
  function useChildren (line 225) | function useChildren(componentName?: string, parentName?: string) {
  function hasParent (line 380) | function hasParent(parentName?: string): boolean {
  function getParentContextByName (line 399) | function getParentContextByName(parentName: string): ParentContext | null {
  function cleanupComponentRelations (line 407) | function cleanupComponentRelations(): void {

FILE: src/uni_modules/uview-pro/libs/hooks/useDebounce.ts
  function useDebounce (line 1) | function useDebounce(delay: number = 500) {

FILE: src/uni_modules/uview-pro/libs/hooks/useEmitter.ts
  function formatToCamelCase (line 9) | function formatToCamelCase(str: string): string {
  function useEmitter (line 15) | function useEmitter(name: string) {

FILE: src/uni_modules/uview-pro/libs/hooks/useLocale.ts
  function useLocale (line 11) | function useLocale(namespace?: string) {

FILE: src/uni_modules/uview-pro/libs/hooks/useModal.ts
  type UseModalShowOptions (line 12) | type UseModalShowOptions = ModalPayload;
  type UseModal (line 14) | type UseModal = {
  type UseModalOptions (line 33) | type UseModalOptions = {
  function normalize (line 40) | function normalize(contentOrOptions: string | UseModalShowOptions): UseM...
  function getPage (line 48) | function getPage(optionsOrGlobal: UseModalOptions | boolean): string {
  function useModal (line 66) | function useModal(optionsOrGlobal: UseModalOptions | boolean = true): Us...

FILE: src/uni_modules/uview-pro/libs/hooks/useRect.ts
  function useRect (line 9) | function useRect(selector: string | null = null, all = false) {

FILE: src/uni_modules/uview-pro/libs/hooks/useRouter.ts
  type RouterConfig (line 8) | interface RouterConfig {
  function useRouter (line 157) | function useRouter() {

FILE: src/uni_modules/uview-pro/libs/hooks/useTheme.ts
  constant THEME_STORAGE_KEY (line 13) | const THEME_STORAGE_KEY = 'uview-pro-theme';
  constant DARK_MODE_STORAGE_KEY (line 14) | const DARK_MODE_STORAGE_KEY = 'uview-pro-dark-mode';
  function saveThemeToStorage (line 22) | function saveThemeToStorage(themeName: string) {
  function saveDarkModeToStorage (line 33) | function saveDarkModeToStorage(mode: DarkMode) {
  function setTheme (line 44) | function setTheme(themeName: string) {
  function getCurrentTheme (line 53) | function getCurrentTheme(): Theme | null {
  function getAvailableThemes (line 60) | function getAvailableThemes() {
  function initTheme (line 69) | function initTheme(themes?: Theme[], defaultConfig?: string | DefaultThe...
  function initDarkMode (line 112) | function initDarkMode(darkMode?: DarkMode, isForce?: boolean) {
  function getDarkMode (line 118) | function getDarkMode(): DarkMode {
  function setDarkMode (line 126) | function setDarkMode(mode: DarkMode) {
  function isInDarkMode (line 135) | function isInDarkMode(): boolean {
  function toggleDarkMode (line 142) | function toggleDarkMode() {
  function useTheme (line 152) | function useTheme() {

FILE: src/uni_modules/uview-pro/libs/hooks/useThrottle.ts
  function useThrottle (line 1) | function useThrottle(delay: number = 500) {

FILE: src/uni_modules/uview-pro/libs/hooks/useToast.ts
  type UseToastShowOptions (line 11) | type UseToastShowOptions = ToastPayload;
  type UseToast (line 13) | type UseToast = {
  type UseToastOptions (line 34) | type UseToastOptions = {
  function normalize (line 41) | function normalize(titleOrOptions: string | UseToastShowOptions): UseToa...
  function getPage (line 46) | function getPage(optionsOrGlobal: UseToastOptions | boolean): string {
  function useToast (line 64) | function useToast(optionsOrGlobal: UseToastOptions | boolean = true): Us...

FILE: src/uni_modules/uview-pro/libs/index.ts
  function formatPrice (line 73) | function formatPrice(
  function formatName (line 106) | function formatName(name: string): string {
  function addStyle (line 124) | function addStyle(
  function toStyle (line 168) | function toStyle(...styles: Array<Record<string, any> | string | null | ...
  function kebabCase (line 235) | function kebabCase(word: string): string {
  function sleep (line 251) | function sleep(value: number = 30): Promise<boolean> {

FILE: src/uni_modules/uview-pro/libs/request/auto-http.ts
  function isFunction (line 3) | function isFunction(f: any): boolean {
  function isPromise (line 7) | function isPromise(p: any): boolean {
  function isArray (line 11) | function isArray(arr: any) {
  class Builder (line 18) | class Builder<T> {
    method constructor (line 21) | constructor(instance: any) {
    method dispatch (line 30) | dispatch(urlConfig: Record<string, any>, extra: Record<string, any> = ...
    method use (line 46) | use(urlConfig: Record<string, any>, config: Record<string, any> = {}):...
  class AutoHttp (line 69) | class AutoHttp {
    method Builder (line 70) | static get Builder() {
    method constructor (line 73) | constructor() {}

FILE: src/uni_modules/uview-pro/libs/request/index.ts
  type RequestMeta (line 6) | interface RequestMeta {
  type RequestConfig (line 16) | interface RequestConfig {
  constant IGNORE_REQUEST_KEYS (line 30) | const IGNORE_REQUEST_KEYS = ['baseUrl', 'meta'];
  type RequestInterceptor (line 35) | interface RequestInterceptor {
  type RequestOptions (line 43) | interface RequestOptions {
  class Request (line 56) | class Request {
    method constructor (line 61) | constructor() {
    method mergeGlobalConfigToOptions (line 87) | private mergeGlobalConfigToOptions(options: RequestOptions): RequestOp...
    method setConfig (line 143) | setConfig(customConfig: Partial<RequestConfig>): void {
    method request (line 151) | request<T = unknown>(options: RequestOptions): Promise<T> {
    method get (line 217) | get<T = unknown>(
    method post (line 231) | post<T = unknown>(
    method put (line 245) | put<T = unknown>(
    method delete (line 259) | delete<T = unknown>(
  type HttpPluginOptions (line 277) | interface HttpPluginOptions {
  method install (line 284) | install(app: any, options: HttpPluginOptions = {}) {

FILE: src/uni_modules/uview-pro/libs/store/index.ts
  function setStoreValue (line 15) | function setStoreValue<T extends object>(store: T, params: { name: strin...
  function setStoreValueTyped (line 38) | function setStoreValueTyped<T>(store: T, path: string, value: any): void {
  function setStoreValues (line 59) | function setStoreValues<T extends object>(store: T, values: Array<{ name...
  function getStoreValue (line 69) | function getStoreValue<T>(store: T, path: string): any {
  function resetStore (line 84) | function resetStore<T extends object>(store: T, initial: Partial<T>): vo...

FILE: src/uni_modules/uview-pro/libs/util/async-validator.d.ts
  type ValidateError (line 7) | type ValidateError = {
  type ValidateCallback (line 13) | type ValidateCallback = (
  type ValidateRule (line 18) | interface ValidateRule {
  type ValidateOptions (line 48) | interface ValidateOptions {
  class Schema (line 58) | class Schema {

FILE: src/uni_modules/uview-pro/libs/util/async-validator.js
  function _extends (line 1) | function _extends(){return(_extends=Object.assign||function(e){for(var r...
  function convertFieldsError (line 1) | function convertFieldsError(e){if(!e||!e.length)return null;var t={};ret...
  function format (line 1) | function format(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)...
  function isNativeStringType (line 1) | function isNativeStringType(e){return"string"===e||"url"===e||"hex"===e|...
  function isEmptyValue (line 1) | function isEmptyValue(e,r){return null==e||(!("array"!==r||!Array.isArra...
  function asyncParallelArray (line 1) | function asyncParallelArray(e,r,t){var n=[],a=0,i=e.length;function s(e)...
  function asyncSerialArray (line 1) | function asyncSerialArray(t,n,a){var i=0,s=t.length;!function e(r){r&&r....
  function flattenObjArr (line 1) | function flattenObjArr(r){var t=[];return Object.keys(r).forEach(functio...
  function asyncMap (line 1) | function asyncMap(a,e,i,s){if(e.first){var r=new Promise(function(r,t){a...
  function complementError (line 1) | function complementError(r){return function(e){return e&&e.message?(e.fi...
  function deepMerge (line 1) | function deepMerge(e,r){if(r)for(var t in r){var n;r.hasOwnProperty(t)&&...
  function required (line 1) | function required(e,r,t,n,a,i){!e.required||t.hasOwnProperty(e.field)&&!...
  function whitespace (line 1) | function whitespace(e,r,t,n,a){!/^\s+$/.test(r)&&""!==r||n.push(format(a...
  function type (line 1) | function type(e,r,t,n,a){e.required&&void 0===r?required(e,r,t,n,a):(t=e...
  function range (line 1) | function range(e,r,t,n,a){var i="number"==typeof e.len,s="number"==typeo...
  function enumerable (line 1) | function enumerable(e,r,t,n,a){e[ENUM]=Array.isArray(e[ENUM])?e[ENUM]:[]...
  function pattern$1 (line 1) | function pattern$1(e,r,t,n,a){e.pattern&&(e.pattern instanceof RegExp?(e...
  function string (line 1) | function string(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.hasOwn...
  function method (line 1) | function method(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.hasOwn...
  function number (line 1) | function number(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.hasOwn...
  function _boolean (line 1) | function _boolean(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.hasO...
  function regexp (line 1) | function regexp(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.hasOwn...
  function integer (line 1) | function integer(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.hasOw...
  function floatFn (line 1) | function floatFn(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.hasOw...
  function array (line 1) | function array(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.hasOwnP...
  function object (line 1) | function object(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.hasOwn...
  function enumerable$1 (line 1) | function enumerable$1(e,r,t,n,a){var i=[];if(e.required||!e.required&&n....
  function pattern$2 (line 1) | function pattern$2(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.has...
  function date (line 1) | function date(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.hasOwnPr...
  function required$1 (line 1) | function required$1(e,r,t,n,a){var i=[],s=Array.isArray(r)?"array":typeo...
  function type$1 (line 1) | function type$1(e,r,t,n,a){var i=e.type,s=[];if(e.required||!e.required&...
  function any (line 1) | function any(e,r,t,n,a){var i=[];if(e.required||!e.required&&n.hasOwnPro...
  function newMessages (line 1) | function newMessages(){return{default:"Validation error on field %s",req...
  function Schema (line 1) | function Schema(e){this.rules=null,this._messages=messages,this.define(e)}
  function f (line 1) | function f(e,r){return _extends({},r,{fullField:o.fullField+"."+e})}
  function r (line 1) | function r(e){void 0===e&&(e=[]);var t=e;if(Array.isArray(t)||(t=[t]),!p...

FILE: src/uni_modules/uview-pro/libs/util/calendar.d.ts
  type Solar2LunarResult (line 4) | interface Solar2LunarResult {
  type Lunar2SolarResult (line 26) | interface Lunar2SolarResult extends Solar2LunarResult {}
  type Calendar (line 28) | interface Calendar {

FILE: src/uni_modules/uview-pro/libs/util/canvas-2d.ts
  function canvas2d (line 6) | function canvas2d(ctx: CanvasRenderingContext2D): UniApp.CanvasContext {

FILE: src/uni_modules/uview-pro/libs/util/config-provider.ts
  constant THEME_STORAGE_KEY (line 15) | const THEME_STORAGE_KEY = 'uview-pro-theme';
  constant DARK_MODE_STORAGE_KEY (line 16) | const DARK_MODE_STORAGE_KEY = 'uview-pro-dark-mode';
  constant LOCALE_STORAGE_KEY (line 17) | const LOCALE_STORAGE_KEY = 'uview-pro-locale';
  constant DEFAULT_LIGHT_TOKENS (line 18) | const DEFAULT_LIGHT_TOKENS = (defaultThemes[0]?.color || {}) as Partial<...
  constant DEFAULT_DARK_TOKENS (line 19) | const DEFAULT_DARK_TOKENS = (defaultThemes[0]?.darkColor || {}) as Parti...
  constant STRUCTURAL_TOKENS (line 20) | const STRUCTURAL_TOKENS = new Set([
  type DefaultThemeConfig (line 38) | type DefaultThemeConfig = {
  class ConfigProvider (line 56) | class ConfigProvider {
    method constructor (line 71) | constructor() {
    method initSystemDarkModeListener (line 80) | private initSystemDarkModeListener() {
    method initAppEvent (line 121) | private initAppEvent(): void {
    method isSystemDarkMode (line 140) | private isSystemDarkMode(): boolean {
    method initTheme (line 161) | initTheme(themes?: Theme[], defaultConfig?: string | DefaultThemeConfi...
    method initDarkMode (line 209) | initDarkMode(darkMode?: DarkMode, isForce?: boolean) {
    method initLocales (line 222) | initLocales(locales?: any[], defaultLocaleName?: string, isForce?: boo...
    method normalizeLocales (line 251) | private normalizeLocales(locales?: any[]) {
    method getLocales (line 301) | getLocales() {
    method getCurrentLocale (line 308) | getCurrentLocale() {
    method setLocale (line 315) | setLocale(localeName: string) {
    method t (line 335) | t(key: string, replacements?: any, localeName?: string): string {
    method getThemes (line 372) | getThemes(): Theme[] {
    method getCurrentTheme (line 379) | getCurrentTheme(): Theme | null {
    method setTheme (line 386) | setTheme(themeName: string) {
    method setThemeColor (line 413) | public setThemeColor(colors: Partial<ThemeColor>) {
    method getDarkMode (line 445) | getDarkMode(): DarkMode {
    method setDarkMode (line 453) | setDarkMode(mode: DarkMode) {
    method isInDarkMode (line 467) | isInDarkMode(): boolean {
    method normalizeThemes (line 478) | private normalizeThemes(themes?: Theme[]): Theme[] {
    method mergeThemes (line 485) | private mergeThemes(...lists: Array<Theme[] | undefined>): Theme[] {
    method ensureDarkVariant (line 504) | private ensureDarkVariant(theme: Theme): Theme {
    method buildDarkPalette (line 512) | private buildDarkPalette(theme: Theme): Partial<ThemeColor> {
    method applyColorFallbacks (line 524) | private applyColorFallbacks(color?: Partial<ThemeColor>): Partial<Them...
    method applyDarkFallbacks (line 534) | private applyDarkFallbacks(color?: Partial<ThemeColor>): Partial<Theme...
    method filterNonStructuralTokens (line 541) | private filterNonStructuralTokens(palette: Partial<ThemeColor>): Parti...
    method generateDarkFromLight (line 551) | private generateDarkFromLight(palette: Partial<ThemeColor>, provided: ...
    method createDarkVariantFromLight (line 565) | private createDarkVariantFromLight(color: string, fallback?: string): ...
    method normalizeHex (line 575) | private normalizeHex(color: string): string | null {
    method mixHex (line 582) | private mixHex(fromHex: string, toHex: string, ratio: number): string {
    method hexToRgb (line 593) | private hexToRgb(hex: string): { r: number; g: number; b: number } | n...
    method rgbToHex (line 603) | private rgbToHex(r: number, g: number, b: number): string {
    method isStructuralToken (line 608) | private isStructuralToken(token: string): boolean {
    method syncRuntimeTheme (line 616) | private syncRuntimeTheme(palette: Partial<ThemeColor>) {
    method getActiveMode (line 646) | private getActiveMode(): 'light' | 'dark' {
    method getPaletteForMode (line 653) | private getPaletteForMode(theme: Theme, mode: 'light' | 'dark') {
    method getCssOverrides (line 663) | private getCssOverrides(theme: Theme, mode: 'light' | 'dark') {
    method readStorage (line 673) | private readStorage<T>(key: string): T | null {
    method writeStorage (line 687) | private writeStorage(key: string, value: any) {
    method updateDocumentMode (line 699) | private updateDocumentMode(mode: 'light' | 'dark') {
    method toCssVarName (line 710) | private toCssVarName(key: string, prefix: string = '--u'): string {
    method attachRgbVar (line 725) | private attachRgbVar(target: Record<string, string>, varName: string, ...
    method buildCssVarMap (line 739) | private buildCssVarMap(theme: Theme, mode: 'light' | 'dark'): Record<s...
    method flushCssVars (line 771) | private flushCssVars(vars: Record<string, string>) {
    method applyTheme (line 789) | private applyTheme(theme: Theme | null) {

FILE: src/uni_modules/uview-pro/libs/util/emitter.ts
  function formatToCamelCase (line 18) | function formatToCamelCase(str: string): string {
  function parent (line 30) | function parent(instance: ComponentInternalInstance | null | undefined =...
  function dispatch (line 53) | function dispatch(
  function broadcast (line 83) | function broadcast(

FILE: src/uni_modules/uview-pro/libs/util/mitt.ts
  type EventType (line 6) | type EventType = string | symbol;
  type Handler (line 10) | type Handler<T = unknown> = (event: T) => void;
  type WildcardHandler (line 11) | type WildcardHandler<T = Record<string, unknown>> = (type: keyof T, even...
  type EventHandlerList (line 14) | type EventHandlerList<T = unknown> = Array<Handler<T>>;
  type WildCardEventHandlerList (line 15) | type WildCardEventHandlerList<T = Record<string, unknown>> = Array<Wildc...
  type EventHandlerMap (line 18) | type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<
  type Emitter (line 23) | interface Emitter<Events extends Record<EventType, unknown>> {
  function mitt (line 42) | function mitt<Events extends Record<EventType, unknown>>(all?: EventHand...

FILE: src/uni_modules/uview-pro/libs/util/system-theme.ts
  type SystemTheme (line 3) | type SystemTheme = 'light' | 'dark';
  function getSystemDarkMode (line 8) | function getSystemDarkMode(): SystemTheme {

FILE: src/uni_modules/uview-pro/types/components.d.ts
  type GlobalComponents (line 2) | interface GlobalComponents {

FILE: src/uni_modules/uview-pro/types/global.d.ts
  type ThemeType (line 1) | type ThemeType = 'primary' | 'info' | 'error' | 'warning' | 'success' | ...
  type SizeType (line 3) | type SizeType = 'default' | 'small' | 'large';
  type ImgMode (line 5) | type ImgMode = 'aspectFit' | 'aspectFill' | 'widthFix' | 'top' | 'bottom...
  type Direction (line 7) | type Direction = 'horizontal' | 'vertical';
  type Sex (line 9) | type Sex = 'man' | 'woman';
  type Shape (line 11) | type Shape = 'circle' | 'square';
  type Effect (line 12) | type Effect = 'linear' | 'ease' | 'ease-in' | 'ease-in-out' | 'ease-out'...
  type TextAlign (line 14) | type TextAlign = 'left' | 'center' | 'right';
  type JustifyType (line 15) | type JustifyType = 'start' | 'end' | 'center' | 'around' | 'between';
  type AlignType (line 16) | type AlignType = 'top' | 'center' | 'bottom';
  type ScrollDirection (line 17) | type ScrollDirection = 'row' | 'column';
  type PlayState (line 18) | type PlayState = 'play' | 'paused';
  type OptionType (line 19) | type OptionType = { label: string; value: any };
  type ActionSheetItem (line 22) | type ActionSheetItem = {
  type ActionSheetTips (line 31) | type ActionSheetTips = {
  type AvatarCropperBoundStyle (line 38) | type AvatarCropperBoundStyle = {
  type BadgeSize (line 44) | type BadgeSize = 'default' | 'mini';
  type ButtonType (line 46) | type ButtonType = 'primary' | 'info' | 'error' | 'warning' | 'success' |...
  type ButtonSize (line 48) | type ButtonSize = SizeType | 'default' | 'medium' | 'mini';
  type ButtonFormType (line 50) | type ButtonFormType = '' | 'submit' | 'reset';
  type ButtonScope (line 52) | type ButtonScope = 'phoneNumber' | 'userInfo';
  type ButtonOpenType (line 54) | type ButtonOpenType =
  type CalendarMode (line 84) | type CalendarMode = 'date' | 'range';
  type CalendarLunarItem (line 87) | type CalendarLunarItem = {
  type CalendarChangeDate (line 98) | type CalendarChangeDate = {
  type CalendarChangeRange (line 110) | type CalendarChangeRange = {
  type CellItemArrowDirection (line 126) | type CellItemArrowDirection = 'right' | 'up' | 'down';
  type FormRuleItem (line 128) | type FormRuleItem = {
  type FormRules (line 141) | type FormRules = Record<string, FormRuleItem | FormRuleItem[]>;
  type InputType (line 143) | type InputType =
  type InputAlign (line 160) | type InputAlign = 'left' | 'center' | 'right';
  type InputConfirmType (line 162) | type InputConfirmType = 'send' | 'search' | 'next' | 'go' | 'done';
  type InputLabelPosition (line 164) | type InputLabelPosition = 'left' | 'top';
  type TextareaBorder (line 166) | type TextareaBorder = 'surround' | 'none' | 'bottom';
  type FormErrorType (line 168) | type FormErrorType = 'message' | 'border' | 'border-bottom' | 'none' | '...
  type IconLabelPosition (line 170) | type IconLabelPosition = 'left' | 'top' | 'right' | 'bottom';
  type LineDirection (line 172) | type LineDirection = 'row' | 'column';
  type LineBorderStyle (line 174) | type LineBorderStyle = 'solid' | 'dashed' | 'dotted';
  type LoadmoreText (line 176) | type LoadmoreText = {
  type LoadmoreStatus (line 182) | type LoadmoreStatus = 'loadmore' | 'loading' | 'nomore';
  type LoadmoreIconType (line 184) | type LoadmoreIconType = 'circle' | 'flower';
  type MessageInputMode (line 186) | type MessageInputMode = 'box' | 'bottomLine' | 'middleLine';
  type NumberKeyboardMode (line 188) | type NumberKeyboardMode = 'number' | 'card';
  type PickerMode (line 194) | type PickerMode = 'region' | 'time' | 'selector' | 'multiSelector';
  type PickerParams (line 199) | type PickerParams = {
  type PopupMode (line 212) | type PopupMode = 'left' | 'right' | 'top' | 'bottom' | 'center' | 'inline';
  type PopupCloseIconPos (line 213) | type PopupCloseIconPos = 'top-left' | 'top-right' | 'bottom-left' | 'bot...
  type RowJustify (line 216) | type RowJustify =
  type RowAlign (line 227) | type RowAlign = 'top' | 'center' | 'bottom';
  type SearchShape (line 229) | type SearchShape = 'round' | 'square';
  type SelectMode (line 231) | type SelectMode = 'single-column' | 'mutil-column' | 'mutil-column-auto';
  type SelectListItem (line 233) | type SelectListItem = {
  type StepsListItem (line 241) | type StepsListItem = {
  type StepMode (line 248) | type StepMode = 'dot' | 'number';
  type StepDirection (line 250) | type StepDirection = 'row' | 'column';
  type SubsectionListItem (line 252) | type SubsectionListItem = {
  type SubsectionMode (line 258) | type SubsectionMode = 'button' | 'subsection';
  type SwipeActionOption (line 260) | type SwipeActionOption = {
  type SwiperMode (line 267) | type SwiperMode = 'round' | 'dot' | 'rect' | 'number' | 'none';
  type SwiperIndicatorPosition (line 269) | type SwiperIndicatorPosition =
  type TabsItem (line 277) | type TabsItem = {
  type TabsSwiperListItem (line 284) | type TabsSwiperListItem = {
  type TabsSwiperAutoCenterMode (line 290) | type TabsSwiperAutoCenterMode = 'window';
  type TagMode (line 292) | type TagMode = 'light' | 'dark' | 'plain';
  type TagShape (line 294) | type TagShape = 'square' | 'circle' | 'circleLeft' | 'circleRight';
  type TagSize (line 296) | type TagSize = 'default' | 'mini';
  type ToastPosition (line 298) | type ToastPosition = 'top' | 'center' | 'bottom';
  type UploadSizeType (line 299) | type UploadSizeType = 'original' | 'compressed';
  type UploadSourceType (line 300) | type UploadSourceType = 'album' | 'camera';
  type UploadAcceptType (line 306) | type UploadAcceptType = 'image' | 'video' | 'file' | 'media' | 'all';
  type UploadFileItem (line 311) | interface UploadFileItem {
  type FabPosition (line 327) | type FabPosition =
  type FabDirection (line 337) | type FabDirection = 'top' | 'bottom' | 'left' | 'right';
  type FabGap (line 339) | type FabGap = Partial<Record<'top' | 'left' | 'right' | 'bottom', number>>;
  type TransitionPreset (line 341) | type TransitionPreset =
  type TransitionDuration (line 350) | type TransitionDuration = {
  type ColorType (line 355) | type ColorType =
  type ThemeColor (line 393) | type ThemeColor = Partial<Record<ColorType, string>>;
  type DarkMode (line 395) | type DarkMode = 'auto' | 'light' | 'dark';
  type Theme (line 397) | type Theme = {
  type Themes (line 419) | type Themes = {
  type Locales (line 426) | type Locales = {
  type Locale (line 432) | type Locale = {
  type DebugMode (line 437) | type DebugMode = 'log' | 'warn' | 'error' | 'info';
  type UViewProOptions (line 439) | interface UViewProOptions {
  type PaginationDirection (line 447) | type PaginationDirection = 'prev' | 'next';
  type PaginationChangePayload (line 450) | type PaginationChangePayload = {
  type TabbarItem (line 456) | type TabbarItem = {

FILE: src/uni_modules/uview-pro/types/ignore-errors.d.ts
  class WeCropper (line 6) | class WeCropper {

FILE: src/uni_modules/uview-pro/types/index.d.ts
  type Uni (line 14) | interface Uni {

FILE: src/uni_modules/uview-pro/types/uni-app.d.ts
  type GlobalComponents (line 6) | interface GlobalComponents {
  type HTMLAttributes (line 20) | interface HTMLAttributes {
  type IntrinsicAttributes (line 42) | interface IntrinsicAttributes {
  type IntrinsicElements (line 57) | interface IntrinsicElements {

FILE: src/uni_modules/zero-markdown-view/components/mp-html/highlight/index.js
  function Highlight (line 9) | function Highlight(vm) {

FILE: src/uni_modules/zero-markdown-view/components/mp-html/latex/index.js
  function Latex (line 7) | function Latex () {

FILE: src/uni_modules/zero-markdown-view/components/mp-html/markdown/index.js
  function Markdown (line 9) | function Markdown (vm) {

FILE: src/uni_modules/zero-markdown-view/components/mp-html/parser.js
  function makeMap (line 110) | function makeMap (str) {
  function decodeEntity (line 125) | function decodeEntity (str, amp) {
  function mergeNodes (line 153) | function mergeNodes (nodes) {
  function Parser (line 173) | function Parser (vm) {
  function Lexer (line 1202) | function Lexer (handler) {

FILE: src/uni_modules/zero-markdown-view/components/mp-html/style/index.js
  function Style (line 8) | function Style () {
  function match (line 91) | function match (node, keys) {

FILE: src/uni_modules/zero-markdown-view/components/mp-html/style/parser.js
  function Parser (line 9) | function Parser () {
  function splitItem (line 42) | function splitItem (str) {
  function Lexer (line 99) | function Lexer (handler) {
Condensed preview — 633 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,184K chars).
[
  {
    "path": ".changelogrc.js",
    "chars": 1162,
    "preview": "module.exports = {\n    preset: 'conventionalcommits',\n    releaseCount: 0,\n    outputUnreleased: true,\n    lernaPackage:"
  },
  {
    "path": ".copilot.md",
    "chars": 331,
    "preview": "项目说明:\n本项目为 uView Pro 组件库,基于 uni-app、Vue3、TypeScript、Composition API 语法,重构自 uView UI 1.8.8。\n\n目录规范:\n\n- 每个组件目录下包含:组件名.vue、t"
  },
  {
    "path": ".cz-config.js",
    "chars": 1920,
    "preview": "module.exports = {\n    // 可选类型\n    types: [\n        { value: 'feat', name: 'feat:     新功能' },\n        { value: 'fix', na"
  },
  {
    "path": ".czrc",
    "chars": 38,
    "preview": "{\n  \"path\": \"./node_modules/cz-git\"\n} "
  },
  {
    "path": ".editorconfig",
    "chars": 107,
    "preview": "[*]\n#缩进风格:空格\nindent_style = tab\n#缩进大小2\nindent_size = 4\n#换行符lf\nend_of_line = lf\n#字符集utf-8\ncharset = utf-8\n\n\n"
  },
  {
    "path": ".eslintignore",
    "chars": 82,
    "preview": "unpackage\nnode_modules\nasync-validator.js\ncalendar.js\narea.ts\ncity.ts\nprovince.ts\n"
  },
  {
    "path": ".gitee/ISSUE_TEMPLATE/bug_report.yml",
    "chars": 788,
    "preview": "name: 问题反馈\nabout: 提交问题反馈或使用疑问,便于强化项目维护和优化体验\nlabels: ['bug', 'question']\ntitle: '【问题反馈】'\nbody:\n    - type: textarea\n     "
  },
  {
    "path": ".gitee/ISSUE_TEMPLATE/feature_request.yml",
    "chars": 773,
    "preview": "name: 新功能征集\nabout: 提出新功能或优化建议,使 uView Pro 更强大!\nlabels: ['enhancement', 'feature-request']\ntitle: '【新功能征集】'\nbody:\n    - t"
  },
  {
    "path": ".gitee/PULL_REQUEST_TEMPLATE.md",
    "chars": 772,
    "preview": "# 该模板用于 Gitee Pull Request 自动加载,无需 YAML 头部\n\n## 🔀 PR 提交 | Pull Request\n\n感谢您的贡献!为提升代码质量和协作效率,请按以下模板补充关键信息:\n\n### 1. 变更类型\n\n-"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "chars": 502,
    "preview": "---\nname: '问题反馈 Bug Report / Question'\nabout: '提交问题反馈或使用疑问,便于强化项目维护和优化体验'\ntitle: '【问题反馈】'\nlabels: ['bug', 'question']\nas"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "chars": 913,
    "preview": "---\nname: '新功能征集 Feature Request'\nabout: '提出新功能或优化建议,使 uView Pro 更强大!'\ntitle: '【新功能征集】'\nlabels: ['enhancement', 'feature"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/pull_request_template.md",
    "chars": 680,
    "preview": "---\nname: 'PR 提交 Pull Request'\nabout: '提交优质 PR,使 uView Pro 更强大!'\ntitle: '【PR提交】'\nlabels: ['pr', 'contribution']\nassignee"
  },
  {
    "path": ".gitignore",
    "chars": 268,
    "preview": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\n.DS_Stor"
  },
  {
    "path": ".hbuilderx/launch.json",
    "chars": 156,
    "preview": "{\n    \"version\": \"1.0\",\n    \"configurations\": [\n        {\n            \"playground\": \"standard\",\n            \"type\": \"uni"
  },
  {
    "path": ".husky/commit-msg",
    "chars": 54,
    "preview": "#!/usr/bin/env sh\n\nnpx --no -- commitlint --edit \"$1\" "
  },
  {
    "path": ".husky/pre-commit",
    "chars": 282,
    "preview": "#!/usr/bin/env sh\n. \"$(dirname \"$0\")/_/husky.sh\"\n\n# 可以在这里添加其他pre-commit检查,比如lint-staged等\nnpx lint-staged\n\n# 校验已缓存区文件格式和类"
  },
  {
    "path": ".lintstagedrc",
    "chars": 87,
    "preview": "{\n    \"*.{js,ts,vue,scss,md,json}\": \"prettier --write --ignore-path .prettierignore\"\n}\n"
  },
  {
    "path": ".nvmrc",
    "chars": 7,
    "preview": "20.13.1"
  },
  {
    "path": ".prettierignore",
    "chars": 170,
    "preview": "node_modules\n*.log\ndist\nbuild\ncoverage\n*.min.js\n*.map\n*.md\npnpm-lock.yaml\nasync-validator.js\ncalendar.js\narea.ts\ncity.ts"
  },
  {
    "path": ".prettierrc.js",
    "chars": 1002,
    "preview": "/**\n * Prettier 代码格式化配置\n * 详见:https://prettier.io/docs/en/options.html\n */\nmodule.exports = {\n    // 箭头函数参数是否加括号\n    arr"
  },
  {
    "path": ".vscode/extensions.json",
    "chars": 328,
    "preview": "{\n    // 推荐团队/贡献者安装的 VS Code 插件\n    \"recommendations\": [\n        \"esbenp.prettier-vscode\", // Prettier 代码格式化\n        \"Vu"
  },
  {
    "path": ".vscode/settings.json",
    "chars": 833,
    "preview": "{\n    \"git.enableSmartCommit\": true,\n    \"git.confirmSync\": false,\n    \"git.autofetch\": true,\n    \"emmet.includeLanguage"
  },
  {
    "path": ".vscode/uview-pro.code-snippets",
    "chars": 1350,
    "preview": "{\n    // Place your colorful-uni-plus 工作区 snippets here. Each snippet is defined under a snippet name and has a scope, p"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 101997,
    "preview": "# Changelog\r\n\r\nAll notable changes to this project will be documented in this file.\r\n\r\nThe format is based on [Keep a Ch"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 372,
    "preview": "# 贡献指南\n\n感谢您的贡献!为保证代码风格统一,所有提交必须通过 Prettier 格式化校验。\n\n## 代码风格要求\n\n- 仓库已配置 `.prettierrc.js`,请勿修改格式化规则。\n- 所有 JS/TS/Vue/SCSS/MD"
  },
  {
    "path": "LICENSE",
    "chars": 1068,
    "preview": "MIT License\n\nCopyright (c) 2025 uviewpro.cn\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
  },
  {
    "path": "README-pnpm.md",
    "chars": 603,
    "preview": "# 使用 pnpm 管理依赖\n\n本项目为 pnpm 依赖管理。\n\n## 常用命令\n\n- 安装依赖:\n    ```bash\n    pnpm install\n    ```\n- 启动开发:\n\n    ```bash\n    # 运行h5\n "
  },
  {
    "path": "README.en.md",
    "chars": 11161,
    "preview": "<!-- Language Switch Button -->\n<p align=\"right\" style=\"margin-top: 10px;\">\n    <span style=\"padding: 6px 16px; backgrou"
  },
  {
    "path": "README.md",
    "chars": 8325,
    "preview": "<!-- 语言切换按钮 -->\n<p align=\"right\" style=\"margin-top: 10px;\">\n    <a href=\"README.en.md\" style=\"padding: 6px 16px; backgro"
  },
  {
    "path": "commitlint.config.js",
    "chars": 541,
    "preview": "module.exports = {\n    extends: ['@commitlint/config-conventional'],\n    rules: {\n        'type-enum': [\n            2,\n"
  },
  {
    "path": "edgeone.json",
    "chars": 33,
    "preview": "{\n    \"nodeVersion\": \"20.18.0\"\n}\n"
  },
  {
    "path": "harmony-configs/build-profile.json5",
    "chars": 2986,
    "preview": "{\n    app: {\n        signingConfigs: [\n            {\n                name: 'default',\n                type: 'HarmonyOS',"
  },
  {
    "path": "index.html",
    "chars": 1203,
    "preview": "<!doctype html>\n<html>\n    <head>\n        <meta charset=\"UTF-8\" />\n        <meta name=\"referrer\" content=\"no-referrer\" /"
  },
  {
    "path": "package.json",
    "chars": 6726,
    "preview": "{\n    \"name\": \"uview-pro-demo\",\n    \"version\": \"0.6.0-beta.1\",\n    \"scripts\": {\n        \"dev\": \"uni\",\n        \"dev:custo"
  },
  {
    "path": "scripts/README.md",
    "chars": 3316,
    "preview": "# 发布脚本使用说明\n\n本项目提供了多个版本的发布脚本,以确保在不同操作系统上都能正常运行。\n\n## 脚本文件说明\n\n- `release.sh` - Bash 脚本 (适用于 Linux/macOS)\n- `release.ps1` - "
  },
  {
    "path": "scripts/contributors-map.json",
    "chars": 300,
    "preview": "{\n    \"nameToGithub\": {\n        \"前端梦工厂\": \"anyup\",\n        \"不爱说话郭德纲\": \"elkelkelkelkelk\",\n        \"xiaozuoovo\": \"zuo-wenta"
  },
  {
    "path": "scripts/contributors-usage.md",
    "chars": 1759,
    "preview": "# Contributors 配置使用说明\n\n## 📋 配置文件\n\n`scripts/contributors-map.json` 用于配置贡献者信息。\n\n## 🎯 配置项说明\n\n### 1. nameToGithub(映射配置)\n\n将作者"
  },
  {
    "path": "scripts/fix-empty-css.js",
    "chars": 1305,
    "preview": "#!/usr/bin/env node\n\n/*\n  Ensure non-empty CSS assets in dist to avoid hosts stripping zero-byte files\n  Usage: runs aut"
  },
  {
    "path": "scripts/generate-changelog.js",
    "chars": 21294,
    "preview": "#!/usr/bin/env node\n\nconst { execSync } = require('child_process');\nconst fs = require('fs');\nconst path = require('path"
  },
  {
    "path": "scripts/listColors.mjs",
    "chars": 1167,
    "preview": "import fs from 'fs';\nimport { fileURLToPath } from 'url';\nimport { dirname, join } from 'path';\n\nconst __filename = file"
  },
  {
    "path": "scripts/release.bat",
    "chars": 2277,
    "preview": "@echo off\nsetlocal enabledelayedexpansion\n\nREM 发布脚本 (批处理版本)\nREM 使用方法: scripts\\release.bat [patch|minor|major]\n\nif \"%~1\"="
  },
  {
    "path": "scripts/release.js",
    "chars": 12911,
    "preview": "#!/usr/bin/env node\n\n/**\n * 发布脚本 (Node.js版本)\n * 使用方法:\n *   node scripts/release.js [patch|minor|major]              # 语义"
  },
  {
    "path": "scripts/release.ps1",
    "chars": 2592,
    "preview": "# 发布脚本 (PowerShell版本)\n# 使用方法: .\\scripts\\release.ps1 [patch|minor|major]\n\nparam(\n    [Parameter(Mandatory=$true)]\n    [Va"
  },
  {
    "path": "scripts/release.sh",
    "chars": 1637,
    "preview": "#!/bin/bash\n\n# 发布脚本\n# 使用方法: ./scripts/release.sh [patch|minor|major]\n\nset -e\n\n# 检查参数\nif [ $# -eq 0 ]; then\n    echo \"请指定"
  },
  {
    "path": "scripts/replaceColors.mjs",
    "chars": 3459,
    "preview": "import fs from 'fs';\nimport path from 'path';\n\nconst rootDir = path.join('src', 'uni_modules', 'uview-pro', 'components'"
  },
  {
    "path": "scripts/test-npm-cleanup.js",
    "chars": 1262,
    "preview": "#!/usr/bin/env node\nconst fs = require('fs');\nconst path = require('path');\nconst { spawnSync } = require('child_process"
  },
  {
    "path": "scripts/test-npm-package.js",
    "chars": 5024,
    "preview": "#!/usr/bin/env node\n/**\n * 简化版自动化脚本(用于 test:local)\n * 功能:\n *  1) 打包 src/uni_modules/uview-pro(pnpm 优先,fallback npm)\n *  "
  },
  {
    "path": "scripts/update-date.js",
    "chars": 1256,
    "preview": "#!/usr/bin/env node\n\n/**\n * 更新发布日期脚本\n * 用于在package.json中添加或更新发布日期字段\n * 使用方法:\n *   node scripts/update-date.js [package.j"
  },
  {
    "path": "shims-uni.d.ts",
    "chars": 205,
    "preview": "/// <reference types='@dcloudio/types' />\nimport 'vue';\n\ndeclare module '@vue/runtime-core' {\n    type Hooks = App.AppIn"
  },
  {
    "path": "src/App.ku.vue",
    "chars": 987,
    "preview": "<script setup lang=\"ts\">\nimport { onLoad, onShow } from '@dcloudio/uni-app';\nimport { useTheme, useLocale } from 'uview-"
  },
  {
    "path": "src/App.vue",
    "chars": 501,
    "preview": "<script setup lang=\"ts\">\r\nimport { onLaunch, onShow, onHide, onThemeChange } from '@dcloudio/uni-app';\r\nonLaunch(() => {"
  },
  {
    "path": "src/api/index.ts",
    "chars": 1373,
    "preview": "import { Request } from 'uview-pro';\n\nexport const http = new Request();\n\nhttp.setConfig({\n    baseUrl: '/static/app'\n})"
  },
  {
    "path": "src/common/classify.data.ts",
    "chars": 34628,
    "preview": "export default [\n    {\n        name: '女装',\n        foods: [\n            {\n                name: 'A字裙',\n                k"
  },
  {
    "path": "src/common/constant.ts",
    "chars": 2154,
    "preview": "import { versionName as appVersion } from '../manifest.json';\nimport { version as uViewProVersion, buildDate, releaseDat"
  },
  {
    "path": "src/common/demo-experience.config.json",
    "chars": 1788,
    "preview": "{\n    \"component-image\": {\n        \"tasks\": [\n            {\n                \"key\": \"status\",\n                \"title\": \"切"
  },
  {
    "path": "src/common/demo.scss",
    "chars": 2400,
    "preview": "page {\n    background-color: $u-bg-white;\n    width: 100%;\n    height: 100vh;\n}\n/* #ifndef APP-NVUE */\nview,\ntext {\n    "
  },
  {
    "path": "src/common/http.interceptor.ts",
    "chars": 3387,
    "preview": "import type { RequestConfig, RequestInterceptor, RequestMeta, RequestOptions } from 'uview-pro';\n\n// 示例:演示如何使用token\ncons"
  },
  {
    "path": "src/common/iconfont.css",
    "chars": 23365,
    "preview": "@font-face {\n    font-family: 'custom-icon'; /* Project id 5067119 */\n    src: url('data:application/x-font-woff2;charse"
  },
  {
    "path": "src/common/index.list.ts",
    "chars": 17921,
    "preview": "export default {\n    list: [\n        {\n            letter: 'A',\n            data: [\n                {\n                  "
  },
  {
    "path": "src/common/request.ts",
    "chars": 15314,
    "preview": "import { deepMerge } from 'uview-pro';\n\n/**\n * 请求配置项Meta类型定义\n */\nexport interface RequestMeta {\n    toast?: boolean;\n   "
  },
  {
    "path": "src/common/share.ts",
    "chars": 579,
    "preview": "function getCurrentPageUrl() {\n    const pages = getCurrentPages();\n    // 页面栈中的最后一个即为项为当前页面,route属性为页面路径\n    const page"
  },
  {
    "path": "src/common/useExperience.ts",
    "chars": 12037,
    "preview": "import { ref, computed, type Ref } from 'vue';\n// @ts-ignore\nimport config from './demo-experience.config.json';\nimport "
  },
  {
    "path": "src/common/useExperienceCenter.ts",
    "chars": 6767,
    "preview": "import { ref, computed } from 'vue';\n\ninterface ComponentStat {\n    key: string;\n    xp: number;\n    visits: number;\n   "
  },
  {
    "path": "src/common/useHooks.ts",
    "chars": 1199,
    "preview": "import { useLocale } from 'uview-pro';\nimport { useI18n } from 'vue-i18n';\n\nexport function useLang() {\n    const { loca"
  },
  {
    "path": "src/common/util.ts",
    "chars": 805,
    "preview": "import { useI18n } from 'vue-i18n';\n\n/**\n * 生成随机背景颜色\n */\nexport function getRandomColor(): string {\n    const colors = ["
  },
  {
    "path": "src/components/demo-animation/animation.css",
    "chars": 2529,
    "preview": "/**\n * Animation 微动画  \n */\n\n/* css 滤镜 控制黑白底色gif的 */\n.gif-black {\n    mix-blend-mode: screen;\n}\n.gif-white {\n    mix-blen"
  },
  {
    "path": "src/components/demo-animation/demo-animation.vue",
    "chars": 1200,
    "preview": "<template>\n    <view :class=\"[animationName]\" :style=\"[animationDelay ? { animationDelay: animationDelay * 0.1 + 's' } :"
  },
  {
    "path": "src/components/demo-card/demo-card.vue",
    "chars": 3809,
    "preview": "<template>\n    <view class=\"card-list\">\n        <view\n            hover-class=\"none\"\n            :url=\"item.path\"\n      "
  },
  {
    "path": "src/components/demo-guide/demo-guide.vue",
    "chars": 29908,
    "preview": "<template>\n    <view v-if=\"show\" class=\"demo-guide\">\n        <view class=\"demo-guide__bg\">\n            <view class=\"demo"
  },
  {
    "path": "src/components/demo-guide-use/demo-guide-use.vue",
    "chars": 6449,
    "preview": "<template>\n    <view class=\"guide-wrapper\" :class=\"{ 'guide-wrapper--active': displayShow }\">\n        <!-- 目标插槽区域 -->\n  "
  },
  {
    "path": "src/components/demo-page/demo-page.vue",
    "chars": 43970,
    "preview": "<template>\n    <view class=\"demo-page\" :class=\"{ 'has-tabbar': tabbar }\" :style=\"$u.toStyle(customStyle)\">\n        <!-- "
  },
  {
    "path": "src/components/page-nav/page-nav.vue",
    "chars": 2404,
    "preview": "<template>\n    <view class=\"nav-wrap\">\n        <view class=\"nav-title\">\n            <image class=\"logo\" src=\"/static/log"
  },
  {
    "path": "src/components/wx-tips/wx-tips.vue",
    "chars": 824,
    "preview": "<template>\n    <view>\n        <u-alert-tips\n            :show=\"show\"\n            :description=\"description\"\n            "
  },
  {
    "path": "src/env.d.ts",
    "chars": 287,
    "preview": "/// <reference types=\"vite/client\" />\n\ndeclare module '*.vue' {\n    import { DefineComponent } from 'vue';\n    // eslint"
  },
  {
    "path": "src/locales/index.ts",
    "chars": 767,
    "preview": "import { createI18n } from 'vue-i18n';\n\nimport en from './langs/en.json'; // 英文\nimport zhHans from './langs/zh-Hans.json"
  },
  {
    "path": "src/locales/langs/en.json",
    "chars": 1721,
    "preview": "{\n    \"components\": {\n        \"find\": \"Found\",\n        \"matchingComponent\": \"matching components\",\n        \"clear\": \"Cle"
  },
  {
    "path": "src/locales/langs/zh-Hans.json",
    "chars": 1060,
    "preview": "{\n    \"components\": {\n        \"find\": \"找到\",\n        \"matchingComponent\": \"个匹配组件\",\n        \"clear\": \"清空\",\n        \"search"
  },
  {
    "path": "src/main.ts",
    "chars": 1455,
    "preview": "import { createSSRApp } from 'vue';\r\nimport App from './App.vue';\r\nimport themes from '@/uview-pro.theme';\r\nimport uView"
  },
  {
    "path": "src/manifest.json",
    "chars": 8291,
    "preview": "{\n    \"name\": \"uViewPro(跨平台UI组件库)\",\n    \"appid\": \"__UNI__9E7D9A9\",\n    \"description\": \"uView Pro 是一套高质量、跨平台的多端 UI 组件库,内置"
  },
  {
    "path": "src/pages/componentsA/avatar/index.vue",
    "chars": 3848,
    "preview": "<template>\n    <demo-page\n        title=\"Avatar 头像\"\n        desc=\"用于展示用户头像、等级、性别等信息,支持多种形态和自定义内容。\"\n        :apis=\"'avata"
  },
  {
    "path": "src/pages/componentsA/avatarCropper/index.vue",
    "chars": 2201,
    "preview": "<template>\n    <view class=\"u-demo\">\n        <view class=\"u-demo-wrap\">\n            <view class=\"u-demo-title\">演示效果</vie"
  },
  {
    "path": "src/pages/componentsA/backTop/index.vue",
    "chars": 3641,
    "preview": "<template>\n    <demo-page title=\"BackTop 返回顶部\" desc=\"用于快速返回页面顶部,支持自定义样式、位置和图标。\" :apis=\"'backTop'\">\n        <template #de"
  },
  {
    "path": "src/pages/componentsA/calendar/index.vue",
    "chars": 16643,
    "preview": "<template>\n    <demo-page\n        title=\"Calendar 日历 \"\n        desc=\"此组件用于单个选择日期,范围选择日期等,日历被包裹在底部弹起的容器中。\"\n        :apis="
  },
  {
    "path": "src/pages/componentsA/empty/index.vue",
    "chars": 6471,
    "preview": "<template>\n    <demo-page\n        title=\"Empty 空状态\"\n        desc=\"用于页面、列表、数据等内容为空时的友好占位提示,支持多种内置场景和自定义插槽。\"\n        :apis"
  },
  {
    "path": "src/pages/componentsA/field/index.vue",
    "chars": 4284,
    "preview": "<template>\n    <demo-page\n        title=\"Field 输入框\"\n        desc=\"用于表单、登录、注册等场景的多样化输入,支持多种类型、校验和自定义内容。\"\n        :apis=\"'"
  },
  {
    "path": "src/pages/componentsA/form/index.vue",
    "chars": 22039,
    "preview": "<template>\n    <demo-page\n        title=\"Form 表单\"\n        desc=\"此组件一般用于表单场景,可以配置Input输入框,Select弹出框,进行表单验证等。\"\n        sho"
  },
  {
    "path": "src/pages/componentsA/fullScreen/index.vue",
    "chars": 1441,
    "preview": "<template>\n    <demo-page\n        title=\"FullScreen 压窗屏\"\n        desc=\"用于APP端模态弹窗遮盖全屏,支持压窗效果,适合特殊场景。\"\n        :apis=\"'fu"
  },
  {
    "path": "src/pages/componentsA/icon/index.vue",
    "chars": 9408,
    "preview": "<template>\n    <demo-page title=\"Icon 图标\" desc=\"基于字体的图标集,包含了大多数常见场景的图标。\" :apis=\"'icon'\">\n        <view class=\"wrap\">\n   "
  },
  {
    "path": "src/pages/componentsA/indexList/index.vue",
    "chars": 1509,
    "preview": "<template>\n    <demo-page hide-tabs nav-title=\"索引列表\">\n        <u-index-list :scrollTop=\"scrollTop\" :index-list=\"indexLis"
  },
  {
    "path": "src/pages/componentsA/input/index.vue",
    "chars": 5805,
    "preview": "<template>\n    <demo-page\n        title=\"Input 输入框\"\n        desc=\"此组件为一个输入框,默认没有边框和样式,是专门为配合表单组件u-form而设计的,利用它可以快速实现表单验证"
  },
  {
    "path": "src/pages/componentsA/keyboard/index.vue",
    "chars": 4304,
    "preview": "<template>\n    <demo-page\n        title=\"Keyboard 虚拟键盘\"\n        desc=\"用于数字、身份证、车牌号等多种输入场景,支持自定义键盘类型和交互。\"\n        :apis=\""
  },
  {
    "path": "src/pages/componentsA/lazyLoad/index.vue",
    "chars": 8290,
    "preview": "<template>\n    <demo-page\n        title=\"LazyLoad 图片懒加载\"\n        desc=\"用于长列表、图片流等场景的图片懒加载,提升页面性能和体验。\"\n        :apis=\"'la"
  },
  {
    "path": "src/pages/componentsA/modal/index.vue",
    "chars": 4391,
    "preview": "<template>\n    <demo-page\n        title=\"Modal 弹窗\"\n        desc=\"用于消息提示、操作确认等场景的模态弹窗,支持自定义内容和异步关闭。\"\n        :apis=\"'moda"
  },
  {
    "path": "src/pages/componentsA/navbar/index.vue",
    "chars": 9397,
    "preview": "<template>\n    <view>\n        <u-navbar\n            title-color=\"#fff\"\n            back-icon-color=\"#ffffff\"\n           "
  },
  {
    "path": "src/pages/componentsA/noNetwork/index.vue",
    "chars": 17222,
    "preview": "<template>\n    <demo-page\n        title=\"NoNetwork 网络异常\"\n        desc=\"用于网络断开、信号丢失等场景的友好提示,支持自定义图片和文案。\"\n        :apis=\"'"
  },
  {
    "path": "src/pages/componentsA/select/index.vue",
    "chars": 5492,
    "preview": "<template>\n    <demo-page\n        title=\"Select 选择器\"\n        desc=\"用于单列、多列独立、多列联动等多种选择场景,支持灵活数据结构和交互。\"\n        :apis=\"'s"
  },
  {
    "path": "src/pages/componentsA/slider/index.vue",
    "chars": 5639,
    "preview": "<template>\n    <demo-page title=\"Slider 滑块\" desc=\"用于数值范围选择,支持自定义步进、颜色、尺寸等参数。\" :apis=\"'slider'\">\n        <template #defau"
  },
  {
    "path": "src/pages/componentsA/tabs/index.vue",
    "chars": 5541,
    "preview": "<template>\n    <demo-page title=\"Tabs 标签页\" desc=\"用于多内容区域切换展示,支持滚动、自定义颜色、字体加粗等。\" :apis=\"'tabs'\">\n        <template #defau"
  },
  {
    "path": "src/pages/componentsA/tag/index.vue",
    "chars": 3908,
    "preview": "<template>\n    <demo-page title=\"Tag 标签\" desc=\"该组件一般用于标记和选择\" :apis=\"'tag'\">\n        <view class=\"u-demo\">\n            <v"
  },
  {
    "path": "src/pages/componentsA/test/index.vue",
    "chars": 2437,
    "preview": "<template>\n    <demo-page title=\"Test 表单校验\" desc=\"用于测试表单组件的综合使用,包括输入、选择、单选、复选等。\" :apis=\"'test'\">\n        <template #defa"
  },
  {
    "path": "src/pages/componentsA/textarea/index.vue",
    "chars": 3543,
    "preview": "<template>\n    <demo-page\n        title=\"Textarea 多行文本\"\n        desc=\"用于多行文本输入,支持字数统计、自动增高、禁用等功能。\"\n        :apis=\"'Texta"
  },
  {
    "path": "src/pages/componentsA/timeLine/index.vue",
    "chars": 6024,
    "preview": "<template>\n    <demo-page title=\"TimeLine 时间线\" desc=\"用于展示时间流、订单物流等场景,支持自定义节点和样式。\" :apis=\"'timeLine'\">\n        <template "
  },
  {
    "path": "src/pages/componentsA/toast/index.vue",
    "chars": 3887,
    "preview": "<template>\n    <demo-page title=\"Toast 提示框\" desc=\"用于显示轻提示信息,支持多种主题、位置和自动跳转。\" :apis=\"'toast'\">\n        <template #default"
  },
  {
    "path": "src/pages/componentsA/topTips/index.vue",
    "chars": 2211,
    "preview": "<template>\n    <demo-page title=\"TopTips 顶部提示\" desc=\"用于页面顶部消息提示,支持多种主题和自定义时长。\" :apis=\"'topTips'\">\n        <template #def"
  },
  {
    "path": "src/pages/componentsA/verificationCode/index.vue",
    "chars": 3533,
    "preview": "<template>\n    <demo-page\n        title=\"VerificationCode 验证码\"\n        desc=\"用于发送和倒计时验证码,支持自定义时长和文案。\"\n        :apis=\"'ve"
  },
  {
    "path": "src/pages/componentsB/card/index.vue",
    "chars": 4900,
    "preview": "<template>\n    <demo-page title=\"Card 卡片\" desc=\"用于展示卡片组件,支持阴影、边框和自定义样式。\" :apis=\"'card'\">\n        <template #default>\n   "
  },
  {
    "path": "src/pages/componentsB/checkbox/index.vue",
    "chars": 5985,
    "preview": "<template>\n    <demo-page title=\"Checkbox 复选框\" desc=\"用于选择一个或者多个选项。\" :apis=\"'checkbox'\">\n        <view class=\"u-demo\">\n  "
  },
  {
    "path": "src/pages/componentsB/divider/index.vue",
    "chars": 3357,
    "preview": "<template>\n    <demo-page title=\"Divider 分割线\" desc=\"用于分割不同内容区域,支持自定义颜色、宽度、边距等样式。\" :apis=\"'divider'\">\n        <template #"
  },
  {
    "path": "src/pages/componentsB/dropdown/index.vue",
    "chars": 5475,
    "preview": "<template>\n    <demo-page title=\"Dropdown 下拉菜单\" desc=\"用于展示下拉菜单,支持单选、多选、自定义样式等功能。\" :apis=\"'dropdown'\">\n        <template "
  },
  {
    "path": "src/pages/componentsB/image/index.vue",
    "chars": 4000,
    "preview": "<template>\n    <demo-page\n        title=\"Image 图片\"\n        desc=\"此组件为 uni-app 的`image`组件的加强版,在继承了原有功能外,还支持淡入动画、加载中、加载失败提"
  },
  {
    "path": "src/pages/componentsB/line/index.vue",
    "chars": 3081,
    "preview": "<template>\n    <demo-page title=\"Line 线条\" desc=\"用于展示线条,支持不同方向、样式和颜色设置。\" :apis=\"'line'\">\n        <template #default>\n    "
  },
  {
    "path": "src/pages/componentsB/loading/index.vue",
    "chars": 2873,
    "preview": "<template>\n    <demo-page title=\"Loading 加载\" desc=\"用于显示加载动画,支持圆圈和花朵两种模式。\" :apis=\"'loading'\">\n        <template #default>"
  },
  {
    "path": "src/pages/componentsB/loadingPopup/index.vue",
    "chars": 4587,
    "preview": "<template>\n    <demo-page\n        title=\"LoadingPopup 加载弹窗\"\n        desc=\"用于显示加载弹窗,支持自定义文案、时长和方向。\"\n        :apis=\"'loadi"
  },
  {
    "path": "src/pages/componentsB/noticeBar/index.vue",
    "chars": 5207,
    "preview": "<template>\n    <demo-page\n        title=\"NoticeBar 通知栏\"\n        desc=\"用于展示通知消息,支持水平和竖直滚动、自定义颜色和速度。\"\n        :apis=\"'noti"
  },
  {
    "path": "src/pages/componentsB/picker/index.vue",
    "chars": 7523,
    "preview": "<template>\n    <demo-page title=\"Picker 选择器\" desc=\"用于展示选择器,支持单选、多选、日期、地区等多种模式。\" :apis=\"'picker'\">\n        <template #def"
  },
  {
    "path": "src/pages/componentsB/radio/index.vue",
    "chars": 5284,
    "preview": "<template>\n    <demo-page title=\"Radio 单选框\" desc=\"用于单项选择,支持自定义颜色、大小、禁用等功能。\" :apis=\"'radio'\">\n        <template #default>"
  },
  {
    "path": "src/pages/componentsB/rate/index.vue",
    "chars": 4732,
    "preview": "<template>\n    <demo-page title=\"Rate 评分\" desc=\"用于评分展示和交互,支持自定义大小、颜色和图标。\" :apis=\"'rate'\">\n        <template #default>\n  "
  },
  {
    "path": "src/pages/componentsB/readMore/index.vue",
    "chars": 3245,
    "preview": "<template>\n    <demo-page\n        title=\"ReadMore 展开更多\"\n        desc=\"用于展示可收缩的长文本内容,支持自定义高度和展开关闭功能。\"\n        :apis=\"'rea"
  },
  {
    "path": "src/pages/componentsB/search/index.vue",
    "chars": 3589,
    "preview": "<template>\n    <demo-page title=\"Search 搜索\" desc=\"用于搜索输入,支持不同形状、清除按钮和自定义样式。\" :apis=\"'search'\">\n        <template #defaul"
  },
  {
    "path": "src/pages/componentsB/search/types.ts",
    "chars": 302,
    "preview": "import { type ComponentPublicInstance, type ExtractPropTypes } from 'vue';\n\n// 定义组件 Props\nexport const Props = {};\n\n// 将"
  },
  {
    "path": "src/pages/componentsB/skeleton/index.vue",
    "chars": 4109,
    "preview": "<template>\n    <demo-page title=\"Skeleton 骨架屏\" desc=\"用于加载占位显示,支持动画效果和自定义样式。\" :apis=\"'skeleton'\">\n        <view class=\"u-"
  },
  {
    "path": "src/pages/componentsB/steps/index.vue",
    "chars": 5660,
    "preview": "<template>\n    <demo-page title=\"Steps 步骤条\" desc=\"用于展示步骤流程,支持不同模式和方向设置。\" :apis=\"'steps'\">\n        <template #default>\n  "
  },
  {
    "path": "src/pages/componentsB/sticky/index.vue",
    "chars": 2316,
    "preview": "<template>\n    <demo-page title=\"Sticky 吸顶\" desc=\"用于吸顶功能,支持自定义吸顶高度和启用禁用。\" :apis=\"'sticky'\">\n        <template #default>\n"
  },
  {
    "path": "src/pages/componentsB/swipeAction/index.vue",
    "chars": 4922,
    "preview": "<template>\n    <demo-page\n        title=\"SwipeAction 滑动操作\"\n        desc=\"用于滑动展示隐藏的操作按钮,支持自定义宽度和操作。\"\n        :apis=\"'swip"
  },
  {
    "path": "src/pages/componentsB/swiper/image.ts",
    "chars": 183087,
    "preview": "export const img1 =\n    'data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAAERCAMAAAAT79KpAAADAFBMVEV+AAFbAAF2AAlrAQOC"
  },
  {
    "path": "src/pages/componentsB/swiper/index.vue",
    "chars": 3736,
    "preview": "<template>\n    <demo-page title=\"Swiper 轮播\" desc=\"用于图片或内容轮播展示,支持多种指示器模式和自动播放。\" :apis=\"'swiper'\">\n        <template #defa"
  },
  {
    "path": "src/pages/componentsB/switch/index.vue",
    "chars": 4837,
    "preview": "<template>\n    <demo-page title=\"Switch 开关\" desc=\"用于开关切换,支持自定义颜色、大小和异步操作。\" :apis=\"'switch'\">\n        <template #default>"
  },
  {
    "path": "src/pages/componentsB/tabbar/index.vue",
    "chars": 5376,
    "preview": "<template>\n    <demo-page title=\"Tabbar 标签栏\" desc=\"用于展示应用底部导航栏,支持自定义颜色、中间按钮和徽标。\" :apis=\"'tabbar'\">\n        <template #de"
  },
  {
    "path": "src/pages/componentsB/table/index.vue",
    "chars": 3461,
    "preview": "<template>\n    <demo-page title=\"Table 表格\" desc=\"用于展示表格数据,支持自定义对齐方式和边框颜色。\" :apis=\"'table'\">\n        <template #default>\n"
  },
  {
    "path": "src/pages/componentsB/transition/index.vue",
    "chars": 14545,
    "preview": "<template>\n    <demo-page\n        title=\"Transition 过渡动画\"\n        desc=\"统一的过渡与进出场动效封装,支持多种预设、模式以及自定义时长/曲线/延迟。\"\n        :"
  },
  {
    "path": "src/pages/componentsB/upload/index.vue",
    "chars": 14841,
    "preview": "<template>\n    <demo-page\n        title=\"Upload 上传\"\n        desc=\"用于文件上传,支持图片、视频、文档等多种文件类型,支持多个文件、进度显示和自定义样式。\"\n        :"
  },
  {
    "path": "src/pages/componentsB/waterfall/index.vue",
    "chars": 7851,
    "preview": "<template>\n    <demo-page title=\"Waterfall 瀑布流\" desc=\"用于展示瀑布流布局,支持商品卡片展示和删除操作。\" :apis=\"'waterfall'\">\n        <template #"
  },
  {
    "path": "src/pages/componentsC/actionSheet/index.vue",
    "chars": 4541,
    "preview": "<template>\n    <demo-page title=\"ActionSheet 动作菜单\" desc=\"从下方弹出的菜单列表,提供用户选择操作。\" :apis=\"'actionSheet'\">\n        <template "
  },
  {
    "path": "src/pages/componentsC/alertTips/index.vue",
    "chars": 3458,
    "preview": "<template>\n    <demo-page title=\"AlertTips 警告提示\" desc=\"用于页面中向用户展示重要信息提示。\" :apis=\"'alertTips'\">\n        <template #defaul"
  },
  {
    "path": "src/pages/componentsC/badge/index.vue",
    "chars": 3971,
    "preview": "<template>\n    <demo-page\n        title=\"Badge 徽标数\"\n        desc=\"该组件一般用于图标右上角显示未读的消息数量,提示用户点击,有圆点和圆包含文字两种形式。\"\n        :"
  },
  {
    "path": "src/pages/componentsC/button/index.vue",
    "chars": 6008,
    "preview": "<template>\n    <demo-page\n        title=\"Button 按钮\"\n        desc=\"该组件内部实现以uni-app`button`组件为基础,进行二次封装,有更多的主题颜色,有可选的按钮点击水"
  },
  {
    "path": "src/pages/componentsC/cell/index.vue",
    "chars": 4866,
    "preview": "<template>\n    <demo-page title=\"Cell 单元格\" desc=\"cell单元格一般用于一组列表的情况,比如个人中心页,设置页等。\" :apis=\"'cell'\">\n        <view class=\""
  },
  {
    "path": "src/pages/componentsC/circleProgress/index.vue",
    "chars": 1723,
    "preview": "<template>\n    <demo-page\n        title=\"CircleProgress 圆形进度条\"\n        desc=\"圆形的进度条,用于展示进度,可自定义样式和颜色。\"\n        :apis=\"'c"
  },
  {
    "path": "src/pages/componentsC/collapse/index.vue",
    "chars": 4528,
    "preview": "<template>\n    <demo-page title=\"Collapse 折叠框\" desc=\"将内容折叠起来,节省空间,用户可以点击展开查看详情。\" :apis=\"'collapse'\">\n        <template #"
  },
  {
    "path": "src/pages/componentsC/color/index.vue",
    "chars": 6545,
    "preview": "<template>\n    <demo-page\n        title=\"Color 色彩\"\n        desc=\"uView经过大量调试和研究,得出一套专有的调色板,在各个组件内部,使用统一的配色,为您的产品带来统一又鲜明的"
  },
  {
    "path": "src/pages/componentsC/countDown/index.vue",
    "chars": 4255,
    "preview": "<template>\n    <demo-page title=\"CountDown 倒计时\" desc=\"以数字和分隔符的形式展示倒计时,精确到毫秒级别。\" :apis=\"'countDown'\">\n        <template #"
  },
  {
    "path": "src/pages/componentsC/countTo/index.vue",
    "chars": 4725,
    "preview": "<template>\n    <demo-page title=\"CountTo 数字滚动\" desc=\"以动画形式展示数字从起始值滚动到目标值的过程。\" :apis=\"'countTo'\">\n        <template #defa"
  },
  {
    "path": "src/pages/componentsC/fab/index.vue",
    "chars": 8288,
    "preview": "<template>\n    <demo-page\n        title=\"Fab 悬浮按钮\"\n        desc=\"悬浮按钮(Floating Action Button)用于在页面右下角或指定位置提供常用快捷操作入口,支持拖"
  },
  {
    "path": "src/pages/componentsC/gap/index.vue",
    "chars": 2509,
    "preview": "<template>\n    <demo-page title=\"Gap 间距\" desc=\"用于创建固定的间距,可以是垂直或水平方向。\" :apis=\"'gap'\">\n        <template #default>\n       "
  },
  {
    "path": "src/pages/componentsC/grid/index.vue",
    "chars": 8389,
    "preview": "<template>\n    <demo-page title=\"Grid 栅格\" desc=\"12列栅格系统,用于响应式布局。\" :apis=\"'grid'\">\n        <template #default>\n          "
  },
  {
    "path": "src/pages/componentsC/layout/index.vue",
    "chars": 4319,
    "preview": "<template>\n    <demo-page title=\"Layout 布局\" desc=\"通过基础的 12 分栏,迅速简便地创建布局 \" :apis=\"'layout'\">\n        <view class=\"u-demo\""
  },
  {
    "path": "src/pages/componentsC/link/index.vue",
    "chars": 1791,
    "preview": "<template>\n    <demo-page title=\"Link 链接\" desc=\"用于展示链接,支持不同样式和功能。\" :apis=\"'link'\">\n        <template #default>\n         "
  },
  {
    "path": "src/pages/componentsC/loadmore/index.vue",
    "chars": 3495,
    "preview": "<template>\n    <demo-page title=\"Loadmore 加载更多\" desc=\"用于列表加载更多内容的提示组件。\" :apis=\"'loadmore'\">\n        <template #default>\n"
  },
  {
    "path": "src/pages/componentsC/mask/index.vue",
    "chars": 2901,
    "preview": "<template>\n    <demo-page title=\"Mask 遮罩层\" desc=\"用于展示遮罩层,可用于模态对话框背景或其他遮挡效果。\" :apis=\"'mask'\">\n        <template #default>"
  },
  {
    "path": "src/pages/componentsC/messageInput/index.vue",
    "chars": 4259,
    "preview": "<template>\n    <demo-page title=\"MessageInput 消息输入\" desc=\"用于快速输入消息,常用于聊天界面。\" :apis=\"'messageInput'\">\n        <template #"
  },
  {
    "path": "src/pages/componentsC/numberBox/index.vue",
    "chars": 3293,
    "preview": "<template>\n    <demo-page title=\"NumberBox 数字输入\" desc=\"用于输入数字,可以通过按钮增减。\" :apis=\"'numberBox'\">\n        <template #default"
  },
  {
    "path": "src/pages/componentsC/pagination/index.vue",
    "chars": 1899,
    "preview": "<template>\n    <demo-page title=\"Pagination 分页\" desc=\"用于展示分页控件,支持多种配置方式。\" :apis=\"'pagination'\">\n        <template #defau"
  },
  {
    "path": "src/pages/componentsC/popup/index.vue",
    "chars": 4941,
    "preview": "<template>\n    <demo-page title=\"Popup 弹出框\" desc=\"用于展示弹出框内容,可以从上下左右展开。\" :apis=\"'popup'\">\n        <template #default>\n   "
  },
  {
    "path": "src/pages/componentsC/progress/index.vue",
    "chars": 3820,
    "preview": "<template>\n    <demo-page title=\"Progress 进度条\" desc=\"用于展示进度,可配置颜色和尺寸。\" :apis=\"'progress'\">\n        <template #default>\n "
  },
  {
    "path": "src/pages/componentsC/section/index.vue",
    "chars": 2774,
    "preview": "<template>\n    <demo-page title=\"Section 分段\" desc=\"用于分段显示内容,常用于对内容进行分组。\" :apis=\"'section'\">\n        <template #default>\n"
  },
  {
    "path": "src/pages/componentsC/subsection/index.vue",
    "chars": 3474,
    "preview": "<template>\n    <demo-page\n        title=\"Subsection 分段选择器\"\n        desc=\"用于在多个选项间进行选择,可切换按钮或分段样式。\"\n        :apis=\"'subse"
  },
  {
    "path": "src/pages/componentsC/text/index.vue",
    "chars": 5995,
    "preview": "<template>\n    <demo-page\n        title=\"Text 文本\"\n        desc=\"此组件集成了文本类在项目中的常用功能,包括状态,拨打电话,格式化日期,*替换,超链接...等功能。您大可不必在使"
  },
  {
    "path": "src/pages/example/about/about-me.vue",
    "chars": 3981,
    "preview": "<template>\n    <demo-page nav-title=\"关于我\" :nav-back=\"true\" hide-tabs>\n        <view class=\"about-me-page\">\n            <"
  },
  {
    "path": "src/pages/example/about/contributors.vue",
    "chars": 6916,
    "preview": "<template>\n    <demo-page nav-title=\"贡献者\" :nav-back=\"true\" hide-tabs>\n        <view class=\"contributors-page\">\n         "
  },
  {
    "path": "src/pages/example/about/faq.vue",
    "chars": 6007,
    "preview": "<template>\n    <demo-page nav-title=\"常见问题\" :nav-back=\"true\" hide-tabs>\n        <view class=\"faq-page\">\n            <view"
  },
  {
    "path": "src/pages/example/about/guide.vue",
    "chars": 9553,
    "preview": "<template>\n    <demo-page nav-title=\"使用指南\" :nav-back=\"true\" hide-tabs>\n        <view class=\"guide-page\">\n            <vi"
  },
  {
    "path": "src/pages/example/about/license.vue",
    "chars": 5361,
    "preview": "<template>\n    <demo-page nav-title=\"开源协议\" :nav-back=\"true\" hide-tabs>\n        <view class=\"license-page\">\n            <"
  },
  {
    "path": "src/pages/example/about/settings.vue",
    "chars": 11753,
    "preview": "<template>\n    <demo-page nav-title=\"设置\" :nav-back=\"true\" hide-tabs>\n        <view class=\"settings-page\">\n            <v"
  },
  {
    "path": "src/pages/example/about/version.vue",
    "chars": 6595,
    "preview": "<template>\n    <demo-page nav-title=\"版本信息\" :nav-back=\"true\" hide-tabs>\n        <view class=\"version-page\">\n            <"
  },
  {
    "path": "src/pages/example/about.vue",
    "chars": 17966,
    "preview": "<template>\n    <demo-page :nav-title=\"t('nav.about')\" :nav-back=\"false\" :tabbar=\"true\">\n        <view class=\"about-page\""
  },
  {
    "path": "src/pages/example/components.config.ts",
    "chars": 26589,
    "preview": "export default [\n    {\n        groupName: '基础组件',\n        groupName_en: 'Basic components',\n        icon: 'basics',\n    "
  },
  {
    "path": "src/pages/example/components.vue",
    "chars": 18013,
    "preview": "<template>\n    <demo-page ref=\"demoPageRef\" :nav-title=\"t('nav.components')\" :nav-back=\"false\" :tabbar=\"true\">\n        <"
  },
  {
    "path": "src/pages/example/experienceMap.vue",
    "chars": 28426,
    "preview": "<template>\n    <demo-page nav-title=\"体验地图\" :nav-back=\"false\" :tabbar=\"true\">\n        <view class=\"experience-map\">\n     "
  },
  {
    "path": "src/pages/example/fullScreen.vue",
    "chars": 300,
    "preview": "<template>\n    <u-full-screen :content=\"content\"> </u-full-screen>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } "
  },
  {
    "path": "src/pages/example/js.config.ts",
    "chars": 5345,
    "preview": "export default [\n    {\n        groupName: '网络',\n        groupName_en: 'Network',\n        icon: 'network',\n        list: "
  },
  {
    "path": "src/pages/example/js.vue",
    "chars": 4508,
    "preview": "<template>\n    <demo-page :nav-title=\"t('nav.js')\" :nav-back=\"false\" :tabbar=\"true\">\n        <view>\n            <page-na"
  },
  {
    "path": "src/pages/example/template.config.ts",
    "chars": 8846,
    "preview": "export default [\n    {\n        groupName: '部件',\n        groupName_en: 'Parts',\n        list: [\n            {\n           "
  },
  {
    "path": "src/pages/example/template.vue",
    "chars": 15481,
    "preview": "<template>\n    <demo-page :nav-title=\"t('nav.template')\" :nav-back=\"false\" :tabbar=\"true\">\n        <view class=\"template"
  },
  {
    "path": "src/pages/hooks/useModal/index.vue",
    "chars": 7104,
    "preview": "<template>\n    <demo-page\n        title=\"useModal 示例\"\n        desc=\"Modal 函数式调用 hooks,基于事件机制实现。支持应用级和页面级调用,可自定义标题、内容、按钮、"
  },
  {
    "path": "src/pages/hooks/useToast/index.vue",
    "chars": 4329,
    "preview": "<template>\n    <demo-page\n        title=\"useToast 示例\"\n        desc=\"Toast 函数式调用 hooks,基于事件机制实现。支持应用级和页面级调用,可自定义主题、图标、加载状"
  },
  {
    "path": "src/pages/index/index.vue",
    "chars": 745,
    "preview": "<template>\r\n    <view class=\"content\">\r\n        <image class=\"logo\" src=\"/static/logo.png\" />\r\n        <view class=\"text"
  },
  {
    "path": "src/pages/library/color/index.vue",
    "chars": 2357,
    "preview": "<template>\n    <demo-page\n        title=\"Color 颜色\"\n        desc=\"用于获取和展示颜色对象,包含主题色、成功、警告、错误等多种预定义颜色。\"\n        :apis=\"'co"
  },
  {
    "path": "src/pages/library/colorSwitch/index.vue",
    "chars": 2369,
    "preview": "<template>\n    <demo-page\n        title=\"ColorSwitch 色系切换\"\n        desc=\"用于切换应用主题色,支持亮色和暗黑两种模式切换。\"\n        :apis=\"'color"
  },
  {
    "path": "src/pages/library/debounce/index.vue",
    "chars": 3238,
    "preview": "<template>\n    <demo-page\n        title=\"Debounce 防抖\"\n        desc=\"用于防止函数频繁执行,延迟函数执行直到调用停止后的指定时间。\"\n        :apis=\"'debo"
  },
  {
    "path": "src/pages/library/deepClone/index.vue",
    "chars": 1100,
    "preview": "<template>\n    <demo-page title=\"DeepClone 深拷贝\" desc=\"用于实现对象和数组的深度克隆,完全独立于原对象。\" :apis=\"'deepClone'\">\n        <template #"
  },
  {
    "path": "src/pages/library/deepMerge/index.vue",
    "chars": 2217,
    "preview": "<template>\n    <demo-page title=\"DeepMerge 深合并\" desc=\"用于实现对象的深度合并,递归合并嵌套的对象属性。\" :apis=\"'deepMerge'\">\n        <template #"
  },
  {
    "path": "src/pages/library/getRect/index.vue",
    "chars": 3457,
    "preview": "<template>\n    <demo-page title=\"GetRect 获取位置尺寸\" desc=\"用于获取DOM元素的位置和尺寸信息,支持跨平台应用。\" :apis=\"'getRect'\">\n        <template "
  },
  {
    "path": "src/pages/library/guid/index.vue",
    "chars": 2442,
    "preview": "<template>\n    <demo-page title=\"Guid 唯一值\" desc=\"用于生成全局唯一标识符GUID,每次生成都不相同。\" :apis=\"'guid'\">\n        <template #default>\n"
  },
  {
    "path": "src/pages/library/http/index.vue",
    "chars": 15830,
    "preview": "<template>\n    <demo-page\n        ref=\"demoPageRef\"\n        title=\"HTTP 请求\"\n        desc=\"用于发送HTTP请求,支持GET、POST等多种方法和拦截器"
  },
  {
    "path": "src/pages/library/md5/index.vue",
    "chars": 1434,
    "preview": "<template>\n    <demo-page title=\"Md5 MD5加密\" desc=\"用于对字符串进行MD5加密,生成不可逆的128位哈希值。\" :apis=\"'md5'\">\n        <template #defaul"
  },
  {
    "path": "src/pages/library/mpShare/index.vue",
    "chars": 743,
    "preview": "<template>\n    <demo-page title=\"MpShare 小程序分享\" desc=\"用于小程序的分享功能,支持分享到朋友圈、群聊等。\" :apis=\"'mpShare'\">\n        <template #de"
  },
  {
    "path": "src/pages/library/queryParams/index.vue",
    "chars": 1617,
    "preview": "<template>\n    <demo-page title=\"QueryParams URL参数\" desc=\"用于解析和操作URL查询参数,支持参数提取和拼接。\" :apis=\"'queryParams'\">\n        <tem"
  },
  {
    "path": "src/pages/library/random/index.vue",
    "chars": 1894,
    "preview": "<template>\n    <demo-page title=\"Random 随机数\" desc=\"用于生成指定范围内的随机数或随机小数。\" :apis=\"'random'\">\n        <template #default>\n  "
  },
  {
    "path": "src/pages/library/randomArray/index.vue",
    "chars": 1388,
    "preview": "<template>\n    <demo-page title=\"RandomArray 随机数组\" desc=\"用于从数组中随机选取指定数量的元素,不重复。\" :apis=\"'randomArray'\">\n        <templat"
  },
  {
    "path": "src/pages/library/route/index.vue",
    "chars": 2984,
    "preview": "<template>\n    <demo-page title=\"Route 路由\" desc=\"用于页面路由导航,支持参数传递和页面返回。\" :apis=\"'route'\">\n        <template #default>\n   "
  },
  {
    "path": "src/pages/library/route/routeTo.vue",
    "chars": 1119,
    "preview": "<template>\n    <demo-page hide-tabs nav-title=\"路由测试\">\n        <view class=\"u-demo\">\n            <view class=\"u-demo-wrap"
  },
  {
    "path": "src/pages/library/test/index.vue",
    "chars": 3905,
    "preview": "<template>\n    <demo-page title=\"Test 规则校验\" desc=\"用于测试和验证工具库的各种函数功能。\" :apis=\"'test'\">\n        <template #default>\n      "
  },
  {
    "path": "src/pages/library/timeFormat/index.vue",
    "chars": 2196,
    "preview": "<template>\n    <demo-page title=\"TimeFormat 时间格式化\" desc=\"用于将时间戳格式化为指定格式的时间字符串。\" :apis=\"'timeFormat'\">\n        <template "
  },
  {
    "path": "src/pages/library/timeFrom/index.vue",
    "chars": 2525,
    "preview": "<template>\n    <demo-page title=\"TimeFrom 时间转换\" desc=\"用于将时间戳转换为相对时间,如几分钟前、几小时前等。\" :apis=\"'timeFrom'\">\n        <template "
  },
  {
    "path": "src/pages/library/trim/index.vue",
    "chars": 2098,
    "preview": "<template>\n    <demo-page title=\"Trim 字符串裁剪\" desc=\"用于移除字符串两端的空格、特定字符或多种空白字符。\" :apis=\"'trim'\">\n        <template #default"
  },
  {
    "path": "src/pages/other/locale/index.vue",
    "chars": 6700,
    "preview": "<script setup lang=\"ts\">\nimport { ref, computed, onMounted } from 'vue';\nimport { useLocale } from 'uview-pro';\nimport {"
  },
  {
    "path": "src/pages/other/theme/index.vue",
    "chars": 13171,
    "preview": "<script setup lang=\"ts\">\nimport type { DarkMode } from 'uview-pro/types/global';\nimport { useTheme, $u } from 'uview-pro"
  },
  {
    "path": "src/pages/scenes/dashboard/index.vue",
    "chars": 15668,
    "preview": "<template>\n    <demo-page hide-tabs title=\"数据统计\" desc=\"统计你的使用情况,了解你的使用习惯。\" :nav-back=\"true\">\n        <view class=\"dashbo"
  },
  {
    "path": "src/pages/scenes/favorites/index.vue",
    "chars": 5438,
    "preview": "<template>\n    <demo-page hide-tabs title=\"我的收藏\" desc=\"收藏喜欢的组件\" :nav-back=\"true\">\n        <view class=\"favorites-contain"
  },
  {
    "path": "src/pages/scenes/index.vue",
    "chars": 3445,
    "preview": "<template>\n    <demo-page hide-tabs nav-title=\"实用场景\" :nav-back=\"true\">\n        <view class=\"scenes-container\">\n         "
  }
]

// ... and 433 more files (download for full content)

About this extraction

This page contains the full source code of the anyup/uView-Pro GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 633 files (3.4 MB), approximately 915.1k tokens, and a symbol index with 699 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!