小程序的api使用 以及一些weui组件实列获取头像 扫码等

news2024/10/7 18:22:34

今日目标

  1. 响应式单位rpx
  2. 小程序的生命周期 【重点】20%
  3. 小程序框架 weui 【重点】 50%
  4. 内置API 【重点】30%
  5. 综合练习

1. 响应式rpx

1.1 rpx单位

rpx是微信小程序提出的一个尺寸单位,将整个手机屏幕宽度分为750份,1rpx 就是 1/750,避免不同手机尺寸造成单位不匹配的混乱

.box1{
    background:#f00;
    width:375rpx;
    height:375rpx; #宽度和高度都可以使用这个单位
}

1.2 引入外部样式

/* 在.wxss中可以引入外部样式 */
@import '../../common/common.wxss';

2. 小程序的生命周期【重点】

2.1 全局的生命周期

全局的生命周期是指整个小程序的生命周期,生命周期函数在 app.js

//小程序初始化完成时触发,全局只触发一次  
onLaunch() {
    console.log('1. 小程序启动了');
},

//小程序启动,或从后台进入前台显示时触发
onShow(){
    console.log('2. 小程序显示出来');
},

//小程序从前台进入后台时触发
onHide(){
    console.log('3. 小程序隐藏了');
},

2.2 页面的生命周期【重点】

页面的生命周期是指一个页面的生命周期,生命函数在 index.js

Page({
    //1. 页面加载函数,相当于 crated
    onLoad(){
        console.log('1. 页面加载了')
    },

    //2. 页面显示出来了
    onShow(){
        console.log('2. 页面显示啦');
    },

    //3. 页面准备好了,初始渲染完成,相当于 mounted
    onReady(){
        console.log('3. 页面初次渲染完成');
    },

    //4. 页面隐藏时执行
    onHide(){
        console.log('4. 页面隐藏了');
    },

    //5. 页面卸载时执行
    onUnload(){
        console.log('5. 首页被卸载啦');
    }
})

2.3 用户操作函数

Page({
    //用户向上滑动触底时执行,必须要有足够的高度超出一屏才能滑动
    onReachBottom(){
        console.log('已经到底了,没有数据了')
    },

    //用户向下拉,拉到顶了会触发,注意:要在app.json或index.json配置 enablePullDownRefresh:true
    onPullDownRefresh(){
        console.log('已经到顶了,下拉刷新中')
        //wx.startPullDownRefresh(); //开始下拉刷新动作

        setTimeout(function(){
            //停止下拉刷新动作
            wx.stopPullDownRefresh();
        }, 100)
    },

    //分享给朋友或微信群
    onShareAppMessage(){
        return {
            title:'今天发生一件大事',
            imageUrl:'http://www.look518.com/files/996.jpg',
        }
    },

    //分享到朋友圈
    onShareTimeline(){
        return {
            title:'无间之战上架了',
            imageUrl:'http://www.look518.com/files/991.jpg'
        }
    }
})

3. WeUI框架【重点】

官方文档:https://wechat-miniprogram.github.io/weui/docs/quickstart.html

3.1 安装weui

第一种:useExtendedLib 扩展库

在 app.json 中配置扩展库 weui

"useExtendedLib": {
    "weui": true
}

第二种:npm安装

打开 调试器 => 终端 => 安装 weui-miniprogram 包

yarn add weui-miniprogram

打开 工具 => 构建 npm (把 node_modules 构建成 miniprogram_npm )

在 app.wxss 引入全局样式 weui.wxss

@import 'miniprogram_npm/weui-miniprogram/weui-wxss/dist/style/weui.wxss';

3.2 引入weui组件

在 list.json 中声明要使用的组件(按需加载)

"usingComponents": {
    "mp-badge": "weui-miniprogram/badge/badge",
    "mp-icon": "weui-miniprogram/icon/icon"
}

3.3 使用weui

在 list.wxml 中使用组件,找官网查看需要使用的组件示例

<mp-badge content="2"></mp-badge>
<mp-icon type="field" icon="location" color="#f0f" size="{{50}}"></mp-icon>

4. 常用API【重点】

4.1 发请求

wx.request({
    url:'http://www.look518.com/api/film.php', #请求地址
    data:{a:'list', pagesize:5}, #请求的参数数据
    method:'get', #请求方式
    success(res){ #请求成功的回调函数
        console.log(res.data.data);
    },
    fail(err){ #请求失败的回调函数
        console.log(err);
    }
})

