知识大杂烩(uniapp)

news2024/12/28 4:24:04

首先声明:不敢保证都管用,这是我自己实践得来的。

box-shadow:

这段 CSS 样式代码用于创建一个阴影效果,它是通过 `box-shadow` 属性来实现的。让我解释一下这段代码的含义:

- `box-shadow`: 这是 CSS 的属性,用于添加阴影效果到一个元素上。

- `0`: 这是阴影的水平偏移量,表示阴影水平方向上不偏移(即阴影在元素的下方)。

- `14rpx`: 这是阴影的垂直偏移量,表示阴影垂直方向上偏移了 14 个 rpx 单位。rpx 是一种相对长度单位,常用于适配不同屏幕分辨率的移动应用开发。

- `18rpx`: 这是阴影的模糊半径,表示阴影的边缘会模糊化,模糊半径为 18 个 rpx 单位。

- `rgba(0, 0, 0, 0.1)`: 这是阴影的颜色和透明度。`rgba` 表示颜色由红、绿、蓝三个通道组成,每个通道的取值范围是 0 到 255,而最后一个参数表示透明度,取值范围是 0(完全透明)到 1(完全不透明)。在这里,阴影的颜色是黑色(红、绿、蓝都为 0),透明度为 0.1,即略带半透明的黑色阴影。

所以,这段代码的效果是在元素的下方(水平不偏移,垂直下移 14rpx),添加了一个半透明的黑色阴影,阴影的边缘有轻微的模糊效果。您可以根据需要调整偏移量、模糊半径和颜色来定制阴影效果。

box-shadow: 0 14rpx 18rpx rgba(0, 0, 0, 0.1);

rpx适用于小程序,px适用于pc端

uniapp的搜索功能:

链接:http://t.csdn.cn/wdUPg

utc时间转换成为本地时间uniapp版

链接:http://t.csdn.cn/XZryS

uniapp登录(微信小程序目前还能用的版本)

view部分

<button class="checkboxstr" @click="wxlogin" open-type="chooseAvatar" @chooseavatar="wxlogin">
								<image style="width: 50rpx;height: 50rpx;margin-top: 10rpx;" src="https://pic.imgdb.cn/item/64f71ef9661c6c8e54b5cc40.png" mode=""></image>
								<text style="margin-top: -10rpx;justify-content: center;display: flex;">微信授权登录</text> </button>

script部分

			// 登录
			wxlogin() {
				// console.log(e.detail.avatarUrl,'image');
												// if(e.detail.avatarUrl!=''){
												// 	this.sg = true
												// 	this.avatar=e.detail.avatarUrl
												// 	uni.setStorageSync("uming",e.detail.avatarUrl)
												// }
				// let that = this;
				this.tanchu_sheng=false;
				//先获取用户的信息
				uni.getUserInfo({
					desc: '登录的数据',
					success(ures) {
						console.log(ures, '返回的用户信息');
						//这个地方的用户信息无论登录成功失败都可以拿到,只是拿到用户的信息
						//在成功的回调中去使用微信登录
						uni.login({
							provider: 'weixin', //使用微信登录
							success(lres) {
								console.log(lres, '获取到的code--------1');
								//我们要根据上面获取的code码去作为请求参数发送给后端
								let params = {
									code: lres.code
								};
								console.log(lres.code,'查看code--------2');
								
								
								
								
								// 1
								uni.request({
									url: '登录接口',//这里用自己的地址获取
									method: 'POST',
									data: {
										code: lres.code
									},
									success: (res) => {
										console.log(res,'测试是否成功?');
										//获得token完成登录
										uni.setStorageSync('token', res.data.data.token)
										uni.setStorageSync('id', res.data.data.id)
										console.log(res,'登录测试');
										// 提示
										
										uni.showToast({
										  title: `登陆成功`,
										  icon: 'none',
										  duration: 2000,
										  success: () => {
										    // console.log('轻提示显示成功');
										  },
										  fail: (error) => {
										    // console.error('轻提示显示失败', error);
										  }
										});
										
										
									
									
										
									}
								});
								// 2
							}
						});
					}
				});
			},

uniapp通过url跳转传参

在 PageA 中触发跳转,同时将参数附加到目标页面的 URL 中。

<template>
  <view>
    <!-- 触发跳转到 PageB -->
    <button @click="goToPageB">跳转到 PageB</button>
  </view>
</template>

<script>
export default {
  methods: {
    goToPageB() {
      // 使用 uni.navigateTo 方法跳转到 PageB,并传递参数
      uni.navigateTo({
        url: `/pages/PageB?param1=value1&param2=value2`,
      });
    },
  },
};
</script>

在 PageB 中获取 URL 参数并处理数据。

<template>
  <view>
    <!-- 在 PageB 中显示参数 -->
    <text>参数1:{{ param1 }}</text>
    <text>参数2:{{ param2 }}</text>
  </view>
</template>

<script>
export default {
  data() {
    return {
      param1: '',
      param2: '',
    };
  },
  onLoad(options) {
    // 在页面加载时获取 URL 参数
    this.param1 = options.param1 || '';
    this.param2 = options.param2 || '';
  },
};
</script>

3元表达式

下方是我写的一个小案例

{{shuju_dangan.nickname == null ? '暂无数据' : shuju_dangan.nickname == undefined ? '暂无数据' : shuju_dangan.nickname}}
  1. 如果 shuju_dangan.nickname 的值为 null,则显示 '暂无数据'
  2. 否则,如果 shuju_dangan.nickname 的值为 undefined,同样显示 '暂无数据'
  3. 如果 shuju_dangan.nickname 的值既不是 null 也不是 undefined,则显示 shuju_dangan.nickname 的值。

下方是一个进行简咯日期判断的三元表达式

{{item.end_time <= '2023-08-30' ? '数值1' : '数值2'}}

uniapp图片上传

view部分

		<view class="">
			<view class="" style="padding: 30rpx;font-size: 30rpx;">
				上传图片
			</view>
			<view class="" style="margin-left: 2.5%;display: flex;">
				<!-- 图片上传 -->
				<image :src="shujus"  style="width:200rpx ;height: 200rpx;" mode=""></image>
				<u-upload :fileList="fileList1"   width="200rpx" height="200rpx"  @afterRead="afterRead" @delete="deletePic" name="1" multiple
					:maxCount="10"></u-upload>
			</view>
			
		</view>

script部分

fileList1: [],
				imageUrl: '', // 用于展示选择的图片
				shujus:'',
			// 图片上传
			// 删除图片
			deletePic(event) {
				this[`fileList${event.name}`].splice(event.index, 1)
			},
			// 新增图片
			async afterRead(event) {
				// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
				let lists = [].concat(event.file[0].url)
				
				uni.uploadFile({
					url: '接口', // 仅为示例,非真实的接口地址
					filePath: event.file[0].url,
					name: 'file',
					formData: {
						user: 'test'
					},
					success: (res) => {
						console.log(res.data);
						this.uploadImg = JSON.parse(res.data)
						console.log(this.uploadImg.url,123123);
						this.shujus = this.uploadImg.url;
						
						uni.showToast({
						  title: `图片上传成功`,
						  icon: 'none',
						  duration: 2000,
						  success: () => {
						  },
						  fail: (error) => {
						  }})
						setTimeout(() => {
							resolve(res)
						}, 1000)
					}
				});
				
				return
				// let fileListLen = this[`fileList${event.name}`].length
				// lists.map((item) => {
				// 	this[`fileList${event.name}`].push({
				// 		...item,
				// 		status: 'uploading',
				// 		message: '上传中'
				// 	})
				// })
				// for (let i = 0; i < lists.length; i++) {
				// 	const result = await this.uploadFilePromise(lists[i].url)
				// 	let item = this[`fileList${event.name}`][fileListLen]
				// 	this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
				// 		status: 'success',
				// 		message: '',
				// 		url: result
				// 	}))
				// 	fileListLen++
				// }
			},
			uploadFilePromise(url) {
				console.log(url,'123123123');
				return
				// return new Promise((resolve, reject) => {
				// 	let a =
				// })
			},

setTimeout

