Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
L
luna
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
ops
luna
Commits
54f2ba6a
Commit
54f2ba6a
authored
Sep 18, 2017
by
liuzheng712
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
f37e79af
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
70 additions
and
42 deletions
+70
-42
app.js
app.js
+2
-2
app.service.ts
src/app/app.service.ts
+53
-26
footer.component.ts
src/app/footer.component.ts
+2
-1
footer.html
src/app/footer.html
+1
-1
login.component.ts
src/app/login.component.ts
+6
-6
login.html
src/app/login.html
+2
-2
welcome.component.ts
src/app/welcome.component.ts
+2
-2
welcome.html
src/app/welcome.html
+2
-2
No files found.
app.js
View file @
54f2ba6a
...
@@ -47,10 +47,10 @@ server.run = function (options) {
...
@@ -47,10 +47,10 @@ server.run = function (options) {
apis
.
route
(
'/checklogin'
)
apis
.
route
(
'/checklogin'
)
.
post
(
function
(
req
,
res
)
{
.
post
(
function
(
req
,
res
)
{
res
.
json
({
logined
:
true
,
user
:
{
id
:
1
,
username
:
"liuzheng"
,
name
:
"liuzheng"
}
})
res
.
json
({
logined
:
true
,
id
:
1
,
username
:
"liuzheng"
,
name
:
"liuzheng"
})
})
})
.
get
(
function
(
req
,
res
)
{
.
get
(
function
(
req
,
res
)
{
res
.
json
({
logined
:
true
,
user
:
{
id
:
1
,
username
:
"liuzheng"
,
name
:
"liuzheng"
}
})
res
.
json
({
logined
:
false
})
});
});
...
...
src/app/app.service.ts
View file @
54f2ba6a
...
@@ -27,7 +27,27 @@ import * as io from 'socket.io-client';
...
@@ -27,7 +27,27 @@ import * as io from 'socket.io-client';
import
{
Router
}
from
'@angular/router'
;
import
{
Router
}
from
'@angular/router'
;
export
class
User
{
// export class User {
// id: number;
// name: string;
// username: string;
// password: string;
// phone: string;
// avatar: string;
// role: string;
// email: string;
// is_active: boolean;
// date_joined: string;
// last_login: string;
// groups: Array<string>;
// }
export
class
Group
{
id
:
number
;
name
:
string
;
membercount
:
number
;
comment
:
string
;
}
export
let
User
:
{
id
:
number
;
id
:
number
;
name
:
string
;
name
:
string
;
username
:
string
;
username
:
string
;
...
@@ -41,19 +61,24 @@ export class User {
...
@@ -41,19 +61,24 @@ export class User {
last_login
:
string
;
last_login
:
string
;
groups
:
Array
<
string
>
;
groups
:
Array
<
string
>
;
logined
:
boolean
;
logined
:
boolean
;
}
}
=
{
export
class
Group
{
id
:
0
,
id
:
number
;
name
:
'nobody'
,
name
:
string
;
username
:
''
,
membercount
:
number
;
password
:
''
,
comment
:
string
;
phone
:
''
,
}
avatar
:
''
,
role
:
''
,
email
:
''
,
is_active
:
false
,
date_joined
:
''
,
last_login
:
''
,
groups
:
[],
logined
:
false
,
};
export
let
DataStore
:
{
export
let
DataStore
:
{
socket
:
any
;
socket
:
any
;
user
:
User
;
Nav
:
Array
<
{}
>
;
Nav
:
Array
<
{}
>
;
logined
:
boolean
;
lastNavigationAttempt
:
string
;
lastNavigationAttempt
:
string
;
route
:
Array
<
{}
>
;
route
:
Array
<
{}
>
;
activenav
:
{};
activenav
:
{};
...
@@ -70,9 +95,7 @@ export let DataStore: {
...
@@ -70,9 +95,7 @@ export let DataStore: {
windowsize
:
Array
<
number
>
;
windowsize
:
Array
<
number
>
;
}
=
{
}
=
{
socket
:
io
.
connect
(),
socket
:
io
.
connect
(),
user
:
new
User
,
Nav
:
[{}],
Nav
:
[{}],
logined
:
false
,
lastNavigationAttempt
:
''
,
lastNavigationAttempt
:
''
,
route
:
[{}],
route
:
[{}],
activenav
:
{},
activenav
:
{},
...
@@ -144,7 +167,7 @@ export class AppService {
...
@@ -144,7 +167,7 @@ export class AppService {
if
(
DataStore
.
Path
)
{
if
(
DataStore
.
Path
)
{
if
(
DataStore
.
Path
[
'name'
]
===
'FOF'
||
DataStore
.
Path
[
'name'
]
===
'Forgot'
)
{
if
(
DataStore
.
Path
[
'name'
]
===
'FOF'
||
DataStore
.
Path
[
'name'
]
===
'Forgot'
)
{
}
else
{
}
else
{
if
(
DataStore
.
logined
)
{
if
(
User
.
logined
)
{
this
.
_router
.
navigate
([
DataStore
.
Path
[
'name'
]]);
this
.
_router
.
navigate
([
DataStore
.
Path
[
'name'
]]);
// jQuery('angular2').show();
// jQuery('angular2').show();
}
else
{
}
else
{
...
@@ -152,16 +175,18 @@ export class AppService {
...
@@ -152,16 +175,18 @@ export class AppService {
.
map
(
res
=>
res
.
json
())
.
map
(
res
=>
res
.
json
())
.
subscribe
(
.
subscribe
(
data
=>
{
data
=>
{
DataStore
.
logined
=
data
.
logined
;
User
.
name
=
data
.
name
;
DataStore
.
user
=
data
.
user
;
User
.
username
=
data
.
username
;
User
.
logined
=
data
.
logined
;
this
.
_logger
.
debug
(
User
);
},
},
err
=>
{
err
=>
{
this
.
_logger
.
error
(
err
);
this
.
_logger
.
error
(
err
);
DataStore
.
logined
=
false
;
User
.
logined
=
false
;
this
.
_router
.
navigate
([
'login'
]);
this
.
_router
.
navigate
([
'login'
]);
},
},
()
=>
{
()
=>
{
if
(
DataStore
.
logined
)
{
if
(
User
.
logined
)
{
if
(
jQuery
.
isEmptyObject
(
DataStore
.
Path
))
{
if
(
jQuery
.
isEmptyObject
(
DataStore
.
Path
))
{
this
.
_router
.
navigate
([
''
]);
this
.
_router
.
navigate
([
''
]);
}
else
{
}
else
{
...
@@ -181,25 +206,27 @@ export class AppService {
...
@@ -181,25 +206,27 @@ export class AppService {
}
}
}
}
login
(
user
:
User
)
{
login
()
{
this
.
_logger
.
log
(
'service.ts:AppService,login'
);
this
.
_logger
.
log
(
'service.ts:AppService,login'
);
DataStore
.
error
[
'login'
]
=
''
;
DataStore
.
error
[
'login'
]
=
''
;
if
(
user
.
username
.
length
>
0
&&
user
.
password
.
length
>
6
&&
u
ser
.
password
.
length
<
100
)
{
if
(
User
.
username
.
length
>
0
&&
User
.
password
.
length
>
6
&&
U
ser
.
password
.
length
<
100
)
{
this
.
http
.
post
(
'/api/checklogin'
,
JSON
.
stringify
(
u
ser
)).
map
(
res
=>
res
.
json
())
this
.
http
.
post
(
'/api/checklogin'
,
JSON
.
stringify
(
U
ser
)).
map
(
res
=>
res
.
json
())
.
subscribe
(
.
subscribe
(
data
=>
{
data
=>
{
DataStore
.
logined
=
data
.
logined
;
User
.
logined
=
data
.
logined
;
DataStore
.
user
=
data
.
user
;
User
.
name
=
data
.
name
;
User
.
username
=
data
.
username
;
User
.
logined
=
data
.
logined
;
},
},
err
=>
{
err
=>
{
this
.
_logger
.
error
(
err
);
this
.
_logger
.
error
(
err
);
DataStore
.
logined
=
false
;
User
.
logined
=
false
;
this
.
_router
.
navigate
([
'login'
]);
this
.
_router
.
navigate
([
'login'
]);
DataStore
.
error
[
'login'
]
=
'后端错误,请重试'
;
DataStore
.
error
[
'login'
]
=
'后端错误,请重试'
;
return
'后端错误,请重试'
;
return
'后端错误,请重试'
;
},
},
()
=>
{
()
=>
{
if
(
DataStore
.
logined
)
{
if
(
User
.
logined
)
{
if
(
jQuery
.
isEmptyObject
(
DataStore
.
Path
))
{
if
(
jQuery
.
isEmptyObject
(
DataStore
.
Path
))
{
this
.
_router
.
navigate
([
'welcome'
]);
this
.
_router
.
navigate
([
'welcome'
]);
}
else
{
}
else
{
...
@@ -215,7 +242,7 @@ export class AppService {
...
@@ -215,7 +242,7 @@ export class AppService {
});
});
}
else
{
}
else
{
DataStore
.
error
[
'login'
]
=
'请检查用户名和密码'
;
DataStore
.
error
[
'login'
]
=
'请检查用户名和密码'
;
return
'请检查用户名和密码'
;
return
'请检查用户名和密码'
;
}
}
}
}
...
...
src/app/footer.component.ts
View file @
54f2ba6a
...
@@ -16,7 +16,8 @@ import {AppService, DataStore, User} from './app.service';
...
@@ -16,7 +16,8 @@ import {AppService, DataStore, User} from './app.service';
export
class
FooterComponent
{
export
class
FooterComponent
{
// DataStore = DataStore;
DataStore
=
DataStore
;
User
=
User
;
constructor
(
private
_appService
:
AppService
,
constructor
(
private
_appService
:
AppService
,
private
_logger
:
Logger
)
{
private
_logger
:
Logger
)
{
...
...
src/app/footer.html
View file @
54f2ba6a
<div
class=
"container"
>
<div
class=
"container"
*
ngIf=
"User.logined"
>
<footer>
<footer>
<p>
© Company 2017
</p>
<p>
© Company 2017
</p>
</footer>
</footer>
...
...
src/app/login.component.ts
View file @
54f2ba6a
...
@@ -12,23 +12,23 @@ declare let jQuery: any;
...
@@ -12,23 +12,23 @@ declare let jQuery: any;
selector
:
'app-root'
,
selector
:
'app-root'
,
templateUrl
:
'./login.html'
,
templateUrl
:
'./login.html'
,
styleUrls
:
[
'./login.css'
],
styleUrls
:
[
'./login.css'
],
providers
:
[
AppService
,
User
]
providers
:
[
AppService
]
})
})
// ToDo: ngEnter and redirect to default page
// ToDo: ngEnter and redirect to default page
export
class
LoginComponent
implements
OnInit
{
export
class
LoginComponent
implements
OnInit
{
DataStore
=
DataStore
;
DataStore
=
DataStore
;
User
=
User
;
loginBotton
=
'login to your account'
;
loginBotton
=
'login to your account'
;
constructor
(
private
_appService
:
AppService
,
constructor
(
private
_appService
:
AppService
,
private
_logger
:
Logger
,
private
_logger
:
Logger
)
{
public
user
:
User
)
{
this
.
_logger
.
log
(
'login.ts:LoginComponent'
);
this
.
_logger
.
log
(
'login.ts:LoginComponent'
);
}
}
onSubmit
()
{
onSubmit
()
{
this
.
_logger
.
error
(
this
.
_appService
.
login
(
this
.
user
));
this
.
_logger
.
error
(
this
.
_appService
.
login
());
}
}
ngOnInit
()
{
ngOnInit
()
{
...
@@ -37,7 +37,7 @@ export class LoginComponent implements OnInit {
...
@@ -37,7 +37,7 @@ export class LoginComponent implements OnInit {
// jQuery('nav').hide();
// jQuery('nav').hide();
const
vm
=
this
;
const
vm
=
this
;
window
.
onresize
=
function
()
{
window
.
onresize
=
function
()
{
if
(
!
DataStore
.
logined
)
{
if
(
!
User
.
logined
)
{
vm
.
background
();
vm
.
background
();
}
}
};
};
...
@@ -49,7 +49,7 @@ export class LoginComponent implements OnInit {
...
@@ -49,7 +49,7 @@ export class LoginComponent implements OnInit {
timer
()
{
timer
()
{
if
(
DataStore
.
windowsize
[
0
]
!==
document
.
documentElement
.
clientWidth
||
if
(
DataStore
.
windowsize
[
0
]
!==
document
.
documentElement
.
clientWidth
||
DataStore
.
windowsize
[
1
]
!==
document
.
documentElement
.
clientHeight
&&
DataStore
.
windowsize
[
1
]
!==
document
.
documentElement
.
clientHeight
&&
!
DataStore
.
logined
)
{
!
User
.
logined
)
{
jQuery
(
window
).
trigger
(
'resize'
);
jQuery
(
window
).
trigger
(
'resize'
);
DataStore
.
windowsize
=
[
document
.
documentElement
.
clientWidth
,
document
.
documentElement
.
clientHeight
];
DataStore
.
windowsize
=
[
document
.
documentElement
.
clientWidth
,
document
.
documentElement
.
clientHeight
];
}
}
...
...
src/app/login.html
View file @
54f2ba6a
...
@@ -3,11 +3,11 @@
...
@@ -3,11 +3,11 @@
<div
class=
"form"
>
<div
class=
"form"
>
<form
(
ngSubmit
)="
onSubmit
()"
>
<form
(
ngSubmit
)="
onSubmit
()"
>
<div
class=
"from-group"
>
<div
class=
"from-group"
>
<input
type=
"text"
name=
"username"
id=
"username"
placeholder=
"Username"
[(
ngModel
)]="
u
ser
.
username
"
required
>
<input
type=
"text"
name=
"username"
id=
"username"
placeholder=
"Username"
[(
ngModel
)]="
U
ser
.
username
"
required
>
<span
class=
"fa fa-user-secret form-control-feedback"
></span>
<span
class=
"fa fa-user-secret form-control-feedback"
></span>
</div>
</div>
<div
class=
"from-group"
>
<div
class=
"from-group"
>
<input
type=
"password"
name=
"password"
id=
"password"
placeholder=
"password"
[(
ngModel
)]="
u
ser
.
password
"
required
<input
type=
"password"
name=
"password"
id=
"password"
placeholder=
"password"
[(
ngModel
)]="
U
ser
.
password
"
required
(
ngEnter
)="
onSubmit
()"
>
(
ngEnter
)="
onSubmit
()"
>
<span
class=
"fa fa-key form-control-feedback"
></span>
<span
class=
"fa fa-key form-control-feedback"
></span>
</div>
</div>
...
...
src/app/welcome.component.ts
View file @
54f2ba6a
...
@@ -11,8 +11,8 @@ import {AppService, DataStore, User} from './app.service';
...
@@ -11,8 +11,8 @@ import {AppService, DataStore, User} from './app.service';
})
})
export
class
WelcomeComponent
{
export
class
WelcomeComponent
{
DataStore
=
DataStore
;
//
DataStore = DataStore;
User
=
User
;
// DataStore = DataStore;
// DataStore = DataStore;
}
}
src/app/welcome.html
View file @
54f2ba6a
<div
class=
"container"
>
<div
class=
"container"
*
ngIf=
"User.logined"
>
<div
class=
"row row-offcanvas row-offcanvas-right"
>
<div
class=
"row row-offcanvas row-offcanvas-right"
>
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<button
type=
"button"
class=
"btn btn-primary btn-sm"
data-toggle=
"offcanvas"
>
Toggle nav
</button>
<button
type=
"button"
class=
"btn btn-primary btn-sm"
data-toggle=
"offcanvas"
>
Toggle nav
</button>
</p>
</p>
<div
class=
"jumbotron"
>
<div
class=
"jumbotron"
>
<h1>
Hello, world! {{
DataStore.u
ser.username}}
</h1>
<h1>
Hello, world! {{
U
ser.username}}
</h1>
<p>
This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some
<p>
This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some
responsive-range viewport sizes to see it in action.
</p>
responsive-range viewport sizes to see it in action.
</p>
</div>
</div>
...
...
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