@cloudbase/weda-ui 0.2.9 → 0.2.10
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/package.json +1 -1
- package/src/web/components/link/test/__snapshots__/storybook.test.js.snap +754 -0
- package/src/web/components/modal/index.jsx +3 -2
- package/src/web/wedatheme/.code.yml +16 -0
- package/src/web/wedatheme/.editorconfig +9 -0
- package/src/web/wedatheme/.eslintrc +20 -0
- package/src/web/wedatheme/.orange-ci.yml +55 -0
- package/src/web/wedatheme/.vscode/extensions.json +3 -0
- package/src/web/wedatheme/.vscode/settings.json +11 -0
- package/src/web/wedatheme/README.md +50 -0
- package/src/web/wedatheme/i18n/README.md +4 -0
- package/src/web/wedatheme/i18n/translation/index.js +10 -0
- package/src/web/wedatheme/i18n/translation/zh.js +15 -0
- package/src/web/wedatheme/jsconfig.json +15 -0
- package/src/web/wedatheme/mock/app.js +42 -0
- package/src/web/wedatheme/mock/history-context.js +8 -0
- package/src/web/wedatheme/mock/index.js +3 -0
- package/src/web/wedatheme/mock/layout/AppLayout.jsx +28 -0
- package/src/web/wedatheme/mock/layout/MenuWithRouter.jsx +50 -0
- package/src/web/wedatheme/mock/layout/index.js +1 -0
- package/src/web/wedatheme/package.json +61 -0
- package/src/web/wedatheme/public/index.html +19 -0
- package/src/web/wedatheme/src/app.js +22 -0
- package/src/web/wedatheme/src/components/README.md +4 -0
- package/src/web/wedatheme/src/configs/menu.js +9 -0
- package/src/web/wedatheme/src/routes/wedatheme-index/Component.jsx +402 -0
- package/src/web/wedatheme/src/routes/wedatheme-index/Form.jsx +729 -0
- package/src/web/wedatheme/src/routes/wedatheme-index/FormItem.jsx +18 -0
- package/src/web/wedatheme/src/routes/wedatheme-index/WedathemeIndex.jsx +1276 -0
- package/src/web/wedatheme/src/routes/wedatheme-index/index.js +1 -0
- package/src/web/wedatheme/src/routes/weui2td/WEUI2TD.jsx +3 -0
- package/src/web/wedatheme/src/routes/weui2td/index.js +1 -0
- package/src/web/wedatheme/src/styles/_btn.scss +24 -0
- package/src/web/wedatheme/src/styles/_icon.scss +653 -0
- package/src/web/wedatheme/src/styles/_map.scss +12 -0
- package/src/web/wedatheme/src/styles/_middle.scss +340 -0
- package/src/web/wedatheme/src/styles/_upload.scss +47 -0
- package/src/web/wedatheme/src/styles/assets/alert-close.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/and.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowdown--line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowdown.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowleft--line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowleft.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowright--line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowright-blue--line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowright.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowup--line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowup.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/bell-warning.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/btnback.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/calendar.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/chartcolumn-1.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/chartcolumn.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/chartline-1.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/chartline.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/chartpie-1.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/chartpie.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/check-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/check-2.svg +1 -0
- package/src/web/wedatheme/src/styles/assets/check.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/close-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/close.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/consult.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/convertip--blue.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/convertip.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/copy.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/cur-active.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/cur.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/daily.svg +13 -0
- package/src/web/wedatheme/src/styles/assets/database.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/datasheet.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/delete-white.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/delete.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/detail.svg +13 -0
- package/src/web/wedatheme/src/styles/assets/dismiss.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/download.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/drop.svg +15 -0
- package/src/web/wedatheme/src/styles/assets/email-error.svg +14 -0
- package/src/web/wedatheme/src/styles/assets/email-warning.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/email.svg +14 -0
- package/src/web/wedatheme/src/styles/assets/emailv.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/error-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/error-filled.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/error.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/externallink.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/favorable.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/filter.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/firstpage.svg +13 -0
- package/src/web/wedatheme/src/styles/assets/folderclose.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/folderopen.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/fullscreenquit.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/fullsreen.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/globe-gray.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/guide.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/help.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/hide.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/info.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/infoblue-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/infoblue-filled.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/infoblue.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/jump-black.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/jump.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/lastpage.svg +13 -0
- package/src/web/wedatheme/src/styles/assets/loading.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/local.svg +10 -0
- package/src/web/wedatheme/src/styles/assets/menu-fold-white.svg +6 -0
- package/src/web/wedatheme/src/styles/assets/menu-fold.svg +6 -0
- package/src/web/wedatheme/src/styles/assets/minus.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/monitor.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/more.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/multi-line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/news.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/not.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/notice.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/pencil.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/pending-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/pending-gray.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/pending.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/percent-blue.svg +16 -0
- package/src/web/wedatheme/src/styles/assets/percent.svg +16 -0
- package/src/web/wedatheme/src/styles/assets/phone-error.svg +11 -0
- package/src/web/wedatheme/src/styles/assets/phone-warning.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/phone.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/phonev.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/plus.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/qq.svg +11 -0
- package/src/web/wedatheme/src/styles/assets/realname.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/realnamev.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/refresh-blue.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/refresh.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/relationship-1.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/relationship.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/remind.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/search.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/setting.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/shopcart.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/show.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/sort.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/sortdown.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/sortup.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/success-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/success-filled.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/success.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/table-1.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/table.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/tag.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/time.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/transfer.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/trenddown.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/trendup.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/viewgrid.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/viewlist.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/warning-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/warning-filled.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/warning.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/wechat-error.svg +14 -0
- package/src/web/wedatheme/src/styles/assets/wechat-warning.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/wechat.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/wechatv.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/zoom-in-white.svg +4 -0
- package/src/web/wedatheme/src/styles/assets/zoom-in.svg +4 -0
- package/src/web/wedatheme/src/styles/assets/zoom-out-white.svg +4 -0
- package/src/web/wedatheme/src/styles/assets/zoom-out.svg +4 -0
- package/src/web/wedatheme/src/styles/index.scss +18 -0
- package/src/web/wedatheme/src/styles/main.css +166 -0
- package/src/web/wedatheme/src/styles/theme/_alert.scss +73 -0
- package/src/web/wedatheme/src/styles/theme/_badge.scss +38 -0
- package/src/web/wedatheme/src/styles/theme/_blank-page-v2.scss +7 -0
- package/src/web/wedatheme/src/styles/theme/_breadcrumb.scss +8 -0
- package/src/web/wedatheme/src/styles/theme/_bubble.scss +24 -0
- package/src/web/wedatheme/src/styles/theme/_button.scss +212 -0
- package/src/web/wedatheme/src/styles/theme/_card.scss +12 -0
- package/src/web/wedatheme/src/styles/theme/_cascader.scss +43 -0
- package/src/web/wedatheme/src/styles/theme/_checkbox&radio.scss +83 -0
- package/src/web/wedatheme/src/styles/theme/_datepicker.scss +36 -0
- package/src/web/wedatheme/src/styles/theme/_dialog.scss +39 -0
- package/src/web/wedatheme/src/styles/theme/_divider.scss +1 -0
- package/src/web/wedatheme/src/styles/theme/_drawer.scss +15 -0
- package/src/web/wedatheme/src/styles/theme/_dropdown.scss +53 -0
- package/src/web/wedatheme/src/styles/theme/_form.scss +38 -0
- package/src/web/wedatheme/src/styles/theme/_icon.scss +0 -0
- package/src/web/wedatheme/src/styles/theme/_input&textarea&select.scss +85 -0
- package/src/web/wedatheme/src/styles/theme/_inputnumber.scss +16 -0
- package/src/web/wedatheme/src/styles/theme/_link.scss +14 -0
- package/src/web/wedatheme/src/styles/theme/_list.scss +41 -0
- package/src/web/wedatheme/src/styles/theme/_metrics-board.scss +14 -0
- package/src/web/wedatheme/src/styles/theme/_notification.scss +27 -0
- package/src/web/wedatheme/src/styles/theme/_pagination.scss +22 -0
- package/src/web/wedatheme/src/styles/theme/_popconfirm.scss +4 -0
- package/src/web/wedatheme/src/styles/theme/_progress.scss +28 -0
- package/src/web/wedatheme/src/styles/theme/_region-select.scss +17 -0
- package/src/web/wedatheme/src/styles/theme/_search.scss +18 -0
- package/src/web/wedatheme/src/styles/theme/_segment.scss +69 -0
- package/src/web/wedatheme/src/styles/theme/_slider.scss +18 -0
- package/src/web/wedatheme/src/styles/theme/_status.scss +4 -0
- package/src/web/wedatheme/src/styles/theme/_steps.scss +68 -0
- package/src/web/wedatheme/src/styles/theme/_switch.scss +11 -0
- package/src/web/wedatheme/src/styles/theme/_table.scss +44 -0
- package/src/web/wedatheme/src/styles/theme/_tabs.scss +44 -0
- package/src/web/wedatheme/src/styles/theme/_tag-search.scss +9 -0
- package/src/web/wedatheme/src/styles/theme/_tag.scss +48 -0
- package/src/web/wedatheme/src/styles/theme/_timeline.scss +0 -0
- package/src/web/wedatheme/src/styles/theme/_toast.scss +3 -0
- package/src/web/wedatheme/src/styles/theme/_transfer.scss +9 -0
- package/src/web/wedatheme/src/styles/theme/_tree.scss +11 -0
- package/src/web/wedatheme/src/styles/theme/_upload.scss +14 -0
- package/src/web/wedatheme/src/styles/theme/_variables.scss +140 -0
- package/src/web/wedatheme/src/styles/theme/index.scss +91 -0
- package/src/web/wedatheme/style-package/README.md +31 -0
- package/src/web/wedatheme/style-package/ef6fa527e24e354765d806b826b41391.svg +627 -0
- package/src/web/wedatheme/style-package/index.css +3 -0
- package/src/web/wedatheme/style-package/package.json +15 -0
- package/src/web/wedatheme/tea.config.js +66 -0
- package/src/web/wedatheme/webpack/css.config.js +114 -0
- package/src/web/wedatheme/webpack/plugins/css-package-plugin.js +23 -0
- package/src/web/wedatheme/webpack/plugins/inject-assets-plugin.js +32 -0
- package/src/web/wedatheme/webpack/plugins/package-json-plugin.js +66 -0
- package/CHANGELOG.md +0 -240
- package/src/mp/.gitignore +0 -10
|
@@ -11,6 +11,7 @@ export default function WeDaModal(_props) {
|
|
|
11
11
|
customContent,
|
|
12
12
|
isDefaultButton,
|
|
13
13
|
emit,
|
|
14
|
+
events,
|
|
14
15
|
...props
|
|
15
16
|
} = _props;
|
|
16
17
|
|
|
@@ -19,7 +20,7 @@ export default function WeDaModal(_props) {
|
|
|
19
20
|
className={classNames('weda-ui', 'lcap-modal', 'container', className)}
|
|
20
21
|
visible={visible}
|
|
21
22
|
onClose={() => {
|
|
22
|
-
emit('close');
|
|
23
|
+
emit('close', {});
|
|
23
24
|
}}
|
|
24
25
|
{...props}
|
|
25
26
|
>
|
|
@@ -29,7 +30,7 @@ export default function WeDaModal(_props) {
|
|
|
29
30
|
<Button
|
|
30
31
|
type="primary"
|
|
31
32
|
onClick={() => {
|
|
32
|
-
emit('confirm');
|
|
33
|
+
emit('confirm', {});
|
|
33
34
|
// events.confirm();
|
|
34
35
|
}}
|
|
35
36
|
>
|
|
@@ -0,0 +1,16 @@
|
|
|
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:
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
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
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
<!-- 其他需要补充的内容 -->
|
|
@@ -0,0 +1,15 @@
|
|
|
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 };
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AppLayout';
|
|
@@ -0,0 +1,61 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
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>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// 导入样式
|
|
2
|
+
// import '@tencent/tea-component/lib/tea.css';
|
|
3
|
+
import '@tencent/tea-component/dist/style/index.scss';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
import '@src/styles/index.scss';
|
|
7
|
+
|
|
8
|
+
// 导入依赖
|
|
9
|
+
import { app } from '@tea/app';
|
|
10
|
+
|
|
11
|
+
// 导入组件
|
|
12
|
+
import { WedathemeIndex } from '@src/routes/wedatheme-index';
|
|
13
|
+
|
|
14
|
+
// 路由表,一个路由对应一个组件
|
|
15
|
+
// prettier-ignore
|
|
16
|
+
const routes = {
|
|
17
|
+
'wedatheme/index': WedathemeIndex,
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// 注册路由表
|
|
21
|
+
// 左侧菜单请在 `configs/menus.js` 配置
|
|
22
|
+
app.routes(routes);
|