web微信开发前期准备最新详细流程
一、申请配置测试公众号与配置本地服务器
1、打开浏览器,输入:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,微信扫码确认登录

2、进入到该页面,可以看到测试公众号的微信名,以及非常重要的appID和appsecret

3、填写服务器url,这个地址是要可以外网访问的,同时给微信服务器认证的,所以分两步走,一是先弄个外网可以访问的服务器地址,二是在该地址下放置微信官方要求的php文件
- 网上许多教程都是配置外网服务器,比如百度云服务或者新浪云服务,不利于提高开发效率,本人推荐配置本地服务器,主要是通过花生壳与阿帕奇,具体怎么配置外网可访问的本地服务器,请看我这篇文章的前半部分:http://www.cnblogs.com/ahao68/p/6250398.html
我的配置以及本地服务器文件夹如下,因此http://162c24l811.iok.la是我的服务器地址,但是这不是微信想要的哦


- 配置完毕并且确认花生壳外网地址可以访问得到后,在微信官方开发者文档接入指南页面下载认证php文件:wx_sample.php https://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html#.E7.AC.AC.E4.B8.80.E6.AD.A5.EF.BC.9A.E5.A1.AB.E5.86.99.E6.9C.8D.E5.8A.A1.E5.99.A8.E9.85.8D.E7.BD.AE
- 放到服务器地址或者服务器里的文件夹,此时访问到wx_sample.php 为止的路径才是微信想要的服务器可验证url地址,比如我的放在core里面,因此这个url地址为:
http://162c24l811.iok.la/core/wx_sample.php

4、填写Token,可以自行填写,但是必须与wx_sample.php中的Token一致,打开wx_sample.php即可看到,可修改

5、填写域名,域名即为花生壳给你的域名,我的是162c24l811.iok.la

到此测试公众号与本地服务器配置完毕。
二、配置调用微信接口需要的access_token和签名
微信有写好各种语言版本的,自己突然暂时找不到,就在这里分享自己的云盘链接吧:http://pan.baidu.com/s/1gfgKOHP,我用的是php语言版。不过,里面有些东西还是要自己配置,不懂php还是难搞得的,所以,送给看到这篇文章又有需要的人一个礼,分享个基本弄好的,简单配置就可以用的版本吧:http://pan.baidu.com/s/1sk9qySl
目录如下:

接下来说说怎么配置吧:
1、access_token.json和jsapi_ticket.json建立好内容保持为空哦,这里是接收自动更新生成的access_token和jsapi_ticket用的。
2、配置get_jjsdk.php,require_once后为jssdk.php的路径,我都是放在一起的,直接写jssdk.php;$jssdk = new JSSDK()里面前两个更换为你的测试公众号的appID和appsecret

3、配置jssdk.php,把以下file_get_contents后的改为你的json,注意路径,这里是生成签名等写入json文件的地方

到此不出意外便成功了。
三、开始调用接口和使用微信调试工具
1、除了微信网页js-sdk等不能通过微信开发文档带的在线调试工具开发的功能,其他均可按照官方文档的要求,通过在线调试工具直接操作和写上自己的代码,微信公众号会更新相应的功能,比如自定义菜单、语音回复等。

