微信小程序-入门
一.通过 Npm方式下载构建
1.下载和安装Npm:Npm https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
或者 https://nodejs.org/en/download/
未安装npm 提示

以下以安装node安装包为例








按任意键继续

安装完成后

2. 下载和安装小程序开发工具 :https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
3.安装使用weui
https://github.com/wechat-miniprogram/weui-miniprogram
3.1 在小程序根目录下初始化npm
按以下方式避免npm初始化报错
message: NPM packages not found. Please confirm npm packages which need to build are belong to `miniprogramRoot` directory. Or you may edit project.config.json's `packNpmManually` and `packNpmRelationList`
appid: wxfdcdeefd46e93725
openid: o6zAJs4UHtxoUdwBMYwoYl2bQM9Y
ideVersion: 1.06.2401020
osType: win32-x64
time: 2024-03-07 14:31:03

根目录下初始化
npm init -y


安装npm
npm install

配置project.config.json文件
"packNpmManually": true,"packNpmRelationList": [{"packageJsonPath": "./package.json","miniprogramNpmDistDir": "./miniprogram/"}],


安装小程序weui npm包
npm install --save weui-miniprogram

重新打开此项目
打开工具菜单=>构建npm

二.通过 useExtendedLib扩展库方式下载构建
1.通过微信开发者工具创建项目

2.配置项目根目录下app.json,添加如下内容:
"useExtendedLib": {"weui": true},

3.以官网-progress 进度条实例为例:
编辑index目录下 index.js
const app = getApp()Page({data: {},onLoad: function () {console.log('代码片段是一种迷你、可分享的小程序或小游戏项目,可用于分享小程序和小游戏的开发经验、展示组件和 API 的使用、复现开发问题和 Bug 等。可点击以下链接查看代码片段的详细文档:')console.log('https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/devtools.html')},
})

编辑index目录下 index.wxml
<progress percent="20" show-info />
<progress percent="40" stroke-width="12" />
<progress percent="60" color="pink" />
<progress percent="80" active />
<progress percent="100" active />

编辑index目录下 index.wxml
progress {margin: 10px;}

编译运行即可
4.以官网-checkbox实例为例:
编辑index目录下 index.js
Page({data: {items: [{ name: 'USA', value: '美国' },{ name: 'CHN', value: '中国', checked: 'true' },{ name: 'BRA', value: '巴西' },{ name: 'JPN', value: '日本' },{ name: 'ENG', value: '英国' },{ name: 'TUR', value: '法国' },]},checkboxChange: function (e) {console.log('checkbox发生change事件,携带value值为:', e.detail.value)}
})
编辑index目录下 index.json
{ "componentFramework": "glass-easel" }
编辑index目录下 index.wxml
<checkbox-group bindchange="checkboxChange"><label class="checkbox" wx:for="{{items}}"><checkbox value="{{item.name}}" checked="{{item.checked}}"/>{{item.value}}</label>
</checkbox-group>
编辑index目录下 index.wxss
.intro {margin: 30px;text-align: center;
}
page {margin-top: 80px;
}
.checkbox, checkbox {display: flex;flex-direction: row;height: 30px;line-height: 30px;
}
.checkbox {justify-content: center;
}
编译预览

