微信小程序云开发实战-答题积分赛小程序

界面交互篇:对于程序页布局款式与逻辑交互开发

对于程序页效果图

对于程序布局与款式实现

这个对于程序页的页面布局,设计上是比拟简洁的,而后还实现了一键复制联系方式或信息的性能。我曾搭建的消防安全常识答题、网络安全常识答题、平安生产常识答题等,都是应用这种形式实现的。

页面布局

在about.wxml中,编写布局代码:

<view class="top_contain">      <view class="des_contain">            <view class="name">姑苏洛言</view>            <view class="sign">优质小程序创作者</view>      </view>      <view class="avator_box">            <image class="avator" src="/images/0.png"></image>      </view></view><view class="contain">      <view class="title">程序简介</view>      <view class="description">            <text space="emsp" decode="{{ true }}">{{des}}</text>      </view>      <view class="title">联系方式</view>      <view class="description">            <view class="tip" bindtap="copy" data-copy="木番薯科技">                  <view>公.z.号</view>:                  <text>木番薯科技</text>            </view>            <view class="tip" bindtap="copy" data-copy="meng674782630">                  <view>We.chat</view>:                  <text>meng674782630</text>            </view>            <view class="tip" bindtap="copy" data-copy="护网专题信息安全常识竞答">                  <view>小.程.序</view>:                  <text>护网专题信息安全常识竞答</text>            </view>      </view></view>

页面款式

在about.wxss中,编写款式代码:

page {      background: #fff;} .top_contain {      width: 100%;      display: flex;      box-sizing: border-box;      padding: 20rpx 36rpx 30rpx 0;      background: url(https://7072-pro-4258f6-1258207985.tcb.qcloud.la/index1.jpg?sign=8f9ea11ad30c0607c60d16d4fab4368d&t=1677080243) center center no-repeat;      min-height: 206rpx;      position: relative;      justify-content: flex-end;} .des_contain {      width: 618rpx;      height: 157rpx;      border-radius: 10rpx;      background: #fff;      display: flex;      box-sizing: border-box;      flex-direction: column;      justify-content: center;      padding: 0 0 0 90rpx;} .name {      font-size: 36rpx;      line-height: 50rpx;} .sign {      margin-top: 10rpx;      font-size: 28rpx;      letter-spacing: 3rpx;      line-height: 45rpx;      color: #b8b8b8;} .avator_box {      position: absolute;      left: 0rpx;      top: 0rpx;      display: flex;      padding: 44rpx 0 0 40rpx;} .avator {      box-shadow: 0 0 10rpx #b8b8b8;      width: 110rpx;      height: 110rpx;      border-radius: 20rpx;} .contain {      width: 100%;      background: #fff;      display: flex;      flex-direction: column;      padding: 0 20rpx;      box-sizing: border-box;} .title {      margin-top: 20rpx;      line-height: 56rpx;      padding-left: 20rpx;      font-size: 32rpx;      letter-spacing: 3rpx;      color: #000;} .description {      width: 100%;      padding: 24rpx 30rpx;      background: #f1f1f1;      border: 2rpx solid #ddd;      border-radius: 10rpx;      display: flex;      box-sizing: border-box;      flex-direction: column;} .description text {      width: 100%;      font-size: 28rpx;      line-height: 44rpx;      letter-spacing: 3rpx;} .tip {      display: flex;      align-items: center;} .tip view {      font-size: 30rpx;      letter-spacing: 2rpx;      padding: 15rpx 0;      width: 150rpx;      display: flex;      justify-content: space-between;} .tip text {      margin-left:20rpx;      font-size: 28rpx;      color: #4685FF;      text-decoration-line: underline;}

留神:background外面应用的图片链接必须是近程服务器图片的链接。你能够把图片上传到云存储或图床,拿到链接。

一键复制性能

wx.setClipboardData,设置零碎剪贴板的内容。调用胜利后,会弹出 toast 提醒"内容已复制",继续 1.5s。
在about.js中,编写代码:

//一键复制copy(e) {    wx.setClipboardData({          data: e.currentTarget.dataset.copy,          success: res => {                          }    })}

在 WXML 中,这些自定义数据以 data- 结尾,比方:

 data-copy="护网专题信息安全常识竞答" bindtap="copy"

在JS中,通过事件的逻辑解决参数接管,其实,你间接在控制台打印进去就看到具体输入了。咱们应用e.currentTarget.dataset.copy就能获取到在组件节点中附加的自定义数据。

//一键复制copy(e) {    console.log(e);    console.log(e.currentTarget.dataset.copy);}

性能预览

保留后,能够在模拟器点击操作预览成果或者手机微信扫码后操作预览。