2、关于使用微信jssdk进行开发,首先先在html页面引入微信js(官方文档为1.1版本,部分功能不支持苹果,比如苹果不支持1版本的图片预览,在这里贡献找了好久的1.2版本):<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js "></script>
3、创建一个js文件引入,这个文件用来请求之前配置好的php文件,更新生成和缓存签名等,以及初始化微信接口,即config。
//获取当前url
var host = window.location.host;
//请求的php地址
get_jjsdk='http://'+window.location.host+'/core/get_jjsdk.php';
$(function(){
var url = window.location.href;
$.ajax({
url : get_jjsdk,
type: "post",
data:{'url':url},
error : function(XMLHttpRequest,textStatus, errorThrown) {
console.log(XMLHttpRequest.status);//200客户端请求已成功
console.log(XMLHttpRequest.readyState);//4响应内容解析完成,可以在客户端调用了
console.log(textStatus);//parsererror
},
success:function(data){
//返回的签名时间戳id等等
var jssdk = data;
//console.log(data);
//初始化接口config
wx.config({
debug: false , // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: jssdk.appId, // 必填,公众号的唯一标识
timestamp:jssdk.timestamp, // 必填,生成签名的时间戳
nonceStr: jssdk.nonceStr, // 必填,生成签名的随机串
signature: jssdk.signature,// 必填,签名,见附录1
// 必填,需要使用的JS接口列表,所有JS接口列表见附录2
jsApiList: [
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo',
'hideMenuItems',
'showMenuItems',
'hideAllNonBaseMenuItem',
'showAllNonBaseMenuItem',
'translateVoice',
'startRecord',
'stopRecord',
'onRecordEnd',
'playVoice',
'pauseVoice',
'stopVoice',
'uploadVoice',
'downloadVoice',
'chooseImage',
'previewImage',
'uploadImage',
'downloadImage',
'getNetworkType',
'openLocation',
'getLocation',
'hideOptionMenu',
'showOptionMenu',
'closeWindow',
'scanQRCode',
'chooseWXPay',
'openProductSpecificView',
'addCard',
'chooseCard',
'openCard'
]
});
}
})
})
4、开始根据官方文档jssdk开发想要的功能吧~~,这里举例选择图片和上传图片接口的简单案例:
wx.ready(function () {
//点击触发选择图片
$('.chooseImage').click(function(){
wx.chooseImage({
count: 9, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function(res) {
console.log(res);
images.localId = res.localIds;
alert('已选择 ' + res.localIds.length + ' 张图片');
var i=0;length = images.localId.length;
function upload() {
//上传图片到微信服务器
//if (images.localId.length == 0) {
// alert('请先使用 chooseImage 接口选择图片');
// return;
//}
wx.uploadImage({
localId: images.localId[i],
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function(res) {
console.log(res);
i++;
if (i < length) {
upload();
}else{
}
},
fail: function(res) {
alert(JSON.stringify(res));
}
});
}
upload();
}
});
});
PS:如果你接手的不是自己一手开发的微信网页,那么你首先要找后台要接口地址和Token;比如我的一个项目接口和Token是后台配置的,直接在本地运行会出现报错:

后台给我配置是这样的:

除了把这个接入微信测试公众号,记得集成服务器也得修改地址,我的是阿帕奇xampp,每次修改记得重启集成服务器!!


再次访问项目入口文件,ok了:

web微信开发前期准备最新详细流程的更多相关文章
- web微信开发总结
这两天使用Django开发了web微信,实现了显示联系人以及收发消息的功能. 总结下这过程中使用到的一些知识. 1 http请求 通过chrome浏览器自带的开发者工具查看每次请求的信息,分析请求,包 ...
- web微信开发
群里接收消息时,使用广播,但需要刷新页面才能接收到广播内容. - 轮询: 定时每秒刷新一次,当群不活跃时,群里的每个客户端都在刷新,对服务端压力太大. - 长轮询:客户端连服务端,服务端一直不断开,也 ...
- C#开发Windows服务详细流程
1.Windows服务简单介绍 Windows服务程序是在Windows操作系统下能完成特定功能的可执行的应用程序,主要用于长时间运行的功能或者执行定时任务.一般情况下,用户不能通过用户界面来安装和启 ...
- java开发支付宝支付详细流程_demo的运行
首先我要吐槽一下支付宝的开放平台简直就是一个迷宫,赞同的顶一下,下面我把要下载的地址给贴出来要不真不好找: 一.准备工作 1.签名工具下载 https://docs.open.alipay.com/2 ...
- [微信开发] - 从最新的appid,appsecret读取配置信息
设置好form表单,填写参数传入Java后端做为实例bean,接着存储倒数据库. 当微信端接口配置提交时,Java接口从数据库获取最新的配置信息,可以根据increaseID,也可以设置时间段, 这里 ...
- Web微信开发工具无法输入中文?官方bug
Ctrl+shift+w 重启工具就OK啦
- 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)
用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...
- Grunt搭建自动化web前端开发环境--完整流程
Grunt搭建自动化web前端开发环境-完整流程 jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前 ...
- 2019最新WEB前端开发小白必看的学习路线(附学习视频教程)
2019最新WEB前端开发小白必看的学习路线(附学习视频教程).web前端自学之路:史上最全web学习路线,HTML5是万维网的核心语言,标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次 ...
随机推荐
- Angular - - angular.equals
angular.equals 对比两个对象/值是否相等.支持值类型.正则表达式.数组和对象. 如果下列至少有一个是正确的,则将两个对象/值视为相等. 两个对象/值能通过===比较. 两个对象/值是同一 ...
- HDU-1275-两车追及或相遇问题(数学题目)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1275 这题是一个数学题目,知道两个公式那就好办了: 对头相遇时:time*(v1+v2)=d*(2*i ...
- Spring内部bean无法通过id获取
内部Bean注入正常,但是直接在context中getBean是得不到的: <?xml version="1.0" encoding="UTF-8"?&g ...
- Bootstrap入门(十)组件4:按钮组与下拉菜单结合
Bootstrap入门(十)组件4:按钮组与下拉菜单结合 先引入本地的CSS文件和JS文件(注:1.bootstrap是需要jQuery支持的.2.需要在<body>当中添加) < ...
- 通过java.net.URLConnection发送HTTP请求的方法
一.前言 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求. Java有原生的API可用于发送HTTP请求,即java.net.URL.java.net.UR ...
- asp.net权限认证:OWIN实现OAuth 2.0 之简化模式(Implicit)
asp.net权限认证系列 asp.net权限认证:Forms认证 asp.net权限认证:HTTP基本认证(http basic) asp.net权限认证:Windows认证 asp.net权限认证 ...
- windows下composer安装不了或composer命令无效的解决办法
安装方法: http://docs.phpcomposer.com/00-intro.html#Installation-Windows (官方中文帮助文档) 问题描述1: 通过Composer-Se ...
- JAVA_file(1)
1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径.http://www.s ...
- 从C#到TypeScript - 变量
总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...
- JS闭包深入理解(理解篇)
看书的时候很是不明白为啥变量老是五,经过认真思考的出一下理解: function box() { var arr = []; for (var i = 0; i < 5; i++) { ...