微信小程序基础开发:从零到一快速上手
1. 什么是微信小程序微信小程序是一种不需要下载安装即可使用的应用它实现了应用“触手可及”的梦想用户扫一扫或搜一下即可打开应用。小程序也体现了“用完即走”的理念用户不用关心是否安装太多应用的问题。1.1 小程序的特点无需安装不占用手机存储空间即用即走使用方便无需下载开发门槛低基于前端技术栈HTMLCSSJS跨平台一次开发多端运行iOS、Android微信生态天然拥有微信的社交能力和用户基础2. 开发环境搭建2.1 准备工作注册微信小程序账号访问微信公众平台点击“立即注册”选择“小程序”按照指引完成注册流程获取AppID登录小程序后台在“开发”-“开发设置”中获取AppIDAppID是小程序的唯一标识开发调试需要用到2.2 安装开发者工具下载微信开发者工具根据操作系统选择对应版本Windows/Mac安装并启动开发者工具2.3 创建第一个小程序项目打开微信开发者工具点击“”新建项目填写项目信息项目名称MyFirstMiniProgram目录选择本地文件夹AppID填写获取的AppID或使用测试号开发模式小程序后端服务不使用云服务点击“新建”完成创建3. 小程序项目结构创建成功后你会看到以下目录结构my-first-miniprogram/ ├── pages/ # 页面目录 │ ├── index/ # 首页 │ │ ├── index.js # 页面逻辑 │ │ ├── index.json # 页面配置 │ │ ├── index.wxml # 页面结构 │ │ └── index.wxss # 页面样式 │ └── logs/ # 日志页 ├── utils/ # 工具类 ├── app.js # 小程序逻辑 ├── app.json # 小程序公共配置 ├── app.wxss # 小程序公共样式 └── project.config.json # 项目配置3.1 核心文件说明app.js小程序入口文件注册小程序生命周期函数app.json全局配置文件设置页面路径、窗口样式等app.wxss全局样式文件pages/存放所有小程序页面utils/工具函数目录4. 小程序基础语法4.1 WXMLWeiXin Markup LanguageWXML是小程序的标签语言类似于HTML!-- pages/index/index.wxml --viewclasscontainertextHello, 小程序!/textbuttonbindtaphandleClick点击我/buttonimagesrc/images/logo.pngmodeaspectFit/image/view4.2 WXSSWeiXin Style SheetsWXSS是小程序的样式语言基于CSS扩展/* pages/index/index.wxss */.container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;}text{font-size:24px;color:#333;margin-bottom:20px;}button{background-color:#07c160;color:white;padding:10px 20px;border-radius:5px;}4.3 JavaScript逻辑层// pages/index/index.jsPage({data:{message:欢迎使用小程序},handleClick:function(){wx.showToast({title:按钮被点击了,icon:success})},onLoad:function(){console.log(页面加载完成)}})5. 小程序生命周期5.1 应用生命周期app.js// app.jsApp({// 小程序初始化完成时触发onLaunch:function(options){console.log(小程序启动)},// 小程序显示到前台时触发onShow:function(options){console.log(小程序显示)},// 小程序隐藏到后台时触发onHide:function(){console.log(小程序隐藏)}})5.2 页面生命周期// 页面.js文件Page({// 页面加载时触发onLoad:function(options){console.log(页面加载,options)},// 页面初次渲染完成时触发onReady:function(){console.log(页面渲染完成)},// 页面显示时触发onShow:function(){console.log(页面显示)},// 页面隐藏时触发onHide:function(){console.log(页面隐藏)},// 页面卸载时触发onUnload:function(){console.log(页面卸载)}})6. 常用API示例6.1 网络请求// 发起GET请求wx.request({url:https://api.example.com/data,method:GET,success:function(res){console.log(请求成功,res.data)},fail:function(err){console.log(请求失败,err)}})6.2 本地存储// 存储数据wx.setStorageSync(userInfo,{name:张三,age:25})// 读取数据constuserInfowx.getStorageSync(userInfo)console.log(userInfo)// 异步存储wx.setStorage({key:token,data:abc123,success:function(){console.log(存储成功)}})6.3 界面交互// 显示提示框wx.showToast({title:操作成功,icon:success,duration:2000})// 显示加载框wx.showLoading({title:加载中...,mask:true})// 隐藏加载框wx.hideLoading()// 显示模态对话框wx.showModal({title:提示,content:确定要删除吗,success:function(res){if(res.confirm){console.log(用户点击确定)}}})7. 实战创建一个待办事项小程序7.1 项目结构todo-miniprogram/ ├── pages/ │ ├── index/ # 首页 │ └── add/ # 添加页面 ├── app.js ├── app.json └── app.wxss7.2 app.json配置{pages:[pages/index/index,pages/add/add],window:{navigationBarTitleText:待办事项,navigationBarBackgroundColor:#07c160,navigationBarTextStyle:white},tabBar:{list:[{pagePath:pages/index/index,text:首页,iconPath:images/home.png,selectedIconPath:images/home-active.png},{pagePath:pages/add/add,text:添加,iconPath:images/add.png,selectedIconPath:images/add-active.png}]}}7.3 首页实现!-- pages/index/index.wxml --viewclasscontainerviewclassheadertext我的待办事项/texttextclasscount共{{todos.length}}项/text/viewviewclasstodo-listblockwx:for{{todos}}wx:keyidviewclasstodo-item {{item.completed ? completed : }}checkboxchecked{{item.completed}}bindtaptoggleTododata-id{{item.id}}/checkboxtextclasstodo-text{{item.text}}/textbuttonclassdelete-btnbindtapdeleteTododata-id{{item.id}}删除/button/view/block/viewviewclassemptywx:if{{todos.length 0}}text暂无待办事项点击下方添加/text/view/view8. 调试与发布8.1 调试技巧Console面板查看日志和错误信息Sources面板调试JavaScript代码Network面板监控网络请求Storage面板查看本地存储数据AppData面板实时查看页面数据8.2 真机调试点击开发者工具右上角的“预览”按钮使用微信扫描二维码在手机上查看小程序效果开启“真机调试”模式可以在手机上查看Console日志8.3 发布流程代码上传点击“上传”按钮填写版本号和备注提交审核在小程序后台提交审核等待审核通常需要1-7个工作日发布上线审核通过后点击“发布”即可上线9. 常见问题与解决方案9.1 页面白屏原因页面路径配置错误解决检查app.json中的pages配置9.2 网络请求失败原因未配置合法域名解决在小程序后台配置request合法域名9.3 样式不生效原因选择器权重问题或样式文件未引入解决检查WXSS文件引入使用!important提高权重9.4 真机与模拟器表现不一致原因设备差异或权限问题解决使用真机调试功能检查权限配置10. 学习资源推荐10.1 官方文档微信小程序官方文档微信开发者工具文档10.2 学习社区CSDN小程序专栏掘金小程序话题微信开放社区10.3 实战项目仿豆瓣电影小程序天气查询小程序电商购物小程序新闻阅读小程序总结微信小程序开发门槛相对较低但功能强大。通过本文的学习你应该已经掌握了小程序的基本概念和特点开发环境的搭建方法小程序的项目结构和核心语法常用API的使用方式完整的开发调试发布流程建议从简单的项目开始实践逐步掌握更复杂的功能。小程序生态不断完善持续学习新的API和最佳实践才能开发出更优秀的小程序应用。下一步建议尝试开发一个完整的小程序项目如个人博客小程序或工具类小程序将理论知识转化为实践经验。

