簡訊驗證碼工具類
package util;
import com.montnets.mwgate.common.GlobalParams;
import com.montnets.mwgate.common.Message;
import com.montnets.mwgate.smsutil.ConfigManager;
import com.montnets.mwgate.smsutil.SmsSendConn;
/**
* @author 石樂志
* @version 建立時間:2018年5月17日 下午1:37:10 手機簡訊驗證工具類
* 此為夢網雲簡訊平臺簡訊傳送工具類
* 只測試了單條簡訊傳送的功能,如需其他功能,可以自行上官網下載
* 賬戶為傳送簡訊的賬戶,不是登入的那個賬戶,密碼也是
* 網址:http://www.monyun.cn/account/new_activity.html#B_vid=14000372792667055753
*/
public class SDKDemoUtil {
public static GlobalParams globalParams;
public static SmsSendConn smsSendConnnew;
// 是否保持長連線
public static boolean isKeepAlive = true;
// 使用者賬號
public static String userid = "E103I3";
static {
// 建立全域性引數
globalParams = new GlobalParams();
// 設定請求路徑
globalParams.setRequestPath("/sms/v2/std/");
// 設定是否需要日誌 1:需要日誌;0:不需要日誌
globalParams.setNeedLog(1);
// 設定全域性引數
ConfigManager.setGlobalParams(globalParams);
// 設定使用者賬號資訊
setAccountInfo();
// 例項化簡訊處理物件
smsSendConnnew = new SmsSendConn(isKeepAlive);
}
/**
*
* @description SDK示例
* @param args
*/
public static int sendMsg(String phone, String code) {
// 單條傳送
int singleSend = singleSend(smsSendConnnew, userid, code,phone);
return singleSend;
}
/**
* @description 設定使用者賬號資訊
*/
public static void setAccountInfo() {
// 設定使用者賬號資訊
// 傳送賬號(此為傳送簡訊的賬戶,而不是登入的賬戶。密碼也是)
String userid = "傳送賬號";
// 密碼
String password = "密碼";
// 傳送優先順序
int priority = 1;
// 主IP資訊
String ipAddress1 = "api01.monyun.cn:7901";
// 備用IP1資訊
String ipAddress2 = "192.169.1.189:8086";
// 備用IP2資訊
String ipAddress3 = null;
// 備用IP3資訊
String ipAddress4 = null;
// 返回值
int result = -310007;
try {
// 設定使用者賬號資訊
result = ConfigManager.setAccountInfo(userid, password, priority, ipAddress1, ipAddress2, ipAddress3,
ipAddress4);
// 判斷返回結果,0設定成功,否則失敗
if (result == 0) {
System.out.println("設定使用者賬號資訊成功!");
} else {
System.out.println("設定使用者賬號資訊失敗,錯誤碼:" + result);
}
} catch (Exception e) {
// 異常處理
e.printStackTrace();
}
}
/**
* 移除使用者賬號
*
* @param userid
* 使用者賬號
*/
public static void removeAccount(String userid) {
try {
// 呼叫移除使用者賬號的方法
int result = ConfigManager.removeAccount(userid);
// 返回0,代表移除成功
if (result == 0) {
System.out.println("移除使用者賬號[" + userid + "]成功!");
}
// 返回非0,代表移除失敗
else {
System.out.println("移除使用者賬號[" + userid + "]失敗!錯誤碼:" + result);
}
} catch (Exception e) {
// 異常處理
e.printStackTrace();
}
}
/**
*
* @description 單條傳送
* @param smsSendConn
* 簡訊處理物件,在這個方法中呼叫傳送簡訊功能
* @param userid
* 使用者賬號
* @param code
* 隨機生成的驗證碼
*/
public static int singleSend(SmsSendConn smsSendConn, String userid, String code,String phone) {
// 返回值
int result = -310099;
try {
// 引數類
Message message = new Message();
// 設定使用者賬號 指定使用者賬號傳送,需要填寫使用者賬號,不指定使用者賬號傳送,無需填寫使用者賬號
message.setUserid(userid);
// 設定手機號碼 此處只能設定一個手機號碼
message.setMobile(phone);
// 設定內容
message.setContent("驗證碼:" + code + ",打死都不要告訴別人哦!");
// 設定擴充套件號
message.setExno("11");
// 使用者自定義流水編號
message.setCustid("20160929194950100001");
// 自定義擴充套件資料
message.setExdata("abcdef");
// 業務型別
message.setSvrtype("SMS001");
// 返回的流水號
StringBuffer returnValue = new StringBuffer();
// 傳送簡訊
result = smsSendConn.singleSend(message, returnValue);
// result為0:成功
/*if (result == 0) {
System.out.println("單條傳送提交成功!");
System.out.println(returnValue.toString());
}
// result為非0:失敗
else {
System.out.println("單條傳送提交失敗,錯誤碼:" + result);
}*/
if(0 != result) {
System.out.println("單條傳送提交失敗,錯誤碼:" + result);
}
} catch (Exception e) {
// 異常處理
e.printStackTrace();
}
return result;
}
/**
* 生成6位隨機驗證碼 方法說明
* @return
*/
public static StringBuilder createRandomVcode() {
// 驗證碼
StringBuilder vcode = new StringBuilder();
for (int i = 0; i < 6; i++) {
vcode.append((int) (Math.random() * 9)) ;
}
return vcode;
}
}
呼叫程式碼:
/**
* @author 石樂志
* @version 建立時間:2018年5月18日 上午8:02:25
* 類說明
*/
public class SDKDemoUtilTest {
@Test
public void test() {
StringBuilder phoneCode = SDKDemoUtil.createRandomVcode();
System.out.println(phoneCode);
}
}