Ejemplo n.º 1
0
 def get_user_info(self, tokens: str) -> dict:
     """ 返回一个包含当前用户信息的字典 """
     api = self.host['vip'] + '/general/info'
     logger.info('获取当前用户信息'.center(30, '*'))
     self.header['Token'] = tokens
     response = requests.post(url=api, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 2
0
 def create_wallet(self, coin_id, token) -> dict:
     """ 创建钱包 币种ID是指BTC、ETH等币种"""
     logger.info('创建钱包'.center(30, '*'))
     api = self.host["vip"] + '/general/wallet/create'
     data = {'CoinID': coin_id}
     self.header['Token'] = token
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 3
0
 def login_token(self, login_source=1, ip: str = '', machin_id: str = '', token=None) -> dict:
     """ 使用token登陆 """
     logger.info("使用token进行登录".center(30, '*'))
     api = self.host['vip'] + '/general/tokenlogin'
     data = {'LoginSource': login_source, 'IP': ip, 'MachinID': machin_id}
     self.header['Token'] = token
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 4
0
 def bind_bank_info(self, user_id: int, token) -> dict:
     """ 获取绑定银行信息 """
     api = self.host + '/general/bank/search'
     data = {'UserID': user_id}
     self.header['Token'] = token
     logger.info(str(self.header))
     response = requests.post(url=api, data=data, headers=self.header)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 5
0
 def get_coin_info(self, token) -> list:
     # 返回一个列表,包含所有币种名称
     coin_list = []
     api = self.host['mis'] + '/messy/dictionary/coin'
     self.header['Token'] = token
     logger.info(str(self.header))
     response = requests.post(url=api, headers=self.header, verify=False)
     logger.info(str(response.json()))
     data = response.json()['Data']
     for i in data:
         coin_list.append(i['ID'])
     return coin_list
Ejemplo n.º 6
0
 def set_price_password(self, phone_vericode='123456', password='******', token=None) -> dict:
     """ 设定资金密码 """
     logger.info('设定资金密码'.center(30, '*'))
     api = self.host['vip'] + '/general/fundpw/set'
     self.header['Token'] = token
     data = {'PhoneVeriCode': phone_vericode, 'Password': password}
     logger.info(str(self.header))
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 7
0
 def modify_price_password(self, new_password, old_password='******',
                           phone_veri_code='123456', tokens=None) -> dict:
     """ 修改资金密码 """
     logger.info('修改资金密码'.center(30, '*'))
     api = self.host['vip'] + '/general/fundpw/modify'
     data = {'PhoneVeriCode': phone_veri_code, 'NewPassword': new_password, 'OldPassword': old_password}
     self.header['Token'] = tokens
     logger.info(str(self.header))
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 8
0
 def modify_head_img(self, img_address: str, token: str) -> dict:
     """ 修改头像 img_address为服务器返回的图片地址"""
     logger.info('修改头像'.center(30, '*'))
     api = self.host['vip'] + '/general/headimage/modify'
     # 需要传入一个文件地址
     self.header['Token'] = token
     data = {'Image': img_address}
     logger.info(str(self.header))
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 9
0
    def quotation(
        self,
        type_: int = 3,
        coin_id: str = 'BTC',
    ) -> dict:
        """ 获取一次行情数据 """
        data = {
            'Type': type_,
            'Action': 1,
            'PriceCoin': 'USDT',
            'TradeCoin': coin_id,
            'Source': 2
        }

        logger.info(str(data))
        self.ws.send(json.dumps(data))
        info = self.ws.recv()
        logger.info(info)

        # 以字典形式返回
        return json.loads(info)
Ejemplo n.º 10
0
    def order(self, trade_coin_id: str, direction: int = 66) -> dict:
        """ 委托下单 """
        coin_data = None
        # 价格与价格小数位
        price, price_decimal = 123400, 4
        # 数量与数量小数位
        volume, volume_decimal = 10000000, 6

        if direction == 66:     # 66 为买单
            logger.info('进行买单操作'.center(30, '*'))
        elif direction == 83:   # 83 为卖单
            logger.info('进行卖单操作'.center(30, '*'))

        if trade_coin_id == 'ETH':
            coin_data = {'BrokerID': 10, 'PriceCoinID': 'USDT', 'TradeCoinID': trade_coin_id, 'Direction': direction,
                         'Price': price, 'PriceDecimal': price_decimal, 'Volume': volume,
                         'VolumeDecimal': volume_decimal, 'OrderSouce': 85, 'OrderType': 1, 'CustomInfo': 'test'}

        elif trade_coin_id == 'BTC':
            # 除 ETH币种交易外,其他币种暂未实现
            pass

        elif trade_coin_id == 'LTC':
            pass

        send = {'Type': 1, 'UserID': self.user_id, 'Token': self.token, 'Data': coin_data}

        logger.info(str(send))
        # 以json格式发送数据
        self.ws.send(json.dumps(send))
        ws_info = self.ws.recv()
        logger.info(ws_info)

        try:
            # 如果出现交易失败 停止交易
            assert json.loads(ws_info)['Result']['Msg'] == '成功', '下单失败, 交易停止'
            logger.info('有内鬼,终止交易...')
        except AssertionError:
            self.__del__()
        return json.loads(ws_info)
Ejemplo n.º 11
0
 def add_sell(self,
              u_id,
              biz_id=0,
              buy_type=1,
              decimal=2,
              amount=100,
              price=22200,
              payment_method=2,
              token=None,
              price_token=None):
     """ 用户新增卖单 """
     # 除了接口地址外,其他参数完全与买单易之
     logger.info('用户新增卖单'.center(30, '*'))
     api = self.host + '/v1/user/order/addsell'
     self.header['Token'] = token
     data = {
         "UserId": u_id,
         "BizId": biz_id,
         "Amount": amount,
         "Decimal": decimal,
         "Price": price,
         "PaymentMethod": payment_method,
         "BuyType": buy_type,
         "CoinID": "USDT",
         "WalletToken": price_token
     }
     logger.info(data)
     response = requests.post(url=api,
                              json=data,
                              headers=self.header,
                              verify=False)
     logger.info(response.json())
     return response.json()
Ejemplo n.º 12
0
 def real_name_auth(self, name='lopo', country='中国', complexs="", address='深圳',
                    card_type=1, card_code=None, id_card_front="", id_card_back="", token=None) -> dict:
     """
     实名认证
     :param name: 真实姓名
     :param country: 国家
     :param complexs: 手持证件照片地址(暂不使用)
     :param address: 户籍地址
     :param card_type: 证件类型
     :param card_code: 证件编号
     :param id_card_front: 证件正面照片地址
     :param id_card_back: 证件反面照片地址
     :param token
     """
     if card_code is None:
         before = random.randint(1000000, 9999999)
         last = random.randint(1000000, 9999999)
         card_code = str(before) + str(last)
     logger.info('实名认证操作'.center(30, '*'))
     api = self.host['vip'] + '/general/real/check'
     data = {'Name': name, 'Country': country, 'Complex': complexs, 'Address': address, 'CardType': card_type,
             'CardCode': card_code, 'IDCardFront': id_card_front, 'IDCardBack': id_card_back}
     self.header['Token'] = token
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 13
0
    def login_account(self, phone_number="13100010001", password='******', login_source=1,
                      verification_code='123456', ip='', machin_id='', need_verification_code=1,
                      only_token=False) -> dict or str:
        # 密码方式进行登录账户need_verification_code: 是否需要验证码1 需要, 2 不需要
        # only_token为True时只返回token
        api = self.host['vip'] + '/general/login'
        logger.info(str('进行登录操作').center(30, "*"))
        data = {'PhoneNumber': phone_number, 'Password': password, 'LoginSource': login_source,
                'PhoneVerificationCode': "", 'IP': ip, 'MachinID': machin_id, 'NeedCode': need_verification_code}
        # 如果为 1 则必须传入验证码
        if need_verification_code == 1:
            data['PhoneVerificationCode'] = verification_code
            logger.info(str(self.header))

        response = requests.post(url=api, json=data, headers=self.header, verify=False)
        if response.status_code != 200:
            logger.error('服务器未启动'.center(30, '='))
            raise ConnectionError
        logger.info(str(response.json()))

        if only_token:
            # 只返回Token值
            return response.json()['Token']
        else:
            return response.json()
Ejemplo n.º 14
0
    def __init__(self, user_id, token):
        self.user_id = user_id
        self.token = token

        data = {'Type': 0, 'UserId': self.user_id, 'Token': self.token, 'Data': {"Source": 1, "Action": 1}}
        logger.info('进行登记用户'.center(30, '*'))
        logger.info(str(data))
        self.ws.send(json.dumps(data))
        logger.info(self.ws.recv())
Ejemplo n.º 15
0
 def real_name_cancel(self, token) -> dict:
     """ 取消实名 """
     logger.info('取消实名'.center(30, "*"))
     api = self.host['vip'] + '/general/real/cancel'
     self.header['Token'] = token
     logger.info(str(self.header))
     response = requests.post(url=api, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 16
0
 def check_veri(self, phone_number: str, verification_code: str, types: str) -> dict:
     """ 校验手机验证码 """
     logger.info('验证手机验证码'.center(30, '*'))
     api = self.host + '/api/user/phone/vericheck'
     data = {'PhoneNumber': phone_number, 'VerificationCode': verification_code, 'Type': types}
     logger.info(str(data))
     response = requests.post(url=api, data=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 17
0
 def real_name_info(self, token) -> dict:
     """ 查找自己的实名认证信息 """
     logger.info('实名认证信息'.center(30, '*'))
     api = self.host + '/user/general/real/search'
     self.header['Token'] = token
     logger.info(str(self.header))
     response = requests.post(url=api, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 18
0
 def get_all_wallet(self, token) -> dict:
     """ 获取用户所有钱包 """
     logger.info('获取用户所有钱包'.center(30, '*'))
     api = self.host['vip'] + '/general/wallet/searchall'
     self.header['Token'] = token
     logger.info(str(self.header))
     response = requests.post(url=api, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 19
0
 def relieve_bank(self, u_id: int, password: str, token) -> dict:
     """ 解绑银行卡 """
     logger.info('解除银行卡绑定'.center(30, '*'))
     api = self.host['vip'] + '/general/bank/delete'
     data = {'ID': u_id, 'Password': password}
     self.header['Token'] = token
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 20
0
 def modify_password(self, token='zxc123..', new_password='******', phone_veri_code='123456') -> dict:
     """ 修改账户密码 """
     logger.info('修改密码'.center(30, '*'))
     api = self.host['vip'] + '/general/pw/modify'
     self.header['Token'] = token
     data = {'NewPassword': new_password, 'PhoneVeriCode': phone_veri_code}
     logger.info(str(data))
     response = requests.post(url=api, data=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 21
0
 def extract_coin(self, coin_id, amount, decimal, password, address, phone_veri_code) -> dict:
     """ 提币 Api"""
     logger.info('提币操作'.center(30, '*'))
     api = self.host + '/api/user/wallet/withdraw'
     data = {'CoinID': coin_id, 'Amount': amount, 'Decimal': decimal, 'Password': password,
             'Address': address, 'PhoneVeriCode': phone_veri_code}
     logger.info(str(data))
     response = requests.post(url=api, data=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 22
0
 def recharge_coin_record(self, record_type, page_index, page_count, token) -> dict:
     """ 获取充币提币记录 record_type: 1:所有 2:充币 3:提币"""
     logger.info('获取充提币记录'.center(30, '*'))
     api = self.host["vip"] + '/api/user/wallet/iorecord/search'
     data = {'RecordType': record_type, 'PageIndex': page_index, 'PageCount': page_count}
     self.header['Token'] = token
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 23
0
 def get_coin_wallet(self, coin_id, token) -> dict:
     """ 获取指定币种钱包 """
     logger.info('获取指定钱包'.center(30, '*'))
     api = self.host['vip'] + '/general/wallet/search'
     data = {'CoinID': str(coin_id)}
     logger.info(str(data))
     self.header['Token'] = token
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 24
0
 def get_all_info(self, user_id, token) -> dict:
     """获取银行卡及收款二维码信息"""
     logger.info('获取银行卡及收款二维码信息'.center(30, '*'))
     api = self.host['vip'] + '/api/user/bankpayqr/search'
     self.header['Token'] = token
     data = {'UserID': user_id}
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 25
0
 def relieve_qr_img(self, u_id, password, token) -> dict:
     """ 解绑收款二维码 """
     logger.info('取消绑定收款二维码'.center(30, '*'))
     api = self.host['vip'] + '/api/user/payqr/delete'
     data = {'ID': u_id, 'Password': password}
     self.header['Token'] = token
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 26
0
 def bind_qr_img(self, img_address, pay_type: int, account, password, token, mark="asd",) -> dict:
     """ 绑定收款二维码 """
     logger.info('绑定收款二维码'.center(30, '*'))
     api = self.host['vip'] + '/api/user/payqr/bind'
     data = {'Account': account, 'Mark': mark, 'Password': password, 'PayQRImage': img_address, 'PayType': pay_type}
     self.header['Token'] = token
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 27
0
 def reset_password(self, phone_number: str = '13100010001', new_password: str = '123456',
                    phone_veri_code: str = '123456', token: str = None) -> dict:
     """ 重置账户密码 """
     logger.info('重置密码'.center(30, '*'))
     api = self.host['vip'] + '/general/pw/reset'
     data = {'PhoneNumber': phone_number, 'PhoneVeriCode': phone_veri_code, 'NewPassword': new_password}
     self.header['Token'] = token
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 28
0
 def detailed_commission(self, coin_id, start_time, page_index, page_count, end_time, token) -> dict:
     """ 获取返佣明细 time格式为:20190701000000"""
     logger.info('获取币种信息'.center(30, '*'))
     api = self.host['vip'] + '/general/wallet/rebate/search'
     data = {'CoinID': coin_id, 'StartTime': start_time, 'PageIndex': page_index,
             'PageCount': page_count, 'EndTime': end_time}
     self.header['Token'] = token
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     return response.json()
Ejemplo n.º 29
0
 def check_price_token(self, token, price_password, only_price_token=True) -> dict or str:
     """ 检验资金密码 """
     logger.info('校验资金密码'.center(30, '*'))
     api = self.host['vip'] + '/general/fundpw/check'
     self.header['Token'] = token
     logger.info(str(self.header))
     data = {"Password": price_password, "RetToken": 1}
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     logger.info(str(response.json()))
     if only_price_token:
         return response.json()['Token']
     return response.json()
Ejemplo n.º 30
0
 def bind_bank_card(self, bank_id: int, card_number: str, card_owner: str,
                    bank_addr: str, price_password: str, token) -> dict:
     """ 绑定银行卡 """
     logger.info('绑定银行卡'.center(30, '*'))
     api = self.host['vip'] + '/general/bank/bind'
     data = {'BankID': bank_id, 'CardNumber': card_number, 'CardOwner': card_owner,
             'BankAddr': bank_addr, 'Password': price_password}
     self.header['Token'] = token
     logger.info(str(data))
     response = requests.post(url=api, json=data, headers=self.header, verify=False)
     # print(response.status_code)
     logger.info(str(response.json()))
     return response.json()