我正在构建Cordova ios应用程序。 我已经尝试过这两个插件来打开WhatsApp:First和Second。 它们都非常有助于为特定联系人打开WhatsApp。但不是一气呵成。
这意味着它会在第一次点击时打开WhatsApp,但不会为特定联系人打开聊天窗口。它是在第二次点击之后完成的。
我理解的是,在第一次点击它保存(创建一个新的联系人)联系人并打开WhatsApp然后WhatsApp联系人得到更新。当我们第二次点击时,它会打开特定联系人的聊天窗口。
我正在寻找更新WhatsApp联系人的cordova插件。现在,我没有找到任何。
如果你们对此有任何想法请分享,这确实有帮助。
我的代码:
this.whatsappHandler = function() {
var that = this;
if(cordova.platformId !== 'browser') {
$("#headerbar_"+this.getCurPage().id+" [data-whatsapp]").each(function () {
$(this).click(function () {
var phno = $(this).data('whatsapp');
var name = $(this).data('name');
function onSuccess(contacts) {
console.log('Found ' + contacts.length + ' contacts.');
if(!contacts.length) {
var contact = navigator.contacts.create({"displayName": name});
var phoneNumbers = [];
console.log(phno);
phoneNumbers[0] = new ContactField('mobile', phno, true);
contact.phoneNumbers = phoneNumbers;
contact.save();
that.showToast({
message: "Contact saved. Tap on WhatsApp again",
duration: "long",
position: "bottom"
});
} else {
that.openWhatsapp(contacts[0]);
}
};
function onError(contactError) {
console.log('Finding Contact Error!');
};
var options = new ContactFindOptions();
options.filter = phno;
options.multiple = true;
options.hasPhoneNumber = true;
var fields = [navigator.contacts.fieldType.phoneNumbers];
navigator.contacts.find(fields, onSuccess, onError, options);
});
});
}
};
this.openWhatsapp = function(contact) {
this.showToast({
message: "Opening WhatsApp...",
duration: "long",
position: "bottom"
});
setTimeout(function(){
if(cordova.platformId === 'ios')
window.location = 'whatsapp://send?abid='+contact.id;
else if(cordova.platformId === 'android')
cordova.plugins.Whatsapp.send(contact.phoneNumbers[0].value);
},1500);
};