Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Moecube Accounts Web
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Moecube Accounts Web
Commits
1a7177ed
Commit
1a7177ed
authored
Apr 06, 2017
by
2breakegg
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
8e8fb944
0373d4e2
Changes
32
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
714 additions
and
467 deletions
+714
-467
.editorconfig
.editorconfig
+9
-5
.eslintrc
.eslintrc
+6
-1
.idea/workspace.xml
.idea/workspace.xml
+434
-265
.roadhogrc.js
.roadhogrc.js
+1
-1
.travis.yml
.travis.yml
+18
-0
i18n.json
i18n.json
+0
-1
package.json
package.json
+3
-3
public/index.html
public/index.html
+2
-1
src/components/EmailForm.js
src/components/EmailForm.js
+3
-1
src/components/PasswordForm.js
src/components/PasswordForm.js
+19
-15
src/components/SendEmail.js
src/components/SendEmail.js
+5
-2
src/components/UserNameForm.js
src/components/UserNameForm.js
+3
-1
src/config.js
src/config.js
+2
-2
src/index.js
src/index.js
+1
-1
src/index.less
src/index.less
+2
-2
src/models/auth.js
src/models/auth.js
+2
-1
src/models/user.js
src/models/user.js
+10
-2
src/router.js
src/router.js
+1
-1
src/routes/Activate.js
src/routes/Activate.js
+1
-1
src/routes/Forgot.js
src/routes/Forgot.js
+9
-4
src/routes/Index.js
src/routes/Index.js
+9
-5
src/routes/Index.less
src/routes/Index.less
+9
-9
src/routes/Login.js
src/routes/Login.js
+9
-3
src/routes/Profiles.js
src/routes/Profiles.js
+53
-54
src/routes/Register.js
src/routes/Register.js
+26
-17
src/routes/Register.less
src/routes/Register.less
+1
-2
src/routes/Reset.js
src/routes/Reset.js
+12
-10
src/routes/Verify.js
src/routes/Verify.js
+17
-9
src/services/auth.js
src/services/auth.js
+7
-7
src/services/upload.js
src/services/upload.js
+2
-3
src/utils/request.js
src/utils/request.js
+15
-13
src/utils/sso.js
src/utils/sso.js
+23
-25
No files found.
.editorconfig
View file @
1a7177ed
...
@@ -2,15 +2,19 @@
...
@@ -2,15 +2,19 @@
root = true
root = true
[*]
[*]
charset = utf-8
indent_style = space
indent_style = space
indent_size = 2
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = lf
[*.md]
[*.md]
max_line_length = 0
trim_trailing_whitespace = false
trim_trailing_whitespace = false
[Makefile]
# Indentation override
indent_style = tab
#[lib/**.js]
#[{package.json,.travis.yml}]
#[**/**.js]
.eslintrc
View file @
1a7177ed
...
@@ -23,11 +23,16 @@
...
@@ -23,11 +23,16 @@
"no-bitwise": [0],
"no-bitwise": [0],
"no-cond-assign": [0],
"no-cond-assign": [0],
"import/no-unresolved": [0],
"import/no-unresolved": [0],
"require-yield": [1]
"require-yield": [1],
"react/react-in-jsx-scope": [0],
"no-extra-semi": [0]
},
},
"parserOptions": {
"parserOptions": {
"ecmaFeatures": {
"ecmaFeatures": {
"experimentalObjectRestSpread": true
"experimentalObjectRestSpread": true
}
}
},
"env": {
"browser": true
}
}
}
}
.idea/workspace.xml
View file @
1a7177ed
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<project
version=
"4"
>
<component
name=
"ChangeListManager"
>
<component
name=
"ChangeListManager"
>
<list
default=
"true"
id=
"eb37985e-18dc-4e2f-82ba-9874832785ff"
name=
"Default"
comment=
"log out"
>
<list
default=
"true"
id=
"eb37985e-18dc-4e2f-82ba-9874832785ff"
name=
"Default"
comment=
""
>
<change
type=
"NEW"
beforePath=
""
afterPath=
"$PROJECT_DIR$/.travis.yml"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/.idea/workspace.xml"
afterPath=
"$PROJECT_DIR$/.idea/workspace.xml"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/.idea/workspace.xml"
afterPath=
"$PROJECT_DIR$/.idea/workspace.xml"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/src/models/
auth.js"
afterPath=
"$PROJECT_DIR$/src/models/auth
.js"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/src/models/
user.js"
afterPath=
"$PROJECT_DIR$/src/models/user
.js"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/src/routes/Activate.js"
afterPath=
"$PROJECT_DIR$/src/routes/Activate.js"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/src/routes/Activate.js"
afterPath=
"$PROJECT_DIR$/src/routes/Activate.js"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/src/routes/Index.js"
afterPath=
"$PROJECT_DIR$/src/routes/Index.js"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/src/routes/Forgot.js"
afterPath=
"$PROJECT_DIR$/src/routes/Forgot.js"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/src/routes/Profiles.js"
afterPath=
"$PROJECT_DIR$/src/routes/Profiles.js"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/src/routes/Register.js"
afterPath=
"$PROJECT_DIR$/src/routes/Register.js"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/src/routes/Reset.js"
afterPath=
"$PROJECT_DIR$/src/routes/Reset.js"
/>
<change
type=
"MODIFICATION"
beforePath=
"$PROJECT_DIR$/src/routes/Verify.js"
afterPath=
"$PROJECT_DIR$/src/routes/Verify.js"
/>
</list>
</list>
<ignored
path=
"$PROJECT_DIR$/.tmp/"
/>
<ignored
path=
"$PROJECT_DIR$/.tmp/"
/>
<ignored
path=
"$PROJECT_DIR$/temp/"
/>
<ignored
path=
"$PROJECT_DIR$/temp/"
/>
...
@@ -21,12 +26,12 @@
...
@@ -21,12 +26,12 @@
<window
id=
"1"
>
<window
id=
"1"
>
<content
type=
"file-editors"
>
<content
type=
"file-editors"
>
<state>
<state>
<leaf>
<leaf
SIDE_TABS_SIZE_LIMIT_KEY=
"300"
>
<file
leaf-file-name=
"i18n.json"
pinned=
"false"
current-in-tab=
"true"
>
<file
leaf-file-name=
"i18n.json"
pinned=
"false"
current-in-tab=
"true"
>
<entry
file=
"file://$PROJECT_DIR$/i18n.json"
>
<entry
file=
"file://$PROJECT_DIR$/i18n.json"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
267
"
>
<state
relative-caret-position=
"
122
"
>
<caret
line=
"
103"
column=
"13"
lean-forward=
"true"
selection-start-line=
"103"
selection-start-column=
"5"
selection-end-line=
"103"
selection-end-column=
"13
"
/>
<caret
line=
"
84"
column=
"16"
lean-forward=
"false"
selection-start-line=
"84"
selection-start-column=
"16"
selection-end-line=
"84"
selection-end-column=
"16
"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
...
@@ -40,88 +45,127 @@
...
@@ -40,88 +45,127 @@
<component
name=
"ExecutionTargetManager"
SELECTED_TARGET=
"default_target"
/>
<component
name=
"ExecutionTargetManager"
SELECTED_TARGET=
"default_target"
/>
<component
name=
"FileEditorManager"
>
<component
name=
"FileEditorManager"
>
<leaf
SIDE_TABS_SIZE_LIMIT_KEY=
"300"
>
<leaf
SIDE_TABS_SIZE_LIMIT_KEY=
"300"
>
<file
leaf-file-name=
"
auth.js"
pinned=
"false"
current-in-tab=
"tru
e"
>
<file
leaf-file-name=
"
Index.js"
pinned=
"false"
current-in-tab=
"fals
e"
>
<entry
file=
"file://$PROJECT_DIR$/src/
models/auth
.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/
routes/Index
.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
437
"
>
<state
relative-caret-position=
"
115
"
>
<caret
line=
"
23"
column=
"20"
lean-forward=
"false"
selection-start-line=
"23"
selection-start-column=
"20"
selection-end-line=
"23"
selection-end-column=
"20
"
/>
<caret
line=
"
134"
column=
"13"
lean-forward=
"false"
selection-start-line=
"134"
selection-start-column=
"13"
selection-end-line=
"134"
selection-end-column=
"13
"
/>
<folding>
<folding>
<element
signature=
"e#0#31#0"
expanded=
"true"
/>
<element
signature=
"e#0#36#0"
expanded=
"true"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2311:3776"
ph=
"{...}"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2482:3513"
ph=
"<Header/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2549:2690"
ph=
"<Link/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2700:2994"
ph=
"<Menu/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2856:2978"
ph=
"<Menu.Item/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2888:2955"
ph=
"<Link/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3004:3497"
ph=
"<Menu/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3231:3461"
ph=
"<Menu.Item/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3263:3438"
ph=
"<div/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3297:3366"
ph=
"{...}"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3521:3629"
ph=
"<Particles/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3579:3619"
ph=
"{"position": 'fixed'...}"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3654:3758"
ph=
"<Footer/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3810:3892"
ph=
"{...}"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3870:3889"
ph=
"{"messages": messages...}"
/>
</folding>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
</file>
</file>
<file
leaf-file-name=
"
auth.js
"
pinned=
"false"
current-in-tab=
"false"
>
<file
leaf-file-name=
"
index.html
"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/
src/services/auth.js
"
>
<entry
file=
"file://$PROJECT_DIR$/
public/index.html
"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
418
"
>
<state
relative-caret-position=
"
240
"
>
<caret
line=
"
22"
column=
"0"
lean-forward=
"true"
selection-start-line=
"22"
selection-start-column=
"0"
selection-end-line=
"22
"
selection-end-column=
"0"
/>
<caret
line=
"
16"
column=
"0"
lean-forward=
"false"
selection-start-line=
"16"
selection-start-column=
"0"
selection-end-line=
"16
"
selection-end-column=
"0"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
</file>
</file>
<file
leaf-file-name=
"
upload.js
"
pinned=
"false"
current-in-tab=
"false"
>
<file
leaf-file-name=
"
.travis.yml
"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/
src/services/upload.js
"
>
<entry
file=
"file://$PROJECT_DIR$/
.travis.yml
"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
0
"
>
<state
relative-caret-position=
"
182
"
>
<caret
line=
"
0"
column=
"0"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"0"
selection-end-line=
"0"
selection-end-column=
"0
"
/>
<caret
line=
"
18"
column=
"31"
lean-forward=
"false"
selection-start-line=
"18"
selection-start-column=
"31"
selection-end-line=
"18"
selection-end-column=
"31
"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
</file>
</file>
<file
leaf-file-name=
"
common
.js"
pinned=
"false"
current-in-tab=
"false"
>
<file
leaf-file-name=
"
user
.js"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/src/models/
common
.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/models/
user
.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
266
"
>
<state
relative-caret-position=
"
198
"
>
<caret
line=
"
14"
column=
"6"
lean-forward=
"false"
selection-start-line=
"14"
selection-start-column=
"6"
selection-end-line=
"14"
selection-end-column=
"6
"
/>
<caret
line=
"
212"
column=
"61"
lean-forward=
"true"
selection-start-line=
"212"
selection-start-column=
"61"
selection-end-line=
"212"
selection-end-column=
"61
"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
</file>
</file>
<file
leaf-file-name=
"user.js"
pinned=
"false"
current-in-tab=
"false"
>
<file
leaf-file-name=
"Activate.js"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/src/models/user.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Activate.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"40"
>
<caret
line=
"16"
column=
"26"
lean-forward=
"false"
selection-start-line=
"16"
selection-start-column=
"26"
selection-end-line=
"16"
selection-end-column=
"26"
/>
<folding>
<element
signature=
"e#0#30#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
leaf-file-name=
"Profiles.js"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Profiles.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
3876
"
>
<state
relative-caret-position=
"
172
"
>
<caret
line=
"
208"
column=
"24"
lean-forward=
"false"
selection-start-line=
"208"
selection-start-column=
"24"
selection-end-line=
"208"
selection-end-column=
"2
4"
/>
<caret
line=
"
119"
column=
"34"
lean-forward=
"false"
selection-start-line=
"119"
selection-start-column=
"34"
selection-end-line=
"119"
selection-end-column=
"3
4"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
</file>
</file>
<file
leaf-file-name=
"
Index
.js"
pinned=
"false"
current-in-tab=
"false"
>
<file
leaf-file-name=
"
Register
.js"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/
Index
.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/
Register
.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
625
"
>
<state
relative-caret-position=
"
-1174
"
>
<caret
line=
"
158"
column=
"11"
lean-forward=
"true"
selection-start-line=
"158"
selection-start-column=
"11"
selection-end-line=
"158"
selection-end-column=
"11
"
/>
<caret
line=
"
62"
column=
"46"
lean-forward=
"true"
selection-start-line=
"62"
selection-start-column=
"46"
selection-end-line=
"62"
selection-end-column=
"46
"
/>
<folding>
<folding>
<
element
signature=
"e#0#36#0"
expanded=
"true
"
/>
<
marker
date=
"1491472843000"
expanded=
"true"
signature=
"1495:1562"
ph=
"{"validateStatus": checkEmail...}
"
/>
<marker
date=
"14914
68814760"
expanded=
"true"
signature=
"3782:3786"
ph=
"{"messages": messages
...}"
/>
<marker
date=
"14914
72843000"
expanded=
"true"
signature=
"2068:2193"
ph=
"{"placeholder": messages.username
...}"
/>
</folding>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
</file>
</file>
<file
leaf-file-name=
"
Login
.js"
pinned=
"false"
current-in-tab=
"false"
>
<file
leaf-file-name=
"
Reset
.js"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/
Login
.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/
Reset
.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"266"
>
<state
relative-caret-position=
"33"
>
<caret
line=
"45"
column=
"77"
lean-forward=
"false"
selection-start-line=
"45"
selection-start-column=
"77"
selection-end-line=
"45"
selection-end-column=
"77"
/>
<caret
line=
"53"
column=
"109"
lean-forward=
"false"
selection-start-line=
"53"
selection-start-column=
"109"
selection-end-line=
"53"
selection-end-column=
"109"
/>
<folding>
<element
signature=
"e#0#55#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
leaf-file-name=
"Forgot.js"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Forgot.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"92"
>
<caret
line=
"37"
column=
"20"
lean-forward=
"false"
selection-start-line=
"37"
selection-start-column=
"20"
selection-end-line=
"37"
selection-end-column=
"20"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
</file>
</file>
<file
leaf-file-name=
"
Profiles.js"
pinned=
"false"
current-in-tab=
"fals
e"
>
<file
leaf-file-name=
"
Verify.js"
pinned=
"false"
current-in-tab=
"tru
e"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/
Profiles
.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/
Verify
.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
380
"
>
<state
relative-caret-position=
"
123
"
>
<caret
line=
"
20"
column=
"0"
lean-forward=
"true"
selection-start-line=
"20"
selection-start-column=
"0"
selection-end-line=
"20"
selection-end-column=
"0
"
/>
<caret
line=
"
71"
column=
"18"
lean-forward=
"false"
selection-start-line=
"71"
selection-start-column=
"18"
selection-end-line=
"71"
selection-end-column=
"18
"
/>
<folding>
<folding>
<element
signature=
"e#0#6
1
#0"
expanded=
"true"
/>
<element
signature=
"e#0#6
6
#0"
expanded=
"true"
/>
</folding>
</folding>
</state>
</state>
</provider>
</provider>
...
@@ -181,26 +225,28 @@
...
@@ -181,26 +225,28 @@
<option
value=
"$PROJECT_DIR$/src/components/SubmitButton.js"
/>
<option
value=
"$PROJECT_DIR$/src/components/SubmitButton.js"
/>
<option
value=
"$PROJECT_DIR$/src/components/UserNameForm.js"
/>
<option
value=
"$PROJECT_DIR$/src/components/UserNameForm.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Login.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Login.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Register.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Reset.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Verify.js"
/>
<option
value=
"$PROJECT_DIR$/src/services/upload.js"
/>
<option
value=
"$PROJECT_DIR$/src/services/upload.js"
/>
<option
value=
"$PROJECT_DIR$/src/services/user.js"
/>
<option
value=
"$PROJECT_DIR$/src/services/user.js"
/>
<option
value=
"$PROJECT_DIR$/src/index.js"
/>
<option
value=
"$PROJECT_DIR$/src/index.js"
/>
<option
value=
"$PROJECT_DIR$/src/router.js"
/>
<option
value=
"$PROJECT_DIR$/src/router.js"
/>
<option
value=
"$PROJECT_DIR$/src/components/PasswordForm.js"
/>
<option
value=
"$PROJECT_DIR$/src/components/PasswordForm.js"
/>
<option
value=
"$PROJECT_DIR$/src/models/upload.js"
/>
<option
value=
"$PROJECT_DIR$/src/models/upload.js"
/>
<option
value=
"$PROJECT_DIR$/src/models/user.js"
/>
<option
value=
"$PROJECT_DIR$/src/components/EmailForm.js"
/>
<option
value=
"$PROJECT_DIR$/src/components/EmailForm.js"
/>
<option
value=
"$PROJECT_DIR$/src/components/SendEmail.js"
/>
<option
value=
"$PROJECT_DIR$/src/components/SendEmail.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Forgot.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Profiles.js"
/>
<option
value=
"$PROJECT_DIR$/i18n.json"
/>
<option
value=
"$PROJECT_DIR$/i18n.json"
/>
<option
value=
"$PROJECT_DIR$/src/models/common.js"
/>
<option
value=
"$PROJECT_DIR$/src/models/common.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Activate.js"
/>
<option
value=
"$PROJECT_DIR$/src/services/auth.js"
/>
<option
value=
"$PROJECT_DIR$/src/services/auth.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Index.js"
/>
<option
value=
"$PROJECT_DIR$/src/models/auth.js"
/>
<option
value=
"$PROJECT_DIR$/src/models/auth.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Index.js"
/>
<option
value=
"$PROJECT_DIR$/public/index.html"
/>
<option
value=
"$PROJECT_DIR$/.travis.yml"
/>
<option
value=
"$PROJECT_DIR$/src/models/user.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Activate.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Profiles.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Register.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Reset.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Forgot.js"
/>
<option
value=
"$PROJECT_DIR$/src/routes/Verify.js"
/>
</list>
</list>
</option>
</option>
</component>
</component>
...
@@ -222,10 +268,9 @@
...
@@ -222,10 +268,9 @@
<handled-path
value=
"$PROJECT_DIR$/node_modules"
/>
<handled-path
value=
"$PROJECT_DIR$/node_modules"
/>
</component>
</component>
<component
name=
"ProjectFrameBounds"
>
<component
name=
"ProjectFrameBounds"
>
<option
name=
"x"
value=
"-8"
/>
<option
name=
"y"
value=
"23"
/>
<option
name=
"y"
value=
"-8"
/>
<option
name=
"width"
value=
"1440"
/>
<option
name=
"width"
value=
"1936"
/>
<option
name=
"height"
value=
"815"
/>
<option
name=
"height"
value=
"1176"
/>
</component>
</component>
<component
name=
"ProjectView"
>
<component
name=
"ProjectView"
>
<navigator
currentView=
"ProjectPane"
proportions=
""
version=
"1"
>
<navigator
currentView=
"ProjectPane"
proportions=
""
version=
"1"
>
...
@@ -242,59 +287,39 @@
...
@@ -242,59 +287,39 @@
<foldersAlwaysOnTop
value=
"true"
/>
<foldersAlwaysOnTop
value=
"true"
/>
</navigator>
</navigator>
<panes>
<panes>
<pane
id=
"Scope"
/>
<pane
id=
"Scratches"
/>
<pane
id=
"ProjectPane"
>
<pane
id=
"ProjectPane"
>
<subPane>
<subPane>
<PATH>
<PATH>
<PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"mycard-account-web"
/>
<option
name=
"myItemId"
value=
"moecube-accounts-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"mycard-account-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"mycard-account-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode"
/>
</PATH_ELEMENT>
</PATH_ELEMENT>
<PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"mycard-account-web"
/>
<option
name=
"myItemId"
value=
"moecube-accounts-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"src"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH_ELEMENT>
</PATH>
</PATH>
<PATH>
<PATH>
<PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"m
ycard-account
-web"
/>
<option
name=
"myItemId"
value=
"m
oecube-accounts
-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode"
/>
</PATH_ELEMENT>
</PATH_ELEMENT>
<PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"m
ycard-account
-web"
/>
<option
name=
"myItemId"
value=
"m
oecube-accounts
-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH_ELEMENT>
<PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"src"
/>
<option
name=
"myItemId"
value=
"src"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"services"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
</PATH>
<PATH>
<PATH>
<PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"m
ycard-account
-web"
/>
<option
name=
"myItemId"
value=
"m
oecube-accounts
-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode"
/>
</PATH_ELEMENT>
</PATH_ELEMENT>
<PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"m
ycard-account
-web"
/>
<option
name=
"myItemId"
value=
"m
oecube-accounts
-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH_ELEMENT>
<PATH_ELEMENT>
<PATH_ELEMENT>
...
@@ -308,11 +333,11 @@
...
@@ -308,11 +333,11 @@
</PATH>
</PATH>
<PATH>
<PATH>
<PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"m
ycard-account
-web"
/>
<option
name=
"myItemId"
value=
"m
oecube-accounts
-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode"
/>
</PATH_ELEMENT>
</PATH_ELEMENT>
<PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"m
ycard-account
-web"
/>
<option
name=
"myItemId"
value=
"m
oecube-accounts
-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH_ELEMENT>
<PATH_ELEMENT>
<PATH_ELEMENT>
...
@@ -324,26 +349,10 @@
...
@@ -324,26 +349,10 @@
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH_ELEMENT>
</PATH>
</PATH>
<PATH>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"mycard-account-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"mycard-account-web"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"src"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
<PATH_ELEMENT>
<option
name=
"myItemId"
value=
"components"
/>
<option
name=
"myItemType"
value=
"com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode"
/>
</PATH_ELEMENT>
</PATH>
</subPane>
</subPane>
</pane>
</pane>
<pane
id=
"Scope"
/>
<pane
id=
"Scratches"
/>
</panes>
</panes>
</component>
</component>
<component
name=
"PropertiesComponent"
>
<component
name=
"PropertiesComponent"
>
...
@@ -357,6 +366,127 @@
...
@@ -357,6 +366,127 @@
<property
name=
"node.js.path.for.package.standard"
value=
"project"
/>
<property
name=
"node.js.path.for.package.standard"
value=
"project"
/>
<property
name=
"node.js.selected.package.standard"
value=
""
/>
<property
name=
"node.js.selected.package.standard"
value=
""
/>
</component>
</component>
<component
name=
"RestoreUpdateTree"
date=
"Moments ago"
ActionInfo=
"_Update"
>
<UpdatedFiles>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Updated from server"
/>
<option
name=
"myStatusName"
value=
"Changed on server"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"CHANGED_ON_SERVER"
/>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Updated"
/>
<option
name=
"myStatusName"
value=
"Changed"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"UPDATED"
/>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/.roadhogrc.js
</PATH>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/i18n.json
</PATH>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/package.json
</PATH>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/src/models/user.js
</PATH>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/src/routes/Activate.js
</PATH>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/src/routes/Forgot.js
</PATH>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/src/routes/Index.js
</PATH>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/src/routes/Login.js
</PATH>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/src/routes/Profiles.js
</PATH>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/src/routes/Register.js
</PATH>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/src/routes/Reset.js
</PATH>
<PATH
vcs=
"Git"
revision=
""
>
$PROJECT_DIR$/src/routes/Verify.js
</PATH>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Created"
/>
<option
name=
"myStatusName"
value=
"Created"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"CREATED"
/>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Deleted"
/>
<option
name=
"myStatusName"
value=
"Deleted"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"true"
/>
<option
name=
"myId"
value=
"REMOVED_FROM_REPOSITORY"
/>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Restored"
/>
<option
name=
"myStatusName"
value=
"Will be restored"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"RESTORED"
/>
</FILE-GROUP>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Modified"
/>
<option
name=
"myStatusName"
value=
"Modified"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"MODIFIED"
/>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Skipped"
/>
<option
name=
"myStatusName"
value=
"Skipped"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"SKIPPED"
/>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Merged with conflicts"
/>
<option
name=
"myStatusName"
value=
"Will be merged with conflicts"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"MERGED_WITH_CONFLICTS"
/>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Merged with tree conflicts"
/>
<option
name=
"myStatusName"
value=
"Merged with tree conflicts"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"MERGED_WITH_TREE_CONFLICT"
/>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Merged with property conflicts"
/>
<option
name=
"myStatusName"
value=
"Will be merged with property conflicts"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"MERGED_WITH_PROPERTY_CONFLICT"
/>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Merged"
/>
<option
name=
"myStatusName"
value=
"Will be merged"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"MERGED"
/>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Not in repository"
/>
<option
name=
"myStatusName"
value=
"Not in repository"
/>
<option
name=
"mySupportsDeletion"
value=
"true"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"UNKNOWN"
/>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Locally added"
/>
<option
name=
"myStatusName"
value=
"Locally added"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"LOCALLY_ADDED"
/>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Locally removed"
/>
<option
name=
"myStatusName"
value=
"Locally removed"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"LOCALLY_REMOVED"
/>
</FILE-GROUP>
<FILE-GROUP>
<option
name=
"myUpdateName"
value=
"Switched"
/>
<option
name=
"myStatusName"
value=
"Switched"
/>
<option
name=
"mySupportsDeletion"
value=
"false"
/>
<option
name=
"myCanBeAbsent"
value=
"false"
/>
<option
name=
"myId"
value=
"SWITCHED"
/>
</FILE-GROUP>
</UpdatedFiles>
</component>
<component
name=
"RunDashboard"
>
<component
name=
"RunDashboard"
>
<option
name=
"ruleStates"
>
<option
name=
"ruleStates"
>
<list>
<list>
...
@@ -370,23 +500,33 @@
...
@@ -370,23 +500,33 @@
</option>
</option>
</component>
</component>
<component
name=
"RunManager"
>
<component
name=
"RunManager"
>
<configuration
default=
"false"
name=
"lint"
type=
"js.build_tools.npm"
factoryName=
"npm"
temporary=
"true"
nameIsGenerated=
"true"
>
<package-json
value=
"$PROJECT_DIR$/package.json"
/>
<command
value=
"run"
/>
<scripts>
<script
value=
"lint"
/>
</scripts>
<node-interpreter
value=
"/usr/local/Cellar/node/7.7.4/bin/node"
/>
<envs
/>
<method
/>
</configuration>
<configuration
default=
"false"
name=
"start"
type=
"js.build_tools.npm"
factoryName=
"npm"
temporary=
"true"
nameIsGenerated=
"true"
>
<configuration
default=
"false"
name=
"start"
type=
"js.build_tools.npm"
factoryName=
"npm"
temporary=
"true"
nameIsGenerated=
"true"
>
<package-json
value=
"$PROJECT_DIR$/package.json"
/>
<package-json
value=
"$PROJECT_DIR$/package.json"
/>
<command
value=
"run"
/>
<command
value=
"run"
/>
<scripts>
<scripts>
<script
value=
"start"
/>
<script
value=
"start"
/>
</scripts>
</scripts>
<node-interpreter
value=
"
project
"
/>
<node-interpreter
value=
"
/usr/local/Cellar/node/7.7.4/bin/node
"
/>
<envs
/>
<envs
/>
<method
/>
<method
/>
</configuration>
</configuration>
<configuration
default=
"false"
name=
"
lint
"
type=
"js.build_tools.npm"
factoryName=
"npm"
temporary=
"true"
nameIsGenerated=
"true"
>
<configuration
default=
"false"
name=
"
build
"
type=
"js.build_tools.npm"
factoryName=
"npm"
temporary=
"true"
nameIsGenerated=
"true"
>
<package-json
value=
"$PROJECT_DIR$/package.json"
/>
<package-json
value=
"$PROJECT_DIR$/package.json"
/>
<command
value=
"run"
/>
<command
value=
"run"
/>
<scripts>
<scripts>
<script
value=
"
lint
"
/>
<script
value=
"
build
"
/>
</scripts>
</scripts>
<node-interpreter
value=
"
project
"
/>
<node-interpreter
value=
"
/usr/local/Cellar/node/7.7.4/bin/node
"
/>
<envs
/>
<envs
/>
<method
/>
<method
/>
</configuration>
</configuration>
...
@@ -456,14 +596,16 @@
...
@@ -456,14 +596,16 @@
<recursive>
false
</recursive>
<recursive>
false
</recursive>
<method
/>
<method
/>
</configuration>
</configuration>
<list
size=
"2"
>
<list
size=
"3"
>
<item
index=
"0"
class=
"java.lang.String"
itemvalue=
"npm.start"
/>
<item
index=
"0"
class=
"java.lang.String"
itemvalue=
"npm.lint"
/>
<item
index=
"1"
class=
"java.lang.String"
itemvalue=
"npm.lint"
/>
<item
index=
"1"
class=
"java.lang.String"
itemvalue=
"npm.start"
/>
<item
index=
"2"
class=
"java.lang.String"
itemvalue=
"npm.build"
/>
</list>
</list>
<recent_temporary>
<recent_temporary>
<list
size=
"
2
"
>
<list
size=
"
3
"
>
<item
index=
"0"
class=
"java.lang.String"
itemvalue=
"npm.lint"
/>
<item
index=
"0"
class=
"java.lang.String"
itemvalue=
"npm.lint"
/>
<item
index=
"1"
class=
"java.lang.String"
itemvalue=
"npm.start"
/>
<item
index=
"1"
class=
"java.lang.String"
itemvalue=
"npm.build"
/>
<item
index=
"2"
class=
"java.lang.String"
itemvalue=
"npm.start"
/>
</list>
</list>
</recent_temporary>
</recent_temporary>
</component>
</component>
...
@@ -591,11 +733,32 @@
...
@@ -591,11 +733,32 @@
<option
name=
"project"
value=
"LOCAL"
/>
<option
name=
"project"
value=
"LOCAL"
/>
<updated>
1491467859850
</updated>
<updated>
1491467859850
</updated>
</task>
</task>
<option
name=
"localTasksCounter"
value=
"16"
/>
<task
id=
"LOCAL-00016"
summary=
"Merge remote-tracking branch 'origin/master' # Conflicts: #	src/models/auth.js #	src/routes/Index.js"
>
<created>
1491470156951
</created>
<option
name=
"number"
value=
"00016"
/>
<option
name=
"presentableId"
value=
"LOCAL-00016"
/>
<option
name=
"project"
value=
"LOCAL"
/>
<updated>
1491470156951
</updated>
</task>
<task
id=
"LOCAL-00017"
summary=
"Merge remote-tracking branch 'origin/master' # Conflicts: #	src/models/auth.js #	src/routes/Index.js"
>
<created>
1491470479520
</created>
<option
name=
"number"
value=
"00017"
/>
<option
name=
"presentableId"
value=
"LOCAL-00017"
/>
<option
name=
"project"
value=
"LOCAL"
/>
<updated>
1491470479520
</updated>
</task>
<task
id=
"LOCAL-00018"
summary=
"Merge remote-tracking branch 'origin/master' # Conflicts: #	src/models/auth.js #	src/routes/Index.js"
>
<created>
1491470717640
</created>
<option
name=
"number"
value=
"00018"
/>
<option
name=
"presentableId"
value=
"LOCAL-00018"
/>
<option
name=
"project"
value=
"LOCAL"
/>
<updated>
1491470717640
</updated>
</task>
<option
name=
"localTasksCounter"
value=
"19"
/>
<servers
/>
<servers
/>
</component>
</component>
<component
name=
"TimeTrackingManager"
>
<component
name=
"TimeTrackingManager"
>
<option
name=
"totallyTimeSpent"
value=
"
89421
000"
/>
<option
name=
"totallyTimeSpent"
value=
"
91792
000"
/>
</component>
</component>
<component
name=
"TodoView"
selected-index=
"3"
>
<component
name=
"TodoView"
selected-index=
"3"
>
<todo-panel
id=
"selected-file"
>
<todo-panel
id=
"selected-file"
>
...
@@ -607,25 +770,36 @@
...
@@ -607,25 +770,36 @@
</todo-panel>
</todo-panel>
</component>
</component>
<component
name=
"ToolWindowManager"
>
<component
name=
"ToolWindowManager"
>
<frame
x=
"
-8"
y=
"-8"
width=
"1936"
height=
"1176"
extended-state=
"0
"
/>
<frame
x=
"
0"
y=
"23"
width=
"1440"
height=
"815"
extended-state=
"6
"
/>
<layout>
<layout>
<window_info
id=
"Project"
active=
"true"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"true"
show_stripe_button=
"true"
weight=
"0.252
37092"
sideWeight=
"0.6706587
"
order=
"0"
side_tool=
"false"
content_ui=
"combo"
/>
<window_info
id=
"Project"
active=
"true"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"true"
show_stripe_button=
"true"
weight=
"0.252
29034"
sideWeight=
"0.6557789
"
order=
"0"
side_tool=
"false"
content_ui=
"combo"
/>
<window_info
id=
"TODO"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32917467"
sideWeight=
"0.49578503"
order=
"6"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"TODO"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32917467"
sideWeight=
"0.49578503"
order=
"6"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Event Log"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"
false"
show_stripe_button=
"true"
weight=
"0.32917467"
sideWeight=
"0.502107
5"
order=
"7"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Event Log"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"
true"
show_stripe_button=
"true"
weight=
"0.4495159"
sideWeight=
"0.5186751
5"
order=
"7"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Find"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32917467"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Find"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32917467"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Run"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"
false"
show_stripe_button=
"true"
weight=
"0.19865642"
sideWeight=
"0.49789253
"
order=
"2"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Run"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"
true"
show_stripe_button=
"true"
weight=
"0.4495159"
sideWeight=
"0.48132488
"
order=
"2"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Version Control"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.242
8023"
sideWeight=
"0.49789253
"
order=
"7"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Version Control"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.242
04703"
sideWeight=
"0.48696265
"
order=
"7"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"npm"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"
false"
show_stripe_button=
"true"
weight=
"0.25237092"
sideWeight=
"0.3293413
2"
order=
"2"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"npm"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"
true"
show_stripe_button=
"true"
weight=
"0.25229034"
sideWeight=
"0.3442211
2"
order=
"2"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Structure"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Structure"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Terminal"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.22
744721"
sideWeight=
"0.49367756
"
order=
"7"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Terminal"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.22
544952"
sideWeight=
"0.48766738
"
order=
"7"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Debug"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.4"
sideWeight=
"0.5"
order=
"3"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Debug"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.4"
sideWeight=
"0.5"
order=
"3"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Favorites"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"2"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Favorites"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"2"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Cvs"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"4"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Cvs"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"4"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"TODO"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32917467"
sideWeight=
"0.49578503"
order=
"6"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Message"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"0"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Message"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"0"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Commander"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.4"
sideWeight=
"0.5"
order=
"0"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Commander"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.4"
sideWeight=
"0.5"
order=
"0"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Event Log"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32917467"
sideWeight=
"0.5021075"
order=
"7"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Inspection"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.4"
sideWeight=
"0.5"
order=
"5"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Inspection"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.4"
sideWeight=
"0.5"
order=
"5"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Run"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.19865642"
sideWeight=
"0.49789253"
order=
"2"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Version Control"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.2428023"
sideWeight=
"0.49789253"
order=
"7"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"npm"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25237092"
sideWeight=
"0.32934132"
order=
"2"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Terminal"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.22744721"
sideWeight=
"0.49367756"
order=
"7"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Hierarchy"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"2"
side_tool=
"false"
content_ui=
"combo"
/>
<window_info
id=
"Hierarchy"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"2"
side_tool=
"false"
content_ui=
"combo"
/>
<window_info
id=
"Project"
active=
"true"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"true"
show_stripe_button=
"true"
weight=
"0.25237092"
sideWeight=
"0.6706587"
order=
"0"
side_tool=
"false"
content_ui=
"combo"
/>
<window_info
id=
"Find"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32917467"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Structure"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Ant Build"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Ant Build"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Debug"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.4"
sideWeight=
"0.5"
order=
"3"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Favorites"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"2"
side_tool=
"true"
content_ui=
"tabs"
/>
</layout>
</layout>
<layout-to-restore>
<layout-to-restore>
<window_info
id=
"TODO"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32917467"
sideWeight=
"0.49578503"
order=
"6"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"TODO"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32917467"
sideWeight=
"0.49578503"
order=
"6"
side_tool=
"false"
content_ui=
"tabs"
/>
...
@@ -662,7 +836,9 @@
...
@@ -662,7 +836,9 @@
<MESSAGE
value=
"i18n"
/>
<MESSAGE
value=
"i18n"
/>
<MESSAGE
value=
"error.messages"
/>
<MESSAGE
value=
"error.messages"
/>
<MESSAGE
value=
"reformat code"
/>
<MESSAGE
value=
"reformat code"
/>
<option
name=
"LAST_COMMIT_MESSAGE"
value=
"reformat code"
/>
<MESSAGE
value=
"Merge remote-tracking branch 'origin/master' # Conflicts: #	src/models/auth.js #	src/routes/Index.js"
/>
<MESSAGE
value=
"travis"
/>
<option
name=
"LAST_COMMIT_MESSAGE"
value=
"travis"
/>
</component>
</component>
<component
name=
"XDebuggerManager"
>
<component
name=
"XDebuggerManager"
>
<breakpoint-manager>
<breakpoint-manager>
...
@@ -673,7 +849,6 @@
...
@@ -673,7 +849,6 @@
</line-breakpoint>
</line-breakpoint>
<line-breakpoint
enabled=
"true"
type=
"javascript"
>
<line-breakpoint
enabled=
"true"
type=
"javascript"
>
<url>
file://$PROJECT_DIR$/src/router.js
</url>
<url>
file://$PROJECT_DIR$/src/router.js
</url>
<properties
/>
<option
name=
"timeStamp"
value=
"3"
/>
<option
name=
"timeStamp"
value=
"3"
/>
</line-breakpoint>
</line-breakpoint>
</breakpoints>
</breakpoints>
...
@@ -682,35 +857,6 @@
...
@@ -682,35 +857,6 @@
<watches-manager
/>
<watches-manager
/>
</component>
</component>
<component
name=
"editorHistoryManager"
>
<component
name=
"editorHistoryManager"
>
<entry
file=
"file://$PROJECT_DIR$/src/router.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"209"
>
<caret
line=
"25"
column=
"30"
lean-forward=
"false"
selection-start-line=
"25"
selection-start-column=
"30"
selection-end-line=
"25"
selection-end-column=
"30"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Register.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"38"
>
<caret
line=
"2"
column=
"33"
lean-forward=
"false"
selection-start-line=
"2"
selection-start-column=
"33"
selection-end-line=
"2"
selection-end-column=
"33"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Profiles.less"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"0"
>
<caret
line=
"0"
column=
"0"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"0"
selection-end-line=
"0"
selection-end-column=
"0"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/services/auth.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"456"
>
<caret
line=
"25"
column=
"28"
lean-forward=
"false"
selection-start-line=
"25"
selection-start-column=
"28"
selection-end-line=
"25"
selection-end-column=
"28"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/config.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/config.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"38"
>
<state
relative-caret-position=
"38"
>
...
@@ -771,26 +917,21 @@
...
@@ -771,26 +917,21 @@
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/.editorconfig"
>
<entry
file=
"file://$PROJECT_DIR$/.editorconfig"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"171"
>
<state
relative-caret-position=
"210"
>
<caret
line=
"9"
column=
"20"
lean-forward=
"false"
selection-start-line=
"9"
selection-start-column=
"20"
selection-end-line=
"9"
selection-end-column=
"20"
/>
<caret
line=
"14"
column=
"32"
lean-forward=
"true"
selection-start-line=
"14"
selection-start-column=
"32"
selection-end-line=
"14"
selection-end-column=
"32"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/.eslintrc"
>
<entry
file=
"file://$PROJECT_DIR$/.eslintrc"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"418"
>
<state
relative-caret-position=
"242"
>
<caret
line=
"22"
column=
"22"
lean-forward=
"true"
selection-start-line=
"22"
selection-start-column=
"22"
selection-end-line=
"22"
selection-end-column=
"22"
/>
<caret
line=
"27"
column=
"23"
lean-forward=
"false"
selection-start-line=
"27"
selection-start-column=
"23"
selection-end-line=
"27"
selection-end-column=
"23"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/routes/IndexPage.js"
/>
<entry
file=
"file://$PROJECT_DIR$/src/routes/IndexPage.js"
/>
<entry
file=
"file://$PROJECT_DIR$/public/index.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"209"
>
<caret
line=
"11"
column=
"0"
lean-forward=
"false"
selection-start-line=
"11"
selection-start-column=
"0"
selection-end-line=
"11"
selection-end-column=
"0"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/components/Haha.css"
/>
<entry
file=
"file://$PROJECT_DIR$/src/components/Haha.css"
/>
<entry
file=
"file://$PROJECT_DIR$/src/components/Haha.js"
/>
<entry
file=
"file://$PROJECT_DIR$/src/components/Haha.js"
/>
<entry
file=
"file://$PROJECT_DIR$/src/models/example.js"
/>
<entry
file=
"file://$PROJECT_DIR$/src/models/example.js"
/>
...
@@ -799,7 +940,6 @@
...
@@ -799,7 +940,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"247"
>
<state
relative-caret-position=
"247"
>
<caret
line=
"13"
column=
"0"
lean-forward=
"false"
selection-start-line=
"13"
selection-start-column=
"0"
selection-end-line=
"13"
selection-end-column=
"0"
/>
<caret
line=
"13"
column=
"0"
lean-forward=
"false"
selection-start-line=
"13"
selection-start-column=
"0"
selection-end-line=
"13"
selection-end-column=
"0"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -807,7 +947,6 @@
...
@@ -807,7 +947,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"57"
>
<state
relative-caret-position=
"57"
>
<caret
line=
"3"
column=
"47"
lean-forward=
"false"
selection-start-line=
"3"
selection-start-column=
"36"
selection-end-line=
"3"
selection-end-column=
"47"
/>
<caret
line=
"3"
column=
"47"
lean-forward=
"false"
selection-start-line=
"3"
selection-start-column=
"36"
selection-end-line=
"3"
selection-end-column=
"47"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -823,37 +962,6 @@
...
@@ -823,37 +962,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"0"
>
<state
relative-caret-position=
"0"
>
<caret
line=
"0"
column=
"0"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"0"
selection-end-line=
"0"
selection-end-column=
"0"
/>
<caret
line=
"0"
column=
"0"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"0"
selection-end-line=
"0"
selection-end-column=
"0"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Register.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"-2747"
>
<caret
line=
"5"
column=
"0"
lean-forward=
"false"
selection-start-line=
"5"
selection-start-column=
"0"
selection-end-line=
"5"
selection-end-column=
"0"
/>
<folding>
<element
signature=
"e#0#70#0"
expanded=
"false"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Reset.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"380"
>
<caret
line=
"20"
column=
"17"
lean-forward=
"true"
selection-start-line=
"20"
selection-start-column=
"17"
selection-end-line=
"20"
selection-end-column=
"17"
/>
<folding>
<element
signature=
"e#0#63#0"
expanded=
"false"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Verify.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"399"
>
<caret
line=
"21"
column=
"0"
lean-forward=
"true"
selection-start-line=
"21"
selection-start-column=
"0"
selection-end-line=
"21"
selection-end-column=
"0"
/>
<folding>
<element
signature=
"e#0#66#0"
expanded=
"false"
/>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -861,17 +969,6 @@
...
@@ -861,17 +969,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"57"
>
<state
relative-caret-position=
"57"
>
<caret
line=
"3"
column=
"0"
lean-forward=
"false"
selection-start-line=
"3"
selection-start-column=
"0"
selection-end-line=
"3"
selection-end-column=
"0"
/>
<caret
line=
"3"
column=
"0"
lean-forward=
"false"
selection-start-line=
"3"
selection-start-column=
"0"
selection-end-line=
"3"
selection-end-column=
"0"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/index.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"-263"
>
<caret
line=
"15"
column=
"33"
lean-forward=
"true"
selection-start-line=
"15"
selection-start-column=
"33"
selection-end-line=
"15"
selection-end-column=
"33"
/>
<folding>
<element
signature=
"e#0#31#0"
expanded=
"true"
/>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -879,11 +976,7 @@
...
@@ -879,11 +976,7 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"95"
>
<state
relative-caret-position=
"95"
>
<caret
line=
"15"
column=
"38"
lean-forward=
"true"
selection-start-line=
"15"
selection-start-column=
"38"
selection-end-line=
"15"
selection-end-column=
"38"
/>
<caret
line=
"15"
column=
"38"
lean-forward=
"true"
selection-start-line=
"15"
selection-start-column=
"38"
selection-end-line=
"15"
selection-end-column=
"38"
/>
<folding>
<folding
/>
<marker
date=
"1491463325049"
expanded=
"true"
signature=
"901:918"
ph=
"<Route/>"
/>
<marker
date=
"1491463325049"
expanded=
"true"
signature=
"901:932"
ph=
"<Router/>"
/>
<marker
date=
"1491463325049"
expanded=
"true"
signature=
"901:939"
ph=
"{...}"
/>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -901,7 +994,6 @@
...
@@ -901,7 +994,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"171"
>
<state
relative-caret-position=
"171"
>
<caret
line=
"9"
column=
"0"
lean-forward=
"false"
selection-start-line=
"9"
selection-start-column=
"0"
selection-end-line=
"9"
selection-end-column=
"0"
/>
<caret
line=
"9"
column=
"0"
lean-forward=
"false"
selection-start-line=
"9"
selection-start-column=
"0"
selection-end-line=
"9"
selection-end-column=
"0"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -929,7 +1021,6 @@
...
@@ -929,7 +1021,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"209"
>
<state
relative-caret-position=
"209"
>
<caret
line=
"14"
column=
"0"
lean-forward=
"false"
selection-start-line=
"14"
selection-start-column=
"0"
selection-end-line=
"14"
selection-end-column=
"0"
/>
<caret
line=
"14"
column=
"0"
lean-forward=
"false"
selection-start-line=
"14"
selection-start-column=
"0"
selection-end-line=
"14"
selection-end-column=
"0"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -947,128 +1038,206 @@
...
@@ -947,128 +1038,206 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"513"
>
<state
relative-caret-position=
"513"
>
<caret
line=
"27"
column=
"26"
lean-forward=
"true"
selection-start-line=
"27"
selection-start-column=
"26"
selection-end-line=
"27"
selection-end-column=
"26"
/>
<caret
line=
"27"
column=
"26"
lean-forward=
"true"
selection-start-line=
"27"
selection-start-column=
"26"
selection-end-line=
"27"
selection-end-column=
"26"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/services/user.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"135"
>
<caret
line=
"9"
column=
"6"
lean-forward=
"false"
selection-start-line=
"9"
selection-start-column=
"6"
selection-end-line=
"9"
selection-end-column=
"6"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/services/upload.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"90"
>
<caret
line=
"6"
column=
"33"
lean-forward=
"false"
selection-start-line=
"6"
selection-start-column=
"33"
selection-end-line=
"6"
selection-end-column=
"33"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/models/common.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"266"
>
<caret
line=
"14"
column=
"6"
lean-forward=
"false"
selection-start-line=
"14"
selection-start-column=
"6"
selection-end-line=
"14"
selection-end-column=
"6"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Login.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"266"
>
<caret
line=
"45"
column=
"77"
lean-forward=
"false"
selection-start-line=
"45"
selection-start-column=
"77"
selection-end-line=
"45"
selection-end-column=
"77"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/services/auth.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"-220"
>
<caret
line=
"13"
column=
"5"
lean-forward=
"false"
selection-start-line=
"13"
selection-start-column=
"5"
selection-end-line=
"13"
selection-end-column=
"5"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/models/auth.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"437"
>
<caret
line=
"23"
column=
"20"
lean-forward=
"false"
selection-start-line=
"23"
selection-start-column=
"20"
selection-end-line=
"23"
selection-end-column=
"20"
/>
<folding>
<folding>
<element
signature=
"e#0#31#0"
expanded=
"false"
/>
<element
signature=
"e#0#31#0"
expanded=
"false"
/>
</folding>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/
routes/Forgo
t.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/
utils/reques
t.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
304
"
>
<state
relative-caret-position=
"
267
"
>
<caret
line=
"
16"
column=
"40"
lean-forward=
"false"
selection-start-line=
"16"
selection-start-column=
"38"
selection-end-line=
"16"
selection-end-column=
"40
"
/>
<caret
line=
"
46"
column=
"2"
lean-forward=
"false"
selection-start-line=
"46"
selection-start-column=
"2"
selection-end-line=
"46"
selection-end-column=
"2
"
/>
<folding>
<folding>
<element
signature=
"e#0#62#0"
expanded=
"true"
/>
<element
signature=
"e#0#30#0"
expanded=
"false"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"319:2128"
ph=
"{...}"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"778:2126"
ph=
"{...}"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"1040:2102"
ph=
"<Spin/>"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"1088:2086"
ph=
"<Form/>"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"1161:1380"
ph=
"<Steps/>"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"1394:1430"
ph=
"<FormItem/>"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"1394:1763"
ph=
"<FormItem/>"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"1477:1588"
ph=
"{...}"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"1777:1965"
ph=
"<FormItem/>"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"1802:1941"
ph=
"<Button/>"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"1979:2068"
ph=
"<div/>"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"2162:2318"
ph=
"{...}"
/>
<marker
date=
"1491464475095"
expanded=
"true"
signature=
"2277:2315"
ph=
"{"loading": loading...}"
/>
</folding>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/
i18n.json
"
>
<entry
file=
"file://$PROJECT_DIR$/
src/utils/sso.js
"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"267"
>
<state
relative-caret-position=
"120"
>
<caret
line=
"103"
column=
"13"
lean-forward=
"true"
selection-start-line=
"103"
selection-start-column=
"5"
selection-end-line=
"103"
selection-end-column=
"13"
/>
<caret
line=
"8"
column=
"1"
lean-forward=
"true"
selection-start-line=
"8"
selection-start-column=
"1"
selection-end-line=
"8"
selection-end-column=
"1"
/>
<folding>
<element
signature=
"e#0#28#0"
expanded=
"false"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/index.less"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"30"
>
<caret
line=
"2"
column=
"2"
lean-forward=
"false"
selection-start-line=
"2"
selection-start-column=
"2"
selection-end-line=
"2"
selection-end-column=
"19"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/
routes/Activate
.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/
index
.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
570
"
>
<state
relative-caret-position=
"
225
"
>
<caret
line=
"
30"
column=
"1"
lean-forward=
"false"
selection-start-line=
"30"
selection-start-column=
"1"
selection-end-line=
"30"
selection-end-column=
"1
"
/>
<caret
line=
"
15"
column=
"33"
lean-forward=
"false"
selection-start-line=
"15"
selection-start-column=
"33"
selection-end-line=
"15"
selection-end-column=
"33
"
/>
<folding>
<folding>
<element
signature=
"e#0#3
0#0"
expanded=
"fals
e"
/>
<element
signature=
"e#0#3
1#0"
expanded=
"tru
e"
/>
</folding>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/
services/user
.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/
routes/Index
.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"171"
>
<state
relative-caret-position=
"115"
>
<caret
line=
"9"
column=
"6"
lean-forward=
"false"
selection-start-line=
"9"
selection-start-column=
"6"
selection-end-line=
"9"
selection-end-column=
"6"
/>
<caret
line=
"134"
column=
"13"
lean-forward=
"false"
selection-start-line=
"134"
selection-start-column=
"13"
selection-end-line=
"134"
selection-end-column=
"13"
/>
<folding>
<element
signature=
"e#0#36#0"
expanded=
"true"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2311:3776"
ph=
"{...}"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2482:3513"
ph=
"<Header/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2549:2690"
ph=
"<Link/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2700:2994"
ph=
"<Menu/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2856:2978"
ph=
"<Menu.Item/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"2888:2955"
ph=
"<Link/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3004:3497"
ph=
"<Menu/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3231:3461"
ph=
"<Menu.Item/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3263:3438"
ph=
"<div/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3297:3366"
ph=
"{...}"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3521:3629"
ph=
"<Particles/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3579:3619"
ph=
"{"position": 'fixed'...}"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3654:3758"
ph=
"<Footer/>"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3810:3892"
ph=
"{...}"
/>
<marker
date=
"1491471996000"
expanded=
"true"
signature=
"3870:3889"
ph=
"{"messages": messages...}"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/public/index.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"240"
>
<caret
line=
"16"
column=
"0"
lean-forward=
"false"
selection-start-line=
"16"
selection-start-column=
"0"
selection-end-line=
"16"
selection-end-column=
"0"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/
src/services/upload.js
"
>
<entry
file=
"file://$PROJECT_DIR$/
i18n.json
"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
0
"
>
<state
relative-caret-position=
"
122
"
>
<caret
line=
"
0"
column=
"0"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"0"
selection-end-line=
"0"
selection-end-column=
"0
"
/>
<caret
line=
"
84"
column=
"16"
lean-forward=
"false"
selection-start-line=
"84"
selection-start-column=
"16"
selection-end-line=
"84"
selection-end-column=
"16
"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/
src/models/common.js
"
>
<entry
file=
"file://$PROJECT_DIR$/
.travis.yml
"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
266
"
>
<state
relative-caret-position=
"
182
"
>
<caret
line=
"1
4"
column=
"6"
lean-forward=
"false"
selection-start-line=
"14"
selection-start-column=
"6"
selection-end-line=
"14"
selection-end-column=
"6
"
/>
<caret
line=
"1
8"
column=
"31"
lean-forward=
"false"
selection-start-line=
"18"
selection-start-column=
"31"
selection-end-line=
"18"
selection-end-column=
"31
"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/models/user.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/models/user.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
3876
"
>
<state
relative-caret-position=
"
198
"
>
<caret
line=
"2
08"
column=
"24"
lean-forward=
"false"
selection-start-line=
"208"
selection-start-column=
"24"
selection-end-line=
"208"
selection-end-column=
"24
"
/>
<caret
line=
"2
12"
column=
"61"
lean-forward=
"true"
selection-start-line=
"212"
selection-start-column=
"61"
selection-end-line=
"212"
selection-end-column=
"61
"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/routes/
Login
.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/
Activate
.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"266"
>
<state
relative-caret-position=
"40"
>
<caret
line=
"45"
column=
"77"
lean-forward=
"false"
selection-start-line=
"45"
selection-start-column=
"77"
selection-end-line=
"45"
selection-end-column=
"77"
/>
<caret
line=
"16"
column=
"26"
lean-forward=
"false"
selection-start-line=
"16"
selection-start-column=
"26"
selection-end-line=
"16"
selection-end-column=
"26"
/>
<folding
/>
<folding>
<element
signature=
"e#0#30#0"
expanded=
"true"
/>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Profiles.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Profiles.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"380"
>
<state
relative-caret-position=
"172"
>
<caret
line=
"20"
column=
"0"
lean-forward=
"true"
selection-start-line=
"20"
selection-start-column=
"0"
selection-end-line=
"20"
selection-end-column=
"0"
/>
<caret
line=
"119"
column=
"34"
lean-forward=
"false"
selection-start-line=
"119"
selection-start-column=
"34"
selection-end-line=
"119"
selection-end-column=
"34"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/routes/Register.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"-1174"
>
<caret
line=
"62"
column=
"46"
lean-forward=
"true"
selection-start-line=
"62"
selection-start-column=
"46"
selection-end-line=
"62"
selection-end-column=
"46"
/>
<folding>
<folding>
<element
signature=
"e#0#61#0"
expanded=
"true"
/>
<marker
date=
"1491472843000"
expanded=
"true"
signature=
"1495:1562"
ph=
"{"validateStatus": checkEmail...}"
/>
<marker
date=
"1491472843000"
expanded=
"true"
signature=
"2068:2193"
ph=
"{"placeholder": messages.username...}"
/>
</folding>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/routes/
Index
.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/routes/
Reset
.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
625
"
>
<state
relative-caret-position=
"
33
"
>
<caret
line=
"
158"
column=
"11"
lean-forward=
"true"
selection-start-line=
"158"
selection-start-column=
"11"
selection-end-line=
"158"
selection-end-column=
"11
"
/>
<caret
line=
"
53"
column=
"109"
lean-forward=
"false"
selection-start-line=
"53"
selection-start-column=
"109"
selection-end-line=
"53"
selection-end-column=
"109
"
/>
<folding>
<folding>
<element
signature=
"e#0#36#0"
expanded=
"true"
/>
<element
signature=
"e#0#55#0"
expanded=
"true"
/>
<marker
date=
"1491468814760"
expanded=
"true"
signature=
"3782:3786"
ph=
"{"messages": messages...}"
/>
</folding>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/
services/auth
.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/
routes/Forgot
.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
418
"
>
<state
relative-caret-position=
"
92
"
>
<caret
line=
"
22"
column=
"0"
lean-forward=
"true"
selection-start-line=
"22"
selection-start-column=
"0"
selection-end-line=
"22"
selection-end-column=
"
0"
/>
<caret
line=
"
37"
column=
"20"
lean-forward=
"false"
selection-start-line=
"37"
selection-start-column=
"20"
selection-end-line=
"37"
selection-end-column=
"2
0"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/src/
models/auth
.js"
>
<entry
file=
"file://$PROJECT_DIR$/src/
routes/Verify
.js"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
437
"
>
<state
relative-caret-position=
"
123
"
>
<caret
line=
"
23"
column=
"20"
lean-forward=
"false"
selection-start-line=
"23"
selection-start-column=
"20"
selection-end-line=
"23"
selection-end-column=
"20
"
/>
<caret
line=
"
71"
column=
"18"
lean-forward=
"false"
selection-start-line=
"71"
selection-start-column=
"18"
selection-end-line=
"71"
selection-end-column=
"18
"
/>
<folding>
<folding>
<element
signature=
"e#0#
31
#0"
expanded=
"true"
/>
<element
signature=
"e#0#
66
#0"
expanded=
"true"
/>
</folding>
</folding>
</state>
</state>
</provider>
</provider>
...
...
.roadhogrc.js
View file @
1a7177ed
let
publicPath
=
'
https://cdn01.moecube.com/accounts/
'
let
publicPath
=
'
https://cdn01.moecube.com/accounts/
'
let
defineConf
=
{
let
defineConf
=
{
apiRoot
:
process
.
env
[
"
BUILD
"
]
==
'
development
'
?
'
http://114.215.243.95:8082
'
:
'
https://api.moeube.com/accounts
'
apiRoot
:
process
.
env
[
"
API_ROOT
"
]
}
}
export
default
{
export
default
{
...
...
.travis.yml
0 → 100644
View file @
1a7177ed
language
:
node_js
node_js
:
node
env
:
global
:
secure
:
NObcZ6fY1VQuoDfxRxKVOZ+p7g3LTDkonG4Ow4HIbx2g8wJ24mMqs9gN0J3Asbdbz68isDMpkKy7IW1mK9+N9fM0pBauqD1YMbglnEv+HhYjhiEsQdRdDM2nzDIjS4PCwavI1Da5TLhaUjSAM4lrHx7bVOK4YsvF3s8JEApS54QgSlbeJgvSbPcCiapl0VwwaL36cGndChc3tawq4xseuk4bP2NrTEd7ifYZMt+iojId+UuhRQk4w0HUlBhEDKiT/fLxeQDwMRv2WIdIPW7D7+Wo01iX+T0Ti629QhQBe/S76affkG6G085HIPin3VvXDQaiYbK4ALbc79O+9jqSxEFd9nwG8xbp2jezzvclUSXPhIyZe7VSRS6z1MdevlyQa56AUEP7My7IMqj8j7NPoUgrnVlKtR8WPHQacfAVkrcOIX+Tzwl2IMOCqonamDtJjUNX5xpYB+IEj+INvQmRqT2NicExGWj9LZp3L3kscwq1u+0hPzgoQ9yovE+OvLFNE/R5AE90GIaSlwXw4MqOeB+8l+ou2JzNZFJhHBvAsOFwQTloFz/pu7ichJ+P0KsMPteLFA4Btuo6bBu31K7R310CmlIdYJIeeybMuM6e6bG8IkbVcMq5skg9LNa64KuDG46oopwGLiWkdRwDzG3VmXGwVm+OF2EWZi/B0wIcTwY=
NODE_ENV
:
development
script
:
npm run build
before_deploy
:
-
curl --location --retry 5 --output ossutil 'https://github.com/mycard/ossutil/releases/download/1.0.0.Beta2/ossutil'
-
chmod +x ossutil
-
./ossutil config --endpoint oss-cn-hangzhou.aliyuncs.com --access-key-id $ALIYUN_ID
--access-key-secret $ALIYUN_SECRET
deploy
:
provider
:
script
script
:
./ossutil cp -rf dist oss://mycard/accounts
skip_cleanup
:
true
on
:
branch
:
master
i18n.json
View file @
1a7177ed
...
@@ -159,7 +159,6 @@
...
@@ -159,7 +159,6 @@
"i_not_found"
:
"用户不存在"
,
"i_not_found"
:
"用户不存在"
,
"i_key_time_out"
:
"此链接已过期"
,
"i_key_time_out"
:
"此链接已过期"
,
"i_key_invalid"
:
"此链接已失效"
,
"i_key_invalid"
:
"此链接已失效"
,
"没毛用"
:
"防逗号报错,上线删"
"没毛用"
:
"防逗号报错,上线删"
}
}
...
...
package.json
View file @
1a7177ed
{
{
"private"
:
true
,
"private"
:
true
,
"scripts"
:
{
"scripts"
:
{
"start"
:
"cross-env
BUILD=development
roadhog server"
,
"start"
:
"cross-env
API_ROOT=http://192.168.1.9:3000
roadhog server"
,
"build:dev"
:
"cross-env
BUILD=development
roadhog build"
,
"build:dev"
:
"cross-env
API_ROOT=http://114.215.243.95:8082
roadhog build"
,
"build"
:
"roadhog build"
,
"build"
:
"
cross-env API_ROOT=https://api.moeube.com/accounts
roadhog build"
,
"lint"
:
"eslint --ext .js src test"
,
"lint"
:
"eslint --ext .js src test"
,
"precommit"
:
"npm run lint"
"precommit"
:
"npm run lint"
},
},
...
...
public/index.html
View file @
1a7177ed
...
@@ -3,7 +3,8 @@
...
@@ -3,7 +3,8 @@
<head>
<head>
<meta
charset=
"UTF-8"
>
<meta
charset=
"UTF-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
>
<link
rel=
"stylesheet"
href=
"index.css"
/>
<link
rel=
"stylesheet"
href=
"index.css"
/>
<link
rel=
"icon"
href=
"https://moecube.com/favicon.ico"
>
</head>
</head>
<body>
<body>
...
...
src/components/EmailForm.js
View file @
1a7177ed
...
@@ -18,7 +18,9 @@ class EmailForm extends React.Component {
...
@@ -18,7 +18,9 @@ class EmailForm extends React.Component {
onSubmit
=
(
e
)
=>
{
onSubmit
=
(
e
)
=>
{
const
{
form
,
dispatch
,
user
:
{
id
}
}
=
this
.
props
;
const
{
form
,
dispatch
,
user
:
{
id
}
}
=
this
.
props
;
e
&&
e
.
preventDefault
();
if
(
e
)
{
e
.
preventDefault
();
}
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
if
(
!
err
)
{
if
(
!
err
)
{
console
.
log
(
'
Received values of form:
'
,
values
);
console
.
log
(
'
Received values of form:
'
,
values
);
...
...
src/components/PasswordForm.js
View file @
1a7177ed
...
@@ -18,6 +18,24 @@ class EmailForm extends React.Component {
...
@@ -18,6 +18,24 @@ class EmailForm extends React.Component {
static
contextTypes
=
{
static
contextTypes
=
{
intl
:
PropTypes
.
object
.
isRequired
,
intl
:
PropTypes
.
object
.
isRequired
,
};
};
onSubmit
=
(
e
)
=>
{
const
{
form
,
dispatch
,
user
:
{
id
}
}
=
this
.
props
;
if
(
e
)
{
e
.
preventDefault
();
}
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
if
(
!
err
)
{
console
.
log
(
'
Received values of form:
'
,
values
);
const
{
new_password
,
password
}
=
values
;
dispatch
({
type
:
'
user/updateAccount
'
,
payload
:
{
new_password
,
password
,
user_id
:
id
}
});
}
});
};
checkPassword
=
(
rule
,
value
,
callback
)
=>
{
checkPassword
=
(
rule
,
value
,
callback
)
=>
{
const
form
=
this
.
props
.
form
;
const
form
=
this
.
props
.
form
;
const
{
intl
:
{
messages
}
}
=
this
.
context
;
const
{
intl
:
{
messages
}
}
=
this
.
context
;
...
@@ -36,20 +54,6 @@ class EmailForm extends React.Component {
...
@@ -36,20 +54,6 @@ class EmailForm extends React.Component {
callback
();
callback
();
};
};
onSubmit
=
(
e
)
=>
{
const
{
form
,
dispatch
,
user
:
{
id
}
}
=
this
.
props
;
e
&&
e
.
preventDefault
();
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
if
(
!
err
)
{
console
.
log
(
'
Received values of form:
'
,
values
);
const
{
new_password
,
password
}
=
values
;
dispatch
({
type
:
'
user/updateAccount
'
,
payload
:
{
new_password
,
password
,
user_id
:
id
}
});
}
});
};
render
()
{
render
()
{
const
{
form
}
=
this
.
props
;
const
{
form
}
=
this
.
props
;
...
@@ -131,7 +135,7 @@ class EmailForm extends React.Component {
...
@@ -131,7 +135,7 @@ class EmailForm extends React.Component {
}
}
function
mapStateToProps
(
state
,
props
)
{
function
mapStateToProps
(
state
)
{
const
{
const
{
user
:
{
user
},
user
:
{
user
},
}
=
state
;
}
=
state
;
...
...
src/components/SendEmail.js
View file @
1a7177ed
...
@@ -18,7 +18,9 @@ class EmailForm extends React.Component {
...
@@ -18,7 +18,9 @@ class EmailForm extends React.Component {
onSubmit
=
(
e
)
=>
{
onSubmit
=
(
e
)
=>
{
const
{
form
,
dispatch
,
user
:
{
id
}
}
=
this
.
props
;
const
{
form
,
dispatch
,
user
:
{
id
}
}
=
this
.
props
;
e
&&
e
.
preventDefault
();
if
(
e
)
{
e
.
preventDefault
();
}
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
if
(
!
err
)
{
if
(
!
err
)
{
console
.
log
(
'
Received values of form:
'
,
values
);
console
.
log
(
'
Received values of form:
'
,
values
);
...
@@ -59,7 +61,8 @@ class EmailForm extends React.Component {
...
@@ -59,7 +61,8 @@ class EmailForm extends React.Component {
{
getFieldDecorator
(
'
email
'
,
{
...
emailProps
.
decorator
})(
{
getFieldDecorator
(
'
email
'
,
{
...
emailProps
.
decorator
})(
<
Input
<
Input
{...
emailProps
.
input
}
{...
emailProps
.
input
}
onBlur
=
{()
=>
dispatch
({
type
:
'
auth/checkEmail
'
,
payload
:
{
...
form
.
getFieldsValue
(),
id
}
})}
/>
,
onBlur
=
{()
=>
dispatch
({
type
:
'
auth/checkEmail
'
,
payload
:
{
...
form
.
getFieldsValue
(),
id
}
})}
/>
,
)}
)}
<
/FormItem
>
<
/FormItem
>
...
...
src/components/UserNameForm.js
View file @
1a7177ed
...
@@ -18,7 +18,9 @@ class EmailForm extends React.Component {
...
@@ -18,7 +18,9 @@ class EmailForm extends React.Component {
onSubmit
=
(
e
)
=>
{
onSubmit
=
(
e
)
=>
{
const
{
form
,
dispatch
,
user
:
{
id
}
}
=
this
.
props
;
const
{
form
,
dispatch
,
user
:
{
id
}
}
=
this
.
props
;
e
&&
e
.
preventDefault
();
if
(
e
)
{
e
.
preventDefault
();
}
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
if
(
!
err
)
{
if
(
!
err
)
{
console
.
log
(
'
Received values of form:
'
,
values
);
console
.
log
(
'
Received values of form:
'
,
values
);
...
...
src/config.js
View file @
1a7177ed
/* global apiRoot */
export
default
{
export
default
{
apiRoot
:
apiRoot
apiRoot
,
};
};
src/index.js
View file @
1a7177ed
...
@@ -11,7 +11,7 @@ import './index.less';
...
@@ -11,7 +11,7 @@ import './index.less';
// 1. Initialize
// 1. Initialize
const
app
=
dva
({
const
app
=
dva
({
onError
:
(
error
,
dispatch
)
=>
{
onError
:
(
error
)
=>
{
message
.
destroy
();
message
.
destroy
();
message
.
error
(
error
.
message
);
message
.
error
(
error
.
message
);
},
},
...
...
src/index.less
View file @
1a7177ed
html, body, :global(#root) {
html, body, :global(#root) {
height: 100%;
height: 100%;
min-height: 100%;
}
}
:global {
:global {
...
@@ -21,4 +21,4 @@ html, body, :global(#root) {
...
@@ -21,4 +21,4 @@ html, body, :global(#root) {
opacity: 0.01;
opacity: 0.01;
transition: opacity 300ms ease-in;
transition: opacity 300ms ease-in;
}
}
}
}
\ No newline at end of file
src/models/auth.js
View file @
1a7177ed
...
@@ -22,8 +22,9 @@ export default {
...
@@ -22,8 +22,9 @@ export default {
},
},
reducers
:
{
reducers
:
{
signOut
(
state
)
{
signOut
(
state
)
{
console
.
log
(
'
sign out
'
);
localStorage
.
removeItem
(
'
token
'
);
localStorage
.
removeItem
(
'
token
'
);
location
=
'
/
'
;
location
.
href
=
'
/
'
;
return
state
;
return
state
;
},
},
change
(
state
,
action
)
{
change
(
state
,
action
)
{
...
...
src/models/user.js
View file @
1a7177ed
...
@@ -144,7 +144,7 @@ export default {
...
@@ -144,7 +144,7 @@ export default {
if
(
data
.
active
)
{
if
(
data
.
active
)
{
yield
put
(
routerRedux
.
replace
(
'
/profiles
'
));
yield
put
(
routerRedux
.
replace
(
'
/profiles
'
));
}
else
{
}
else
{
yield
put
(
routerRedux
.
replace
(
'
/
verify
'
));
yield
put
(
routerRedux
.
replace
(
'
/
signin
'
));
}
}
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
...
@@ -204,11 +204,19 @@ export default {
...
@@ -204,11 +204,19 @@ export default {
const
token
=
localStorage
.
getItem
(
'
token
'
);
const
token
=
localStorage
.
getItem
(
'
token
'
);
if
(
token
)
{
if
(
token
)
{
dispatch
({
type
:
'
getAuthUser
'
,
payload
:
{
token
}
});
dispatch
({
type
:
'
getAuthUser
'
,
payload
:
{
token
}
});
}
else
if
(
location
.
pathname
===
'
/profiles
'
)
{
dispatch
(
routerRedux
.
replace
(
'
/signin
'
));
}
}
history
.
listen
(({
pathname
})
=>
{
history
.
listen
(({
pathname
,
query
})
=>
{
if
(
pathname
===
'
/
'
)
{
if
(
pathname
===
'
/
'
)
{
dispatch
({
type
:
'
preLogin
'
,
payload
:
{
token
}
});
dispatch
({
type
:
'
preLogin
'
,
payload
:
{
token
}
});
}
}
if
(
pathname
===
'
/reset
'
||
pathname
===
'
/activate
'
)
{
if
(
!
query
.
key
)
{
message
.
error
(
'
缺少参数
'
);
}
}
});
});
},
},
},
},
...
...
src/router.js
View file @
1a7177ed
import
{
R
edirect
,
R
oute
,
Router
}
from
'
dva/router
'
;
import
{
Route
,
Router
}
from
'
dva/router
'
;
import
React
from
'
react
'
;
import
React
from
'
react
'
;
import
Active
from
'
./routes/Activate.js
'
;
import
Active
from
'
./routes/Activate.js
'
;
...
...
src/routes/Activate.js
View file @
1a7177ed
...
@@ -14,7 +14,7 @@ class Active extends React.Component {
...
@@ -14,7 +14,7 @@ class Active extends React.Component {
render
()
{
render
()
{
const
{
loading
}
=
this
.
props
;
const
{
loading
}
=
this
.
props
;
return
(
return
(
<
div
style
=
{{
display
:
'
flex
'
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
flex
:
1
}}
>
<
div
style
=
{{
display
:
'
flex
'
,
flex
:
1
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
height
:
'
100%
'
}}
>
<
Button
type
=
"
primary
"
icon
=
"
poweroff
"
loading
=
{
loading
}
onClick
=
{
this
.
handleClick
}
>
<
Button
type
=
"
primary
"
icon
=
"
poweroff
"
loading
=
{
loading
}
onClick
=
{
this
.
handleClick
}
>
<
Format
id
=
{
'
verify-email
'
}
/
>
<
Format
id
=
{
'
verify-email
'
}
/
>
<
/Button
>
<
/Button
>
...
...
src/routes/Forgot.js
View file @
1a7177ed
...
@@ -14,9 +14,11 @@ class Login extends React.Component {
...
@@ -14,9 +14,11 @@ class Login extends React.Component {
};
};
onSubmitLogin
=
(
e
)
=>
{
onSubmitLogin
=
(
e
)
=>
{
const
{
form
,
dispatch
,
params
:
{
id
}
}
=
this
.
props
;
const
{
form
,
dispatch
}
=
this
.
props
;
e
&&
e
.
preventDefault
();
if
(
e
)
{
e
.
preventDefault
();
}
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
if
(
!
err
)
{
if
(
!
err
)
{
console
.
log
(
'
Received values of form:
'
,
values
);
console
.
log
(
'
Received values of form:
'
,
values
);
...
@@ -33,7 +35,7 @@ class Login extends React.Component {
...
@@ -33,7 +35,7 @@ class Login extends React.Component {
const
{
loading
}
=
this
.
props
;
const
{
loading
}
=
this
.
props
;
const
{
intl
:
{
messages
}
}
=
this
.
context
;
const
{
intl
:
{
messages
}
}
=
this
.
context
;
return
(
return
(
<
div
style
=
{{
display
:
'
flex
'
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
height
:
'
100%
'
}}
>
<
div
style
=
{{
display
:
'
flex
'
,
flex
:
1
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
height
:
'
100%
'
}}
>
<
Spin
spinning
=
{
loading
}
delay
=
{
100
}
>
<
Spin
spinning
=
{
loading
}
delay
=
{
100
}
>
<
Form
onSubmit
=
{
this
.
onSubmitLogin
}
className
=
"
login-form
"
>
<
Form
onSubmit
=
{
this
.
onSubmitLogin
}
className
=
"
login-form
"
>
...
@@ -46,7 +48,10 @@ class Login extends React.Component {
...
@@ -46,7 +48,10 @@ class Login extends React.Component {
{
getFieldDecorator
(
'
email
'
,
{
{
getFieldDecorator
(
'
email
'
,
{
rules
:
[{
required
:
true
,
message
:
'
Please input your username or email!
'
}],
rules
:
[{
required
:
true
,
message
:
'
Please input your username or email!
'
}],
})(
})(
<
Input
prefix
=
{
<
Icon
type
=
"
user
"
style
=
{{
fontSize
:
13
}}
/>} placeholder={messages
[
'email-address-or-username'
]
}/
>
,
<
Input
prefix
=
{
<
Icon
type
=
"
user
"
style
=
{{
fontSize
:
13
}}
/>
}
placeholder
=
{
messages
[
'
email-address-or-username
'
]}
/>
,
)}
)}
<
/FormItem
>
<
/FormItem
>
...
...
src/routes/Index.js
View file @
1a7177ed
...
@@ -139,12 +139,12 @@ function Index({ children, messages, dispatch }) {
...
@@ -139,12 +139,12 @@ function Index({ children, messages, dispatch }) {
<
/Menu
>
<
/Menu
>
);
);
return
(
return
(
<
div
style
=
{{
height
:
'
100%
'
}}
>
<
div
style
=
{{
display
:
'
flex
'
,
flexDirection
:
'
column
'
,
flex
:
1
,
minHeight
:
'
100%
'
}}
>
<
DocumentTitle
title
=
{
messages
.
title
||
'
Moe Cube
'
}
/
>
<
DocumentTitle
title
=
{
messages
.
title
||
'
Moe Cube
'
}
/
>
<
Header
style
=
{{
display
:
'
flex
'
,
alignItems
:
'
center
'
}}
>
<
Header
style
=
{{
display
:
'
flex
'
,
alignItems
:
'
center
'
}}
>
<
Link
to
=
"
/
"
style
=
{{
marginTop
:
'
20px
'
}}
>
<
Link
to
=
"
/
"
style
=
{{
marginTop
:
'
20px
'
}}
>
<
img
src
=
{
logo
}
style
=
{{
width
:
'
140px
'
,
height
:
'
44px
'
}}
/
>
<
img
alt
=
"
logo
"
src
=
{
logo
}
style
=
{{
width
:
'
140px
'
,
height
:
'
44px
'
}}
/
>
<
/Link
>
<
/Link
>
<
Menu
<
Menu
...
@@ -167,7 +167,11 @@ function Index({ children, messages, dispatch }) {
...
@@ -167,7 +167,11 @@ function Index({ children, messages, dispatch }) {
style
=
{{
lineHeight
:
'
64px
'
,
position
:
'
absolute
'
,
right
:
'
50px
'
}}
style
=
{{
lineHeight
:
'
64px
'
,
position
:
'
absolute
'
,
right
:
'
50px
'
}}
>
>
{
localStorage
.
getItem
(
'
token
'
)
?
(
<
Menu
.
Item
key
=
"
1
"
>
{
localStorage
.
getItem
(
'
token
'
)
?
(
<
Menu
.
Item
key
=
"
1
"
>
<
div
onClick
=
{()
=>
{
dispatch
({
type
:
'
auth/signOut
'
})
}}
>
<
div
onClick
=
{()
=>
{
dispatch
({
type
:
'
auth/signOut
'
});
}}
>
<
Format
id
=
"
sign-out
"
/>
<
Format
id
=
"
sign-out
"
/>
<
/div
>
<
/div
>
<
/Menu.Item>
)
:
(
''
)
<
/Menu.Item>
)
:
(
''
)
...
@@ -196,7 +200,7 @@ function Index({ children, messages, dispatch }) {
...
@@ -196,7 +200,7 @@ function Index({ children, messages, dispatch }) {
/
>
/
>
{
children
}
{
children
}
<
Footer
style
=
{{
position
:
'
absolute
'
,
width
:
'
100%
'
}}
>
<
Footer
style
=
{{
width
:
'
100%
'
}}
>
<
div
>
©
MoeCube
2017
all
right
reserved
.
<
/div
>
<
div
>
©
MoeCube
2017
all
right
reserved
.
<
/div
>
<
/Footer
>
<
/Footer
>
<
/div
>
<
/div
>
...
...
src/routes/Index.less
View file @
1a7177ed
.particles {
.particles {
position: fixed;
position: fixed;
top: 0;
top: 0;
left: 0;
left: 0;
z-index: 1;
z-index: 1;
width: 100%;
width: 100%;
height: 100%;
height: 100%;
}
}
\ No newline at end of file
src/routes/Login.js
View file @
1a7177ed
...
@@ -35,7 +35,7 @@ class Login extends React.Component {
...
@@ -35,7 +35,7 @@ class Login extends React.Component {
const
{
intl
:
{
messages
}
}
=
this
.
context
;
const
{
intl
:
{
messages
}
}
=
this
.
context
;
return
(
return
(
<
div
style
=
{{
display
:
'
flex
'
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
height
:
'
100%
'
}}
>
<
div
style
=
{{
display
:
'
flex
'
,
flex
:
1
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
height
:
'
100%
'
}}
>
<
Spin
spinning
=
{
loading
}
delay
=
{
100
}
>
<
Spin
spinning
=
{
loading
}
delay
=
{
100
}
>
<
Form
onSubmit
=
{
this
.
onSubmitLogin
}
className
=
"
login-form
"
>
<
Form
onSubmit
=
{
this
.
onSubmitLogin
}
className
=
"
login-form
"
>
...
@@ -43,14 +43,20 @@ class Login extends React.Component {
...
@@ -43,14 +43,20 @@ class Login extends React.Component {
{
getFieldDecorator
(
'
account
'
,
{
{
getFieldDecorator
(
'
account
'
,
{
rules
:
[{
required
:
true
,
message
:
messages
[
'
Please input your account!
'
]
}],
rules
:
[{
required
:
true
,
message
:
messages
[
'
Please input your account!
'
]
}],
})(
})(
<
Input
prefix
=
{
<
Icon
type
=
"
user
"
style
=
{{
fontSize
:
13
}}
/>} placeholder={messages
[
'email-address-or-username'
]
}/
>
,
<
Input
prefix
=
{
<
Icon
type
=
"
user
"
style
=
{{
fontSize
:
13
}}
/>
}
placeholder
=
{
messages
[
'
email-address-or-username
'
]}
/>
,
)}
)}
<
/FormItem
>
<
/FormItem
>
<
FormItem
>
<
FormItem
>
{
getFieldDecorator
(
'
password
'
,
{
{
getFieldDecorator
(
'
password
'
,
{
rules
:
[{
required
:
true
,
message
:
messages
[
'
Please-input-your-Password!
'
]
}],
rules
:
[{
required
:
true
,
message
:
messages
[
'
Please-input-your-Password!
'
]
}],
})(
})(
<
Input
prefix
=
{
<
Icon
type
=
"
lock
"
style
=
{{
fontSize
:
13
}}
/>} type="password" placeholder={messages.password}/
>
,
<
Input
prefix
=
{
<
Icon
type
=
"
lock
"
style
=
{{
fontSize
:
13
}}
/>} type="password
"
placeholder
=
{
messages
.
password
}
/>
,
)}
)}
<
/FormItem
>
<
/FormItem
>
<
FormItem
>
<
FormItem
>
...
...
src/routes/Profiles.js
View file @
1a7177ed
...
@@ -19,11 +19,11 @@ const formItemLayout = {
...
@@ -19,11 +19,11 @@ const formItemLayout = {
wrapperCol
:
{
span
:
15
},
wrapperCol
:
{
span
:
15
},
};
};
function
getBase64
(
img
,
callback
)
{
//
function getBase64(img, callback) {
const
reader
=
new
FileReader
();
//
const reader = new FileReader();
reader
.
addEventListener
(
'
load
'
,
()
=>
callback
(
reader
.
result
));
//
reader.addEventListener('load', () => callback(reader.result));
reader
.
readAsDataURL
(
img
);
//
reader.readAsDataURL(img);
}
//
}
class
Profiles
extends
React
.
Component
{
class
Profiles
extends
React
.
Component
{
...
@@ -31,15 +31,20 @@ class Profiles extends React.Component {
...
@@ -31,15 +31,20 @@ class Profiles extends React.Component {
intl
:
PropTypes
.
object
.
isRequired
,
intl
:
PropTypes
.
object
.
isRequired
,
};
};
handleUpload
=
()
=>
{
onUpdateSubmit
=
(
e
)
=>
{
if
(
typeof
this
.
cropper
.
getCroppedCanvas
()
===
'
undefined
'
)
{
const
{
form
,
dispatch
,
user
:
{
id
}
}
=
this
.
props
;
return
;
if
(
e
)
{
e
.
preventDefault
();
}
}
const
{
user
:
{
id
}
}
=
this
.
props
;
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
if
(
!
err
)
{
console
.
log
(
'
Received values of form:
'
,
values
);
this
.
cropper
.
getCroppedCanvas
().
toBlob
(
blob
=>
{
const
{
username
,
name
,
password
}
=
values
;
console
.
log
(
blob
);
this
.
props
.
dispatch
({
type
:
'
upload/upload
'
,
payload
:
{
image
:
blob
,
user_id
:
id
}
});
dispatch
({
type
:
'
user/updateProfile
'
,
payload
:
{
username
,
name
,
password
,
user_id
:
id
}
});
}
});
});
};
};
...
@@ -57,18 +62,15 @@ class Profiles extends React.Component {
...
@@ -57,18 +62,15 @@ class Profiles extends React.Component {
reader
.
readAsDataURL
(
files
[
0
]);
reader
.
readAsDataURL
(
files
[
0
]);
};
};
onUpdateSubmit
=
(
e
)
=>
{
handleUpload
=
()
=>
{
const
{
form
,
dispatch
,
user
:
{
id
},
}
=
this
.
props
;
if
(
typeof
this
.
cropper
.
getCroppedCanvas
()
===
'
undefined
'
)
{
return
;
e
&&
e
.
preventDefault
();
}
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
const
{
user
:
{
id
}
}
=
this
.
props
;
if
(
!
err
)
{
console
.
log
(
'
Received values of form:
'
,
values
);
const
{
username
,
name
,
password
}
=
values
;
dispatch
({
type
:
'
user/updateProfile
'
,
payload
:
{
username
,
name
,
password
,
user_id
:
id
}
});
this
.
cropper
.
getCroppedCanvas
().
toBlob
((
blob
)
=>
{
}
console
.
log
(
blob
);
this
.
props
.
dispatch
({
type
:
'
upload/upload
'
,
payload
:
{
image
:
blob
,
user_id
:
id
}
});
});
});
};
};
...
@@ -91,7 +93,7 @@ class Profiles extends React.Component {
...
@@ -91,7 +93,7 @@ class Profiles extends React.Component {
},
},
};
};
/* eslint-disable jsx-a11y/label-has-for */
return
(
return
(
<
Spin
spinning
=
{
loading
}
delay
=
{
100
}
>
<
Spin
spinning
=
{
loading
}
delay
=
{
100
}
>
<
Tabs
defaultActiveKey
=
"
1
"
className
=
"
app-detail-nav
"
>
<
Tabs
defaultActiveKey
=
"
1
"
className
=
"
app-detail-nav
"
>
...
@@ -99,37 +101,34 @@ class Profiles extends React.Component {
...
@@ -99,37 +101,34 @@ class Profiles extends React.Component {
<
Form
onSubmit
=
{
this
.
onUpdateSubmit
}
>
<
Form
onSubmit
=
{
this
.
onUpdateSubmit
}
>
<
FormItem
style
=
{{
display
:
'
flex
'
,
justifyContent
:
'
center
'
}}
>
<
FormItem
style
=
{{
display
:
'
flex
'
,
justifyContent
:
'
center
'
}}
>
{
<
div
style
=
{{
display
:
isUpload
?
'
flex
'
:
'
none
'
,
flexDirection
:
'
column
'
}}
>
isUpload
?
<
Cropper
<
div
>
ref
=
{(
cropper
)
=>
{
<
Cropper
this
.
cropper
=
cropper
;
ref
=
{
cropper
=>
{
}}
this
.
cropper
=
cropper
;
src
=
{
imageUrl
||
defaultAvatar
}
}}
style
=
{{
height
:
'
20vw
'
,
width
:
'
20vw
'
}}
src
=
{
imageUrl
||
defaultAvatar
}
aspectRatio
=
{
1
/
1
}
style
=
{{
height
:
'
20vw
'
,
width
:
'
20vw
'
}}
guides
aspectRatio
=
{
1
/
1
}
/>
guides
=
{
true
}
<
Button
type
=
"
primary
"
onClick
=
{
this
.
handleUpload
}
>
/
>
<
Icon
type
=
"
upload
"
/>
upload
<
Button
>
<
/Button
>
<
label
>
<
/div
>
<
Icon
type
=
"
plus
"
/>
add
file
<
input
type
=
"
file
"
onChange
=
{
this
.
onGetFile
}
ref
=
{
file
=>
{
this
.
file
=
file
;
}}
style
=
{{
display
:
'
none
'
}}
/
>
<
/label
>
<
/Button
>
<
Button
type
=
"
primary
"
onClick
=
{
this
.
handleUpload
}
>
<
Icon
type
=
"
upload
"
/>
upload
<
/Button
>
<
/div
>
:
<
img
src
=
{
avatar
||
imageUrl
||
defaultAvatar
}
style
=
{{
height
:
'
256px
'
,
width
:
'
256px
'
}}
onClick
=
{()
=>
dispatch
({
type
:
'
upload/start
'
})}
/
>
}
<
div
style
=
{{
display
:
!
isUpload
?
'
flex
'
:
'
none
'
,
flexDirection
:
'
column
'
}}
>
<
img
alt
=
"
avatar
"
src
=
{
avatar
||
imageUrl
||
defaultAvatar
}
/
>
<
Button
onClick
=
{()
=>
{
dispatch
({
type
:
'
upload/start
'
});
}}
>
<
label
>
<
Icon
type
=
"
plus
"
/>
Change
Avatar
<
input
type
=
"
file
"
onChange
=
{
this
.
onGetFile
}
ref
=
{(
file
)
=>
{
this
.
file
=
file
;
}}
style
=
{{
display
:
'
none
'
}}
/
>
<
/label
>
<
/Button
>
<
/div
>
<
/FormItem
>
<
/FormItem
>
<
FormItem
{...
nameProps
.
fromItem
}
>
<
FormItem
{...
nameProps
.
fromItem
}
>
...
...
src/routes/Register.js
View file @
1a7177ed
import
{
Button
,
Form
,
Icon
,
Input
,
S
elect
,
S
pin
,
Steps
}
from
'
antd
'
;
import
{
Button
,
Form
,
Icon
,
Input
,
Spin
,
Steps
}
from
'
antd
'
;
import
{
connect
}
from
'
dva
'
;
import
{
connect
}
from
'
dva
'
;
import
{
Link
}
from
'
dva/router
'
;
import
{
Link
}
from
'
dva/router
'
;
import
React
,
{
PropTypes
}
from
'
react
'
;
import
React
,
{
PropTypes
}
from
'
react
'
;
import
{
FormattedMessage
as
Format
}
from
'
react-intl
'
;
import
{
FormattedMessage
as
Format
}
from
'
react-intl
'
;
const
FormItem
=
Form
.
Item
;
const
FormItem
=
Form
.
Item
;
const
Option
=
Select
.
Option
;
const
Step
=
Steps
.
Step
;
const
Step
=
Steps
.
Step
;
...
@@ -16,14 +15,16 @@ class Register extends React.Component {
...
@@ -16,14 +15,16 @@ class Register extends React.Component {
};
};
onSubmitLogin
=
(
e
)
=>
{
onSubmitLogin
=
(
e
)
=>
{
const
{
form
,
dispatch
,
params
:
{
id
}
}
=
this
.
props
;
const
{
form
,
dispatch
}
=
this
.
props
;
e
&&
e
.
preventDefault
();
if
(
e
)
{
e
.
preventDefault
();
}
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
if
(
!
err
)
{
if
(
!
err
)
{
console
.
log
(
'
Received values of form:
'
,
values
);
console
.
log
(
'
Received values of form:
'
,
values
);
const
{
email
,
username
,
password
,
}
=
values
;
const
{
email
,
username
,
password
}
=
values
;
dispatch
({
type
:
'
auth/register
'
,
payload
:
{
email
,
username
,
password
}
});
dispatch
({
type
:
'
auth/register
'
,
payload
:
{
email
,
username
,
password
}
});
}
}
...
@@ -49,35 +50,38 @@ class Register extends React.Component {
...
@@ -49,35 +50,38 @@ class Register extends React.Component {
};
};
render
()
{
render
()
{
const
{
dispatch
,
register
,
form
,
checkEmail
,
checkUsername
,
isEmailExists
,
isUserNameExists
,
isRegisterSubmit
,
loading
}
=
this
.
props
;
const
{
const
{
getFieldDecorator
,
}
=
form
;
dispatch
,
form
,
checkEmail
,
checkUsername
,
const
{
email
,
username
,
password
}
=
register
;
isEmailExists
,
isUserNameExists
,
loading
,
}
=
this
.
props
;
const
{
getFieldDecorator
}
=
form
;
const
{
intl
:
{
messages
}
}
=
this
.
context
;
const
{
intl
:
{
messages
}
}
=
this
.
context
;
const
emailProps
=
{
const
emailProps
=
{
hasFeedback
:
true
,
hasFeedback
:
true
,
validateStatus
:
checkEmail
,
validateStatus
:
checkEmail
,
help
:
isEmailExists
?
messages
[
'
i_email_exists
'
]
:
''
,
extra
:
isEmailExists
?
messages
.
i_email_exists
:
''
,
};
};
const
emailInputProps
=
{
const
emailInputProps
=
{
onBlur
:
()
=>
dispatch
({
type
:
'
auth/checkEmail
'
,
payload
:
{
...
form
.
getFieldsValue
()
}
}),
onBlur
:
()
=>
!
form
.
getFieldError
(
'
email
'
)
&&
dispatch
({
type
:
'
auth/checkEmail
'
,
payload
:
{
...
form
.
getFieldsValue
()
}
}),
placeholder
:
messages
.
email
,
placeholder
:
messages
.
email
,
};
};
const
usernameProps
=
{
const
usernameProps
=
{
hasFeedback
:
true
,
hasFeedback
:
true
,
validateStatus
:
checkUsername
,
validateStatus
:
checkUsername
,
help
:
isUserNameExists
?
'
username exists
'
:
''
,
extra
:
isUserNameExists
?
'
username exists
'
:
''
,
};
};
const
usernameInputProps
=
{
const
usernameInputProps
=
{
onBlur
:
()
=>
dispatch
({
type
:
'
auth/checkUsername
'
,
payload
:
{
...
form
.
getFieldsValue
()
}
}),
onBlur
:
()
=>
!
form
.
getFieldError
(
'
username
'
)
&&
dispatch
({
type
:
'
auth/checkUsername
'
,
payload
:
{
...
form
.
getFieldsValue
()
}
}),
placeholder
:
messages
.
username
,
placeholder
:
messages
.
username
,
};
};
return
(
return
(
<
div
style
=
{{
display
:
'
flex
'
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
height
:
'
100%
'
}}
>
<
div
style
=
{{
display
:
'
flex
'
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
height
:
'
100%
'
}}
>
<
Spin
spinning
=
{
loading
}
delay
=
{
100
}
>
<
Spin
spinning
=
{
loading
}
delay
=
{
100
}
>
<
Steps
size
=
"
large
"
current
=
{
0
}
>
<
Steps
size
=
"
large
"
current
=
{
0
}
>
...
@@ -86,7 +90,7 @@ class Register extends React.Component {
...
@@ -86,7 +90,7 @@ class Register extends React.Component {
<
/Steps
>
<
/Steps
>
<
Form
onSubmit
=
{
this
.
onSubmitLogin
}
className
=
"
login-form
"
style
=
{{
marginTop
:
'
24px
'
}}
>
<
Form
onSubmit
=
{
this
.
onSubmitLogin
}
className
=
"
login-form
"
style
=
{{
marginTop
:
'
24px
'
}}
>
<
FormItem
{...
emailProps
}
>
<
FormItem
{...
emailProps
}
>
{
getFieldDecorator
(
'
email
'
,
{
{
getFieldDecorator
(
'
email
'
,
{
rules
:
[{
rules
:
[{
required
:
true
,
required
:
true
,
...
@@ -123,7 +127,8 @@ class Register extends React.Component {
...
@@ -123,7 +127,8 @@ class Register extends React.Component {
<
Input
<
Input
prefix
=
{
<
Icon
type
=
"
lock
"
style
=
{{
fontSize
:
13
}}
/>
}
prefix
=
{
<
Icon
type
=
"
lock
"
style
=
{{
fontSize
:
13
}}
/>
}
type
=
"
password
"
type
=
"
password
"
placeholder
=
{
messages
.
password
}
/>
,
placeholder
=
{
messages
.
password
}
/>
,
)}
)}
<
/FormItem
>
<
/FormItem
>
...
@@ -141,7 +146,8 @@ class Register extends React.Component {
...
@@ -141,7 +146,8 @@ class Register extends React.Component {
prefix
=
{
<
Icon
type
=
"
lock
"
style
=
{{
fontSize
:
13
}}
/>
}
prefix
=
{
<
Icon
type
=
"
lock
"
style
=
{{
fontSize
:
13
}}
/>
}
type
=
"
password
"
type
=
"
password
"
onBlur
=
{
this
.
handleConfirmBlur
}
onBlur
=
{
this
.
handleConfirmBlur
}
placeholder
=
{
messages
[
'
password-again
'
]}
/>
,
placeholder
=
{
messages
[
'
password-again
'
]}
/>
,
)}
)}
<
/FormItem
>
<
/FormItem
>
...
@@ -163,7 +169,10 @@ class Register extends React.Component {
...
@@ -163,7 +169,10 @@ class Register extends React.Component {
function
mapStateToProps
(
state
)
{
function
mapStateToProps
(
state
)
{
const
{
const
{
auth
:
{
register
,
checkEmail
,
checkUsername
,
isEmailExists
,
isUserNameExists
,
isRegisterSubmit
},
auth
:
{
register
,
checkEmail
,
checkUsername
,
isEmailExists
,
isUserNameExists
,
isRegisterSubmit
,
},
}
=
state
;
}
=
state
;
const
loading
=
state
.
loading
.
global
||
false
;
const
loading
=
state
.
loading
.
global
||
false
;
...
...
src/routes/Register.less
View file @
1a7177ed
...
@@ -20,7 +20,6 @@
...
@@ -20,7 +20,6 @@
}
}
}
}
.action {
.action {
margin-top: 24px;
margin-top: 24px;
}
}
\ No newline at end of file
src/routes/Reset.js
View file @
1a7177ed
import
{
Button
,
Form
,
Icon
,
Input
,
S
elect
,
S
pin
}
from
'
antd
'
;
import
{
Button
,
Form
,
Icon
,
Input
,
Spin
}
from
'
antd
'
;
import
{
connect
}
from
'
dva
'
;
import
{
connect
}
from
'
dva
'
;
import
React
,
{
PropTypes
}
from
'
react
'
;
import
React
,
{
PropTypes
}
from
'
react
'
;
import
{
FormattedMessage
as
Format
}
from
'
react-intl
'
;
import
{
FormattedMessage
as
Format
}
from
'
react-intl
'
;
const
FormItem
=
Form
.
Item
;
const
FormItem
=
Form
.
Item
;
const
Option
=
Select
.
Option
;
class
Reset
extends
React
.
Component
{
class
Reset
extends
React
.
Component
{
...
@@ -16,7 +14,9 @@ class Reset extends React.Component {
...
@@ -16,7 +14,9 @@ class Reset extends React.Component {
onSubmitReset
=
(
e
)
=>
{
onSubmitReset
=
(
e
)
=>
{
const
{
form
,
dispatch
,
location
:
{
query
:
{
key
,
user_id
}
}
}
=
this
.
props
;
const
{
form
,
dispatch
,
location
:
{
query
:
{
key
,
user_id
}
}
}
=
this
.
props
;
e
&&
e
.
preventDefault
();
if
(
e
)
{
e
.
preventDefault
();
}
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
if
(
!
err
)
{
if
(
!
err
)
{
console
.
log
(
'
Received values of form:
'
,
values
);
console
.
log
(
'
Received values of form:
'
,
values
);
...
@@ -51,11 +51,11 @@ class Reset extends React.Component {
...
@@ -51,11 +51,11 @@ class Reset extends React.Component {
const
{
intl
:
{
messages
}
}
=
this
.
context
;
const
{
intl
:
{
messages
}
}
=
this
.
context
;
return
(
return
(
<
div
style
=
{{
display
:
'
flex
'
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
height
:
'
100%
'
}}
>
<
div
style
=
{{
display
:
'
flex
'
,
flex
:
1
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
height
:
'
100%
'
}}
>
<
Spin
spinning
=
{
isResetSubmit
}
delay
=
{
100
}
>
<
Spin
spinning
=
{
isResetSubmit
}
delay
=
{
100
}
>
<
Form
onSubmit
=
{
this
.
onSubmitReset
}
className
=
"
login-form
"
>
<
Form
onSubmit
=
{
this
.
onSubmitReset
}
className
=
"
login-form
"
>
<
FormItem
>
<
FormItem
>
<
h1
><
Format
id
=
'
reset-password2
'
/><
/h1
>
<
h1
><
Format
id
=
"
reset-password2
"
/><
/h1
>
<
/FormItem
>
<
/FormItem
>
<
FormItem
>
<
FormItem
>
{
getFieldDecorator
(
'
password
'
,
{
{
getFieldDecorator
(
'
password
'
,
{
...
@@ -63,8 +63,10 @@ class Reset extends React.Component {
...
@@ -63,8 +63,10 @@ class Reset extends React.Component {
},
{
},
{
validator
:
this
.
checkConfirm
,
validator
:
this
.
checkConfirm
,
})(
})(
<
Input
prefix
=
{
<
Icon
type
=
"
lock
"
style
=
{{
fontSize
:
13
}}
/>} type="password
"
<
Input
placeholder
=
{
messages
.
password
}
/>
,
prefix
=
{
<
Icon
type
=
"
lock
"
style
=
{{
fontSize
:
13
}}
/>} type="password
"
placeholder
=
{
messages
.
password
}
/>
,
)}
)}
<
/FormItem
>
<
/FormItem
>
...
@@ -81,7 +83,7 @@ class Reset extends React.Component {
...
@@ -81,7 +83,7 @@ class Reset extends React.Component {
<
/FormItem
>
<
/FormItem
>
<
Button
type
=
"
primary
"
htmlType
=
"
submit
"
className
=
"
login-form-button
"
>
<
Button
type
=
"
primary
"
htmlType
=
"
submit
"
className
=
"
login-form-button
"
>
<
Format
id
=
'
reset-password2
'
/>
<
Format
id
=
"
reset-password2
"
/>
<
/Button
>
<
/Button
>
<
/Form
>
<
/Form
>
<
/Spin
>
<
/Spin
>
...
@@ -90,7 +92,7 @@ class Reset extends React.Component {
...
@@ -90,7 +92,7 @@ class Reset extends React.Component {
}
}
}
}
function
mapStateToProps
(
state
,
props
)
{
function
mapStateToProps
(
state
)
{
const
{
const
{
auth
:
{
isResetSubmit
},
auth
:
{
isResetSubmit
},
}
=
state
;
}
=
state
;
...
...
src/routes/Verify.js
View file @
1a7177ed
...
@@ -4,6 +4,7 @@ import { routerRedux } from 'dva/router';
...
@@ -4,6 +4,7 @@ import { routerRedux } from 'dva/router';
import
React
,
{
PropTypes
}
from
'
react
'
;
import
React
,
{
PropTypes
}
from
'
react
'
;
import
{
FormattedMessage
as
Format
}
from
'
react-intl
'
;
import
{
FormattedMessage
as
Format
}
from
'
react-intl
'
;
import
SubmitButton
from
'
../components/SubmitButton
'
;
import
SubmitButton
from
'
../components/SubmitButton
'
;
const
FormItem
=
Form
.
Item
;
const
FormItem
=
Form
.
Item
;
const
Step
=
Steps
.
Step
;
const
Step
=
Steps
.
Step
;
...
@@ -20,7 +21,9 @@ class Verify extends React.Component {
...
@@ -20,7 +21,9 @@ class Verify extends React.Component {
onSubmit
=
(
e
)
=>
{
onSubmit
=
(
e
)
=>
{
const
{
form
,
dispatch
,
input
:
{
password
},
user
:
{
id
}
}
=
this
.
props
;
const
{
form
,
dispatch
,
input
:
{
password
},
user
:
{
id
}
}
=
this
.
props
;
e
&&
e
.
preventDefault
();
if
(
e
)
{
e
.
preventDefault
();
}
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
form
.
validateFieldsAndScroll
((
err
,
values
)
=>
{
if
(
!
err
)
{
if
(
!
err
)
{
console
.
log
(
'
Received values of form:
'
,
values
);
console
.
log
(
'
Received values of form:
'
,
values
);
...
@@ -35,12 +38,14 @@ class Verify extends React.Component {
...
@@ -35,12 +38,14 @@ class Verify extends React.Component {
onReSend
=
(
e
)
=>
{
onReSend
=
(
e
)
=>
{
const
{
dispatch
,
input
:
{
password
},
user
:
{
id
,
email
}
}
=
this
.
props
;
const
{
dispatch
,
input
:
{
password
},
user
:
{
id
,
email
}
}
=
this
.
props
;
e
&&
e
.
preventDefault
();
if
(
e
)
{
e
.
preventDefault
();
}
dispatch
({
type
:
'
user/updateEmail
'
,
payload
:
{
email
,
password
,
user_id
:
id
}
});
dispatch
({
type
:
'
user/updateEmail
'
,
payload
:
{
email
,
password
,
user_id
:
id
}
});
};
};
render
(
select
)
{
render
()
{
const
{
form
,
dispatch
,
user
,
checkEmail
,
isEmailExists
,
loading
,
input
}
=
this
.
props
;
const
{
form
,
dispatch
,
user
,
checkEmail
,
isEmailExists
,
loading
,
input
}
=
this
.
props
;
const
{
getFieldDecorator
}
=
form
;
const
{
getFieldDecorator
}
=
form
;
const
{
id
,
email
}
=
user
;
const
{
id
,
email
}
=
user
;
...
@@ -64,7 +69,8 @@ class Verify extends React.Component {
...
@@ -64,7 +69,8 @@ class Verify extends React.Component {
return
(
return
(
<
div
<
div
style
=
{{
display
:
'
flex
'
,
flexDirection
:
'
column
'
,
alignItems
:
'
center
'
,
justifyContent
:
'
center
'
,
flex
:
1
}}
>
style
=
{{
display
:
'
flex
'
,
flex
:
1
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
height
:
'
100%
'
}}
>
<
Spin
spinning
=
{
loading
}
delay
=
{
100
}
>
<
Spin
spinning
=
{
loading
}
delay
=
{
100
}
>
<
Steps
size
=
"
large
"
current
=
{
1
}
>
<
Steps
size
=
"
large
"
current
=
{
1
}
>
...
@@ -72,7 +78,7 @@ class Verify extends React.Component {
...
@@ -72,7 +78,7 @@ class Verify extends React.Component {
<
Step
title
=
{
messages
[
'
verify-email
'
]}
icon
=
{
<
Icon
type
=
"
mail
"
/>
}
/
>
<
Step
title
=
{
messages
[
'
verify-email
'
]}
icon
=
{
<
Icon
type
=
"
mail
"
/>
}
/
>
<
/Steps
>
<
/Steps
>
{
id
&&
input
[
'
password
'
]
?
{
id
&&
input
.
password
?
<
Alert
<
Alert
style
=
{{
marginTop
:
'
24px
'
}}
style
=
{{
marginTop
:
'
24px
'
}}
message
=
{
message
=
{
...
@@ -93,8 +99,9 @@ class Verify extends React.Component {
...
@@ -93,8 +99,9 @@ class Verify extends React.Component {
message
=
{
message
=
{
<
div
>
<
div
>
<
span
style
=
{{
marginRight
:
'
10px
'
}}
><
Format
id
=
{
'
Please-sign-in
'
}
/></
span
>
<
span
style
=
{{
marginRight
:
'
10px
'
}}
><
Format
id
=
{
'
Please-sign-in
'
}
/></
span
>
<
Tag
color
=
"
blue
"
onClick
=
{
()
=>
dispatch
(
routerRedux
.
replace
(
'
/signin
'
))}
><
Format
<
Tag
color
=
"
blue
"
onClick
=
{()
=>
dispatch
(
routerRedux
.
replace
(
'
/signin
'
))}
><
Format
id
=
{
'
sign-in
'
}
/></
Tag
>
id
=
{
'
sign-in
'
}
/></
Tag
>
<
/div
>
<
/div
>
}
}
type
=
"
warning
"
type
=
"
warning
"
...
@@ -109,7 +116,8 @@ class Verify extends React.Component {
...
@@ -109,7 +116,8 @@ class Verify extends React.Component {
{
getFieldDecorator
(
'
email
'
,
{
...
emailProps
.
decorator
})(
{
getFieldDecorator
(
'
email
'
,
{
...
emailProps
.
decorator
})(
<
Input
<
Input
{...
emailProps
.
input
}
{...
emailProps
.
input
}
onBlur
=
{()
=>
dispatch
({
type
:
'
auth/checkEmail
'
,
payload
:
{
...
form
.
getFieldsValue
(),
id
}
})}
/>
,
onBlur
=
{()
=>
dispatch
({
type
:
'
auth/checkEmail
'
,
payload
:
{
...
form
.
getFieldsValue
(),
id
}
})}
/>
,
)}
)}
<
/FormItem
>
<
/FormItem
>
...
@@ -125,7 +133,7 @@ class Verify extends React.Component {
...
@@ -125,7 +133,7 @@ class Verify extends React.Component {
}
}
}
}
function
mapStateToProps
(
state
,
props
)
{
function
mapStateToProps
(
state
)
{
const
{
const
{
user
:
{
user
},
user
:
{
user
},
auth
:
{
input
,
isEmailExists
,
checkEmail
},
auth
:
{
input
,
isEmailExists
,
checkEmail
},
...
...
src/services/auth.js
View file @
1a7177ed
import
request
from
'
../utils/request
'
;
import
request
from
'
../utils/request
'
;
export
async
function
login
(
params
)
{
export
async
function
login
(
params
)
{
return
request
(
`/signin`
,
{
return
request
(
'
/signin
'
,
{
method
:
'
POST
'
,
method
:
'
POST
'
,
body
:
JSON
.
stringify
(
params
),
body
:
JSON
.
stringify
(
params
),
});
});
}
}
export
async
function
forgot
(
params
)
{
export
async
function
forgot
(
params
)
{
return
request
(
`/forgot`
,
{
return
request
(
'
/forgot
'
,
{
method
:
'
POST
'
,
method
:
'
POST
'
,
body
:
JSON
.
stringify
(
params
),
body
:
JSON
.
stringify
(
params
),
});
});
}
}
export
async
function
register
(
params
)
{
export
async
function
register
(
params
)
{
return
request
(
`/signup`
,
{
return
request
(
'
/signup
'
,
{
method
:
'
POST
'
,
method
:
'
POST
'
,
body
:
JSON
.
stringify
(
params
),
body
:
JSON
.
stringify
(
params
),
});
});
}
}
export
async
function
reset
(
params
)
{
export
async
function
reset
(
params
)
{
return
request
(
`/reset`
,
{
return
request
(
'
/reset
'
,
{
method
:
'
PATCH
'
,
method
:
'
PATCH
'
,
body
:
JSON
.
stringify
(
params
),
body
:
JSON
.
stringify
(
params
),
});
});
}
}
export
async
function
activate
(
params
)
{
export
async
function
activate
(
params
)
{
return
request
(
`/activate`
,
{
return
request
(
'
/activate
'
,
{
method
:
'
POST
'
,
method
:
'
POST
'
,
body
:
JSON
.
stringify
(
params
),
body
:
JSON
.
stringify
(
params
),
});
});
...
@@ -50,7 +50,7 @@ export async function getUserByUsername(params) {
...
@@ -50,7 +50,7 @@ export async function getUserByUsername(params) {
}
}
export
async
function
checkUserExists
(
params
)
{
export
async
function
checkUserExists
(
params
)
{
return
request
(
`/user/exists`
,
{
return
request
(
'
/user/exists
'
,
{
method
:
'
POST
'
,
method
:
'
POST
'
,
body
:
JSON
.
stringify
(
params
),
body
:
JSON
.
stringify
(
params
),
});
});
...
@@ -58,7 +58,7 @@ export async function checkUserExists(params) {
...
@@ -58,7 +58,7 @@ export async function checkUserExists(params) {
export
async
function
getAuthUser
(
params
)
{
export
async
function
getAuthUser
(
params
)
{
return
request
(
`/authUser`
,
{
return
request
(
'
/authUser
'
,
{
method
:
'
GET
'
,
method
:
'
GET
'
,
headers
:
{
headers
:
{
Authorization
:
`Bearer
${
params
.
token
}
`
,
Authorization
:
`Bearer
${
params
.
token
}
`
,
...
...
src/services/upload.js
View file @
1a7177ed
import
request
from
'
../utils/request
'
;
import
request
from
'
../utils/request
'
;
export
async
function
uploadImage
(
params
)
{
export
async
function
uploadImage
(
params
)
{
console
.
log
(
params
);
console
.
log
(
params
);
le
t
data
=
new
FormData
();
cons
t
data
=
new
FormData
();
data
.
append
(
'
file
'
,
params
[
'
image
'
]
);
data
.
append
(
'
file
'
,
params
.
image
);
return
request
(
'
/upload/image
'
,
{
return
request
(
'
/upload/image
'
,
{
method
:
'
POST
'
,
method
:
'
POST
'
,
...
...
src/utils/request.js
View file @
1a7177ed
...
@@ -10,11 +10,11 @@ async function checkStatus(response) {
...
@@ -10,11 +10,11 @@ async function checkStatus(response) {
return
response
;
return
response
;
}
}
let
message
let
message
;
try
{
try
{
message
=
(
await
response
.
json
())
[
"
message
"
]
message
=
(
await
response
.
json
())
.
message
;
}
catch
(
error
)
{
}
catch
(
error
)
{
message
=
response
.
statusText
message
=
response
.
statusText
;
}
}
const
error
=
new
Error
(
message
);
const
error
=
new
Error
(
message
);
...
@@ -29,17 +29,19 @@ async function checkStatus(response) {
...
@@ -29,17 +29,19 @@ async function checkStatus(response) {
* @param {object} [options] The options we want to pass to "fetch"
* @param {object} [options] The options we want to pass to "fetch"
* @return {object} An object containing either "data" or "err"
* @return {object} An object containing either "data" or "err"
*/
*/
export
default
function
request
(
url
,
options
)
{
export
default
function
request
(
relativeUrl
,
options
)
{
url
=
`
${
config
.
apiRoot
}${
url
}
`
const
url
=
`
${
config
.
apiRoot
}${
relativeUrl
}
`
;
if
(
options
&&
!
options
.
headers
)
{
if
(
options
&&
!
options
.
headers
)
{
options
.
headers
=
{
Object
.
assign
(
options
,
{
"
content-type
"
:
"
application/json
"
headers
:
{
}
'
content-type
'
:
'
application/json
'
,
},
});
}
}
console
.
log
(
options
)
console
.
log
(
options
)
;
return
fetch
(
url
,
options
)
return
fetch
(
url
,
options
)
.
then
(
checkStatus
)
.
then
(
checkStatus
)
.
then
(
parseJSON
)
.
then
(
parseJSON
)
.
then
(
data
=>
({
data
}))
.
then
(
data
=>
({
data
}))
;
// .catch(err => ({ err }));
// .catch(err => ({ err }));
}
}
;
src/utils/sso.js
View file @
1a7177ed
import
crypto
from
'
crypto
'
import
crypto
from
'
crypto
'
;
import
"
url-api-polyfill
"
;
import
'
url-api-polyfill
'
;
const
url
=
new
URL
(
window
.
location
)
let
sso
;
const
ssoString
=
new
URL
(
window
.
location
).
searchParams
.
get
(
'
sso
'
);
let
sso
let
ssoString
=
url
.
searchParams
.
get
(
'
sso
'
)
if
(
ssoString
)
{
if
(
ssoString
)
{
sso
=
new
URLSearchParams
(
Buffer
.
from
(
ssoString
,
'
base64
'
).
toString
())
sso
=
new
URLSearchParams
(
Buffer
.
from
(
ssoString
,
'
base64
'
).
toString
())
;
}
}
export
const
handleSSO
=
(
user
)
=>
{
export
const
handleSSO
=
(
user
)
=>
{
if
(
sso
)
{
if
(
sso
)
{
let
params
=
new
URLSearchParams
()
const
params
=
new
URLSearchParams
();
let
url
=
new
URL
(
sso
.
get
(
"
return_sso_url
"
));
const
url
=
new
URL
(
sso
.
get
(
'
return_sso_url
'
));
for
(
le
t
[
key
,
value
]
of
Object
.
entries
(
user
))
{
for
(
cons
t
[
key
,
value
]
of
Object
.
entries
(
user
))
{
params
.
set
(
key
,
value
)
params
.
set
(
key
,
value
);
}
}
params
.
set
(
"
return_sso_url
"
,
sso
.
get
(
"
return_sso_url
"
))
params
.
set
(
'
return_sso_url
'
,
sso
.
get
(
'
return_sso_url
'
));
params
.
set
(
"
nonce
"
,
sso
.
get
(
"
nonce
"
))
params
.
set
(
'
nonce
'
,
sso
.
get
(
'
nonce
'
));
params
.
set
(
"
external_id
"
,
user
.
id
)
params
.
set
(
'
external_id
'
,
user
.
id
);
let
payload
=
Buffer
.
from
(
params
.
toString
()).
toString
(
'
base64
'
)
const
payload
=
Buffer
.
from
(
params
.
toString
()).
toString
(
'
base64
'
);
url
.
searchParams
.
set
(
"
sso
"
,
payload
)
url
.
searchParams
.
set
(
'
sso
'
,
payload
);
url
.
searchParams
.
set
(
'
sig
'
,
crypto
.
createHmac
(
'
sha256
'
,
'
zsZv6LXHDwwtUAGa
'
).
update
(
payload
).
digest
(
'
hex
'
))
url
.
searchParams
.
set
(
'
sig
'
,
crypto
.
createHmac
(
'
sha256
'
,
'
zsZv6LXHDwwtUAGa
'
).
update
(
payload
).
digest
(
'
hex
'
))
;
window
.
location
.
href
=
url
window
.
location
.
href
=
url
;
return
true
return
true
;
}
else
{
}
else
{
return
false
return
false
;
}
}
}
};
\ No newline at end of file
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