You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
information-system/dingdingcallback/public/javascripts/demopc.js

136 lines
5.1 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
* Created by liqiao on 8/10/15.
*/
logger.i('Here we go...');
logger.i(location.href);
/**
* _config comes from server-side template. see views/index.jade
*/
DingTalkPC.config({
agentId: _config.agentId,
corpId: _config.corpId,
timeStamp: _config.timeStamp,
nonceStr: _config.nonceStr,
signature: _config.signature,
jsApiList: [
'runtime.permission.requestAuthCode',
'device.notification.alert',
'device.notification.confirm',
'biz.contact.choose',
'device.notification.prompt',
'biz.ding.post'
] // 必填需要使用的jsapi列表
});
DingTalkPC.userid=0;
DingTalkPC.ready(function(res){
logger.i('dd.ready rocks!');
DingTalkPC.runtime.permission.requestAuthCode({
corpId: _config.corpId, //企业ID
onSuccess: function(info) {
logger.i('authcode: ' + info.code);
$.ajax({
url: '/sendMsg.php',
type:"POST",
data: {"event":"get_userinfo","code":info.code,"corpId":_config.corpId},
dataType:'json',
timeout: 900,
success: function (data, status, xhr) {
var info = JSON.parse(data);
if (info.errcode === 0) {
logger.i('user id: ' + info.userid);
DingTalkPC.userid = info.userid;
}
else {
logger.e('auth error: ' + data);
}
},
error: function (xhr, errorType, error) {
logger.e(errorType + ', ' + error);
}
});
},
onFail : function(err) {
logger.e(JSON.stringify(err));
}
});
$('.chooseonebtn').on('click', function() {
DingTalkPC.biz.contact.choose({
multiple: false, //是否多选: true多选 false单选 默认true
users: [], //默认选中的用户列表,工号;成功回调中应包含该信息
corpId: _config.corpId, //企业id
max: 1, //人数限制当multiple为true才生效可选范围1-1500
onSuccess: function(data) {
if(data&&data.length>0){
var selectUserId = data[0].emplId;
if(selectUserId>0){
DingTalkPC.device.notification.prompt({
message: "发送消息",
title: data[0].name,
buttonLabels: ['发送', '取消'],
onSuccess : function(result) {
var textContent = result.value;
alert(textContent+">>>1");
if(textContent==''){
return false;
}
DingTalkPC.biz.ding.post({
users : [selectUserId],//用户列表,工号
corpId: _config.corpId, //加密的企业id
type: 1, //钉类型 1image 2link
alertType: 2,
alertDate: {"format":"yyyy-MM-dd HH:mm","value":"2016-05-09 08:00"},
attachment: {
images: [] //只取第一个image
}, //附件信息
text: textContent, //消息体
onSuccess : function(info) {
alert(">>>2");
logger.i('DingTalkPC.biz.ding.post: info' + JSON.stringify(info));
},
onFail : function(err) {
logger.e('DingTalkPC.biz.ding.post: info' + JSON.stringify(err));
}
})
/*
{
buttonIndex: 0, //被点击按钮的索引值Number类型从0开始
value: '' //输入的值
}
*/
},
onFail : function(err) {
logger.e('DingTalkPC.biz.ding.post: info' + JSON.stringify(err));
}
});
}
}
},
onFail : function(err) {}
});
});
/*DingTalkPC.biz.util.uploadImage({
multiple: false, //是否多选默认false
max: 5, //最多可选个数
onSuccess : function(result) {
logger.i(result);
},
onFail : function() {}
});*/
/*DingTalkPC.device.notification.alert({
message: "亲爱的",
title: "提示",//可传空
buttonName: "收到",
onSuccess : function() {
},
onFail : function(err) {}
});*/
});