From c964c5b63711a358ce344c0657095a7d81be4c30 Mon Sep 17 00:00:00 2001 From: discreted66 <953831480@qq.com> Date: Tue, 23 Sep 2025 20:35:35 -0700 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0=E7=BC=BA=E7=9C=81?= =?UTF-8?q?=E9=A1=B5pc=E6=A8=A1=E6=9D=BF=E3=80=81=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E7=A4=BA=E4=BE=8B=E4=BB=A5=E5=8F=8A=E6=9A=97=E8=89=B2=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/sites/demos/apis/exception.js | 70 ++++++----- .../app/exception/webdoc/exception.js | 8 +- .../exception/basic-usage-composition-api.vue | 15 +++ .../demos/pc/app/exception/basic-usage.vue | 21 ++++ .../exception/button-text-composition-api.vue | 13 ++ .../demos/pc/app/exception/button-text.vue | 21 ++++ .../component-page-composition-api.vue | 44 +++++++ .../demos/pc/app/exception/component-page.vue | 55 +++++++++ .../exception/page-empty-composition-api.vue | 7 ++ .../demos/pc/app/exception/page-empty.vue | 13 ++ .../pc/app/exception/slot-composition-api.vue | 29 +++++ .../sites/demos/pc/app/exception/slot.vue | 23 ++++ .../exception/sub-message-composition-api.vue | 7 ++ .../demos/pc/app/exception/sub-message.vue | 13 ++ .../pc/app/exception/webdoc/exception.cn.md | 5 + .../pc/app/exception/webdoc/exception.en.md | 5 + .../pc/app/exception/webdoc/exception.js | 84 +++++++++++++ examples/sites/demos/pc/menus.js | 8 ++ packages/theme/src/dark-theme-index.less | 2 +- packages/theme/src/exception/index.less | 82 +++++++++++++ packages/theme/src/exception/vars.less | 10 ++ packages/theme/src/index.less | 1 + packages/theme/src/svgs/no-data.svg | 63 +++++++--- packages/theme/src/svgs/no-news.svg | 62 +++++++--- packages/theme/src/svgs/no-perm.svg | 44 +++++-- packages/theme/src/svgs/no-result.svg | 72 ++++++++--- packages/theme/src/svgs/page-noperm.svg | 38 ++++-- packages/theme/src/svgs/page-nothing.svg | 47 ++++++-- packages/theme/src/svgs/page-servererror.svg | 96 +++++++++++---- packages/theme/src/svgs/page-weaknet.svg | 38 ++++-- packages/theme/src/svgs/weaknet.svg | 45 +++++-- packages/vue-locale/src/lang/en.ts | 2 +- packages/vue-locale/src/lang/es-LA.ts | 2 +- packages/vue-locale/src/lang/pt-BR.ts | 2 +- packages/vue-locale/src/lang/zh-CN.ts | 2 +- packages/vue/src/exception/index.ts | 1 + packages/vue/src/exception/src/index.ts | 2 +- packages/vue/src/exception/src/pc.vue | 112 ++++++++++++++++++ 38 files changed, 996 insertions(+), 168 deletions(-) create mode 100644 examples/sites/demos/pc/app/exception/basic-usage-composition-api.vue create mode 100644 examples/sites/demos/pc/app/exception/basic-usage.vue create mode 100644 examples/sites/demos/pc/app/exception/button-text-composition-api.vue create mode 100644 examples/sites/demos/pc/app/exception/button-text.vue create mode 100644 examples/sites/demos/pc/app/exception/component-page-composition-api.vue create mode 100644 examples/sites/demos/pc/app/exception/component-page.vue create mode 100644 examples/sites/demos/pc/app/exception/page-empty-composition-api.vue create mode 100644 examples/sites/demos/pc/app/exception/page-empty.vue create mode 100644 examples/sites/demos/pc/app/exception/slot-composition-api.vue create mode 100644 examples/sites/demos/pc/app/exception/slot.vue create mode 100644 examples/sites/demos/pc/app/exception/sub-message-composition-api.vue create mode 100644 examples/sites/demos/pc/app/exception/sub-message.vue create mode 100644 examples/sites/demos/pc/app/exception/webdoc/exception.cn.md create mode 100644 examples/sites/demos/pc/app/exception/webdoc/exception.en.md create mode 100644 examples/sites/demos/pc/app/exception/webdoc/exception.js create mode 100644 packages/theme/src/exception/index.less create mode 100644 packages/theme/src/exception/vars.less create mode 100644 packages/vue/src/exception/src/pc.vue diff --git a/examples/sites/demos/apis/exception.js b/examples/sites/demos/apis/exception.js index 6d4652545a..98c4b06627 100644 --- a/examples/sites/demos/apis/exception.js +++ b/examples/sites/demos/apis/exception.js @@ -1,5 +1,5 @@ export default { - mode: ['mobile-first'], + mode: ['pc', 'mobile-first'], apis: [ { name: 'Exception', @@ -10,11 +10,12 @@ export default { type: 'boolean', defaultValue: '', desc: { - 'zh-CN': '设置组件级空态', - 'en-US': 'Set component-level empty state' + 'zh-CN': '设置组件级异常', + 'en-US': 'Set component-level exception' }, - mode: ['mobile-first'], - mfDemo: 'component-empty' + mode: ['pc', 'mobile-first'], + mfDemo: 'component-page', + pcDemo: 'component-page' }, { name: 'exception-class', @@ -24,19 +25,21 @@ export default { 'zh-CN': '设置自定义类', 'en-US': 'Setting Custom Classes' }, - mode: ['mobile-first'], - mfDemo: '' + mode: ['pc', 'mobile-first'], + mfDemo: 'exception-class', + pcDemo: 'exception-class' }, { name: 'page-empty', type: 'boolean', defaultValue: '', desc: { - 'zh-CN': '设置页面级空态', - 'en-US': '' + 'zh-CN': '设置页面级异常', + 'en-US': 'Set page-level exception' }, - mode: ['mobile-first'], - mfDemo: '' + mode: ['pc', 'mobile-first'], + mfDemo: 'page-empty', + pcDemo: 'page-empty' }, { name: 'sub-message', @@ -46,20 +49,22 @@ export default { 'zh-CN': '设置二级标题', 'en-US': 'Set Level-2 Title' }, - mode: ['mobile-first'], - mfDemo: 'sub-message' + mode: ['pc', 'mobile-first'], + mfDemo: 'sub-message', + pcDemo: 'sub-message' }, { name: 'type', - type: 'string', + typeAnchorName: 'IType', + type: 'IType', defaultValue: 'nodata', desc: { - 'zh-CN': - '

设置缺省页类型,默认为nodata,可选值有 weaknet || noperm || busy || build || weaknet || pcview

', - 'en-US': 'display different button' + 'zh-CN': '

设置缺省页类型,默认为nodata

', + 'en-US': '

Set exception type, The default value is nodata

' }, - mode: ['mobile-first'], - mfDemo: 'page-empty' + mode: ['pc', 'mobile-first'], + mfDemo: 'page-empty', + pcDemo: 'page-empty' } ], events: [], @@ -71,23 +76,34 @@ export default { defaultValue: '', desc: { 'zh-CN': '

设置内容

', - 'en-US': 'Click' + 'en-US': '

Set content

' }, - mode: ['mobile-first'], - mfDemo: 'content-slot' + mode: ['pc', 'mobile-first'], + mfDemo: 'slot', + pcDemo: 'slot' }, { - name: 'default', + name: 'icon', type: '', defaultValue: '', desc: { - 'zh-CN': '默认插槽', - 'en-US': 'Default Slot' + 'zh-CN': '图标插槽', + 'en-US': 'Icon Slot' }, - mode: ['mobile-first'], - mfDemo: '' + mode: ['pc', 'mobile-first'], + mfDemo: 'slot', + pcDemo: 'slot' } ] } + ], + types: [ + { + name: 'IType', + type: 'type', + code: ` +type IType = 'noperm' | 'nodata' | 'weaknet' | 'noresult' | 'nonews' | 'pagenoperm' | 'pageweaknet' | 'pagenothing' | 'pageservererror' +` + } ] } diff --git a/examples/sites/demos/mobile-first/app/exception/webdoc/exception.js b/examples/sites/demos/mobile-first/app/exception/webdoc/exception.js index edbf0a9c6f..b843e885d8 100644 --- a/examples/sites/demos/mobile-first/app/exception/webdoc/exception.js +++ b/examples/sites/demos/mobile-first/app/exception/webdoc/exception.js @@ -29,18 +29,18 @@ export default { codeFiles: ['page-empty.vue'] }, { - demoId: 'component-empty', + demoId: 'component-page', name: { 'zh-CN': '组件级空态', 'en-US': 'Component-level empty state' }, desc: { 'zh-CN': - '

通过添加`component-empty`属性展示组件级空态,其中 type 类型有`noperm、 nodata、 weaknet、noresult、 nonews`
对应场景:
`noperm` :无访问权限
`nodata` :暂无数据
`weaknet` :网络不给力
`noresult`:无相关搜索结果
`nonews`:暂无最新消息

', + '

通过添加`component-page`属性展示组件级空态,其中 type 类型有`noperm、 nodata、 weaknet、noresult、 nonews`
对应场景:
`noperm` :无访问权限
`nodata` :暂无数据
`weaknet` :网络不给力
`noresult`:无相关搜索结果
`nonews`:暂无最新消息

', 'en-US': - '

Add the `component-empty` attribute to display the component-level empty state. The type type can be `noperm, nodata, weaknet, noresult, or nonews`
The corresponding scenario is as follows:
`noperm`: No access
`nodata`: no data
`weaknet`: network is not powerful
`noresult`: no related search results
`nonews`: no latest news

' + '

Add the `component-page` attribute to display the component-level empty state. The type type can be `noperm, nodata, weaknet, noresult, or nonews`
The corresponding scenario is as follows:
`noperm`: No access
`nodata`: no data
`weaknet`: network is not powerful
`noresult`: no related search results
`nonews`: no latest news

' }, - codeFiles: ['component-empty.vue'] + codeFiles: ['component-page.vue'] }, { demoId: 'sub-message', diff --git a/examples/sites/demos/pc/app/exception/basic-usage-composition-api.vue b/examples/sites/demos/pc/app/exception/basic-usage-composition-api.vue new file mode 100644 index 0000000000..a28390fcf1 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/basic-usage-composition-api.vue @@ -0,0 +1,15 @@ + + + + + diff --git a/examples/sites/demos/pc/app/exception/basic-usage.vue b/examples/sites/demos/pc/app/exception/basic-usage.vue new file mode 100644 index 0000000000..c50a5b7805 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/basic-usage.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/examples/sites/demos/pc/app/exception/button-text-composition-api.vue b/examples/sites/demos/pc/app/exception/button-text-composition-api.vue new file mode 100644 index 0000000000..86930f5a64 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/button-text-composition-api.vue @@ -0,0 +1,13 @@ + + + diff --git a/examples/sites/demos/pc/app/exception/button-text.vue b/examples/sites/demos/pc/app/exception/button-text.vue new file mode 100644 index 0000000000..bb70522d11 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/button-text.vue @@ -0,0 +1,21 @@ + + + diff --git a/examples/sites/demos/pc/app/exception/component-page-composition-api.vue b/examples/sites/demos/pc/app/exception/component-page-composition-api.vue new file mode 100644 index 0000000000..b457b03ac3 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/component-page-composition-api.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/examples/sites/demos/pc/app/exception/component-page.vue b/examples/sites/demos/pc/app/exception/component-page.vue new file mode 100644 index 0000000000..9613482a3a --- /dev/null +++ b/examples/sites/demos/pc/app/exception/component-page.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/examples/sites/demos/pc/app/exception/page-empty-composition-api.vue b/examples/sites/demos/pc/app/exception/page-empty-composition-api.vue new file mode 100644 index 0000000000..2ecec04c89 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/page-empty-composition-api.vue @@ -0,0 +1,7 @@ + + + diff --git a/examples/sites/demos/pc/app/exception/page-empty.vue b/examples/sites/demos/pc/app/exception/page-empty.vue new file mode 100644 index 0000000000..efac0b0558 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/page-empty.vue @@ -0,0 +1,13 @@ + + + diff --git a/examples/sites/demos/pc/app/exception/slot-composition-api.vue b/examples/sites/demos/pc/app/exception/slot-composition-api.vue new file mode 100644 index 0000000000..f4e235a909 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/slot-composition-api.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/examples/sites/demos/pc/app/exception/slot.vue b/examples/sites/demos/pc/app/exception/slot.vue new file mode 100644 index 0000000000..5d4a9d75d0 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/slot.vue @@ -0,0 +1,23 @@ + + + diff --git a/examples/sites/demos/pc/app/exception/sub-message-composition-api.vue b/examples/sites/demos/pc/app/exception/sub-message-composition-api.vue new file mode 100644 index 0000000000..f1a8b7735d --- /dev/null +++ b/examples/sites/demos/pc/app/exception/sub-message-composition-api.vue @@ -0,0 +1,7 @@ + + + diff --git a/examples/sites/demos/pc/app/exception/sub-message.vue b/examples/sites/demos/pc/app/exception/sub-message.vue new file mode 100644 index 0000000000..e592dc872d --- /dev/null +++ b/examples/sites/demos/pc/app/exception/sub-message.vue @@ -0,0 +1,13 @@ + + + diff --git a/examples/sites/demos/pc/app/exception/webdoc/exception.cn.md b/examples/sites/demos/pc/app/exception/webdoc/exception.cn.md new file mode 100644 index 0000000000..382b923f53 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/webdoc/exception.cn.md @@ -0,0 +1,5 @@ +--- +title: Exception 缺省页 +--- + +# Exception 缺省页 diff --git a/examples/sites/demos/pc/app/exception/webdoc/exception.en.md b/examples/sites/demos/pc/app/exception/webdoc/exception.en.md new file mode 100644 index 0000000000..453c6028a0 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/webdoc/exception.en.md @@ -0,0 +1,5 @@ +--- +title: Exception +--- + +# Exception diff --git a/examples/sites/demos/pc/app/exception/webdoc/exception.js b/examples/sites/demos/pc/app/exception/webdoc/exception.js new file mode 100644 index 0000000000..b921c35ba7 --- /dev/null +++ b/examples/sites/demos/pc/app/exception/webdoc/exception.js @@ -0,0 +1,84 @@ +export default { + column: '2', + owner: '', + show: true, + cloud: true, + demos: [ + { + demoId: 'basic-usage', + name: { + 'zh-CN': '基本用法', + 'en-US': 'Basic Usage' + }, + desc: { + 'zh-CN': '', + 'en-US': '' + }, + codeFiles: ['basic-usage.vue'] + }, + { + demoId: 'page-empty', + name: { + 'zh-CN': '页面级异常', + 'en-US': 'Page exception' + }, + desc: { + 'zh-CN': + '

通过添加`page-empty`属性展示页面级异常,其中 type 类型有`pagenoperm`、 `pageweaknet`、 `pagenothing`、 `pageservererror`
对应场景:
`pagenoperm` :无访问权限
`pageweaknet` :网络异常
`pagenothing` :你访问的页面不存在
`pageservererror`:服务器异常

', + 'en-US': + '

The page exception is displayed by adding the `page-empty` attribute. The type types include `pagenoperm`, `pageweaknet`, `pagenothing`, and `pageservererror`.
Scenario:
`pagenoperm`: no access permission
`pageweaknet`: network exception
`pagenothing`: The page you access does not exist
`pageservererror`: The server is abnormal

' + }, + codeFiles: ['page-empty.vue'] + }, + { + demoId: 'component-page', + name: { + 'zh-CN': '组件级异常', + 'en-US': 'Component exception' + }, + desc: { + 'zh-CN': + '

通过添加`component-page`属性展示组件级异常,其中 type 类型有`noperm`、 `nodata`、 `weaknet`、 `noresult`、 `nonews`
对应场景:
`noperm` :无访问权限
`nodata` :暂无数据
`weaknet` :网络不给力
`noresult`:无相关搜索结果
`nonews`:暂无最新消息

', + 'en-US': + '

Add the `component-page` attribute to display the component exception. The type type can be `noperm`, `nodata`, `weaknet`, `noresult`, or `nonews`
The corresponding scenario is as follows:
`noperm`: No access
`nodata`: no data
`weaknet`: network is not powerful
`noresult`: no related search results
`nonews`: no latest news

' + }, + codeFiles: ['component-page.vue'] + }, + { + demoId: 'sub-message', + name: { + 'zh-CN': '自定义二级标题内容', + 'en-US': 'User-defined level-2 title content' + }, + desc: { + 'zh-CN': '

通过`sub-message`自定义二级标题

', + 'en-US': '

Customizing Level-2 Titles Using `sub-message`

' + }, + codeFiles: ['sub-message.vue'] + }, + { + demoId: 'button-text', + name: { + 'zh-CN': '自定义按钮文本', + 'en-US': 'button-text' + }, + desc: { + 'zh-CN': '

已去除`button-text`自定义按钮文本,直接可以通过插槽自定义

', + 'en-US': '

Customizing Level-2 Titles Using `sub-message`

' + }, + codeFiles: ['button-text.vue'] + }, + { + demoId: 'slot', + name: { + 'zh-CN': '插槽', + 'en-US': 'slot' + }, + desc: { + 'zh-CN': '

通过命名插槽 `content`,自定义内容区

', + 'en-US': '

Customize the content area by naming the slot `content`

' + }, + codeFiles: ['slot.vue'] + } + ] +} diff --git a/examples/sites/demos/pc/menus.js b/examples/sites/demos/pc/menus.js index 848a5be79c..14a1c7a47e 100644 --- a/examples/sites/demos/pc/menus.js +++ b/examples/sites/demos/pc/menus.js @@ -283,6 +283,14 @@ export const cmpMenus = [ { 'nameCn': '警告', 'name': 'Alert', 'key': 'alert' }, { 'nameCn': '对话框', 'name': 'DialogBox', 'key': 'dialog-box' }, { 'nameCn': '抽屉', 'name': 'Drawer', 'key': 'drawer' }, + { + 'nameCn': '异常页', + 'name': 'Exception', + 'key': 'exception', + 'meta': { + 'stable': '3.27.0' + } + }, { 'nameCn': '加载', 'name': 'Loading', 'key': 'loading' }, { 'nameCn': '模态框', 'name': 'Modal', 'key': 'modal' }, { 'nameCn': '通知', 'name': 'Notify', 'key': 'notify' }, diff --git a/packages/theme/src/dark-theme-index.less b/packages/theme/src/dark-theme-index.less index b4266b937b..ce50e793a7 100644 --- a/packages/theme/src/dark-theme-index.less +++ b/packages/theme/src/dark-theme-index.less @@ -1 +1 @@ -@import './base/dark-theme.less'; +@import './base/dark-theme.less'; \ No newline at end of file diff --git a/packages/theme/src/exception/index.less b/packages/theme/src/exception/index.less new file mode 100644 index 0000000000..a7d0011224 --- /dev/null +++ b/packages/theme/src/exception/index.less @@ -0,0 +1,82 @@ +@import '../mixins/common.less'; +@import '../custom.less'; +@import './vars.less'; + +@exception-prefix-cls: ~'@{css-prefix}exception'; +@svg-prefix-cls: ~'@{css-prefix}svg'; + +.@{exception-prefix-cls} { + .inject-Exception-vars(); + + display: flex; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; + background-color: transparent; + text-align: center; + + &__body { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + } + + &__image { + margin-bottom: 16px; + + .@{svg-prefix-cls} { + width: 208px; + height: 160px; + } + } + + &__componentpage-image { + margin-bottom: 8px; + + .@{svg-prefix-cls} { + width: 120px; + height: 92px; + } + } + + &__description { + color: var(--tv-Exception-title-color); + font-size: var(--tv-Exception-title-font-size); + line-height: 1.5; + margin-bottom: 8px; + } + + &__componentpage { + font-size: var(--tv-Exception-sub-title-font-size); + } + + &__submessage { + color: var(--tv-Exception-sub-title-color); + font-size: var(--tv-Exception-sub-title-font-size); + line-height: 30px; + margin-bottom: 12px; + } + + &__footer { + padding-top: 8px; + } + + &__actions { + margin-top: 16px; + + .tiny-button { + margin: 0 8px; + } + } + + // 组件页面模式 + &__component-page { + .tiny-exception__image svg { + width: 96px; + height: 96px; + } + } +} + diff --git a/packages/theme/src/exception/vars.less b/packages/theme/src/exception/vars.less new file mode 100644 index 0000000000..728dc3cf71 --- /dev/null +++ b/packages/theme/src/exception/vars.less @@ -0,0 +1,10 @@ +.inject-Exception-vars() { + // 一级标题颜色 + --tv-Exception-title-color: var(--tv-color-text, #191919); + // 一级标题字体大小 + --tv-Exception-title-font-size: var(--tv-font-size-md, 16px); + // 二级标题颜色 + --tv-Exception-sub-title-color: var(--tv-color-text-secondary, #595959); + // 一级标题字体大小 + --tv-Exception-sub-title-font-size: var(--tv-font-size-sm, 14px); +} diff --git a/packages/theme/src/index.less b/packages/theme/src/index.less index c9c6e7a0b8..da188829b9 100644 --- a/packages/theme/src/index.less +++ b/packages/theme/src/index.less @@ -54,6 +54,7 @@ @import './dropdown-item/index.less'; @import './dropdown-menu/index.less'; @import './espace/index.less'; +@import './exception/index.less'; @import './fall-menu/index.less'; @import './file-upload/index.less'; @import './filter-box/index.less'; diff --git a/packages/theme/src/svgs/no-data.svg b/packages/theme/src/svgs/no-data.svg index 8aa86eb2c8..ef26537c03 100644 --- a/packages/theme/src/svgs/no-data.svg +++ b/packages/theme/src/svgs/no-data.svg @@ -1,5 +1,6 @@ - + @@ -7,26 +8,56 @@ - - - - + + + + - - - - - - - - + + + + + + + + - - - + + + diff --git a/packages/theme/src/svgs/no-news.svg b/packages/theme/src/svgs/no-news.svg index 81b6537bae..eba1b97953 100644 --- a/packages/theme/src/svgs/no-news.svg +++ b/packages/theme/src/svgs/no-news.svg @@ -1,28 +1,60 @@ - + - - - - - - - + + + + + + + - - - - + + + + - + - - + + diff --git a/packages/theme/src/svgs/no-perm.svg b/packages/theme/src/svgs/no-perm.svg index d5a3208e16..6099f1e121 100644 --- a/packages/theme/src/svgs/no-perm.svg +++ b/packages/theme/src/svgs/no-perm.svg @@ -1,24 +1,44 @@ - + - - - - - + + + + + - - - - + + + + - - + + diff --git a/packages/theme/src/svgs/no-result.svg b/packages/theme/src/svgs/no-result.svg index 7da1416f5a..30c6337aab 100644 --- a/packages/theme/src/svgs/no-result.svg +++ b/packages/theme/src/svgs/no-result.svg @@ -1,36 +1,72 @@ - + - - - - - - + + + + + + - - - - - + + + + + - - + + - - - - + + + + diff --git a/packages/theme/src/svgs/page-noperm.svg b/packages/theme/src/svgs/page-noperm.svg index 224e49286c..ca48312d79 100644 --- a/packages/theme/src/svgs/page-noperm.svg +++ b/packages/theme/src/svgs/page-noperm.svg @@ -1,23 +1,41 @@ - + - - - - - + + + + + - - - + + + - + diff --git a/packages/theme/src/svgs/page-nothing.svg b/packages/theme/src/svgs/page-nothing.svg index 938ae2c31f..5635f1361c 100644 --- a/packages/theme/src/svgs/page-nothing.svg +++ b/packages/theme/src/svgs/page-nothing.svg @@ -1,27 +1,48 @@ - + - - - - - + + + + + - - + + - - + + - - - + + + diff --git a/packages/theme/src/svgs/page-servererror.svg b/packages/theme/src/svgs/page-servererror.svg index eb8862bbdf..c44083d086 100644 --- a/packages/theme/src/svgs/page-servererror.svg +++ b/packages/theme/src/svgs/page-servererror.svg @@ -1,42 +1,88 @@ - + - - - - - - - - - + + + + + + + + + - + - - - - + + + + - - - + + + - - - - - - - + + + + + + + diff --git a/packages/theme/src/svgs/page-weaknet.svg b/packages/theme/src/svgs/page-weaknet.svg index 3256c1d666..9c100e0211 100644 --- a/packages/theme/src/svgs/page-weaknet.svg +++ b/packages/theme/src/svgs/page-weaknet.svg @@ -1,23 +1,41 @@ - + - - - - - + + + + + - + - - - + + + diff --git a/packages/theme/src/svgs/weaknet.svg b/packages/theme/src/svgs/weaknet.svg index 74fb9d942d..4176d73b23 100644 --- a/packages/theme/src/svgs/weaknet.svg +++ b/packages/theme/src/svgs/weaknet.svg @@ -1,24 +1,45 @@ - + - - - - - + + + + + - - + + - - - - + + + + diff --git a/packages/vue-locale/src/lang/en.ts b/packages/vue-locale/src/lang/en.ts index 250b458474..63dd3e7894 100644 --- a/packages/vue-locale/src/lang/en.ts +++ b/packages/vue-locale/src/lang/en.ts @@ -265,7 +265,7 @@ export default { noperm: 'Not find the page', weaknet: 'Poor network performance', pcview: 'View the file on the PC', - nodata: 'Get some rest', + nodata: 'No data available.', create: 'Create', provide: 'Provided by the TINY Team DEV', nodatamf: 'No data available.', diff --git a/packages/vue-locale/src/lang/es-LA.ts b/packages/vue-locale/src/lang/es-LA.ts index c532b51796..c39d9811d6 100644 --- a/packages/vue-locale/src/lang/es-LA.ts +++ b/packages/vue-locale/src/lang/es-LA.ts @@ -265,7 +265,7 @@ export default { noperm: 'No encontrar la página', weaknet: 'Bajo rendimiento de la red', pcview: 'Ver el archivo en la PC', - nodata: 'Descansa un poco', + nodata: 'No hay datos disponibles.', create: 'Crear', provide: 'Proporcionado por el equipo TINY DEV', nodatamf: 'No hay datos disponibles.', diff --git a/packages/vue-locale/src/lang/pt-BR.ts b/packages/vue-locale/src/lang/pt-BR.ts index f731de5c39..74fc819436 100644 --- a/packages/vue-locale/src/lang/pt-BR.ts +++ b/packages/vue-locale/src/lang/pt-BR.ts @@ -265,7 +265,7 @@ export default { noperm: 'Não encontrar a página.', weaknet: 'Desempenho de rede ruim.', pcview: 'Exibir o arquivo no PC.', - nodata: 'Descanse um pouco.', + nodata: 'Não há dados disponíveis.', create: 'Criar', provide: 'Fornecido pela equipe TINY DEV.', nodatamf: 'Não há dados disponíveis.', diff --git a/packages/vue-locale/src/lang/zh-CN.ts b/packages/vue-locale/src/lang/zh-CN.ts index af3e5d89e2..e01bb359fe 100644 --- a/packages/vue-locale/src/lang/zh-CN.ts +++ b/packages/vue-locale/src/lang/zh-CN.ts @@ -265,7 +265,7 @@ export default { noperm: '茫茫大海,找不到页面', weaknet: '网络不给力', pcview: '请到PC上查看文件', - nodata: '休息一下', + nodata: '暂无数据', create: '创建', provide: 'TINY 开发团队提供', nodatamf: '暂无数据', diff --git a/packages/vue/src/exception/index.ts b/packages/vue/src/exception/index.ts index 7a0d7898c1..4f52bb6f4b 100644 --- a/packages/vue/src/exception/index.ts +++ b/packages/vue/src/exception/index.ts @@ -11,6 +11,7 @@ */ import Exception from './src/index' import { version } from './package.json' +import '@opentiny/vue-theme/exception/index.less' /* istanbul ignore next */ Exception.install = function (Vue) { diff --git a/packages/vue/src/exception/src/index.ts b/packages/vue/src/exception/src/index.ts index 5f95fbc717..3f1a8c3894 100644 --- a/packages/vue/src/exception/src/index.ts +++ b/packages/vue/src/exception/src/index.ts @@ -1,5 +1,5 @@ import { $setup, $prefix, $props, defineComponent } from '@opentiny/vue-common' -import template from 'virtual-template?mobile-first' +import template from 'virtual-template?pc|mobile-first' export default defineComponent({ name: $prefix + 'Exception', diff --git a/packages/vue/src/exception/src/pc.vue b/packages/vue/src/exception/src/pc.vue new file mode 100644 index 0000000000..658e013080 --- /dev/null +++ b/packages/vue/src/exception/src/pc.vue @@ -0,0 +1,112 @@ +
+
+
+ + + +
+ +
+
+ {{ t(_constants.INTERNALCONFIG[type.toUpperCase()]) }} +
+
+ {{ subMessage }} +
+ +
+
+
+
+ + +