Kirin 3 years ago
parent
commit
5a1473a4ee
2 changed files with 52 additions and 0 deletions
  1. 50 0
      app/api/controller/PublicController.php
  2. 2 0
      route/api/route.php

+ 50 - 0
app/api/controller/PublicController.php

@@ -86,6 +86,56 @@ class PublicController
 //        var_dump(MiningMachine::buyMachine(1, $request->post('uid'), 100));
 //        var_dump(MiningMachine::buyMachine(1, $request->post('uid'), 100));
     }
     }
 
 
+    public function fileCoinOverview(Request $request)
+    {
+        $res = do_request('https://filfox.info/api/v1/overview', [], null, false);
+        $res = json_decode($res, true);
+        $price = $res['price'];
+//        if (!isset($res['code']) || $res['code'] != 200) $price = 0;
+        $siteTotalPower = UserMiningMachine::where('get_money_type', 'in', 'FIL')->where('status', 'in', [1, 2])->sum('num');
+        $todayAdd = UserMiningMachine::where('get_money_type', 'in', 'FIL')->where('status', 'in', [1, 2])->whereTime('mining_start_time', 'today')->sum('num');
+        $coins = $res['dailyCoinsMined'];
+//        var_dump($coins);
+        $power = $res['totalQualityAdjPower'];
+        $coins = bcdiv($coins, '1000000000000000000', 8);
+//        var_dump($coins);
+        $netTotalPower = bcdiv($power, bcpow(1024, 4), 8);
+        $averageReward = bcdiv($coins, $netTotalPower, 8);
+        return app('json')->successful(compact('netTotalPower', 'averageReward', 'todayAdd', 'siteTotalPower', 'price'));
+    }
+
+    public function fileMinerView(Request $request)
+    {
+        $miners = sys_config('fil_miner', '');
+//        var_dump($miners);
+        $miners = explode(',', $miners);
+//        var_dump($miners);
+        $res = [];
+        foreach ($miners as $v) {
+//            var_dump($v);
+            $res = do_request('https://filfox.info/api/v1/address/' . $v, [], null, false);
+            $res = json_decode($res, true);
+//            var_dump($res);
+            $info = [
+                'name' => $v,
+                'balance' => bcdiv($res['balance'], '1000000000000000000', 4),
+                'availableBalance' => bcdiv($res['miner']['availableBalance'], '1000000000000000000', 4),
+                'initialPledgeRequirement' => bcdiv($res['miner']['initialPledgeRequirement'], '1000000000000000000', 4),
+                'qualityAdjPower' => bcdiv($res['miner']['qualityAdjPower'], bcpow(1024, 4), 8),
+                'vestingFunds' => bcdiv($res['miner']['vestingFunds'], '1000000000000000000', 4),
+                'rank' => $res['miner']['qualityAdjPowerRank'],
+                'ratio' => bcdiv($res['miner']['qualityAdjPower'], $res['miner']['networkQualityAdjPower'], 8),
+                'weightedBlocksMined' => $res['miner']['weightedBlocksMined'],
+                'totalRewards' => bcdiv($res['totalRewards'], '1000000000000000000', 4),
+                'piece' => bcdiv(bcdiv($res['miner']['qualityAdjPower'], bcpow(1024, 3), 8), $res['sectors']['live'], 0)
+            ];
+
+            $res[] = $info;
+        }
+        return app('json')->successful($res);
+        //return app('json')->successful(compact('netTotalPower', 'averageReward', 'todayAdd', 'siteTotalPower', 'price'));
+    }
+
     public function TRC20CashAdmin(Request $request)
     public function TRC20CashAdmin(Request $request)
     {
     {
         $trans_adds = UserMoney::field('money_type,address_TRC20')->select();
         $trans_adds = UserMoney::field('money_type,address_TRC20')->select();

+ 2 - 0
route/api/route.php

@@ -225,6 +225,8 @@ Route::group(function () {
 Route::group(function () {
 Route::group(function () {
     //公共类
     //公共类
     Route::get('index', 'PublicController/index')->name('index');//首页
     Route::get('index', 'PublicController/index')->name('index');//首页
+    Route::get('fil_overview', 'PublicController/fileCoinOverview')->name('fileCoinOverview');//首页
+    Route::get('fil_miner_view', 'PublicController/fileMinerView')->name('fileMinerView');//首页
     Route::get('version', 'PublicController/version')->name('version');//版本
     Route::get('version', 'PublicController/version')->name('version');//版本
     Route::any('test', 'PublicController/test')->name('test');//测试
     Route::any('test', 'PublicController/test')->name('test');//测试
     Route::get('mining_index', 'mining.MiningController/mining_index')->name('mining_index');//算力首页
     Route::get('mining_index', 'mining.MiningController/mining_index')->name('mining_index');//算力首页