import BasePlatform from './BasePlatform'; class AppPlatform extends BasePlatform { constructor() { super(); this.code = 'APP_ANDROID'; this.env = 'app'; } getPayData(url,data) { return data; } pay({ data }, event) { return new Promise((resolve) => { console.log(`App支付:${data.amount}分,订单号:${data.orderId}`); // 模拟调用H5支付SDK // window.H5PaySDK?.pay(data.amount, data.orderId, resolve); }); } share({ title, desc, image, url }) { console.log(`H5分享:${title} - ${desc}`); // 调用浏览器原生分享(如果可用) if (navigator.share) { return navigator.share({ title, text: desc, url }); } // 降级方案 alert(`请手动分享:${url}`); } /** * 重写获取用户中心菜单列表,处理App特有的菜单需求 * @returns {Array} 菜单项数组 */ getUserMenuList() { // 获取基础菜单列表 const baseMenuList = super.getUserMenuList(); // 添加App特有的菜单项 const appSpecificMenus = [ { id: 10, show: true, title: '清除缓存', icon: 'my/s10.png', path: '', handler: this.handleClearCache.bind(this) }, { id: 11, show: true, title: '检查更新', icon: 'my/s11.png', path: '', handler: this.handleCheckUpdate.bind(this) } ]; // 返回合并后的菜单列表 return [...baseMenuList, ...appSpecificMenus]; } /** * 处理清除缓存 */ handleClearCache() { uni.showModal({ title: '提示', content: '确定要清除缓存吗?', success: (res) => { if (res.confirm) { // 清除除了登录信息外的缓存 const token = uni.getStorageSync('token'); const userinfo = uni.getStorageSync('userinfo'); uni.clearStorageSync(); uni.setStorageSync('token', token); uni.setStorageSync('userinfo', userinfo); uni.showToast({ title: '缓存已清除', icon: 'success' }); } } }); } /** * 处理检查更新 */ handleCheckUpdate() { // App特有的更新检查逻辑 // #ifdef APP-PLUS plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => { const version = widgetInfo.version; uni.request({ url: 'https://your-api-url/check-update', data: { version: version, platform: uni.getSystemInfoSync().platform }, success: (res) => { if (res.data && res.data.hasUpdate) { uni.showModal({ title: '发现新版本', content: res.data.updateDesc || '有新版本可用,是否立即更新?', success: (modalRes) => { if (modalRes.confirm) { // 打开下载页面或应用商店 plus.runtime.openURL(res.data.downloadUrl); } } }); } else { uni.showToast({ title: '已是最新版本', icon: 'none' }); } } }); }); // #endif // 非APP环境下的处理 // #ifndef APP-PLUS uni.showToast({ title: '当前已是最新版本', icon: 'none' }); // #endif } } export default AppPlatform;