功能改进
个人设置页面支持容量显示
This commit is contained in:
parent
f3119ac609
commit
20928c572b
@ -4,6 +4,7 @@ namespace app\controllers;
|
|||||||
|
|
||||||
use app\models\User;
|
use app\models\User;
|
||||||
use app\models\UserSearch;
|
use app\models\UserSearch;
|
||||||
|
use app\utils\FileSizeHelper;
|
||||||
use ReCaptcha\ReCaptcha;
|
use ReCaptcha\ReCaptcha;
|
||||||
use Yii;
|
use Yii;
|
||||||
use yii\base\Exception;
|
use yii\base\Exception;
|
||||||
@ -321,7 +322,7 @@ class UserController extends Controller
|
|||||||
/**
|
/**
|
||||||
* @return string|Response
|
* @return string|Response
|
||||||
*/
|
*/
|
||||||
public function actionInfo()
|
public function actionInfo(): Response|string
|
||||||
{
|
{
|
||||||
if (Yii::$app->user->isGuest) {
|
if (Yii::$app->user->isGuest) {
|
||||||
Yii::$app->session->setFlash('error', '请先登录');
|
Yii::$app->session->setFlash('error', '请先登录');
|
||||||
@ -329,8 +330,17 @@ class UserController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$model = Yii::$app->user->identity;
|
$model = Yii::$app->user->identity;
|
||||||
|
$dataDirectory = Yii::getAlias(Yii::$app->params['dataDirectory']) . '/' . Yii::$app->user->id;
|
||||||
|
$usedSpace = FileSizeHelper::getDirectorySize($dataDirectory);
|
||||||
|
$vaultUsedSpace = 0; // 保险箱已用空间,暂时为0
|
||||||
|
$storageLimit = $model->storage_limit;
|
||||||
|
|
||||||
return $this->render('info', [
|
return $this->render('info', [
|
||||||
'model' => $model,
|
'model' => $model,
|
||||||
|
'usedSpace' => $usedSpace, // B
|
||||||
|
'vaultUsedSpace' => $vaultUsedSpace,
|
||||||
|
'storageLimit' => $storageLimit, // MB
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,13 @@
|
|||||||
|
|
||||||
/* @var $this yii\web\View */
|
/* @var $this yii\web\View */
|
||||||
/* @var $model app\models\User */
|
/* @var $model app\models\User */
|
||||||
|
/* @var $usedSpace int */
|
||||||
|
/* @var $vaultUsedSpace int */
|
||||||
|
|
||||||
|
/* @var $storageLimit int */
|
||||||
|
|
||||||
use app\assets\FontAwesomeAsset;
|
use app\assets\FontAwesomeAsset;
|
||||||
|
use app\utils\FileSizeHelper;
|
||||||
use app\utils\IPLocation;
|
use app\utils\IPLocation;
|
||||||
use yii\bootstrap5\Html;
|
use yii\bootstrap5\Html;
|
||||||
|
|
||||||
@ -12,9 +17,15 @@ $this->title = '个人设置';
|
|||||||
FontAwesomeAsset::register($this);
|
FontAwesomeAsset::register($this);
|
||||||
$this->registerCssFile('@web/css/user-info.css');
|
$this->registerCssFile('@web/css/user-info.css');
|
||||||
$details = IPLocation::getDetails($model->last_login_ip);
|
$details = IPLocation::getDetails($model->last_login_ip);
|
||||||
//if (is_null($details)) {
|
|
||||||
// echo '<script>console.log("IP位置信息功能停用或存在内部错误")</script>';
|
$usedSpace_F = FileSizeHelper::formatBytes($usedSpace);
|
||||||
//}
|
$vaultUsedSpace_F = FileSizeHelper::formatBytes($vaultUsedSpace);
|
||||||
|
$storageLimit_F = FileSizeHelper::formatMegaBytes($storageLimit);
|
||||||
|
$totalUsed_F = FileSizeHelper::formatBytes($usedSpace + $vaultUsedSpace);
|
||||||
|
$is_unlimited = ($storageLimit === -1);
|
||||||
|
$usedPercent = $is_unlimited ? 0 : round($usedSpace / $storageLimit * 100);
|
||||||
|
$vaultUsedPercent = $is_unlimited ? 0 : round($vaultUsedSpace / $storageLimit * 100);
|
||||||
|
$totalUsedPercent = min(($usedPercent + $vaultUsedPercent), 100);
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="user-info">
|
<div class="user-info">
|
||||||
@ -71,7 +82,7 @@ $details = IPLocation::getDetails($model->last_login_ip);
|
|||||||
<span>存储空间</span>
|
<span>存储空间</span>
|
||||||
</span>
|
</span>
|
||||||
<span style="margin-right: 20px">
|
<span style="margin-right: 20px">
|
||||||
N/A <!-- 这里是你的容量显示 -->
|
<?= $totalUsed_F . ' / ' . $storageLimit_F ?>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
@ -82,31 +93,34 @@ $details = IPLocation::getDetails($model->last_login_ip);
|
|||||||
<div class="storage-columns">
|
<div class="storage-columns">
|
||||||
<div class="storage-usage" style="width: 27%">
|
<div class="storage-usage" style="width: 27%">
|
||||||
<p>当前已使用容量</p>
|
<p>当前已使用容量</p>
|
||||||
<span style="font-weight: 600;font-size: 1.4rem;color: black;padding-left: 2px;">N/A GB</span>
|
<span style="font-weight: 600;font-size: 1.4rem;color: black;padding-left: 2px;"><?= $totalUsed_F ?>
|
||||||
<span style="font-size: 0.9rem;">/ N/A TB</span>
|
</span>
|
||||||
|
<span style="font-size: 0.9rem;">/ <?= $storageLimit_F ?></span>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 47%">
|
<div style="width: 47%">
|
||||||
<p>N/A% 已用</p>
|
<p><?= $totalUsedPercent ?>% 已用</p>
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div class="progress-bar" role="progressbar"
|
<div class="progress-bar" role="progressbar"
|
||||||
style="width: 25%;background-color: rgb(52,131,250)" aria-valuenow="25"
|
style="width: <?= $usedPercent ?>%;background-color: rgb(52,131,250)"
|
||||||
|
aria-valuenow="<?= $usedPercent ?>"
|
||||||
aria-valuemin="0" aria-valuemax="100"></div>
|
aria-valuemin="0" aria-valuemax="100"></div>
|
||||||
<div class="progress-bar" role="progressbar"
|
<div class="progress-bar" role="progressbar"
|
||||||
style="width: 25%;background-color: rgb(196,134,0)" aria-valuenow="25"
|
style="width: <?= $vaultUsedPercent ?>%;background-color: rgb(196,134,0)"
|
||||||
|
aria-valuenow="<?= $vaultUsedPercent ?>"
|
||||||
aria-valuemin="0" aria-valuemax="100"></div>
|
aria-valuemin="0" aria-valuemax="100"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="storage-legend" style="color: rgb(140,139,139)">
|
<div class="storage-legend" style="color: rgb(140,139,139)">
|
||||||
<div class="legend-item">
|
<div class="legend-item">
|
||||||
<span class="legend-color" style="background-color: rgb(52,131,250);"></span>
|
<span class="legend-color" style="background-color: rgb(52,131,250);"></span>
|
||||||
<span>网盘已用空间</span>
|
<span>网盘已用空间</span>
|
||||||
<span style="margin-left: auto;">N/A GB <i
|
<span style="margin-left: auto;"><?= $usedSpace_F ?> <i
|
||||||
class="fa-solid fa-arrow-up-right-from-square"
|
class="fa-solid fa-arrow-up-right-from-square"
|
||||||
style="font-size: 0.75rem;"></i></span>
|
style="font-size: 0.75rem;"></i></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="legend-item">
|
<div class="legend-item">
|
||||||
<span class="legend-color" style="background-color: rgb(196,134,0);"></span>
|
<span class="legend-color" style="background-color: rgb(196,134,0);"></span>
|
||||||
<span>保险箱已用空间</span>
|
<span>保险箱已用空间</span>
|
||||||
<span style="margin-left: auto;">N/A GB <i
|
<span style="margin-left: auto;"><?= $vaultUsedSpace_F ?> <i
|
||||||
class="fa-solid fa-arrow-up-right-from-square"
|
class="fa-solid fa-arrow-up-right-from-square"
|
||||||
style="font-size: 0.75rem;"></i></span>
|
style="font-size: 0.75rem;"></i></span>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user