Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
NJ_usercenter
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
template admin
NJ_usercenter
Commits
1c352eae
Commit
1c352eae
authored
May 22, 2022
by
liujiangnan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 数据渲染
parent
c65d5f1d
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
10666 additions
and
11717 deletions
+10666
-11717
NJ_usercenter.fire
assets/NJ_usercenter/scene/NJ_usercenter.fire
+10405
-11717
NJ_usercenter.ts
assets/NJ_usercenter/scene/NJ_usercenter.ts
+5
-0
clickEvent.ts
assets/NJ_usercenter/script/clickEvent.ts
+247
-0
clickEvent.ts.meta
assets/NJ_usercenter/script/clickEvent.ts.meta
+9
-0
No files found.
assets/NJ_usercenter/scene/NJ_usercenter.fire
View file @
1c352eae
This diff is collapsed.
Click to expand it.
assets/NJ_usercenter/scene/NJ_usercenter.ts
View file @
1c352eae
...
...
@@ -47,6 +47,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
this
.
token
=
cc
.
sys
.
localStorage
.
getItem
(
"
token
"
);
}
getFomartDate
()
{
const
date
=
new
Date
();
date
.
setDate
(
date
.
getDate
()
-
date
.
getDay
()
+
1
);
...
...
@@ -60,13 +61,17 @@ export default class SceneComponent extends MyCocosSceneComponent {
async
initUserInfo
()
{
const
res
:
any
=
await
asyncCallNetworkApiGet
(
"
/api/oxford/v1/kid/info
"
,
{
token
:
this
.
token
});
const
userInfo
=
JSON
.
parse
(
res
).
data
;
cc
.
sys
.
localStorage
.
setItem
(
'
userInfo
'
,
JSON
.
stringify
(
userInfo
));
this
.
userInfo
=
userInfo
;
const
avatarIndex
=
userInfo
.
avatar_url
?
parseInt
(
userInfo
.
avatar_url
)
-
1
:
0
;
const
usercenter
=
cc
.
find
(
"
Canvas/usercenter/view/content/scollpage/user_center
"
);
// 头像
cc
.
find
(
"
avatar
"
,
usercenter
).
getComponent
(
cc
.
Sprite
).
spriteFrame
=
this
.
picture
[
avatarIndex
];
cc
.
find
(
"
Canvas/reportdetail/view/content/userdetail_scollpage/learnshow/avatarbg/avatar
"
).
getComponent
(
cc
.
Sprite
).
spriteFrame
=
this
.
picture
[
avatarIndex
];
// 昵称
cc
.
find
(
"
nickname
"
,
usercenter
).
getComponent
(
cc
.
Label
).
string
=
userInfo
.
nick_name
||
""
;
cc
.
find
(
"
Canvas/learnreport/nick_name
"
).
getComponent
(
cc
.
Label
).
string
=
userInfo
.
nick_name
||
""
;
cc
.
find
(
"
Canvas/reportdetail/view/content/userdetail_scollpage/learnshow/avatarbg/namebg/nickname
"
).
getComponent
(
cc
.
Label
).
string
=
userInfo
.
nick_name
||
""
;
// 日历牌
cc
.
find
(
"
learndate
"
,
usercenter
).
getComponent
(
cc
.
Label
).
string
=
this
.
getFomartDate
();
// 当前学习进度
...
...
assets/NJ_usercenter/script/clickEvent.ts
0 → 100644
View file @
1c352eae
import
{
asyncDelay
,
asyncCallNetworkApiGet
,
getSpriteFrimeByUrl
}
from
"
./util
"
;
const
{
ccclass
,
property
}
=
cc
.
_decorator
;
const
levels
=
{
pdtd
:
[],
qwqd
:
[],
ydjyz
:
[],
};
@
ccclass
export
default
class
NewClass
extends
cc
.
Component
{
start
()
{
}
async
loadSyllabusTree
()
{
const
res
:
any
=
await
asyncCallNetworkApiGet
(
"
/api/syllabus/v1/list
"
,
{
orgid
:
507
});
const
rows
=
JSON
.
parse
(
res
).
rows
;
for
(
let
i
=
0
;
i
<
rows
.
length
;
i
++
)
{
const
row
=
rows
[
i
];
if
(
row
.
name
===
"
拼读天地
"
)
{
levels
.
pdtd
=
await
this
.
loadData
(
row
.
id
);
}
if
(
row
.
name
===
"
趣问趣答
"
)
{
levels
.
qwqd
=
await
this
.
loadData
(
row
.
id
);
}
if
(
row
.
name
===
"
阅读加油站
"
)
{
levels
.
ydjyz
=
await
this
.
loadData
(
row
.
id
);
}
}
}
async
loadData
(
pid
)
{
const
res
:
any
=
await
asyncCallNetworkApiGet
(
"
/api/syllabus/v1/list
"
,
{
pid
});
const
rows
=
JSON
.
parse
(
res
).
rows
;
return
rows
;
}
reportType
=
"
pdtd
"
;
reportObj
=
{
"
pdtd
"
:
"
拼读天地
"
,
"
qwqd
"
:
"
趣问趣答
"
,
"
ydjyz
"
:
"
阅读加油站
"
,
};
userInfo
=
null
;
// 查看拼读天地详情
async
onClickView
(
evt
,
type
)
{
const
userInfo
=
cc
.
sys
.
localStorage
.
getItem
(
"
userInfo
"
);
if
(
!
userInfo
)
{
// TODO 弹出提示“用户未登录”并跳转到登录页
return
;
}
this
.
userInfo
=
JSON
.
parse
(
userInfo
);
this
.
reportType
=
type
;
// TODO 需要一个遮罩
cc
.
find
(
"
Canvas/learnreport
"
).
active
=
true
;
cc
.
find
(
"
Canvas/usercenter
"
).
active
=
false
;
cc
.
find
(
"
Canvas/learnreport/avatar
"
).
getComponent
(
cc
.
Sprite
).
spriteFrame
=
cc
.
find
(
`Canvas/avatars/
${
this
.
userInfo
.
avatar_url
||
1
}
`
).
getComponent
(
cc
.
Sprite
).
spriteFrame
;
await
this
.
loadSyllabusTree
();
await
this
.
drawPage
();
// TODO 隐藏遮罩
}
async
drawPage
()
{
const
node
=
cc
.
find
(
"
Canvas/learnreport
"
);
cc
.
find
(
"
typeLabel
"
,
node
).
getComponent
(
cc
.
Label
).
string
=
this
.
reportObj
[
this
.
reportType
];
// 激活索引为0的Level
await
this
.
drawPageItems
(
0
);
}
clearnContent
()
{
const
node
=
cc
.
find
(
"
Canvas/learnreport
"
);
const
contentNode
=
cc
.
find
(
"
cardArea/pages/view/content
"
,
node
);
const
item
=
cc
.
find
(
"
Canvas/learnreport/cardArea/pages/view/content/item
"
);
// 清理原来的数据
item
.
parent
=
node
;
contentNode
.
removeAllChildren
();
item
.
parent
=
contentNode
;
}
async
drawPageItems
(
index
)
{
const
node
=
cc
.
find
(
"
Canvas/learnreport
"
);
this
.
activeLevelIndex
(
index
);
let
rows
=
[];
if
(
levels
[
this
.
reportType
][
index
])
{
rows
=
await
this
.
loadData
(
levels
[
this
.
reportType
][
index
].
id
);
}
const
unLocks
=
this
.
getUnlockSyllabuses
();
const
contentNode
=
cc
.
find
(
"
cardArea/pages/view/content
"
,
node
);
const
item
=
cc
.
find
(
"
Canvas/learnreport/cardArea/pages/view/content/item
"
);
// 清理原来的数据
item
.
parent
=
node
;
contentNode
.
removeAllChildren
();
item
.
parent
=
contentNode
;
// 绘制
rows
.
forEach
((
row
,
i
)
=>
{
const
itemClone
=
cc
.
instantiate
(
item
);
itemClone
.
parent
=
contentNode
;
itemClone
.
active
=
true
;
itemClone
.
attr
({
folder_id
:
row
.
id
,
locked
:
true
,
kidid
:
this
.
userInfo
.
id
});
cc
.
find
(
`number`
,
itemClone
).
getComponent
(
cc
.
Label
).
string
=
(
i
+
1
)
+
""
;
if
(
unLocks
.
includes
(
row
.
id
)
||
(
index
==
0
&&
i
==
0
))
{
itemClone
.
attr
({
folder_id
:
row
.
id
,
locked
:
false
});
cc
.
find
(
`lock`
,
itemClone
).
active
=
false
;
cc
.
find
(
`unlock`
,
itemClone
).
active
=
true
;
cc
.
find
(
`unlock/text`
,
itemClone
).
getComponent
(
cc
.
Label
).
string
=
row
.
name
;
getSpriteFrimeByUrl
(
row
.
cover
,
(
spriteFrame
)
=>
{
cc
.
find
(
`unlock/cover`
,
itemClone
).
getComponent
(
cc
.
Sprite
).
spriteFrame
=
spriteFrame
;
});
}
});
}
getUnlockSyllabuses
()
{
if
(
this
.
userInfo
){
return
this
.
userInfo
.
unlock_syllabuses
?
this
.
userInfo
.
unlock_syllabuses
.
split
(
"
,
"
):[];
}
return
[];
}
// 激活索引为index的Level
activeLevelIndex
(
index
)
{
const
node
=
cc
.
find
(
"
Canvas/learnreport
"
);
for
(
let
i
=
0
;
i
<
5
;
i
++
)
{
cc
.
find
(
`level
${
i
+
1
}
/level_active`
,
node
).
active
=
false
;
}
cc
.
find
(
`level
${
index
+
1
}
/level_active`
,
node
).
active
=
true
;
}
async
onChangeLevel
(
evt
:
cc
.
Event
,
index
)
{
this
.
activeLevelIndex
(
parseInt
(
index
));
await
this
.
drawPageItems
(
parseInt
(
index
));
}
async
onShowLearnDetail
(
evt
:
cc
.
Event
)
{
const
node
=
evt
.
currentTarget
;
if
(
node
.
locked
)
{
// TODO 弹出提示框“未解锁”
return
;
}
cc
.
find
(
"
Canvas/learnreport
"
).
active
=
false
;
cc
.
find
(
"
Canvas/reportdetail
"
).
active
=
true
;
const
token
=
cc
.
sys
.
localStorage
.
getItem
(
"
token
"
);
const
res
:
any
=
await
asyncCallNetworkApiGet
(
"
/api/oxford/v1/kid/learn/forder/report
"
,
{
kidid
:
node
.
kidid
,
folderid
:
node
.
folder_id
,
token
});
const
{
learntimes
,
recordcount
,
kn_letters
,
kn_words
,
kn_sentences
}
=
JSON
.
parse
(
res
).
data
;
cc
.
find
(
"
Canvas/reportdetail/view/content/userdetail_scollpage/learnshow/itembg/recordbg/recordcount
"
).
getComponent
(
cc
.
Label
).
string
=
learntimes
;
cc
.
find
(
"
Canvas/reportdetail/view/content/userdetail_scollpage/learnshow/itembg/learnbg/learntime
"
).
getComponent
(
cc
.
Label
).
string
=
recordcount
;
const
resultNode
=
cc
.
find
(
"
Canvas/reportdetail/view/content/userdetail_scollpage/learnresult/itembg
"
);
if
(
kn_letters
)
{
cc
.
find
(
"
letter_title
"
,
resultNode
).
active
=
true
;
cc
.
find
(
"
letter_row
"
,
resultNode
).
active
=
true
;
cc
.
find
(
"
split_line
"
,
resultNode
).
active
=
true
;
const
letterRow
=
cc
.
find
(
"
letter_row
"
,
resultNode
);
const
letterNode
=
cc
.
find
(
"
item
"
,
letterRow
);
const
letters
=
JSON
.
parse
(
kn_letters
);
for
(
let
i
=
0
;
i
<
letters
.
length
;
i
++
)
{
const
letter
=
letters
[
i
];
const
itemClone
=
cc
.
instantiate
(
letterNode
);
itemClone
.
parent
=
letterRow
;
itemClone
.
active
=
true
;
getSpriteFrimeByUrl
(
letter
.
pic_url
,
(
spriteFrame
)
=>
{
itemClone
.
getComponent
(
cc
.
Sprite
).
spriteFrame
=
spriteFrame
;
});
}
}
else
{
cc
.
find
(
"
letter_title
"
,
resultNode
).
active
=
false
;
cc
.
find
(
"
letter_row
"
,
resultNode
).
active
=
false
;
cc
.
find
(
"
split_line
"
,
resultNode
).
active
=
false
;
}
if
(
kn_words
)
{
cc
.
find
(
"
word_title
"
,
resultNode
).
active
=
true
;
cc
.
find
(
"
word_row
"
,
resultNode
).
active
=
true
;
cc
.
find
(
"
split_line
"
,
resultNode
).
active
=
true
;
const
wordRow
=
cc
.
find
(
"
word_row
"
,
resultNode
);
const
wordNode
=
cc
.
find
(
"
item
"
,
wordRow
);
const
words
=
JSON
.
parse
(
kn_words
);
for
(
let
i
=
0
;
i
<
words
.
length
;
i
++
)
{
const
word
=
words
[
i
];
const
itemClone
=
cc
.
instantiate
(
wordNode
);
itemClone
.
parent
=
wordRow
;
itemClone
.
active
=
true
;
cc
.
find
(
"
word
"
,
itemClone
).
getComponent
(
cc
.
Label
).
string
=
word
.
text
;
getSpriteFrimeByUrl
(
word
.
pic_url
,
(
spriteFrame
)
=>
{
cc
.
find
(
"
pic
"
,
itemClone
).
getComponent
(
cc
.
Sprite
).
spriteFrame
=
spriteFrame
;
});
}
}
else
{
cc
.
find
(
"
word_title
"
,
resultNode
).
active
=
false
;
cc
.
find
(
"
word_row
"
,
resultNode
).
active
=
false
;
cc
.
find
(
"
split_line
"
,
resultNode
).
active
=
false
;
}
if
(
kn_sentences
)
{
cc
.
find
(
"
sentence_title
"
,
resultNode
).
active
=
true
;
cc
.
find
(
"
sentence_row
"
,
resultNode
).
active
=
true
;
cc
.
find
(
"
split_line
"
,
resultNode
).
active
=
true
;
const
sentenceRow
=
cc
.
find
(
"
sentence_row
"
,
resultNode
);
const
sentenceNode
=
cc
.
find
(
"
item
"
,
sentenceRow
);
const
sentences
=
JSON
.
parse
(
kn_sentences
);
for
(
let
i
=
0
;
i
<
sentences
.
length
;
i
++
)
{
const
sentence
=
sentences
[
i
];
const
itemClone
=
cc
.
instantiate
(
sentenceNode
);
itemClone
.
parent
=
sentenceRow
;
itemClone
.
active
=
true
;
cc
.
find
(
"
sentence
"
,
itemClone
).
getComponent
(
cc
.
Label
).
string
=
sentence
.
text
;
}
}
else
{
cc
.
find
(
"
sentence_title
"
,
resultNode
).
active
=
false
;
cc
.
find
(
"
sentence_row
"
,
resultNode
).
active
=
false
;
cc
.
find
(
"
split_line
"
,
resultNode
).
active
=
false
;
}
}
// 返回用户中心
async
onClickBackToUserCenter
()
{
this
.
reportType
=
null
;
this
.
clearnContent
();
cc
.
find
(
"
Canvas/usercenter
"
).
active
=
true
;
cc
.
find
(
"
Canvas/learnreport
"
).
active
=
false
;
}
}
assets/NJ_usercenter/script/clickEvent.ts.meta
0 → 100644
View file @
1c352eae
{
"ver": "1.0.8",
"uuid": "302a6c1e-d31b-4cf3-bb29-519671176951",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ 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