软件开发
开发分享
软件下载

联通充值接口(自动识别验证码)VC6库

时间:2010-07-14 来源:juhe99 点击量:

联通充值接口(自动识别验证码)VC6库

程序功能:

  • 能提交手机号和卡密到联通官网官方接口

  • 实现全自动提交功能

  • 自动提交手机号、卡密参数,验证码能自动识别

  • 支持VB6、VC6、.NET等开发平台调用

测试环境:.NET 3.5,Windows 2003/XP/Win7(测试均通过)
   开发工具:VS2008, VC6.0

接口说明

接口文件:forVC.dll(C++调用时为forVC.tlb组件)

类接口:myFace

类:Class1

成员函数:

payCard(string strPhone, string strConfirmPhone, string strCardPsw);
    strPhone: 手机号
    strConfirmPhone: 确认手机号
    strCardPsw: 充值卡密码
    /*出错时返回对应错误信息,成功时提示充值卡金额、有效期*/

各语言调用方法

1. C++调用

// Import COM即forVC.tlb
// 初始化COM
// 引用myFace
// 调用payCard(...)并传入相关参数

myFacePtr myF(CLSID_Class1);
_bstr_t str1; // 返回结果
str1 = myF->payCard((_bstr_t)strPhoneNum, (_bstr_t)strConfirmPhoneNum, (_bstr_t)strCardPwd);

说明:由于非.NET语言不能直接调用.NET下的DLL,故需将DLL先注册成COM。在VS环境下编译会自动生成forVC.tlb。在实际应用中,运行"注册COM工具"里的reg.bat即可自动注册并生成forVC.tlb(必须保证forVC.dll与reg.bat在同一目录,默认生成的路径为c:\windows\system32),注册完成后"注册COM工具"目录下的文件可移除。

2. C#调用

Class1 myClass = new Class1();
lblStatus.Text = myClass.payCard(txtPhone.Text, txtConfirmPhone.Text, txtCardPsw.Text);
return;

错误处理

DLL里会自动判断传入参数的合法性,调用前无需再判断:

if (string.IsNullOrEmpty(pNum))
{
    return "请输入手机号码";
}
else if (isMatch(pNum, "1[34568]\\d{9}$"))
{
    return "请输入正确的手机号码";
}
else if (string.IsNullOrEmpty(confirmPNum))
{
    return "请您输入确认手机号码";
}
else if (pNum != confirmPNum)
{
    return "您两次输入的手机号码不一致,请您确认";
}
else if (cardPwd.Length != 19)
{
    return "您输入的密码长度错误,请重新输入";
}
else if (string.IsNullOrEmpty(cardPwd))
{
    return "请输入充值卡密码";
}
else if (isMatch(cardPwd, "\\d{19}$"))
{
    return "卡密码必须为19位整数数字";
}
else if (string.IsNullOrEmpty(strVCode))
{
    return "请输入验证码";
}
else if (strVCode.Length != 4)
{
    return "验证码长度不正确";
}

return "";