开心网辅助程序开发手记(四):贴条功能+逻辑停车+简单界面

系列手记:

开心网辅助程序开发手记

开心网辅助程序开发手记(二):获取好友私家车位信息

开心网辅助程序开发手记(三):实现停车功能

一、由于在开发贴条功能时未曾遇到什么技术上的难题,这里只贴出贴条的相关代码:

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);
}

 

二、逻辑停车:可能是由于停车逻辑上的问题,进行逻辑停车时偶尔会出现提示停车成功但实际并未停成功的情况,这里就先不介绍停车的逻辑了,希望等将来逻辑停车成功率提高后再介绍。有兴趣的朋友可以参考手记中附带的源码。

三、简单界面

      之前写了三篇手记,模拟实现了争车位的部分功能,但一直没有界面,今天特意花了点时间做了一个简单的界面,以下时程序运行状况的截图:

开心网辅助程序开发手记(四):贴条功能+逻辑停车+简单界面_第1张图片 

点击下载示例源码(此次源码对之前的源码作了较大的改动)

你可能感兴趣的:(开心网辅助程序开发手记(四):贴条功能+逻辑停车+简单界面)