You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
7.0 KiB
128 lines
7.0 KiB
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<html xmlns:th="http://www.thymeleaf.org">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>企业微信扫码</title>
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
|
|
<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>
|
|
<script src="/static/lib/layui-v2.8.6/layui.js" charset="utf-8"></script>
|
|
<script>
|
|
|
|
|
|
|
|
/* wx.config({
|
|
beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
|
|
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
|
appId: 'ww02f310301953277a', // 必填,企业微信的corpID
|
|
timestamp: timestamp, // 必填,生成签名的时间戳
|
|
nonceStr: noncestr, // 必填,生成签名的随机串
|
|
signature: jsapi_ticket,// 必填,签名,见 附录-JS-SDK使用权限签名算法
|
|
jsApiList: ["scanQRCode"] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
|
|
});*/
|
|
let url = window.location.href.split("#")[0];
|
|
let dataByQyWx = {};
|
|
var req = {};
|
|
req.url = url;
|
|
layui.$.ajax({
|
|
url:"/QyWxSignature",
|
|
type:"get",
|
|
datatype:"json",
|
|
data:(req),
|
|
contentType: "application/json;charset=utf-8",
|
|
success:function (d) {
|
|
var data = d.data;
|
|
dataByQyWx = data;
|
|
wx.config({
|
|
beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
|
|
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
|
appId: data.corpid, // 必填,企业微信的corpID
|
|
timestamp: data.timestamp, // 必填,生成签名的时间戳
|
|
nonceStr: data.noncestr, // 必填,生成签名的随机串
|
|
signature: data.jsapi_ticket_enterprises,// 必填,签名,见 附录-JS-SDK使用权限签名算法
|
|
jsApiList: ['ready','error'] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
|
|
});
|
|
// 用于获取签名
|
|
wx.ready(function(){
|
|
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
|
|
wx.agentConfig({
|
|
corpid: dataByQyWx.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
|
|
agentid: dataByQyWx.agentid, // 必填,企业微信的应用id (e.g. 1000247)
|
|
timestamp:dataByQyWx.timestamp , // 必填,生成签名的时间戳
|
|
nonceStr: dataByQyWx.noncestr, // 必填,生成签名的随机串
|
|
signature: dataByQyWx.jsapi_ticket_app,// 必填,签名,见附录-JS-SDK使用权限签名算法
|
|
jsApiList: ['scanQRCode','chooseImage'], //必填,传入需要使用的接口名称
|
|
success: function(res) {
|
|
// 回调
|
|
/* wx.scanQRCode({
|
|
desc: 'scanQRCode desc',
|
|
needResult: 0, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
|
|
scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有
|
|
success: function(res) {
|
|
// 回调
|
|
var result = res.resultStr;//当needResult为1时返回处理结果
|
|
},
|
|
error: function(res) {
|
|
if (res.errMsg.indexOf('function_not_exist') > 0) {
|
|
alert('版本过低请升级')
|
|
}
|
|
}
|
|
});*/
|
|
alert("agentConfig===success===")
|
|
wx.chooseImage({
|
|
count: 1, // 默认9
|
|
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
|
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
|
defaultCameraMode: "normal", //表示进入拍照界面的默认模式,目前有normal与batch两种选择,normal表示普通单拍模式,batch表示连拍模式,不传该参数则为normal模式。从3.0.26版本开始支持front和batch_front两种值,其中front表示默认为前置摄像头单拍模式,batch_front表示默认为前置摄像头连拍模式。(注:用户进入拍照界面仍然可自由切换两种模式)
|
|
isSaveToAlbum: 1, //整型值,0表示拍照时不保存到系统相册,1表示自动保存,默认值是1
|
|
success: function (res) {
|
|
var localIds = res.localIds; // 返回选定照片的本地ID列表,
|
|
// andriod中localId可以作为img标签的src属性显示图片;
|
|
alert(res)
|
|
// iOS应当使用 getLocalImgData 获取图片base64数据,从而用于img标签的显示(在img标签内使用 wx.chooseImage 的 localid 显示可能会不成功)
|
|
}
|
|
});
|
|
|
|
wx.invoke('openUserProfile', {
|
|
"type": 1, //1表示该userid是企业成员,2表示该userid是外部联系人
|
|
"userid": "PangFuZhen" //可以是企业成员,也可以是外部联系人
|
|
}, function(res) {
|
|
if(res.err_msg != "openUserProfile:ok") {
|
|
//错误处理
|
|
}
|
|
});
|
|
},
|
|
fail: function(res) {
|
|
if(res.errMsg.indexOf('function not exist') > -1){
|
|
alert('版本过低请升级')
|
|
}
|
|
alert("fail"+res)
|
|
}
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
wx.error(function(res){
|
|
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
|
|
alert("Error:"+res)
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|