相关新闻

张掖正规智能锁公司

张掖正规智能锁公司

智能锁作为现代家居安全的重要保障,其便利性和安全性受到越来越多人的关注。在张掖,选择一家正规靠谱的智能锁公司尤为关键。今天,就为大家详细介绍张掖樱花智能锁,看看它为何值得成为你的选择。一、品牌与资质:正规性…

2026/10/3 6:08:12 阅读更多 →
VS Code 1.131能看见子代理在做什么了:多Agent开发先解决失控问题

VS Code 1.131能看见子代理在做什么了:多Agent开发先解决失控问题

VS Code 1.131增强了多Agent任务的可观察性:开发者不用打开每个子代理的完整对话,就能直接查看其使用的模型、运行时间和当前工具调用。但“看得见”不等于“结果可信”。本文结合真实开发流程,说明如何拆分子任务、识别异常运行并设置人工验…

2026/10/12 10:06:01 阅读更多 →
广告时代拼预算,AI时代拼信任!

广告时代拼预算,AI时代拼信任!

过去二十年,企业竞争的核心阵地是广告和流量,谁投放多、谁曝光高、谁排名靠前,谁就更有可能获得客户。但一个正在发生的变化,开始重新定义品牌的竞争规则:越来越多消费者不再“搜索”,而是直接“问AI”。“…