4.2 获取用户头像和昵称

wx.getUserProfile({
    desc:'哥,我要你的头像',
    success(res){
        console.log(res.userInfo);
    }
})

开放数据组件,可以直接获取到用户头像和昵称

<open-data type="userNickName"></open-data>
<view class="avatar">
    <open-data type="userAvatarUrl"></open-data>
</view>

4.3 扫码API

wx.scanCode({
    success(res){
        console.log(res.result);
    }
})

5. 补充:传参数和本地存储

5.1 传参数

第一步:在一个页面跳转到另一个页面时,打 ? 传参数

<navigator url="/pages/list/list?id=5" open-type="redirect">去list页面</navigator>

第二步:在目标页面的 onLoad 函数中,接收参数

onLoad(options) {
    console.log(options.id);
},

5.2 本地存储

存数据:

wx.setStorageSync('key', 'value');

读数据:

wx.getStorageSync('key');

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

知网期刊《中阿科技论坛》简介及投稿须知

知网期刊《中阿科技论坛》简介及投稿须知 主管单位&#xff1a;宁夏回族自治区科学技术厅 主办单位&#xff1a;宁夏回族自治区对外科技交流中心(中国一阿拉伯国家技术转移中心) 刊  期&#xff1a;月刊 国际刊号&#xff1a;ISSN 2096-7268 国内刊号&#xff1a;CN 64-…

一场大规模山体滑坡摧毁了世界最高峰之一

安纳普尔纳四号峰在喜马拉雅山山体滑坡中倒塌&#xff0c;科学家们终于弄清楚了它发生的时间和方式。 现今尼泊尔安纳普尔纳四号峰的景色&#xff0c;展示了中世纪时期倒塌的面貌。图片来源&#xff1a;Jrme Lav 山为什么不会永远生长&#xff1f;碰撞的构造板块不断地将山脉推…

下载网络文件到本地

文章目录 目录 前言 操作步骤 1.引入 2.读取出文件内容 3.筛选出URL 4.下载表情包 总结 前言 这里记录一次用代码下载网络文件的过程&#xff0c;以获取抖音表情包为例。 一、操作步骤 1.引入 首先抖音有网页版&#xff0c;用浏览器就可以观看&#xff0c;用户评论发布表情在…

《Vue.js实战》——基础篇(1)

目录 资源&#xff1a;&#x1f31f; 一、初识Vue.js&#x1f44b; Vue.js是什么&#xff1f;&#x1f647; MVVM模式 ✍ Vue.js有什么不同 ☔ 如何使用Vue.js? ☁ 传统的前端开发模式 ☀ Vue.js的开发模式 &#x1f5fb; 二、数据绑定和第一个Vue应用 &#x1f5f…

嵌入式开发学习(STC51-16-ADC模数转换)

内容 通过ADC转换电路采集电位器AD值&#xff0c;将采集的AD值转换成电压值&#xff0c;通过数码管显示出来&#xff1b; 采集光敏电阻的AD值&#xff1b; 采集热敏电阻的AD值&#xff1b; 采集外部通道AIN3的电压值&#xff1b; 为了方便显示&#xff0c;我们可以通过独立…

NeRF室内重建对比:Nerfstudio vs. Luma AI vs. Instant-NGP

十年前&#xff0c;Matterport 改变了房地产业&#xff0c;让房地产买家可以进行数字旅游。 买家可以在房产内从一个点移动到另一个点并环顾四周。 与 2D 照片库相比&#xff0c;这是一个巨大的改进。 然而&#xff0c;买家仍然被房产内的一系列问题所困扰。 推荐&#xff1a;用…

程序员必读 | 《业务架构解构与实践》

之前看书大多"不求甚解", 意会即可&#xff0c;但是找一本新书看是可遇而不可求的。回过头来&#xff0c;摘抄研究一下已经看过的&#xff0c;也是别有一番风味的。本文就是对之前一本书的摘录。 文章中各种暗淡不一的图片&#xff0c;其实是在各种环境下&#xff0c…

Java中Date方法详解

先进行专栏介绍 本专栏是自己学Java的旅途&#xff0c;纯手敲的代码&#xff0c;自己跟着黑马课程学习的&#xff0c;并加入一些自己的理解&#xff0c;对代码和笔记 进行适当修改。希望能对大家能有所帮助&#xff0c;同时也是请大家对我进行监督&#xff0c;对我写的代码进行…

耗时6个月,我做了一款干净、免费、开源的AI数据库

一、Chat2DB简介 在消失的这段时间&#xff0c;我做了一款集成了AI的数据库管理工具Chat2DB。 他是数据库也集成了AIGC的能力&#xff0c;能够将自然语言转换为SQL&#xff0c;也可以将SQL转换为自然语言&#xff0c;还可以给出SQL的优化建议&#xff0c;可以极大提升效率。 …

使用RecyclerView构建灵活的列表界面

使用RecyclerView构建灵活的列表界面 1. 引言 在现代移动应用中&#xff0c;列表界面是最常见的用户界面之一&#xff0c;它能够展示大量的数据&#xff0c;让用户可以浏览和操作。无论是社交媒体的动态流、商品展示、新闻列表还是任务清单&#xff0c;列表界面都扮演着不可或…

智慧城市规划新引擎:探秘数字孪生中的二维与三维GIS技术差异

智慧城市作为人类社会发展的新阶段&#xff0c;正日益引领着我们迈向数字化未来的时代。在智慧城市的建设过程中&#xff0c;地理信息系统&#xff08;GIS&#xff09;扮演着举足轻重的角色。而在GIS的发展中&#xff0c;二维和三维GIS作为两大核心技术&#xff0c;在城市规划与…

LeetCode 周赛 340,质数 / 前缀和 / 极大化最小值 / 最短路 / 平衡二叉树

今天讲 LeetCode 单周赛第 340 场&#xff0c;今天状态不好&#xff0c;掉了一波大分。 2614. 对角线上的质数&#xff08;Easy&#xff09; 这道题是最近第 2 次出现质数问题&#xff0c;注意 1 不是质数&#xff01; 质数判断&#xff1a;$O(n\sqrt(U))$ 2615. 等值距离和…

程序员吐槽培训班简历造假,经验包装竟拿到阿里外包26k的offer

关于程序员速成培训班的传言和八卦很多&#xff0c;近日&#xff0c;又有一个程序员发帖吐槽培训班简历造假&#xff0c;两个大四学生报了个培训班&#xff0c;竟然给包装成有三年工作经验的人&#xff0c;更离谱的是&#xff0c;竟然还拿到了阿里外包26k的offer…… 许多网友表…

数据结构---查找

&#x1f31e;欢迎来到数据结构的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f64f;作者水平很有限&#xff0c;如果发现错误&#xff…

axios在请求错误时获取不到err.response响应问题

一般来说&#xff1a; axios.request({...// 请求config }).then(res > console.log(success,res),err > console.log(err,err) )稍微拓展一下&#xff1a; import axios,{ AxiosRequestConfig, AxiosError, AxiosResponse } from "axios"; import { getToke…

​​五、驱动 - ​声卡构成(ASOC)

文章目录 1. 硬件结构2. 数据传输流向3. ASOC结构组成4. Linux alsa音频系统框架1. 硬件结构 codec:音频编解码器,负责处理音频信息,包括 ADC、DAC、Mixer、DSP,输入输出以及音量控制等所有与音频相关的功能; 对PCM音频数据进行D/A转换:将数字信号转换为模拟信号;对Mic、…

Effective Java笔记(27)消除非受检的警告

用泛型编程时会遇到讲多编译器警告 &#xff1a; 非受检转换警告&#xff08; unchecked cast warning &#xff09;、非受检方法调用警告、非受检参数化可变参数类型警告&#xff08; unchecked parameterized vararg type warning&#xff09;&#xff0c;以及非受检转换警告…

在linux系统上安装Nginx

1、关闭防火墙 systemctl disable firewalld.service 2、上传压缩包并解压到目标文件 cd /usr/local tar -zxvf nginx-1.22.0.tar.gz 3、安装Nginx相关依赖 yum install -y gcc-c zlib zlib-developenssl openssl-devel pcre pcre-devel 4、安装完毕后&#xff0c;进入ng…

Spring Boot集成Mybatis-Plus

Spring Boot集成Mybatis-Plus 1. pom.xml导包 <!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--mysql驱动--><dependency><groupId>mysql<…

FastAPI 构建 API 高性能的 web 框架(一)

如果要部署一些大模型一般langchainfastapi&#xff0c;或者fastchat&#xff0c; 先大概了解一下fastapi,本篇主要就是贴几个实际例子。 官方文档地址&#xff1a; https://fastapi.tiangolo.com/zh/ 1 案例1:复旦MOSS大模型fastapi接口服务 来源&#xff1a;大语言模型工程…