小程序样例4:个人中心+我的书单

news/2024/7/20 4:09:41 标签: 小程序, linux, 运维

基本功能:

1、展示个人基本信息:头像、昵称 、读书时间统计

2、邮件列表,点击加入计划跳转到书架

3、今日任务 学习进度

4、邮件滑动到最末尾或者最开始,会有弹框提示:

5、图书搜索框

代码分析:

1、邮件展示和数据结构:

{
                id: '12312312311231',
                bgImgUrl: 'https://t7.baidu.com/it/u=3582358516,1059101166&fm=193&f=GIF',
                digest: {
                    author_img: 'https://t7.baidu.com/it/u=430982779,3847086655&fm=193&f=GIF',
                    author_name: '熊猫老师',
                    author_des: '宣传部',
                    title: "“阅读推行赠书计划”已经开始",
                    content: {
                        button: {
                            text: '加入计划',
                            url: '/pages/booklist/booklist',
                            eventHandler: 'goToUrl'
                        },
                        other: '或者到【我的--邀请好友加入】查看'
                    }
                }
            }

可以动态设置按钮的文本、参数、按钮的响应事件。

XML实现:

通过swiper组件实现

button组件内容——文本和事件响应函数、传递参数都是通过数据结构定义。

<!--滑块-->
    <swiper class="swipe" duration="600" bindchange="changeEmail" current="{{currentEmail}}">
      <block wx:for="{{emails}}" wx:key="id">
        <swiper-item class="{{index == currentEmail? 'active': ''}}">
          <view>
            <view class="author">
              <image src="{{item.digest.author_img}}" mode="scaleToFill"></image>
              <view>
                <text class="name">{{item.digest.author_name}}</text>
                <br />
                <text class="des">{{item.digest.author_des}}</text>
              </view>
            </view>
            <view class="title">{{item.digest.title}}</view>
            <view class="content">
              <button wx:if="{{item.digest.content.button}}" bindtap="{{item.digest.content.button.eventHandler}}" data-gotoUrl="{{item.digest.content.button.url}}">{{item.digest.content.button.text}}</button>
              <text class="other">{{item.digest.content.other}}</text>
            </view>
          </view>
          <image src="{{item.bgImgUrl}}" class="slide-image" mode="scaleToFill" />
        </swiper-item>
      </block>
    </swiper>
  </view>

2、书架数据结构比较简单:

{
        bookId: '123123121231231',
        img: 'https://www.biqugeuu.com/files/article/image/0/176/176s.jpg',
        bookName: '大主宰',
        author: '烟雨江南',
        bookDes: '大千世界,位面交汇,万族林立,群雄荟萃,一位位来自下位面的天之至尊,在这无尽世界,演绎着令人向往的传奇,追求着那主宰之',
        isRead: true,
        isShow: true //判断是不是搜索结果
      }

通过isShow来决定页面是否显示,正常项目是通过后台接口获取数据,然后界面只是展示,不做过滤动作。

3、最近6个月数据计算:

allMonths: function () {
    var resultArray = [];
    var today = new Date();
    var month = today.getMonth();
    // todo给出是否有记录的判断
    resultArray.push({
      monthCname: Util.eNumToCNum(Math.abs(month)) + '月',
      hasRecord: false
    });
    for (var i = 1; i <= 6; i++) {
      resultArray.push({
        monthCname: Util.eNumToCNum(Math.abs(month - i < 0 ? month + 12 - i : month - i)) + '月',
        hasRecord: true
      });
    }
    return {
      headerText: today.getFullYear() + '年' + resultArray[0].monthCname,
      showMonths: resultArray.reverse()
    }
  },

4、弹框数据显示控制代码:

通过setTimeout来控制3秒后隐藏。 也可以通过wx.showToast接口实现

if(currentIndex <= 0){
            //提示用户当前为第一封邮件
            self.setData({err_tips_data: {err_tips_show: true, err_tips_text: '当前为第一封邮件'}});
            setTimeout(function(){
                self.setData({err_tips_data: {err_tips_show: false, err_tips_text: ''}});
            }, 3000);
        }

