系列手记:
开心网辅助程序开发手记
开心网辅助程序开发手记(二):获取好友私家车位信息
开心网辅助程序开发手记(三):实现停车功能
一、由于在开发贴条功能时未曾遇到什么技术上的难题,这里只贴出贴条的相关代码:
Code
/// <summary>
/// 对指定车位进行贴条
/// </summary>
/// <param name="parkingInfo">将进行贴条的车位信息</param>
public PostResult PostOneCar(ParkingInfo parkingInfo)
{
// 该车位上未停车
if (parkingInfo.CarId.Equals("0"))
{
return null;
}
// 车位利润不够贴条
if (!string.IsNullOrEmpty(parkingInfo.CarProfit) && Convert.ToInt32(parkingInfo.CarProfit) <= 150)
{
return null;
}
string postUrl = "http://www.kaixin001.com/parking/post.php";
string postParams = string.Format("_=&acc={0}&parkid={1}&verify={2}", acc, parkingInfo.ParkId, verify);
string postResultJson = new HttpHelper().GetHtml(postUrl, postParams, true, Utility.Cookies);
if (string.IsNullOrEmpty(postResultJson))
{
return null;
}
object o = Newtonsoft.Json.JavaScriptConvert.DeserializeObject(postResultJson.Replace("\\/", "/").Replace("\\u", "\\\\u"));
return new PostResult(o);
}
下面是测试代码:
Code
/// <summary>
///PostOneCar 的测试(对第N个车位进行贴条操作)
///</summary>
[TestMethod()]
public void PostOneCarTest()
{
string loginEmail = UnitTestHelper.LoginEmail;
string loginPassword = UnitTestHelper.LoginPassword;
Utility.Login(loginEmail, loginPassword);
ParkingHelper helper = new ParkingHelper();
helper.GetParkerDetails();
PostResult result = helper.PostOneCar(helper.ParkingList[3]); // 对第N个车位进行贴条操作
Assert.AreEqual<string>("0", result.ErrNo);
Console.WriteLine(result.Error);
}
二、逻辑停车:可能是由于停车逻辑上的问题,进行逻辑停车时偶尔会出现提示停车成功但实际并未停成功的情况,这里就先不介绍停车的逻辑了,希望等将来逻辑停车成功率提高后再介绍。有兴趣的朋友可以参考手记中附带的源码。
三、简单界面
之前写了三篇手记,模拟实现了争车位的部分功能,但一直没有界面,今天特意花了点时间做了一个简单的界面,以下时程序运行状况的截图:
点击下载示例源码(此次源码对之前的源码作了较大的改动)