import BasePlatform from './BasePlatform'; import { parseQueryString } from '@/common/util'; class IOSPlatform extends BasePlatform { constructor() { super(); this.code = 'IOS'; this.env = 'ios'; } getPayData(url, data) { data['quitUrl'] = escape(window.location.href); data['returnUrl'] = escape(window.location.href); console.log('处理数据', data); return data; } pay({ data }, event) { console.log('支付1111'); return new Promise((resolve) => { console.log(data); // 检查是否已存在同ID的表单,如果存在则先删除 const existingForm = document.getElementById('alipaysubmit'); if (existingForm) { existingForm.parentNode.removeChild(existingForm); } // 创建一个临时div元素 const tempDiv = document.createElement('div'); // 将data作为HTML插入到div中(假设data是表单的HTML字符串) tempDiv.innerHTML = data; // 将表单添加到body中 document.body.appendChild(tempDiv.firstChild); // 获取表单并提交 const form = document.getElementById('alipaysubmit'); if (form) { form.submit(); resolve({ success: true }); } else { resolve({ success: false, message: '表单创建失败' }); } }); } share({ title, desc, image, url }) { console.log(`H5分享:${title} - ${desc}`); // 调用浏览器原生分享(如果可用) if (navigator.share) { return navigator.share({ title, text: desc, url }); } // 降级方案 alert(`请手动分享:${url}`); } /** * 选择地址 * @returns */ chooseAddress() { return new Promise((resolve, reject) => { uni.navigateTo({ url: '/pages/other/choose_address', events: { // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 selectAddress: function(data) { console.log(data, { userName: data.address.receiver_name, telNumber: data.address.receiver_phone, detailed_address: data.address.detailed_address }) resolve({ userName: data.address.receiver_name, telNumber: data.address.receiver_phone, detailed_address: data.address.detailed_address }); }, someEvent: function(data) { console.log(data) } }, success: function(res) { // 通过eventChannel向被打开页面传送数据 res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'data from starter page' }) } }) }); } downloadFile(url) { return new Promise((resolve, reject) => { resolve({ success: true }); }); } AppLaunch(options) { console.log("AppLaunch", options); } getOrderNo(event) { return new Promise((resolve, reject) => { resolve(null); }); } /** * 重写获取用户中心菜单列表,处理H5特有的菜单需求 * @returns {Array} 菜单项数组 */ getUserMenuList() { // 获取基础菜单列表 const baseMenuList = super.getUserMenuList(); // H5环境下可能需要修改某些菜单项的行为 return baseMenuList.map(item => { // 示例:在H5环境下可能需要特殊处理某些菜单项 if (item.id === 6) { // 加入福利群菜单 return { ...item, // 重新绑定处理函数,可能需要增加H5特有的逻辑 handler: (menuItem, context) => { this.handleJoinGroup(menuItem, context); // 在H5环境下可能需要额外的处理,比如尝试复制群号等 } }; } return item; }); } /** * 开启调试 */ startDeb() { } /** * 关闭调试 */ closeDeb() { } getVersion() { return '1.0.0'; } } export default H5Platform;