asp.net微信公众平台开发

http://mp.weixin.qq.com/wiki/index.php?title=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E6%8C%87%E5%8D%97 微信公众平台接口指南微信公众平台的开发比较简单,首先是网址接入公众平台用户提交信息后,微信服务器将发送GET请求到填写的URL上,并且带上四个参数:参数描述signature微信加密签名timestamp时间戳nonce随机数echostr随机字符串 开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败。signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。加密/校验流程:1.将token、timestamp、nonce三个参数进行字典序排序2.将三个参数字符串拼接成一个字符串进行sha1加密3.开发者获得加密后的字符串可与signature对比,标识该请求来源于微信[csharp] viewplaincop...

.net实现微信公众账号接口开发

说起微信公众帐号,大家都不会陌生,使用这个平台能给网站或系统增加一个新亮点,直接进入正题吧,在使用之前一定要仔细阅读官方API文档。API文档地址:http://mp.weixin.qq.com/wiki/index.php 使用.net实现的方法://微信接口地址页面代码:weixin _wx = new weixin(); string postStr = ""; if (Request.HttpMethod.ToLower() == "post") { Stream s = System.Web.HttpContext.Current.Request.InputStream; byte[] b = new byte[s.Length]; s.Read(b, 0, (int)s.Length); postStr&nb...

java微信小程序解密AES/CBC/PKCS7Padding

 摘要:微信小程序解密建议使用1.6及以上的环境使用maven下载jar包org.bouncycastlebcprov-jdk15on1.55加密类代码importorg.bouncycastle.jce.provider.BouncyCastleProvider;importorg.bouncycastle.util.Arrays;importjavax.crypto.Cipher;importjavax.crypto.NoSuchPaddingException;importja微信小程序解密建议使用1.6及以上的环境使用maven下载jar包org.bouncycastle bcprov-jdk15on 1.55 加密类代码importorg.bouncycastle.jce.provider.BouncyCastleProvider;importorg.bouncycastle.util.Arrays;importjavax.crypto.Cipher;importjavax.crypto.NoSuchPaddingException;i...

(转)C#开发微信门户及应用(6)--微信门户菜单的管理操作

http://www.cnblogs.com/wuhuacong/p/3701961.html前面几篇继续了我自己对于C#开发微信门户及应用的技术探索和相关的经验总结,继续探索微信API并分享相关的技术,一方面是为了和大家对这方面进行互动沟通,另一方面也是专心做好微信应用的底层技术开发,把基础模块夯实,在未来的应用中派上用途。本随笔继续介绍微信门户菜单的管理操作。1、菜单的基础信息微信门户的菜单,一般服务号和订阅号都可以拥有这个模块的开发,但是订阅号好像需要认证后才能拥有,而服务号则不需要认证就可以拥有了。这个菜单可以有编辑模式和开发模式,编辑模式主要就是在微信门户的平台上,对菜单进行编辑;而开发模式,就是用户可以通过调用微信的API对菜单进行定制开发,通过POST数据到微信服务器,从而生成对应的菜单内容。本文主要介绍基于开发模式的菜单管理操作。自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。目前自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替。目前...

(转)C#开发微信门户应用(5)--用户分组信息管理

http://www.cnblogs.com/wuhuacong/p/3695351.html在上个月的对C#开发微信门户应用做了介绍,写过了几篇的随笔进行分享,由于时间关系,间隔了一段时间没有继续写这个系列的博客了,并不是对这个方面停止了研究,而是继续深入探索这方面的技术,为了更好的应用起来,专心做好底层的技术开发。本篇继续上一篇的介绍,主要介绍分组管理方面的开发应用,这篇的内容和上一篇,作为一个完整的用户信息和分组信息管理的组合。1、用户分组管理内容用户分组的引入,主要是方便管理关注者列表,以及方便向不同的组别发送消息的操作的,一个公众账号,最多支持创建500个分组。用户分组管理,包含下面几个方面的内容:1创建分组2查询所有分组3查询用户所在分组4修改分组名5移动用户分组微信对于创建分组的定义如下所示。http请求方式:POST(请使用https协议)https://api.weixin.qq.com/cgi-bin/groups/create?access_token=ACCESS_TOKENPOST数据格式:jsonPOST数据例子:{"group":{"name":"tes...

(转)C#开发微信门户应用(4)--关注用户列表及详细信息管理

