图书项目要点

一、搭建项目

使用tarojs/cli进行搭建

taro init [项目名]

二、具体页面

页面声明:

在【app.config.ts】中对主页面进行声明:组件页面可以不用声明

pages: ["pages/index/index",'pages/user/index','pages/book/index',],

tabbar制作:

在【app.config.ts】中写入代码:

tabBar: {color: '#333',selectedColor: '#1cbbb4',backgroundColor: '#fff',borderStyle: 'black',list: [{pagePath: 'pages/index/index',text: '首页',iconPath: './assets/tabbar/home.png',selectedIconPath: './assets/tabbar/home_active.png'},{pagePath: 'pages/book/index',text: '书架',iconPath: './assets/tabbar/book.png',selectedIconPath: './assets/tabbar/book_active.png'},{pagePath: 'pages/user/index',text: '我的',iconPath: './assets/tabbar/mine2.png',selectedIconPath: './assets/tabbar/mine2_active.png'},]},
};

【我的】:

页面效果:

【user/index.tsx】页面代码:

import { View, Text, Button, Image } from "@tarojs/components";import './index.less'
import AutorBar from "@/components/AutorBar";
import Line from "@/components/Line";
import TextBar from "@/components/TextBar";const list = [{ title: '我的收藏', icon: require('../../assets/collect.png') },{ title: '借阅记录', icon: require('../../assets/read.png') },{ title: '留言板', icon: require('../../assets/message.png') },
]const User = () => {return (<View className="wrapper"><AutorBar></AutorBar><Line></Line><View className="title"> 最近阅读 </View><Line></Line><View>{list.map((item, index) => <TextBar {...item}></TextBar>)}</View></View>);
};export default User;

【user/index.less】样式文件:

