Browse Source

chore: route icons, dead .less cleanup, and security fix (#11694)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
pull/11695/head
afc163 6 months ago
committed by GitHub
parent
commit
882f5b2ed1
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      cloudflare-worker/wrangler.toml
  2. 51
      config/routes.ts
  3. 75
      src/pages/dashboard/analysis/components/Charts/ChartCard/index.less
  4. 17
      src/pages/dashboard/analysis/components/Charts/Field/index.less
  5. 19
      src/pages/dashboard/analysis/components/Charts/index.less
  6. 68
      src/pages/dashboard/analysis/components/NumberInfo/index.less
  7. 37
      src/pages/dashboard/analysis/components/Trend/index.less
  8. 189
      src/pages/dashboard/analysis/style.less
  9. 51
      src/pages/dashboard/monitor/components/ActiveChart/index.less
  10. 21
      src/pages/dashboard/monitor/style.less
  11. 16
      src/pages/dashboard/workplace/components/EditableLinkGroup/index.less
  12. 251
      src/pages/dashboard/workplace/style.less
  13. 65
      src/pages/form/advanced-form/style.less
  14. 6
      src/pages/form/basic-form/style.less
  15. 11
      src/pages/form/step-form/style.less

1
cloudflare-worker/wrangler.toml

@ -1,7 +1,6 @@
name = "pro-api"
main = "src/index.ts"
compatibility_date = "2026-04-01"
account_id = "e6395b6beb3487d0b05d2b606540a2d0"
[vars]
ENVIRONMENT = "production"

51
config/routes.ts

@ -17,7 +17,6 @@ export default [
routes: [
{
path: '/user/login',
layout: false,
name: 'login',
component: './user/login',
},
@ -27,13 +26,13 @@ export default [
},
{
name: 'register-result',
icon: 'smile',
icon: 'checkCircle',
path: '/user/register-result',
component: './user/register-result',
},
{
name: 'register',
icon: 'smile',
icon: 'userAdd',
path: '/user/register',
component: './user/register',
},
@ -46,7 +45,7 @@ export default [
{
path: '/welcome',
name: 'welcome',
icon: 'smile',
icon: 'home',
component: './Welcome',
},
{
@ -77,19 +76,19 @@ export default [
},
{
name: 'analysis',
icon: 'smile',
icon: 'barChart',
path: '/dashboard/analysis',
component: './dashboard/analysis',
},
{
name: 'monitor',
icon: 'smile',
icon: 'monitor',
path: '/dashboard/monitor',
component: './dashboard/monitor',
},
{
name: 'workplace',
icon: 'smile',
icon: 'desktop',
path: '/dashboard/workplace',
component: './dashboard/workplace',
},
@ -106,19 +105,19 @@ export default [
},
{
name: 'basic-form',
icon: 'smile',
icon: 'form',
path: '/form/basic-form',
component: './form/basic-form',
},
{
name: 'step-form',
icon: 'smile',
icon: 'orderedList',
path: '/form/step-form',
component: './form/step-form',
},
{
name: 'advanced-form',
icon: 'smile',
icon: 'profile',
path: '/form/advanced-form',
component: './form/advanced-form',
},
@ -140,19 +139,19 @@ export default [
},
{
name: 'articles',
icon: 'smile',
icon: 'read',
path: '/list/search/articles',
component: './list/search/articles',
},
{
name: 'projects',
icon: 'smile',
icon: 'project',
path: '/list/search/projects',
component: './list/search/projects',
},
{
name: 'applications',
icon: 'smile',
icon: 'appstore',
path: '/list/search/applications',
component: './list/search/applications',
},
@ -164,19 +163,19 @@ export default [
},
{
name: 'table-list',
icon: 'smile',
icon: 'table',
path: '/list/table-list',
component: './table-list',
},
{
name: 'basic-list',
icon: 'smile',
icon: 'unorderedList',
path: '/list/basic-list',
component: './list/basic-list',
},
{
name: 'card-list',
icon: 'smile',
icon: 'creditCard',
path: '/list/card-list',
component: './list/card-list',
},
@ -193,13 +192,13 @@ export default [
},
{
name: 'basic',
icon: 'smile',
icon: 'idcard',
path: '/profile/basic',
component: './profile/basic',
},
{
name: 'advanced',
icon: 'smile',
icon: 'crown',
path: '/profile/advanced',
component: './profile/advanced',
},
@ -207,7 +206,7 @@ export default [
},
{
name: 'result',
icon: 'CheckCircleOutlined',
icon: 'checkCircle',
path: '/result',
routes: [
{
@ -216,13 +215,13 @@ export default [
},
{
name: 'success',
icon: 'smile',
icon: 'checkCircle',
path: '/result/success',
component: './result/success',
},
{
name: 'fail',
icon: 'smile',
icon: 'closeCircle',
path: '/result/fail',
component: './result/fail',
},
@ -239,19 +238,19 @@ export default [
},
{
name: '403',
icon: 'smile',
icon: 'stop',
path: '/exception/403',
component: './exception/403',
},
{
name: '404',
icon: 'smile',
icon: 'warning',
path: '/exception/404',
component: './exception/404',
},
{
name: '500',
icon: 'smile',
icon: 'bug',
path: '/exception/500',
component: './exception/500',
},
@ -268,13 +267,13 @@ export default [
},
{
name: 'center',
icon: 'smile',
icon: 'user',
path: '/account/center',
component: './account/center',
},
{
name: 'settings',
icon: 'smile',
icon: 'setting',
path: '/account/settings',
component: './account/settings',
},

75
src/pages/dashboard/analysis/components/Charts/ChartCard/index.less

@ -1,75 +0,0 @@
@import '~antd/es/style/themes/default.less';
.chartCard {
position: relative;
.chartTop {
position: relative;
width: 100%;
overflow: hidden;
}
.chartTopMargin {
margin-bottom: 12px;
}
.chartTopHasMargin {
margin-bottom: 20px;
}
.metaWrap {
float: left;
}
.avatar {
position: relative;
top: 4px;
float: left;
margin-right: 20px;
img {
border-radius: 100%;
}
}
.meta {
height: 22px;
color: @text-color-secondary;
font-size: @font-size-base;
line-height: 22px;
}
.action {
position: absolute;
top: 4px;
right: 0;
line-height: 1;
cursor: pointer;
}
.total {
height: 38px;
margin-top: 4px;
margin-bottom: 0;
overflow: hidden;
color: @heading-color;
font-size: 30px;
line-height: 38px;
white-space: nowrap;
text-overflow: ellipsis;
word-break: break-all;
}
.content {
position: relative;
width: 100%;
margin-bottom: 12px;
}
.contentFixed {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
}
.footer {
margin-top: 8px;
padding-top: 9px;
border-top: 1px solid @border-color-split;
& > * {
position: relative;
}
}
.footerMargin {
margin-top: 20px;
}
}

17
src/pages/dashboard/analysis/components/Charts/Field/index.less

@ -1,17 +0,0 @@
@import '~antd/es/style/themes/default.less';
.field {
margin: 0;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
.label,
.number {
font-size: @font-size-base;
line-height: 22px;
}
.number {
margin-left: 8px;
color: @heading-color;
}
}

19
src/pages/dashboard/analysis/components/Charts/index.less

@ -1,19 +0,0 @@
.miniChart {
position: relative;
width: 100%;
.chartContent {
position: absolute;
bottom: -28px;
width: 100%;
> div {
margin: 0 -5px;
overflow: hidden;
}
}
.chartLoading {
position: absolute;
top: 16px;
left: 50%;
margin-left: -7px;
}
}

68
src/pages/dashboard/analysis/components/NumberInfo/index.less

@ -1,68 +0,0 @@
@import '~antd/es/style/themes/default.less';
.numberInfo {
.suffix {
margin-left: 4px;
color: @text-color;
font-size: 16px;
font-style: normal;
}
.numberInfoTitle {
margin-bottom: 16px;
color: @text-color;
font-size: @font-size-lg;
transition: all 0.3s;
}
.numberInfoSubTitle {
height: 22px;
overflow: hidden;
color: @text-color-secondary;
font-size: @font-size-base;
line-height: 22px;
white-space: nowrap;
text-overflow: ellipsis;
word-break: break-all;
}
.numberInfoValue {
margin-top: 4px;
overflow: hidden;
font-size: 0;
white-space: nowrap;
text-overflow: ellipsis;
word-break: break-all;
& > span {
display: inline-block;
height: 32px;
margin-right: 32px;
color: @heading-color;
font-size: 24px;
line-height: 32px;
}
.subTotal {
margin-right: 0;
color: @text-color-secondary;
font-size: @font-size-lg;
vertical-align: top;
.anticon {
margin-left: 4px;
font-size: 12px;
transform: scale(0.82);
}
:global {
.anticon-caret-up {
color: @red-6;
}
.anticon-caret-down {
color: @green-6;
}
}
}
}
}
.numberInfolight {
.numberInfoValue {
& > span {
color: @text-color;
}
}
}

37
src/pages/dashboard/analysis/components/Trend/index.less

@ -1,37 +0,0 @@
@import '~antd/es/style/themes/default.less';
.trendItem {
display: inline-block;
font-size: @font-size-base;
line-height: 22px;
.up,
.down {
position: relative;
top: 1px;
margin-left: 4px;
span {
font-size: 12px;
transform: scale(0.83);
}
}
.up {
color: @red-6;
}
.down {
top: -1px;
color: @green-6;
}
&.trendItemGrey .up,
&.trendItemGrey .down {
color: @text-color;
}
&.reverseColor .up {
color: @green-6;
}
&.reverseColor .down {
color: @red-6;
}
}

189
src/pages/dashboard/analysis/style.less

@ -1,189 +0,0 @@
@import '~antd/es/style/themes/default.less';
.iconGroup {
span.anticon {
margin-left: 16px;
color: @text-color-secondary;
cursor: pointer;
transition: color 0.32s;
&:hover {
color: @text-color;
}
}
}
.rankingList {
margin: 25px 0 0;
padding: 0;
list-style: none;
li {
display: flex;
align-items: center;
margin-top: 16px;
zoom: 1;
&::before,
&::after {
display: table;
content: ' ';
}
&::after {
clear: both;
height: 0;
font-size: 0;
visibility: hidden;
}
span {
color: @text-color;
font-size: 14px;
line-height: 22px;
}
.rankingItemNumber {
display: inline-block;
width: 20px;
height: 20px;
margin-top: 1.5px;
margin-right: 16px;
font-weight: 600;
font-size: 12px;
line-height: 20px;
text-align: center;
background-color: @tag-default-bg;
border-radius: 20px;
&.active {
color: #fff;
background-color: #314659;
}
}
.rankingItemTitle {
flex: 1;
margin-right: 8px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
}
.salesExtra {
display: inline-block;
margin-right: 24px;
a {
margin-left: 24px;
color: @text-color;
&:hover {
color: @primary-color;
}
&.currentDate {
color: @primary-color;
}
}
}
.salesCard {
.salesBar {
padding: 0 0 32px 32px;
}
.salesRank {
padding: 0 32px 32px 72px;
}
:global {
.ant-tabs-bar,
.ant-tabs-nav-wrap {
padding-left: 16px;
.ant-tabs-nav .ant-tabs-tab {
padding-top: 16px;
padding-bottom: 14px;
line-height: 24px;
}
}
.ant-tabs-extra-content {
padding-right: 24px;
line-height: 55px;
}
.ant-card-head {
position: relative;
}
.ant-card-head-title {
align-items: normal;
}
}
}
.salesCardExtra {
height: inherit;
}
.salesTypeRadio {
position: absolute;
right: 54px;
bottom: 12px;
}
.offlineCard {
:global {
.ant-tabs-ink-bar {
bottom: auto;
}
.ant-tabs-bar {
border-bottom: none;
}
.ant-tabs-nav-container-scrolling {
padding-right: 40px;
padding-left: 40px;
}
.ant-tabs-tab-prev-icon::before {
position: relative;
left: 6px;
}
.ant-tabs-tab-next-icon::before {
position: relative;
right: 6px;
}
.ant-tabs-tab-active h4 {
color: @primary-color;
}
}
}
.trendText {
margin-left: 8px;
color: @heading-color;
}
@media screen and (max-width: @screen-lg) {
.salesExtra {
display: none;
}
.rankingList {
li {
span:first-child {
margin-right: 8px;
}
}
}
}
@media screen and (max-width: @screen-md) {
.rankingTitle {
margin-top: 16px;
}
.salesCard .salesBar {
padding: 16px;
}
}
@media screen and (max-width: @screen-sm) {
.salesExtraWrap {
display: none;
}
.salesCard {
:global {
.ant-tabs-content {
padding-top: 30px;
}
}
}
}

51
src/pages/dashboard/monitor/components/ActiveChart/index.less

@ -1,51 +0,0 @@
.activeChart {
position: relative;
}
.activeChartGrid {
p {
position: absolute;
top: 80px;
}
p:last-child {
top: 115px;
}
}
.activeChartLegend {
position: relative;
height: 20px;
margin-top: 8px;
font-size: 0;
line-height: 20px;
span {
display: inline-block;
width: 33.33%;
font-size: 12px;
text-align: center;
}
span:first-child {
text-align: left;
}
span:last-child {
text-align: right;
}
}
.dashedLine {
position: relative;
top: -70px;
left: -3px;
height: 1px;
.line {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: linear-gradient(to right, transparent 50%, #e9e9e9 50%);
background-size: 6px;
}
}
.dashedLine:last-child {
top: -36px;
}

21
src/pages/dashboard/monitor/style.less

@ -1,21 +0,0 @@
@import '~antd/es/style/themes/default.less';
.mapChart {
height: 452px;
padding-top: 24px;
img {
display: inline-block;
max-width: 100%;
max-height: 437px;
}
}
.pieCard :global(.pie-stat) {
font-size: 24px !important;
}
@media screen and (max-width: @screen-lg) {
.mapChart {
height: auto;
}
}

16
src/pages/dashboard/workplace/components/EditableLinkGroup/index.less

@ -1,16 +0,0 @@
@import '~antd/es/style/themes/default.less';
.linkGroup {
padding: 20px 0 8px 24px;
font-size: 0;
& > a {
display: inline-block;
width: 25%;
margin-bottom: 13px;
color: @text-color;
font-size: @font-size-base;
&:hover {
color: @primary-color;
}
}
}

251
src/pages/dashboard/workplace/style.less

@ -1,251 +0,0 @@
@import '~antd/es/style/themes/default.less';
.textOverflow() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
word-break: break-all;
}
// mixins for clearfix
// ------------------------
.clearfix() {
zoom: 1;
&::before,
&::after {
display: table;
content: ' ';
}
&::after {
clear: both;
height: 0;
font-size: 0;
visibility: hidden;
}
}
.activitiesList {
padding: 0 24px 8px 24px;
.username {
color: @text-color;
}
.event {
font-weight: normal;
}
}
.pageHeaderContent {
display: flex;
.avatar {
flex: 0 1 72px;
& > span {
display: block;
width: 72px;
height: 72px;
border-radius: 72px;
}
}
.content {
position: relative;
top: 4px;
flex: 1 1 auto;
margin-left: 24px;
color: @text-color-secondary;
line-height: 22px;
.contentTitle {
margin-bottom: 12px;
color: @heading-color;
font-weight: 500;
font-size: 20px;
line-height: 28px;
}
}
}
.extraContent {
.clearfix();
float: right;
white-space: nowrap;
.statItem {
position: relative;
display: inline-block;
padding: 0 32px;
> p:first-child {
margin-bottom: 4px;
color: @text-color-secondary;
font-size: @font-size-base;
line-height: 22px;
}
> p {
margin: 0;
color: @heading-color;
font-size: 30px;
line-height: 38px;
> span {
color: @text-color-secondary;
font-size: 20px;
}
}
&::after {
position: absolute;
top: 8px;
right: 0;
width: 1px;
height: 40px;
background-color: @border-color-split;
content: '';
}
&:last-child {
padding-right: 0;
&::after {
display: none;
}
}
}
}
.members {
a {
display: block;
height: 24px;
margin: 12px 0;
color: @text-color;
transition: all 0.3s;
.textOverflow();
.member {
margin-left: 12px;
font-size: @font-size-base;
line-height: 24px;
vertical-align: top;
}
&:hover {
color: @primary-color;
}
}
}
.projectList {
:global {
.ant-card-meta-description {
height: 44px;
overflow: hidden;
color: @text-color-secondary;
line-height: 22px;
}
}
.cardTitle {
font-size: 0;
a {
display: inline-block;
height: 24px;
margin-left: 12px;
color: @heading-color;
font-size: @font-size-base;
line-height: 24px;
vertical-align: top;
&:hover {
color: @primary-color;
}
}
}
.projectGrid {
width: 33.33%;
}
.projectItemContent {
display: flex;
height: 20px;
margin-top: 8px;
overflow: hidden;
font-size: 12px;
line-height: 20px;
.textOverflow();
a {
display: inline-block;
flex: 1 1 0;
color: @text-color-secondary;
.textOverflow();
&:hover {
color: @primary-color;
}
}
.datetime {
flex: 0 0 auto;
float: right;
color: @disabled-color;
}
}
}
.datetime {
color: @disabled-color;
}
@media screen and (max-width: @screen-xl) and (min-width: @screen-lg) {
.activeCard {
margin-bottom: 24px;
}
.members {
margin-bottom: 0;
}
.extraContent {
margin-left: -44px;
.statItem {
padding: 0 16px;
}
}
}
@media screen and (max-width: @screen-lg) {
.activeCard {
margin-bottom: 24px;
}
.members {
margin-bottom: 0;
}
.extraContent {
float: none;
margin-right: 0;
.statItem {
padding: 0 16px;
text-align: left;
&::after {
display: none;
}
}
}
}
@media screen and (max-width: @screen-md) {
.extraContent {
margin-left: -16px;
}
.projectList {
.projectGrid {
width: 50%;
}
}
}
@media screen and (max-width: @screen-sm) {
.pageHeaderContent {
display: block;
.content {
margin-left: 0;
}
}
.extraContent {
.statItem {
float: none;
}
}
}
@media screen and (max-width: @screen-xs) {
.projectList {
.projectGrid {
width: 100%;
}
}
}

65
src/pages/form/advanced-form/style.less

@ -1,65 +0,0 @@
@import '~antd/es/style/themes/default.less';
.card {
margin-bottom: 24px;
:global {
.ant-legacy-form-item .ant-legacy-form-item-control-wrapper {
width: 100%;
}
}
}
.errorIcon {
margin-right: 24px;
color: @error-color;
cursor: pointer;
span.anticon {
margin-right: 4px;
}
}
.errorPopover {
:global {
.ant-popover-inner-content {
min-width: 256px;
max-height: 290px;
padding: 0;
overflow: auto;
}
}
}
.errorListItem {
padding: 8px 16px;
list-style: none;
border-bottom: 1px solid @border-color-split;
cursor: pointer;
transition: all 0.3s;
&:hover {
background: @item-active-bg;
}
&:last-child {
border: 0;
}
.errorIcon {
float: left;
margin-top: 4px;
margin-right: 12px;
padding-bottom: 22px;
color: @error-color;
}
.errorField {
margin-top: 2px;
color: @text-color-secondary;
font-size: 12px;
}
}
.editable {
td {
padding-top: 13px !important;
padding-bottom: 12.5px !important;
}
}

6
src/pages/form/basic-form/style.less

@ -1,6 +0,0 @@
@import '~antd/es/style/themes/default.less';
.optional {
color: @text-color-secondary;
font-style: normal;
}

11
src/pages/form/step-form/style.less

@ -1,11 +0,0 @@
@import '~antd/es/style/themes/default.less';
.card {
margin-bottom: 24px;
}
.result {
max-width: 560px;
margin: 0 auto;
padding: 24px 0 8px;
}
Loading…
Cancel
Save