Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
N
national_museum_vod-H5
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fubaole
national_museum_vod-H5
Commits
a63716e8
Commit
a63716e8
authored
Apr 15, 2021
by
乐宝呗666
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加登录密码加密
parent
56795da7
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
130 additions
and
87 deletions
+130
-87
package-lock.json
package-lock.json
+86
-79
package.json
package.json
+1
-0
index.js
src/utils/index.js
+19
-0
login.vue
src/views/login.vue
+9
-1
commitTab.vue
src/views/user/components/commitTab.vue
+2
-2
editPsd.vue
src/views/user/editPsd.vue
+13
-5
No files found.
package-lock.json
View file @
a63716e8
...
...
@@ -1726,16 +1726,6 @@
"integrity"
:
"sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
,
"dev"
:
true
},
"ansi-styles"
:
{
"version"
:
"4.3.0"
,
"resolved"
:
"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
,
"integrity"
:
"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"color-convert"
:
"^2.0.1"
}
},
"cacache"
:
{
"version"
:
"13.0.1"
,
"resolved"
:
"https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz"
,
...
...
@@ -1762,53 +1752,6 @@
"unique-filename"
:
"^1.1.1"
}
},
"chalk"
:
{
"version"
:
"4.1.0"
,
"resolved"
:
"https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz"
,
"integrity"
:
"sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"ansi-styles"
:
"^4.1.0"
,
"supports-color"
:
"^7.1.0"
}
},
"color-convert"
:
{
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
,
"integrity"
:
"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"color-name"
:
"~1.1.4"
}
},
"color-name"
:
{
"version"
:
"1.1.4"
,
"resolved"
:
"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
,
"integrity"
:
"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
,
"dev"
:
true
,
"optional"
:
true
},
"has-flag"
:
{
"version"
:
"4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
,
"integrity"
:
"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
,
"dev"
:
true
,
"optional"
:
true
},
"loader-utils"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz"
,
"integrity"
:
"sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"big.js"
:
"^5.2.2"
,
"emojis-list"
:
"^3.0.0"
,
"json5"
:
"^2.1.2"
}
},
"source-map"
:
{
"version"
:
"0.6.1"
,
"resolved"
:
"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
,
...
...
@@ -1825,16 +1768,6 @@
"minipass"
:
"^3.1.1"
}
},
"supports-color"
:
{
"version"
:
"7.2.0"
,
"resolved"
:
"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
,
"integrity"
:
"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"has-flag"
:
"^4.0.0"
}
},
"terser-webpack-plugin"
:
{
"version"
:
"2.3.8"
,
"resolved"
:
"https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz"
,
...
...
@@ -1851,18 +1784,6 @@
"terser"
:
"^4.6.12"
,
"webpack-sources"
:
"^1.4.3"
}
},
"vue-loader-v16"
:
{
"version"
:
"npm:vue-loader@16.2.0"
,
"resolved"
:
"https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz"
,
"integrity"
:
"sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"chalk"
:
"^4.1.0"
,
"hash-sum"
:
"^2.0.0"
,
"loader-utils"
:
"^2.0.0"
}
}
}
},
...
...
@@ -3953,6 +3874,11 @@
"randomfill"
:
"^1.0.3"
}
},
"crypto-js"
:
{
"version"
:
"4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz"
,
"integrity"
:
"sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg=="
},
"css-color-names"
:
{
"version"
:
"0.0.4"
,
"resolved"
:
"https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz"
,
...
...
@@ -11936,6 +11862,87 @@
}
}
},
"vue-loader-v16"
:
{
"version"
:
"npm:vue-loader@16.2.0"
,
"resolved"
:
"https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz"
,
"integrity"
:
"sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"chalk"
:
"^4.1.0"
,
"hash-sum"
:
"^2.0.0"
,
"loader-utils"
:
"^2.0.0"
},
"dependencies"
:
{
"ansi-styles"
:
{
"version"
:
"4.3.0"
,
"resolved"
:
"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
,
"integrity"
:
"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"color-convert"
:
"^2.0.1"
}
},
"chalk"
:
{
"version"
:
"4.1.0"
,
"resolved"
:
"https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz"
,
"integrity"
:
"sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"ansi-styles"
:
"^4.1.0"
,
"supports-color"
:
"^7.1.0"
}
},
"color-convert"
:
{
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
,
"integrity"
:
"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"color-name"
:
"~1.1.4"
}
},
"color-name"
:
{
"version"
:
"1.1.4"
,
"resolved"
:
"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
,
"integrity"
:
"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
,
"dev"
:
true
,
"optional"
:
true
},
"has-flag"
:
{
"version"
:
"4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
,
"integrity"
:
"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
,
"dev"
:
true
,
"optional"
:
true
},
"loader-utils"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz"
,
"integrity"
:
"sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"big.js"
:
"^5.2.2"
,
"emojis-list"
:
"^3.0.0"
,
"json5"
:
"^2.1.2"
}
},
"supports-color"
:
{
"version"
:
"7.2.0"
,
"resolved"
:
"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
,
"integrity"
:
"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"has-flag"
:
"^4.0.0"
}
}
}
},
"vue-router"
:
{
"version"
:
"3.5.1"
,
"resolved"
:
"https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz"
,
...
...
package.json
View file @
a63716e8
...
...
@@ -10,6 +10,7 @@
"dependencies"
:
{
"
axios
"
:
"^0.21.1"
,
"
core-js
"
:
"^3.6.5"
,
"
crypto-js
"
:
"^4.0.0"
,
"
echarts
"
:
"^4.8.0"
,
"
qs
"
:
"^6.10.1"
,
"
vant
"
:
"^2.12.6"
,
...
...
src/utils/index.js
0 → 100644
View file @
a63716e8
const
CryptoJS
=
require
(
"crypto-js"
);
let
util
=
{};
let
key
=
"guobomimajiamics"
;
let
cryptKey
=
CryptoJS
.
enc
.
Utf8
.
parse
(
key
);
// 加密
util
.
encrypt
=
function
(
str
)
{
if
(
!
str
)
return
null
;
let
srcs
=
CryptoJS
.
enc
.
Utf8
.
parse
(
str
);
const
cryptInfo
=
CryptoJS
.
AES
.
encrypt
(
srcs
,
cryptKey
,
{
iv
:
cryptKey
,
mode
:
CryptoJS
.
mode
.
CBC
,
padding
:
CryptoJS
.
pad
.
Pkcs7
,
});
return
cryptInfo
.
toString
();
};
export
default
util
;
src/views/login.vue
View file @
a63716e8
...
...
@@ -31,6 +31,7 @@
</div>
</
template
>
<
script
>
import
util
from
"@/utils/index.js"
;
export
default
{
data
()
{
return
{
...
...
@@ -42,7 +43,7 @@ export default {
onSubmit
()
{
let
vm
=
this
;
let
param
=
{
password
:
this
.
userInfo
.
password
,
password
:
util
.
encrypt
(
this
.
userInfo
.
password
)
,
username
:
this
.
userInfo
.
username
,
};
vm
.
$https
(
...
...
@@ -56,6 +57,13 @@ export default {
.
then
((
res
)
=>
{
if
(
res
.
data
.
resultCode
===
"200"
)
{
let
data
=
res
.
data
;
if
(
data
.
isDefault
){
this
.
$notify
({
type
:
'warning'
,
message
:
'登录成功,为了安全,建议修改密码'
,
duration
:
5000
})
}
const
isOpt
=
data
.
user
.
type
;
sessionStorage
.
setItem
(
"token"
,
data
.
token
);
sessionStorage
.
setItem
(
"userInfo"
,
JSON
.
stringify
(
data
.
user
));
...
...
src/views/user/components/commitTab.vue
View file @
a63716e8
...
...
@@ -66,7 +66,7 @@
input-align=
"right"
:rules=
"[
{ pattern: /^[1-9]\d{0,9}$/, message: '请输入正确内容,最多10位数',trigger:'blur'}]"
/>
<van-field
<
!--
<
van-field
required
label=
"管理员账号"
v-model=
"form.name"
...
...
@@ -82,7 +82,7 @@
placeholder=
"请输入管理员密码"
input-align=
"right"
:rules=
"[
{ required: true }]"
/>
/>
-->
</div>
<div
class=
"field-title"
>
<span>
上传视频
</span>
...
...
src/views/user/editPsd.vue
View file @
a63716e8
...
...
@@ -17,7 +17,9 @@
v-model=
"form.oldPassWord"
placeholder=
"请输入当前密码"
input-align=
"right"
:rules=
"[
{ required: true }]"
:rules=
"[
{ required: true }
]"
/>
<van-field
label=
"新密码"
...
...
@@ -25,7 +27,10 @@
v-model=
"form.password"
placeholder=
"请输入新密码"
input-align=
"right"
:rules=
"[
{ required: true }]"
:rules=
"[
{ required: true },
{ pattern: /(?=.*([a-zA-Z].*))(?=.*[0-9].*)[a-zA-Z0-9-_@*]{8}$/, message: '密码至少包括数字和字母,可以有-_@特殊字符,长度8位'}
]"
/>
<van-field
label=
"再次输入新密码"
...
...
@@ -33,7 +38,9 @@
v-model=
"form.againPsd"
placeholder=
"请再次输入新密码"
input-align=
"right"
:rules=
"[
{ required: true }]"
:rules=
"[
{ required: true }
]"
/>
</div>
<div
class=
"admin-detail-button"
>
...
...
@@ -46,6 +53,7 @@
</
template
>
<
script
>
import
util
from
"@/utils/index.js"
;
import
Header
from
"@/components/Header/index.vue"
;
export
default
{
components
:
{
Header
},
...
...
@@ -68,8 +76,8 @@ export default {
}
let
vm
=
this
;
let
param
=
{
password
:
this
.
form
.
password
,
oldPassWord
:
this
.
form
.
oldPassWord
,
password
:
util
.
encrypt
(
this
.
form
.
password
)
,
oldPassWord
:
util
.
encrypt
(
this
.
form
.
oldPassWord
)
,
};
vm
.
$https
(
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment