chrysalis1215
4 years ago
7 changed files with 118 additions and 73 deletions
-
14.editorconfig
-
40.prettierrc.js
-
1commitlint.config.js
-
39src/components/breadcrumb.vue
-
24src/components/footer.vue
-
68src/components/sidenav.tsx
-
5src/layouts/blank.vue
@ -0,0 +1,14 @@ |
|||
root = true |
|||
|
|||
[*] |
|||
indent_style = space |
|||
end_of_line = lf |
|||
charset = utf-8 |
|||
trim_trailing_whitespace = true |
|||
insert_final_newline = true |
|||
|
|||
[*.md] |
|||
trim_trailing_whitespace = false |
|||
|
|||
[*.{ts,js,vue,css}] |
|||
indent_size = 2 |
@ -0,0 +1,40 @@ |
|||
module.exports = { |
|||
// 一行最多 120 字符
|
|||
printWidth: 120, |
|||
// 使用 2 个空格缩进
|
|||
tabWidth: 2, |
|||
// 不使用缩进符,而使用空格
|
|||
useTabs: false, |
|||
// 行尾需要有分号
|
|||
semi: true, |
|||
// 使用单引号
|
|||
singleQuote: true, |
|||
// 对象的 key 仅在必要时用引号
|
|||
quoteProps: 'as-needed', |
|||
// jsx 不使用单引号,而使用双引号
|
|||
jsxSingleQuote: false, |
|||
// 末尾需要有逗号
|
|||
trailingComma: 'all', |
|||
// 大括号内的首尾需要空格
|
|||
bracketSpacing: true, |
|||
// jsx 标签的反尖括号需要换行
|
|||
jsxBracketSameLine: false, |
|||
// 箭头函数,只有一个参数的时候,也需要括号
|
|||
arrowParens: 'always', |
|||
// 每个文件格式化的范围是文件的全部内容
|
|||
rangeStart: 0, |
|||
rangeEnd: Infinity, |
|||
// 不需要写文件开头的 @prettier
|
|||
requirePragma: false, |
|||
// 不需要自动在文件开头插入 @prettier
|
|||
insertPragma: false, |
|||
// 使用默认的折行标准
|
|||
proseWrap: 'preserve', |
|||
// 根据显示样式决定 html 要不要折行
|
|||
htmlWhitespaceSensitivity: 'css', |
|||
// vue 文件中的 script 和 style 内不用缩进
|
|||
vueIndentScriptAndStyle: false, |
|||
// 换行符使用 lf
|
|||
endOfLine: 'lf', |
|||
}; |
|||
|
@ -0,0 +1 @@ |
|||
module.exports = { extends: ['@commitlint/config-conventional'] }; |
@ -1,44 +1,39 @@ |
|||
<template> |
|||
<t-breadcrumb :maxItemWidth="'150'" class="tdesign-breadcrumb"> |
|||
<template v-for="item in crumbs"> |
|||
<t-breadcrumbItem |
|||
:key="item.path" |
|||
:to="item.path"> |
|||
{{item.title}} |
|||
</t-breadcrumbItem> |
|||
<t-breadcrumbItem :key="item.path" :to="item.path"> |
|||
{{ item.title }} |
|||
</t-breadcrumbItem> |
|||
</template> |
|||
</t-breadcrumb> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: "Tdesign-breadcrumb", |
|||
name: 'Tdesign-breadcrumb', |
|||
props: { |
|||
isVisible: false, |
|||
isVisible: Boolean, |
|||
}, |
|||
computed: { |
|||
crumbs: function() { |
|||
let pathArray = this.$route.path.split('/'); |
|||
crumbs() { |
|||
const pathArray = this.$route.path.split('/'); |
|||
pathArray.shift(); |
|||
|
|||
let breadcrumbs = pathArray.reduce((breadcrumbArray, path, idx) => { |
|||
|
|||
const breadcrumbs = pathArray.reduce((breadcrumbArray, path, idx) => { |
|||
breadcrumbArray.push({ |
|||
path: path, |
|||
to: breadcrumbArray[idx - 1] |
|||
? '/' + breadcrumbArray[idx - 1].path + "/" + path |
|||
: '/' + path, |
|||
title: this.$route.matched[idx].meta.title || path |
|||
path, |
|||
to: breadcrumbArray[idx - 1] ? `/${breadcrumbArray[idx - 1].path}/${path}` : `/${path}`, |
|||
title: this.$route.matched[idx].meta.title || path, |
|||
}); |
|||
return breadcrumbArray; |
|||
}, []) |
|||
}, []); |
|||
return breadcrumbs; |
|||
} |
|||
}, |
|||
}, |
|||
} |
|||
}; |
|||
</script> |
|||
<style lang="less" scoped> |
|||
.tdesign-breadcrumb { |
|||
margin-bottom: 24px; |
|||
} |
|||
.tdesign-breadcrumb { |
|||
margin-bottom: 24px; |
|||
} |
|||
</style> |
@ -1,23 +1,21 @@ |
|||
<template> |
|||
<div class="tdesign-footer"> |
|||
<span> |
|||
Copyright @ 2021-{{ new Date().getFullYear() }} Tencent. All Rights Reserved |
|||
</span> |
|||
</div> |
|||
<div class="tdesign-footer"> |
|||
<span> Copyright @ 2021-{{ new Date().getFullYear() }} Tencent. All Rights Reserved </span> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'tdesignFooter', |
|||
} |
|||
name: 'tdesignFooter', |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="less" scoped> |
|||
.tdesign-footer { |
|||
border-top: 1px solid rgba(0, 0, 0, 0.1); |
|||
padding-top: 24px; |
|||
opacity: 0.6; |
|||
line-height: 24px; |
|||
text-align: center; |
|||
border-top: 1px solid rgba(0, 0, 0, 0.1); |
|||
padding-top: 24px; |
|||
opacity: 0.6; |
|||
line-height: 24px; |
|||
text-align: center; |
|||
} |
|||
</style>> |
|||
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue