poster.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. import setting from '../config';
  2. import storage from './storage';
  3. import { getWxPoster } from './http';
  4. import { getShareUrl } from './utils';
  5. export default {
  6. config(data){
  7. let views = [];
  8. data.url = getShareUrl(data.url);
  9. views.push({
  10. type: 'view',
  11. css: {
  12. left: '0rpx',
  13. top: '0rpx',
  14. background: '#eeeeee',
  15. width: '650rpx',
  16. height: '950rpx',
  17. borderRadius: '30rpx'
  18. }
  19. });
  20. views.push({
  21. type: 'image',
  22. src: data.goods_image,
  23. css: {
  24. left: '30rpx',
  25. top: '30rpx',
  26. width: '590rpx',
  27. height: '500rpx',
  28. radius: '5rpx'
  29. }
  30. });
  31. views.push({
  32. type: 'text',
  33. text: data.goods_name,
  34. css: {
  35. maxLines: 2,
  36. width: '590rpx',
  37. color: '#555555',
  38. left: '30rpx',
  39. top: '550rpx',
  40. fontSize: '30rpx',
  41. lineHeight: '40rpx'
  42. }
  43. });
  44. views.push({
  45. type: 'text',
  46. text: "¥"+data.sell_price,
  47. css: {
  48. color: '#FF0000',
  49. left: '30rpx',
  50. top: '670rpx',
  51. fontSize: '45rpx',
  52. fontWeight: 'bold'
  53. }
  54. });
  55. views.push({
  56. type: 'text',
  57. text: "¥"+data.market_price,
  58. css: {
  59. color: '#999999',
  60. left: (data.sell_price.length * 30 + 90)+'rpx',
  61. top: '680rpx',
  62. fontSize: '35rpx',
  63. textDecoration: 'line-through'
  64. }
  65. });
  66. // #ifdef H5 || APP-PLUS
  67. views.push({
  68. type: 'qrcode',
  69. text: setting.uni_app_web_url + data.url,
  70. css: {
  71. left: '472rpx',
  72. top: '750rpx',
  73. width: '150rpx',
  74. height: '150rpx',
  75. color: '#555555'
  76. }
  77. });
  78. // #endif
  79. // #ifdef MP-WEIXIN || MP-TOUTIAO
  80. getWxPoster({
  81. // #ifdef MP-WEIXIN
  82. client: "mp",
  83. // #endif
  84. // #ifdef MP-TOUTIAO
  85. client: "toutiao",
  86. // #endif
  87. type: data.goods_type,
  88. id: data.goods_id
  89. }).then(res=>{
  90. views.push({
  91. type: 'image',
  92. src: res.data,
  93. css: {
  94. left: '470rpx',
  95. top: '750rpx',
  96. width: '150rpx',
  97. height: '150rpx'
  98. }
  99. });
  100. });
  101. // #endif
  102. views.push({
  103. type: 'text',
  104. text: '长按或扫一扫',
  105. css: {
  106. color: '#999999',
  107. left: '473rpx',
  108. top: '900rpx',
  109. fontSize: '25rpx'
  110. }
  111. });
  112. return views;
  113. }
  114. };