dedecms手机PC同步更新插件的bug修复和前后端调试的经验

时间:2021-02-12 18:48:22

2017年,由于工作原因,下载了一个dedecms手机和PC同步更新的插件。

拿到这个插件的时候,出现了手机端和PC,模板混乱生成的问题。

由于,当时仅仅是使用dedecms,对dede内核的一些函数并不了解。

所以,对这个bug的修复,一筹莫展。但并没有放弃,接下来的一两年,我对这个问题,无数次的冲锋都倒了下。

 

趁着疫情这段时间,加上参加了技术培训,这次又冲锋了一次。成功了。

 

一:相关技术基础。

1.要有一定的PHP基础。遇到PHP代码不要怕。能读懂每段代码的意思。

2.要对dede的缓存有一些了解。dede的系统配置,都会生成一个配置文件在服务上。这次,每次访问后台的时候,一些系统配置参数,直接通过文件(而非通过数据库)读取到。这样加快了,dede后台的访问速度。

3.缓存文件和数据库里的数据,经常会不一样。但由于,生成PC和手机端的时候,模板都是从缓存里读取。因此,如果不及时更新缓存,那更新手机端的时候,就会读取PC端的模板。这就需要,在生成文档之前,进行同步操作。

 

二:关于同步操作

dede是使用JS判断,触发提交事件,到达同步。

但由于,那个插件在同步缓存的时候,缺少了toke参数,因此出现了混乱。

只需要,在/dede/m/panduan.php  文件的第112行,增加一个toke输入框就好了。代码如下。

<input type="hidden" name="token" value="<?php echo $_SESSION[‘token‘]; ?>">

-----------------------------------------------------------------------------------------------------------------------------------------------

三:调试的经验

1.使用F12,打开控制台,对前端,后端,都能做调试

2.要熟悉,控制台network中,post报文的解读,当时也是发现了,post响应失败,才找出这个问题。

记录一下,么么哒。