|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- class ActionContainer {
- //动作组 actions
- //起始动作下标 index
- //初始提示 tip
- //绑定 完成所有动作的回调 endFun
- //绑定 动作进行中 ingFun
- //绑定 动作完成时 successFun
- //绑定 动作失败时 failFun
- constructor(actions, index, tip, endFun, ingFun, successFun, failFun) {
- this.actions = actions || []
- this.index = index || 0
- this.tip = tip || '检测不到人脸'
- this.endFun = endFun || this.__tempFun
- this.ingFun = ingFun || this.__tempFun
- this.successFun = successFun || this.__tempFun
- this.failFun = failFun || this.__tempFun
- }
- __tempFun(){
-
- }
- next(faceData) {
- if (this.index >= this.actions.length) {
- this.endFun()
- return this
- }
- if (this.actions[this.index].state === 'ing') {
- this.tip = this.actions[this.index].tip
- this.actions[this.index].check(faceData)
- this.ingFun()
- return this
- } else if (this.actions[this.index].state === 'success') {
- this.index++;
- this.successFun()
- return this
- } else if (this.actions[this.index].state === 'fail') {
- this.failFun()
- return this
- }
- return this
- }
- end(fun) { //绑定 完成所有动作的回调
- this.endFun = fun || this.__tempFun
- return this
- }
- ing(fun) { //绑定 动作进行中
- this.ingFun = fun || this.__tempFun
- return this
- }
- success(fun) { //绑定 动作完成时
- this.successFun = fun || this.__tempFun
- return this
- }
- fail(fun) { //绑定 动作失败时
- this.failFun = fun || this.__tempFun
- return this
- }
- }
-
- export default ActionContainer
|