修正 Proxied、 SSL/TLS 设为 Flexible、开启 Always Use HTTPS
This commit is contained in:
@@ -33,6 +33,9 @@ class Number extends Backend
|
||||
|
||||
protected $modelSceneValidate = true;
|
||||
|
||||
/** @var string */
|
||||
protected $multiFields = 'status,manual_manage';
|
||||
|
||||
/** @var string[] */
|
||||
protected $noNeedRight = ['script'];
|
||||
|
||||
@@ -76,13 +79,8 @@ class Number extends Backend
|
||||
|
||||
$cfg = is_array($this->view->config ?? null) ? $this->view->config : [];
|
||||
$version = (string) \think\Config::get('site.version');
|
||||
$scriptUrl = (string) url('split.number/script', ['v' => $version], false, true);
|
||||
if (strpos($scriptUrl, '?') === false) {
|
||||
$scriptUrl .= '?v=' . $version;
|
||||
}
|
||||
if (strpos($scriptUrl, '://') === false) {
|
||||
$scriptUrl = $this->request->domain() . $scriptUrl;
|
||||
}
|
||||
// 使用站内相对路径,避免生产环境 domain() 与反向代理/HTTPS 不一致导致 JS 跨域丢 Cookie
|
||||
$scriptUrl = (string) url('split.number/script', ['v' => $version], '', false);
|
||||
$cfg['jsname'] = $scriptUrl;
|
||||
$this->view->assign('config', $cfg);
|
||||
$this->view->config = $cfg;
|
||||
@@ -127,6 +125,59 @@ class Number extends Backend
|
||||
return (string) $this->view->fetch($file);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表状态开关:手动关闭时标记 manual_manage=1,防止同步自动恢复开启
|
||||
*
|
||||
* @param string $ids
|
||||
*/
|
||||
public function multi($ids = '')
|
||||
{
|
||||
if (!$this->request->isPost()) {
|
||||
$this->error(__('Invalid parameters'));
|
||||
}
|
||||
$ids = $ids ?: $this->request->post('ids', '');
|
||||
if ($ids === '') {
|
||||
$this->error(__('Parameter %s can not be empty', 'ids'));
|
||||
}
|
||||
|
||||
$params = $this->request->post('params', '');
|
||||
parse_str((string) $params, $values);
|
||||
if (!isset($values['status'])) {
|
||||
parent::multi($ids);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((string) $values['status'] === 'hidden') {
|
||||
$values['manual_manage'] = 1;
|
||||
} elseif ((string) $values['status'] === 'normal') {
|
||||
$values['manual_manage'] = 0;
|
||||
}
|
||||
|
||||
$adminIds = $this->getDataLimitAdminIds();
|
||||
if (is_array($adminIds)) {
|
||||
$this->model->where($this->dataLimitField, 'in', $adminIds);
|
||||
}
|
||||
$count = 0;
|
||||
Db::startTrans();
|
||||
try {
|
||||
$list = $this->model->where($this->model->getPk(), 'in', $ids)->select();
|
||||
foreach ($list as $item) {
|
||||
$count += $item->allowField(true)->isUpdate(true)->save($values);
|
||||
}
|
||||
Db::commit();
|
||||
} catch (ValidateException $e) {
|
||||
Db::rollback();
|
||||
$this->error($e->getMessage());
|
||||
} catch (PDOException|Exception $e) {
|
||||
Db::rollback();
|
||||
$this->error($e->getMessage());
|
||||
}
|
||||
if ($count > 0) {
|
||||
$this->success();
|
||||
}
|
||||
$this->error(__('No rows were updated'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|Json
|
||||
* @throws DbException
|
||||
|
||||
Reference in New Issue
Block a user