├── .github ├── ISSUE_TEMPLATE │ ├── bug-报告.md │ └── 功能请求.md ├── dependabot.yml ├── pull_request_template.md └── workflows │ ├── codeql.yml │ └── update-oss-licenses-dist.yml ├── .gitignore ├── LICENSE ├── QQVerLiteBanner.png ├── README.md ├── SECURITY.md ├── UserAgreement.md └── source ├── .eslintrc.js ├── .gitattributes ├── .gitignore ├── LICENSE ├── OSSLicensesBuildFormat.json ├── OSSLicensesBuilder.js ├── OSSLicensesBuilderConfig.json5 ├── app.js ├── app.json ├── app.wxss ├── assets ├── Built-with-TDesign-Licensed-under-MulanPubLv2-dark.png └── Built-with-TDesign-Licensed-under-MulanPubLv2-light.png ├── miniprogram_npm ├── dayjs │ ├── index.js │ └── index.js.map ├── extract-urls │ ├── index.js │ └── index.js.map ├── himalaya │ ├── index.js │ └── index.js.map ├── json5 │ ├── index.js │ └── index.js.map ├── jsuri │ ├── index.js │ └── index.js.map ├── mobx-miniprogram-bindings │ ├── index.js │ └── index.js.map ├── mobx-miniprogram │ ├── index.js │ └── index.js.map ├── semver │ ├── index.js │ └── index.js.map └── tdesign-miniprogram │ ├── .wechatide.ib.json │ ├── action-sheet │ ├── action-sheet.d.ts │ ├── action-sheet.js │ ├── action-sheet.json │ ├── action-sheet.wxml │ ├── action-sheet.wxs │ ├── action-sheet.wxss │ ├── index.d.ts │ ├── index.js │ ├── props.js │ ├── show.d.ts │ ├── show.js │ ├── template │ │ ├── grid.wxml │ │ └── list.wxml │ └── type.js │ ├── avatar-group │ ├── avatar-group.d.ts │ ├── avatar-group.js │ ├── avatar-group.json │ ├── avatar-group.wxml │ ├── avatar-group.wxss │ ├── props.js │ └── type.js │ ├── avatar │ ├── avatar.d.ts │ ├── avatar.js │ ├── avatar.json │ ├── avatar.wxml │ ├── avatar.wxs │ ├── avatar.wxss │ ├── props.js │ └── type.js │ ├── back-top │ ├── back-top.d.ts │ ├── back-top.js │ ├── back-top.json │ ├── back-top.wxml │ ├── back-top.wxss │ ├── props.js │ └── type.js │ ├── badge │ ├── badge.d.ts │ ├── badge.js │ ├── badge.json │ ├── badge.wxml │ ├── badge.wxs │ ├── badge.wxss │ ├── index.d.ts │ ├── index.js │ ├── props.js │ └── type.js │ ├── button │ ├── button.d.ts │ ├── button.js │ ├── button.json │ ├── button.wxml │ ├── button.wxss │ ├── index.d.ts │ ├── index.js │ ├── props.js │ └── type.js │ ├── calendar │ ├── calendar-header.wxml │ ├── calendar.d.ts │ ├── calendar.js │ ├── calendar.json │ ├── calendar.wxml │ ├── calendar.wxs │ ├── calendar.wxss │ ├── index.d.ts │ ├── index.js │ ├── props.js │ ├── template.wxml │ ├── type.js │ ├── utils.d.ts │ └── utils.js │ ├── cascader │ ├── cascader.d.ts │ ├── cascader.js │ ├── cascader.json │ ├── cascader.wxml │ ├── cascader.wxss │ ├── props.js │ └── type.js │ ├── cell-group │ ├── cell-group.d.ts │ ├── cell-group.js │ ├── cell-group.json │ ├── cell-group.wxml │ ├── cell-group.wxss │ ├── props.js │ └── type.js │ ├── cell │ ├── cell.d.ts │ ├── cell.js │ ├── cell.json │ ├── cell.wxml │ ├── cell.wxss │ ├── props.js │ └── type.js │ ├── check-tag │ ├── check-tag.d.ts │ ├── check-tag.js │ ├── check-tag.json │ ├── check-tag.wxml │ ├── check-tag.wxss │ ├── props.js │ └── type.js │ ├── checkbox-group │ ├── checkbox-group.d.ts │ ├── checkbox-group.js │ ├── checkbox-group.json │ ├── checkbox-group.wxml │ ├── checkbox-group.wxss │ ├── props.js │ └── type.js │ ├── checkbox │ ├── checkbox.d.ts │ ├── checkbox.js │ ├── checkbox.json │ ├── checkbox.wxml │ ├── checkbox.wxss │ ├── props.js │ └── type.js │ ├── col │ ├── col.d.ts │ ├── col.js │ ├── col.json │ ├── col.wxml │ ├── col.wxs │ ├── col.wxss │ ├── props.js │ └── type.js │ ├── collapse-panel │ ├── collapse-panel.d.ts │ ├── collapse-panel.js │ ├── collapse-panel.json │ ├── collapse-panel.wxml │ ├── collapse-panel.wxss │ ├── props.js │ └── type.js │ ├── collapse │ ├── collapse.d.ts │ ├── collapse.js │ ├── collapse.json │ ├── collapse.wxml │ ├── collapse.wxss │ ├── index.d.ts │ ├── index.js │ ├── props.js │ └── type.js │ ├── color-picker │ ├── color-picker.d.ts │ ├── color-picker.js │ ├── color-picker.json │ ├── color-picker.wxml │ ├── color-picker.wxss │ ├── constants.d.ts │ ├── constants.js │ ├── interfaces.d.ts │ ├── interfaces.js │ ├── props.js │ ├── template.wxml │ ├── type.js │ ├── utils.d.ts │ └── utils.js │ ├── common │ ├── bus.d.ts │ ├── bus.js │ ├── common.d.ts │ ├── common.js │ ├── component.d.ts │ ├── component.js │ ├── config.d.ts │ ├── config.js │ ├── shared │ │ ├── calendar │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ └── type.js │ │ ├── color-picker │ │ │ ├── cmyk.d.ts │ │ │ ├── cmyk.js │ │ │ ├── color.d.ts │ │ │ ├── color.js │ │ │ ├── gradient.d.ts │ │ │ ├── gradient.js │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ ├── date.d.ts │ │ └── date.js │ ├── src │ │ ├── control.d.ts │ │ ├── control.js │ │ ├── flatTool.d.ts │ │ ├── flatTool.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── instantiationDecorator.d.ts │ │ ├── instantiationDecorator.js │ │ ├── superComponent.d.ts │ │ └── superComponent.js │ ├── style │ │ ├── _variables.wxss │ │ ├── base.wxss │ │ ├── icons.wxss │ │ ├── index.wxss │ │ ├── mixins │ │ │ ├── _border.wxss │ │ │ ├── _clearfix.wxss │ │ │ ├── _cursor.wxss │ │ │ ├── _ellipsis.wxss │ │ │ ├── _hairline.wxss │ │ │ ├── _index.wxss │ │ │ └── _other.wxss │ │ ├── theme │ │ │ ├── _components.wxss │ │ │ ├── _dark.wxss │ │ │ ├── _font.wxss │ │ │ ├── _index.wxss │ │ │ ├── _light.wxss │ │ │ ├── _radius.wxss │ │ │ └── _spacer.wxss │ │ └── utilities │ │ │ └── _index.wxss │ ├── template │ │ ├── badge.wxml │ │ ├── button.wxml │ │ ├── icon.wxml │ │ └── image.wxml │ ├── utils.d.ts │ ├── utils.js │ ├── utils.wxs │ ├── validator.d.ts │ ├── validator.js │ ├── version.d.ts │ ├── version.js │ ├── wechat.d.ts │ └── wechat.js │ ├── count-down │ ├── count-down.d.ts │ ├── count-down.js │ ├── count-down.json │ ├── count-down.wxml │ ├── count-down.wxs │ ├── count-down.wxss │ ├── props.js │ ├── type.js │ ├── utils.d.ts │ └── utils.js │ ├── date-time-picker │ ├── date-time-picker.d.ts │ ├── date-time-picker.js │ ├── date-time-picker.json │ ├── date-time-picker.wxml │ ├── date-time-picker.wxss │ ├── locale │ │ ├── dayjs.d.ts │ │ ├── dayjs.js │ │ ├── en.d.ts │ │ ├── en.js │ │ ├── ja.d.ts │ │ ├── ja.js │ │ ├── ko.d.ts │ │ ├── ko.js │ │ ├── ru.d.ts │ │ ├── ru.js │ │ ├── tc.d.ts │ │ ├── tc.js │ │ ├── zh.d.ts │ │ └── zh.js │ ├── props.js │ └── type.js │ ├── dialog │ ├── dialog.d.ts │ ├── dialog.js │ ├── dialog.json │ ├── dialog.wxml │ ├── dialog.wxs │ ├── dialog.wxss │ ├── index.d.ts │ ├── index.js │ ├── props.js │ └── type.js │ ├── divider │ ├── divider.d.ts │ ├── divider.js │ ├── divider.json │ ├── divider.wxml │ ├── divider.wxss │ ├── props.js │ └── type.js │ ├── drawer │ ├── drawer.d.ts │ ├── drawer.js │ ├── drawer.json │ ├── drawer.wxml │ ├── drawer.wxss │ ├── props.js │ └── type.js │ ├── dropdown-item │ ├── dropdown-item.d.ts │ ├── dropdown-item.js │ ├── dropdown-item.json │ ├── dropdown-item.wxml │ ├── dropdown-item.wxss │ ├── index.wxs │ ├── props.js │ └── type.js │ ├── dropdown-menu │ ├── dropdown-menu.d.ts │ ├── dropdown-menu.js │ ├── dropdown-menu.json │ ├── dropdown-menu.wxml │ ├── dropdown-menu.wxss │ ├── index.d.ts │ ├── index.js │ ├── props.js │ └── type.js │ ├── empty │ ├── empty.d.ts │ ├── empty.js │ ├── empty.json │ ├── empty.wxml │ ├── empty.wxss │ ├── props.js │ └── type.js │ ├── fab │ ├── draggable │ │ ├── draggable.d.ts │ │ ├── draggable.js │ │ ├── draggable.json │ │ ├── draggable.wxml │ │ ├── draggable.wxss │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── props.js │ │ └── type.js │ ├── fab.d.ts │ ├── fab.js │ ├── fab.json │ ├── fab.wxml │ ├── fab.wxss │ ├── props.js │ ├── template │ │ ├── draggable.wxml │ │ └── view.wxml │ └── type.js │ ├── footer │ ├── footer.d.ts │ ├── footer.js │ ├── footer.json │ ├── footer.wxml │ ├── footer.wxss │ ├── props.js │ └── type.js │ ├── grid-item │ ├── grid-item.d.ts │ ├── grid-item.js │ ├── grid-item.json │ ├── grid-item.wxml │ ├── grid-item.wxss │ ├── props.js │ └── type.js │ ├── grid │ ├── grid.d.ts │ ├── grid.js │ ├── grid.json │ ├── grid.wxml │ ├── grid.wxss │ ├── props.js │ └── type.js │ ├── guide │ ├── content.wxml │ ├── guide.d.ts │ ├── guide.js │ ├── guide.json │ ├── guide.wxml │ ├── guide.wxss │ ├── props.js │ └── type.js │ ├── icon │ ├── icon.d.ts │ ├── icon.js │ ├── icon.json │ ├── icon.wxml │ ├── icon.wxss │ ├── props.js │ └── type.js │ ├── image-viewer │ ├── image-viewer.d.ts │ ├── image-viewer.js │ ├── image-viewer.json │ ├── image-viewer.wxml │ ├── image-viewer.wxss │ ├── props.js │ └── type.js │ ├── image │ ├── image-info.json │ ├── image.d.ts │ ├── image.js │ ├── image.json │ ├── image.wxml │ ├── image.wxss │ ├── index.d.ts │ ├── index.js │ ├── props.js │ └── type.js │ ├── index.d.ts │ ├── index.js │ ├── indexes-anchor │ ├── indexes-anchor.d.ts │ ├── indexes-anchor.js │ ├── indexes-anchor.json │ ├── indexes-anchor.wxml │ ├── indexes-anchor.wxss │ ├── props.js │ └── type.js │ ├── indexes │ ├── indexes.d.ts │ ├── indexes.js │ ├── indexes.json │ ├── indexes.wxml │ ├── indexes.wxs │ ├── indexes.wxss │ ├── props.js │ └── type.js │ ├── input │ ├── input.d.ts │ ├── input.js │ ├── input.json │ ├── input.wxml │ ├── input.wxs │ ├── input.wxss │ ├── props.js │ └── type.js │ ├── link │ ├── link.d.ts │ ├── link.js │ ├── link.json │ ├── link.wxml │ ├── link.wxss │ ├── props.js │ └── type.js │ ├── loading │ ├── index.d.ts │ ├── index.js │ ├── loading.d.ts │ ├── loading.js │ ├── loading.json │ ├── loading.wxml │ ├── loading.wxss │ ├── props.js │ └── type.js │ ├── message-item │ ├── index.d.ts │ ├── index.js │ ├── message-item.d.ts │ ├── message-item.js │ ├── message-item.json │ ├── message-item.wxml │ ├── message-item.wxs │ └── message-item.wxss │ ├── message │ ├── index.d.ts │ ├── index.js │ ├── message.d.ts │ ├── message.interface.d.ts │ ├── message.interface.js │ ├── message.js │ ├── message.json │ ├── message.wxml │ ├── message.wxss │ ├── props.js │ └── type.js │ ├── miniprogram_npm │ ├── dayjs │ │ ├── index.js │ │ ├── locale │ │ │ ├── en.js │ │ │ ├── ja.js │ │ │ ├── ko.js │ │ │ ├── ru.js │ │ │ ├── zh-cn.js │ │ │ └── zh-tw.js │ │ └── plugin │ │ │ └── localeData.js │ ├── tinycolor2 │ │ └── index.js │ └── tslib │ │ └── index.js │ ├── mixins │ ├── page-scroll.d.ts │ ├── page-scroll.js │ ├── theme-change.d.ts │ ├── theme-change.js │ ├── touch.d.ts │ ├── touch.js │ ├── transition.d.ts │ ├── transition.js │ ├── using-custom-navbar.d.ts │ └── using-custom-navbar.js │ ├── navbar │ ├── navbar.d.ts │ ├── navbar.js │ ├── navbar.json │ ├── navbar.wxml │ ├── navbar.wxss │ ├── props.js │ └── type.js │ ├── notice-bar │ ├── notice-bar.d.ts │ ├── notice-bar.js │ ├── notice-bar.json │ ├── notice-bar.wxml │ ├── notice-bar.wxss │ ├── props.js │ └── type.js │ ├── overlay │ ├── index.d.ts │ ├── index.js │ ├── overlay.d.ts │ ├── overlay.js │ ├── overlay.json │ ├── overlay.wxml │ ├── overlay.wxss │ ├── props.js │ └── type.js │ ├── picker-item │ ├── picker-item.d.ts │ ├── picker-item.js │ ├── picker-item.json │ ├── picker-item.wxml │ ├── picker-item.wxss │ ├── props.js │ └── type.js │ ├── picker │ ├── picker.d.ts │ ├── picker.js │ ├── picker.json │ ├── picker.wxml │ ├── picker.wxss │ ├── props.js │ ├── template.wxml │ └── type.js │ ├── popup │ ├── index.d.ts │ ├── index.js │ ├── popup.d.ts │ ├── popup.js │ ├── popup.json │ ├── popup.wxml │ ├── popup.wxs │ ├── popup.wxss │ ├── props.js │ └── type.js │ ├── progress │ ├── progress.d.ts │ ├── progress.js │ ├── progress.json │ ├── progress.wxml │ ├── progress.wxs │ ├── progress.wxss │ ├── props.js │ ├── type.js │ ├── utils.d.ts │ └── utils.js │ ├── pull-down-refresh │ ├── props.js │ ├── pull-down-refresh.d.ts │ ├── pull-down-refresh.js │ ├── pull-down-refresh.json │ ├── pull-down-refresh.wxml │ ├── pull-down-refresh.wxss │ └── type.js │ ├── radio-group │ ├── props.js │ ├── radio-group.d.ts │ ├── radio-group.js │ ├── radio-group.json │ ├── radio-group.wxml │ ├── radio-group.wxss │ └── type.js │ ├── radio │ ├── props.js │ ├── radio.d.ts │ ├── radio.js │ ├── radio.json │ ├── radio.wxml │ ├── radio.wxss │ └── type.js │ ├── rate │ ├── props.js │ ├── rate.d.ts │ ├── rate.js │ ├── rate.json │ ├── rate.wxml │ ├── rate.wxs │ ├── rate.wxss │ └── type.js │ ├── result │ ├── index.d.ts │ ├── index.js │ ├── props.js │ ├── result.d.ts │ ├── result.js │ ├── result.json │ ├── result.wxml │ ├── result.wxss │ └── type.js │ ├── row │ ├── props.js │ ├── row.d.ts │ ├── row.js │ ├── row.json │ ├── row.wxml │ ├── row.wxs │ ├── row.wxss │ └── type.js │ ├── scroll-view │ ├── scroll-view.d.ts │ ├── scroll-view.js │ ├── scroll-view.json │ ├── scroll-view.wxml │ └── scroll-view.wxss │ ├── search │ ├── props.js │ ├── search.d.ts │ ├── search.js │ ├── search.json │ ├── search.wxml │ ├── search.wxs │ ├── search.wxss │ └── type.js │ ├── side-bar-item │ ├── props.js │ ├── side-bar-item.d.ts │ ├── side-bar-item.js │ ├── side-bar-item.json │ ├── side-bar-item.wxml │ ├── side-bar-item.wxss │ └── type.js │ ├── side-bar │ ├── props.js │ ├── side-bar.d.ts │ ├── side-bar.js │ ├── side-bar.json │ ├── side-bar.wxml │ ├── side-bar.wxss │ └── type.js │ ├── skeleton │ ├── props.js │ ├── skeleton.d.ts │ ├── skeleton.js │ ├── skeleton.json │ ├── skeleton.wxml │ ├── skeleton.wxss │ └── type.js │ ├── slider │ ├── props.js │ ├── slider.d.ts │ ├── slider.js │ ├── slider.json │ ├── slider.wxml │ ├── slider.wxs │ ├── slider.wxss │ ├── tool.d.ts │ ├── tool.js │ └── type.js │ ├── step-item │ ├── props.js │ ├── step-item.d.ts │ ├── step-item.js │ ├── step-item.json │ ├── step-item.wxml │ ├── step-item.wxs │ ├── step-item.wxss │ └── type.js │ ├── stepper │ ├── props.js │ ├── stepper.d.ts │ ├── stepper.js │ ├── stepper.json │ ├── stepper.wxml │ ├── stepper.wxss │ └── type.js │ ├── steps │ ├── props.js │ ├── steps.d.ts │ ├── steps.js │ ├── steps.json │ ├── steps.wxml │ ├── steps.wxss │ └── type.js │ ├── sticky │ ├── index.d.ts │ ├── index.js │ ├── props.js │ ├── sticky.d.ts │ ├── sticky.js │ ├── sticky.json │ ├── sticky.wxml │ ├── sticky.wxss │ └── type.js │ ├── swipe-cell │ ├── props.js │ ├── swipe-cell.d.ts │ ├── swipe-cell.js │ ├── swipe-cell.json │ ├── swipe-cell.wxml │ ├── swipe-cell.wxs │ ├── swipe-cell.wxss │ └── type.js │ ├── swiper-nav │ ├── index.d.ts │ ├── index.js │ ├── props.js │ ├── swiper-nav.d.ts │ ├── swiper-nav.js │ ├── swiper-nav.json │ ├── swiper-nav.wxml │ ├── swiper-nav.wxss │ └── type.js │ ├── swiper │ ├── index.wxs │ ├── props.js │ ├── swiper.d.ts │ ├── swiper.js │ ├── swiper.json │ ├── swiper.wxml │ ├── swiper.wxss │ └── type.js │ ├── switch │ ├── props.js │ ├── switch.d.ts │ ├── switch.js │ ├── switch.json │ ├── switch.wxml │ ├── switch.wxss │ └── type.js │ ├── tab-bar-item │ ├── props.js │ ├── tab-bar-item.d.ts │ ├── tab-bar-item.js │ ├── tab-bar-item.json │ ├── tab-bar-item.wxml │ ├── tab-bar-item.wxss │ └── type.js │ ├── tab-bar │ ├── props.js │ ├── tab-bar.d.ts │ ├── tab-bar.js │ ├── tab-bar.json │ ├── tab-bar.wxml │ ├── tab-bar.wxss │ └── type.js │ ├── tab-panel │ ├── props.js │ ├── tab-panel.d.ts │ ├── tab-panel.js │ ├── tab-panel.json │ ├── tab-panel.wxml │ ├── tab-panel.wxss │ └── type.js │ ├── tabs │ ├── index.d.ts │ ├── index.js │ ├── props.js │ ├── tabs.d.ts │ ├── tabs.js │ ├── tabs.json │ ├── tabs.wxml │ ├── tabs.wxs │ ├── tabs.wxss │ └── type.js │ ├── tag │ ├── props.js │ ├── tag.d.ts │ ├── tag.js │ ├── tag.json │ ├── tag.wxml │ ├── tag.wxss │ └── type.js │ ├── textarea │ ├── props.js │ ├── textarea.d.ts │ ├── textarea.js │ ├── textarea.json │ ├── textarea.wxml │ ├── textarea.wxs │ ├── textarea.wxss │ └── type.js │ ├── toast │ ├── index.d.ts │ ├── index.js │ ├── props.js │ ├── toast.d.ts │ ├── toast.js │ ├── toast.json │ ├── toast.wxml │ ├── toast.wxss │ └── type.js │ ├── transition │ ├── index.d.ts │ ├── index.js │ ├── props.js │ ├── transition.d.ts │ ├── transition.js │ ├── transition.json │ ├── transition.wxml │ ├── transition.wxss │ └── type.js │ ├── tree-select │ ├── index.wxs │ ├── props.js │ ├── tree-select.d.ts │ ├── tree-select.js │ ├── tree-select.json │ ├── tree-select.wxml │ ├── tree-select.wxss │ └── type.js │ └── upload │ ├── drag.wxs │ ├── props.js │ ├── type.js │ ├── upload-info.json │ ├── upload.d.ts │ ├── upload.js │ ├── upload.json │ ├── upload.wxml │ ├── upload.wxs │ └── upload.wxss ├── package.json ├── pages ├── index │ ├── index.js │ ├── index.json │ ├── index.wxml │ ├── index.wxs │ └── index.wxss ├── logs │ ├── logs.js │ ├── logs.json │ ├── logs.wxml │ └── logs.wxss ├── oss-licenses-menu │ ├── oss-licenses-menu.js │ ├── oss-licenses-menu.json │ ├── oss-licenses-menu.wxml │ └── oss-licenses-menu.wxss └── oss-licenses │ ├── oss-licenses.js │ ├── oss-licenses.json │ ├── oss-licenses.wxml │ └── oss-licenses.wxss ├── project.config.json ├── sitemap.json ├── theme.json ├── uno.config.js ├── unocss.wxss └── utils ├── MobXUtil.js ├── OSSLicensesDist.js ├── OSSLicensesDistText.js ├── ShiplyUtil.js ├── util.js └── util.wxs /.github/ISSUE_TEMPLATE/bug-报告.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug 报告 3 | about: 创建报告以帮助我们改进 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **描述错误** 11 | 对错误的清晰而简洁的描述。 12 | 13 | **重现步骤** 14 | 重现行为的步骤: 15 | 1. 转到“……” 16 | 2. 点击“……” 17 | 3. 向下滚动到“……” 18 | 4. 看到错误 19 | 20 | **期望行为** 21 | 对您期望发生的事情的清晰而简洁的描述。 22 | 23 | **截图** 24 | 如果适用,请添加截图以帮助解释您的问题。 25 | 26 | **微信(请填写以下信息):** 27 | - 版本:(例如 8.0.48) 28 | 29 | **智能手机(请填写以下信息):** 30 | - 设备(例如 iPhone 15 Pro Max) 31 | - 操作系统:(例如 iOS 17) 32 | 33 | **其他上下文** 34 | 在这里添加有关问题的任何其他上下文。 35 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/功能请求.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 功能请求 3 | about: 为此项目提出建议 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **您的功能请求是否与问题有关?请描述。** 11 | 对问题的清晰而简洁的描述。例如:我总是感到沮丧,当…… 12 | 13 | **描述您希望发生的解决方案** 14 | 对您希望发生的事情的清晰而简洁的描述。 15 | 16 | **描述您考虑过的替代方案** 17 | 对您考虑过的任何替代解决方案或功能的清晰而简洁的描述。 18 | 19 | **其他上下文** 20 | 在这里添加有关功能请求的任何其他上下文或截图。 21 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: npm 9 | directory: /source/ 10 | schedule: 11 | interval: daily 12 | 13 | - package-ecosystem: github-actions 14 | directory: /source/ 15 | schedule: 16 | interval: daily 17 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## 这个 PR 解决了什么问题? 2 | 3 | > 请补充以下信息 4 | 5 | ### 需求背景 6 | 7 | …… 8 | 9 | ### 更新日志 10 | 11 | #### 修复 12 | 13 | - …… 14 | 15 | #### 新增 16 | 17 | - …… 18 | 19 | #### 优化 20 | 21 | - …… 22 | 23 | #### 其它更改 24 | 25 | - …… 26 | 27 | #### 上游更改 28 | 29 | - …… 30 | 31 | ## 自检清单 32 | 33 | > 请确认下列所有选项并打勾 34 | 35 | - [ ] 此 PR 已实现我的所有预期更改,可以被合并。 36 | - [ ] 我确认此 PR 全部代码仅由本人(或联合作者)编写,代码所有权归本人(或联合作者)所有。 37 | - [ ] 此 PR 更新日志已提供(或无须提供)。 38 | - [ ] Readme 文档无须补充(或已补充)。 39 | 40 | > 请确认下列选项并打勾。如不认可选项内容或存在需备注内容,请在选项旁随附补充说明。 41 | 42 | - [ ] 我认可并确认我贡献的代码将以 [木兰公共许可证, 第2版](https://github.com/ArcticFoxPro/QQVersionListTool-WeChatMiniProgram/blob/main/LICENSE) 开源许可进行发行。 43 | - (单项选择)若后续项目决定更改开源许可: 44 | - [ ] 请通知我并等待我的决定 45 | - [ ] 无需通知,我授权项目所有者自行决定我的贡献的开源许可变更。 46 | - [ ] 其他,请补充说明:_______ -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | source/app.miniapp.json 3 | /source/i18n 4 | source/project.miniapp.json 5 | /source/.idea 6 | .DS_Store 7 | /source/.vscode 8 | source/node_modules 9 | /source/yarn.lock -------------------------------------------------------------------------------- /QQVerLiteBanner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArcticFoxPro/QQVersionListTool-WeChatMiniProgram/4e0cdfcab98536a556463f6d3cc84e357e614df3/QQVerLiteBanner.png -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | ## 上报漏洞 Reporting a Vulnerability 2 | 3 | 如果您发现了关于此项目的任何漏洞,请不要公开,请在[此处](https://github.com/ArcticFoxPro/QQVersionListTool-WeChatMiniProgram/security)向我们私下报告漏洞。 4 | 5 | If you discover any vulnerabilities regarding this project, please do not make them public and report them to us privately at [here](https://github.com/ArcticFoxPro/QQVersionListTool-WeChatMiniProgram/security). 6 | -------------------------------------------------------------------------------- /source/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Eslint config file 3 | * Documentation: https://eslint.org/docs/user-guide/configuring/ 4 | * Install the Eslint extension before using this feature. 5 | */ 6 | module.exports = { 7 | env: { 8 | es6: true, 9 | browser: true, 10 | node: true, 11 | }, 12 | ecmaFeatures: { 13 | modules: true, 14 | }, 15 | parserOptions: { 16 | ecmaVersion: 2018, 17 | sourceType: 'module', 18 | }, 19 | globals: { 20 | wx: true, 21 | App: true, 22 | Page: true, 23 | getCurrentPages: true, 24 | getApp: true, 25 | Component: true, 26 | requirePlugin: true, 27 | requireMiniProgram: true, 28 | }, 29 | // extends: 'eslint:recommended', 30 | rules: {}, 31 | } 32 | -------------------------------------------------------------------------------- /source/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /source/.gitignore: -------------------------------------------------------------------------------- 1 | # Windows 2 | [Dd]esktop.ini 3 | Thumbs.db 4 | $RECYCLE.BIN/ 5 | 6 | # macOS 7 | .DS_Store 8 | .fseventsd 9 | .Spotlight-V100 10 | .TemporaryItems 11 | .Trashes 12 | 13 | # Node.js 14 | node_modules/ 15 | project.private.config.json 16 | /pages/node_modules/ 17 | /pages/yarn.lock 18 | -------------------------------------------------------------------------------- /source/OSSLicensesBuildFormat.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "repository": "", 4 | "publisher": "", 5 | "email":"", 6 | "version": "", 7 | "description": "", 8 | "licenses": "", 9 | "licenseText": "", 10 | "path": false, 11 | "licenseFile": false, 12 | "copyright": false 13 | } -------------------------------------------------------------------------------- /source/OSSLicensesBuilderConfig.json5: -------------------------------------------------------------------------------- 1 | /** 2 | * 如需生成多个 npm 依赖目录的开放源代码许可信息,请在此列表下方添加更多对象 3 | * `outputFile`: 生成的文件名,无需添加 `.js` 后缀 4 | * `customFormat`: 自定义 license-checker-rseidelsohn 生成格式的 JSON 文件路径 5 | * `customPath`: 生成产物目标目录 6 | * `startPath`: 可选,指定扫描的 npm 依赖目录 7 | **/ 8 | [ 9 | { 10 | outputFile: "OSSLicensesDist", 11 | customFormat: "OSSLicensesBuildFormat.json", 12 | customPath: "utils/" 13 | } 14 | // 示例新增: 15 | /*,{ 16 | outputFile: "OSSLicensesDist", 17 | customFormat: "OSSLicensesBuildFormat.json", 18 | customPath: "subpackage/utils/", 19 | startPath: "subpackage/" 20 | }*/ 21 | ] -------------------------------------------------------------------------------- /source/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": [ 3 | "pages/index/index", 4 | "pages/oss-licenses-menu/oss-licenses-menu", 5 | "pages/oss-licenses/oss-licenses", 6 | "pages/logs/logs" 7 | ], 8 | "themeLocation": "theme.json", 9 | "window": { 10 | "navigationStyle": "custom", 11 | "navigationBarTextStyle": "@navTxtStyle", 12 | "navigationBarTitleText": "QQ 版本列表 Vigor", 13 | "navigationBarBackgroundColor": "#F6F6F6", 14 | "backgroundColor": "#F6F6F6" 15 | }, 16 | "componentFramework": "glass-easel", 17 | "sitemapLocation": "sitemap.json", 18 | "lazyCodeLoading": "requiredComponents", 19 | "renderer": "skyline", 20 | "rendererOptions": { 21 | "skyline": { 22 | "defaultDisplayBlock": true, 23 | "defaultContentBox": true 24 | } 25 | }, 26 | "darkmode": true 27 | } -------------------------------------------------------------------------------- /source/assets/Built-with-TDesign-Licensed-under-MulanPubLv2-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArcticFoxPro/QQVersionListTool-WeChatMiniProgram/4e0cdfcab98536a556463f6d3cc84e357e614df3/source/assets/Built-with-TDesign-Licensed-under-MulanPubLv2-dark.png -------------------------------------------------------------------------------- /source/assets/Built-with-TDesign-Licensed-under-MulanPubLv2-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArcticFoxPro/QQVersionListTool-WeChatMiniProgram/4e0cdfcab98536a556463f6d3cc84e357e614df3/source/assets/Built-with-TDesign-Licensed-under-MulanPubLv2-light.png -------------------------------------------------------------------------------- /source/miniprogram_npm/extract-urls/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.js","sourcesContent":["\n\nmodule.exports = (str, lower = false) => {\n const regexp = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,63}\\b([-a-zA-Z0-9()'@:%_\\+.~#?!&//=]*)/gi;\n const bracketsRegexp = /[()]|\\.$/g;\n\n if (typeof str !== 'string') {\n throw new TypeError(`The str argument should be a string, got ${typeof str}`);\n }\n\n if (str) {\n let urls = str.match(regexp);\n if (urls) {\n return lower ? urls.map((item) => item.toLowerCase().replace(bracketsRegexp, '')) : urls.map((item) => item.replace(bracketsRegexp, ''));\n } else {\n undefined;\n }\n } else {\n undefined;\n }\n};\n"]} -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.json: -------------------------------------------------------------------------------- 1 | {"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-popup":"../popup/popup","t-grid":"../grid/grid","t-grid-item":"../grid-item/grid-item"}} -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxs: -------------------------------------------------------------------------------- 1 | var getListThemeItemClass = function (props) { 2 | var classPrefix = props.classPrefix; 3 | var item = props.item; 4 | var prefix = props.prefix; 5 | var classList = [classPrefix + '__list-item']; 6 | if (item.disabled) { 7 | classList.push(prefix + '-is-disabled'); 8 | } 9 | return classList.join(' '); 10 | }; 11 | 12 | var isImage = function (name) { 13 | return name.indexOf('/') !== -1; 14 | }; 15 | 16 | module.exports = { 17 | getListThemeItemClass: getListThemeItemClass, 18 | isImage: isImage, 19 | }; 20 | -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/action-sheet/index.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { ActionSheetItem, ActionSheetTheme, ActionSheetShowOption } from './show'; 3 | export { ActionSheetItem, ActionSheetTheme, ActionSheetShowOption }; 4 | declare const _default: { 5 | show(options: ActionSheetShowOption): WechatMiniprogram.Component.TrivialInstance; 6 | close(options: ActionSheetShowOption): void; 7 | }; 8 | export default _default; 9 | -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/action-sheet/index.js: -------------------------------------------------------------------------------- 1 | import{show,close,ActionSheetTheme}from"./show";export{ActionSheetTheme};export default{show:e=>show(e),close:e=>close(e)}; -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/action-sheet/props.js: -------------------------------------------------------------------------------- 1 | const props={align:{type:String,value:"center"},cancelText:{type:String,value:""},count:{type:Number,value:8},description:{type:String,value:""},items:{type:Array,required:!0},popupProps:{type:Object,value:{}},showCancel:{type:Boolean,value:!0},showOverlay:{type:Boolean,value:!0},theme:{type:String,value:"list"},usingCustomNavbar:{type:Boolean,value:!1},visible:{type:Boolean,value:null,required:!0},defaultVisible:{type:Boolean,value:!1,required:!0}};export default props; -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/action-sheet/show.js: -------------------------------------------------------------------------------- 1 | import{__rest}from"tslib";import{getInstance}from"../common/utils";export var ActionSheetTheme;!function(t){t.List="list",t.Grid="grid"}(ActionSheetTheme||(ActionSheetTheme={}));export const show=function(t){const e=Object.assign({},t),{context:o,selector:n="#t-action-sheet"}=e,c=__rest(e,["context","selector"]),s=getInstance(o,n);if(s)return s.show(Object.assign({},c)),s;console.error("未找到组件,请确认 selector && context 是否正确")};export const close=function(t){const{context:e,selector:o="#t-action-sheet"}=Object.assign({},t),n=getInstance(e,o);n&&n.close()}; -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/action-sheet/template/list.wxml: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/action-sheet/type.js: -------------------------------------------------------------------------------- 1 | export{}; -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.json: -------------------------------------------------------------------------------- 1 | {"component":true,"styleIsolation":"shared","usingComponents":{"t-avatar":"../avatar/avatar"}} -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxml: -------------------------------------------------------------------------------- 1 | {{collapseAvatar}} -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/avatar-group/props.js: -------------------------------------------------------------------------------- 1 | const props={cascading:{type:String,value:"left-up"},collapseAvatar:{type:String},max:{type:Number},shape:{type:String},size:{type:String,value:""}};export default props; -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/avatar-group/type.js: -------------------------------------------------------------------------------- 1 | export{}; -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { SuperComponent, RelationsOptions } from '../common/src/index'; 3 | export default class Avatar extends SuperComponent { 4 | options: WechatMiniprogram.Component.ComponentOptions; 5 | externalClasses: string[]; 6 | properties: import("./type").TdAvatarProps; 7 | data: { 8 | prefix: string; 9 | classPrefix: string; 10 | isShow: boolean; 11 | zIndex: number; 12 | systemInfo: WechatMiniprogram.WindowInfo | WechatMiniprogram.SystemInfo; 13 | }; 14 | relations: RelationsOptions; 15 | observers: { 16 | icon(icon: any): void; 17 | }; 18 | methods: { 19 | hide(): void; 20 | onLoadError(e: WechatMiniprogram.CustomEvent): void; 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/avatar/avatar.json: -------------------------------------------------------------------------------- 1 | {"component":true,"styleIsolation":"shared","usingComponents":{"t-icon":"../icon/icon","t-badge":"../badge/badge","t-image":"../image/image"}} -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/avatar/props.js: -------------------------------------------------------------------------------- 1 | const props={alt:{type:String,value:""},badgeProps:{type:Object},bordered:{type:Boolean,value:!1},hideOnLoadFailed:{type:Boolean,value:!1},icon:{type:null},image:{type:String,value:""},imageProps:{type:Object},shape:{type:String},size:{type:String,value:""}};export default props; -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/avatar/type.js: -------------------------------------------------------------------------------- 1 | export{}; -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/back-top/back-top.d.ts: -------------------------------------------------------------------------------- 1 | import { SuperComponent, RelationsOptions } from '../common/src/index'; 2 | export default class BackTop extends SuperComponent { 3 | externalClasses: string[]; 4 | options: { 5 | multipleSlots: boolean; 6 | }; 7 | properties: import("./type").TdBackTopProps; 8 | relations: RelationsOptions; 9 | data: { 10 | prefix: string; 11 | classPrefix: string; 12 | _icon: any; 13 | hidden: boolean; 14 | }; 15 | observers: { 16 | icon(): void; 17 | scrollTop(value: number): void; 18 | }; 19 | lifetimes: { 20 | ready(): void; 21 | }; 22 | methods: { 23 | setIcon(v: any): void; 24 | toTop(): void; 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/back-top/back-top.json: -------------------------------------------------------------------------------- 1 | {"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}} -------------------------------------------------------------------------------- /source/miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxml: -------------------------------------------------------------------------------- 1 |