引用组件:

<import src="../component/err_tips/err_tips.wxml" />
<template is="err_tips" data="{{err_tips_data}}" />
<template name="err_tips">
  <view hidden="{{!err_tips_data.err_tips_show}}" class="err_tips">
      <div class="weui-mask_transparent"></div>
      <div class="weui-err_tips">
          <p class="weui-err_tips__content" >{{err_tips_data.err_tips_text}}</p>
      </div>
  </view>
</template>

代码目录结构:

完整代码下载:

https://download.csdn.net/download/u200814342A/88789478?spm=1001.2014.3001.5503

个人小程序创业项目   #小程序://朋友圈子/VMEWRjrOTum4Soa  有想法的朋友可以一起交流下~


http://www.niftyadmin.cn/n/5352364.html

相关文章

Ubuntu快捷操作Neo4j,Python脚本,利用py2neo库实现

在Ubuntu上安装了Neo4j数据库&#xff0c;为其编写一个Python脚本&#xff0c;快捷一键实现开启、关闭、清空等操作。 程序内容&#xff1a; 导入所需的模块&#xff1a; subprocess&#xff1a;用于执行系统命令&#xff0c;例如启动、停止、重启Neo4j服务。webbrowser&#…

【云原生】docker-compose单机容器集群编排工具

目录 一、docker-compose容器编排的简介 二、docker-compose的使用 1、docker-compose的安装 2、docker-compose的配置模板文件yaml文件的编写 &#xff08;1&#xff09;布尔值类型 &#xff08;2&#xff09;字符串类型 &#xff08;3&#xff09;一个key有多个值 &am…

Python实现基于持续时间数据进行中介分析(Mediation算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 中介分析&#xff08;Mediation Analysis&#xff09;是一种统计方法&#xff0c;用于探讨变量之间的因…

2024年数学建模美赛C题(预测 Wordle)——思路、程序总结分享

1: 问题描述与要求 《纽约时报》要求您对本文件中的结果进行分析&#xff0c;以回答几个问题。 问题1&#xff1a;报告结果的数量每天都在变化。开发一个模型来解释这种变化&#xff0c;并使用您的模型为2023年3月1日报告的结果数量创建一个预测区间。这个词的任何属性是否会…

阿里十年 “帕鲁” 手把手带你学习 CompletableFuture

阿里十年 “帕鲁” 手把手带你学习 CompletableFuture 文章目录 阿里十年 “帕鲁” 手把手带你学习 CompletableFutureFuture 介绍CompletableFuture 介绍CompletableFuture 常见操作创建 CompletableFuturenew 关键字静态工厂方法 处理异步结算的结果异常处理组合 Completable…

linux和windows对比

下面是Linux和Windows在多个方面的全面对比&#xff1a; 1. 开源 vs 闭源&#xff1a; - Linux&#xff1a;Linux是开源操作系统&#xff0c;用户可以自由地查看、修改和分发其源代码。 - Windows&#xff1a;Windows是闭源操作系统&#xff0c;只有微软有权访问和修改其…

【大厂AI课学习笔记】1.2 人工智能的应用(1)

目录 1.2 人工智能的应用 1.2.1 产业中人工智能的应用 金融 教育 医疗 交通 制造 ——智慧金融 智能风控 智能理赔 智能投研 &#xff08;声明&#xff1a;本学习笔记学习原始资料来自于腾讯&#xff0c;截图等资料&#xff0c;如有不合适摘录的&#xff0c;请与我联…

计算机网络(第六版)复习提纲16

三 IP地址与MAC地址 1 IP层只能看到IP数据报 2 路由器只根据目的IP地址进行转发 3 局域网的链路层只能看到MAC帧 4 IP层抽象的互联网屏蔽了下层的复杂细节&#xff0c;在网络层讨论问题能够使用统一的、抽象的IP地址来研究主机和主机或路由间的通信 问题&#xff1a; 1 主机或路…