当前位置:   article > 正文

【微信小程序】 清爽简约的主页界面(布局+配色方案)_小程序图标配色

小程序图标配色

写在前面

早就想出一个微信小程序入门引导了,但是又担心鄙人才疏学浅,造成错误引导……那篇文章拖了好久,写了大概4000字,迟迟没有发出来,还是需要很多时间去完善,需要我自己从头走一遍,才能更熟悉初学者会遇到的困难所在。。。

对于没有前端开发经验的开发者来说,学习微信小程序开发可能需要花费一定的时间和精力。需要掌握一些前端开发技术,如HTML、CSS、JavaScript等,并了解小程序的开发规范和API。

完整代码

页面布局index.wxml

  1. <!--index.wxml-->
  2. <view class="container">
  3. <view class="title">功能大厅</view>
  4. <view class="top_tip"></view>
  5. <view class="power" wx:key="title" wx:for="{{powerList}}" wx:for-item="power">
  6. <view class="power_info" data-index="{{index}}" bindtap="onClickPowerInfo">
  7. <view class="power_info_text">
  8. <view class="power_info_text_title">{{power.title}}</view>
  9. <view class="power_info_text_tip">{{power.tip}}</view>
  10. </view>
  11. <image wx:if="{{!power.showItem}}" class="power_info_more" src="../../images/arrow.svg"></image>
  12. <image wx:if="{{power.showItem}}" class="power_info_less" src="../../images/arrow.svg"></image>
  13. </view>
  14. <view wx:if="{{power.showItem}}">
  15. <view wx:key="title" wx:for="{{power.item}}">
  16. <view class="line"></view>
  17. <view class="power_item" bindtap="jumpPage" data-page="{{item.page}}">
  18. <view class="power_item_title">{{item.title}}</view>
  19. <image class="power_item_icon" src="../../images/arrow.svg"></image>
  20. </view>
  21. </view>
  22. </view>
  23. </view>
  24. <view class="environment" bindtap="onChangeShowEnvChoose">当前环境 {{ selectedEnv.alias }}</view>
  25. <cloud-tip-modal showUploadTipProps="{{showUploadTip}}"></cloud-tip-modal>
  26. </view>

主页面采用的就是一个非常普通的基于<view>标签的垂直布局,可通过direction属性设置更改布局效果。

执行程序index.js

  1. // index.js
  2. // const app = getApp()
  3. const { envList } = require('../../envList.js');
  4. Page({
  5. data: {
  6. showUploadTip: false,
  7. powerList: [
  8. {
  9. title: '总得跑一个',
  10. tip: '登陆以体验完整服务',
  11. showItem: false,
  12. item: [{
  13. title: '总得跑一个',
  14. page: 'login'
  15. }
  16. ]
  17. },
  18. {
  19. title: '总得跑一个',
  20. tip: '总得跑一个',
  21. showItem: false,
  22. item: [{
  23. title: '总得跑一个',
  24. page: 'election'//选举页面
  25. },
  26. {
  27. title: '总得跑一个',
  28. page: 'getResult'//结果查询
  29. },
  30. ]
  31. }, {
  32. title: '总得跑一个',
  33. tip: '总得跑一个',
  34. showItem: false,
  35. item: [{
  36. title: '总得跑一个',
  37. page: 'remoteSwitchPre'
  38. }, {
  39. title: '总得跑一个',
  40. page: 'apply'
  41. },
  42. ]
  43. }, {
  44. title: '总得跑一个',
  45. tip: '',
  46. showItem: false,
  47. item: [{
  48. title: '总得跑一个',
  49. page: 'remoteSwitch'//拉合闸控制api
  50. }
  51. ]
  52. },
  53. ],
  54. envList,
  55. selectedEnv: envList[0],
  56. haveCreateCollection: false
  57. },
  58. onClickPowerInfo(e) {
  59. const index = e.currentTarget.dataset.index;
  60. const powerList = this.data.powerList;
  61. powerList[index].showItem = !powerList[index].showItem;
  62. if (powerList[index].title === '总得跑一个' && !this.data.haveCreateCollection) {
  63. this.onClickDatabase(powerList);
  64. } else {
  65. this.setData({
  66. powerList
  67. });
  68. }
  69. },
  70. onChangeShowEnvChoose() {
  71. wx.showActionSheet({
  72. itemList: this.data.envList.map(i => i.alias),
  73. success: (res) => {
  74. this.onChangeSelectedEnv(res.tapIndex);
  75. },
  76. fail (res) {
  77. console.log(res.errMsg);
  78. }
  79. });
  80. },
  81. onChangeSelectedEnv(index) {
  82. if (this.data.selectedEnv.envId === this.data.envList[index].envId) {
  83. return;
  84. }
  85. const powerList = this.data.powerList;
  86. powerList.forEach(i => {
  87. i.showItem = false;
  88. });
  89. this.setData({
  90. selectedEnv: this.data.envList[index],
  91. powerList,
  92. haveCreateCollection: false
  93. });
  94. },
  95. jumpPage(e) {
  96. wx.navigateTo({
  97. url: `/pages/${e.currentTarget.dataset.page}/index?envId=${this.data.selectedEnv.envId}`,
  98. });
  99. },
  100. onClickDatabase(powerList) {
  101. wx.showLoading({
  102. title: '',
  103. });
  104. wx.cloud.callFunction({
  105. name: 'quickstartFunctions',
  106. config: {
  107. env: this.data.selectedEnv.envId
  108. },
  109. data: {
  110. type: 'createCollection'
  111. }
  112. }).then((resp) => {
  113. if (resp.result.success) {
  114. this.setData({
  115. haveCreateCollection: true
  116. });
  117. }
  118. this.setData({
  119. powerList
  120. });
  121. wx.hideLoading();
  122. }).catch((e) => {
  123. console.log(e);
  124. this.setData({
  125. showUploadTip: true
  126. });
  127. wx.hideLoading();
  128. });
  129. }
  130. });

配色方案index.wxss

页面配色我是参考了学校主页,然后用取色器调的,个人感觉还挺还看。

  1. /**index.wxss**/
  2. page {
  3. padding-top: 54rpx;
  4. background-color: #f6f6f6;
  5. padding-bottom: 60rpx;
  6. }
  7. .title {
  8. font-family: PingFang SC;
  9. font-weight: 500;
  10. color: #000000;
  11. font-size: 44rpx;
  12. margin-bottom: 40rpx;
  13. }
  14. .top_tip {
  15. font-size: 28rpx;
  16. font-family: PingFang SC;
  17. font-weight: 400;
  18. color: #888888;
  19. margin-bottom: 28rpx;
  20. }
  21. .power {
  22. margin-top: 30rpx;
  23. border-radius: 5px;
  24. background-color: white;
  25. width: 93%;
  26. padding-bottom: 1rpx;
  27. }
  28. .power_info {
  29. display: flex;
  30. padding: 30rpx 25rpx;
  31. align-items: center;
  32. justify-content: space-between;
  33. }
  34. .power_info_more {
  35. width: 30rpx;
  36. height: 30rpx;
  37. transform: rotate(90deg);
  38. }
  39. .power_info_less {
  40. width: 30rpx;
  41. height: 30rpx;
  42. transform: rotate(270deg);
  43. }
  44. .power_info_text {
  45. display: flex;
  46. flex-direction: column;
  47. }
  48. .power_info_text_title {
  49. margin-bottom: 10rpx;
  50. font-weight: 400;
  51. font-size: 35rpx;
  52. }
  53. .power_info_text_tip {
  54. color: rgba(0, 0, 0, 0.4);
  55. font-size: 25rpx;
  56. }
  57. .power_item {
  58. padding: 30rpx 25rpx;
  59. display: flex;
  60. justify-content: space-between;
  61. }
  62. .power_item_title {
  63. font-size: 30rpx;
  64. }
  65. .power_item_icon {
  66. width: 30rpx;
  67. height: 30rpx;
  68. }
  69. .line {
  70. width: 95%;
  71. margin: 0 auto;
  72. height: 2rpx;
  73. background-color: rgba(0, 0, 0, 0.1);
  74. }
  75. .environment {
  76. color: rgba(0, 0, 0, 0.4);
  77. font-size: 24rpx;
  78. margin-top: 25%;
  79. }

配色我还挺喜欢,实现效果因人而异

以上就是本文的全部内容,代码复可以直接使用✌️

觉得有帮助的小伙伴还请点个关注

后续会持续分享 免费、高质量 的高校相关以及Python学习文章

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/720105
推荐阅读
相关标签
  

闽ICP备14008679号