分类归档

网站开发

FWQ
小程序
c#使用微信接口开发微信门户应用中微信消息的处理和应答的方法介绍
这篇文章主要介绍了c#使用微信接口开发微信门户中的微信消息的处理和应答的过程,需要的朋友可以参考下 微信应用如火如荼,很多公司都希望搭上信息快车,这个是一个商机,也是一个技术的方向,因此,有空研究下、学习下微信的相关开发,也就成为计划的安排事情之一了。本系列文章希望从一个循序渐进的角度上,全面介绍微信的相关开发过程和相关经验总结,希望给大家了解一下相关的开发历程。本篇随笔主要基于上一篇《c#使用微信接口开发微信门户应用》的基础上进行深入的介绍,介绍微信消息的处理和应答的过程。 1、微信的消息应答交互 我们知道,微信的服务器架起了客户手机和开发者服务器的一个桥梁,通过消息的传递和响应,实现了与用户的交互操作,下面是它的消息流程图。 微信向开发者服务器请求的消息包含了多种类型,不过基本来说,分为了文本消息处理、事件消息处理、语音消息的识别,以及成为开发者之前的那个消息认证操作基本分类,下面是我绘制的一个消息分类图,其中介绍了这几种关系,以及各自的消息细化分类。 对于这些消息的请求,我们在开发服务器端,需要编写相关的逻辑进行对应给的处理,然后给微信服务器平台回应消息即可。 在前一篇的随笔里面我贴过代码,介绍微信消息处理的入口操作,代码如下所示。 代码如下: public void ProcessRequest(HttpContext context)         {             //WHC.Framework.Commons.LogTextHelper.Info("测试记录");             string postString = string.Empty;             if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")             {                 using (Stream stream = HttpContext.Current.Request.InputStream)                 {                     Byte[] postBytes = new Byte[stream.Length];                     stream.Read(postBytes, 0, (Int32)stream.Length);                     postString = Encoding.UTF8.GetString(postBytes);                 }                 if (!string.IsNullOrEmpty(postString))                 {                     Execute(postString);                 }             }             else             {                 Auth();             }…
2024-11-25 阅读全文 →
FWQ
小程序
微信开发入门学习总结
  上一篇《微信开发—微信开发环境搭建》我们已经完成了微信开发的准备工作,准备工作完成之后,就要开始步入正题了。 一、微信公众平台的基本原理   在开始做之前,先简单介绍了微信公众平台的基本原理。   微信服务器就相当于一个转发服务器,终端(手机、Pad等)发起请求至微信服务器,微信服务器然后将请求转发给我们的应用服务器。应用服务器处理完毕后,将响应数据回发给微信服务器,微信服务器再将具体响应信息回复到微信App终端。   通信协议为:HTTP   数据传输格式为:XML   具体的流程如下图所示:      来一张更加直观的图吧:      我们需要做的事情,就是对微信服务器转发的HTTP请求做出响应。具体的请求内容,我们按照特定的XML格式去解析,处理完毕后,也要按照特定的XML格式返回。 二、微信公众号接入   在微信公众平台开发者文档上,关于公众号接入这一节内容在接入指南上写的比较详细的,文档中说接入公众号需要3个步骤,分别是:   1、填写服务器配置  2、验证服务器地址的有效性  3、依据接口文档实现业务逻辑   其实,第3步已经不能算做公众号接入的步骤,而是接入之后,开发人员可以根据微信公众号提供的接口所能做的一些开发。   第1步中服务器配置包含服务器地址(URL)、Token和EncodingAESKey。   服务器地址即公众号后台提供业务逻辑的入口地址,目前只支持80端口,之后包括接入验证以及任何其它的操作的请求(例如消息的发送、菜单管理、素材管理等)都要从这个地址进入。接入验证和其它请求的区别就是,接入验证时是get请求,其它时候是post请求;   Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性);   EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。本例中全部以未加密的明文消息方式,不涉及此配置项。   第2步,验证服务器地址的有效性,当点击“提交”按钮后,微信服务器将发送一个http的get请求到刚刚填写的服务器地址,并且携带四个参数:      接到请求后,我们需要做如下三步,若确认此次GET请求来自微信服务器,原样返回echostr参数内容,则接入生效,否则接入失败。   1. 将token、timestamp、nonce三个参数进行字典序排序  2. 将三个参数字符串拼接成一个字符串进行sha1加密  3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信   下面我们用Java代码来演示一下这个验证过程   使用IDE(Eclipse或者IntelliJ…
2024-11-25 阅读全文 →
FWQ
CMS教程
dedecms5.6 arclist分页怎么实现
dedecms5.6 arclist分页怎么实现? dedecms5.6 arclist分页的使用,dedecms版首发arclist的分页使用方法,我转帖过来   推荐学习: 代码如下: <script></script>  <script> function multi(pagenum,tagid) { var taget_obj = document.getElementById(tagid); var taget_obj_page = document.getElementById("page_"+tagid); myajax = new DedeAjax(taget_obj,false,false,'','',''); myajax.SendGet2("/plus/arcmulti.php?mtype=0&pnum="+pagenum+'&tagid='+tagid); myajax = new DedeAjax(taget_obj_page,false,false,'','','');…
2024-11-25 阅读全文 →
FWQ
CMS教程
如何为WordPress插件添加微信公众号功能
如何为WordPress插件添加微信公众号功能 随着移动互联网的快速发展,微信公众号已经成为许多企业和个人营销推广的重要工具之一。对于使用WordPress作为网站搭建平台的用户来说,如何为自己的插件添加微信公众号功能成为一个常见的需求。本文将教大家如何为WordPress插件添加微信公众号功能,并提供相应的代码示例。 一、注册微信公众号开发者账号 在开始之前,你需要先注册一个微信公众号开发者账号。打开微信公众平台官网(https://mp.weixin.qq.com/),点击注册按钮,按照指引填写相关信息并完成账号注册。 二、获取微信公众号开发者凭证 注册成功后,进入微信公众号平台开发者中心,点击左侧菜单中的“开发者工具”进入。在“公众号设置”页面,找到“开发者ID”和“开发者密码”这两个重要的凭证。 三、安装WordPress插件 在你的WordPress网站上安装一个可以使用自定义代码功能的插件,如Custom JavaScript插件。安装好之后,进入“设置”菜单找到插件,点击“新建代码片段”。 四、添加微信公众号接口代码 在“新建代码片段”页面,输入代码示例一中的代码。其中,需要将【APPID】替换为你的微信公众号的开发者ID,将【APPSECRET】替换为你的微信公众号的开发者密码。 代码示例一: function get_wechat_access_token() { $appid = '【APPID】'; $appsecret = '【APPSECRET】'; $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&amp;appid='.$appid.'&amp;secret='.$appsecret; $response = wp_remote_get( $url…
2024-11-25 阅读全文 →
FWQ
CMS教程
phpcms v9无法上传缩略图怎么办
v9无法上传缩略图怎么办?phpcms v9缩略图上传失败问题解决办法 正在使用最新版本的Phpcms V9.4.2做一个会议公司网站,正在接近尾声的时候突然发现后台文章的缩略图无法上传! 选择文件时正常,点击开始上传时差不多上传完时突然弹出上面的信息窗“undefined”。 对于phpcms v9,我装了N次了,出现这个问题还是头一回,真是晕死了,在这个分秒必争关键时刻出现这种情况。 凭我的直觉,可能存在下面三个问题: 立即学习“”; 1、服务器使用了Linux系统 2、使用了phpcms的最新版本 3、上传安装包时某个文件出错 我排出问题一般都是从简单到复杂的顺序来执行。 为了排除第一种情况,我安装了phpcms v9早期的版本,测试,一切正常,剩下的问题,我重新上传安装包,确认传输过程不会有文件出错,经测试,问题出现在Phpcms V9.4.2最新版本上,程序的最新版本出现“BUG”是最正常不过了。 带着问题,“顺藤摸瓜”,最后在Phpcms V9官方论坛找到解决的方法: 1、打开phpcmsmodulesattachmentattachments.php文件 2、从第50行开始,把下面的代码删除,代码如下: if(emptyempty($this-&gt;userid)){           exit('0');   } 登录后复制 官方给出的的原因是:这是判断登录后才可以上传,如果用超级管理员登录,这个值为空,所以导致提示错误undefined. PHP中文网,大量的免费,欢迎在线学习! 以上就是 v9无法上传缩略图怎么办的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
CMS教程
PHPCMS布局文件在哪里?
PHPCMS布局文件在哪里? PHPCMS布局文件在网站根目录下的“/templates/default/”这个目录中,其主要的内容模板在该目录下的“content”中,PHPCMS自定义的布局文件的目录,只需将该目录中“default”改为自定义名称即可。 PHPCMS 程序目录结构结构 |—–api  接口文件目录  立即学习“”; |—–caches 缓存文件目录      |—–configs 系统配置文件目录          |—–database.php  数据库配置文件          |—–route.php     路由配置文件     …
2024-11-25 阅读全文 →
FWQ
CMS教程
WordPress怎么实现相关文章功能?几种方法分享
怎么实现相关文章功能?下面本篇文章给大家介绍一下wordpress代码实现相关文章的几种方法,希望对大家有所帮助! WordPress很多插件可以实现相关文章的功能,插件的优点是配置简单,但是可能会对网站的速度造成一些小的影响,所以很多人还是比较喜欢用代码实现需要的功能,但是话又说回来了,代码实现也有缺点,就是配置复杂,不懂代码的人完全摸不着头脑或者只能照搬别人的代码,还不如用插件。 这里我整理编写了几种用代码实现相关文章的方法,这其中会详细标明各部分代码的作用,以及如何自定义你想要的功能,希望对大家有所帮助。开始之前,说明一点,以下所有方法输出的HTML代码格式都是以下形式,你可以根据需要进行修改: 登录后复制 登录后复制 登录后复制 登录后复制 登录后复制      *       *      …… 方法一:标签相关      首先获取文章的所有标签,接着获取这些标签下的 n 篇文章,那么这 n 篇文章就是与该文章相关的文章了。现在可以见到的WordPress相关文章插件都是使用的这个方法。下面是实现的代码: 登录后复制 ID); if ($post_tags) {   foreach ($post_tags as $tag) {     // 获取标签列表     $tag_list[] .= $tag->term_id;   }   // 随机获取标签列表中的一个标签   $post_tag = $tag_list[ mt_rand(0, count($tag_list) – 1) ];…
2024-11-25 阅读全文 →
FWQ
小程序
小程序跨页面交互的作用和方法
去年年末,微信小程序的分包大小已经到达了 12m 大小,一方面说明小程序的确逐步为开发者放开更大的权限,另一方面也说明了对于某些小程序 8m 的大小已经不够用了。我个人今年也是在开发一个 to b 小程序应用。这里列举一些跨页面交互的场景。对于 B 端应用的业务需求来说,小程序开发的复杂度相对比网页开发要复杂一些。一个是双线程的处理机制问题,另一个是页面栈之间交互问题。注: 笔者目前只需要开发微信小程序,为了在小程序页面中可以使用 properties behaviors observers 等新功能,已经使用 Component 构造器来构造页面。具体可以参考微信小程序 Component 构造器。如果你也没有多端开发的需求,建议尝试使用,可以得到不错的体验。 性能优化类 对于小程序在页面中点击触发 wx.navigateTo 跳转其他页面,中间会有一段时间的空白加载期(对于分包出去的页面,空白期则会更长),但是这是小程序内部机制,没有办法进行优化。我们只能眼睁睁的等待这段没有意思的空白期过去。 当考虑到跳转页面后的第一件事情便是取数逻辑,那么我们是否能够进行优化呢?答案是肯定的。我们没有办法直接在当前页面取得数据之后再进行跳转操作(这样操作更不好),但是我们却可以利用缓存当前的请求,详情可以参考我之前的博客文章 ——Promise对象 3 种妙用。 代码如下:…
2024-11-25 阅读全文 →
FWQ
小程序
如何使用vue完成微信公众号网页
有一个H5页面的功能,比较简单的一个调查表功能,嵌套在我们微信公众号里面。选用的技术栈是Vue。同时用到了微信的登录和分享接口。 主要功能以及遇到的问题: 左右切换动画 路由带参数跳转 移动端引入外部字体样式 使用htmtl2canvas截图功能 使用微信接口(前端部分) 移动端屏幕适配 移动端点击一个页面点击多次只执行一次问题 ios使用输入框的时键盘弹起来掩盖住按钮问题 打包项目遇到静态资源加载问题 1.左右切换动画 –首先我考虑到用vue的移动端动画库,看了好久,但是项目非常小,就放弃了这个选择自己开始手写。首先我考虑到的是过渡效果。并且找到了相关的文章参考。代码如下: `<template>   <p>     <transition>       <router-view></router-view>     </transition>   </p> </template><script> export default { name: "app", data: () =>…
2024-11-25 阅读全文 →
FWQ
小程序
微信开发asp.net接入方法介绍
我们要进行微信公众平台的开发,第一步当然是要有公众号了。什么?不知道什么是微信公众号,看来你还要先回炉炼炼了,呵呵。通俗的说,我们微信平台就好像是一个大社会,里面有个体人,也有各种组织机构。         想要微信开发,首先要有个服务器,但是自己没有。这时候可以用花生壳,将内网映射到公网上,这样就可以在公网访问自己的网站了。         然后要写一个接入代码,而微信上只有php是示例。这里附上的示例。         首先创建一个Default.aspx。在Page_Load里进行检验:(MyLog是,可以忽略)   关于checkSignature()就和所查到的差不多了。这里贴一下   MyLog.DebugInfo("request default.aspx"); String echoStr = Request.QueryString["echostr"]; MyLog.DebugInfo("echoStr:"+echoStr); if (this.checkSignature()) { if(!string.IsNullOrEmpty(echoStr)){ MyLog.DebugInfo("echostr:" + echoStr); Response.Write(echoStr); Response.End(); } } 登录后复制 最最主要的是那句Response.End(),不加这一句怎么样都接不进去(希望有大神告知)。 关于checkSignature()就和所查到的差不多了。这里贴一下 private bool checkSignature()…
2024-11-25 阅读全文 →