diff --git a/web/package.json b/web/package.json
index 85cb83c..7cf3e93 100644
--- a/web/package.json
+++ b/web/package.json
@@ -10,8 +10,12 @@
"dependencies": {
"@element-plus/icons-vue": "^1.1.4",
"axios": "^0.26.1",
+ "dayjs": "^1.11.7",
"element-plus": "^2.1.9",
+ "md5": "^2.3.0",
"pinia": "^2.0.13",
+ "pinia-plugin-persist": "^1.0.0",
+ "query-string": "^8.1.0",
"sass": "^1.50.0",
"vue": "^3.2.25",
"vue-router": "^4.0.14"
diff --git a/web/src/App.vue b/web/src/App.vue
index e860e7a..85dfb6a 100644
--- a/web/src/App.vue
+++ b/web/src/App.vue
@@ -16,21 +16,91 @@ body {
margin: 0;
}
+@each $padMar, $pm in (mar:margin, pad:padding) {
+ @each $v in (8, 10, 16, 20, 32, 48, 56, 64, 80) {
+ @each $pos, $p in (l:left, r:right, t:top, b:bottom) {
+ .#{$padMar}-#{$pos+$v} {
+ #{$pm}-#{$p}: #{$v}px
+ }
+ }
+ .#{$padMar}-#{$v} {
+ #{$pm}: #{$v}px
+ }
+ //纵向
+ .#{$padMar}-v#{$v} {
+ #{$pm}-top: #{$v}px;
+ #{$pm}-bottom: #{$v}px;
+ }
+ //横向
+ .#{$padMar}-h#{$v} {
+ #{$pm}-left: #{$v}px;
+ #{$pm}-right: #{$v}px;
+ }
+ }
+}
+
+@each $where in (sticky, fixed) {
+ @each $pos, $p in (l:left, r:right, t:top, b:bottom) {
+ .#{$where}-#{$pos} {
+ position: fixed;
+ #{$p}: 0;
+ z-index: 202301031019;
+ width: 100%;
+ }
+ }
+}
+
+
+.flex {
+ display: flex;
+
+ &.spb {
+ justify-content: space-between;
+ }
+
+ &.wrap {
+ flex-wrap: wrap;
+ }
+
+ &.column {
+ flex-direction: column;
+ }
+
+ &.start {
+ align-items: flex-start;
+ }
+
+ &.center {
+ align-items: center;
+ }
+}
+
.fill {
flex: 1;
min-width: 0;
min-height: 0;
}
-.color-a2v1c5 {
- color: #A2B1C5;
+.shrink {
+ flex-shrink: 0;
}
-.mar-r30 {
- margin-right: 30px;
+.avatar {
+ width: 40px;
+ height: 40px;
+
+ &.circle {
+ overflow: hidden;
+ border-radius: 50%;
+ }
}
-.pad-w10 {
- padding: 0 10px;
+.rtl {
+ direction: rtl;
}
+
+.sub {
+ color: #999;
+}
+
diff --git a/web/src/assets/iconfont.css b/web/src/assets/iconfont.css
index 2b4ad45..b2dbf10 100644
--- a/web/src/assets/iconfont.css
+++ b/web/src/assets/iconfont.css
@@ -1,8 +1,8 @@
@font-face {
- font-family: "iconfont"; /* Project id 3335619 */
- src: url('//at.alicdn.com/t/font_3335619_ki0rpko4inh.woff2?t=1650462455599') format('woff2'),
- url('//at.alicdn.com/t/font_3335619_ki0rpko4inh.woff?t=1650462455599') format('woff'),
- url('//at.alicdn.com/t/font_3335619_ki0rpko4inh.ttf?t=1650462455599') format('truetype');
+ font-family: "iconfont"; /* Project id 3861072 */
+ src: url('//at.alicdn.com/t/c/font_3861072_hjuv05l9b3b.woff2?t=1673690356713') format('woff2'),
+ url('//at.alicdn.com/t/c/font_3861072_hjuv05l9b3b.woff?t=1673690356713') format('woff'),
+ url('//at.alicdn.com/t/c/font_3861072_hjuv05l9b3b.ttf?t=1673690356713') format('truetype');
}
.iconfont {
@@ -13,102 +13,18 @@
-moz-osx-font-smoothing: grayscale;
}
-.icon-tishi:before {
- content: "\e74c";
+.icon-WeChat:before {
+ content: "\e64c";
}
-.icon-fenxiang:before {
- content: "\e74d";
+.icon-cart:before {
+ content: "\e880";
}
-.icon-shujuyuanguanli:before {
- content: "\e74b";
+.icon-mine:before {
+ content: "\eb2a";
}
-.icon-dapingguanli:before {
- content: "\e74a";
-}
-
-.icon-dangzuzhi:before {
- content: "\e749";
-}
-
-.icon-fanhuishangyiye:before {
- content: "\e748";
-}
-
-.icon-jiediancaozuo:before {
- content: "\e747";
-}
-
-.icon-shujujicheng:before {
- content: "\e745";
-}
-
-.icon-shujuqingxi:before {
- content: "\e746";
-}
-
-.icon-shang:before {
- content: "\e743";
-}
-
-.icon-xia:before {
- content: "\e744";
-}
-
-.icon-toubutouxiang:before {
- content: "\e742";
-}
-
-.icon-anniusousuo:before {
- content: "\e741";
-}
-
-.icon-sousuo:before {
- content: "\e740";
-}
-
-.icon-daochu:before {
- content: "\e73e";
-}
-
-.icon-shanchu:before {
- content: "\e73f";
-}
-
-.icon-zhuantishujuku:before {
- content: "\e73c";
-}
-
-.icon-jichushujuku:before {
- content: "\e73d";
-}
-
-.icon-ruanjianxinxicaiji:before {
- content: "\e73a";
-}
-
-.icon-yingjianxinxicaiji:before {
- content: "\e73b";
-}
-
-.icon-quanxianguanli:before {
- content: "\e733";
-}
-
-.icon-dangqianweizhi:before {
- content: "\e734";
-}
-
-.icon-tuichu:before {
- content: "\e735";
-}
-
-.icon-zuzhiguanli:before {
- content: "\e736";
-}
-
-.icon-zhanghuguanli:before {
- content: "\e737";
+.icon-store:before {
+ content: "\e83d";
}
diff --git a/web/src/components/KuIcon.vue b/web/src/components/KuIcon.vue
new file mode 100644
index 0000000..7009b9e
--- /dev/null
+++ b/web/src/components/KuIcon.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
diff --git a/web/src/components/KuLogin/KuLogin.vue b/web/src/components/KuLogin/KuLogin.vue
index 974d5c4..8472223 100644
--- a/web/src/components/KuLogin/KuLogin.vue
+++ b/web/src/components/KuLogin/KuLogin.vue
@@ -2,16 +2,10 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -23,12 +17,18 @@
- 登录
+ 登录
- 修改密码
+ 修改密码
+
+
+
+
+
+
@@ -36,12 +36,17 @@