2026/10/7 18:34:48 阅读更多 →

最新新闻

一张图微调YOLOv11:自然栖息地鸟类检测的流程与扩充

一张图微调YOLOv11:自然栖息地鸟类检测的流程与扩充

简介:面向 YOLOv11 模型验证需求,这份精简版鸟类目标检测数据集包含一张真实野外鸟类图像及配套标准标注,可用于快速原型验证、轻量级部署测试与小样本检测基线建立。压缩包共五个文件,包含三张 JPG 图像、一个数据配置文件与一个…

2026/10/14 3:39:38 阅读更多 →
ASP.NET + SQLServer葡萄酒商城源码:从数据库还原到下单事务全攻略

ASP.NET + SQLServer葡萄酒商城源码:从数据库还原到下单事务全攻略

简介:一套基于ASP.NET与SQL Server的葡萄酒网上商城销售系统,面向ASP.NET WebForm学习者、毕业设计学生以及需要搭建在线商城教学演示的开发者。系统围绕普通会员、商户会员和管理员三类角色展开,覆盖商品管理、购物车、订单处理、发货、商户…

2026/10/14 3:39:38 阅读更多 →
LangChain项目代码拆解:Chain、Agent、Memory与Retrieval四大核心组件实战指南

LangChain项目代码拆解:Chain、Agent、Memory与Retrieval四大核心组件实战指南

简介:这是一份LangChain入门与实践的项目代码包,面向正在学习大模型应用开发的Python开发者,旨在帮助读者快速理解LangChain的模块化设计与核心用法。包内共3个文件,包含一个HTML格式的入门讲解页、一个项目运行配置文件以及一个版…

2026/10/14 3:39:38 阅读更多 →
C++学习日记 Day21:C++11(下)lambda表达式和function包装器

C++学习日记 Day21:C++11(下)lambda表达式和function包装器

## 今天学了什么今天学习C11的lambda表达式和function包装器。## 可调用对象概念:在C中有一类对象可像函数一样调用;分类:①函数指针using prt void(*)(int, string); prt f1 fun; f1(1, "函数指针");②仿函数 --有 operator&am…

2026/10/14 3:39:38 阅读更多 →
一人公司AI工作流:6步实现内容生产去体力化

一人公司AI工作流:6步实现内容生产去体力化

1. 一人公司的内容困局与破局思路一个人做内容,最怕的不是没灵感,而是灵感来了却卡在“执行”上。写一篇长文要三小时,做一张配图要半小时,剪一条短视频要一整个下午,排版发布又要来回切换四五个平台。一天下来&#x…

2026/10/14 3:39:38 阅读更多 →
8765平台前后摄DVDD电压不一致排查与修复指南

8765平台前后摄DVDD电压不一致排查与修复指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 3:38:38 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →