潘志宝
2024-11-28 231897591c909b164defebfdb5936387ec2807d0
提交 | 用户 | 时间
149dd0 1 package com.iailab.netsdk.demo.module;
H 2
3 import com.iailab.netsdk.lib.ToolKits;
4 import com.iailab.netsdk.lib.NetSDKLib.*;
5
6 /**
7  * 设备初始化接口实现
8  */
9 public class DeviceInitModule {
10     /*
11      * 设备初始化
12      */
13     public static boolean initDevAccount(String localIp,String szMac, String password, String cellPhone_mail, byte byPwdResetWay) {
14         /**
15          *  入参
16          */
17         NET_IN_INIT_DEVICE_ACCOUNT inInit = new NET_IN_INIT_DEVICE_ACCOUNT();
18         // mac地址
19         System.arraycopy(szMac.getBytes(), 0, inInit.szMac, 0, szMac.getBytes().length);
20         
21         // 用户名
22         String username = "admin";
23         System.arraycopy(username.getBytes(), 0, inInit.szUserName, 0, username.getBytes().length);
24
25         // 密码,必须字母与数字结合,8位以上,否则设备不识别
26         if(password.getBytes().length <= 127) {
27             System.arraycopy(password.getBytes(), 0, inInit.szPwd, 0, password.getBytes().length);
28         } else if(password.getBytes().length > 127){
29             System.arraycopy(password.getBytes(), 0, inInit.szPwd, 0, 127);
30         }
31
32         // 设备支持的密码重置方式
33         inInit.byPwdResetWay = byPwdResetWay;
34         
35         // bit0-支持预置手机号 bit1-支持预置邮箱
36         if((byPwdResetWay >> 1 & 0x01) == 0) {  // 手机号
37             System.arraycopy(cellPhone_mail.getBytes(), 0, inInit.szCellPhone, 0, cellPhone_mail.getBytes().length);
38         } else if((byPwdResetWay >> 1 & 0x01) == 1) {  // 邮箱
39             System.arraycopy(cellPhone_mail.getBytes(), 0, inInit.szMail, 0, cellPhone_mail.getBytes().length);
40         }
41         
42         /**
43          *  出参
44          */
45         NET_OUT_INIT_DEVICE_ACCOUNT outInit = new NET_OUT_INIT_DEVICE_ACCOUNT();
46         
47         if(!LoginModule.netsdk.CLIENT_InitDevAccount(inInit, outInit, 5000, localIp)) {
48             System.err.println("初始化失败," + ToolKits.getErrorCodePrint());
49             return false;
50         }
51         
52         return true;
53     }
54 }