public.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. export default {
  2. data() {
  3. return {
  4. imgUrl: `${this.$config.FILE_URL}/document/newFile/download/0/${this.$config.FILE_UPLOAD_KEY}?fileKey=`,
  5. // 远程图片
  6. remoteImgUrl: `${this.$config.STATIC_IMG_URL}/`,
  7. // 云机列表
  8. cloudList: [],
  9. // 套餐类型
  10. mealTypeList: [],
  11. mealTypeObj: {},
  12. }
  13. },
  14. methods: {
  15. /**
  16. * 根据卡套餐获取对应图标
  17. * @method imgFun
  18. * @param {String} type--1 套餐类型 VIP|SVIP|STARRYSKY
  19. * @param {String} androidVersion--2 安卓系统版本
  20. * @param {String} key='previewUrl'--3 ['previewUrl' | 'phonePreviewUrl'] 判断是预览图还是套餐图标用的
  21. * @returns {String} 图片路径
  22. */
  23. imgFun(type, androidVersion = '', key = 'previewUrl') {
  24. let obj = this.mealTypeObj[type + androidVersion]
  25. // obj[key]的值是default或defaultPhonePreviewUrl时候,就是后端没有返回图标还有预览图过来,显示默认的
  26. return obj[key] === 'default' ? '/static/img/userMealUpgradeVO_icon.png' : (obj[key] === 'defaultPhonePreviewUrl' ?
  27. this.remoteImgUrl + 'defalut-preview.png' : obj[key])
  28. },
  29. // 获取用户云手机列表
  30. async getCloudList() {
  31. try {
  32. const result = await this.$axios.get('/resources/v6/client/device/info/getDeviceList');
  33. console.log('获取云手机列表', result)
  34. console.log('获取云手机列表', result.status === 200, result.data.status === 0, result.data.success)
  35. if(result.status === 200 && result.data.status === 0 && result.data.success) {
  36. console.log('获取云手机列表1')
  37. this.cloudList = result.data.data.diskInfo ?? [];
  38. }
  39. console.log('获取云手机列表2')
  40. } catch (error) {
  41. console.log('获取云手机列表3')
  42. console.error('获取云手机列表失败', error)
  43. }
  44. },
  45. // 获取云手机套餐,显示套餐名称和图标
  46. async getMealIconInfo() {
  47. try {
  48. const result = await this.$axios.get('/pay/v2/meal/info/getMealIconInfo');
  49. console.log('获取套餐图标数据', result)
  50. if(result.status === 200 && result.data.status === 0 && result.data.success) {
  51. console.log('获取套餐图标数据1')
  52. const res = result.data;
  53. let obj = {} // eg: {VIP7: xxx, VIP10: xxx, SVIP7: xxx,...}
  54. let casualObj = {} // eg: {VIP: xxx, SVIP: xxx}
  55. let mealTypeList = [] // eg: [{label:xxx, value: xxx, previewUrl: xxx, androidVersionList: [7,10]}, ...]
  56. let mealTypeObj = {} // 同obj对象
  57. let index = 0
  58. for (let i of res.data) {
  59. if (!casualObj[i.phoneType]) {
  60. casualObj[i.phoneType] = {
  61. label: i.phoneTypeName,
  62. value: i.phoneType,
  63. previewUrl: 'default',
  64. phonePreviewUrl: 'defaultPhonePreviewUrl',
  65. androidVersionList: [],
  66. index
  67. }
  68. index++
  69. }
  70. let androidVersionObj = {
  71. label: `安卓${i.androidVersion}`,
  72. value: i.androidVersion,
  73. previewUrl: i.previewUrl
  74. }
  75. casualObj[i.phoneType].androidVersionList.push(androidVersionObj)
  76. // 排序
  77. casualObj[i.phoneType].androidVersionList.sort((a, b) => a.value - b.value)
  78. if (obj[i.phoneType + i.androidVersion]) continue
  79. obj[i.phoneType + i.androidVersion] = i
  80. }
  81. mealTypeList = Object.values(casualObj);
  82. mealTypeObj = obj;
  83. Object.assign(mealTypeObj, casualObj);
  84. this.mealTypeList = mealTypeList;
  85. this.mealTypeObj = mealTypeObj;
  86. console.log('套餐图标数据', mealTypeList, mealTypeObj)
  87. }
  88. console.log('获取套餐图标数据2')
  89. } catch (error) {
  90. console.log('获取套餐图标数据3')
  91. console.error('获取套餐图标数据失败', error)
  92. }
  93. },
  94. }
  95. }