import requests
import json
import time
import random

headers = {'Content-Type': 'application/json', 'X-RY-Access-Token': 'test_access_token'}

# 测试环境
URL_batch = 'http://10.3.20.42:8080/receive/batch'
# URL = 'http://10.2.20.42:8080/receive/tkio/'
# URL = 'http://log.trackingio.com/receive/tkio/'
URL = 'http://jisulog.sortda.com/receive/tkio/'
# URL = 'http://172.31.21.207:8080/receive/tkio/'
# URL = 'http://120.53.212.71/receive/tkio/'
# 腾迅云tkio http协议的生产地址:
# URL = 'http://tlog.trackingio.com/receive/tkio/'

# 时间戳
current_time_13 = int(round(time.time() * 1000))
# 时间和日期
when = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
# 日期
ds = time.strftime('%Y-%m-%d', time.localtime(time.time()))
# 设备品牌
manufacturer = 'vivo'
# 设备系统
ryos = 'android'
# 设备类型
rydevicetype = 'vivox9'
# 网络类型
network = 'wifi'
# 分辨率
resolution = '1344*750'
# 运行商
op = '中国移动'
# 支付类型   支付宝(alipay),银联(unionpay),微信支付(weixinpay),易宝支付(yeepay)
paymenttype = 'alipay'
# 货币类型
currencytype = 'CNY'
# 支付的货币金额
currencyamount = '90'
# # 填充广告在变现平台的广告位ID
# adid = '839296815'
# 填充广告的变现平台,例如穿山甲(csj)、优量汇(ylh)、百青藤(bqt)、Sigmob(sigmob)、快手(ks)、Mintegral(mintegral)、OneWay(oneway)、Vungle(vungle)等
adPlatform = 'ylh'
# 页面展示时调用 pageID代表页面唯一标识
# 会话时长,单位秒
appduration = '600'
# 时长,单位:秒
pageduration = '200'
istablet = 'phone'
lib = 'ios'
when1 = '2020-06-06 16:44:31'
# 设备型号
model = '测试1'
# 操作系统版本
ryosversion = '13.6.1'
# 网络环境
network_type = '5g'
# 运营商
carrier = '中国联通'
lv = '1.8.5'


