Files
ctms-client/apis/ctms/sync.js
fm453 c62d15b288 首次完整推送,
V:1.20240808.006
2024-08-13 18:32:37 +08:00

77 lines
2.2 KiB
JavaScript

// 对异步函数进行同步化模拟
const Confirm = {
modalPromise: function(title, content, editable) {
return new Promise((resolve, reject) => {
uni.showModal({
title: title,
content: content,
editable: editable,
success: (res) => {
if (res.confirm) {
if (editable) {
resolve(res.content);
} else {
resolve(true);
}
} else if (res.cancel) {
resolve(false);
}
},
fail: (err) => {
reject(err);
}
});
});
},
doSync: async function(title, content, editable) {
try {
const res = await this.modalPromise(title, content, editable);
// console.log('对话框返回', res)
return res;
} catch (error) {
// console.error('Error:', error);
// 处理错误或用户取消操作...
}
}
}
const Actions = {
actionPromise: function(title, list) {
return new Promise((resolve, reject) => {
uni.showActionSheet({
title: title,
itemList: list,
success: function(res) {
// console.log('授权点击', res)
var index = res.tapIndex;
var item = list[index];
resolve({
'index': index,
'item': item
})
},
fail: function(res) {
// console.log(res.errMsg);
resolve(false)
}
});
});
},
doSync: async function(title, list) {
try {
const res = await this.actionPromise(title, list);
// console.log('actionsheet点击返回', res)
return res;
} catch (error) {
// console.error('Error:', error);
// 处理错误或用户取消操作...
}
}
}
export default {
Confirm,
Actions
}