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

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响应失败,才找出这个问题。

记录一下,么么哒。

原文地址:https://www.cnblogs.com/cn-oldboy/p/12343706.html

时间: 2024-08-29 13:36:22

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

兼容手机 与PC 的一个插件touchwipe

兼容手机 与PC 的一个插件, 只是简单的 向上,向下,向左,向右 的 .已经上传我的文件里面. http://files.cnblogs.com/files/yjhua/touchwipe.js 源码如下: /* * ---------------------- * TouchWipe * ---------------------- * http://www.uedcool.com * by EddyZhang (张勇辉) * version 2.0 * 2011/12/29 * * #ex

分享一款强大的图片查看器插件,手机PC 通吃,功能超级齐全!

一款强大的图片查看器插件,手机PC 通吃,功能超级齐全! 地址:http://photoswipe.com/

无需Microsoft Word依赖项!Word文档管理API—Aspose.Words v19.11双语言平台同步更新!

Aspose.Words for .NET是用于执行各种文档管理和操作任务,支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.同时支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像.多媒体格式. 我们很高兴地告诉大家Aspose.Words for .NET v19.11全新发布啦!此版本添加特征以设置水平尺的属性,计划支持ECSDA,支持.NET Core 3.0,实施统一的EMF复杂路径渲染等六

141029 V7 异步通知测试,15分钟循环代码重构,同步更新payInfo测试,支付成功timer测试成功说明

支付成功之后的1分钟定时任务:测试成功. 2014-10-29 17:16:06,892 DEBUG [http-bio-8086-exec-1] org.springframework.web.servlet.DispatcherServlet.FrameworkServlet#processRequest [FrameworkServlet.java:991] Successfully completed request 2014-10-29 17:17:06,753 DEBUG [Time

手机&&PC

说明:今天要说的内容是nginx+keeplived 反向代理层 为什么是nginx+keeplived 反向代理而不用Heartbeat+drbd. keeplived 用多与前端负载,heartbeat+drbd的方式多用于后端的负载 1 用户层: 说一下 用户通过安卓手机 苹果手机 与电脑 访问相同的网站,但是看到的内容不同(专门针对手机,PC设计不同的WEB页面),保障用户访问页面最优 2 反向代理层:后端域名有多个,业务有多个.用户反问到反向代理 只会交给主keeplived,就会造成

浏览器更改实现webstrom等前端编辑器的同步更新

经常写css时是不是浏览器调一下几像素,然后会编辑器改改改,有时候改好几次,真的是累死宝宝了,最近发现了谷歌浏览器的强大功能,更改实现代码同步更新,直接可以浏览器写代码同时实现同步刷新了,而且最重要的不需要借助任何插件,只要有谷歌浏览器就好,下面分享一下实现的步骤. 1.工具准备 前端编辑器肯定是必须的啦,另外还需安装谷歌浏览器 2.在浏览器打开要同步的项目--F12打开控制台---sources(如下图) 3.接下来的操作就很关键啦sources下找到文件路径--右键add folder...

SmsManager - Windows Phone手机PC端短信管理工具检查版本更新地址

SmsManager - Windows Phone手机PC端短信管理工具检查版本更新时将抓取此页面中两个特殊字符串之间的文字内容(共3处),并替换\n为换行,html转义字符为原字符. wpsmsmanager0-start[1.2]end-wpsmsmanager0 wpsmsmanager1-start[新版本V1.2已发布(2015/4/10)\n更新说明:\n可导出短信至Android手机\n前往查看?]end-wpsmsmanager1 wpsmsmanager2-start[htt

React中setState同步更新策略

本文和大家分享的主要是React中setState同步更新相关内容,希望对大家学习React有所帮助. 为了提高性能React将setState设置为批次更新,即是异步操作函数,并不能以顺序控制流的方式设置某些事件,我们也不能依赖于 this.state 来计算未来状态.典型的譬如我们希望在从服务端抓取数据并且渲染到界面之后,再隐藏加载进度条或者外部加载提示: componentDidMount() { fetch('https://example.com') .then((res) => re

Winform文件夹内容同步更新、备份、日志、恢复

相信大家做项目或者处理文件时候经常要用到备份的功能,这里给大家做一个可以同步更新文件夹内容并且备份的Winform程序,目前地址路径在App.Config文件里面设置,如需更改直接用记事本编辑即可,下面放代码和截图. 1.CS代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Li