Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
middleLayer_for_NGT
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_NGT
Commits
666ecc6d
Commit
666ecc6d
authored
Feb 24, 2022
by
范雪寒
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: air.js
parent
bc65d4e6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
314 additions
and
8 deletions
+314
-8
air.js
assets/middleLayer_for_NGT/script/air.js
+247
-0
air.js.meta
assets/middleLayer_for_NGT/script/air.js.meta
+9
-0
middleLayer.js
assets/middleLayer_for_NGT/script/middleLayer.js
+58
-8
No files found.
assets/middleLayer_for_NGT/script/air.js
0 → 100644
View file @
666ecc6d
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
}
`
);
},
getEngineInfoCallback
:
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
);
},
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
(
callback
)
{
window
.
courseware
.
hasCalledStartRecord
=
false
;
_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
)
=>
{
window
.
air
.
engineInfo
=
res
;
callback
&&
callback
(
JSON
.
stringify
(
res
));
window
.
air
.
getEngineInfoCallback
=
null
;
};
window
.
courseware
.
callOcMethod
(
"
getEngineInfo
"
,
{});
},
openOsmo
()
{
window
.
courseware
.
hasCalledOpenOsmo
=
true
;
_this
.
log
(
`===成功调用openOsmo===`
);
window
.
courseware
.
callOcMethod
(
"
openOsmo
"
,
{});
},
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
"
,
{});
},
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
(
'
非源生环境
'
);
if
(
method
==
'
getEngineInfo
'
){
window
.
air
.
getEngineInfoCallback
({
isDev
:
1
});
}
}
},
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_NGT/script/air.js.meta
0 → 100644
View file @
666ecc6d
{
"ver": "1.0.8",
"uuid": "b2881ebb-5dc0-4429-ae45-be9f589b9670",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
assets/middleLayer_for_NGT/script/middleLayer.js
View file @
666ecc6d
import
{
initAir
}
from
"
./air
"
;
cc
.
Class
({
cc
.
Class
({
extends
:
cc
.
Component
,
extends
:
cc
.
Component
,
properties
:
{},
properties
:
{},
...
@@ -76,18 +78,64 @@ cc.Class({
...
@@ -76,18 +78,64 @@ cc.Class({
},
},
start
()
{
start
()
{
this
.
baseUrl
=
"
http://staging-teach.ireadabc.com/api/
"
;
initAir
(
this
);
this
.
reWriteAir
();
window
.
courseware
.
getEngineInfo
((
dataStr
)
=>
{
const
engineInfo
=
JSON
.
parse
(
dataStr
);
console
.
log
(
engineInfo
.
isDev
);
let
coursewareId
;
if
(
engineInfo
.
isDev
==
1
)
{
coursewareId
=
21506
;
this
.
baseUrl
=
"
http://staging-openapi.iteachabc.com/api/
"
;
}
else
{
console
.
waring
(
'
汪汪汪
'
);
coursewareId
=
21506
;
this
.
baseUrl
=
"
http://openapi.iteachabc.com/api/
"
;
}
this
.
node
.
zIndex
=
9999
;
this
.
node
.
zIndex
=
9999
;
this
.
showWaitingLetters
();
this
.
showWaitingLetters
();
cc
.
game
.
addPersistRootNode
(
this
.
node
);
cc
.
game
.
addPersistRootNode
(
this
.
node
);
this
.
initListener
();
this
.
initListener
();
this
.
getBundleInfoList
();
this
.
getBundleInfoList
(
coursewareId
);
});
},
},
reWriteAir
()
{
window
.
courseware
.
getData
=
(
callback
)
=>
{
let
data
=
null
;
if
(
this
.
courseItem
.
data
)
{
data
=
JSON
.
parse
(
this
.
courseItem
.
data
);
}
this
.
log
(
"
===成功调用getData===
"
+
this
.
courseItem
.
data
);
callback
&&
callback
(
data
);
}
window
.
courseware
.
nextPage
=
()
=>
{
this
.
goNextPage
();
}
window
.
courseware
.
beforePage
=
()
=>
{
this
.
goPrePage
();
}
window
.
courseware
.
sendAnswer
=
(
answerObj
)
=>
{
this
.
log
(
"
===成功调用sendAnswer===
"
+
JSON
.
stringify
(
answerObj
));
this
.
callNetworkApiPost
(
`http://staging-teach.ireadabc.com`
,
`/api/oxford/courseware/v1/
${
this
.
courseItem
.
id
}
/saveanswer`
,
answerObj
,
(
data
)
=>
{
answerObj
.
callback
&&
answerObj
.
callback
(
JSON
.
stringify
(
data
.
row
));
});
}
window
.
courseware
.
getAnswer
=
(
queryObj
,
callback
)
=>
{
this
.
log
(
"
===成功调用getAnswer===
"
+
JSON
.
stringify
(
queryObj
));
this
.
callNetworkApiGet
(
`http://staging-teach.ireadabc.com`
,
`/api/oxford/courseware/v1/
${
this
.
courseItem
.
id
}
/getanswer`
,
queryObj
,
(
datastr
)
=>
{
const
data
=
JSON
.
parse
(
datastr
);
callback
&&
callback
(
JSON
.
stringify
(
data
.
rows
));
});
}
},
asyncDelayLog
(
str
)
{
asyncDelayLog
(
str
)
{
console
.
log
(
str
);
console
.
log
(
str
);
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
...
@@ -97,8 +145,7 @@ cc.Class({
...
@@ -97,8 +145,7 @@ cc.Class({
});
});
},
},
getBundleInfoList
()
{
getBundleInfoList
(
coursewareId
)
{
const
coursewareId
=
21506
;
this
.
callNetworkApiGet
(
this
.
callNetworkApiGet
(
`courseware/v1/
${
coursewareId
}
/list`
,
`courseware/v1/
${
coursewareId
}
/list`
,
null
,
null
,
...
@@ -108,6 +155,7 @@ cc.Class({
...
@@ -108,6 +155,7 @@ cc.Class({
this
.
bundleInfoList
=
data
.
rows
.
map
((
row
)
=>
{
this
.
bundleInfoList
=
data
.
rows
.
map
((
row
)
=>
{
const
bundleInfo
=
row
.
conf
;
const
bundleInfo
=
row
.
conf
;
bundleInfo
.
syllabus_id
=
row
.
id
;
bundleInfo
.
syllabus_id
=
row
.
id
;
bundleInfo
.
data
=
row
.
data
;
return
bundleInfo
;
return
bundleInfo
;
});
});
this
.
jumpToBundleByIndex
(
this
.
defaultBundleIdx
);
this
.
jumpToBundleByIndex
(
this
.
defaultBundleIdx
);
...
@@ -141,6 +189,8 @@ cc.Class({
...
@@ -141,6 +189,8 @@ cc.Class({
// homework_id
// homework_id
// token
// token
this
.
courseItem
=
this
.
bundleInfoList
[
this
.
currentBundleIndex
];
this
.
loadBundleByConf
(
this
.
bundleInfoList
[
this
.
currentBundleIndex
]);
this
.
loadBundleByConf
(
this
.
bundleInfoList
[
this
.
currentBundleIndex
]);
},
},
...
...
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