page {background-color: white;padding         : 14px;box-sizing      : border-box;color           : #333;}.wrapper {display       : flex;flex-direction: column;}.title{padding: 20px 0;font-weight: bold;}

【user/index.config.ts】文件

export default {navigationBarTitleText: '图书',enableShareAppMessage: true,};

【书架页面】:

效果如下:

【book/index.tsx】:

import { View, Text, Button, Image } from "@tarojs/components";import './index.less'
import HistoryBar from "@/components/HistoryBar";const bookIndex = require('../../data/detail_400000.json')
const bookList = require('../../data/books_1500000.json')const Book = () => {console.log(bookIndex, 'bookIndex')return (<View className="wrapper"><View className="title"> 热门推荐 </View><HistoryBar bookList={bookList}></HistoryBar></View>);
};export default Book;

【book/index.less】:

page {background-color: white;padding         : 14px;box-sizing      : border-box;color           : #333;background-color: #f6f6f6;
}.wrapper {display       : flex;flex-direction: column;
}.title{padding: 20px 0;font-weight: bold;}

【book/index.config.ts】:

export default {navigationBarTitleText: '图书',enableShareAppMessage: true,};

【主页】效果如下:

【index/index.tsx】

import React, { useCallback } from "react";
import { View, Text, Button, Image } from "@tarojs/components";
import { useEnv, useNavigationBar, useModal, useToast } from "taro-hooks";import './index.less'
import ComBar from "src/components/ComBar";
import Search from "@/components/Search";const Index = () => {return (<View className="wrapper"><Search></Search><ComBar></ComBar></View>);
};export default Index;

【index/index.less】:

page {background-color: white;padding         : 14px;box-sizing      : border-box;color           : #333;
}.cardList{display: flex;flex-wrap: wrap;}

【Combar】组件

import { ScrollView, View, Image, Text } from "@tarojs/components"import './index.less'const list =[{ title: '精品推荐', icon: require('./images/icon0.png') },{ title: '历史', icon: require('./images/icon1.png')},{ title: '文学', icon: require('./images/icon2.png') },{ title: '艺术', icon: require('./images/icon3.png') },{ title: '人物传记', icon: require('./images/icon4.png') },{ title: '自然科学', icon: require('./images/icon5.png') },{ title: '国外读物', icon: require('./images/icon6.png') }]const ComBar = () => {return (<ScrollView className="combar" scrollX >{list.map(item => <View key={item.title} className="combarItem"><View className="combarItemView"><Image className="combarItemImage" src={item.icon}></Image></View><View className="combarItemText">{item.title}</View></View>)}</ScrollView>)
}export default ComBar

整体效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三种tcp并发服务器实现程序

都需先进行tcp连接 1、多进程并发 2、多线程并发 3、IO多路复用并发 &#xff08;1&#xff09;select &#xff08;2&#xff09;epoll 注&#xff1a;select与epoll文件描述符限制的区别是指同时涌入的客户端数量&#xff0c;select最大只能有1024个&#xff0c;epoll可以超…

MSR810配置本地认证的有线802.1X认证

正文共&#xff1a;1567 字 15 图&#xff0c;预估阅读时间&#xff1a;2 分钟 IEEE 802.1X协议又称DOT1X协议&#xff0c;是一种基于端口的网络接入控制协议&#xff08;Port based network access control protocol&#xff09;&#xff0c;即在局域网接入设备的端口上对所接…

RabbitMQ 常见问题与故障排查

目录 前言 常见错误与解决方案 1. 连接失败 2. 队列阻塞 3. 消息丢失 4. 消费者不消费 5. 资源耗尽 日志分析 1. 配置 RabbitMQ 日志 2.日志文件位置 3. 日志分析工具 4. 分析日志文件 5. 常见日志问题及解决方案 Docker中日志分析 1. 查看 RabbitMQ 日志 2. 获…

Django 第八课 -- 路由

目录 一. 前言 1.1. Django1.1.x 版本 1.2. Django 2.2.x 之后的版本 二. 正则路径中的分组 2.1. 正则路径中的无名分组 2.2. 正则路径中的有名分组 三. 反向解析 3.1. 普通路径 3.2. 正则路径&#xff08;无名分组&#xff09; 3.3. 正则路径&#xff08;有名分组&a…

代码随想录训练营 Day41打卡 动态规划 part08 121. 买卖股票的最佳时机 122. 买卖股票的最佳时机II 123. 买卖股票的最佳时机III

代码随想录训练营 Day41打卡 动态规划 part08 一、力扣121. 买卖股票的最佳时机 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计…

反事实推理(Counterfactual Reasoning):探索未知与决策的桥梁

反事实推理&#xff08;Counterfactual Reasoning&#xff09;&#xff1a;探索未知与决策的桥梁 反事实推理&#xff08;Counterfactual Reasoning&#xff09;是一种思维方式&#xff0c;它试图回答“如果……会怎样&#xff1f;”的问题。简单来说&#xff0c;反事实推理是…

中国料箱穿梭车玩家TOP榜单

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 料箱穿梭车前景 随着全球智慧物流建设的加速推进&#xff0c;智能仓储物流成为未来发展的重要趋势。在此背景下&#xff0c;料箱穿梭车作…

cuda,torch,paddle向下兼容

1、第一次配置yolov9模型时&#xff0c;使用的cuda的版本是11.6&#xff0c;torch和torchvision都是对应版本的 使用的tensorrt版本8.6&#xff0c;可以正常跑yolov9 其它不动&#xff0c;直接将cuda版本换为cuda11.7&#xff0c;依然可以正常运行 2、paddleseg paddle同样安…

carla unreal engine源码:如何创建radar可视化探测锥

文章目录 前言一、C实现方法1、DrawDebugCone函数2、carla工程修改3、make launch4、探测锥验证 二、蓝图实现方法1、创建并打开蓝图2、打开蓝图事件图表3、绘制蓝图事件4、编译再运行 前言 1、在自动驾驶仿真调试以及测试过程中&#xff0c;我们经常会用到雷达的探测锥&#…

Memory-based Controller Shutdown (PCIe)

本文介绍NVMe协议中定义的Controller Shutdown流程&#xff0c;当Host需要下电或关机的情况下&#xff0c;应该按下面步骤对控制器进行有序的下电操作。 Normal Controller Shutdown&#xff0c;Host应依次执行以下操作&#xff1a; 如果Controller是enabled&#xff08;i.e.,…

设计模式 代理模式(Proxy Pattern)

简绍 代理模式是一种结构型设计模式&#xff0c;它允许您提供一个替代对象&#xff08;代理&#xff09;来控制对一个真实对象的访问。这种模式通常用于在访问某个对象之前或之后执行一些额外的操作&#xff0c;比如缓存、日志记录、权限验证等 静态代理 静态代理的特点 代…

OpenCV小练习:身份证号码识别

目标&#xff1a;针对一张身份证照片&#xff0c;把身份证号码识别出来&#xff08;转成数字或字符串&#xff09;。 实现思路&#xff1a;需要将目标拆分成两个子任务&#xff1a;(1) 把身份证号码区域从整张图片中检测/裁剪出来&#xff1b;(2) 将图片中的数字转化成文字。第…

Java重修笔记 第四十五天 LinkedHashSet 类

LinkedHashSet 类 1. LinkedHashSet 是 HashSet 的子类&#xff0c;继承 HashSet 的方法 2. LinkedHashSet 的底层是 LinkedHashMap &#xff0c;底层维护了一个数组加双向链表的组合 3. LinkedHashSet 根据元素的 hashCode 值来决定元素在 table 数组上的存储位置&#xf…

Pandas库性能优化指南:从基础到进阶(终)

Pandas是Python中广泛使用的数据处理库&#xff0c;凭借其强大的功能和易用性&#xff0c;深受数据科学家和开发者的青睐。然而&#xff0c;Pandas在处理大规模数据时可能会遇到性能瓶颈&#xff0c;导致执行效率低下。本文将深入探讨如何通过一系列优化技巧&#xff0c;提升Pa…

快速学习go-zero

go的web框架有很多,目前go的社区大家对于框架的态度也不尽相同,有些轻量级的框架,但是也就代表整合第三方中间件就需要自己根据客户端进行封装,比如gingorm,也有些功能完全但是被认为丢失了go本身轻量设计的初衷, 比如goframe,而同样的微服务有很多框架,国内比较出门的就是go-z…

rockyliunx 救援模式下禁用docker

目录地址 /usr/lib/systemd/system/docker.service 进入系统界面&#xff1a; 选择系统 按E 按e出现 如下界面&#xff0c;找到 quite 后面添加 init/bin/bash 按 ctrl x 保存 后&#xff0c;到如下界面 加载文件系统为读写 输入命令 mount -o remount, rw / 修改docer.s…

docker的安装+docker镜像的基本操作

一&#xff0e;docker的介绍 1、Docker 是什么&#xff1f; Docker 是⼀个开源的应⽤容器引擎&#xff0c;可以实现虚拟化&#xff0c;完全采⽤“沙 盒”机制&#xff0c;容器之间不会存在任何接⼝。 Docker 通过 Linux Container&#xff08;容器&#xff09;技术将任意…

SpringBoot项目集成数据脱敏(密码加密)功能

代码连接【https://gitee.com/pengmqqq/sensitive-data-encryption】 介绍 后端敏感数据加密的一些解决方案&#xff0c;包括&#xff1a; 配置文件敏感数据加解密前端传输敏感数据加解密数据库获取的敏感数据加解密 软件架构 配置文件数据脱敏&#xff1a; Jasypt AES …

【线程池】

什么是线程池&#xff1f; 线程池是一个可以复用线程的技术。简单来说&#xff0c;线程池是一种基于池化技术的思想来管理线程的技术&#xff0c;旨在减少线程的创建和销毁次数&#xff0c;提高系统的响应速度和吞吐量。它预先创建了一定数量的线程&#xff0c;并将这些线程放…

力扣52-最大子序和(java详细题解)

题目链接&#xff1a;https://leetcode.cn/problems/maximum-subarray/description/ 前情提要&#xff1a; 因为本人最近都来刷贪心类的题目所以该题就默认用贪心方法来做。 贪心方法&#xff1a;局部最优推出全局最优。 如果一个题你觉得可以用局部最优推出全局最优&#…