setTimeout(function() {
  // 这里放置您希望在延迟之后执行的代码
}, 10); // 10 毫秒的延迟

setTimeout 函数用于创建一个定时器,该定时器将在 10 毫秒后执行函数内的代码块。

background: linear-gradient();

background: linear-gradient(to bottom, #FFFFFF, #EDFEF6);

这段 CSS 代码用于创建一个线性渐变背景,从顶部到底部,由白色渐变到 #EDFEF6 这个颜色。让我解释一下这个代码的含义:

  • background:这是 CSS 属性,用于设置元素的背景样式。

  • linear-gradient:这是背景属性的值,表示要创建一个线性渐变背景。

  • to bottom:这是线性渐变的方向,表示颜色从上到下渐变。您还可以使用其他方向,例如 to top(从下到上)、to left(从右到左)等。

  • #FFFFFF#EDFEF6:这是渐变的起始颜色和结束颜色。在这个例子中,渐变从白色 (#FFFFFF) 开始,到 #EDFEF6 结束。

这段代码的效果是将元素的背景设置为一个从顶部到底部的渐变,颜色逐渐从白色变为 #EDFEF6,这可以用来创建视觉上的渐变效果,使元素的背景看起来更丰富和吸引人。您可以根据需要调整颜色和渐变方向来满足您的设计要求。

split剪切自己想要的数据

下方只是一个简单的示例,在确保自己拿到数据的情况下循环数据中的某个自己想要修改的字段进行修改,切的时候可以是空格 逗号 也可以是某个字母

for (let i = 0; i < res.data.data.length; i++) {
res.data.data[i].end_time = res.data.data[i].end_time.split(' ')[0]
}

uniapp input

这样可以打印到自己的数值

<input type="text" v-model="inputValue" class="" style="width: 70%;margin-top: 40rpx;" @input="name" placeholder="请输入">

inputValue: '',

name(s) {
                console.log(s.detail.value);

            },

uniapp选项卡功能

使用uview组件来进行演示:uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架 (uviewui.com)icon-default.png?t=N7T8https://www.uviewui.com/

<template>
  <view>
    <u-tabs
      :list="list4"
      :activeIndex="activeIndex"
      @change="tabChange"
      lineWidth="30"
      lineColor="#f56c6c"
      :activeStyle="{
        color: '#303133',
        fontWeight: 'bold',
        transform: 'scale(1.05)'
      }"
      :inactiveStyle="{
        color: '#606266',
        transform: 'scale(1)'
      }"
      itemStyle="height: 60px;background-color:#ffffff;width:30%"
    ></u-tabs>
  </view>
</template>

<script>
export default {
  data() {
    return {
      list4: [
        { label: '选项卡1', value: 'tab1' },
        { label: '选项卡2', value: 'tab2' },
        { label: '选项卡3', value: 'tab3' },
      ],
      activeIndex: 0, // 当前激活的选项卡索引
    };
  },
  methods: {
    tabChange(index) {
      // 当选项卡切换时触发该方法,更新激活的选项卡索引
      this.activeIndex = index;
    },
  },
};
</script>

具体怎么使用还要看使用者

uniapp轻提示

						uni.showToast({
						  title: `图片上传成功`,
						  icon: 'none',
						  duration: 2000,
						  success: () => {
						  },
						  fail: (error) => {
						  }})
  • uni.showToast 是 UniApp 中用于显示轻量级提示消息的方法。
  • title 属性用于设置提示消息的内容,这里设置为 '图片上传成功'
  • icon 属性用于设置提示消息的图标,这里设置为 'none' 表示不显示图标,如果需要显示图标,可以设置为 'success''loading' 等。
  • duration 属性用于设置提示消息的显示时间(以毫秒为单位),这里设置为 2000 表示消息将在 2 秒后自动消失。
  • successfail 属性是回调函数,在成功或失败时执行相应的操作。在这个示例中,它们为空函数,没有特定的操作。

这段代码的目的是在图片上传成功后,显示一个包含 '图片上传成功' 文字的提示消息,该消息不包含图标,并在 2 秒后自动消失。

uniapp从当前页面切换到指定标签页

不带有返回标记的标签

	uni.switchTab({
									       url:'/pages/页面/页面',
									       success: (res) => {
									       	let page = getCurrentPages().pop();
									       	if (page == undefined || page == null) return;
									       	page.onLoad();
									       }
									    })
  • uni.switchTab 是 UniApp 中用于切换标签页的方法。
  • url 属性用于指定要切换到的标签页的页面路径,这里设置为 '/pages/ji_fen_shang_cheng/ji_fen_shang_cheng',表示要切换到名为 'ji_fen_shang_cheng' 的标签页。
  • success 属性是一个回调函数,当切换成功时执行。在这个示例中,它的操作是重新加载当前页面,以确保在返回到当前页面时数据得到更新。

非常感谢观看

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

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

相关文章

vue.js+nodejs家庭个人理财收支管理系统5x6nf

本收支管理系统以vue.js作为框架&#xff0c;nodejs语言&#xff0c;B/S模式以及MySql作为后台运行的数据库。本系统主要包括以下功能模块&#xff1a;用户管理、收入分类、支出分类、每日收入、每日支出等模块。 本文的组织结构如下&#xff1a; 1、绪论。综述了本文的研究背景…

Python之线性数据结构

Python之线性数据结构 线性数据结构 线性表 线性表(简称表)&#xff0c;是一种抽象的数学概念&#xff0c;是一组元素的序列的抽象&#xff0c;它由有穷个元素组成(0 个或任意个)顺序表:使用一大块连续的内存顺序存储表中的元素&#xff0c;这样实现的表称为顺序表&#xff…

优惠来袭,工业树莓派特惠季火爆进行中

为回馈各位新老用户一直以来的支持和信任&#xff0c;虹科工业树莓派特惠季强势来袭&#xff01;9月1日至12月31日期间&#xff0c;订购虹科工业树莓派RevPi Core S或RevPi Connect S型号产品&#xff0c;满足活动条件即可享超值优惠折扣&#xff01;详细活动可扫描海报下方二维…

CSS 的 Float

文档流 将窗体自上而下分成一行一行&#xff0c;并在每行中按从左至右的挨次排放元素&#xff0c;即为文档流。 文档流是 HTML 页面的底层结构&#xff0c;HTML 页面创建的元素默认都在文档流中。 块级元素 块级元素在文档流中自上向下排列&#xff08;垂直方向排列&#xf…

2023年非证券类投资银行业发展报告

第一章 行业概况 非证券投资银行业是一个专门为公司、政府和高净值个人提供金融服务的行业&#xff0c;与传统的证券投资银行不同&#xff0c;其主要业务不涉及证券交易&#xff0c;而是注重为客户提供咨询服务、融资和投资管理等服务。 非证券投资银行通常涉及的业务领域包括…

电脑同时连接有线和无线网络怎么设置网络的优先级

电脑同时连接有线和无线网络怎么设置网络的优先级&#xff1a; 我们知道在 笔记本电脑系统 中&#xff0c;可以通过有线或无线网络进行联网。如果电脑在有线网络和无线网络同时存在的情况&#xff0c;应该怎么设置有线网络优先连接呢?对此我们提供下面的方法可以让电脑在有Wi…

【ES】笔记-Class类剖析

Class Class介绍与初体验ES5 通过构造函数实例化对象ES6 通过Class中的constructor实列化对象 Class 静态成员实例对象与函数对象的属性不相通实例对象与函数对象原型上的属性是相通的Class中对于static 标注的对象和方法不属于实列对象&#xff0c;属于类。 ES5构造函数继承Cl…

力扣373. 查找和最小的 K 对数字 优先队列法

题目 给定两个以 非递减顺序排列 的整数数组 nums1 和 nums2 , 以及一个整数 k 。 定义一对值 (u,v)&#xff0c;其中第一个元素来自 nums1&#xff0c;第二个元素来自 nums2 。 请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。 示例 1: 输入: nums1 [1,7,11], …

BFGS算法python实现

文章目录 Python代码当前参数下求解结果参数设置 Python代码 import scipy import numpy as np import matplotlib.pyplot as plt from scipy.optimize import minimize def func(x):return 7*np.sin(x) 11*np.cos(5*x) def cal_func():x np.linspace(-5,5,1000)y func(x)r…

【电压质量】提高隔离电源系统的电压质量(Simulink实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

嵌入式学习笔记(17)代码重定位实战 上篇

3.5.1任务&#xff1a;在iSRAM中将代码从0xd0020010重定位到0xd0024000 注解&#xff1a;本练习对代码本身运行无实际意义&#xff0c;我们做这个重定位纯粹是为了练习重定位技能。但是某些情况重定位就是必须的&#xff0c;譬如在uboot中。 3.5.2思路 &#xff08;1&#xff…

2023新疆褐牛产业集群高质量发展论坛伊犁召开

8月31日&#xff0c;“2023新疆褐牛产业集群高质量发展论坛”在新疆巩留县召开&#xff0c;相关部委、权威专家和企业代表欢聚一堂&#xff0c;共商新疆褐牛科学化繁育和规模化养殖之路&#xff0c;共享新疆褐牛一二三产业融合发展创新模式&#xff0c;助力新疆褐牛产业集群发展…

知识库建设:从0到1搞定知识库建设的方法论分享

如果我们想要搭建一个知识库&#xff0c;前提是我们要明确知道这个知识库是干什么用的&#xff0c;只有了解知识库的应用场景才能知道如何去建设知识库。 知识库建设 以常见的电商客服为例&#xff0c;客户会经常咨询什么时候发货&#xff0c;怎么退货&#xff0c;怎么换货………

MySQL——数据库以及数据表的创建

创建数据库 回到刚才创建数据库的问题&#xff0c;我们在创建数据库的时候可以通过添加一个参数&#xff0c;这个参数的意义在于当我们创建的数据库已经存在的时候则不会创建&#xff0c;也不会报错&#xff0c;如果不使用这个参数&#xff0c;则我们在重复创建一个已经存在的…

遥感图像应用:在低分辨率图像上实现洪水损害检测(迁移学习)

本文是上一篇关于“在低分辨率图像上实现洪水损害检测”的博客的延申。 代码来源&#xff1a;https://github.com/weining20000/Flooding-Damage-Detection-from-Post-Hurricane-Satellite-Imagery-Based-on-CNN/tree/master 数据储存地址&#xff1a;https://github.com/Jef…

List常见面试问题

List的特点有哪些&#xff1f; Java中的List是一种存放有序的、可以重复的数据的集合&#xff0c;它允许重复元素的存在。List中的元素都有对应的一个序列号(索引)记录着元素的位置&#xff0c;因此可以通过这个序列号来访问元素。 ‍ Java中集合有哪些&#xff1f; Java中…

便民门诊“快车道”,5G商企专网来护航

时代进步&#xff0c;医疗服务再升级。在贵州铜仁地区&#xff0c;5G诊疗服务尽显温情&#xff0c;“健康守护”走进社区。更便捷高效的就医方式&#xff0c;让百姓尽享“健康红利”。 为搭建就医“快车道”&#xff0c;医院在多地新增设便民门诊&#xff0c;民众就医有了更多的…

misc corrupt

1.打开之后是01二进制 2.利用python二进制转hex或者16进制 print(hex(int(二进制01,2))) 3.利用winHex 4.解码base64

【Java】基础练习(十二)

1.Map基本操作 创建一个Map集合&#xff0c;完成以下操作&#xff1a; 将我国省份和其简称存到 Map 集合中&#xff1b;将省份名称中包含"江"的省份从集合中删除&#xff1b;遍历输出集合元素 &#xff08;1&#xff09;源码&#xff1a; package swp.kaifamiao.c…

学习嵌入式软件工程师面试题(day1)

前言 &#xff08;1&#xff09;如果你在读大学&#xff0c;不管你本科毕业是读研还是就业&#xff0c;你都可以早点准备嵌入式面试题&#xff0c;本系列教程的面试题均基于C语言。 &#xff08;2&#xff09;像嵌入式学得好&#xff0c;且学历不错的本科生和研究生&#xff0c…