feat: 后端全量更新 - 含所有本次需求

- Contract.php: 返回合约账户余额(balance_contract)
- My.php: 地址管理增加BTC/ETH
- AppContract.php: 一键平仓(closeall)
- AppProxy.php: 代理专属注册链接 + 分级权限(L1/L2)
- site.php: 手续费减半(0.018→0.009)
- agent_permission_setup.sql: 代理权限SQL
- crypto_news_crawler.py: 新闻自动采集脚本
This commit is contained in:
li
2026-03-30 20:16:32 +08:00
commit 1b24994e74
6721 changed files with 1308571 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-user_id" data-rule="required" data-source="user/user/index" data-field="nickname" class="form-control selectpage" name="row[user_id]" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Curr_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-curr_id" data-rule="required" data-source="curr/index" class="form-control selectpage" name="row[curr_id]" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Num')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-num" data-rule="required" class="form-control" step="0.0001" name="row[num]" type="number" value="0.0000">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Address')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-address" data-rule="required" class="form-control" name="row[address]" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Password')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-password" data-rule="required" class="form-control" name="row[password]" type="text" value="">
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>
+52
View File
@@ -0,0 +1,52 @@
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('现货余额')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-num" data-rule="required" class="form-control" step="0.0001" name="row[num]" type="number" value="{$row.num|htmlentities}">
</div>
</div>
<!-- <div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('冻结现货')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-num_dj" data-rule="required" class="form-control" step="0.0001" name="row[num_dj]" type="number" value="{$row.num_dj|htmlentities}">
</div>
</div>-->
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('法币余额')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-num_fb" data-rule="required" class="form-control" step="0.0001" name="row[num_fb]" type="number" value="{$row.num_fb|htmlentities}">
</div>
</div>
<!-- <div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('冻结法币')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-num_fb_dj" data-rule="required" class="form-control" step="0.0001" name="row[num_fb_dj]" type="number" value="{$row.num_fb_dj|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('量化余额')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-num_lh" data-rule="required" class="form-control" step="0.0001" name="row[num_lh]" type="number" value="{$row.num_lh|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('冻结量化')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-num_lh_dj" data-rule="required" class="form-control" step="0.0001" name="row[num_lh_dj]" type="number" value="{$row.num_lh_dj|htmlentities}">
</div>
</div>-->
<!--<div class="form-group">-->
<!--<label class="control-label col-xs-12 col-sm-2">{:__('Password')}:</label>-->
<!--<div class="col-xs-12 col-sm-8">-->
<!--<input id="c-password" data-rule="required" class="form-control" name="row[password]" type="text" value="{$row.password|htmlentities}">-->
<!--</div>-->
<!--</div>-->
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>
+52
View File
@@ -0,0 +1,52 @@
<form id="freeze-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">用户:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-user_id" data-rule="required" data-source="user/user/index" data-field="username" class="form-control selectpage" name="user_id" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">货币:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-curr_id" data-rule="required" data-source="app/app_currency/index" class="form-control selectpage" data-field="name" name="curr_id" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('类型')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-type" data-rule="required" class="form-control selectpicker" name="type">
<option value="1">冻结</option>
<option value="2">解除冻结</option>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('账户类型')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-zh_type" data-rule="required" class="form-control selectpicker" name="zh_type">
<option value="1">现货账户</option>
<option value="2">法币账户</option>
<option value="3">量化账户</option>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('数量(0=全部)')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-num" class="form-control" step="0.0001" name="num" type="number" value="0">
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>
+41
View File
@@ -0,0 +1,41 @@
<div class="panel panel-default panel-intro">
{:build_heading()}
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding">
<div id="toolbar" class="toolbar">
<a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
<!--<a href="javascript:;" class="btn btn-success btn-add {:$auth->check('app/app_currency_user/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>-->
<a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('app/app_currency_user/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
<!--<a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('app/app_currency_user/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>-->
<!--<a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('app/app_currency_user/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a>-->
<!--<a href="javascript:;" class="btn btn-success-light btn-recharge {:$auth->check('app/app_currency_user/recharge')?'':'hide'}" title="充值" ><i class="fa fa-credit-card"></i> 充值</a>-->
<!--<div class="dropdown btn-group {:$auth->check('app/app_currency_user/multi')?'':'hide'}">-->
<!--<a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>-->
<!--<ul class="dropdown-menu text-left" role="menu">-->
<!--<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>-->
<!--<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>-->
<!--</ul>-->
<!--</div>-->
<a class="btn btn-info btn-dialog btn-success-light" href="app/app_currency_user/recharge" data-name="recharge" title="充值">
<i class="fa fa-leaf"></i>充值
</a>
<!-- <a class="btn btn-info btn-dialog btn-success-light" href="app/app_currency_user/freeze" data-name="freeze" title="冻结">
<i class="fa fa-leaf"></i>冻结
</a>-->
</div>
<table id="table" class="table table-striped table-bordered table-hover table-nowrap"
data-operate-edit="{:$auth->check('app/app_currency_user/edit')}"
data-operate-del="{:$auth->check('app/app_currency_user/del')}"
width="100%">
</table>
</div>
</div>
</div>
</div>
</div>
+29
View File
@@ -0,0 +1,29 @@
<form id="recharge-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">用户ID:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-user_id" data-rule="required" class="form-control" name="user_id" type="number" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">货币:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-curr_id" data-rule="required" data-source="app/app_currency/index" class="form-control selectpage" data-field="name" name="curr_id" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Num')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-num" data-rule="required" class="form-control" step="0.0001" name="num" type="number" value="">
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>
Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB