json_rpc_2 implementation

https://stackoverflow.com/questions/52670255/flutter-json-rpc-2-implementation

import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:json_rpc_2/json_rpc_2.dart' as json_rpc;
import 'package:web_socket_channel/io.dart';

class SymbolDetails extends StatelessWidget {
  final String symbolId;

  SymbolDetails({this.symbolId});

  @override
  Widget build(BuildContext context) {
    var _api = IOWebSocketChannel.connect('wss://api.hitbtc.com/api/2/ws');
    var client = json_rpc.Client(_api.cast());
    client.sendNotification(
      'subscribeTicker',
      {'symbol': '$symbolId'},
    );
    return Scaffold(
      appBar: AppBar(
        title: Text('$symbolId details'),
      ),
      body: StreamBuilder(
        stream: _api.stream,
        builder: (BuildContext context, AsyncSnapshot snapshot) {
          if (snapshot.connectionState == ConnectionState.none) {
            return Center(
              child: Text('Please check your internet connection'),
            );
          } else if (!snapshot.hasData) {
            return Center(child: CircularProgressIndicator());
          }
          String _snapshotData = snapshot.data;
          Map _response = json.decode(_snapshotData);
          return ListView(
            children: [
              ListTile(
                title: Text('Ask price:'),
                trailing: Text(
                  '${_response['params']['ask']}',
                  style: TextStyle(fontWeight: FontWeight.bold),
                ),
              ),
              ListTile(
                title: Text('Bid price:'),
                trailing: Text(
                  '${_response['params']['bid']}',
                  style: TextStyle(fontWeight: FontWeight.bold),
                ),
              ),
            ],
          );
        },
      ),
    );
  }
}

  

 

猜你喜欢

转载自www.cnblogs.com/pythonClub/p/10903725.html
今日推荐