export default { data() { return { imgUrl: `${this.$config.FILE_URL}/document/newFile/download/0/${this.$config.FILE_UPLOAD_KEY}?fileKey=`, // 远程图片 remoteImgUrl: `${this.$config.STATIC_IMG_URL}/`, // 云机列表 cloudList: [], // 套餐类型 mealTypeList: [], mealTypeObj: {}, } }, methods: { /** * 根据卡套餐获取对应图标 * @method imgFun * @param {String} type--1 套餐类型 VIP|SVIP|STARRYSKY * @param {String} androidVersion--2 安卓系统版本 * @param {String} key='previewUrl'--3 ['previewUrl' | 'phonePreviewUrl'] 判断是预览图还是套餐图标用的 * @returns {String} 图片路径 */ imgFun(type, androidVersion = '', key = 'previewUrl') { let obj = this.mealTypeObj[type + androidVersion] // obj[key]的值是default或defaultPhonePreviewUrl时候,就是后端没有返回图标还有预览图过来,显示默认的 return obj[key] === 'default' ? '/static/img/userMealUpgradeVO_icon.png' : (obj[key] === 'defaultPhonePreviewUrl' ? this.remoteImgUrl + 'defalut-preview.png' : obj[key]) }, // 获取用户云手机列表 async getCloudList() { try { const result = await this.$axios.get('/resources/v6/client/device/info/getDeviceList'); console.log('获取云手机列表', result) console.log('获取云手机列表', result.status === 200, result.data.status === 0, result.data.success) if(result.status === 200 && result.data.status === 0 && result.data.success) { console.log('获取云手机列表1') this.cloudList = result.data.data.diskInfo ?? []; } console.log('获取云手机列表2') } catch (error) { console.log('获取云手机列表3') console.error('获取云手机列表失败', error) } }, // 获取云手机套餐,显示套餐名称和图标 async getMealIconInfo() { try { const result = await this.$axios.get('/pay/v2/meal/info/getMealIconInfo'); console.log('获取套餐图标数据', result) if(result.status === 200 && result.data.status === 0 && result.data.success) { console.log('获取套餐图标数据1') const res = result.data; let obj = {} // eg: {VIP7: xxx, VIP10: xxx, SVIP7: xxx,...} let casualObj = {} // eg: {VIP: xxx, SVIP: xxx} let mealTypeList = [] // eg: [{label:xxx, value: xxx, previewUrl: xxx, androidVersionList: [7,10]}, ...] let mealTypeObj = {} // 同obj对象 let index = 0 for (let i of res.data) { if (!casualObj[i.phoneType]) { casualObj[i.phoneType] = { label: i.phoneTypeName, value: i.phoneType, previewUrl: 'default', phonePreviewUrl: 'defaultPhonePreviewUrl', androidVersionList: [], index } index++ } let androidVersionObj = { label: `安卓${i.androidVersion}`, value: i.androidVersion, previewUrl: i.previewUrl } casualObj[i.phoneType].androidVersionList.push(androidVersionObj) // 排序 casualObj[i.phoneType].androidVersionList.sort((a, b) => a.value - b.value) if (obj[i.phoneType + i.androidVersion]) continue obj[i.phoneType + i.androidVersion] = i } mealTypeList = Object.values(casualObj); mealTypeObj = obj; Object.assign(mealTypeObj, casualObj); this.mealTypeList = mealTypeList; this.mealTypeObj = mealTypeObj; console.log('套餐图标数据', mealTypeList, mealTypeObj) } console.log('获取套餐图标数据2') } catch (error) { console.log('获取套餐图标数据3') console.error('获取套餐图标数据失败', error) } }, } }