|
|
-
- const STATE_WAIT_FINGER_DOWN = 1;
- const STATE_WAIT_FINGER_LEAVE = 2;
- const STATE_FINGER_DOWN = 3;
- const STATE_FINGER_LEAVE = 4;
- const STATE_EXTRACT_TEMPLATE = 5;
- const STATE_DOWNLOAD_TEMPLATE = 6;
- const STATE_EXTRACT_TEMPLATE_FAIL = 100;
- const STATE_EXTRACT_TEMPLATE_DIRTY = 101;
- const STATE_EXTRACT_TEMPLATE_POINTS_FEW = 102;
- const STATE_EXTRACT_TEMPLATE_MERGE_FAIL = 103;
-
-
- const ErrorReceiveDataErr = 1;
- const ErrorEnrollTimeout = 2;
- const ErrorDeviceNotFound = 3;
- const ErrorEmptyFail = 4;
-
-
- var mafp = {
- isConnected: false,
- ws: null,
- enrollCount: 6,
- enrollTimeout: 30 * 1000,
- callback: null,
- isWorking: false,
- init(conf) {
- if (conf && conf.enrollCount) {
- this.enrollCount = conf.enrollCount;
- }
- if (conf && conf.enrollTimeout) {
- this.enrollTimeout = conf.enrollTimeout;
- }
- return new Promise((resolve,reject) => {
- var that = this;
- if (this.isConnected) {
- resolve();
- return;
- }
-
- var timeout = setTimeout(() => {
- if (!that.isConnected) {
- reject("Connection timeout");
- }
- }, 2000)
- var port = 9897;
- var address = 'ws://localhost:' + port + '/';
- that.ws = new WebSocket(address);
- that.ws.addEventListener('open', function() {
- that.isConnected = true;
- if (timeout) {
- clearTimeout(timeout);
- timeout = 0;
- }
- resolve()
- });
- that.ws.addEventListener('close', function() {
- console.log('Connection lost');
- that.isConnected = false;
- reject("Connection lost");
- });
- that.ws.addEventListener('message', function(e) {
- let resp = JSON.parse(e.data);
- if (that.callback) {
- that.callback(resp);
- if(resp.err || resp.data) {
- that.isWorking = false;
- that.callback = null;
- }
- }
- });
- });
- },
- _sendMessage(msg) {
- this.ws.send(JSON.stringify(msg));
- },
- startEnroll(callback=((status, data)=>{})) {
- this.callback = callback;
- this.isWorking = true;
- this.init().then(() => {
- this._sendMessage({
- cmd: "enrollStart",
- config: {
- enrollCount: this.enrollCount,
- enrollTimeout: this.enrollTimeout
- }
- });
- }).catch(err => {
- this.callback = null;
- this.isWorking = false;
- callback({
- err: err,
- state: 0,
- step:0
- })
- })
-
- },
- cancelEnroll() {
- this.callback = null;
- this.isWorking = false;
- this._sendMessage({
- cmd: "enrollCancel"
- });
- }
-
- };
|