yfs/common/webapp.js
2025-07-06 14:00:09 +08:00

103 lines
2.6 KiB
JavaScript

import { generateRandomString } from '@/common/util.js'
document.addEventListener('UniAppJSBridgeReady', function () {
// alert('aaa1')
ydsApp.getEnv(function (res) {
console.log('当前环境:' + JSON.stringify(res));
ydsApp.postMessage({
data: {
action: 'load',
}
});
});
});
const _ydsApp = {
callback: {}
}
window.yds_postMessage = function (data) {
// 检查data是否为字符串类型
console.log('yds_postMessageyds_postMessageyds_postMessageyds_postMessage', data);
if (typeof data === 'string') {
try {
data = JSON.parse(data);
} catch (e) {
console.log('数据解析失败:', e);
return; // 解析失败,退出函数
}
}
if (data.action == "pay") {
if (_ydsApp.callback[data.callback]) {
_ydsApp.callback[data.callback](data.data);
delete _ydsApp.callback[data.callback];
return;
}
console.log('回调不存在');
return;
}
if (_ydsApp.callback[data.callback]) {
_ydsApp.callback[data.callback](data.data);
delete _ydsApp.callback[data.callback];
}
}
//返回按钮
window.yds_backPress = function () {
uni.navigateBack();
}
export const home = () => {
if (window.ydsApp) {
console.log('加载webapp-成功');
} else {
console.log('加载webapp-未加载');
}
}
export const webAppPay = (orderInfo) => {
return new Promise((resolve, reject) => {
if (!window.ydsApp) {
reject('ydsApp未加载');
return;
}
let callback = generateRandomString(16);
_ydsApp.callback[callback] = resolve;
ydsApp.postMessage({
data: {
action: 'pay',
data: orderInfo,
callback: callback
}
});
});
}
export const webAppPageUrl = (url, isHome) => {
if (!window.ydsApp) {
reject('ydsApp未加载');
return;
}
ydsApp.postMessage({
data: {
action: 'pageUrl',
data: { page: url, isHome: isHome },
}
})
}
export const sendWxAppLogin = () => {
return new Promise((resolve, reject) => {
if (!window.ydsApp) {
reject('ydsApp未加载');
return;
}
let callback = generateRandomString(16);
_ydsApp.callback[callback] = resolve;
ydsApp.postMessage({
data: {
action: 'wxAppLogin',
data: {},
callback: callback
}
});
});
}