Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
middleLayer_for_NJ
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
middleLayer_for_NJ
Commits
af6160f8
Commit
af6160f8
authored
May 16, 2022
by
范雪寒
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:
parent
226ae6a6
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
688 additions
and
0 deletions
+688
-0
middleLayer_for_NJ.fire
assets/middleLayer_for_NJ/scene/middleLayer_for_NJ.fire
+77
-0
air.js
assets/middleLayer_for_NJ/script/air.js
+307
-0
air.js.meta
assets/middleLayer_for_NJ/script/air.js.meta
+9
-0
middleLayer.ts
assets/middleLayer_for_NJ/script/middleLayer.ts
+52
-0
middleLayer.ts.meta
assets/middleLayer_for_NJ/script/middleLayer.ts.meta
+9
-0
middleLayerBase.ts
assets/middleLayer_for_NJ/script/middleLayerBase.ts
+225
-0
middleLayerBase.ts.meta
assets/middleLayer_for_NJ/script/middleLayerBase.ts.meta
+9
-0
No files found.
assets/middleLayer_for_NJ/scene/middleLayer_for_NJ.fire
View file @
af6160f8
...
...
@@ -15,6 +15,9 @@
"_children": [
{
"__id__": 2
},
{
"__id__": 7
}
],
"_active": false,
...
...
@@ -270,5 +273,79 @@
"_originalWidth": 0,
"_originalHeight": 0,
"_id": "29zXboiXFBKoIV4PQ2liTe"
},
{
"__type__": "cc.Node",
"_name": "middleLayer",
"_objFlags": 0,
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 8
}
],
"_prefab": null,
"_opacity": 255,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_contentSize": {
"__type__": "cc.Size",
"width": 0,
"height": 0
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_trs": {
"__type__": "TypedArray",
"ctor": "Float64Array",
"array": [
0,
0,
0,
0,
0,
0,
1,
1,
1,
1
]
},
"_eulerAngles": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_skewX": 0,
"_skewY": 0,
"_is3DNode": false,
"_groupIndex": 0,
"groupIndex": 0,
"_id": "6caZQRGatDJJMWpck1fhab"
},
{
"__type__": "d98e34LKINGEIpG3utycEds",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 7
},
"_enabled": true,
"label": null,
"text": "hello",
"_id": "92vsFTcCRNa43x2/GLXFra"
}
]
\ No newline at end of file
assets/middleLayer_for_NJ/script/air.js
0 → 100644
View file @
af6160f8
const
testMockData
=
{
"
eof
"
:
1
,
"
file
"
:
"
/storage/emulated/0/Android/data/com.example.oxford/cache/shengtong/gradeVoice.mp3
"
,
"
audioUrl
"
:
"
https://staging-teach.cdn.ireadabc.com/db48d49e122ba65aa7c5ee56963418a6.mp3
"
,
"
result
"
:{
"
duration
"
:
"
2.470
"
,
"
fluency
"
:
100
,
"
integrity
"
:
100
,
"
kernel_version
"
:
"
3.6.7
"
,
"
overall
"
:
99
,
"
pronunciation
"
:
99
,
"
resource_version
"
:
"
2.3.6
"
,
"
rhythm
"
:
0
,
"
speed
"
:
78
},
"
tokenId
"
:
"
621c32543327932cfc000002
"
};
const
recordMockData
=
{
"
text
"
:
"
what can i do for you
"
,
"
audioUrl
"
:
"
https://staging-teach.cdn.ireadabc.com/368ad56174f85e2ff1f39f12bac5c693.mp3
"
};
export
function
initAir
(
_this
)
{
const
realAir
=
{
uploadUrl
:
""
,
uploadData
:
null
,
engineInfo
:
null
,
hideAirClassLoading
(
templateName
,
loadData
)
{
_this
.
log
(
"
***成功调用hideAirClassLoading***
"
);
window
.
air
.
onCourseInScreen
&&
window
.
air
.
onCourseInScreen
(()
=>
{
_this
.
log
(
"
***成功调用onCourseInScreen***
"
);
});
},
osmoCallback
:
function
(
res
)
{
_this
.
log
(
`***成功调用osmoCallback***参数==
${
res
}
`
);
},
osmoHandwritingCallback
:
function
(
res
)
{
_this
.
log
(
`***成功调用osmoHandwritingCallback***参数==
${
res
}
`
);
},
osmoHandwritingMlkitCallback
:
function
(
res
)
{
_this
.
log
(
`***成功调用osmoHandwritingMlkitCallback***参数==
${
res
}
`
);
},
osmoFingerReadCallback
:
function
(
res
)
{
_this
.
log
(
`***成功调用osmoFingerReadCallback***参数==
${
res
}
`
);
},
startScanCodeCallback
:
null
,
needUpdateCallback
:
null
,
getEngineInfoCallback
:
null
,
configurationPortraitCallback
:
null
,
configurationLandscapeCallback
:
null
,
recognitionCameraCallBack
:
null
,
testCallBack
:
null
,
recordCallBack
:
null
,
onCourseInScreen
:
null
,
};
try
{
window
.
air
=
new
Proxy
(
realAir
,
{
set
:
function
(
target
,
key
,
value
,
receiver
)
{
let
newValue
=
value
;
if
(
key
==
"
osmoCallback
"
||
key
==
"
osmoHandwritingCallback
"
||
key
==
"
osmoHandwritingMlkitCallback
"
||
key
==
"
osmoFingerReadCallback
"
)
{
newValue
=
function
(
res
)
{
_this
.
log
(
`||==成功调用
${
key
}
==||参数==
${
JSON
.
stringify
(
res
)}
`
);
if
(
typeof
(
res
)
==
'
string
'
)
{
value
(
res
);
}
else
{
value
(
JSON
.
stringify
(
res
));
}
}
}
return
Reflect
.
set
(
target
,
key
,
newValue
,
receiver
);
},
get
:
function
(
target
,
key
,
receiver
)
{
return
Reflect
.
get
(
target
,
key
,
receiver
);
},
deleteProperty
:
function
(
target
,
key
)
{
return
Reflect
.
deleteProperty
(
target
,
key
);
}
});
}
catch
(
e
)
{
console
.
error
(
"
浏览器不支持ES6新特性Proxy/Reflect,请使用谷歌浏览器!
"
);
}
window
.
courseware
=
{
getData
(
callback
)
{
_this
.
log
(
"
===成功调用getData===
"
);
callback
&&
callback
(
null
);
},
uploadUrl
()
{
_this
.
log
(
"
===成功调用uploadUrl===
"
);
return
window
.
air
.
uploadUrl
;
},
uploadData
()
{
_this
.
log
(
"
===成功调用uploadData===
"
);
return
window
.
air
.
uploadData
;
},
nextPage
()
{
_this
.
log
(
"
===成功调用nextPage===
"
);
},
beforePage
()
{
_this
.
log
(
"
===成功调用beforePage===
"
);
},
jumpPage
(
page
)
{
_this
.
log
(
`===成功调用jumpPage=== page ==
${
page
}
`
);
},
sendAnswer
(
answerObj
)
{
_this
.
log
(
`===成功调用sendAnswer=== answerObj ==
${
JSON
.
stringify
(
answerObj
)}
`
);
answerObj
.
callback
&&
answerObj
.
callback
();
},
getAnswer
(
queryObj
,
callback
)
{
_this
.
log
(
`===成功调用getAnswer=== queryObj ==
${
JSON
.
stringify
(
queryObj
)}
`
);
callback
&&
callback
(
null
);
},
addStar
()
{
_this
.
log
(
`===成功调用addStar===`
);
},
getTemplates
(
callback
)
{
_this
.
log
(
`===成功调用getTemplates===`
);
callback
&&
callback
(
null
);
},
getTemplateUrl
(
templateName
,
callback
)
{
_this
.
log
(
`===成功调用getTemplateUrl=== templateName ==
${
templateName
}
`
);
callback
&&
callback
(
null
);
},
gameEnd
()
{
_this
.
log
(
`===成功调用gameEnd===`
);
},
// isSpeechToText 1: 录音转文本,0:纯录音
startRecord
(
isSpeechToText
)
{
_this
.
log
(
`===成功调用startRecord=== isSpeechToText ==
${
isSpeechToText
}
`
);
window
.
courseware
.
hasCalledStartRecord
=
true
;
window
.
courseware
.
callOcMethod
(
"
startRecord
"
,
{
isSpeechToText
});
},
stopRecord
(
callback1
,
callback2
)
{
// 传两个参数是为了兼容以前
window
.
courseware
.
hasCalledStartRecord
=
false
;
const
callback
=
callback1
||
callback2
;
_this
.
log
(
`===成功调用stopRecord===`
);
if
(
!
callback
)
{
// 不传回调函数就表示取消评测
window
.
courseware
.
callOcMethod
(
"
stopRecord
"
,
{
isBreak
:
1
});
return
;
}
// 结束录音
window
.
air
.
recordCallBack
=
(
res
)
=>
{
res
=
typeof
(
res
)
==
'
string
'
?
res
:
JSON
.
stringify
(
res
);
_this
.
log
(
`===成功调用recordCallBack=== res ==
${
res
}
`
);
callback
&&
callback
(
res
);
window
.
air
.
recordCallBack
=
null
;
};
window
.
courseware
.
callOcMethod
(
"
stopRecord
"
,
{
isBreak
:
0
});
},
startTest
(
testText
,
option
)
{
window
.
courseware
.
hasCalledStartTest
=
true
;
_this
.
log
(
`===成功调用startTest=== testText ==
${
testText
}
`
);
window
.
courseware
.
callOcMethod
(
"
startTest
"
,
{
...
option
,
"
params
"
:
testText
});
},
stopTest
(
callback
)
{
window
.
courseware
.
hasCalledStartTest
=
false
;
_this
.
log
(
`===成功调用stopTest===`
);
if
(
!
callback
)
{
// 不传回调函数就表示取消评测
_this
.
log
(
`===成功取消录音评测===`
);
window
.
courseware
.
callOcMethod
(
"
stopTest
"
,
{
isBreak
:
1
});
return
;
}
// 结束录音
window
.
air
.
testCallBack
=
(
res
)
=>
{
res
=
typeof
(
res
)
==
'
string
'
?
res
:
JSON
.
stringify
(
res
);
_this
.
log
(
`===成功调用testCallBack=== res ==
${
res
}
`
);
callback
&&
callback
(
res
);
window
.
air
.
testCallBack
=
null
;
};
window
.
courseware
.
callOcMethod
(
"
stopTest
"
,
{});
},
openRecognitionCamera
(
callback
)
{
window
.
courseware
.
hasCalledOpenRecognitionCamera
=
true
;
_this
.
log
(
`===成功调用openRecognitionCamera===`
);
window
.
air
.
recognitionCameraCallBack
=
(
res
)
=>
{
callback
&&
callback
(
JSON
.
stringify
(
res
));
window
.
air
.
recognitionCameraCallBack
=
null
;
};
window
.
courseware
.
callOcMethod
(
"
openRecognitionCamera
"
,
{});
},
closeRecognitionCamera
()
{
window
.
courseware
.
hasCalledOpenRecognitionCamera
=
false
;
_this
.
log
(
`===成功调用closeRecognitionCamera===`
);
window
.
courseware
.
callOcMethod
(
"
closeRecognitionCamera
"
,
{});
},
getEngineInfo
(
callback
)
{
_this
.
log
(
`===成功调用getEngineInfo===`
);
// 调用原生获取机器信息
window
.
air
.
getEngineInfoCallback
=
(
res
)
=>
{
if
(
typeof
(
res
)
==
'
string
'
)
{
window
.
air
.
engineInfo
=
res
;
callback
&&
callback
(
res
);
}
else
{
window
.
air
.
engineInfo
=
JSON
.
stringify
(
res
);
callback
&&
callback
(
JSON
.
stringify
(
res
));
}
window
.
air
.
getEngineInfoCallback
=
null
;
};
window
.
courseware
.
callOcMethod
(
"
getEngineInfo
"
,
{});
},
needUpdate
(
label
,
url
,
callback
)
{
_this
.
log
(
`===成功调用needUpdate===`
);
// 调用原生获取机器信息
window
.
air
.
needUpdateCallback
=
(
res
)
=>
{
callback
&&
callback
(
res
);
window
.
air
.
needUpdateCallback
=
null
;
};
window
.
courseware
.
callOcMethod
(
"
needUpdate
"
,
{
label
:
label
,
url
:
url
});
},
startScanCode
(
callback
)
{
_this
.
log
(
`===成功调用startScanCode===`
);
// 调用原生开始扫码
window
.
air
.
startScanCodeCallback
=
(
res
)
=>
{
callback
&&
callback
(
res
);
window
.
air
.
startScanCodeCallback
=
null
;
};
window
.
courseware
.
callOcMethod
(
"
startScanCode
"
,
{});
},
openOsmo
(
params
=
{})
{
window
.
courseware
.
hasCalledOpenOsmo
=
true
;
_this
.
log
(
`===成功调用openOsmo===
${
JSON
.
stringify
(
params
)}
`
);
window
.
courseware
.
callOcMethod
(
"
openOsmo
"
,
params
);
},
closeOsmo
()
{
window
.
courseware
.
hasCalledOpenOsmo
=
false
;
_this
.
log
(
`===成功调用closeOsmo===`
);
window
.
courseware
.
callOcMethod
(
"
closeOsmo
"
,
{});
},
openOsmoHandwriting
(
params
=
{})
{
window
.
courseware
.
hasCalledOpenOsmoHandwriting
=
true
;
_this
.
log
(
`===成功调用openOsmoHandwriting===
${
JSON
.
stringify
(
params
)}
`
);
window
.
courseware
.
callOcMethod
(
"
openOsmoHandwriting
"
,
params
);
},
closeOsmoHandwriting
()
{
window
.
courseware
.
hasCalledOpenOsmoHandwriting
=
false
;
_this
.
log
(
`===成功调用closeOsmoHandwriting===`
);
window
.
courseware
.
callOcMethod
(
"
closeOsmoHandwriting
"
,
{});
},
openOsmoHandwritingMlkit
(
params
=
{})
{
window
.
courseware
.
hasCalledOpenOsmoHandwritingMlkit
=
true
;
_this
.
log
(
`===成功调用openOsmoHandwritingMlkit===
${
JSON
.
stringify
(
params
)}
`
);
window
.
courseware
.
callOcMethod
(
"
openOsmoHandwritingMlkit
"
,
params
);
},
closeOsmoHandwritingMlkit
()
{
window
.
courseware
.
hasCalledOpenOsmoHandwritingMlkit
=
false
;
_this
.
log
(
`===成功调用closeOsmoHandwritingMlkit===`
);
window
.
courseware
.
callOcMethod
(
"
closeOsmoHandwritingMlkit
"
,
{});
},
openOsmoFingerRead
(
params
=
{})
{
window
.
courseware
.
hasCalledOpenOsmoFingerRead
=
true
;
_this
.
log
(
`===成功调用openOsmoFingerRead===
${
JSON
.
stringify
(
params
)}
`
);
window
.
courseware
.
callOcMethod
(
"
openOsmoFingerRead
"
,
params
);
},
closeOsmoFingerRead
()
{
window
.
courseware
.
hasCalledOpenOsmoFingerRead
=
false
;
_this
.
log
(
`===成功调用closeOsmoFingerRead===`
);
window
.
courseware
.
callOcMethod
(
"
closeOsmoFingerRead
"
,
{});
},
onConfigurationPortrait
(
params
=
{},
callback
)
{
_this
.
log
(
`===成功调用onConfigurationPortrait||竖屏===`
);
window
.
air
.
configurationPortraitCallback
=
(
res
)
=>
{
callback
&&
callback
(
res
);
window
.
air
.
configurationPortraitCallback
=
null
;
};
window
.
courseware
.
callOcMethod
(
"
onConfigurationPortrait
"
,
params
);
},
onConfigurationLandscape
(
params
=
{},
callback
)
{
_this
.
log
(
`===成功调用onConfigurationLandscape||横屏===`
);
window
.
air
.
configurationLandscapeCallback
=
(
res
)
=>
{
callback
&&
callback
(
res
);
window
.
air
.
configurationLandscapeCallback
=
null
;
};
window
.
courseware
.
callOcMethod
(
"
onConfigurationLandscape
"
,
params
);
},
callOcMethod
(
method
,
param
)
{
const
paramStr
=
JSON
.
stringify
(
param
);
_this
.
log
(
`===成功调用原生方法
${
method
}
===参数==
${
paramStr
}
`
);
if
(
cc
.
sys
.
isNative
&&
cc
.
sys
.
os
==
cc
.
sys
.
OS_IOS
)
{
return
jsb
.
reflection
.
callStaticMethod
(
'
RootViewController
'
,
`
${
method
}
:`
,
paramStr
);
}
else
if
(
cc
.
sys
.
isNative
&&
cc
.
sys
.
os
==
cc
.
sys
.
OS_ANDROID
)
{
return
jsb
.
reflection
.
callStaticMethod
(
'
com/iplayabc/cocos/AppActivity
'
,
method
,
'
(Ljava/lang/String;)Ljava/lang/String;
'
,
paramStr
);
}
else
if
(
cc
.
sys
.
isNative
&&
cc
.
sys
.
os
==
cc
.
sys
.
OS_WINDOWS
)
{
console
.
log
(
'
汪汪汪
'
)
}
else
{
console
.
error
(
`非源生环境,网页版不支持
${
method
}
方法,将返回此方法的Mock数据以便于网页版调试使用`
);
if
(
method
==
'
getEngineInfo
'
){
window
.
air
.
getEngineInfoCallback
({
isDev
:
1
,
uuid
:
'
debug-xxxxxx-xxxxxx
'
});
}
else
if
(
method
==
'
startTest
'
)
{
}
else
if
(
method
==
'
stopTest
'
)
{
window
.
air
.
testCallBack
(
testMockData
);
}
else
if
(
method
==
'
startRecord
'
)
{
}
else
if
(
method
==
'
stopRecord
'
)
{
window
.
air
.
recordCallBack
(
recordMockData
);
}
else
{
console
.
error
(
`
${
method
}
方法还没有Mock数据,请联系技术支持人员添加`
);
}
}
},
freeAllOcMethod
()
{
if
(
window
.
courseware
.
hasCalledStartRecord
)
{
window
.
courseware
.
stopRecord
();
}
if
(
window
.
courseware
.
hasCalledStartTest
)
{
window
.
courseware
.
stopTest
();
}
if
(
window
.
courseware
.
hasCalledOpenRecognitionCamera
)
{
window
.
courseware
.
closeRecognitionCamera
();
}
if
(
window
.
courseware
.
hasCalledOpenOsmo
)
{
window
.
courseware
.
closeOsmo
();
}
if
(
window
.
courseware
.
hasCalledOpenOsmoHandwriting
)
{
window
.
courseware
.
closeOsmoHandwriting
();
}
if
(
window
.
courseware
.
hasCalledOpenOsmoHandwritingMlkit
)
{
window
.
courseware
.
closeOsmoHandwritingMlkit
();
}
if
(
window
.
courseware
.
hasCalledOpenOsmoFingerRead
)
{
window
.
courseware
.
closeOsmoFingerRead
();
}
}
};
}
assets/middleLayer_for_NJ/script/air.js.meta
0 → 100644
View file @
af6160f8
{
"ver": "1.0.8",
"uuid": "15fea870-2ab5-4a2e-b2c5-9534af654642",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
assets/middleLayer_for_NJ/script/middleLayer.ts
0 → 100644
View file @
af6160f8
import
{
initAir
}
from
"
./air
"
;
import
{
middleLayerBase
}
from
"
./middleLayerBase
"
;
const
{
ccclass
,
property
}
=
cc
.
_decorator
;
@
ccclass
export
default
class
NewClass
extends
middleLayerBase
{
reWriteAir
()
{
(
<
any
>
window
).
courseware
.
getData
=
async
(
callback
)
=>
{
let
data
=
null
;
if
(
this
.
courseItem
&&
this
.
courseItem
.
data
)
{
data
=
JSON
.
parse
(
this
.
courseItem
.
data
);
this
.
log
(
"
===成功调用getData===
"
+
this
.
courseItem
.
data
);
}
callback
&&
callback
(
data
);
}
if
(
!
(
<
any
>
window
).
air
)
{
(
<
any
>
window
).
air
=
{};
}
(
<
any
>
window
).
air
.
hideAirClassLoading
=
()
=>
{
(
<
any
>
window
).
air
.
onCourseInScreen
&&
(
<
any
>
window
).
air
.
onCourseInScreen
(()
=>
{
console
.
log
(
"
***成功调用onCourseInScreen***
"
);
});
this
.
hideWaitingLetters
();
this
.
hideMask
();
}
}
showMask
()
{
}
hideMask
()
{
}
hideWaitingLetters
()
{
}
showWaitingLetters
()
{
}
protected
start
():
void
{
this
.
node
.
zIndex
=
9999
;
cc
.
game
.
addPersistRootNode
(
this
.
node
);
}
role
=
'
student
'
;
protected
onLoad
():
void
{
initAir
(
this
);
this
.
reWriteAir
();
}
}
assets/middleLayer_for_NJ/script/middleLayer.ts.meta
0 → 100644
View file @
af6160f8
{
"ver": "1.0.8",
"uuid": "d98e3e0b-2883-4610-8a46-deeb7270476c",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
assets/middleLayer_for_NJ/script/middleLayerBase.ts
0 → 100644
View file @
af6160f8
export
abstract
class
middleLayerBase
extends
cc
.
Component
{
abstract
reWriteAir
():
void
;
abstract
showMask
():
void
;
abstract
hideMask
():
void
;
abstract
hideWaitingLetters
():
void
;
abstract
showWaitingLetters
():
void
;
callNetworkApiPost
(
uri
,
data
,
callBack
)
{
this
.
getBaseUrl
((
baseUrl
)
=>
{
const
xhr
=
new
XMLHttpRequest
();
const
url
=
`
${
baseUrl
}${
uri
}
`
;
xhr
.
open
(
"
POST
"
,
url
,
true
);
xhr
.
setRequestHeader
(
'
content-type
'
,
'
application/json
'
);
xhr
.
onreadystatechange
=
()
=>
{
if
(
xhr
.
readyState
==
4
)
{
callBack
(
JSON
.
parse
(
xhr
.
responseText
));
}
}
xhr
.
send
(
JSON
.
stringify
(
data
));
});
}
callNetworkApiGet
(
uri
,
data
,
callBack
)
{
this
.
getBaseUrl
((
baseUrl
)
=>
{
let
queryStr
=
'
?
'
;
const
params
=
[];
for
(
const
key
in
data
)
{
if
(
Object
.
hasOwnProperty
.
call
(
data
,
key
))
{
params
.
push
(
`
${
key
}
=
${
data
[
key
]}
`
);
}
}
queryStr
+=
params
.
join
(
"
&
"
);
const
xhr
=
new
XMLHttpRequest
();
xhr
.
onreadystatechange
=
()
=>
{
if
(
xhr
.
readyState
==
4
&&
(
xhr
.
status
>=
200
&&
xhr
.
status
<
400
))
{
callBack
(
xhr
.
responseText
);
}
};
const
url
=
`
${
baseUrl
}${
uri
}${
queryStr
}
`
;
console
.
log
(
'
url =
'
+
url
);
xhr
.
open
(
'
GET
'
,
url
,
true
);
xhr
.
send
();
});
}
async
getBaseUrl
(
callback
)
{
const
engineInfo
=
await
this
.
getEngineInfo
();
const
{
isDev
}
=
JSON
.
parse
(
engineInfo
);
if
(
isDev
==
1
)
{
callback
(
'
http://staging-openapi.iteachabc.com
'
);
}
else
{
callback
(
'
http://openapi.iteachabc.com
'
);
}
}
getEngineInfo
()
{
if
((
<
any
>
window
).
air
.
engineInfo
)
{
return
(
<
any
>
window
).
air
.
engineInfo
;
}
else
{
return
new
Promise
((
resolve
,
reject
)
=>
{
(
<
any
>
window
).
courseware
.
getEngineInfo
(()
=>
{
resolve
((
<
any
>
window
).
air
.
engineInfo
);
});
});
}
}
asyncCallNetworkApiGet
(
apiName
,
data
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
callNetworkApiGet
(
apiName
,
data
,
(
res
=>
{
resolve
(
res
);
}));
});
}
asyncCallNetworkApiPost
(
uri
,
data
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
callNetworkApiPost
(
uri
,
data
,
(
res
)
=>
{
resolve
(
res
);
});
});
}
loadOnlineBundle
(
bundleName
)
{
this
.
callNetworkApiGet
(
`/api/template/v1/
${
bundleName
}
`
,
{},
(
datastr
)
=>
{
const
data
=
JSON
.
parse
(
datastr
);
let
configData
=
null
;
if
(
cc
.
sys
.
os
==
cc
.
sys
.
OS_IOS
)
{
configData
=
data
.
data
.
conf
.
ios
;
}
else
if
(
cc
.
sys
.
os
==
cc
.
sys
.
OS_ANDROID
)
{
configData
=
data
.
data
.
conf
.
android
;
}
else
{
configData
=
data
.
data
.
conf
.
web_desktop
;
}
const
sceneName
=
configData
.
sceneName
;
const
version
=
configData
.
version
;
const
bondleUrl
=
configData
.
bondleUrl
;
this
.
loadBundle
(
sceneName
,
version
,
bondleUrl
);
});
}
currentBundleInfo
=
null
;
reloadBundle
()
{
const
{
sceneName
,
version
,
bondleUrl
}
=
this
.
currentBundleInfo
;
this
.
loadBundle
(
sceneName
,
version
,
bondleUrl
);
}
loadBundle
(
sceneName
,
version
,
bondleUrl
)
{
this
.
currentBundleInfo
=
{
sceneName
,
version
,
bondleUrl
};
this
.
showMask
();
this
.
showWaitingLetters
();
cc
.
assetManager
.
loadBundle
(
bondleUrl
,
{
version
:
version
},
async
(
err
,
bundle
)
=>
{
bundle
.
loadScene
(
sceneName
,
null
,
null
,
(
err
,
scene
)
=>
{
const
btnRestart
=
cc
.
find
(
'
middleLayer/BtnRestart
'
);
btnRestart
.
active
=
false
;
cc
.
audioEngine
.
stopAll
();
cc
.
director
.
runScene
(
scene
,
null
,
()
=>
{
console
.
log
(
'
sceneName =
'
+
sceneName
);
const
canvas
=
cc
.
find
(
'
Canvas
'
);
const
middleLayer
=
cc
.
find
(
'
middleLayer
'
);
cc
.
find
(
'
middleLayer/ExitBtn
'
).
active
=
true
;
this
.
hideWaitingLetters
();
this
.
hideMask
();
canvas
.
getComponent
(
cc
.
Widget
).
updateAlignment
();
middleLayer
.
scale
=
canvas
.
width
/
middleLayer
.
width
;
// this.showLog('middleLayer.scale = ' + middleLayer.scale);
});
});
});
}
courses
=
null
;
courseIndex
=
0
;
courseItem
=
null
;
loadOnlineCourseWare
(
courseId
,
linkFlag
=
false
)
{
this
.
showWaitingLetters
();
let
api
=
`/api/courseware/v1/
${
courseId
}
/list`
;
if
(
linkFlag
===
true
)
{
api
=
`/api/courseware/v1/
${
courseId
}
/eq/level/list`
;
}
this
.
callNetworkApiGet
(
api
,
{},
(
datastr
)
=>
{
const
data
=
JSON
.
parse
(
datastr
);
if
(
data
.
rows
&&
data
.
rows
.
length
>
0
)
{
this
.
courses
=
data
.
rows
;
this
.
courseIndex
=
data
.
index
||
0
;
this
.
courseItem
=
data
.
rows
[
this
.
courseIndex
];
}
if
(
this
.
courses
&&
this
.
courses
.
length
>
1
&&
this
.
courseIndex
<=
this
.
courses
.
length
-
1
)
{
cc
.
find
(
'
middleLayer/BtnRight
'
).
active
=
true
;
}
if
(
this
.
courseIndex
>
0
)
{
cc
.
find
(
'
middleLayer/BtnLeft
'
).
active
=
false
;
}
this
.
reWriteAir
();
this
.
loadPageBundle
();
});
}
loadPageBundle
()
{
let
sceneName
,
version
,
bondleUrl
=
""
;
if
(
cc
.
sys
.
os
==
cc
.
sys
.
OS_IOS
)
{
sceneName
=
this
.
courseItem
.
conf
.
ios
.
sceneName
;
version
=
this
.
courseItem
.
conf
.
ios
.
version
;
bondleUrl
=
this
.
courseItem
.
conf
.
ios
.
bondleUrl
;
}
else
if
(
cc
.
sys
.
os
==
cc
.
sys
.
OS_ANDROID
)
{
sceneName
=
this
.
courseItem
.
conf
.
android
.
sceneName
;
version
=
this
.
courseItem
.
conf
.
android
.
version
;
bondleUrl
=
this
.
courseItem
.
conf
.
android
.
bondleUrl
;
}
else
{
sceneName
=
this
.
courseItem
.
conf
.
web_desktop
.
sceneName
;
version
=
this
.
courseItem
.
conf
.
web_desktop
.
version
;
bondleUrl
=
this
.
courseItem
.
conf
.
web_desktop
.
bondleUrl
;
}
this
.
loadBundle
(
sceneName
,
version
,
bondleUrl
);
}
goPrePage
()
{
this
.
goTarIndexPage
(
this
.
courseIndex
-
1
);
}
goNextPage
()
{
this
.
goTarIndexPage
(
this
.
courseIndex
+
1
);
}
goTarIndexPage
(
index
)
{
if
(
!
this
.
courses
||
index
==
this
.
courseIndex
||
index
<
0
||
index
>
this
.
courses
.
length
-
1
)
{
return
;
}
(
<
any
>
window
).
courseware
.
freeAllOcMethod
();
this
.
courseIndex
=
index
;
this
.
courseItem
=
this
.
courses
[
this
.
courseIndex
];
this
.
loadPageBundle
();
}
log
(
str
:
string
)
{
cc
.
log
(
str
);
}
showTips
(
str
:
string
)
{
const
tipsNode
=
new
cc
.
Node
();
tipsNode
.
parent
=
cc
.
find
(
'
Canvas
'
);
tipsNode
.
zIndex
=
100
;
const
bg
=
cc
.
instantiate
(
cc
.
find
(
'
middleLayer/bg
'
));
bg
.
parent
=
tipsNode
;
bg
.
active
=
true
;
bg
.
color
=
cc
.
color
(
100
,
100
,
100
);
const
labelNode
=
new
cc
.
Node
();
labelNode
.
parent
=
tipsNode
;
const
label
=
labelNode
.
addComponent
(
cc
.
Label
);
label
.
string
=
str
;
bg
.
width
=
200
;
bg
.
height
=
labelNode
.
height
+
20
;
cc
.
tween
(
tipsNode
)
.
set
({
opacity
:
255
})
.
delay
(
1
)
.
to
(
1
,
{
opacity
:
0
})
.
removeSelf
()
.
start
();
}
}
\ No newline at end of file
assets/middleLayer_for_NJ/script/middleLayerBase.ts.meta
0 → 100644
View file @
af6160f8
{
"ver": "1.0.8",
"uuid": "9fdb1995-66ab-43ba-9a0d-1784672ccdf2",
"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