Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
DC-TOM
Project
Project
Details
Activity
Releases
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
刘照晖
DC-TOM
Commits
f1047d6a
Commit
f1047d6a
authored
May 19, 2025
by
liuzhaoh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
登录逻辑增加
parent
416800d0
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
819 additions
and
575 deletions
+819
-575
bg.jpg
src/assets/bg.jpg
+0
-0
main.js
src/main.js
+2
-1
index.js
src/pinia/index.js
+13
-0
user.js
src/pinia/user.js
+81
-0
user.js
src/request/user.js
+83
-0
index.vue
src/views/login/index.vue
+640
-574
No files found.
src/assets/bg.jpg
0 → 100644
View file @
f1047d6a
136 KB
src/main.js
View file @
f1047d6a
...
@@ -4,5 +4,6 @@ import App from './App.vue'
...
@@ -4,5 +4,6 @@ import App from './App.vue'
import
{
router
}
from
'./router'
import
{
router
}
from
'./router'
import
ElementPlus
from
'element-plus'
import
ElementPlus
from
'element-plus'
import
'element-plus/dist/index.css'
import
'element-plus/dist/index.css'
import
{
createPinia
}
from
'pinia'
createApp
(
App
).
use
(
router
).
use
(
ElementPlus
).
mount
(
'#app'
)
createApp
(
App
).
use
(
router
).
use
(
ElementPlus
).
use
(
createPinia
()).
mount
(
'#app'
)
src/pinia/index.js
0 → 100644
View file @
f1047d6a
//创娃store很简单,调用pinia中的definestore函数即可,该函数族收两个参数:
import
{
defineStore
}
from
'pinia'
import
user
from
'./user'
console
.
log
(
user
.
actions
)
//第一个参敬是应用程序中store的唯一id,就是给数据仓库起个名字
//第二个参数是一个对象,store的配置项,比如配置store内的嫩据,修改数据的方法等等
export
const
useUsersStore
=
defineStore
(
'user'
,{
//其他配置项
//这里的state与vue2中用来存放初始化变量的data的写法相似,需要return
state
:
user
.
state
,
actions
:
user
.
actions
,
})
src/pinia/user.js
0 → 100644
View file @
f1047d6a
import
{
defineStore
}
from
'pinia'
import
{
getToken
,
removeToken
,
setToken
}
from
'@/utils/auth'
import
{
getInfo
,
findPcMenu
,
getLogin
,
getWeather
,
login
,
logout
,
getFunctionList
,
captchaLoginFun
}
from
'@/request/user.js'
//第一个参敬是应用程序中store的唯一id,就是给数据仓库起个名字
//第二个参数是一个对象,store的配置项,比如配置store内的嫩据,修改数据的方法等等
export
const
useUsersStore
=
defineStore
(
'user'
,
{
//其他配置项
//这里的state与vue2中用来存放初始化变量的data的写法相似,需要return
state
:
()
=>
{
return
{
token
:
getToken
(
'TOKEN'
),
name
:
''
,
avatar
:
''
,
introduction
:
''
,
rememberMe
:
''
,
dataBranchFactoryId
:
''
,
roles
:
[],
menuLimitsObj
:
{},
weather
:
null
,
customerId
:
getToken
(
'customerId'
),
office
:
{},
istrue
:
false
,
functionAuthority
:
getToken
(
'FUNC_AUTHORITY'
)
?
JSON
.
parse
(
getToken
(
'FUNC_AUTHORITY'
))
:
''
,
}
},
actions
:
{
login
(
userInfo
)
{
debugger
const
{
account
,
password
,
rememberMe
}
=
userInfo
return
new
Promise
((
resolve
,
reject
)
=>
{
login
(
JSON
.
stringify
(
userInfo
)).
then
(
response
=>
{
if
(
response
.
code
!=
1
&&
response
.
msg
!=
"密码已过期,请重置!"
)
{
return
reject
(
response
)
}
const
{
data
}
=
response
setToken
(
'TOKEN'
,
data
)
setToken
(
'rememberMe'
,
rememberMe
)
resolve
(
response
)
}).
catch
(
error
=>
{
resolve
(
response
)
})
})
},
captchaLogin
(
userInfo
)
{
const
{
account
,
password
,
rememberMe
}
=
userInfo
return
new
Promise
((
resolve
,
reject
)
=>
{
captchaLoginFun
(
JSON
.
stringify
(
userInfo
)).
then
(
response
=>
{
if
(
response
.
code
!=
1
)
{
return
reject
(
response
)
}
const
{
data
}
=
response
setToken
(
'TOKEN'
,
data
)
setToken
(
'rememberMe'
,
rememberMe
)
resolve
(
response
)
}).
catch
(
error
=>
{
resolve
(
response
)
})
})
},
getFunctionList
(
customerId
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
getFunctionList
(
customerId
).
then
(
response
=>
{
const
{
data
}
=
response
let
obj
=
{}
if
(
data
&&
data
.
length
)
{
for
(
let
item
of
data
)
{
obj
[
item
.
code
]
=
item
}
}
this
.
functionAuthority
=
obj
setToken
(
'FUNC_AUTHORITY'
,
JSON
.
stringify
(
obj
))
resolve
(
obj
)
}).
catch
(
error
=>
{
reject
(
error
)
})
})
},
},
})
src/request/user.js
0 → 100644
View file @
f1047d6a
import
request
from
"./index.js"
;
export
function
login
(
data
)
{
return
request
({
url
:
'/user/login'
,
method
:
'post'
,
data
})
}
export
function
captchaLoginFun
(
data
)
{
return
request
({
url
:
'/user/captchaLogin'
,
method
:
'post'
,
data
})
}
export
function
getLogin
()
{
return
request
({
url
:
'/login'
,
method
:
'get'
})
}
export
function
getInfo
()
{
return
request
({
url
:
'/system/permission?appCode=bme-pc-service&userId=1'
,
method
:
'get'
})
}
export
function
findPcMenu
(
customerId
)
{
return
request
({
url
:
'/modelConfigController/findPcMenu?customerId='
+
customerId
,
method
:
'get'
})
}
export
function
getWeather
(
customerId
)
{
return
request
({
url
:
'/system/weather?customerId='
+
customerId
,
method
:
'get'
})
}
export
function
getFunctionList
(
customerId
)
{
return
request
({
url
:
'/system/function/listAllEnable?customerId='
+
customerId
+
"&isEnable="
+
true
,
method
:
'get'
})
}
export
function
logout
()
{
return
request
({
url
:
'/user/logout'
,
method
:
'post'
})
}
export
function
upload
(
url
,
data
)
{
url
.
indexOf
(
'admin'
)
>
-
1
?
url
=
process
.
env
.
VUE_APP_BASE_API4
+
url
:
url
=
process
.
env
.
VUE_APP_BASE_API1
+
url
return
request
({
url
:
url
,
method
:
'post'
,
data
:
data
})
}
export
function
exportFlie
(
url
,
data
)
{
url
.
indexOf
(
'admin'
)
>
-
1
?
url
=
process
.
env
.
VUE_APP_BASE_API4
+
url
:
url
=
process
.
env
.
VUE_APP_BASE_API1
+
url
return
request
({
url
:
url
,
headers
:
{
responseType
:
'blob'
},
method
:
'post'
,
data
:
data
})
}
src/views/login/index.vue
View file @
f1047d6a
This diff is collapsed.
Click to expand it.
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