分类归档

网站开发

FWQ
小程序
教你如何用JS和JAVA 判断是否是微信浏览器
应项目需求必须要求手机端网页在微信浏览器才能运行,第一想到的就是在页面加上js 代码校验是否为微信浏览器. 代码如下: /*判断是不是微信浏览器*/  function isweixin(){      var ua = navigator.userAgent.toLowerCase();      if(ua.match(/MicroMessenger/i)=="micromessenger") {          return true;      } else {          return false;      }  }     因为页面有些多,不愿意改动。于是打算用JAVA 过滤器实现 查找资料JAVA 通过  request..getHeader("user-agent")  可以获取浏览器 String ua = ((HttpServletRequest) request).getHeader("user-agent")          .toLowerCase();  if (ua.indexOf("micromessenger") > 0) {// 是微信浏览器      validation = true;  } 登录后复制 以上就是教你如何用JS和JAVA 判断是否是微信浏览器的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
基于阿里云搭建小程序开发的服务器实例教程
本来是想写基于腾讯云搭建微信小程序服务器的,可惜腾讯云让我有点不好的体验,所以就先放弃使用腾讯云了。所以转而在阿里云上注册了域名和购买了云服务器ecs。 ECS的配置是弹性的,可以根据自己的需要来选择合理的配置,如果你是个初学者为了学习用的话,一开始选择最低配置就行了。 ECS配置选购界面 因为在小程序的生产环境中,为了安全考虑,调用服务器的REST API或WebSocket的话,服务器必须提供安全的链接地址(如mydomain/myservice, wss://mydomian),即需要使用SSL。所以我们需要为我们的服务器购买CA证书和域名。 在阿里云上注册域名还是很方便的,可以到wanwang.aliyun.com这个页面去注册一个。而CA证书,很多国内外机构都提供证书签发认证,国内的比如沃通,国外的如Symantec,这个证书还是有点贵的,根据证书的不同功能,价格也是相差很大,最便宜的也要好几百一年。现在也有免费的证书可以使用,比如Let’s Encrypt。不过,阿里云上也提供了免费的证书,申请起来很方便,我们就来看看怎么申请阿里云里的免费证书。 从阿里云的页面顶部菜单“产品与服务”里面,可以看到“CA证书服务”: CA证书服务菜单 进入页面后,点击页面右上角的“购买证书”按钮,进入证书选择界面: 证书选择 在这里可以选择“免费型DV SSL”证书,这种证书购买一个证书只能对一个明细域名生效,也就是说如果你有几个子域名,如blog.mydomain.com, www.mydomain.com, shop.mydomain.com的话,你分别需要购买3个证书。购买完成后,可以在你购买的订单列表里,点击“补全”信息,输入要绑定这个证书的域名,以及你的个人详细信息等等,提交给签发机构审核,审核完成后,你之前填写的邮箱里也会收到一封如何设置的邮件(这个邮件主要是给域名不是在阿里云注册的用户的设置指南,如果域名在阿里云注册,则会自动对你的域名添加解析记录,不需要你手动去添加)。 然后,请在订单列表中,点击“下载”证书文件的按钮,下载证书文件,里面包含了一些对于不同http server用的证书,如apache, nginx, IIS等,它们用于配置你服务器上安装的http server。 我在ECS上安装的是CentOS,通过yum安装nginx: yum install nginx 登录后复制 然后把服务器证书上传到服务器上,接着配置nginx.conf文件(改配置文件在/etc/nginx目录下),使其支持https的url访问:     server {         listen       443 ssl http2 default_server;         listen       [::]:443 ssl http2 default_server;…
2024-11-25 阅读全文 →
FWQ
小程序
利用C#开发微信公众号之接收事件推送与消息排重的方法介绍
这篇文章主要介绍利用开发微信公众号之接收事件推送与消息排重的方法介绍,详细分析了事件推送与消息排重的使用技巧,对微信开发有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了C#微信公众号开发之接收事件推送与消息排重的方法。分享给大家供大家参考。具体分析如下: 微信服务器在5秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。这样的话,问题就来了。有这样一个场景:当用户关注微信账号时,获取当前用户信息,然后将信息写到数据库中。类似于pc端网站的注册。可能由于这个关注事件中,我们需要处理的业务逻辑比较复杂。如送积分啊,写用户日志啊,分配用户组啊。等等……一系列的逻辑需要执行,或者网络环境比较复杂,无法保证5秒内响应当前用户的操作,那如果当操作尚未完成,微信服务器又给我们的服务器推送了一条相同的关注事件,我们将再次执行我们的那些逻辑,这样就有可能导致数据库中出现重复的数据(有的童鞋就会说了,我在插入数据之前先判断当前是否已经存在了,如果存在了就不执行插入的操作。我想说的是,我当初也是这样想的,但真实的运行环境和我们的调试环境还是有差距的,直到发现数据库中有不少重复的用户信息时,我才发现消息去重的重要性。)。  消息的去重普通消息和事件消息是有区别的。普通消息使用msgid,而事件消息使用FromUserName + CreateTime。我的思路是: 新建类BaseMsg,有三个属性分别是FromUser,MsgFlag,CreateTime。代码如下: 代码如下: public class BaseMsg {         /// <summary>         /// 发送者标识         /// </summary>         public string FromUser { get; set; }         /// <summary>         /// 消息表示。普通消息时,为msgid,事件消息时,为事件的创建时间         /// </summary>         public string MsgFlag { get; set; }         /// <summary>         /// 添加到队列的时间         /// </summary>         public DateTime CreateTime { get; set; } } 登录后复制  创建个静态列表_queue,用来存储消息列表,列表的类型是List . 在处理微信消息体前,首先判断列表是否实例化,如果没有实例化则实例化,否则判断列表的长度是否大于或等于50(这个可以自定义,用处就是微信并发的消息量),如果大于或等于50,则保留20秒内未响应的消息(5秒重试一次,总共重试3次,就是15秒,保险起见这里写20秒)。 获取当前消息体的消息类型,并根据_queue判断当前消息是否已经请求了。如果是事件则保存FromUser和创建时间。如果是普通消息则保存MsgFlag。下面是代码: 代码如下:…
2024-11-25 阅读全文 →
FWQ
CMS教程
织梦dede后台卡怎么办
织梦dede后台卡怎么办? 用过织梦的网友,特别是dede栏目或是数据非常多的情况下,我们从后台第一次登录的话,不少网友都会发现登录完一般都会出现dede后台卡,或是dede后台卡死,或是非常卡的情况    推荐学习: 大家都说这是因为织梦代码优化不好怎么着怎么着的,其实有一些是因为这个原因,但不是完全因为这个。 dede登录后台卡死原因分析 登录完后台,加载的分别为顶部、左侧、右侧内容三个部分。 顶部只是简单的查询一下权限不会卡、左侧也是简单的查询了一下也不会卡,那么原因就是出在右侧内容部分了。那么是因为什么原因引起的呢?我们在右侧会发现有《信息统计》、最新文档、系统版本等信息。 信息统计,很有可能会卡,主要是因为查询四五个表左右,而查询的这些表中如果数据比较多的话,那么可能就会引起卡或是卡死的情况。 最新文档,不是很有可能。 更新信息,如果权限设置不好,在读写时可能会引起卡死情况。 最好的解决方法就是把所有显示的信息全部都删除,这样一来不管是什么原因,在登录后中间就不会查询数据库了,也就不会在卡了。 dede后台卡/假死解决 第1步:打开ftp软件,输入正常的ftp登录帐号和密码及端口号成功到网站中。 第2步:打开dede网站的后台目录dede。 注:dede为dede默认的后台目录,如果是正常使用的网站可能dede目录已经修改。 第3步:在dede目录中找到index_body.php文件,并下载下来。 第4步:把文章中所有的代码全删除掉,并替换为以下代码并保存。 代码如下: <?php echo ""; ?> 登录后复制 第5步:再次打开dede后台,再次成功登录,就会发现,dede后台将不会在卡或假死情况了。 以上就是织梦dede后台卡怎么办的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
小程序开发欢迎界面的代码实例
这篇文章主要介绍了微信小程序 欢迎界面开发的实例详解的相关资料,这里实现欢迎界面的简单实例和实现代码及实现效果图,需要的朋友可以参考下 微信小程序 欢迎界面 市面上大多数的app都会有一个欢迎界面,下面将演示如何通过微信小程序实现一个欢迎界面。 下面将会按照以下的顺序介绍: 布局的实现 逻辑的实现 样式的实现 1.布局的实现 整个布局使用swiper滑动视图实现,滑动视图的每一个item通过一个block块包裹,块中包裹的是滑动视图的每一个item, item中包含image图片和button按钮   <swiper>     <block>      <swiper-item>       <image></image>       <button>立即体验</button>      </swiper-item>     </block>   </swiper> 登录后复制 2.逻辑的实现 在data中准备了一个imgs,数组中存放了3个图片的地址,这里还有一个start,该函数用来监听界面上button的点击。 wx.navigateTo这个api的作用就是实现界面的跳转并有返回的按钮,url是用来指定跳转的界面     Page({     data:{       imgs:[         "http://img.kaiyanapp.com/5edbf92b929f9174e3b69500df52ee21.jpeg?imageMogr2/quality/60",…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序 wx.request的分析
这篇文章主要介绍了微信小程序 wx.request(接口调用方式)详解及实例的相关资料,wx.request请求方式比较简单,但是在使用的时候出现错,这里就记录下,需要的朋友可以参考下 微信小程序 wx.request—-接口调用方式     最近开发了一个微信小程序版的任务管理系统,在向Java后台发送接口时遇到了一些问题,在这里做一个简单的总结。 官方接口 官方给出的接口叫做wx.request,请求方式比较简单,下面是官网给出的请求实例。 wx.request({  url: 'test.php', //仅为示例,并非真实的接口地址  data: {    x: '' ,    y: ''  },  header: {    'content-type': 'application/json'  },  success: function(res) {   console.log(res.data)  } }) 登录后复制 存在的问题 wx.request请求的header中content-type默认为application/json,如果我们想换种方式比如用”application/x-www-form-urlencoded”会发现在请求头信息中并没有取代默认的application/json而是新增了这种方式,另外在用jquery.ajax请求时即便同样使用application/json方式来请求,得到的数据格式也不相同,无论用什么请求方式ajax都会将请求数据转换为&name1=value1&name2=value2的形式,这样在根据content-type来解析请求数据时就会出现问题,不知道微信是有意这样做还是它根本就是个bug。总之是给我带来了不必要的麻烦。 微信小程序发送的是https请求,在本地调试时可以用http,如果放在手机上测试时校验请求方式和域名,不合法会报以下错误: 为了方便请求,可以对wx.request做一个简单的封装,这样我们再调用的时候就方便了许多,代码如下: var app = getApp(); function request(url,postData,doSuccess,doFail,doComplete){    var host = getApp().conf.host;…
2024-11-25 阅读全文 →
FWQ
CMS教程
帝国cms自定义页面在哪
帝国cms 自定义页面位于”模板管理” → “自定义页面”。您可以在此创建、编辑和删除自定义页面,用于创建不属于任何特定栏目或模型的页面。 帝国CMS自定义页面在哪 答案:帝国CMS自定义页面位于”模板管理” → “自定义页面”。 详细说明: 登录帝国CMS后台:访问帝国CMS后台登录页面,输入您的用户名和密码进行登录。 导航到模板管理:在后台左侧菜单中,找到”模板管理”并点击。 选择自定义页面:在”模板管理”页面上,选择”自定义页面”选项卡。 此时,您将看到自定义页面的列表。您可以: 创建新页面:点击”增加自定义页面”按钮,输入页面名称、模板名称和内容,然后点击”提交”保存。 编辑现有页面:点击页面名称旁边的”编辑”链接,进行编辑。 删除页面:勾选需要删除的页面,然后点击”批量操作” → “删除”。 注意: 自定义页面需要使用帝国CMS提供的模板来创建。 自定义页面可以用于创建不属于任何指定栏目或模型的页面,例如联系方式、关于我们或帮助文档。 以上就是自定义页面在哪的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
CMS教程
phpcms更换域名后的处理步骤
PHPCMS在修改域名后,需要修改一些设置才能让网站浏览正常。很多新人直接修改其中1-2项会导致网站故障,部分地址无法变更和功能上的缺失。 下面我们来看一下更换域名后的处理步骤: 1、点击更新缓存,等待缓存更改完毕。 立即学习“”; 2、点击内容–附件管理-附件地址替换 把原附件地址更换为新的地址,如下图: 3、点击内容-批量更新URL-开始更新 4、点击内容–>管理栏目–>更新栏目缓存 5、生成内容页-生成栏目页-生成首页 完成 中间少一步就不会成功。 PHP中文网,大量的免费,欢迎在线学习! 以上就是更换域名后的处理步骤的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
CMS教程
dede php不运行怎么办
dede php不运行的解决办法:1、找到模板引擎禁用标签,删除其中的“php”;2、在sql命令行中执行命令“insert into `dede_sysconfig` (`varname`, `info`, “…)”。 本文操作环境:windows7系统、DedeCMS5.6版,DELL G3电脑 具体问题: dede:php无法执行,在线等急。 织梦后台开始没有模板引擎禁用PHP函数和模板引擎禁用标签 立即学习“”; 我在SQL命令行工具内输入了 INSERT INTO `dede_sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ('cfg_disable_funs', '模板引擎禁用PHP函数', 7, 'bstring', 'phpinfo,eval,exec,passthru,shell_exec,system,proc_open,popen,curl_exec ,curl_multi_exec,parse_ini_file,show_source,file_put_contents'); INSERT INTO `dede_sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ('cfg_disable_tags', '模板引擎禁用标签', 7, 'bstring', 'php'); 登录后复制 后面又去掉了模板引擎禁用标签对应框中的php, 生成界面中还是无法执行dede:php 解决办法: 您要确认,您是否认真仔细地完成了如下二步:  …
2024-11-25 阅读全文 →
FWQ
小程序
怎么在小程序里传东西
怎么在小程序里传东西? 使用微信小程序的官方接口(上传下载) 微信小程序普通的信息交互是非常简单的,通过wx.request接口就可以了。需要注意的一点是,如果是POST请求,必须设置header参数的内容类型content-type为application/x-www-form-urlencoded,否则服务端无法接收小程序POST过来的数据。 代码示例:  wx.request({ url: 'https://api.tianapi.com/meinv/?key={APIKEY}', method: 'POST', data:'num=10', //参数为键值对字符串 header: { //设置参数内容类型为x-www-form-urlencoded 'content-type':'application/x-www-form-urlencoded', 'Accept': 'application/json' }, success: function (res) { console.log(res.data) that.setData({ items: res.data }) } }) 登录后复制 但是,仅仅是简单的文本数据交互可能还不够,如果你的小程序需要下载服务端的文件以及小程序用户上传本地文件到服务端该怎么办?这里就需要用到小程序另外两个接口wx.downloadFile和 wx.uploadFile,在微信小程序中所有官方提供的API接口都是以wx开头的。 一、下载文件接口wx.downloadFile(object) 下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径。 OBJECT参数说明:…
2024-11-25 阅读全文 →