var milliStamp : String {
let timeInterval: TimeInterval = Date().timeIntervalSince1970
let millisecond = CLongLong(round(timeInterval*1000))
return "\(millisecond)"
}
var revealSh(){
REVEAL_APP_PATH=$(mdfind kMDItemCFBundleIdentifier="com.ittybittyapps.Reveal2" | head -n 1)
BUILD_SCRIPT_PATH="${REVEAL_APP_PATH}/Contents/SharedSupport/Scripts/reveal_server_build_phase.sh"
if [ "${REVEAL_APP_PATH}" -a -e "${BUILD_SCRIPT_PATH}" ]; then
"${BUILD_SCRIPT_PATH}"
else
echo "Reveal Server not loaded: Cannot find a compatible Reveal app."
fi
}
//生成k线图的测试数据 repeatCount是需要重复的次数
var klineDataCount : Int = 0
var basicTime : CLongLong = 1535662800
func createKlineData(_ repeatCount : Int) -> [String : Any]{
if klineDataCount > repeatCount - 40 {
basicTime += 60
klineDataCount = 0
}
var dataArray = [Double]()
for _ in 0..<4 {
let value = Double(16000) + Double(arc4random() % 2000000) / 1666.6
dataArray.append(value)
}
dataArray.sort{$0 < $1}
let low = dataArray.first
let high = dataArray.last
var open = 0.0
var close = 0.0
let volume = Double(arc4random() % 100000) / 6.66
let randomNum = arc4random() % 10
if randomNum % 2 == 1 {
open = dataArray[1]
close = dataArray[2]
}else{
open = dataArray[2]
close = dataArray[1]
}
var dataDic = [String : Any]()
dataDic["T"] = basicTime
dataDic["o"] = String(open)
dataDic["h"] = String(high!)
dataDic["l"] = String(low!)
dataDic["c"] = String(close)
dataDic["v"] = String(volume)
// var doubleDataArray = [basicTime,open,high,low,close]
// let stringDataArray = doubleDataArray.map{
// value in
// return String(value!)
// }
klineDataCount += 1
return dataDic
}
// 创建https的虚拟数据
func createGetKLineDataByHttpStub() {
// transferArrayToJson()
// getJsonArrayString()
weak var weakSelf : PKKLineDemoView! = self
stub(condition: isHost(iOSPrincekinTestBaseURLHost)) {
req in
print(req)
let dataDic = ["1":"2"]
let stubData = try! JSONSerialization.data(withJSONObject: dataDic, options: .prettyPrinted)
return OHHTTPStubsResponse(fileAtPath: OHPathForFile("data.json", type(of: weakSelf))!,statusCode: 200,headers: ["Content-Type":"application/json"])
}
}
func getDataFromHttp(){
weak var weakSelf : PKKLineDemoView! = self
createGetKLineDataByHttpStub()
var param : [String : Any] = [String : Any]()
param["symbol"] = wSymbol //"CZRETH"
let urlString : String = iOSPrincekinTestBaseURL + "/kline"
Alamofire.request(urlString, method: .get, parameters: param, encoding: URLEncoding.default, headers: nil).responseJSON {response in
let dataArray : [[String]]? = response.value as? [[String]]
if dataArray == nil{
return
}
let klineGroup = PKKLineGroup()
klineGroup.klineArray = PKKLineGroup.klineArray(klineStringArray: dataArray!)
weakSelf.initData(klineArray: klineGroup.klineArray)
weakSelf.initFullVCData()
weakSelf.socket?.socketDelegate = weakSelf
}
}