<script type=
"text/javascript">
function lock() {
var controller =
"<?= $this->context->id ?>";
var id =
"<?= $id?>";
$.getJSON(
'/admin.php?r=site/lock', {id: id, controller: controller},
function (json) {
});
}
lock();
setInterval(lock,
30000);
</script>
public function actionLock($id, $controller)
{
$cache = Yii::
$app->cache;
$key =
'lock_'.
$controller.
'_'.
$id;
$value = [
'locked' => time(),
'lockedby' => Yii::
$app->session->get(
'__id')];
if (
$cache->set(
$key,
$value,
60)) {
$ret = [
'state' =>
true];
}
else {
$ret = [
'state' =>
false];
}
echo json_encode((object)
$ret);
}
public function isLock($id)
{
$cache = Yii::
$app->cache;
$key =
'lock_'.
$this->id.
'_'.
$id;
$value =
$cache->get(
$key);
if (
$value &&
$value[
'lockedby'] != Yii::
$app->session->get(
'__id')) {
Yii::
$app->session->setFlash(
'tips',
'<span id="message" style="color:#004eff;display: block;text-indent: 40%;">此条记录已锁定,请稍后再试</span>');
return false ;
}
else{
return true;
}
}
public function actionRolelist_update($id)
{
$model = OrgRole::findOne(
$id);
if (!
$this->isLock(
$id)){
$this->redirect(
$_SERVER[
'HTTP_REFERER']);
};
}
转载请注明原文地址: https://ju.6miu.com/read-664936.html