103 lines
2.6 KiB
JavaScript
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
|
|
}
|
|
});
|
|
});
|
|
} |