# JSSDK
JSSDK 用于提供微信内置浏览器接口的能力,例如转发控制、调用摄像头权限(拍照、视频)、文件上传、关闭窗口、唤起扫码窗口,等等。
要在内置浏览器中只用 JSSDK,分为“服务端获取签名信息”和“网页端配置 JSSDK”两步。
# 服务端获取签名信息
后端通过 JSSDKHelper.GetJsSdkUiPackageAsync()
方法即可自动获取前端所需的所有 JSSDK 运行所需参数:
public async Task Index()
{
var jssdkUiPackage = await JSSDKHelper.GetJsSdkUiPackageAsync(appId, appSecret, Request.AbsoluteUri());
return View(jssdkUiPackage);
}
本项目参考文件:
/Controllers/WeixiJSSDKnController.cs
# 网页端配置 JSSDK
后端配置完成的参数,直接在前端 JS 中使用 wx.config
进行设置,例如以下代码将完成在转发网页时自定义转发消息的标题和图片:
wx.config({
debug: false, // 开启调试模式
appId: "@Model.AppId", // 必填,公众号的唯一标识
timestamp: "@Model.Timestamp", // 必填,生成签名的时间戳
nonceStr: "@Model.NonceStr", // 必填,生成签名的随机串
signature: "@Model.Signature", // 必填,签名
jsApiList: ["checkJsApi", "onMenuShareTimeline", "onMenuShareAppMessage"],
});
wx.error(function (res) {
console.log(res);
alert("验证失败");
});
wx.ready(function () {
var url = "https://sdk.weixin.senparc.com";
var link = url + "";
var imgUrl = url + "/images/v2/ewm_01.png";
//转发到朋友圈
wx.onMenuShareTimeline({
title: "JSSDK朋友圈转发测试",
link: link,
imgUrl: imgUrl,
success: function () {
alert("转发成功!");
},
cancel: function () {
alert("转发失败!");
},
});
//转发给朋友
wx.onMenuShareAppMessage({
title: "JSSDK朋友圈转发测试",
desc: "转发给朋友",
link: link,
imgUrl: imgUrl,
type: "link",
dataUrl: "",
success: function () {
alert("转发成功!");
},
cancel: function () {
alert("转发失败!");
},
});
});
提示:在 MVC 中传递 ViewModel 需要在 .cshtml 文件顶部定义:
@model Senparc.Weixin.MP.Helpers.JsSdkUiPackage
本项目参考文件:
/Views/WeixinJSSDK/Index.cshtml
更多设置详情请参考:JS-SDK 说明文档 (opens new window)。