WeChat Web是一种即时通讯工具,是公众号、小程序的开发工具之一。Wechat Web提供了一种方便的方式与客户和用户交互,便于快速进行客户服务、推广和用户交流。本文将围绕Wechat Web展开介绍,深入阐述其在开发中的应用和实现。
一、微信网页授权
Wechat Web提供了一种免登陆的方式,即通过微信网页授权来实现用户授权登陆,便于用户快速进入网站。具体实现步骤如下:
<a href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=[appid]&redirect_uri=[redirect_uri]&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect">微信登录</a>
其中,appid是微信公众平台的ID,redirect_uri是授权后重定向的链接地址。请求Api获取code,以此来获取用户的openid和access_token,实现用户授权登陆。
二、微信JS-SDK
微信JS-SDK是WeChat Web开发中的重要组件之一,提供了一些JS API,通过这些API可以在WeChat中获取一些重要的信息,如地理位置、扫码等。既便于开发者在WeChat中进行交互,也让用户更好的体验。
既然是JS-SDK,那么首先要引用SDK,在HTML中添加一段JavaScript代码:
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
引入JS-SDK后便可以使用其中的API,例如获取当前地理位置的API:
// 如果已经授权,可以直接获取位置信息
wx.getLocation({
success: function (res) {
var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
var speed = res.speed; // 速度,以米/每秒计
var accuracy = res.accuracy; // 位置精度
}
});
// 如果未授权,需获取用户授权
wx.openLocation({
latitude: 23.099994,
longitude: 113.324520,
name: 'TIT 创意园',
address: '广州市海珠区新港中路 397 号',
scale: 14
});
三、WeChat网页支付
WeChat网页支付是WeChat Web的重要组成部分,方便用户在微信内完成支付流程。开发中需要接入Wechat支付API以完成交易流程,具体实现步骤如下:
1、网站接入微信支付,获取商户号和API密钥
2、用户下单后,获取下单信息及签名等加密数据
3、网站后端通过API提交支付请求并完成支付签名
4、获取支付结果并完成对应操作
在WeChat Web中,通过WeChat支付API获取相关信息及签名,完成支付流程。示例代码如下:
// 微信JS API 支付
function onBridgeReady() {
WeixinJSBridge.invoke('getBrandWCPayRequest', {
"appId": "{value1}", // 公众号名称,由商户传入
"timeStamp": "{value2}", // 时间戳,自1970年以来的秒数
"nonceStr": "{value3}", // 随机串
"package": "{value4}", // 订单详情扩展字符串,由商家传入
"signType": "MD5", // 微信签名方式:
"paySign": "{value5}" // 微信签名
}, function(res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 结果成功处理
} else {
// 结果失败处理
}
});
}
if (typeof WeixinJSBridge == "undefined") {
if(document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
}else{
onBridgeReady();
}
四、开发环境搭建
为开发WeChat Web,需要对开发环境进行搭建。开发环境主要由以下几部分组成:
1、开发者账号及公众号注册
2、微信开发者工具
3、API文档及开发示例
开发者账号及公众号注册是申请开发WeChat Web的第一步。在成功注册后,需要下载微信开发者工具并完成配置。同时,阅读API文档及开发示例,熟悉一些基础概念和开发方法。
代码示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>微信JS-SDK之获取地理位置</title>
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script>
wx.config({
debug: false,
appId: '',
timestamp: '',
nonceStr: '',
signature: '',
jsApiList: [
'getLocation',
'openLocation'
]
});
wx.ready(function () {
wx.getLocation({
success: function (res) {
var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
var speed = res.speed; // 速度,以米/每秒计
var accuracy = res.accuracy; // 位置精度
document.getElementById('latitude').innerHTML = latitude;
document.getElementById('longitude').innerHTML = longitude;
document.getElementById('speed').innerHTML = speed;
document.getElementById('accuracy').innerHTML = accuracy;
}
});
});
</script>
</head>
<body>
<p>纬度:<span id="latitude"></span></p>
<p>经度:<span id="longitude"></span></p>
<p>速度:<span id="speed"></span></p>
<p>精度:<span id="accuracy"></span></p>
</body>
</html>
以上即为WeChat Web开发全掌握,包括了微信网页授权、微信JS-SDK、WeChat网页支付和开发环境搭建等内容。希望这篇文章能够对WeChat Web开发初学者有所帮助。