已废弃
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

<!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>