http://www.cnblogs.com/wuhuacong/p/3695213.html在上个月的对C#开发微信门户应用做了介绍,写过了几篇的随笔进行分享,由于时间关系,间隔了一段时间没有继续写这个系列的博客了,并不是对这个方面停止了研究,而是继续深入探索这方面的技术,为了更好的应用起来,专心做好底层的技术开发微信的很重要的一个特点就是能够利用其平台庞大的用户群体,因此很容易整合在CRM(客户关系管理)系统里面,服务号和订阅好都能够向关注者推送相关的产品消息,还能和48小时内响应消息和事件的活跃用户进行交互对话,因此用户信息是微信API里面非常重要的一环,本随笔主要介绍获取关注用户、查看用户信息、分组管理等方面的开发应用。1、关注用户列表及用户分组信息在微信的管理平台上,我们可以看到自己账号的关注者用户,以及用户分组信息,如下所示。 上面的管理界面,能看到关注者用户的基础信息,但是使用微信API获取到的是一个称之为OpenID的列表,我们先了解这个东西是什么?微信API的说明给出下面的解析:关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的Open...

(转)C#开发微信门户应用(3)--文本消息和图文消息的应答

http://www.cnblogs.com/wuhuacong/p/3622636.html微信应用如火如荼,很多公司都希望搭上信息快车,这个是一个商机,也是一个技术的方向,因此,有空研究下、学习下微信的相关开发,也就成为计划的安排事情之一了。本系列文章希望从一个循序渐进的角度上,全面介绍微信的相关开发过程和相关经验总结,希望给大家了解一下相关的开发历程。在前面两篇两篇随笔《C#开发微信门户应用(1)--开始使用微信接口》和《C#开发微信门户应用(2)--微信消息的处理和应答》里面,大致介绍了我微信应用的框架构建,本随笔继续介绍这一主题,介绍消息应答里面的文本应答和图文应答的过程。我们知道,给手机用户发送响应消息,它可以分为好多种方式,如回复文本消息、回复图片消息、回复语音消息、回复视频消息、回复音乐消息、回复图文消息等,如下所示。而其中图片、视频、语音这三种方式,是需要开通微信认证才可以向用户发送存在微信服务器上的媒体信息,一般没有认证的公众号或者服务号,是不能发送这几种内容的。1、实体信息关系及定义在上一篇微信开发的随笔中,我展示了对接收消息和回复消息的应用实体类,这些实体类...

(转)C#开发微信门户应用(2)--微信消息的处理和应答

http://www.cnblogs.com/wuhuacong/p/3614175.html微信应用如火如荼,很多公司都希望搭上信息快车,这个是一个商机,也是一个技术的方向,因此,有空研究下、学习下微信的相关开发,也就成为计划的安排事情之一了。本系列文章希望从一个循序渐进的角度上,全面介绍微信的相关开发过程和相关经验总结,希望给大家了解一下相关的开发历程。本篇随笔主要基于上一篇《C#开发微信门户应用(1)--开始使用微信接口》的基础上进行深入的介绍,介绍微信消息的处理和应答的过程。1、微信消息应答交互我们知道,微信的服务器架起了客户手机和开发者服务器的一个桥梁,通过消息的传递和响应,实现了与用户的交互操作,下面是它的消息流程图。微信开发者服务器请求的消息包含了多种类型,不过基本来说,分为了文本消息处理、事件消息处理、语音消息的识别,以及成为开发者之前的那个消息认证操作基本分类,下面是我绘制的一个消息分类图,其中介绍了这几种关系,以及各自的消息细化分类。对于这些消息的请求,我们在开发服务器端,需要编写相关的逻辑进行对应给的处理,然后给微信服务器平台回应消息即可。在前一篇的随笔里面...

(转)C#开发微信门户应用(1)--开始使用微信接口

http://www.cnblogs.com/wuhuacong/p/3613826.html微信应用如火如荼,很多公司都希望搭上信息快车,这个是一个商机,也是一个技术的方向,因此,有空研究下、学习下微信的相关开发,也就成为日常计划的重要事情之一了。本系列文章希望从一个循序渐进的角度上,全面介绍微信的相关开发过程和相关经验总结,希望给大家了解一下相关的开发历程。本随笔主要针对微信开发过程的前期准备和一些初始的工作的介绍。在写下本文的之前一周时间里,我主要就是参考一些介绍文章以及微信公众平台的相关接口说明,并结合C#的代码开发,整理了自己公司的门户界面,实现了微信工作号的初步用户交互和信息展示工作,随着工作的进一步开展,越来越多的功能可能加入,并希望从应用角度上扩展微信的接口,从而实现我对微信接口的技术探秘和了解过程。1、微信账号要开发使用微信的平台API,就需要到微信的公众平台(https://mp.weixin.qq.com/)去注册,拥有一个服务号或者订阅号,服务号主要面对企业和组织,订阅号主要面向组织和个人,他们之间有一定的差异,根据不同的需要自己申请对应的账号即可。为了使用一些...

用requests登录微信网页版,并接收发送消息

