koneksi-sd
Version:
koneksi ke sd
110 lines (101 loc) • 3.17 kB
JavaScript
import { userDataManager, imageDataManager, scannerDataManager } from "./dataManager";
import { receiveUserProfile, receiveMobileImage, receiveScanner } from "./userScript";
window.androidObj = function AndroidClass() {};
export function getMobileOperatingSystem() {
var userAgent = navigator.userAgent || navigator.vendor || window.opera; // Windows Phone must come first because its UA also contains "Android"
if (/windows phone/i.test(userAgent)) {
return "Windows Phone";
}
if (/android/i.test(userAgent)) {
return "Android";
}
if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
return "iOS";
}
return "unknown";
}
export function qrScanner() {
try {
if (getMobileOperatingSystem() === "iOS") {
window.webkit.messageHandlers.qrScanner.postMessage('');
} else if (getMobileOperatingSystem() === "Android") {
window.androidObj.qrScanner();
}
} catch (err) {
}
}
/**
* @param {string} token
*/
export function sendTokenToMobile(token) {
try {
if (getMobileOperatingSystem() === "iOS") {
window.webkit.messageHandlers.sendToken.postMessage(token);
} else if (getMobileOperatingSystem() === "Android") {
window.androidObj.sendToken(token);
}
} catch (error) {}
}
/**
* @param {{name: string, phone: string, email: string, photo_url: string}} payload
*/
window.receiveUserData = function(payload) {
userDataManager.set(payload);
receiveUserProfile(JSON.parse(payload));
}
export function getMobileImage() {
try {
if (getMobileOperatingSystem() === "iOS") {
window.webkit.messageHandlers.getImage.postMessage('');
} else if (getMobileOperatingSystem() === "Android") {
window.androidObj.getImage();
} else {
}
} catch (error) {
console.log('err', error)
}
}
/**
* @param {string} base64String
*/
window.receiveImage = function(base64String) {
imageDataManager.set(base64String);
receiveMobileImage(base64String);
}
/**
* @param {string} scannerString
*/
window.receiveScannerData = function(scannerString) {
scannerDataManager.set(scannerString);
receiveScanner(scannerString);
}
export function openMobileModal() {
try {
if (getMobileOperatingSystem() === "iOS") {
window.webkit.messageHandlers.dialogConfirm.postMessage('');
} else if (getMobileOperatingSystem() === "Android") {
window.androidObj.dialogConfirm();
} else {
}
} catch (error) {
console.log('err', error)
}
}
export function sendInquiryToMobile(payload) {
const stringifiedPayload = JSON.stringify(payload)
console.log('in', stringifiedPayload)
try {
if (getMobileOperatingSystem() === "iOS") {
// console.log('token masuk IOS', token)
console.log('stringify', stringifiedPayload)
window.webkit.messageHandlers.sendInquiry.postMessage(stringifiedPayload);
} else if (getMobileOperatingSystem() === "Android") {
// console.log('token masuk Android', token)
console.log('stringify', stringifiedPayload)
window.androidObj.sendInquiry(stringifiedPayload);
} else {
console.log("Unknown");
// cb();
}
} catch (error) {}
}