微信小程序webview中使用JSSDK的步骤

a. 首先, 微信小程序必须是企业认证的, 否则连webview都无法使用.(这个是基础)

b. webview引用页面的JS加入如下脚本(请自行修改去掉不要的内容)

function InitJSSDK(){
	// 显示等待
	StartWait();
	
	// 发送请求获取json格式的签名信息
	var dt = {};
	dt.action = "wx_getjsapiticket";
	dt.u = window.location.href; // 如果你的URL中有#, 则只要#之前的部分
	$.ajax({
		url : C_AJAX_HANDLER_URL,
		data : dt,
	})
	.done(function(msg) {
		try{
			msg = jQuery.parseJSON(msg);
			var iCnt = msg.WXJSAPI.length;
			if (iCnt > 0){
				var obj = msg.WXJSAPI[0];
				wx.config({
					debug: false,
					appId: obj.appid, 		        // 必填,小程序的唯一标识
					timestamp: obj.timestamp, 		// 必填,生成签名的时间戳
					nonceStr: obj.nonceStr, 		// 必填,生成签名的随机串
					signature: obj.signature,		// 必填,签名
					jsApiList: ['getLocation'] 		// 必填,需要使用的JS接口列表
				});
				
				// 调用成功
				wx.ready(function(){
					bJSSDKOK = true;
					setInterval('UpdateLocation()', C_GET_LOCATION_INTERVAL);
				})

				// 调用失败
				wx.error(function(res){
					promptError('JSSDK失败: ' + res.errMsg);
					bJSSDKOK = false;
				});
			}
		}
		catch(e){}
		FinishWait();
	})
	.fail(function() {
		promptError('获取JSSDK参数失败!');
		FinishWait();
	});
}

c. 服务器响应请求的部分:

(代码概要: 实现了获取签名信息, 并存入数据库; 再次申请时会判断是否已经申请过了, 如果已经申请并且没有过期, 则使用现有的,否则重新申请)

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using YQDHWebsite.DB;

/// <summary>
/// WXHelpler - by ssxbxk
/// </summary>
public class WXHelpler
{
    private static readonly string GetTokenUrl = ConfigurationManager.AppSettings["GetTokenUrl"];
    private static readonly string GetTicketUrl = ConfigurationManager.AppSetti
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值