首先,网页版微信登录大致分为以下几个流程(都是大家可以通过抓包得到):1、登陆主页后,会生成一个UUID,这是个用户标识,在后面请求二维码会用到defget_uuid(self):'''获取uuid'''url='https://login.wx.qq.com/jslogin?appid=wx782c26e4c19acffb&redirect_uri=https%3A%2F%2Fwx.qq.com%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage&fun=new&lang=zh_CN&_={}'.format(get_time())response=self.session.get(url).textself.uuid=re.findall(r'uuid="(.*?)"',response)[0]#文本较少,用正则匹配即可returnself.uuid2、请求二维码图片defqrcode(self):url='https://login.weixin.qq.com/qrcode/{}'.format(self.uui...

微信小程序将view动态填满全屏

一、在app.js利用官方方法获取设备信息,将获取到的screenHeight、windowHeight度量单位统一由rpx换算为px注:官方文档给出【rpx换算px(屏幕宽度/750) 】【px换算rpx(750/屏幕宽度)】App({onLaunch:function(){wx.getSystemInfo({success:res=>{this.globalData.systemInfo=resthis.globalData.windowHeight=res.windowHeight/(res.windowWidth/750)this.globalData.screenHeight=res.screenHeight/(res.screenWidth/750)}})},globalData:{systemInfo:null,windowHeight:null,//rpx换算px后的窗口高度screenHeight:null,//rpx换算px后的屏幕高度}})二、在要使用的页面的js文件里引用constapp=getApp()Page({data:{windowHei...

H5背景音乐自动播放(兼容微信IOS,进程后台切换自动停止播放,本文例子为Vue写法)

<template><audiosrc="./static/music.mp3"id="bgMusic"preload="auto"loop></audio><divclass="bgMusicBtn"@click="bgMusicPlayOrPause('bgMusic')"><img:src="playFlag?playImg:pauseImg":class="{rotate:playFlag}"></div></template>exportdefault{data(){return{playFlag:true,playImg:require('../../static/play.png'),pauseImg:require('../../static/pause.png'),clickMusicBtn:false}},mounted(){this.audioAutoPlay('bgMusic');document.addEventListener("visibilitychange",(e)=&...

微信小程序base64编码解码以及utf-8解码

functionbase64_encode(str){//编码,配合encodeURIComponent使用varc1,c2,c3;varbase64EncodeChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";vari=0,len=str.length,strin='';while(i<len){c1=str.charCodeAt(i++)&0xff;if(i==len){strin+=base64EncodeChars.charAt(c1>>2);strin+=base64EncodeChars.charAt((c1&0x3)<<4);strin+="==";break;}c2=str.charCodeAt(i++);if(i==len){strin+=base64EncodeChars.charAt(c1>>2);strin+=base64EncodeChars.charAt(((c1&0x3)<<4)|(...

微信程序使用原生WebSokcet实现断线重连及数据拼接

以前做小程序为了应急找了个插件去链接WebSokcet,文章传送门。回过头在新项目中再次使用时出现了些许问题,不一一赘述。遂决定好好用一下原生的WebSokcet。一、说明1.小程序原生的WebSokcet没有断线重连机制,这个是他的不足之处。2.小程序新的版本库已经支持存在多个 WebSokcet连接。 官方说明:基础库1.7.0之前,一个微信程序同时只能有一个WebSocket连接,如果当前已存在一个WebSocket连接,会自动关闭该连接,并重新创建一个WebSocket连接。基础库版本1.7.0及以后,支持存在多个WebSokcet连接,每次成功调用wx.connectSocket会返回一个新的 SocketTask。官方文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-socket.html#wxclosesocket 二、实际例子:首先你需要socket地址url: leturl= 'wss://xxx.xxx.com/?xxx=xxx'注意:1...

微信程序使用Socket

首先,一个小程序同时只能有一个WebSocket连接,如果当前已经存在一个WebSocket连接,会关闭当前连接,并重新建立一个连接。其次,如果使用了appID,协议必须是wss://... 最近团队用小程序做行情,在连接socket的时候,发现在还没有进行subscribe的情况下,就直接进行了广播,并且自动关闭了socket连接,时间紧迫,抓耳挠腮,遂引用了socket-io(基于小程序的websocket仿写的socket-io,并非官方的socket-io,传送门(若文件加载失败,扫描右上角二维码发送到手机,用手机可以打开。百度云有时候很渣)),使用方法:1、先在utils文件夹粘贴一个io的js2、然后npminstallwxapp-socket-io3、config文件夹下新建一个socket.js,对socket连接进行封装,如下:constio=require('../utils/io.js')leturl='wss://......'letwsStatus=falseletonSocket=nullexportconstconnect=function(cb...
代码星球 代码星球·2020-04-10
首页上一页...6162636465...下一页尾页