class allEvent:
    # 激活
    def installUpload(self, i, IP, appkey):
        s = json.dumps({
            # "what":'install',
            "appid": appkey,
            # "appType": "wap",
            "context": {
                # "_apptype": "wap",
                "_carrier": carrier,
                "_networkwhat_type": network_type,
                "_ryosversion": ryosversion,
                "_model": model,
                "_pkgname": "com.yanjing.yami",
                # "_campaignid": 'default',
                "_deviceid": i,
                "_imei": i,
                # '_oaid': '875643256870978657463524',
                # 'ua': 'Mozilla/5.0 (Linux; U; Android 7.0; zh-CN; Nexus 5X Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/40.0.2214.89 UCBrowser/11.4.5.937 Mobile Safari/537.36',
                # "idfa": i,
                # "_current_caid": "00_A0FF634AEDF1403205A4A6A1118CDA61_A66338F33BEBB40F5CD65F198AF2F40C",
                # "gxid": "876543567543565",
                # "_idfv": i,
                # "_androidid": i,
                # "_imei2":"324323AAAA",
                # "_meid": "CCC324323",
                "_ip": IP,
                # "_ipv6": i,
                '_manufacturer': manufacturer,
                '_ryos': ryos,
                '_rydevicetype': rydevicetype,
                '_network': network,
                '_resolution': resolution,
                '_op': op,
                '_timestamp': current_time_13,
                '_mac': "5432453241421",
                "_istablet": istablet,
                "_lib": lib,
                "_lib_version": lv
                # "verify": "{\"result\":\"{\"errorMsg\":\"实名认证失败\"}\"}"
,

                # 'sysfsize': '111',
                # '_model': '1',
                # 'sysram': '1',
                # '_ryosversion': '1',
                # 'sysutime': '1',
                # 'sysuname': '1',
                # '_carrier': '1',
                # 'syscountryc': '1',
                # 'sysrtime': '1',



                # "asatoken": "PLEU97c4CmufaE1LSl1WtLiJYp/uAzaw2/u1ClT+/3oOXTZioJj7HQIYfPwXFWajiQSKEQKrVPsMnWQehYxKvM738taR5TvFewAAAVADAAAAywAAAIB8/odC2bsr2fCP0zyFh2a48uyqcqFV3Wn0H+OnHN503dkHiCpsUaiHAptHQ/rAZgwXbtOXr4614Qabc0C6/55eP4mcFycPe24Q6rnkFl5ShwZmeEvu7I/oDWoDFkVKu0zD1g5dI6+yBI6Eb/Jj64OUAv6vpadD2SjJmqyBKHzhoAAAAB+I7jKYVGw7cbkI3+pjVhmfRPcq/WqGUP/FQhenKvuzAAAAnwGApEjvnfSmSwNz08eBOarI6h0R/AAAAIYEBDPzgQTIVpZBqceNqDtPiNNg0gYO9zXPdYKgB+aWtBsu5f6dUTZ/cA0Q2igUO7WpNTVOLT8HiA9GwulZtKM87LwOoD/p4Km9wFfsbZgxSnt6sgYGCfFY4GehIKqsNeuCUS+9M4/Z2LRIcWEXkbhm/AE1XsmemM5JjB8P8+wGe0Mb5Xb1XQABBEUNAAA=",

                # "_oaid_limited": "false",
                # "_app_version": "1.2.0_1565149_1627898",
                # "_timestamp": "1611131462864",
                # "_province": "湖北",
                # "_city": "武汉",
                # "_carrier": "unknown",
                # "_ryos": "Android",
                # "_ry_ts": "1611131463068",
                # "_oaid": "5c70287b-27f5-4ac3-9e9c-2d67b8cf1065",
                # "_pkgname": "com.miHoYo.Yuanshen",
                # "_lib_version": "1.6.2",
                # "_ucid": "unknown",
                # "_ryandroid8version": "29",
                # "_model": "ASK-AL20",
                # "_istablet": "phone",
                # "_mac": "DE:12:94:7D:78:E4",
                # "_ryosversion": "10",
                # "_rydevicetype": "ASK-AL20",
                # "_ry_origin_when": "2021-01-20 16:31:03",
                # "_imei": "5c70287b-27f5-4ac3-9e9c-2d67b8cf1065",
                # "_meid": "unknown",
                # "_lib": "Android",
                # "_tz": "+8",
                # "_audio_volume": "0",
                # "_manufacturer": "HUAWEI",
                # "_create_timestamp": "1611131463351",
                # "_ip": IP,
                # "_imei2": "unknown",
                # "_resolution": "1412*720",
                # "_campaignid": "1",
                # "_bd_vid": "unknown",
                # "_ipv6": "240e:45f:7200:21fb:a81c:2870:e657:4ab6",
                # "_androidid": "ccb8533a2c18827b",
                # "_screen_brightness": "60",
                # "_ukid": "unknown",
                # "_network_type": "UNKOWN",
                # "_deviceid": "5C70287B-27F5-4AC3-9E9C-2D67B8CF1065"

            },
            'when': '2021-01-17 23:59:36',
            # time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
            # 'ds': ds,
            'who': 'lxx_test'

        })
        try:
            p = requests.post(url=URL + 'install', data=s, headers=headers, timeout=5)
            # , headers = headers
            print("激活:" + p.text)
            print("设备id:" + i)
            print(p.url)
        except Exception as err:
            print(err)

    # 今日头条归因
    def formevent(self, i, IP, appkey):
        s = json.dumps({
            "appid": appkey,
            "context": {
                "_campaignid": 'default',
                "_deviceid": i,
                "_imei": i,
                # "_imei2":i,
                # "_oaid":i,
                # "_meid":i,
                "_androidid": "2342312",
                "_ip": IP,
                '_manufacturer': manufacturer,
                '_ryos': ryos,
                '_rydevicetype': rydevicetype,
                '_network': network,
                '_resolution': resolution,
                '_op': op,
                "_lib_version": lv,
                '_timestamp': "aaa"
            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
            # 'ds': ds,
            'who': 'lxx_test'

        })
        p = requests.post(url=URL + 'form', data=s, headers=headers, timeout=10)
        print("今日头条表单" + p.text)

        # 启动

    def startupEvent(self, i, IP, appkey):
        s = json.dumps(
            {
                # 'what': 'startup',
                'appid': appkey,
                'context': {
                    '_deviceid': i,
                    '_imei': i,
                    '_androidid': i,
                    '_ip': IP,
                    '_timestamp': current_time_13,
                    "_lib_version": lv,
                    # "current_caid":'2121',
                    # "_campaignid": 'default',
                    # "_deviceid": i,
                    # "_imei": i,
                    # # "_idfa": '75463565745634546',
                    # "_androidid": "424653325643",
                    # # "_imei2":"324323AAAA",
                    # # "_meid": "CCC324323",
                    # "_ip": IP,
                    # # "_ipv6": i,
                    # '_manufacturer': manufacturer,
                    '_ryos': ryos,
                    # '_rydevicetype': rydevicetype,
                    # '_network': network,
                    # '_resolution': resolution,
                    # '_op': op,
                    # '_timestamp': current_time_13,
                    # '_oaid': '999b6e3e-a274-ed22-cebf-2b6dddfc29b7'
                    # # '_mac':"565354131606"
                    'sysfsize': '111',
                    '_model': '1',
                    'sysram': '1',
                    '_ryosversion': '1',
                    'sysutime': '1',
                    'sysuname': '1',
                    '_carrier': '1',
                    'syscountryc': '1',
                    'sysrtime': '1',

                },
                # 'when': when,
                # 'ds': ds,
                'who': 'lxx_test'
            }

        )
        p = requests.post(url=URL + 'startup', data=s, headers=headers, timeout=10)
        print("启动" + p.text)
        print(when)

    # 注册
    def registerEvent(self, i, IP, appkey):
        s = json.dumps({
            # 'what':'register',
            # 标识是否是h5字段
            # "appType": "wap",
            'appid': appkey,
            'context': {
                # "_apptype": "wap",
                '_deviceid': i,
                '_imei': i,
                # "_idfv": i,
                # '_androidid':i,
                '_ip': IP,
                '_timestamp': current_time_13,
                '_oaid': i,
                "_lib_version": lv,

            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'
        })
        p = requests.post(url=URL + 'register', data=s, headers=headers, timeout=10)
        # print("注册时间戳"+current_time_13)
        print("注册" + p.text)

    # 登陆
    def loginEvent(self, i, IP, appkey):
        s = json.dumps({
            # 'what': 'loggedin',
            'appid': appkey,
            # "appType": "wap",
            'context': {
                # "_apptype": "wap",
                '_deviceid': i,
                # '_imei': i,
                "_idfv": i,
                '_androidid': i,
                '_ip': IP,
                '_ryos': ryos,
                "_lib_version": lv,
                "serverid": "111111",
                # '_rydevicetype': rydevicetype,
                '_timestamp': current_time_13

            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'
        })
        try:
            p = requests.post(url=URL + 'loggedin', data=s, headers=headers, timeout=10)
            print("登录" + p.text)
        except Exception as err:
            print(err)

    # 付费

    def payEvent(self, i, IP, appkey):
        # 订单号
        transactionid = ''.join(str(random.choice(range(10))) for _ in range(19))
        s = json.dumps({
            'what': 'payment',
            'appid': appkey,
            'context': {
                '_deviceid': i,
                '_imei': i,
                '_androidid': i,
                '_ip': IP,
                '_timestamp': current_time_13,
                '_transactionid': transactionid,
                '_paymenttype': paymenttype,
                '_ryos': ryos,
                '_currencytype': currencytype,
                '_currencyamount': currencyamount,
                "_lib_version": lv,
                '_oaid': "unknow"

            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'
        })
        p = requests.post(url=URL + 'payment', data=s, headers=headers, timeout=5)
        print("付费" + p.text)
        # print(str(s))

        # 订单

    def payorder(self, i, IP, appkey):
        # 订单号
        transactionid = ''.join(str(random.choice(range(10))) for _ in range(19))
        s = json.dumps({
            'what': 'order',
            'appid': appkey,
            'context': {
                '_deviceid': i,
                '_imei': i,
                '_androidid': i,
                '_ip': IP,
                '_timestamp': current_time_13,
                '_transactionid': transactionid,
                '_paymenttype': paymenttype,
                "_lib_version": lv,
                '_currencytype': currencytype,
                '_ryos': ryos,
                '_currencyamount': currencyamount,

            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'
        })
        p = requests.post(url=URL + 'event', data=s, headers=headers, timeout=5)
        print("订单" + p.text)

    # 自定义事件
    def ziding_event(self, i, IP, appkey, event):
        s = json.dumps({
            'what': event,
            # h5
            # "appType": "wap",
            # 微信
            # "appType": "wx",
            'appid': appkey,
            'context': {
                # "_apptype": "wx",
                '_deviceid': i,
                '_imei': i,
                '_androidid': i,
                '_ip': IP,
                '_ryos': ryos,
                "_lib_version": lv,
                '_key_action_category': '1',
                '_key_action_threshold': '15',
                # 识别是否为自定义事件,默认传1
                '_isreyundefaultevent': '1',
                # 'who': 'lxxtest',
                's': '0',
                'e': '1',
                'm': '2',

            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'
        })
        p = requests.post(url=URL + 'event', data=s, headers=headers, timeout=5)
        print("自定义" + p.text)

        # 自定义事件

    def invoke_test(self, i, IP, appkey):
        s = json.dumps({
            "what": "invoke",
            "appType": "",
            "appid": appkey,
            "context": {
                "_campaignid": "_default_",
                "_rydevicetype": "iPhone",
                "_ip": IP,
                "_ryosversion": ryosversion,
                "_manufacturer": "苹果",
                "frequency": "0.000",
                "_app_version": "2.0",
                "_isreyundefaultevent": "1",
                "_deviceid": i,
                "_device_gps": "unknown",
                "_jbk": "0",
                "_timestamp": "1565941809351",
                "_imei": i,
                # "_idfa": "DBC43622-E34B-440C-B7A7-FB6641D0D9AB",
                "_idfv": i,
                "_lib_version": lv,
                "_carrier": carrier,
                "_ry_ts": "1565941809416",
                "_create_timestamp": "1565941809351",
                "_tz": "+8",
                "_pkgname": "com.reyun.sdktrackingtest",
                "_ipv6": "fe80::1cf8:ea60:3508:1dc2",
                "modify": "0",
                # "_ry_origin_when": "2019-08-16 15:50:09",
                "_resolution": "736*414",
                "_ryos": "iOS",
                "_model": model,
                # "_mac": "02:00:00:00:00:00",
                "_network_type": "WIFI",
                # "_androidid": "5432453421342654",

                "_lats": "1"
            },
            "where": "event",
            # "when": time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # "ds": ds,
            "who": "unknown"
        })
        p = requests.post(url=URL + 'event', data=s, headers=headers, timeout=5)
        print("自定义" + p.text)

        # 广告展示

    def adshow(self, i, IP, appkey, adid):
        s = json.dumps({
            "appid": appkey,
            "context": {
                '_adPlatform': adPlatform,
                '_adId': adid,
                "_campaignid": 'default',
                "_deviceid": i,
                "_imei": i,
                # "_idfa": '75463565745634546',
                "_androidid": "424653325643",
                # "_imei2":"324323AAAA",
                # "_meid": "CCC324323",
                "_ip": IP,
                # "_ipv6": i,
                '_manufacturer': manufacturer,
                '_ryos': ryos,
                '_rydevicetype': rydevicetype,
                '_network': network,
                '_resolution': resolution,
                '_op': op,
                '_timestamp': current_time_13,
                '_oaid': '999b6e3e-a274-ed22-cebf-2b6dddfc29b7',
                "_fill": "0",
                # '_mac':"565354131606"
            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'

        })
        try:
            p = requests.post(url=URL + 'adshow', data=s, headers=headers, timeout=5)
            print("广告展示:" + p.text)
            print("设备id:" + i)
        except Exception as err:
            print(err)

    # 广告点击
    def adclick(self, i, IP, appkey, adid):
        s = json.dumps({
            "appid": appkey,
            "context": {
                '_adPlatform': adPlatform,
                '_adId': adid,
                "_campaignid": 'default',
                "_deviceid": i,
                "_imei": i,
                # "_idfa": '75463565745634546',
                "_androidid": "424653325643",
                # "_imei2":"324323AAAA",
                # "_meid": "CCC324323",
                "_ip": IP,
                # "_ipv6": i,
                '_manufacturer': manufacturer,
                '_ryos': ryos,
                '_rydevicetype': rydevicetype,
                '_network': network,
                '_resolution': resolution,
                '_op': op,
                '_timestamp': current_time_13,
                '_oaid': '999b6e3e-a274-ed22-cebf-2b6dddfc29b7'
                # '_mac':"565354131606"
            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'

        })
        try:
            p = requests.post(url=URL + 'adclick', data=s, headers=headers, timeout=5)
            print("广告点击:" + p.text)
            print("设备id:" + i)
        except Exception as err:
            print(err)

    def retentionEvent(self, i, IP, appkey):
        s = json.dumps(
            {
                "what": "retention",
                "appType": "",
                "appid": appkey,
                "context": {
                    "_campaignid": "_default_",
                    "_rydevicetype": "iPhone",
                    "cfnetworkversion": "1197",
                    "sysuname": "E3DB67CAC7AA864C3CBDE118997ADD44",
                    "kernelinfo": "Darwin Kernel Version 20.0.0: Fri Aug 28 23:07:15 PDT 2020; root:xnu-7195.0.46~9/RELEASE_ARM64_T8030",
                    "language": "disable",
                    "_ryosversion": "14.0",
                    "ua": "unknown",
                    "_manufacturer": "苹果",
                    "frequency": "43.667",
                    "_screen_brightness": "0.442",
                    "_isreyundefaultevent": "1",
                    "_timestamp": "1627372876508",
                    "_idfa": "00000000-0000-0000-0000-000000000000",
                    "sysrtime": "disable",
                    "mn": "e2dbe3e4e5eeabe7f3f3",
                    "_carrier": "disable",
                    "_tz": "+8",
                    "_pkgname": "com.reyun.sdktrackingtest",
                    "_ryos": "ios",
                    "_mac": "02:00:00:00:00:00",
                    "hwm": "D421AP", "pbv": "18A373",
                    "_ip": IP,
                    "sysutime": "disable",
                    "_app_version": "2.0",
                    "_deviceid": i,
                    "less_than_fourteen_dev": "00000000-0000-0000-0000-000000000000",
                    "_jbk": "0",
                    "kernosrelease": "20.0.0",
                    "syscountryc": "disable",
                    "ry_appname": "测试iOS",
                    "_idfv": "31199199-4B90-4E10-9D28-3CA815E2B740",
                    "_lib_version": "1.8.6_jsfc",
                    "_ry_ts": "1627372876761",
                    "_create_timestamp": "1627372876508",
                    "_network_type": "WIFI", "_lats": "0"},
                "where": "event",
                "when": when,
                "deviceid": i,
                "ds": when,
                "who": "TA 5-"
            })
        p = requests.post(url=URL + 'event', data=s, headers=headers, timeout=10)
        print("retention" + p.text)
        print(when)

        # App页面浏览时长分布

    def pageduration(self, i, IP, appkey, sessionID, pageId):
        s = json.dumps({
            "appid": appkey,
            "context": {
                '_pageid': pageId,
                "_sessionid": sessionID,
                '_pageduration': pageduration,
                "_campaignid": 'default',
                "_deviceid": i,
                "_imei": i,
                # "_idfa": '75463565745634546',
                # "_androidid": "424653325643",
                # "_imei2":"324323AAAA",
                # "_meid": "CCC324323",
                "_ip": IP,
                # "_ipv6": i,
                '_manufacturer': manufacturer,
                '_ryos': ryos,
                '_rydevicetype': rydevicetype,
                '_network': network,
                '_resolution': resolution,
                '_op': op,
                '_timestamp': current_time_13,
                '_oaid': '999b6e3e-a274-ed22-cebf-2b6dddfc29b7'
                # '_mac':"565354131606"
            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'

        })
        try:
            p = requests.post(url=URL + 'pageduration', data=s, headers=headers, timeout=5)
            print("App页面浏览时长分布:" + p.text)
        except Exception as err:
            print(err)

    # App使用时长
    def appduration(self, i, IP, appkey, sessionID):
        s = json.dumps({
            "appid": appkey,
            "context": {
                "_appduration": appduration,
                "_sessionid": sessionID,
                "_campaignid": 'default',
                "_deviceid": i,
                "_imei": i,
                # "_idfa": '75463565745634546',
                # "_androidid": "424653325643",
                # "_imei2":"324323AAAA",
                # "_meid": "CCC324323",
                "_ip": IP,
                # "_ipv6": i,
                '_manufacturer': manufacturer,
                '_ryos': ryos,
                '_rydevicetype': rydevicetype,
                '_network': network,
                '_resolution': resolution,
                '_op': op,
                '_timestamp': current_time_13,
                # '_oaid': '999b6e3e-a274-ed22-cebf-2b6dddfc29b7'
                # '_mac':"565354131606"
            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'

        })
        try:
            p = requests.post(url=URL + 'appduration', data=s, headers=headers, timeout=5)
            print("App使用时长:" + p.text)
        except Exception as err:
            print(err)

    # 批量上传数据接口
    def batchUpload(self, i, IP, appkey):
        s = json.dumps(
            {"from": "tkio", "data": [
                {"appid": appkey, "when": "2018-01-08 11:22:42", "what": "startup",
                 "context": {"_manufacturer": "苹果", "_carrier": "unknown", "_lats": "1", "_jbk": "1",
                             "_app_version": "1.0", "_timestamp": "1515381771925", "_create_timestamp": "1515381762624",
                             "_rydevicetype": "iPhone", "_deviceid": "FD8A5386-C25B-49D8-A0F3-2E61B179DA0E",
                             "_tz": "+8", "_resolution": "667*375", "_pkgname": "com.reyun.testapp",
                             "_mac": "80:E6:50:12:4C:DE", "_network_type": "NO CONNECT", "_istf": "8",
                             "_idfv": "27CCEE6E-5ED1-47EC-B486-81F9129C05D3", "_ryosversion": "11.2",
                             "_model": "iPhone Simulator", "_lib_version": "2.0.0", "_ryos": "ios",
                             "_campaignid": "channelid", "_idfa": "FD8A5386-C25B-49D8-A0F3-2E61B179DA0E"},
                 "who": "unknown"},
                {"appid": appkey, "when": "2018-01-08 11:22:42", "what": "register",
                 "context": {"_manufacturer": "苹果", "_carrier": "unknown", "_lats": "1", "_jbk": "1",
                             "_app_version": "1.0", "_timestamp": "1515381771925", "_create_timestamp": "1515381762657",
                             "_rydevicetype": "iPhone", "_deviceid": "FD8A5386-C25B-49D8-A0F3-2E61B179DA0E",
                             "_tz": "+8", "_resolution": "667*375", "_pkgname": "com.reyun.testapp",
                             "_mac": "80:E6:50:12:4C:DE", "_network_type": "NO CONNECT", "_istf": "8",
                             "_idfv": "27CCEE6E-5ED1-47EC-B486-81F9129C05D3", "_ryosversion": "11.2",
                             "_model": "iPhone Simulator", "_lib_version": "2.0.0", "_ryos": "ios",
                             "_campaignid": "channelid", "_idfa": "FD8A5386-C25B-49D8-A0F3-2E61B179DA0E"},
                 "who": "acc1"},
            ]}
        )
        p = requests.post(url=URL_batch, data=s, headers=headers, timeout=5)
        print("自定义" + p.text)



# h5下载
    def H5download(self, i, IP, appkey):
        s = json.dumps({
            "what": "download",
            "appType": "wap",
            "appid": appkey,
            "context": {
                # "_campaignid": "_default_",
                "_deviceid": i,
                # "_cid": "-1",
                # "_ry_ts": "1588130655311",
                "_tz": "+8",
                "_ip": IP,
                "_apptype": "wap",
                "_campaignid_bak": "_default_",
                "_ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36",
                "_cid_bak": "-1"
            },
        "where": "event",
        "deviceid": i,
        "when": when,
        "ds": ds,
        "who": "552317006484"
        })
        try:
            p = requests.post(url=URL + 'event', data=s, headers=headers, timeout=5)
            print("download:" + p.text)
        except Exception as err:
            print(err)


# h5pv
    def H5pv(self, i, IP, appkey):
        s = json.dumps({
            "what": "pageview",
            "appType": "wap",
            "appid": appkey,
            "context": {
                # "_campaignid": "_default_",
                "_deviceid": i,
                # "_cid": "-1",
                # "_ry_ts": "1588130655311",
                "_tz": "+8",
                "_ip": IP,
                "_apptype": "wap",
                # "_campaignid_bak": "_default_",
                "_ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36",
                # "_cid_bak": "-1"
            },
        "where": "event",
        "deviceid": i,
        "when": when,
        "ds": ds,
        "who": "552317006484"
        })
        try:
            p = requests.post(url=URL + 'event', data=s, headers=headers, timeout=5)
            print("pv:" + p.text)
        except Exception as err:
            print(err)

        #h5 注册

    def h5registerEvent(self, i, IP, appkey):
        s = json.dumps({
            # 'what':'register',
            # 标识是否是h5字段
            "appType": "wap",
            'appid': appkey,
            'context': {
                "_apptype": "wap",
                '_deviceid': i,
                '_imei': i,
                # "_idfv": i,
                # '_androidid':i,
                '_ip': IP,
                '_timestamp': current_time_13,
                '_oaid': i,
                "_lib_version": lv,

            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'
        })

        p = requests.post(url=URL + 'register', data=s, headers=headers, timeout=10)
        # print("注册时间戳"+current_time_13)
        print("注册" + p.text)

    # 登陆
    def h5loginEvent(self, i, IP, appkey):
        s = json.dumps({
            # 'what': 'loggedin',
            'appid': appkey,
            "appType": "wap",
            'context': {
                "_apptype": "wap",
                '_deviceid': i,
                # '_imei': i,
                "_idfv": i,
                '_androidid': i,
                '_ip': IP,
                '_ryos': ryos,
                "_lib_version": lv,
                "serverid": "111111",
                # '_rydevicetype': rydevicetype,
                '_timestamp': current_time_13

            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'
        })

        try:
            p = requests.post(url=URL + 'loggedin', data=s, headers=headers, timeout=10)
            print("登录" + p.text)
        except Exception as err:
            print(err)

        # 付费

    def h5payEvent(self, i, IP, appkey):
        # 订单号
        transactionid = ''.join(str(random.choice(range(10))) for _ in range(19))
        s = json.dumps({
            'what': 'payment',
            'appid': appkey,
            "appType": "wap",
            'context': {
                "_apptype": "wap",
                '_deviceid': i,
                '_imei': i,
                '_androidid': i,
                '_ip': IP,
                '_timestamp': current_time_13,
                '_transactionid': transactionid,
                '_paymenttype': paymenttype,
                '_ryos': ryos,
                '_currencytype': currencytype,
                '_currencyamount': currencyamount,
                "_lib_version": lv,
                '_oaid': "unknow"

            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'
        })

        p = requests.post(url=URL + 'payment', data=s, headers=headers, timeout=5)
        print("付费" + p.text)
        # print(str(s))

            # 订单

    def h5payorder(self, i, IP, appkey):
        # 订单号
        transactionid = ''.join(str(random.choice(range(10))) for _ in range(19))
        s = json.dumps({
            'what': 'order',
            'appid': appkey,
            "appType": "wap",
            'context': {
                "_apptype": "wap",

                '_deviceid': i,
                '_imei': i,
                '_androidid': i,
                '_ip': IP,
                '_timestamp': current_time_13,
                '_transactionid': transactionid,
                '_paymenttype': paymenttype,
                "_lib_version": lv,
                '_currencytype': currencytype,
                '_ryos': ryos,
                '_currencyamount': currencyamount,

            },
            # 'when': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
            # 'ds': ds,
            'who': 'lxx_test'
        })
        p = requests.post(url=URL + 'event', data=s, headers=headers, timeout=5)
        print("订单" + p.text)


# h5
    def H5su(self, i, IP, appkey):
        s = json.dumps({
            "what": "startup",
            "appType": "wap",
            "appid": appkey,
            "context": {
                # "_campaignid": "_default_",
                "_deviceid": i,
                # "_cid": "-1",
                # "_ry_ts": "1588130655311",
                "_tz": "+8",
                "_ip": IP,
                "_apptype": "wap",
                # "_campaignid_bak": "_default_",
                "_ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36",
                # "_cid_bak": "-1"
            },
        "where": "event",
        "deviceid": i,
        "when": when,
        "ds": ds,
        "who": "552317006484"
        })
        try:
            p = requests.post(url=URL + 'event', data=s, headers=headers, timeout=5)
            print("pv:" + p.text)
        except Exception as err:
            print(err)