Browse Source

choozmo coinmarketcap api

Mike 3 years ago
parent
commit
8e1a9e4488
2 changed files with 25 additions and 38 deletions
  1. 3 4
      api/main.py
  2. 22 34
      index.html

+ 3 - 4
api/main.py

@@ -10,8 +10,6 @@ import json
 import urllib.request
 import dataset,json
 
-url = 'https://api.coinmarketcap.com/data-api/v3/nft/collections?start=0&limit=5'
-
 app = FastAPI()
 
 origins = [
@@ -31,8 +29,9 @@ db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/NFTBoard?charset=u
 class subreq(BaseModel):
     email:str
 
-@app.get("/showdata")
-async def showdata():
+@app.get("/showdata/{limit}")
+async def showdata(limit: int = 5):
+    url = 'https://api.coinmarketcap.com/data-api/v3/nft/collections?start=0&limit=' + limit
     r = urllib.request.urlopen(url)
     collections = json.loads(r.read())['data']['collections']
     

+ 22 - 34
index.html

@@ -3452,42 +3452,30 @@
                 var mobile_temp = '';
                 var pc_temp = '';
 
-                $.get("https://api.coinmarketcap.com/data-api/v3/nft/collections?start=0&limit=" + limit, function (result) {
-                    for (var i = 0; i < limit; i++) {
-                        var obj = result.data.collections[i];
-                        var rank = obj.rank;
-                        var slug = obj.slug;
-                        var logo = 'https://s3.coinmarketcap.com/generated/nft/collections/' + slug + '.png';
-                        var website = obj.website;
-                        var name = obj.name;
-                        var assets = obj.transferUniqueAssetsAT;
-                        var collection_net_worth = obj.netWorth;
-                        var volume_7d = obj.volume7d;
-                        var sales_7d = obj.sales7d;
-                        var volume_all_time = obj.volumeAT;
-                        var sales_all_time = obj.salesAT;
-                        var last_7_days = 'https://s3.coinmarketcap.com/generated/sparklines/nft/collection/web/30d/' + slug + '.png';
-
+                $.get('https://nftboard.info:8001/showdata/' + limit, function(r) {
+                    console.log(r); // test         
+                    
+                    for(var i=0; i < limit; i++) {              
                         mobile_temp += ' \
-                    <tr> \
-                        <th scope="row">' + rank + '</th> \
-                        <td><a href="' + website + '" target="_blank" style="text-decoration: none;color:black;"><img class="me-2 img-fluid" src="' + logo + '" alt="' + name + '">' + name + '</a></td> \
-                        <td>' + assets + '</td> \
-                        <td><img class="data-line" src="' + last_7_days + '" alt="' + name + '"></td> \
-                    </tr>';
-
+                            <tr> \
+                                <th scope="row">' + r[i].rank + '</th> \
+                                <td><a href="' + r[i].website + '" target="_blank" style="text-decoration: none;color:black;"><img class="me-2 img-fluid" src="' + r[i].logo + '" alt="' + r[i].name + '">' + r[i].name + '</a></td> \
+                                <td>' + r[i].assets + '</td> \
+                                <td><img class="data-line" src="' + r[i].last_7_days + '" alt="' + r[i].name + '"></td> \
+                            </tr>';
+                        
                         pc_temp += ' \
-                    <tr class="small"> \
-                        <th scope="row">' + rank + '</th> \
-                        <td><a href="' + website + '" target="_blank" style="text-decoration: none;color:black;"><img class="me-2" src="' + logo + '" alt="' + name + '" style="height:40px;width:auto;">' + name + '</a></td> \
-                        <td>' + assets + '</td> \
-                        <td>' + collection_net_worth + '</td> \
-                        <td>' + volume_7d + '</td> \
-                        <td>' + sales_7d + '</td> \
-                        <td>' + volume_all_time + '</td> \
-                        <td>' + sales_all_time + '</td> \
-                        <td><img class="data-line" src="' + last_7_days + '" alt="' + name + '"></td> \
-                    </tr>';
+                            <tr class="small"> \
+                                <th scope="row">' + r[i].rank + '</th> \
+                                <td><a href="' + r[i].website + '" target="_blank" style="text-decoration: none;color:black;"><img class="me-2" src="' + r[i].logo + '" alt="' + r[i].name + '" style="height:40px;width:auto;">' + r[i].name + '</a></td> \
+                                <td>' + r[i].assets + '</td> \
+                                <td>' + r[i].collection_net_worth + '</td> \
+                                <td>' + r[i].volume_7d + '</td> \
+                                <td>' + r[i].sales_7d + '</td> \
+                                <td>' + r[i].volume_all_time + '</td> \
+                                <td>' + r[i].sales_all_time + '</td> \
+                                <td><img class="data-line" src="' + r[i].last_7_days + '" alt="' + r[i].name + '"></td> \
+                            </tr>';
                     }
 
                     $('#mobile').html(mobile_temp);