@cloudbase/weda-ui 0.2.11 → 0.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +240 -0
- package/README.md +7 -2
- package/package.json +85 -42
- package/src/.DS_Store +0 -0
- package/src/configs/.DS_Store +0 -0
- package/src/configs/components/button.json +7 -3
- package/src/configs/components/form/richText.json +1 -1
- package/src/configs/components/form/uploader.json +29 -1
- package/src/configs/components/form/uploaderFile.json +158 -0
- package/src/configs/components/image.json +16 -3
- package/src/configs/components/link.json +3 -3
- package/src/configs/components/richtextview.json +2 -2
- package/src/configs/components/scrollVeiw.json +5 -5
- package/src/configs/components/swiper.json +6 -6
- package/src/configs/components/tabs.json +3 -3
- package/src/configs/components/text.json +39 -4
- package/src/configs/index.js +5 -3
- package/src/mp/.gitignore +10 -0
- package/src/mp/components/button/index.js +1 -0
- package/src/mp/components/button/index.wxss +8 -0
- package/src/mp/components/container/index.js +4 -0
- package/src/mp/components/form/select/index.js +18 -0
- package/src/mp/components/form/uploader/index.js +26 -29
- package/src/mp/components/form/uploaderFile/index.js +233 -0
- package/src/mp/components/form/uploaderFile/index.json +9 -0
- package/src/mp/components/form/uploaderFile/index.wxml +46 -0
- package/src/mp/components/form/uploaderFile/index.wxss +105 -0
- package/src/mp/components/image/index.js +54 -52
- package/src/mp/components/text/index.js +33 -0
- package/src/mp/components/text/index.wxml +1 -1
- package/src/mp/components/text/index.wxss +18 -0
- package/src/mp/index.json +1 -0
- package/src/mp/utils/platform.js +20 -0
- package/src/mp/utils/tcb.js +11 -0
- package/src/web/.DS_Store +0 -0
- package/src/web/actions/showModal/{index.jsx → index.tsx} +53 -3
- package/src/web/components/auth/index.js +2 -2
- package/src/web/components/button/index.css +9 -0
- package/src/web/components/button/{index.jsx → index.tsx} +27 -41
- package/src/web/components/container/{index.jsx → index.tsx} +6 -10
- package/src/web/components/drawer/index.tsx +57 -0
- package/src/web/components/form/checkbox/{index.jsx → index.tsx} +24 -48
- package/src/web/components/form/enumSelect/{NormalSelect.jsx → NormalSelect.tsx} +2 -9
- package/src/web/components/form/form/index.tsx +48 -0
- package/src/web/components/form/formcell/{index.jsx → index.tsx} +6 -13
- package/src/web/components/form/input/index.css +41 -0
- package/src/web/components/form/input/{index.jsx → index.tsx} +34 -67
- package/src/web/components/form/radio/{index.jsx → index.tsx} +19 -42
- package/src/web/components/form/{renderDecorator.jsx → renderDecorator.tsx} +1 -3
- package/src/web/components/form/select/{h5.jsx → h5.tsx} +18 -62
- package/src/web/components/form/select/{index.jsx → index.tsx} +51 -94
- package/src/web/components/form/select/region/{cities.js → cities.ts} +1 -1
- package/src/web/components/form/select/region/{index.js → index.ts} +3 -3
- package/src/web/components/form/select/region/{provinces.js → provinces.ts} +1 -1
- package/src/web/components/form/select/region/{regions.js → regions.ts} +1 -1
- package/src/web/components/form/select/time.jsx +2 -2
- package/src/web/components/form/switch/{index.jsx → index.tsx} +30 -47
- package/src/web/components/form/textarea/{index.jsx → index.tsx} +22 -55
- package/src/web/components/form/tips/{index.jsx → index.tsx} +8 -22
- package/src/web/components/form/types.d.ts +12 -0
- package/src/web/components/form/uploader/{index.jsx → index.tsx} +16 -14
- package/src/web/components/form/uploader/{uploader.h5.jsx → uploader.h5.tsx} +67 -57
- package/src/web/components/form/uploader/{uploader.pc.jsx → uploader.pc.tsx} +26 -43
- package/src/web/components/form/uploaderFile/fail.svg +12 -0
- package/src/web/components/form/uploaderFile/index.css +423 -0
- package/src/web/components/form/uploaderFile/index.jsx +30 -0
- package/src/web/components/form/uploaderFile/pending.svg +18 -0
- package/src/web/components/form/uploaderFile/success.svg +12 -0
- package/src/web/components/form/uploaderFile/uploadFile.h5.tsx +578 -0
- package/src/web/components/form/uploaderFile/uploadFile.pc.tsx +507 -0
- package/src/web/components/image/image.tsx +188 -0
- package/src/web/components/image/{index.jsx → index.tsx} +22 -37
- package/src/web/components/index.js +37 -2
- package/src/web/components/link/{index.jsx → index.tsx} +19 -36
- package/src/web/components/modal/{index.jsx → index.tsx} +22 -9
- package/src/web/components/picker/{datePicker.jsx → datePicker.tsx} +11 -12
- package/src/web/components/picker/{picker.jsx → picker.tsx} +7 -10
- package/src/web/components/picker/{timePicker.jsx → timePicker.tsx} +8 -16
- package/src/web/components/richText/{const.js → const.ts} +0 -0
- package/src/web/components/richText/index.jsx +5 -2
- package/src/web/components/richTextView/index.tsx +67 -0
- package/src/web/components/scrollView/{index.jsx → index.tsx} +18 -33
- package/src/web/components/slot/{index.jsx → index.tsx} +8 -9
- package/src/web/components/swiper/index.css +5 -1
- package/src/web/components/swiper/{index.jsx → index.tsx} +79 -79
- package/src/web/components/tabs/index.tsx +33 -0
- package/src/web/components/tabs/{tabs.h5.jsx → tabs.h5.tsx} +4 -33
- package/src/web/components/tabs/{tabs.pc.jsx → tabs.pc.tsx} +5 -39
- package/src/web/components/text/index.css +18 -0
- package/src/web/components/text/index.tsx +69 -0
- package/src/web/components/uploaderFileView/index.css +11 -0
- package/src/web/components/uploaderFileView/index.jsx +75 -0
- package/src/web/components/uploaderView/{index.jsx → index.tsx} +12 -15
- package/src/web/types.d.ts +20 -0
- package/src/web/utils/constant.js +2 -0
- package/src/web/utils/loading-fallback.tsx +2 -0
- package/src/web/utils/platform.js +77 -6
- package/src/web/utils/useSetState.ts +14 -0
- package/src/web/utils/useSyncValue.ts +17 -0
- package/src/configs/components/button.svg +0 -18
- package/src/web/components/drawer/index.jsx +0 -64
- package/src/web/components/form/form/index.jsx +0 -76
- package/src/web/components/image/image.jsx +0 -187
- package/src/web/components/link/test/__snapshots__/storybook.test.js.snap +0 -754
- package/src/web/components/richTextView/index.jsx +0 -89
- package/src/web/components/tabs/index.jsx +0 -10
- package/src/web/components/text/index.jsx +0 -71
- package/src/web/utils/useSyncValue.js +0 -14
- package/src/web/wedatheme/.code.yml +0 -16
- package/src/web/wedatheme/.editorconfig +0 -9
- package/src/web/wedatheme/.eslintrc +0 -20
- package/src/web/wedatheme/.orange-ci.yml +0 -55
- package/src/web/wedatheme/.vscode/extensions.json +0 -3
- package/src/web/wedatheme/.vscode/settings.json +0 -11
- package/src/web/wedatheme/README.md +0 -50
- package/src/web/wedatheme/i18n/README.md +0 -4
- package/src/web/wedatheme/i18n/translation/index.js +0 -10
- package/src/web/wedatheme/i18n/translation/zh.js +0 -15
- package/src/web/wedatheme/jsconfig.json +0 -15
- package/src/web/wedatheme/mock/app.js +0 -42
- package/src/web/wedatheme/mock/history-context.js +0 -8
- package/src/web/wedatheme/mock/index.js +0 -3
- package/src/web/wedatheme/mock/layout/AppLayout.jsx +0 -28
- package/src/web/wedatheme/mock/layout/MenuWithRouter.jsx +0 -50
- package/src/web/wedatheme/mock/layout/index.js +0 -1
- package/src/web/wedatheme/package.json +0 -61
- package/src/web/wedatheme/public/index.html +0 -19
- package/src/web/wedatheme/src/app.js +0 -22
- package/src/web/wedatheme/src/components/README.md +0 -4
- package/src/web/wedatheme/src/configs/menu.js +0 -9
- package/src/web/wedatheme/src/routes/wedatheme-index/Component.jsx +0 -402
- package/src/web/wedatheme/src/routes/wedatheme-index/Form.jsx +0 -729
- package/src/web/wedatheme/src/routes/wedatheme-index/FormItem.jsx +0 -18
- package/src/web/wedatheme/src/routes/wedatheme-index/WedathemeIndex.jsx +0 -1276
- package/src/web/wedatheme/src/routes/wedatheme-index/index.js +0 -1
- package/src/web/wedatheme/src/routes/weui2td/WEUI2TD.jsx +0 -3
- package/src/web/wedatheme/src/routes/weui2td/index.js +0 -1
- package/src/web/wedatheme/src/styles/_btn.scss +0 -24
- package/src/web/wedatheme/src/styles/_icon.scss +0 -653
- package/src/web/wedatheme/src/styles/_map.scss +0 -12
- package/src/web/wedatheme/src/styles/_middle.scss +0 -340
- package/src/web/wedatheme/src/styles/_upload.scss +0 -47
- package/src/web/wedatheme/src/styles/assets/alert-close.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/and.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowdown--line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowdown.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowleft--line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowleft.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowright--line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowright-blue--line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowright.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowup--line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowup.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/bell-warning.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/btnback.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/calendar.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/chartcolumn-1.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/chartcolumn.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/chartline-1.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/chartline.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/chartpie-1.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/chartpie.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/check-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/check-2.svg +0 -1
- package/src/web/wedatheme/src/styles/assets/check.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/close-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/close.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/consult.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/convertip--blue.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/convertip.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/copy.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/cur-active.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/cur.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/daily.svg +0 -13
- package/src/web/wedatheme/src/styles/assets/database.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/datasheet.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/delete-white.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/delete.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/detail.svg +0 -13
- package/src/web/wedatheme/src/styles/assets/dismiss.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/download.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/drop.svg +0 -15
- package/src/web/wedatheme/src/styles/assets/email-error.svg +0 -14
- package/src/web/wedatheme/src/styles/assets/email-warning.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/email.svg +0 -14
- package/src/web/wedatheme/src/styles/assets/emailv.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/error-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/error-filled.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/error.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/externallink.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/favorable.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/filter.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/firstpage.svg +0 -13
- package/src/web/wedatheme/src/styles/assets/folderclose.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/folderopen.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/fullscreenquit.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/fullsreen.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/globe-gray.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/guide.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/help.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/hide.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/info.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/infoblue-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/infoblue-filled.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/infoblue.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/jump-black.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/jump.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/lastpage.svg +0 -13
- package/src/web/wedatheme/src/styles/assets/loading.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/local.svg +0 -10
- package/src/web/wedatheme/src/styles/assets/menu-fold-white.svg +0 -6
- package/src/web/wedatheme/src/styles/assets/menu-fold.svg +0 -6
- package/src/web/wedatheme/src/styles/assets/minus.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/monitor.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/more.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/multi-line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/news.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/not.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/notice.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/pencil.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/pending-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/pending-gray.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/pending.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/percent-blue.svg +0 -16
- package/src/web/wedatheme/src/styles/assets/percent.svg +0 -16
- package/src/web/wedatheme/src/styles/assets/phone-error.svg +0 -11
- package/src/web/wedatheme/src/styles/assets/phone-warning.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/phone.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/phonev.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/plus.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/qq.svg +0 -11
- package/src/web/wedatheme/src/styles/assets/realname.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/realnamev.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/refresh-blue.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/refresh.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/relationship-1.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/relationship.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/remind.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/search.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/setting.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/shopcart.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/show.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/sort.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/sortdown.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/sortup.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/success-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/success-filled.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/success.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/table-1.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/table.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/tag.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/time.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/transfer.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/trenddown.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/trendup.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/viewgrid.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/viewlist.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/warning-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/warning-filled.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/warning.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/wechat-error.svg +0 -14
- package/src/web/wedatheme/src/styles/assets/wechat-warning.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/wechat.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/wechatv.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/zoom-in-white.svg +0 -4
- package/src/web/wedatheme/src/styles/assets/zoom-in.svg +0 -4
- package/src/web/wedatheme/src/styles/assets/zoom-out-white.svg +0 -4
- package/src/web/wedatheme/src/styles/assets/zoom-out.svg +0 -4
- package/src/web/wedatheme/src/styles/index.scss +0 -18
- package/src/web/wedatheme/src/styles/main.css +0 -166
- package/src/web/wedatheme/src/styles/theme/_alert.scss +0 -73
- package/src/web/wedatheme/src/styles/theme/_badge.scss +0 -38
- package/src/web/wedatheme/src/styles/theme/_blank-page-v2.scss +0 -7
- package/src/web/wedatheme/src/styles/theme/_breadcrumb.scss +0 -8
- package/src/web/wedatheme/src/styles/theme/_bubble.scss +0 -24
- package/src/web/wedatheme/src/styles/theme/_button.scss +0 -212
- package/src/web/wedatheme/src/styles/theme/_card.scss +0 -12
- package/src/web/wedatheme/src/styles/theme/_cascader.scss +0 -43
- package/src/web/wedatheme/src/styles/theme/_checkbox&radio.scss +0 -83
- package/src/web/wedatheme/src/styles/theme/_datepicker.scss +0 -36
- package/src/web/wedatheme/src/styles/theme/_dialog.scss +0 -39
- package/src/web/wedatheme/src/styles/theme/_divider.scss +0 -1
- package/src/web/wedatheme/src/styles/theme/_drawer.scss +0 -15
- package/src/web/wedatheme/src/styles/theme/_dropdown.scss +0 -53
- package/src/web/wedatheme/src/styles/theme/_form.scss +0 -38
- package/src/web/wedatheme/src/styles/theme/_icon.scss +0 -0
- package/src/web/wedatheme/src/styles/theme/_input&textarea&select.scss +0 -85
- package/src/web/wedatheme/src/styles/theme/_inputnumber.scss +0 -16
- package/src/web/wedatheme/src/styles/theme/_link.scss +0 -14
- package/src/web/wedatheme/src/styles/theme/_list.scss +0 -41
- package/src/web/wedatheme/src/styles/theme/_metrics-board.scss +0 -14
- package/src/web/wedatheme/src/styles/theme/_notification.scss +0 -27
- package/src/web/wedatheme/src/styles/theme/_pagination.scss +0 -22
- package/src/web/wedatheme/src/styles/theme/_popconfirm.scss +0 -4
- package/src/web/wedatheme/src/styles/theme/_progress.scss +0 -28
- package/src/web/wedatheme/src/styles/theme/_region-select.scss +0 -17
- package/src/web/wedatheme/src/styles/theme/_search.scss +0 -18
- package/src/web/wedatheme/src/styles/theme/_segment.scss +0 -69
- package/src/web/wedatheme/src/styles/theme/_slider.scss +0 -18
- package/src/web/wedatheme/src/styles/theme/_status.scss +0 -4
- package/src/web/wedatheme/src/styles/theme/_steps.scss +0 -68
- package/src/web/wedatheme/src/styles/theme/_switch.scss +0 -11
- package/src/web/wedatheme/src/styles/theme/_table.scss +0 -44
- package/src/web/wedatheme/src/styles/theme/_tabs.scss +0 -44
- package/src/web/wedatheme/src/styles/theme/_tag-search.scss +0 -9
- package/src/web/wedatheme/src/styles/theme/_tag.scss +0 -48
- package/src/web/wedatheme/src/styles/theme/_timeline.scss +0 -0
- package/src/web/wedatheme/src/styles/theme/_toast.scss +0 -3
- package/src/web/wedatheme/src/styles/theme/_transfer.scss +0 -9
- package/src/web/wedatheme/src/styles/theme/_tree.scss +0 -11
- package/src/web/wedatheme/src/styles/theme/_upload.scss +0 -14
- package/src/web/wedatheme/src/styles/theme/_variables.scss +0 -140
- package/src/web/wedatheme/src/styles/theme/index.scss +0 -91
- package/src/web/wedatheme/style-package/README.md +0 -31
- package/src/web/wedatheme/style-package/ef6fa527e24e354765d806b826b41391.svg +0 -627
- package/src/web/wedatheme/style-package/index.css +0 -3
- package/src/web/wedatheme/style-package/package.json +0 -15
- package/src/web/wedatheme/tea.config.js +0 -66
- package/src/web/wedatheme/webpack/css.config.js +0 -114
- package/src/web/wedatheme/webpack/plugins/css-package-plugin.js +0 -23
- package/src/web/wedatheme/webpack/plugins/inject-assets-plugin.js +0 -32
- package/src/web/wedatheme/webpack/plugins/package-json-plugin.js +0 -66
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useState } from 'react';
|
|
2
|
-
import * as PropTypes from 'prop-types';
|
|
3
|
-
import classNames from '../../utils/classnames';
|
|
4
|
-
import { getTempFileURL } from '../../utils/tcb';
|
|
5
|
-
import './index.css';
|
|
6
|
-
|
|
7
|
-
export default function RichTextView({
|
|
8
|
-
value = '',
|
|
9
|
-
className,
|
|
10
|
-
style,
|
|
11
|
-
...props
|
|
12
|
-
}) {
|
|
13
|
-
let parseValue = value;
|
|
14
|
-
try {
|
|
15
|
-
parseValue = JSON.parse(value);
|
|
16
|
-
} catch (e) {}
|
|
17
|
-
const cls = classNames({
|
|
18
|
-
'weda-ui': true,
|
|
19
|
-
'weda-RichTextView': true,
|
|
20
|
-
[className]: className,
|
|
21
|
-
});
|
|
22
|
-
const [displayValue, setDisplayValue] = useState('');
|
|
23
|
-
const regex = new RegExp(/<img [^>]*src=\\*"([^"]*?)\\*"/g);
|
|
24
|
-
|
|
25
|
-
const defaultBase64 =
|
|
26
|
-
'data:image/png;base64,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';
|
|
27
|
-
const iferror = `javascript:this.width='80';this.src='${defaultBase64}';this.onerror=null`;
|
|
28
|
-
|
|
29
|
-
let tempValue = parseValue
|
|
30
|
-
.toString()
|
|
31
|
-
.replace(/<img /g, `<img onerror=${iferror} style="max-width:100%" `);
|
|
32
|
-
|
|
33
|
-
const getSrc = async (img) => {
|
|
34
|
-
const url = img.replace(regex, '$1');
|
|
35
|
-
if (img.includes('cloud://')) {
|
|
36
|
-
const newURL = await getTempFileURL(url);
|
|
37
|
-
if (newURL) {
|
|
38
|
-
tempValue = tempValue.replace(new RegExp(url, 'g'), newURL);
|
|
39
|
-
setDisplayValue(tempValue);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
setDisplayValue(tempValue);
|
|
46
|
-
try {
|
|
47
|
-
const imgs = parseValue.match(regex);
|
|
48
|
-
if (imgs && imgs.length > 0) {
|
|
49
|
-
imgs.forEach((img) => {
|
|
50
|
-
getSrc(img);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
} catch (e) {}
|
|
54
|
-
}, [value]);
|
|
55
|
-
|
|
56
|
-
const {id} = props;
|
|
57
|
-
return (
|
|
58
|
-
displayValue && (
|
|
59
|
-
<div className={cls} style={style}
|
|
60
|
-
id={id}
|
|
61
|
-
>
|
|
62
|
-
<div dangerouslySetInnerHTML={{ __html: displayValue }}></div>
|
|
63
|
-
</div>
|
|
64
|
-
)
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
RichTextView.propTypes = {
|
|
69
|
-
/**
|
|
70
|
-
* 内容
|
|
71
|
-
*/
|
|
72
|
-
value: PropTypes.string,
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* 组件事件
|
|
76
|
-
*/
|
|
77
|
-
events: PropTypes.objectOf(PropTypes.func),
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* 自定义类
|
|
81
|
-
*/
|
|
82
|
-
className: PropTypes.string,
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* 自定义样式
|
|
86
|
-
*/
|
|
87
|
-
style: PropTypes.object,
|
|
88
|
-
id: PropTypes.string
|
|
89
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { usePlatform } from '../../utils/platform';
|
|
3
|
-
import TabsH5 from './tabs.h5';
|
|
4
|
-
import TabsPc from './tabs.pc';
|
|
5
|
-
|
|
6
|
-
export default function Tabs(props) {
|
|
7
|
-
const platform = usePlatform();
|
|
8
|
-
|
|
9
|
-
return platform === 'h5' ? <TabsH5 {...props} /> : <TabsPc {...props} />;
|
|
10
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import './index.css';
|
|
3
|
-
|
|
4
|
-
import * as PropTypes from 'prop-types';
|
|
5
|
-
|
|
6
|
-
import classNames from '../../utils/classnames';
|
|
7
|
-
|
|
8
|
-
export default function Text({
|
|
9
|
-
text,
|
|
10
|
-
maxLines = 2,
|
|
11
|
-
space,
|
|
12
|
-
userSelect = true,
|
|
13
|
-
style = {},
|
|
14
|
-
className,
|
|
15
|
-
events,
|
|
16
|
-
id,
|
|
17
|
-
...props
|
|
18
|
-
}) {
|
|
19
|
-
const textStyle = {
|
|
20
|
-
WebkitLineClamp: maxLines,
|
|
21
|
-
whiteSpace: space ? 'pre-wrap' : 'pre-line',
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
if (!userSelect) {
|
|
25
|
-
textStyle.userSelect = 'none';
|
|
26
|
-
}
|
|
27
|
-
const { contenteditable, onInput, onBlur } = props;
|
|
28
|
-
return (
|
|
29
|
-
<p
|
|
30
|
-
contentEditable={contenteditable}
|
|
31
|
-
onInput={onInput}
|
|
32
|
-
onBlur={onBlur}
|
|
33
|
-
style={{ ...textStyle, ...style }}
|
|
34
|
-
className={classNames('weda-text', 'weda-ui', className)}
|
|
35
|
-
id={id}
|
|
36
|
-
onClick={(e) => events.tap({}, { originEvent: e })}
|
|
37
|
-
>
|
|
38
|
-
{text}
|
|
39
|
-
</p>
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
Text.propTypes = {
|
|
44
|
-
/**
|
|
45
|
-
* 文本内容
|
|
46
|
-
*/
|
|
47
|
-
text: PropTypes.string,
|
|
48
|
-
/**
|
|
49
|
-
* 最大显示行数。0 表示无限制
|
|
50
|
-
*/
|
|
51
|
-
maxLines: PropTypes.number,
|
|
52
|
-
/**
|
|
53
|
-
* 是否显示连续空格
|
|
54
|
-
*/
|
|
55
|
-
space: PropTypes.bool,
|
|
56
|
-
userSelect: PropTypes.bool,
|
|
57
|
-
events: PropTypes.objectOf(PropTypes.func),
|
|
58
|
-
style: PropTypes.object,
|
|
59
|
-
className: PropTypes.string,
|
|
60
|
-
id: PropTypes.string,
|
|
61
|
-
contenteditable: PropTypes.oneOf([PropTypes.string, PropTypes.bool]),
|
|
62
|
-
onInput: PropTypes.func,
|
|
63
|
-
onBlur: PropTypes.func,
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
Text.defaultProps = {
|
|
67
|
-
maxLines: 2,
|
|
68
|
-
text: '文本内容',
|
|
69
|
-
space: false,
|
|
70
|
-
userSelect: true,
|
|
71
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { useEffect, useState } from "react";
|
|
2
|
-
import { usePrevious } from "react-use";
|
|
3
|
-
|
|
4
|
-
export function useSyncValue(defaultValue, comparotor = Object.is) {
|
|
5
|
-
const [stateValue, setStateValue] = useState(defaultValue);
|
|
6
|
-
const prevValue = usePrevious(defaultValue);
|
|
7
|
-
useEffect(() => {
|
|
8
|
-
if (!comparotor(prevValue, defaultValue)) {
|
|
9
|
-
setStateValue(defaultValue);
|
|
10
|
-
}
|
|
11
|
-
}, [defaultValue]);
|
|
12
|
-
return [stateValue, setStateValue];
|
|
13
|
-
}
|
|
14
|
-
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
source:
|
|
2
|
-
# 文件或目录使用绝对路径,绝对路径按代码库根目录计算,以/开头。
|
|
3
|
-
# 提供产品代码库中编写的测试代码存放目录或文件名格式,以便代码检查时进行排除处理
|
|
4
|
-
# 不要使用.*/等正则表达式屏蔽掉所有代码,会使得代码存在风险,还会导致Coverity扫不到任何代码而失败
|
|
5
|
-
test_source:
|
|
6
|
-
#用于匹配文件; 匹配方式为正则表达式,例如[".*/java/test/.*", ".*/test.java"]
|
|
7
|
-
filepath_regex:
|
|
8
|
-
# 提供产品代码库中工具或框架自动生成的且在代码库中的代码,没有可为空。以便代码检查时进行排除处理。
|
|
9
|
-
auto_generate_source:
|
|
10
|
-
# 自动生成代码文件的正则表达式,若无统一标识格式,可以指定具体目录,样例可参考test_source举例
|
|
11
|
-
filepath_regex: ["/style-package/*.*"]
|
|
12
|
-
# 提供产品代码库中直接以源码形式存在的第三方代码目录或代码文件名的正则表达。
|
|
13
|
-
# 此处备注的第三方代码将在代码检查时进行排除,若代码库中不存在需要排除的第三方代码,该项配置标识可为空
|
|
14
|
-
third_party_source:
|
|
15
|
-
#第三方代码文件的正则表达式,若无统一标识格式,可以指定具体目录,样例可参考test_source举例
|
|
16
|
-
filepath_regex:
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"env": {
|
|
3
|
-
"browser": true,
|
|
4
|
-
"es6": true
|
|
5
|
-
},
|
|
6
|
-
"settings": {
|
|
7
|
-
"react": {
|
|
8
|
-
"version": "detect"
|
|
9
|
-
}
|
|
10
|
-
},
|
|
11
|
-
"parser": "babel-eslint",
|
|
12
|
-
"parserOptions": {
|
|
13
|
-
"ecmaVersion": 6,
|
|
14
|
-
"sourceType": "module",
|
|
15
|
-
"ecmaFeatures": {
|
|
16
|
-
"jsx": true
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
"extends": ["@tencent/eslint-config-tencent", "plugin:react/recommended"]
|
|
20
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
### 该配置文件用于自动发布tnpm包,tnpm相关配置从git地址获取 ###
|
|
2
|
-
master:
|
|
3
|
-
push:
|
|
4
|
-
-
|
|
5
|
-
stages:
|
|
6
|
-
- name: 发布 npm 包
|
|
7
|
-
image: plugins/npm
|
|
8
|
-
envFrom: https://git.code.oa.com/tc-console/public-key/blob/master/tnpm.text
|
|
9
|
-
settings:
|
|
10
|
-
username: $TNPM_USER
|
|
11
|
-
password: $TNPM_PWD
|
|
12
|
-
email: $TNPM_EMAIL
|
|
13
|
-
registry: https://mirrors.tencent.com/npm/
|
|
14
|
-
folder: ./style-package/
|
|
15
|
-
- name: 获取包名
|
|
16
|
-
type: orange-ci:readFile
|
|
17
|
-
options:
|
|
18
|
-
filePath: ./style-package/package.json
|
|
19
|
-
envExport:
|
|
20
|
-
name: PACKAGE_NAME
|
|
21
|
-
- name: make message
|
|
22
|
-
script: echo '[http://mirrors.tencent.com/#/private/npm/detail?project_name=$PACKAGE_NAME](http://mirrors.tencent.com/#/private/npm/detail?project_name=$PACKAGE_NAME)' > message.txt
|
|
23
|
-
- name: send message
|
|
24
|
-
type: wework:message
|
|
25
|
-
options:
|
|
26
|
-
fromFile: message.txt
|
|
27
|
-
### 该配置文件用于自动构建并部署文件到服务器,通过企业微信返回内网预览地址 ###
|
|
28
|
-
### 接入配置可参考:http://km.oa.com/articles/show/422133 有疑问可联系youngerwang ###
|
|
29
|
-
dev:
|
|
30
|
-
push:
|
|
31
|
-
- docker:
|
|
32
|
-
image: node:10
|
|
33
|
-
env:
|
|
34
|
-
ORANGE_W_BUILD_SUCCESS_MSG: 预览地址:http://9.134.68.199/$ORANGE_REPO_SLUG/dist/index.html
|
|
35
|
-
stages:
|
|
36
|
-
### 需要每次都安装一次,后续下放到开发机器
|
|
37
|
-
- name: 安装 tnpm
|
|
38
|
-
script: npm install @tencent/tnpm -g --registry=https://mirrors.tencent.com/npm/
|
|
39
|
-
- name: 安装 tea-cli
|
|
40
|
-
script: tnpm i @tencent/tea-cli -g
|
|
41
|
-
- name: 安装依赖
|
|
42
|
-
script: tnpm install && tnpm i @tencent/tea-component
|
|
43
|
-
- name: 构建
|
|
44
|
-
script: tea login qaayH8xL2ATXSkWS8ahBB7IEYXMECyaKSAlbkDzX && tea build -l zh
|
|
45
|
-
- name: 预览地址
|
|
46
|
-
type: wework:message
|
|
47
|
-
options:
|
|
48
|
-
message: '[http://9.134.68.199/$ORANGE_REPO_SLUG/dist/index.html](http://9.134.68.199/$ORANGE_REPO_SLUG/dist/index.html)'
|
|
49
|
-
- name: 拷贝文件
|
|
50
|
-
type: orange-ci:transfer
|
|
51
|
-
options:
|
|
52
|
-
dist: '/'
|
|
53
|
-
to: /usr/share/nginx/html/$ORANGE_REPO_SLUG
|
|
54
|
-
ips:
|
|
55
|
-
- 9.134.68.199
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
腾讯云 WEDATHEME 控制台前端项目
|
|
2
|
-
======================
|
|
3
|
-
|
|
4
|
-
<!-- 识别每类内容的标题是否具备,同时判断页面内容字数;
|
|
5
|
-
具备内容类别数,字数大于等于类别数*200字,得到该类别的总分数 -->
|
|
6
|
-
|
|
7
|
-
## 项目介绍
|
|
8
|
-
<!-- 本组织/项目的整体说明概览 -->
|
|
9
|
-
介绍:
|
|
10
|
-
控制台地址:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## 快速上手
|
|
14
|
-
<!-- 使用者如何快速上手使用本组织/项目,如下载,安装,启动,运行,教程。 -->
|
|
15
|
-
- `src/app.js` 入口文件,主要进行业务路由定义
|
|
16
|
-
- `src/routes` 存放业务路由实现
|
|
17
|
-
- `src/configs` 存放 CSS 和菜单配置
|
|
18
|
-
- `src/components` 存放公共业务组件
|
|
19
|
-
- `src/utils` 存放公共工具方法
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
## 常见问题
|
|
23
|
-
<!-- 本组织/项目的常见通用问题和官方解答 -->
|
|
24
|
-
- master:默认为主干分支,用于发包
|
|
25
|
-
- dev:默认开发分支
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
## 行为准则
|
|
29
|
-
<!-- 本组织/项目在代码协作方面需遵循的责任、范围、软件许可证、冲突解决等章程 -->
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
## 如何加入
|
|
33
|
-
<!-- 本组织/项目有明确的如何加入和贡献的文字说明 -->
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
## 团队介绍
|
|
37
|
-
<!-- 本组织/项目的角色分工、人名和联络方式、官方交流/沟通渠道 -->
|
|
38
|
-
产品经理:<!-- 姓名 -->
|
|
39
|
-
|
|
40
|
-
交互设计:<!-- 姓名 -->
|
|
41
|
-
|
|
42
|
-
视觉设计师:<!-- 姓名 -->
|
|
43
|
-
|
|
44
|
-
前端开发:<!-- 姓名 -->
|
|
45
|
-
|
|
46
|
-
仓库地址:<!-- 姓名 -->
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
## 其他说明
|
|
50
|
-
<!-- 其他需要补充的内容 -->
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview
|
|
3
|
-
*
|
|
4
|
-
* 本文件词条由 `tea scan` 命令扫描生成,可提交给翻译团队进行翻译。
|
|
5
|
-
* 具体使用方法,请参考 http://tapd.oa.com/QCloud_2015/markdown_wikis/view/#1010103951008365523
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @type {import('@tencent/tea-app').I18NTranslation}
|
|
10
|
-
*/
|
|
11
|
-
const translation = {
|
|
12
|
-
// 使用 `tea scan` 命令扫描词条
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
module.exports = { translation };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"lib": ["es2017", "dom"],
|
|
4
|
-
"baseUrl": ".",
|
|
5
|
-
"paths": {
|
|
6
|
-
"@tea/app": ["./mock"],
|
|
7
|
-
"@tea/app/*": ["./mock/*"],
|
|
8
|
-
"@src/*": ["./src/*"]
|
|
9
|
-
},
|
|
10
|
-
"checkJs": true,
|
|
11
|
-
"jsx": "preserve",
|
|
12
|
-
"noImplicitAny": false
|
|
13
|
-
},
|
|
14
|
-
"exclude": ["dist"]
|
|
15
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import ReactDOM from 'react-dom';
|
|
3
|
-
import { Router, Route, Redirect, Switch } from 'react-router-dom';
|
|
4
|
-
import { createHashHistory } from 'history';
|
|
5
|
-
import { AppLayout } from './layout';
|
|
6
|
-
import { HistoryContext } from './history-context';
|
|
7
|
-
import { ConfigProvider } from '@tencent/tea-component';
|
|
8
|
-
|
|
9
|
-
// 菜单配置
|
|
10
|
-
import { menu } from '../src/configs/menu';
|
|
11
|
-
|
|
12
|
-
const history = createHashHistory();
|
|
13
|
-
|
|
14
|
-
const App = ({ routes }) => (
|
|
15
|
-
<ConfigProvider classPrefix='wedatea2td'>
|
|
16
|
-
<Router history={history}>
|
|
17
|
-
<HistoryContext.Provider value={{ history }}>
|
|
18
|
-
<AppLayout menu={menu}>
|
|
19
|
-
<Switch>
|
|
20
|
-
{Object.entries(routes).map(([path, route]) => (route.render ? (
|
|
21
|
-
<Route key={path} path={`/${path}`} render={route.render} />
|
|
22
|
-
) : (
|
|
23
|
-
<Route key={path} path={`/${path}`} component={route} />
|
|
24
|
-
)))}
|
|
25
|
-
<Route
|
|
26
|
-
render={() => (
|
|
27
|
-
<Redirect to={`/${(Object.entries(routes)[0] || [])[0]}`} />
|
|
28
|
-
)}
|
|
29
|
-
/>
|
|
30
|
-
</Switch>
|
|
31
|
-
</AppLayout>
|
|
32
|
-
</HistoryContext.Provider>
|
|
33
|
-
</Router>
|
|
34
|
-
</ConfigProvider>
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @param {import('@tencent/tea-app').AppRouteMap} appRoutes
|
|
39
|
-
*/
|
|
40
|
-
export async function routes(appRoutes) {
|
|
41
|
-
ReactDOM.render(<App routes={appRoutes} />, document.querySelector('#root'));
|
|
42
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Layout, NavMenu } from '@tencent/tea-component';
|
|
3
|
-
import { MenuWithRouter } from './MenuWithRouter';
|
|
4
|
-
|
|
5
|
-
const { Header, Body, Sider } = Layout;
|
|
6
|
-
|
|
7
|
-
export function AppLayout({ menu, children }) {
|
|
8
|
-
return (
|
|
9
|
-
<Layout>
|
|
10
|
-
<Header>
|
|
11
|
-
<NavMenu
|
|
12
|
-
left={
|
|
13
|
-
<NavMenu.Item type="logo">
|
|
14
|
-
<img
|
|
15
|
-
src="https://imgcache.qq.com/qcloud/app/resource/ac/favicon.ico"
|
|
16
|
-
alt="logo"
|
|
17
|
-
/>
|
|
18
|
-
</NavMenu.Item>
|
|
19
|
-
}
|
|
20
|
-
/>
|
|
21
|
-
</Header>
|
|
22
|
-
<Body>
|
|
23
|
-
<Sider>{menu && <MenuWithRouter menu={menu} />}</Sider>
|
|
24
|
-
{children}
|
|
25
|
-
</Body>
|
|
26
|
-
</Layout>
|
|
27
|
-
);
|
|
28
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Link, withRouter } from 'react-router-dom';
|
|
3
|
-
import { Menu } from '@tencent/tea-component';
|
|
4
|
-
|
|
5
|
-
export const MenuWithRouter = withRouter(
|
|
6
|
-
/**
|
|
7
|
-
* @param {any} props
|
|
8
|
-
*/
|
|
9
|
-
({ location, menu }) => {
|
|
10
|
-
const { pathname } = location;
|
|
11
|
-
return (
|
|
12
|
-
<Menu
|
|
13
|
-
theme="dark"
|
|
14
|
-
title={menu.title}
|
|
15
|
-
icon={menu.icon}
|
|
16
|
-
collapsable={!!menu.icon}
|
|
17
|
-
>
|
|
18
|
-
{menu.items.map(({ label, items, title, route, icon }, index) => {
|
|
19
|
-
if (label) {
|
|
20
|
-
return <Menu.Group key={index} title={label} />;
|
|
21
|
-
}
|
|
22
|
-
if (items) {
|
|
23
|
-
return (
|
|
24
|
-
<Menu.SubMenu defaultOpened key={index} title={title} icon={icon}>
|
|
25
|
-
{items.map((subItem, index) => (
|
|
26
|
-
<Menu.Item
|
|
27
|
-
key={index}
|
|
28
|
-
title={subItem.title}
|
|
29
|
-
selected={pathname.includes(subItem.route.replace('#', ''))}
|
|
30
|
-
render={children => (
|
|
31
|
-
<Link to={subItem.route}>{children}</Link>
|
|
32
|
-
)}
|
|
33
|
-
/>
|
|
34
|
-
))}
|
|
35
|
-
</Menu.SubMenu>
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
return (
|
|
39
|
-
<Menu.Item
|
|
40
|
-
key={index}
|
|
41
|
-
title={title}
|
|
42
|
-
icon={icon}
|
|
43
|
-
selected={pathname.includes(route.replace('#', ''))}
|
|
44
|
-
render={children => <Link to={route}>{children}</Link>}
|
|
45
|
-
/>
|
|
46
|
-
);
|
|
47
|
-
})}
|
|
48
|
-
</Menu>
|
|
49
|
-
);
|
|
50
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './AppLayout';
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@tencent/tea-app-wedatheme",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "The wedatheme tea app for qcloud console",
|
|
5
|
-
"main": "src/app.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"lint": "npx eslint --quiet --ext jsx,.js src",
|
|
8
|
-
"dev": "tea dev",
|
|
9
|
-
"scan": "tea scan",
|
|
10
|
-
"build": "tea build",
|
|
11
|
-
"build-css": "npx webpack --config webpack/css.config.js",
|
|
12
|
-
"publish": "npm run build-css && node ./scripts/publish.js"
|
|
13
|
-
},
|
|
14
|
-
"keywords": [
|
|
15
|
-
"tea",
|
|
16
|
-
"app",
|
|
17
|
-
"wedatheme"
|
|
18
|
-
],
|
|
19
|
-
"engines": {},
|
|
20
|
-
"license": "UNLICENSED",
|
|
21
|
-
"dependencies": {
|
|
22
|
-
"@tencent/tea-app": "^2.0.0",
|
|
23
|
-
"@tencent/tea-component": "^2.0.0",
|
|
24
|
-
"history": "^4.9.0",
|
|
25
|
-
"moment": "^2.24.0",
|
|
26
|
-
"postcss": "^8.3.6",
|
|
27
|
-
"postcss-css-variables": "^0.16.0",
|
|
28
|
-
"react": "^16.10.0",
|
|
29
|
-
"react-dom": "^16.10.0",
|
|
30
|
-
"react-router-dom": "^4.3.1",
|
|
31
|
-
"resolve-url-loader": "^4.0.0",
|
|
32
|
-
"svg-url-loader": "^7.1.1",
|
|
33
|
-
"svgo-loader": "^3.0.0"
|
|
34
|
-
},
|
|
35
|
-
"devDependencies": {
|
|
36
|
-
"@tencent/eslint-config-tencent": "^0.12.2",
|
|
37
|
-
"@tencent/tea-scripts": "^2.0.0",
|
|
38
|
-
"@types/react": "^16.8.4",
|
|
39
|
-
"@types/react-dom": "^16.8.2",
|
|
40
|
-
"@types/react-router-dom": "^4.3.1",
|
|
41
|
-
"@types/webpack": "^4.4.32",
|
|
42
|
-
"autoprefixer": "^9.5.1",
|
|
43
|
-
"babel-eslint": "^10.0.2",
|
|
44
|
-
"clean-webpack-plugin": "^3.0.0",
|
|
45
|
-
"css-loader": "^2.1.1",
|
|
46
|
-
"cssnano": "^4.1.10",
|
|
47
|
-
"eslint": "^7.0.0",
|
|
48
|
-
"eslint-plugin-react": "^7.21.5",
|
|
49
|
-
"file-loader": "^4.2.0",
|
|
50
|
-
"html-webpack-plugin": "^3.2.0",
|
|
51
|
-
"less-loader": "^5.0.0",
|
|
52
|
-
"mini-css-extract-plugin": "^0.7.0",
|
|
53
|
-
"node-sass": "^4.12.0",
|
|
54
|
-
"postcss-loader": "^3.0.0",
|
|
55
|
-
"sass-loader": "^10.1.1",
|
|
56
|
-
"svg-transform-loader": "^2.0.13",
|
|
57
|
-
"webpack": "^4.32.2",
|
|
58
|
-
"webpack-cli": "^3.3.9",
|
|
59
|
-
"webpack-hot-middleware": "^2.25.0"
|
|
60
|
-
}
|
|
61
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<meta name="theme-color" content="#000000" />
|
|
7
|
-
<title>WEDATHEME</title>
|
|
8
|
-
<link href="http://imgcache.qq.com/qcloud/app/resource/ac/favicon.ico" rel="icon" type="image/x-icon">
|
|
9
|
-
<link rel="stylesheet" href="http://assets.woa.com/open_proj/proj_qcloud_v2/mc_2014/global/css/v2/global.css"></link>
|
|
10
|
-
<link rel="stylesheet" href="https://user-source-1303824488.cos.ap-shanghai.myqcloud.com/materials/gsd-h5-react@0.0.70/gsd-h5-react.main.css"></link>
|
|
11
|
-
<!-- <link rel="stylesheet" href="https://user-source-1303824488.cos.ap-shanghai.myqcloud.com/materials/gsd-h5-react@0.0.70/gsd-h5-react.main.css"></link> -->
|
|
12
|
-
</head>
|
|
13
|
-
<body data-weui-theme="light">
|
|
14
|
-
<div id="root" style="height: 100%"></div>
|
|
15
|
-
<script src="http://imgcache.qq.com/qcloud/main/scripts/release/common/vendors/babel/polyfill.6.26.min.js"></script>
|
|
16
|
-
<script src="http://imgcache.qq.com/qcloud/vendors/react/react16.development.js"></script>
|
|
17
|
-
<script src="http://imgcache.qq.com/qcloud/vendors/moment/moment-2.24.0.js"></script>
|
|
18
|
-
</body>
|
|
19
|
-
</html>
|