Browse Source

修改校验规则

master
lijunjie 3 years ago
parent
commit
7919715245
  1. 31
      app/Admin/Controllers/EquipResourceRecordController.php
  2. 31
      app/Admin/Forms/EquipCacheForm.php
  3. 31
      app/Admin/Renders/EquipResourceRecordRender.php

31
app/Admin/Controllers/EquipResourceRecordController.php

@ -26,6 +26,7 @@ class EquipResourceRecordController extends AdminController
->body($this->form())
->body(new EquipResourceRecordRender());
}
/**
* Make a grid builder.
*
@ -103,18 +104,22 @@ class EquipResourceRecordController extends AdminController
// 68C0 0866472059902068 01 09 0111 00 00 00000002 01 8D16
// $a = EquipResourceRecordService::getCheckCode('68C008664720599020680109011100000000000201');
$form->text('起始符')->default(68)->disable(true);
$form->text('设备类型')->default('C0')->disable(true);
$form->text('设备号');
$form->text('控制码')->default('01')->disable(true);
$form->text('数据长度')->default('09')->disable(true);
$form->text('指令标识')->default('0111')->disable(true);
$form->text('数据')->default('00')->disable(true);
$form->select('命令方式')->options(['00', '11'])->default(0)->disable(false);
$form->text('自定义数组')->size(8);
$form->text('固定字节')->default('01')->disable(true);
$form->text('累加和校验')->disable(true);
$form->text('结束符')->default('16')->disable(true);
$form->text('起始符')->default(68)->disable(true)->required();
$form->text('设备类型')->default('C0')->disable(true)->required();
$form->text('设备号')->required();
$form->select('控制码')->options(['01', '02'])->default(0)->required();
$form->select('数据长度')->options(['09', '0B'])->default(0)->required();
$form->text('指令标识')->default('0111')->required();
$form->text('数据')->default('00')->required();
$form->select('命令方式')->options(['00', '11'])->default(0)->disable(false)->required();
$form->text('自定义数组')->default('00000000')->size(8)->required();
$form->text('固定字节')->default('01')->disable(true)->required();
$form->text('累加和校验')->disable(true)->required();
$form->button('生成校验码')->class('btn-info 生成校验码');
$form->text('结束符')->default('16')->disable(true)->required();
$form->text('val')->required();
@ -131,7 +136,7 @@ class EquipResourceRecordController extends AdminController
$res = $equip_resource_service->writeCache($param);
if (isset($res['errno'])){
if (isset($res['errno'])) {
if ($res['errno'] === 0) {
return $this->form()->store($param);
}

31
app/Admin/Forms/EquipCacheForm.php

@ -74,18 +74,19 @@ class EquipCacheForm extends Form implements LazyRenderable
// 68C0 0866472059902068 0109 0111 00 0000000002 01 8D16
// $a = EquipResourceRecordService::getCheckCode('68C008664720599020680109011100000000000201');
$this->text('起始符')->disable(true);
$this->text('设备类型')->disable(true);
$this->text('设备号');
$this->text('控制码')->disable(true);
$this->text('数据长度')->disable(true);
$this->text('指令标识')->disable(true);
$this->text('数据')->disable(true);
$this->select('命令方式')->options(['00', '11'])->disable(false);
$this->text('自定义数组');
$this->text('固定字节')->disable(true);
$this->text('累加和校验')->disable(true);
$this->text('结束符')->disable(true);
$this->text('起始符')->disable(true)->required();
$this->text('设备类型')->disable(true)->required();
$this->text('设备号')->required();
$this->select('控制码')->options(['01', '02'])->required();
$this->select('数据长度')->options(['09', '0B'])->required();
$this->text('指令标识')->required();
$this->text('数据')->required();
$this->select('命令方式')->options(['00', '11'])->disable(false)->required();
$this->text('自定义数组')->required();
$this->text('固定字节')->disable(true)->required();
$this->text('累加和校验')->disable(true)->required();
$this->button('生成校验码')->class('btn-info 生成校验码');
$this->text('结束符')->disable(true)->required();
$this->text('val')->required();
$this->addAjaxScript();
@ -111,12 +112,12 @@ class EquipCacheForm extends Form implements LazyRenderable
'起始符' => '68',
'设备类型' => 'C0',
'设备号' => str_pad($this->payload['imei'], 16, '0', STR_PAD_LEFT),
'控制码' => '01',
'数据长度' => '09',
'控制码' => 0,
'数据长度' => 0,
'指令标识' => '0111',
'数据' => '00',
'命令方式' => 0,
'自定义数组' => '',
'自定义数组' => '00000000',
'固定字节' => '01',
'累加和校验' => '',
'结束符' => '16',

31
app/Admin/Renders/EquipResourceRecordRender.php

@ -11,15 +11,13 @@ class EquipResourceRecordRender implements Renderable {
{
return <<<JS
$('.field_设备号').change(function () {
$('.生成校验码').click(function () {
var res = getCheckCode()
})
$('.field_命令方式').change(function () {
var res = getCheckCode()
})
$('.field_自定义数组').change(function () {
var res = getCheckCode()
})
if (!res){
alert('有未填项')
}
});
function getCheckCode() {
@ -33,18 +31,20 @@ class EquipResourceRecordRender implements Renderable {
var val8 = $('.field_命令方式').val();
var val9 = $('.field_自定义数组').val();
var val10 = $('.field_固定字节').val();
var val11 = $('.field_累加和校验').val();
var val12 = $('.field_结束符').val();
if (val3 == '' || val8 == '' || val9 == ''){
return;
}
if (val8 == 0){
val8 = '00'
} else {
val8 = '11'
for(var i = 1; i <= 10 ; i++) {
if (eval('val' + i + '== ""')){
return;
}
}
val4 = val4 == 0 ? '01' : '02';
val5 = val5 == 0 ? '09' : '0B';
val8 = val8 == 0 ? '00' : '11';
let str = val1 + val2 + val3 + val4 + val5 + val6 + val7 + val8 + val9 + val10
let itotal=0,len = str.length,num = 0;
@ -56,6 +56,7 @@ class EquipResourceRecordRender implements Renderable {
}
let mode = itotal%256;
let shex = mode.toString(16)
let res =shex.substr(-2).toUpperCase();
$('.field_累加和校验').val(res)

Loading…
Cancel
Save