index.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <template>
  2. <view class="content">
  3. <view class="banner">
  4. <image :src="bannerSrc" alt="banner" />
  5. </view>
  6. <div class="menus">
  7. <div class="menu" v-for="(item,index) in miniProgramList" :key="index" @click="toDetail(item)">
  8. <image :src="item.src" mode="aspectFit"/>
  9. </div>
  10. </div>
  11. </view>
  12. </template>
  13. <script>
  14. import md5 from "@/common/md5.js";
  15. export default {
  16. data() {
  17. return {
  18. bannerSrc: "",
  19. miniProgramList:[
  20. {
  21. appId:'wxec4343871c957260',
  22. path:'pages/index/index',
  23. src:'/static/service/1.png'
  24. },
  25. {
  26. appId:'',
  27. path:'',
  28. src:'/static/service/2.png'
  29. },
  30. ],
  31. };
  32. },
  33. onLoad() {
  34. this.getPageImg();
  35. },
  36. methods: {
  37. getPageImg() {
  38. let md5Sign = md5(
  39. "method=" +
  40. "common" +
  41. "&timestamp=" +
  42. getApp().globalData.globalTimestamp +
  43. "&secret=" +
  44. getApp().globalData.secret
  45. );
  46. let url =
  47. getApp().globalData.shareUrl +
  48. "api/api.php" +
  49. "?method=common&source=service_pics&action=list&timestamp=" +
  50. getApp().globalData.globalTimestamp +
  51. "&sign=" +
  52. md5Sign;
  53. uni.request({
  54. url: url,
  55. method: "POST",
  56. header: {
  57. "content-type": "application/x-www-form-urlencoded",
  58. },
  59. data: {
  60. },
  61. success: (res) => {
  62. if (res.data.code === 200) {
  63. this.bannerSrc = res.data.data.list.length ? getApp().globalData.shareUrl + res.data.data.list[0].pic_url : '/static/nodata.svg'
  64. }
  65. },
  66. fail: () => {
  67. console.log("连接失败");
  68. },
  69. });
  70. },
  71. getPageMiniProgram(){
  72. let md5Sign = md5(
  73. "method=" +
  74. "common" +
  75. "&timestamp=" +
  76. getApp().globalData.globalTimestamp +
  77. "&secret=" +
  78. getApp().globalData.secret
  79. );
  80. let url =
  81. getApp().globalData.shareUrl +
  82. "api/api.php" +
  83. "?method=common&source=main_pics&action=list&timestamp=" +
  84. getApp().globalData.globalTimestamp +
  85. "&sign=" +
  86. md5Sign;
  87. uni.request({
  88. url: url,
  89. method: "POST",
  90. header: {
  91. "content-type": "application/x-www-form-urlencoded",
  92. },
  93. data: {
  94. order_by: "weight desc",
  95. s_status: 1,
  96. },
  97. success: (res) => {
  98. if (res.data.code === 200) {
  99. this.swiperBackground = getApp().globalData.shareUrl + res.data.data.list[0].pic_path;
  100. }
  101. },
  102. fail: () => {
  103. console.log("连接失败");
  104. },
  105. });
  106. },
  107. toDetail(item) {
  108. uni.navigateToMiniProgram({
  109. appId:item.appId,
  110. path:item.path,
  111. success(res) {
  112. console.log(res,'打开成功')
  113. },
  114. fail(err) {
  115. console.log(err)
  116. }
  117. })
  118. },
  119. },
  120. };
  121. </script>
  122. <style lang="scss" scoped>
  123. .flex {
  124. display: flex;
  125. }
  126. .content {
  127. width: 92%;
  128. height: 92vh;
  129. padding: 4%;
  130. .banner {
  131. height: 25%;
  132. image {
  133. width: 100%;
  134. height: 100%;
  135. }
  136. }
  137. .menus {
  138. height: 15%;
  139. .menu {
  140. margin: 3%;
  141. height: 100%;
  142. border-radius: 20rpx;
  143. // box-shadow: 0rpx 10rpx 5rpx rgb(212, 212, 212);
  144. image {
  145. width: 100%;
  146. height: 100%;
  147. }
  148. }
  149. }
  150. }
  151. </style>