mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-04-05 19:41:44 +08:00
同步更新代码
This commit is contained in:
parent
969b45e69f
commit
8d3db1a6ff
@ -42,7 +42,7 @@ class Auth extends Controller
|
||||
{
|
||||
SystemAuth::mQuery()->layTable(function () {
|
||||
$this->title = '系统权限管理';
|
||||
}, function (QueryHelper $query) {
|
||||
}, static function (QueryHelper $query) {
|
||||
$query->like('title,desc')->equal('status,utype')->dateBetween('create_at');
|
||||
});
|
||||
}
|
||||
@ -96,9 +96,7 @@ class Auth extends Controller
|
||||
$map = $this->_vali(['auth.require#id' => '权限ID不能为空!']);
|
||||
if (input('action') === 'get') {
|
||||
if ($this->app->isDebug()) AdminService::clear();
|
||||
$nodes = SystemNode::mk()->where($map)->column('node');
|
||||
foreach ($nodes as &$node) $node['title'] = lang($node['title']);
|
||||
$ztree = AdminService::getTree($nodes);
|
||||
$ztree = AdminService::getTree(SystemNode::mk()->where($map)->column('node'));
|
||||
usort($ztree, static function ($a, $b) {
|
||||
if (explode('-', $a['node'])[0] !== explode('-', $b['node'])[0]) {
|
||||
if (stripos($a['node'], 'plugin-') === 0) return 1;
|
||||
|
@ -41,7 +41,7 @@ class Base extends Controller
|
||||
$this->title = '数据字典管理';
|
||||
$this->types = SystemBase::types();
|
||||
$this->type = $this->get['type'] ?? ($this->types[0] ?? '-');
|
||||
}, function (QueryHelper $query) {
|
||||
}, static function (QueryHelper $query) {
|
||||
$query->where(['deleted' => 0])->equal('type');
|
||||
$query->like('code,name,status')->dateBetween('create_at');
|
||||
});
|
||||
|
@ -57,9 +57,10 @@ class Config extends Controller
|
||||
$this->title = '系统参数配置';
|
||||
$this->files = Storage::types();
|
||||
$this->super = AdminService::isSuper();
|
||||
$this->version = ModuleService::getVersion();
|
||||
$this->plugins = Plugin::get('', true);
|
||||
uasort($this->plugins, function ($a, $b) {
|
||||
$this->version = ModuleService::getVersion();
|
||||
$this->framework = ModuleService::getLibrarys('topthink/framework');
|
||||
uasort($this->plugins, static function ($a, $b) {
|
||||
if ($a['space'] === $b['space']) return 0;
|
||||
return $a['space'] > $b['space'] ? 1 : -1;
|
||||
});
|
||||
|
@ -57,7 +57,7 @@ class File extends Controller
|
||||
SystemFile::mQuery()->layTable(function () {
|
||||
$this->title = '系统文件管理';
|
||||
$this->xexts = SystemFile::mk()->distinct()->column('xext');
|
||||
}, function (QueryHelper $query) {
|
||||
}, static function (QueryHelper $query) {
|
||||
$query->like('name,hash,xext')->equal('type')->dateBetween('create_at');
|
||||
$query->where(['issafe' => 0, 'status' => 2, 'uuid' => AdminService::getUserId()]);
|
||||
});
|
||||
|
@ -44,7 +44,7 @@ class Oplog extends Controller
|
||||
$columns = SystemOplog::mk()->column('action,username', 'id');
|
||||
$this->users = array_unique(array_column($columns, 'username'));
|
||||
$this->actions = array_unique(array_column($columns, 'action'));
|
||||
}, function (QueryHelper $query) {
|
||||
}, static function (QueryHelper $query) {
|
||||
$query->dateBetween('create_at')->equal('username,action')->like('content,geoip,node');
|
||||
});
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ class Queue extends Controller
|
||||
$this->command = "sudo -u {$_SERVER['USER']} {$this->command}";
|
||||
}
|
||||
}
|
||||
}, function (QueryHelper $query) {
|
||||
}, static function (QueryHelper $query) {
|
||||
$query->equal('status')->like('code|title#title,command');
|
||||
$query->timeBetween('enter_time,exec_time')->dateBetween('create_at');
|
||||
});
|
||||
@ -68,7 +68,7 @@ class Queue extends Controller
|
||||
protected function _index_page_filter(array $data, array &$result)
|
||||
{
|
||||
$result['extra'] = ['dos' => 0, 'pre' => 0, 'oks' => 0, 'ers' => 0];
|
||||
SystemQueue::mk()->field('status,count(1) count')->group('status')->select()->map(function ($item) use (&$result) {
|
||||
SystemQueue::mk()->field('status,count(1) count')->group('status')->select()->map(static function ($item) use (&$result) {
|
||||
if (intval($item['status']) === 1) $result['extra']['pre'] = $item['count'];
|
||||
if (intval($item['status']) === 2) $result['extra']['dos'] = $item['count'];
|
||||
if (intval($item['status']) === 3) $result['extra']['oks'] = $item['count'];
|
||||
|
@ -41,7 +41,6 @@ class User extends Controller
|
||||
public function index()
|
||||
{
|
||||
$this->type = $this->get['type'] ?? 'index';
|
||||
// 创建快捷查询工具
|
||||
SystemUser::mQuery()->layTable(function () {
|
||||
$this->title = '系统用户管理';
|
||||
$this->bases = SystemBase::items('身份权限');
|
||||
@ -51,9 +50,9 @@ class User extends Controller
|
||||
$query->where(['is_deleted' => 0, 'status' => intval($this->type === 'index')]);
|
||||
|
||||
// 关联用户身份资料
|
||||
$query->with(['userinfo' => function ($relation) {
|
||||
/** @var \think\model\Relation|\think\db\Query $relation */
|
||||
$relation->field('code,name,content');
|
||||
/** @var \think\model\Relation|\think\db\Query $query */
|
||||
$query->with(['userinfo' => static function ($query) {
|
||||
$query->field('code,name,content');
|
||||
}]);
|
||||
|
||||
// 数据列表搜索过滤
|
||||
|
@ -118,7 +118,7 @@ class System extends Controller
|
||||
foreach ($tmpdata as $type => $items) foreach ($items as $name => $value) {
|
||||
$newdata[] = ['type' => $type, 'name' => $name, 'value' => $value];
|
||||
}
|
||||
$this->app->db->transaction(function () use ($newdata) {
|
||||
$this->app->db->transaction(static function () use ($newdata) {
|
||||
SystemConfig::mQuery()->empty()->insertAll($newdata);
|
||||
});
|
||||
$this->app->cache->delete('SystemConfig');
|
||||
|
@ -19,34 +19,34 @@ use think\admin\service\RuntimeService;
|
||||
|
||||
/*! 演示环境禁止操作路由绑定 */
|
||||
if (RuntimeService::check('demo')) {
|
||||
Library::$sapp->route->post('index/pass', function () {
|
||||
Library::$sapp->route->post('index/pass', static function () {
|
||||
return json(['code' => 0, 'info' => lang('演示环境禁止修改用户密码!')]);
|
||||
});
|
||||
Library::$sapp->route->post('config/system', function () {
|
||||
Library::$sapp->route->post('config/system', static function () {
|
||||
return json(['code' => 0, 'info' => lang('演示环境禁止修改系统配置!')]);
|
||||
});
|
||||
Library::$sapp->route->post('config/storage', function () {
|
||||
Library::$sapp->route->post('config/storage', static function () {
|
||||
return json(['code' => 0, 'info' => lang('演示环境禁止修改系统配置!')]);
|
||||
});
|
||||
Library::$sapp->route->post('menu', function () {
|
||||
Library::$sapp->route->post('menu', static function () {
|
||||
return json(['code' => 0, 'info' => lang('演示环境禁止给菜单排序!')]);
|
||||
});
|
||||
Library::$sapp->route->post('menu/index', function () {
|
||||
Library::$sapp->route->post('menu/index', static function () {
|
||||
return json(['code' => 0, 'info' => lang('演示环境禁止给菜单排序!')]);
|
||||
});
|
||||
Library::$sapp->route->post('menu/add', function () {
|
||||
Library::$sapp->route->post('menu/add', static function () {
|
||||
return json(['code' => 0, 'info' => lang('演示环境禁止添加菜单!')]);
|
||||
});
|
||||
Library::$sapp->route->post('menu/edit', function () {
|
||||
Library::$sapp->route->post('menu/edit', static function () {
|
||||
return json(['code' => 0, 'info' => lang('演示环境禁止编辑菜单!')]);
|
||||
});
|
||||
Library::$sapp->route->post('menu/state', function () {
|
||||
Library::$sapp->route->post('menu/state', static function () {
|
||||
return json(['code' => 0, 'info' => lang('演示环境禁止禁用菜单!')]);
|
||||
});
|
||||
Library::$sapp->route->post('menu/remove', function () {
|
||||
Library::$sapp->route->post('menu/remove', static function () {
|
||||
return json(['code' => 0, 'info' => lang('演示环境禁止删除菜单!')]);
|
||||
});
|
||||
Library::$sapp->route->post('user/pass', function () {
|
||||
Library::$sapp->route->post('user/pass', static function () {
|
||||
return json(['code' => 0, 'info' => lang('演示环境禁止修改密码!')]);
|
||||
});
|
||||
}
|
@ -65,7 +65,7 @@
|
||||
{if !sysconf('storage.name_type')}{php}sysconf('storage.name_type','xmd5');{/php}{/if}
|
||||
{if !sysconf('storage.allow_exts')}{php}sysconf('storage.allow_exts','doc,gif,ico,jpg,mp3,mp4,p12,pem,png,rar,xls,xlsx');{/php}{/if}
|
||||
{if !sysconf('storage.local_http_protocol')}{php}sysconf('storage.local_http_protocol','follow');{/php}{/if}
|
||||
<div class="layui-card-body layui-clear">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-btn-group shadow-mini nowrap">
|
||||
{foreach $files as $k => $v}{if sysconf('storage.type') eq $k}
|
||||
{if auth('storage')}<a data-title="配置{$v}" data-modal="{:url('storage')}?type={$k}" class="layui-btn layui-btn-sm layui-btn-active">{$v}</a>{else}<a class="layui-btn layui-btn-sm layui-btn-active">{$v}</a>{/if}
|
||||
@ -73,7 +73,7 @@
|
||||
{if auth('storage')}<a data-title="配置{$v}" data-modal="{:url('storage')}?type={$k}" class="layui-btn layui-btn-sm layui-btn-primary">{$v}</a>{else}<a class="layui-btn layui-btn-sm layui-btn-primary">{$v}</a>{/if}
|
||||
{/if}{/foreach}
|
||||
</div>
|
||||
<div class="margin-top-20 full-width pull-left">
|
||||
<div class="margin-top-20 full-width">
|
||||
<p><b>{:lang('本地服务器存储')}</b>:{:lang('文件上传到本地服务器的 `static/upload` 目录,不支持大文件上传,占用服务器磁盘空间,访问时消耗服务器带宽流量。')}</p>
|
||||
<p><b>{:lang('自建Alist存储')}</b>:{:lang('文件上传到 Alist 存储的服务器或云存储空间,根据服务配置可支持大文件上传,不占用本身服务器空间及服务器带宽流量。')}</p>
|
||||
<p><b>{:lang('七牛云对象存储')}</b>:{:lang('文件上传到七牛云存储空间,支持大文件上传,不占用服务器空间及服务器带宽流量,支持 CDN 加速访问,访问量大时推荐使用。')}</p>
|
||||
@ -154,7 +154,7 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="nowrap text-center">{:lang('核心框架')}</td>
|
||||
<td><a target="_blank" href="https://www.thinkphp.cn">ThinkPHP Version {$app->version()}</a></td>
|
||||
<td><a target="_blank" href="https://www.thinkphp.cn">ThinkPHP Version {$framework.version|default='None'}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="nowrap text-center">{:lang('平台框架')}</td>
|
||||
|
@ -32,7 +32,7 @@
|
||||
</dl>
|
||||
<a class="layui-elip">
|
||||
<span class="headimg" data-lazy-src="{:htmlentities(session('user.headimg'))}"></span>
|
||||
<span>{:lang(htmlentities(session('user.nickname')?:session('user.username')))}</span>
|
||||
<span>{:htmlentities(lang(session('user.nickname')?:session('user.username')))}</span>
|
||||
</a>
|
||||
</li>
|
||||
{else}
|
||||
|
@ -28,7 +28,7 @@
|
||||
<li class="password">
|
||||
<label class="label-required-null">
|
||||
<i class="layui-icon layui-icon-password"></i>
|
||||
<input class="layui-input" required pattern="^\S{4,}$" vali-name="登录密码" name="password" maxlength="32" type="password" autocomplete="off" placeholder="登录密码">
|
||||
<input class="layui-input" required pattern="^\S{4,}$" vali-name="登录密码" name="password" maxlength="32" type="password" autocomplete="off" placeholder="登录密码" lay-affix="eye">
|
||||
</label>
|
||||
</li>
|
||||
<li class="verify layui-hide">
|
||||
|
@ -26,14 +26,14 @@
|
||||
cols: [[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: 'ID', width: 80, sort: true, align: 'center'},
|
||||
{field: 'username', title: '{:lang("操作账号")}', minWidth: 100, sort: true, align: 'center'},
|
||||
{field: 'username', title: '{:lang("操作账号")}', minWidth: 100, width: '8%', sort: true, align: 'center'},
|
||||
{field: 'node', title: '{:lang("操作节点")}', minWidth: 120},
|
||||
{field: 'action', title: '{:lang("操作行为")}', minWidth: 120},
|
||||
{field: 'content', title: '{:lang("操作内容")}', minWidth: 150},
|
||||
{field: 'geoip', title: '{:lang("访问地址")}', minWidth: 100},
|
||||
{field: 'geoip', title: '{:lang("访问地址")}', minWidth: 100, width: '10%'},
|
||||
{field: 'geoisp', title: '{:lang("网络服务商")}', minWidth: 100},
|
||||
{field: 'create_at', title: '{:lang("创建时间")}', minWidth: 170, align: 'center', sort: true},
|
||||
{toolbar: '#toolbar', title: '{:lang("操作面板")}', align: 'center', minWidth: 80, fixed: 'right'}
|
||||
{toolbar: '#toolbar', title: '{:lang("操作面板")}', align: 'center', minWidth: 80, width: '8%', fixed: 'right'}
|
||||
]]
|
||||
});
|
||||
});
|
||||
|
@ -111,6 +111,29 @@ class Config extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定小程序
|
||||
* @auth true
|
||||
* @throws \think\admin\Exception
|
||||
*/
|
||||
public function options_wxapp()
|
||||
{
|
||||
if ($this->request->isGet()) {
|
||||
$data = sysdata('plugin.wechat.wxapp') ?: [];
|
||||
Builder::mk()
|
||||
->addTextInput('appid', '小程序', 'AppId', true, '<b>必选</b>,微信小程序 AppID 需要微信公众号平台获取!', '^wx[0-9a-z]{16}$', ['maxlength' => 18])
|
||||
->addTextInput('appkey', '小程序密钥', 'AppSecret', true, '<b>必选</b>,微信小程序 AppSecret 需要微信公众号平台获取!', '^[0-9a-z]{32}$', ['maxlength' => 32])
|
||||
->addSubmitButton('保存参数')->addCancelButton()
|
||||
->fetch(['vo' => ['appid' => $data['appid'] ?? '', 'appkey' => $data['appkey'] ?? '']]);
|
||||
} else {
|
||||
sysdata('plugin.wechat.wxapp', $this->_vali([
|
||||
'appid.require' => '小程序ID不能为空!',
|
||||
'appkey.require' => '小程序密钥不能为空!'
|
||||
]));
|
||||
$this->success('参数保存成功!');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 微信支付配置
|
||||
* @auth true
|
||||
|
@ -42,7 +42,7 @@ class Fans extends Controller
|
||||
{
|
||||
WechatFans::mQuery()->layTable(function () {
|
||||
$this->title = '微信用户管理';
|
||||
}, function (QueryHelper $query) {
|
||||
}, static function (QueryHelper $query) {
|
||||
$query->where(['appid' => WechatService::getAppid()]);
|
||||
$query->like('nickname')->equal('subscribe,is_black')->dateBetween('subscribe_at');
|
||||
});
|
||||
|
@ -38,7 +38,7 @@ class News extends Controller
|
||||
public function index()
|
||||
{
|
||||
$this->title = '微信图文列表';
|
||||
WechatNews::mQuery(null, function (QueryHelper $query) {
|
||||
WechatNews::mQuery(null, static function (QueryHelper $query) {
|
||||
$query->where(['is_deleted' => 0])->order('id desc')->page();
|
||||
});
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ class Record extends Controller
|
||||
{
|
||||
WechatPaymentRecord::mQuery()->layTable(function () {
|
||||
$this->title = '支付行为管理';
|
||||
}, function (QueryHelper $query) {
|
||||
}, static function (QueryHelper $query) {
|
||||
$db = WechatFans::mQuery()->like('openid|nickname#nickname')->db();
|
||||
if ($db->getOptions('where')) $query->whereRaw("openid in {$db->field('openid')->buildSql()}");
|
||||
$query->like('order_code|order_name#order')->dateBetween('create_time');
|
||||
|
25
app/wechat/lang/en-us.php
Normal file
25
app/wechat/lang/en-us.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
// +----------------------------------------------------------------------
|
||||
// | Wechat Plugin for ThinkAdmin
|
||||
// +----------------------------------------------------------------------
|
||||
// | 版权所有 2014~2023 Anyon <zoujingli@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
// | 官方网站: https://thinkadmin.top
|
||||
// +----------------------------------------------------------------------
|
||||
// | 开源协议 ( https://mit-license.org )
|
||||
// | 免责声明 ( https://thinkadmin.top/disclaimer )
|
||||
// +----------------------------------------------------------------------
|
||||
// | gitee 代码仓库:https://gitee.com/zoujingli/think-plugs-wechat
|
||||
// | github 代码仓库:https://github.com/zoujingli/think-plugs-wechat
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
$extra = [];
|
||||
$extra['请选择微信对接方式,其中微信开放平台授权模式需要微信开放平台支持,还需要搭建第三方服务平台托管系统!'] = 'Please select WeChat docking mode, of which WeChat Open platform authorization mode needs WeChat Open platform support, and a third-party service platform hosting system needs to be built!';
|
||||
$extra['使用微信开放平台授权模式时,微信将授权给第三方服务平台托管系统,消息数据使用 %s 通信协议转发。'] = 'When using WeChat Open platform authorization mode, WeChat will authorize the third-party service platform hosting system, and the message data will be forwarded using %s communication protocol.';
|
||||
$extra['使用微信公众平台直接模式时,需要在微信公众号平台配置授权IP及网页授权域名,将公众号平台获取到的参数填写到下面。'] = 'When using the direct mode of the WeChat public platform, you need to configure the authorized IP and web page authorized domain name on the WeChat official account platform, and fill in the parameters obtained by the official account platform below.';
|
||||
|
||||
return array_merge($extra, [
|
||||
'微信公众平台直接模式' => 'WeChat public platform direct mode',
|
||||
'微信开放平台授权模式' => 'WeChat Open platform authorization mode'
|
||||
]);
|
@ -206,8 +206,8 @@ class PaymentService
|
||||
return [0, '退款大于支付金额!'];
|
||||
}
|
||||
// 创建支付退款申请
|
||||
do $rcode = CodeExtend::uniqidNumber(16, 'R');
|
||||
while (($model = WechatPaymentRefund::mk()->master()->where(['code' => $rcode])->findOrEmpty())->isExists());
|
||||
do $check = ['code' => $rcode = CodeExtend::uniqidNumber(16, 'R')];
|
||||
while (($model = WechatPaymentRefund::mk()->master()->where($check)->findOrEmpty())->isExists());
|
||||
// 初始化退款申请记录
|
||||
$model->save(['code' => $rcode, 'record_code' => $pcode, 'refund_amount' => $amount, 'refund_remark' => $reason]);
|
||||
$options = [
|
||||
|
@ -1,6 +1,9 @@
|
||||
{extend name="main"}
|
||||
|
||||
{block name="button"}
|
||||
<!--{if auth('options_wxapp')}-->
|
||||
<button data-modal="{:url('options_wxapp')}" data-width="600px" data-title="绑定小程序" class='layui-btn layui-btn-sm layui-btn-primary'>绑定小程序</button>
|
||||
<!--{/if}-->
|
||||
<!--{if auth('options_jsonrpc')}-->
|
||||
<button data-modal="{:url('options_jsonrpc')}" data-width="600px" data-title="开放平台接口配置" class='layui-btn layui-btn-sm layui-btn-primary'>开放平台接口</button>
|
||||
<!--{/if}-->
|
||||
@ -11,11 +14,11 @@
|
||||
|
||||
{block name="content"}
|
||||
<div class="think-box-shadow layui-form">
|
||||
<div class="nowrap" style="margin-left:99px;max-width:850px">
|
||||
{foreach ['api'=>'微信公众平台直接模式','thr'=>'微信开放平台授权模式'] as $k=>$v}
|
||||
<div style="margin-left:99px;max-width:750px">
|
||||
{foreach ['api'=>lang('微信公众平台直接模式'),'thr'=>lang('微信开放平台授权模式')] as $k=>$v}
|
||||
<input type="radio" data-wechat-type="{$k}" name="wechat.type" value="{$k}" title="{$v}" lay-filter="wechat_type">
|
||||
{/foreach}
|
||||
<p class="help-block">请选择微信对接方式,其中微信开放平台授权模式需要微信开放平台支持,还需要搭建第三方服务平台托管系统!</p>
|
||||
<div class="help-block">{:lang('请选择微信对接方式,其中微信开放平台授权模式需要微信开放平台支持,还需要搭建第三方服务平台托管系统!')}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="think-box-shadow margin-top-15">
|
||||
|
@ -1,8 +1,8 @@
|
||||
<form action="{:request()->url()}" method="post" data-auto="true" class="layui-form layui-card shadow-none">
|
||||
|
||||
<div class="layui-card-header border-0">
|
||||
<div class="layui-bg-gray padding-left-20 padding-right-20 border-radius-5 layui-elip">
|
||||
使用微信公众平台直接模式时,需要在微信公众号平台配置授权IP及网页授权域名,将公众号平台获取到的参数填写到下面。
|
||||
<div class="layui-card-header border-0" style="height:auto">
|
||||
<div class="layui-bg-gray padding-20 padding-top-0 border-radius-5" style="line-height:2em">
|
||||
{:lang('使用微信公众平台直接模式时,需要在微信公众号平台配置授权IP及网页授权域名,将公众号平台获取到的参数填写到下面。')}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -1,14 +1,15 @@
|
||||
<form action="{:request()->url()}" method="post" data-auto="true" class="layui-form layui-card shadow-none">
|
||||
|
||||
<div class="layui-card-header border-0">
|
||||
<div class="layui-bg-gray padding-left-20 padding-right-20 border-radius-5 layui-elip">
|
||||
使用微信开放平台授权模式时,微信将授权给第三方服务平台托管系统,消息数据使用 <span>JsonRpc</span> 通信协议转发。
|
||||
<div class="layui-card-header border-0" style="height:auto">
|
||||
<div class="layui-bg-gray padding-20 padding-top-0 border-radius-5" style="line-height:2em">
|
||||
{:lang('使用微信开放平台授权模式时,微信将授权给第三方服务平台托管系统,消息数据使用 %s 通信协议转发。',['<span>JsonRpc</span>'])}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card-body">
|
||||
|
||||
<!--{if !empty($wechat)}-->
|
||||
<div class="hr-line-dashed"></div>
|
||||
<div class="layui-form-item margin-bottom-20">
|
||||
<label class="layui-form-label"><b>QRCode</b><br><span class="nowrap color-desc">公众号二维码</span></label>
|
||||
<div class="layui-input-block">
|
||||
|
@ -1,5 +1,5 @@
|
||||
<fieldset>
|
||||
<legend>条件搜索</legend>
|
||||
<legend>{:lang('条件搜索')}</legend>
|
||||
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
|
@ -1,5 +1,5 @@
|
||||
<fieldset>
|
||||
<legend>条件搜索</legend>
|
||||
<legend>{:lang('条件搜索')}</legend>
|
||||
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
|
@ -1,5 +1,5 @@
|
||||
<fieldset>
|
||||
<legend>条件搜索</legend>
|
||||
<legend>{:lang('条件搜索')}</legend>
|
||||
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
|
2
public/static/plugs/jquery/artplayer.min.js
vendored
2
public/static/plugs/jquery/artplayer.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -286,9 +286,11 @@
|
||||
|
||||
.help-label {
|
||||
color: #999 !important;
|
||||
font-size: 12px;
|
||||
|
||||
b {
|
||||
color: #090 !important;
|
||||
font-size: 14px;
|
||||
margin-right: 5px !important;
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user