5.以官网-input实例为例:
编辑index目录下 index.js
Page({data: {focus: false,inputValue: '',placeholderStyle: {color:'#F76260'}},onLoad() {// 兼容console.log(this.renderer)if (this.renderer == 'skyline') {this.setData({placeholderStyle: {color:'#F76260'}})} else {this.setData({placeholderStyle: "color:#F76260"})}},bindKeyInput: function (e) {this.setData({inputValue: e.detail.value})},bindReplaceInput: function (e) {var value = e.detail.valuevar pos = e.detail.cursorvar leftif (pos !== -1) {// 光标在中间left = e.detail.value.slice(0, pos)// 计算光标的位置pos = left.replace(/11/g, '2').length}// 直接返回对象,可以对输入进行过滤处理,同时可以控制光标的位置return {value: value.replace(/11/g, '2'),cursor: pos}// 或者直接返回字符串,光标在最后边// return value.replace(/11/g,'2'),},bindHideKeyboard: function (e) {if (e.detail.value === '123') {// 收起键盘wx.hideKeyboard()}}
})
编辑index目录下 index.js
{ "componentFramework": "glass-easel" }
编辑index目录下 index.wxml
<view class="page-body"><view class="page-section"><view class="weui-cells__title">可以自动聚焦的input</view><view class="weui-cells weui-cells_after-title"><view class="weui-cell weui-cell_input"><input class="weui-input" auto-focus placeholder="将会获取焦点"/></view></view></view><view class="page-section"><view class="weui-cells__title">控制最大输入长度的input</view><view class="weui-cells weui-cells_after-title"><view class="weui-cell weui-cell_input"><input class="weui-input" maxlength="10" placeholder="最大输入长度为10" /></view></view></view><view class="page-section"><view class="weui-cells__title">实时获取输入值:{{inputValue}}</view><view class="weui-cells weui-cells_after-title"><view class="weui-cell weui-cell_input"><input class="weui-input" maxlength="10" bindinput="bindKeyInput" placeholder="输入同步到view中"/></view></view></view><view class="page-section"><view class="weui-cells__title">控制输入的input</view><view class="weui-cells weui-cells_after-title"><view class="weui-cell weui-cell_input"><input class="weui-input" bindinput="bindReplaceInput" placeholder="连续的两个1会变成2" /></view></view></view><view class="page-section"><view class="weui-cells__title">控制键盘的input</view><view class="weui-cells weui-cells_after-title"><view class="weui-cell weui-cell_input"><input class="weui-input" bindinput="bindHideKeyboard" placeholder="输入123自动收起键盘" /></view></view></view><view class="page-section"><view class="weui-cells__title">数字输入的input</view><view class="weui-cells weui-cells_after-title"><view class="weui-cell weui-cell_input"><input class="weui-input" type="number" placeholder="这是一个数字输入框" /></view></view></view><view class="page-section"><view class="weui-cells__title">密码输入的input</view><view class="weui-cells weui-cells_after-title"><view class="weui-cell weui-cell_input"><input class="weui-input" password type="text" placeholder="这是一个密码输入框" /></view></view></view><view class="page-section"><view class="weui-cells__title">带小数点的input</view><view class="weui-cells weui-cells_after-title"><view class="weui-cell weui-cell_input"><input class="weui-input" type="digit" placeholder="带小数点的数字键盘"/></view></view></view><view class="page-section"><view class="weui-cells__title">身份证输入的input</view><view class="weui-cells weui-cells_after-title"><view class="weui-cell weui-cell_input"><input class="weui-input" type="idcard" placeholder="身份证输入键盘" /></view></view></view><view class="page-section"><view class="weui-cells__title">控制占位符颜色的input</view><view class="weui-cells weui-cells_after-title"><view class="weui-cell weui-cell_input"><input class="weui-input" placeholder-style="{{placeholderStyle}}" placeholder="占位符字体是红色的" /></view></view></view>
</view>
.page-body {margin-top: 80px;
}
.page-section{margin-bottom: 20rpx;
}
.weui-input {width: 100%;height: 44px;line-height: 44px;
}
相关文章:
微信小程序-入门
一.通过 Npm方式下载构建 1.下载和安装Npm:Npm https://docs.npmjs.com/downloading-and-installing-node-js-and-npm 或者 https://nodejs.org/en/download/ 未安装npm 提示 以下以安装node安装包为例 按任意键继续 安装完成后 2. 下载和安装小程序开…...
0102全排列和对换-行列式-线性代数
把n个不同的数排成一列,叫做这n个数的全排列(排列)。 一般情况, 1 , 2 , ⋯ , n 1,2,\cdots,n 1,2,⋯,n是n个数排列的标准次序。 当n个数的任一排列中两个数的先后次序与标准次序不同时,有说有一个逆序。 一个排列中所…...
面向对象的编程语言是什么意思?——跟老吕学Python编程
面向对象的编程语言是什么意思?——跟老吕学Python编程 面向对象是什么意思?面向对象的定义面向对象的早期发展面向对象的背景1.审视问题域的视角2.抽象级别3.封装体4.可重用性 面向对象的特征面向对象的开发方法面向对象程序设计基本思想实现 面向对象的…...
Spring Boot整合MyBatis Plus配置多数据源
Spring Boot 专栏:https://blog.csdn.net/dkbnull/category_9278145.html Spring Cloud 专栏:https://blog.csdn.net/dkbnull/category_9287932.html GitHub:https://github.com/dkbnull/SpringBootDemo Gitee:https://gitee.com/…...
Unix Network Programming Episode 88
‘inetd’ Daemon On a typical Unix system, there could be many servers in existence, just waiting for a client request to arrive. Examples are FTP, Telnet, Rlogin, TFTP, and so on. With systems before 4.3BSD, each of these services had a process associate…...
Java面试题之11MySQL
你对MySQL执行计划怎么看 执行计划就是SQL的执行查询的顺序,以及如何使用索引查询,返回的结果集的行数 在MySQL中,我们可以通过explain命令来查看执行计划。其语法如下: EXPLAIN SELECT * FROM table_name WHERE conditions;在…...
R语言:多值提取到点
ArcGIS中有相关工具实现多值提取到点的功能,在这里,我将使用R语言进行操作: library(dplyr) library(readxl) library(sf) library(raster)setwd("D:/Datasets") Bio <- stack(paste0("D:/Datasets/Data/worldclim2_1km/…...
八股文打卡day27——数据库(4)
面试题:讲一下事务的隔离级别? 我的回答: 因为事务之间的隔离性,造成了一些问题,比如说:脏读、不可重复读和幻读(虚读)。 1.什么叫脏读? 就是一个事务读取到了另一个事…...
Java桥接模式源码剖析及使用场景
目录 一、介绍二、项目管理系统中使用桥接模式三、权限管理中使用桥接模式四、Java JDBC中使用桥接模式 一、介绍 它的主要目的是将抽象化与实现化分离,使得二者可以独立变化,就像一个桥,将两个变化维度连接起来。各个维度都可以独立的变化。…...
【异常处理】verilator安装时出现异常 make: *** [Makefile:195: verilator_gantt.1] Error 13
在ubuntu中安装verilator工具时执行make出现该报错。 当我出现这个报错的时候我一脸懵逼,因为网上找不到相关解决办法。 后来想到我的verilator是从github上下载zip,然后解压后传到ubuntu上的,windows上解压我记得会把-替换成_,这…...
测试一下 Anthropic 宣称超过 GPT-4 的 Claude 3 Opus
测试一下 Anthropic 宣称超过 GPT-4 的 Claude 3 Opus 0. 引言1. 测试 Claude 3 Opus3. 试用 api key 限制 0. 引言 今天测试一下 Anthropic 发布的 Claude 3 Opus。 3月4日,Anthropic 宣布推出 Claude 3 型号系列,该系列在广泛的认知任务中树立了新的…...
【题解】—— LeetCode一周小结10
【题解】—— 每日一道题目栏 上接:【题解】—— LeetCode一周小结9 4.用栈实现队列 题目链接:232. 用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):…...
Android studio虚拟调试出现“我的APP keeps stopping”问题
问题如图: 遇到这种情况,一看代码,也没有报错呀,怎么不能运行呢?不要慌!我们一步一步来。 1、查看Logcat日志 在Android Studio中查看Logcat窗口,可以获取应用程序崩溃时的详细错误信息&…...
【Web】浅聊Java反序列化之Spring2链——两层动态代理
目录 简介 简话JdkDynamicAopProxy 关于target的出身——AdvisedSupport EXP 请确保已阅读过前文或对Spring1链至少有一定认知:【Web】浅聊Java反序列化之Spring1链——三层动态代理-CSDN博客 简介 Spring2 和 Spring1 的反序列化过程基本相同,唯一…...
2386. 找出数组的第 K 大和
2386. 找出数组的第 K 大和 题目链接:2386. 找出数组的第 K 大和 代码如下: //优先队列 //参考:https://leetcode.cn/problems/find-the-k-sum-of-an-array/solutions/2668280/zhao-chu-shu-zu-de-di-k-da-he-by-leetcod-z5kq class Soluti…...
Pytorch学习 day10(L1Loss、MSELoss、交叉熵Loss)
Loss loss的作用如下: 计算实际输出和真实值之间的差距为我们更新模型提供一定的依据(反向传播) L1Loss 绝对值损失函数:在每一个batch_size内,求每个输入x和标签y的差的绝对值,最后返回他们平均值 M…...
2.2 传统经济学在耍赖
传统经济学中,主体的行为决策是研究的重点对幸福的追求不是传统经济学的研究重点,决策才是。在传统经济学那里,只要能搞清楚是什么决定了决策就可以了。 传统经济学用人们对物品的喜好的排序去替代了对幸福的直接度量。这样做有一个好处&…...
【算法面试题】-04
执行时长 def min_execution_time(n, size, tasks):a 0ans sizei 0while i < size:tmp tasks[i]a tmpif a < n:a 0else:a - ni 1ans a // nif a % n ! 0:ans 1return ans# 读取输入 n int(input()) size int(input()) tasks list(map(int, input().split()))…...
力扣hot100:152.乘积最大子数组(动态规划)
一个子数组问题,我们要使用线性dp,最好先考虑以i结尾,如果定义dp[i]为前i个数最大子数组乘积值 那么dp[i-1]就无法转移到dp[i]。因此我们先考虑dp[i]定义为以第i个数结尾的最大子数组乘积值。 53. 最大子数组和 最大子数组和是一个动态规划问…...
【python 】----Pytest基础知识与进阶知识
定义 用于编写和执行Python测试全功能测试框架(工具),是一个第三方库 安装 pip insatll pytest 安装pytest --version 校验 pytest的组成构成 不写调用语句也可以执行函数内容 在用例运行语句里面: -s:指的是开启与终端的交互,如果没有-s(程序不会输入与打印),一条用…...
Pixel Language Portal保姆级教程:从Docker拉取到16-bit HUD状态栏调试的完整流程
Pixel Language Portal保姆级教程:从Docker拉取到16-bit HUD状态栏调试的完整流程 1. 工具介绍与准备 Pixel Language Portal(像素语言跨维传送门)是一款基于腾讯Hunyuan-MT-7B引擎构建的创新翻译工具。它将传统翻译体验转变为16-bit像素冒…...
Janus-Pro-7B惊艳作品:古诗文本→水墨风图像→题跋文字自动生成
Janus-Pro-7B惊艳作品:古诗文本→水墨风图像→题跋文字自动生成 1. 引言:当AI遇见中国古典美学 想象一下这个场景:你读到了一首意境悠远的古诗,脑海中浮现出烟雨朦胧的山水画面,但苦于没有绘画功底,无法将…...
将盾CDN:WAF工作机制与多层次防御策略解析
将盾CDN:Web应用防火墙的工作机制与防御策略 在当前数字化浪潮中,Web应用面临着DDoS攻击、SQL注入、跨站脚本等多元化威胁。将盾CDN通过智能防护机制,为企业Web应用构建了多层次的安全防线。## 将盾CDN的核心防护机制将盾CDN的WAF功能部署在…...
Windows 11系统优化终极指南:Win11Debloat一键清理与隐私保护工具
Windows 11系统优化终极指南:Win11Debloat一键清理与隐私保护工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declu…...
告别命令行恐惧:在恒源云GPU服务器上部署Linux桌面环境全攻略
1. 为什么需要Linux图形化桌面环境? 很多刚接触GPU服务器的开发者都有这样的经历:好不容易申请到一台高性能的恒源云GPU服务器,登录后却只能面对黑漆漆的命令行界面。对于习惯Windows或Mac图形界面的用户来说,这就像突然被扔进了原…...
SEATA分布式事务——AT模式僮
简介 AI Agent 不仅仅是一个能聊天的机器人(如普通的 ChatGPT),而是一个能够感知环境、进行推理、自主决策并调用工具来完成特定任务的智能系统,更够完成更为复杂的AI场景需求。 AI Agent 功能 根据查阅的资料,agent的…...
Stripe 支付集成实战:Java后端核心API详解与避坑指南
1. 为什么选择Stripe支付集成? Stripe作为全球领先的在线支付解决方案,特别适合需要处理国际支付的电商或SaaS平台。我在多个跨境项目中采用Stripe后发现,其API设计非常开发者友好,尤其是对Java后端技术栈的支持相当完善。与国内支…...
别再让扩展坞‘抢电’了!手把手教你用LDR6282 APP智能分配USB-C功率
别再让扩展坞“抢电”了!LDR6282芯片智能功率分配全攻略 每次连接扩展坞时,笔记本电量不增反减?外接硬盘频繁断开?这些困扰专业用户的“功率焦虑”问题,根源在于传统扩展坞的固定功率分配机制。本文将深度解析基于LDR…...
【GUI-Agent】阶跃星辰 GUI-MCP 解读---()---命令解析和工具映射寡
先回顾:三次握手(建立连接)核心流程(实际版) 为了让挥手流程衔接更顺畅,咱们先快速回顾三次握手的实际核心,避免上下文脱节: 第一步(客户端→服务器)…...
C语言网络编程实战:深入解析<sys/socket.h>中的UDP通信实现
1. UDP通信基础与核心概念 UDP(User Datagram Protocol)是互联网协议套件中最简单的传输层协议之一。与TCP不同,UDP提供的是无连接、不可靠的数据报服务。这种特性使得UDP在实时性要求高、允许少量数据丢失的场景中表现出色,比如视…...
