# wmpos_sdk_demo

安卓识别sdk和demo

| 错误码 |         描述         |                    解决方案                    |
| :----: | :------------------: | :--------------------------------------------: |
|   0    |         成功         |                                                |
|   -1    |         其他错误         |                                                |
|  1001  |      初始化失败      |                                                |
|  1002  |    模型初始化失败    |                                                |
|  1003  |   识别的bitmap为空   |                查看图片是否正确                |
|  1004  |   图片信息获取失败   |                查看图片是否正确                |
|  1005  |     图片转换失败     |                查看图片是否正确                |
|  1006  |     模式设置失败     |                模式只能传0或者1              |
|  1007  |     最小限制设置失败     |                限制在0到0.80           |
|  1008  |     限制设置失败     |                限制在1到6           |
|  1010  |     新品写入失败     |                                                |
|  1011  |  获取模型版本号失败  |                                                |
|  1012  |  删除文件失败  |                                                |
|  1013  |  数据解析失败，请检查提交的数据  |                                                |
|  2000  |    摄像头打开失败    | 检查摄像头连接是否正常，系统自带相机是否能打开 |
|  2001  |  wmkey.wm文件不存在  |     需下载文件存该文件目录，并命名wmkey.wm     |
|  2002  | prikey.pem文件不存在 |    需下载文件存该文件目录，并命名prikey.pem    |
|  2003  |       解密失败       |                                                |
|  2004  |       解密失败       |            解密mac地址在所有的mac地址不相符                                   |
|  2005  |     模型识别失败     |              传入图片模型识别失败              |
|  2006  |     没有租户      |                 重新注册                               |
|  2007  |     没有初始化数据      |                 重新注册                               |
|        |                      |                                                |
|  3001  |    裁剪参数不规范    |       宽高大于零，左上角坐标X,Y大于等于0       |
|  3002  |  裁剪比例不符合规范  |                未按4:3比例裁剪                 |
|  3003  |     裁剪图片为空         |        请检查相机 相机未启动                                        |

|  4001  |    数据库文件不存在    |              |

|  65014  |    snCode没有找到    |              |
|  65017  |    该posCode已经绑定过,并且绑定的mac地址和传入的mac地址不一致    |              |
|  65006  |    此POS的MAC地址绑定过其它POS机，请联系管理员确认POS机编号！    |              |
|  65019  |    snCode并未绑定无需解绑    |              |
|  65017  |    该pos现在的mac地址和服务器记录的mac地址不一致 无法解绑    |              |
|  65017  |        |              |
|  65017  |        |              |

1.SDK初始化接口
2.如果没有调用bind接口（租户，pos编号，获取当前秤的mac地址（sdk中提供了），sn序列号），如已授权，会有wmkey.wm，prikey.pem的地址，进行下载存到指定目录
如果有注册，请使用getById,已授权，会有wmkey.wm，prikey.pem的地址，进行下载存到指定目录
3.秤盘没有裁剪，需进入裁剪秤盘界面，如有，则不需要了
4.进行识别页面，如果没有授权(使用getById获取文件链接下载)
5.根据重量大于30g，调用识别接口，会返回商品id列表，
6.如果识别结果不对，则使用setFeedBack接口，传商品id
7.如果识别的这个商品id不准，则使用重新学习接口（studyAgain）

定义个布尔变量，当重量小于10g的时候，该变量为false，当重量有变化大于30g的时候且同时该变量为false，进行识别，并把该变量设置为true

初始化布尔变量，默认为false
当重量小于10g时，赋值为false，
当重量大于30g并且变量为false时进行识别，并且把变量赋值为true

初始化 isFirst = true;
      boolean toEarlier;
      
       if (net < 10) {
       //回到初始化
          currentWeight = 0;
          toEarlier = false;
          isFirst = true;
      }
      
       if (net > 30 && !toearlier) {
        //提前识别
        toEarlier = true;
         recognition();
          }
           if (isStable) {
              if (currentWeight != net && Math.abs(currentWeight - net) >= 30 && net > 0) {
                   currentWeight = net;

                   if (isfirst) {
                      isfirst = false;
                    return;
                   }
                     recognition();
                                  }
                          


