list.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <template>
  2. <view>
  3. <uni-nav-bar :title="title" leftIcon="left" @clickLeft="getBack" />
  4. <view class="title">Android安装包</view>
  5. <view class="list" v-for="item in form.android" :key="item.id" @click="getDetail(item)">
  6. <view class="left">
  7. <img :src="item.pic">
  8. <view class="main">
  9. <text>{{ item.name }}</text>
  10. <text>{{ item.updateTimeText }} 更新 | {{ item.version }}</text>
  11. </view>
  12. </view>
  13. <a :href="item.downUrl">安装</a>
  14. </view>
  15. <view class="title">IOS安装包</view>
  16. <view class="list" v-for="item in form.ios" :key="item.id" @click="getDetail(item)">
  17. <view class="left">
  18. <img :src="item.pic">
  19. <view class="main">
  20. <text>{{ item.name }}</text>
  21. <text>{{ item.updateTimeText }} 更新 | {{ item.version }}</text>
  22. </view>
  23. </view>
  24. <a :href="item.downUrl">安装</a>
  25. </view>
  26. </view>
  27. </template>
  28. <script>
  29. export default {
  30. data() {
  31. return {
  32. title: '',
  33. form: {}
  34. }
  35. },
  36. onLoad(e) {
  37. this.title = e.title
  38. uni.request({
  39. url: 'https://o3tapi.radio1964.com/device/project/update/group',
  40. method: 'get',
  41. data: {
  42. projectId: e.id
  43. },
  44. success: (res) => {
  45. this.form = res.data.data
  46. }
  47. });
  48. },
  49. methods: {
  50. getBack() {
  51. uni.redirectTo({
  52. url: `/pages/index/index`
  53. })
  54. },
  55. getDetail(item) {
  56. uni.navigateTo({
  57. url: `/pages/index/detail?id=${item.id}`
  58. });
  59. }
  60. }
  61. }
  62. </script>
  63. <style lang="scss" scoped>
  64. ::v-deep .uni-navbar__header-container {
  65. font-weight: bold;
  66. }
  67. ::v-deep .uni-nav-bar-text {
  68. font-size: 32rpx;
  69. }
  70. .title {
  71. padding: 28rpx 20rpx;
  72. font-size: 28rpx;
  73. }
  74. .list {
  75. display: flex;
  76. justify-content: space-between;
  77. align-items: center;
  78. padding: 28rpx 20rpx;
  79. background: #fff;
  80. border-bottom: 2rpx solid #eee;
  81. .left {
  82. display: flex;
  83. img {
  84. width: 100rpx;
  85. height: 100rpx;
  86. border-radius: 20rpx;
  87. margin-right: 20rpx;
  88. }
  89. .main {
  90. display: flex;
  91. flex-direction: column;
  92. justify-content: space-around;
  93. text:first-child {
  94. font-size: 28rpx;
  95. }
  96. text:last-child {
  97. font-size: 22rpx;
  98. }
  99. }
  100. }
  101. a {
  102. margin: 0;
  103. background: none;
  104. border: 2rpx solid #f80;
  105. padding: 10rpx 30rpx;
  106. font-size: 24rpx;
  107. color: #f80;
  108. border-radius: 10rpx;
  109. text-decoration: none;
  110. }
  111. }
  112. </style>