微信小程序教程:零基础入门到实战
2024/11/1 23:03:12
本文主要是介绍微信小程序教程:零基础入门到实战,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文提供了全面的微信小程序教程,涵盖了从开发环境搭建到基础组件使用、逻辑构建、API调用以及实战案例等多个方面,帮助开发者快速掌握微信小程序的开发技巧。
微信小程序是一种无需安装即可使用的应用,它具有体积小、加载速度快、使用方便等特点。相对于传统的APP应用,微信小程序无需用户下载安装,只需通过微信扫描二维码或在小程序列表中搜索即可使用。微信小程序支持多种功能,涵盖了生活、娱乐、教育、工作等多个领域。
微信小程序的特点主要包括:
- 无需安装:用户无需下载和安装,通过微信即可打开使用。
- 快速加载:加载速度快,几乎可以做到即点即用。
- 开发成本低:相对于原生APP,开发成本更低。
- 功能丰富:虽然体积小,但可以实现丰富的功能。
- 用户基数大:依托微信的庞大用户基数,具有广泛的用户群体。
微信小程序的这些特点使其在移动互联网领域中占据了一席,成为用户日常生活中不可或缺的一部分。
为了开发微信小程序,你需要先搭建好开发环境。以下是搭建步骤:
- 注册微信开发者账号:访问微信公众平台,注册开发者账号。
- 安装微信开发者工具:微信开发者工具是微信官方提供的一个集成开发工具,支持小程序的开发、调试和预览。你可以在微信公众平台的开发者文档中下载并安装。
- 创建小程序账号:在微信公众平台中创建小程序账号,填写相关信息并完成认证。
- 配置开发环境:在微信开发者工具中,选择“新建小程序项目”,按照提示输入相关信息,如小程序AppID、项目名称和项目目录等。
- 项目初始化:完成配置后,开发者工具会自动配置好项目的基础结构,包括
app.js
、app.json
、app.wxss
等文件。
示例代码
// app.js App({ onLaunch: function () { console.log('App Launch'); }, onShow: function () { console.log('App Show'); }, onHide: function () { console.log('App Hide'); } });
// app.json { "pages": [ "pages/index/index", "pages/logs/logs" ], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle": "black" } }
/* app.wxss */ page { background-color: #efeff4; height: 100%; }
在搭建好开发环境后,你可以开始创建第一个小程序项目了。按照以下步骤操作:
- 打开微信开发者工具,点击“新建小程序项目”。
- 填写项目信息,例如项目名称、项目目录和AppID。
- 点击“添加项目”,完成项目的创建。
示例代码
// pages/index/index.js Page({ data: { motto: 'Hello World', userInfo: {} }, bindViewTap: function() { wx.navigateTo({ url: '../logs/logs' }) }, onLoad: function () { console.log('onLoad') } })
// pages/index/index.json { "navigationBarTitleText": "首页" }
<!-- pages/index/index.wxml --> <view class="container"> <view class="userinfo"> <block wx:if="{{userInfo.nickName}}"> <view class="userinfo-avatar"> <image class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="{{userInfo.avatarUrl}}" mode="cover"></image> </view> <view class="userinfo-nickname"> {{userInfo.nickName}} </view> </block> </view> <view class="text-area"> <text class="title">{{motto}}</text> </view> </view>
/* pages/index/index.wxss */ .container { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 200rpx 30rpx; } .userinfo { display: flex; flex-direction: column; align-items: center; } .userinfo-avatar { width: 128rpx; height: 128rpx; margin: 20rpx; border-radius: 50%; } .userinfo-nickname { color: #aaa; } .text-area { display: flex; justify-content: center; } .title { font-size: 14px; color: #8f8f94; }
通过上述步骤,你可以完成第一个小程序项目的创建和初始化。接下来可以进一步完善代码和页面设计。
微信小程序提供了丰富的基础组件,这些组件可以帮助开发者快速构建界面。以下是一些常用的组件及其使用方法:
<view>
组件
<view>
是一个用于布局的容器组件,可以包含其他组件或文本内容。<view>
组件可以通过 class
或 style
属性设置样式,也可以通过 data-
前缀的数据绑定属性传递数据。
<view class="container"> <view class="item">Item 1</view> <view class="item">Item 2</view> </view>
<text>
组件
<text>
组件用于显示纯文本内容,可以包含文本、HTML实体等。<text>
组件可以通过 class
或 style
属性设置样式。
<view class="container"> <text>Hello, World!</text> </view>
<button>
组件
<button>
组件用于创建按钮,可以通过 type
和 icon
属性设置按钮样式和图标,也可以通过 bindtap
事件绑定点击事件。
<view class="container"> <button type="primary" bindtap="handleClick">点击我</button> </view>
<image>
组件
<image>
组件用于显示图片,可以通过 src
属性指定图片路径,也可以通过 mode
属性设置图片显示模式。
<view class="container"> <image class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="/path/to/image.png" mode="widthFix"></image> </view>
<input>
组件
<input>
组件用于创建文本输入框,可以通过 type
和 placeholder
属性设置输入框类型和占位文本,也可以通过 bindinput
事件绑定输入事件。
<view class="container"> <input type="text" placeholder="请输入内容" bindinput="handleInput"></input> </view>
<navigator>
组件
<navigator>
组件用于创建导航链接,可以通过 url
属性指定链接地址,也可以通过 open-type
属性设置链接方式。
<view class="container"> <navigator url="/pages/logs/logs" open-type="navigate">跳转到日志页</navigator> </view>
在微信小程序中,布局和样式设置是非常重要的。微信小程序使用 wxss
文件来定义样式,类似于 CSS。通过合理设置样式,可以使小程序的界面更加美观和易用。
布局技巧
布局可以通过 flex
布局来实现,这是一种比较灵活的布局方式。例如:
<!-- 示例布局 --> <view class="container"> <view class="item" style="flex: 1;">Item 1</view> <view class="item" style="flex: 2;">Item 2</view> <view class="item" style="flex: 1;">Item 3</view> </view>
样式设置
样式设置可以通过 wxss
文件来完成。例如:
/* 示例样式 */ .container { display: flex; flex-wrap: wrap; justify-content: space-around; padding: 20rpx; } .item { width: 300rpx; height: 300rpx; background-color: #ddd; margin: 10rpx; border-radius: 10rpx; display: flex; justify-content: center; align-items: center; font-size: 30rpx; }
在设计小程序页面时,合理的布局和样式设置可以使页面更加美观和易用。以下是一个简单的页面布局示例:
示例代码
<!-- pages/layout/layout.wxml --> <view class="container"> <view class="header"> <text>欢迎使用微信小程序</text> </view> <view class="content"> <view class="item"> <image class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="/path/to/image.png" mode="widthFix"></image> <text>这是一个示例图片</text> </view> <view class="item"> <button type="primary" bindtap="handleClick">点击按钮</button> <text>这是一个示例按钮</text> </view> </view> <view class="footer"> <text>版权所有 © 2023</text> </view> </view>
/* pages/layout/layout.wxss */ .container { display: flex; flex-direction: column; height: 100vh; } .header { height: 100rpx; background-color: #007AFF; color: #fff; display: flex; justify-content: center; align-items: center; } .content { flex: 1; display: flex; flex-direction: column; padding: 20rpx; } .item { margin-bottom: 20rpx; } .footer { height: 100rpx; background-color: #eee; display: flex; justify-content: center; align-items: center; }
通过上述示例代码,你可以实现一个简单的页面布局。接下来可以进一步完善代码和页面设计,以满足实际需求。
在微信小程序中,JavaScript 是主要的编程语言,用于实现逻辑处理和事件响应。以下是一些常用的 JavaScript 基础语法:
变量
在 JavaScript 中,可以通过 var
、let
或 const
关键字声明变量。
// var关键字 var num = 10; console.log(num); // 输出 10 // let关键字 let str = "Hello"; str = "World"; console.log(str); // 输出 "World" // const关键字 const PI = 3.14; PI = 3.1415; // TypeError: Assignment to constant variable. console.log(PI); // 输出 3.14
函数
函数是 JavaScript 中的基本构建块,可以通过 function
关键字定义函数。
// 基本函数定义 function greet(name) { console.log("Hello, " + name); } // 调用函数 greet("World"); // 输出 "Hello, World" // 箭头函数 const add = (a, b) => a + b; console.log(add(1, 2)); // 输出 3
数据类型
JavaScript 中的常见数据类型包括 number
、string
、boolean
、object
、null
和 undefined
。
// 声明不同类型的数据 let numberVar = 123; let stringVar = "Hello"; let booleanVar = true; let objectVar = {}; let nullVar = null; let undefinedVar = undefined; console.log(typeof numberVar); // 输出 "number" console.log(typeof stringVar); // 输出 "string" console.log(typeof booleanVar); // 输出 "boolean" console.log(typeof objectVar); // 输出 "object" console.log(typeof nullVar); // 输出 "object" console.log(typeof undefinedVar); // 输出 "undefined"
数据结构
JavaScript 中常用的内置数据结构包括数组和对象。
// 数组 let arr = [1, 2, 3, 4, 5]; console.log(arr[0]); // 输出 1 arr.push(6); console.log(arr); // 输出 [1, 2, 3, 4, 5, 6] // 对象 let obj = { name: "John", age: 25, address: { city: "Beijing", street: "123 Main St" } }; console.log(obj.name); // 输出 "John" console.log(obj.address.street); // 输出 "123 Main St"
控制结构
JavaScript 提供了多个控制结构来实现条件判断和循环操作。
// if...else语句 let age = 20; if (age >= 18) { console.log("成年人"); } else { console.log("未成年人"); } // for循环 for (let i = 0; i < 5; i++) { console.log(i); } // while循环 let count = 0; while (count < 5) { console.log(count); count++; }
错误处理
JavaScript 提供了 try...catch
语句来处理异常。
try { throw new Error("发生错误"); } catch (e) { console.log("错误信息:", e.message); }
通过上述基础语法,你可以开始在微信小程序中实现逻辑处理和事件响应。
在微信小程序中,数据绑定和事件处理是非常重要的功能。通过数据绑定,可以将数据与页面组件进行关联,通过事件处理可以实现用户交互。
数据绑定
数据绑定是将数据与页面组件关联的过程。在微信小程序中,可以通过 {{}}
语法实现数据绑定。
<!-- 示例数据绑定 --> <view>{{message}}</view>
// 示例数据绑定 Page({ data: { message: "Hello, World" } });
事件处理
事件处理是实现用户交互的关键。在微信小程序中,可以通过 bind
事件绑定来实现事件处理。
<!-- 示例事件处理 --> <button bindtap="handleClick">点击按钮</button>
// 示例事件处理 Page({ data: { message: "Hello, World" }, handleClick: function() { console.log("点击按钮"); } });
通过上述数据绑定和事件处理,可以实现微信小程序的逻辑构建。
在微信小程序中,实现简单的交互功能可以更好地与用户进行互动。以下是一个简单的示例,实现一个简单的计数器功能。
示例代码
<!-- pages/counter/counter.wxml --> <view class="container"> <view class="title">计数器</view> <view class="counter">{{count}}</view> <button bindtap="increment">增加</button> <button bindtap="decrement">减少</button> </view>
/* pages/counter/counter.wxss */ .container { display: flex; flex-direction: column; align-items: center; padding: 20rpx; } .title { font-size: 20px; margin-bottom: 10rpx; } .counter { font-size: 30px; margin-bottom: 20rpx; }
// pages/counter/counter.js Page({ data: { count: 0 }, increment: function() { this.setData({ count: this.data.count + 1 }); }, decrement: function() { this.setData({ count: this.data.count - 1 }); } });
通过上述代码,你可以实现一个简单的计数器功能。点击“增加”按钮时,计数器会增加1,点击“减少”按钮时,计数器会减少1。你可以进一步完善代码和页面设计,以满足实际需求。
在微信小程序中,API 是用于实现各种功能的重要工具。微信小程序提供了丰富的API,包括网络请求、文件操作、设备信息获取等。以下是一些常见的API介绍:
网络请求
微信小程序提供了 wx.request
方法来实现网络请求,可以通过此方法向服务器发送请求并获取响应。
wx.request({ url: 'https://example.com/api/data', method: 'GET', data: { key: 'value' }, success: function(res) { console.log(res.data); }, fail: function(err) { console.log(err); } });
设备信息
微信小程序提供了获取设备信息的API,例如 wx.getSystemInfo
可以获取设备的基本信息。
wx.getSystemInfo({ success: function(res) { console.log(res.model); console.log(res.pixelRatio); console.log(res.windowWidth); console.log(res.windowHeight); console.log(res.language); console.log(res.version); } });
文件操作
微信小程序提供了文件操作的API,例如 wx.downloadFile
可以下载文件,wx.uploadFile
可以上传文件。
wx.downloadFile({ url: 'https://example.com/path/to/file', success: function(res) { console.log(res.tempFilePath); }, fail: function(err) { console.log(err); } }); wx.uploadFile({ url: 'https://example.com/path/to/upload', filePath: '/path/to/file', name: 'file', formData: { key: 'value' }, success: function(res) { console.log(res.data); }, fail: function(err) { console.log(err); } });
用户信息
微信小程序提供了获取用户信息的API,例如 wx.getUserInfo
可以获取用户的个人信息。
wx.getUserInfo({ success: function(res) { console.log(res.userInfo); }, fail: function(err) { console.log(err); } });
通过上述API,你可以实现微信小程序的各种功能。
在微信小程序中,调用API主要有以下几个步骤:
- 调用API:通过对应的API方法进行调用。
- 传递参数:根据API方法的要求传递必要的参数。
- 处理回调:通过回调函数处理API调用的结果。
- 错误处理:通过错误回调函数处理可能出现的错误。
示例代码
// 示例API调用 wx.request({ url: 'https://example.com/api/data', method: 'GET', data: { key: 'value' }, success: function(res) { console.log('请求成功,返回数据:', res.data); }, fail: function(err) { console.log('请求失败,错误信息:', err); } });
通过上述步骤,你可以调用微信小程序的各种API。
在微信小程序中,获取用户信息和调用接口是常见的操作。以下是一个简单的示例,实现获取用户信息和调用接口的功能。
示例代码
<!-- pages/user/user.wxml --> <view class="container"> <view class="title">用户信息</view> <button bindtap="getUserInfo">获取用户信息</button> <view class="result" wx:if="{{userInfo}}"> <text>昵称: {{userInfo.nickName}}</text> <text>头像: {{userInfo.avatarUrl}}</text> </view> </view>
/* pages/user/user.wxss */ .container { display: flex; flex-direction: column; align-items: center; padding: 20rpx; } .title { font-size: 20px; margin-bottom: 10rpx; } .result { font-size: 14px; margin-top: 10rpx; }
// pages/user/user.js Page({ data: { userInfo: {} }, getUserInfo: function() { wx.getUserInfo({ success: function(res) { this.setData({ userInfo: res.userInfo }); }.bind(this), fail: function(err) { console.log('获取用户信息失败,错误信息:', err); } }); } });
通过上述代码,你可以实现获取用户信息的功能,并显示用户昵称和头像。你可以进一步完善代码和页面设计,以满足实际需求。
设计一个完整的小程序案例可以帮助你更好地理解开发过程。以下是一个简单的案例,设计一个“天气预报”小程序,可以获取当前城市天气信息并显示在页面上。
需求分析
- 用户登录:用户可以通过微信授权登录。
- 获取当前位置:获取用户当前位置,以获取当前城市的天气信息。
- 获取天气信息:调用天气API获取当前城市的天气信息。
- 显示天气信息:将获取到的天气信息显示在页面上。
技术要点
- 用户登录:使用
wx.login
和wx.getUserInfo
获取用户信息。 - 获取当前位置:使用
wx.getLocation
获取用户当前位置。 - 获取天气信息:调用第三方天气API获取天气信息。
- 显示天气信息:将获取到的天气信息显示在页面上。
用户登录
用户登录是通过微信授权登录实现的。通过 wx.login
获取登录凭证,通过 wx.getUserInfo
获取用户信息。
// 获取登录凭证 wx.login({ success: function(res) { console.log(res.code); }, fail: function(err) { console.log(err); } }); // 获取用户信息 wx.getUserInfo({ success: function(res) { console.log(res.userInfo); }, fail: function(err) { console.log(err); } });
获取当前位置
获取当前位置是通过 wx.getLocation
实现的。可以通过此方法获取用户的当前位置信息。
// 获取当前位置 wx.getLocation({ type: 'wgs', success: function(res) { console.log(res.latitude); console.log(res.longitude); }, fail: function(err) { console.log(err); } });
获取天气信息
获取天气信息是通过调用第三方天气API实现的。可以通过 wx.request
方法调用天气API获取天气信息。
// 获取天气信息 wx.request({ url: 'https://api.example.com/weather', data: { lat: res.latitude, lon: res.longitude }, success: function(res) { console.log(res.data); }, fail: function(err) { console.log(err); } });
显示天气信息
显示天气信息是通过数据绑定和页面渲染实现的。可以通过 setData
方法将获取到的天气信息设置为页面数据,并通过页面模板渲染显示。
<!-- 显示天气信息 --> <view class="container"> <view class="title">天气预报</view> <view class="weather" wx:if="{{weatherInfo}}"> <text>温度: {{weatherInfo.temperature}}</text> <text>天气状况: {{weatherInfo.condition}}</text> </view> <button bindtap="getWeather">获取天气</button> </view>
// 设置天气信息 Page({ data: { weatherInfo: {} }, setWeatherInfo: function(info) { this.setData({ weatherInfo: info }); } });
通过上述步骤,你可以设计一个完整的“天气预报”小程序案例。
在实际开发微信小程序时,从无到有的项目开发流程是非常重要的。以下是一个简单的项目开发流程示例,实现一个“天气预报”小程序。
第一步:创建项目
首先,在微信开发者工具中创建一个新的小程序项目。
// app.js App({ onLaunch: function () { console.log('App Launch'); } });
// app.json { "pages": [ "pages/index/index", "pages/weather/weather" ], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "天气预报", "navigationBarTextStyle": "black" } }
/* app.wxss */ page { background-color: #efeff4; height: 100%; }
第二步:设计页面结构
设计页面结构,包括页面模板和样式设置。
<!-- pages/weather/weather.wxml --> <view class="container"> <view class="title">天气预报</view> <view class="weather" wx:if="{{weatherInfo}}"> <text>温度: {{weatherInfo.temperature}}</text> <text>天气状况: {{weatherInfo.condition}}</text> </view> <button bindtap="getWeather">获取天气</button> </view>
/* pages/weather/weather.wxss */ .container { display: flex; flex-direction: column; align-items: center; padding: 20rpx; } .title { font-size: 20px; margin-bottom: 10rpx; } .weather { font-size: 14px; margin-top: 10rpx; }
第三步:实现逻辑功能
实现页面逻辑功能,包括获取用户位置和调用天气API。
// pages/weather/weather.js Page({ data: { weatherInfo: {} }, getWeather: function() { wx.getLocation({ type: 'wgs', success: function(res) { wx.request({ url: 'https://api.example.com/weather', data: { lat: res.latitude, lon: res.longitude }, success: function(res) { this.setWeatherInfo(res.data); }.bind(this), fail: function(err) { console.log('获取天气信息失败,错误信息:', err); } }); }.bind(this), fail: function(err) { console.log('获取当前位置失败,错误信息:', err); } }); }, setWeatherInfo: function(info) { this.setData({ weatherInfo: info }); } });
第四步:调试和测试
调试和测试是确保小程序功能正常的关键步骤。通过微信开发者工具,可以实现调试和测试。
- 启动开发者工具,打开当前项目。
- 预览页面,查看页面显示效果。
- 调试代码,使用开发者工具中的调试功能。
- 测试功能,通过模拟用户操作测试功能。
第五步:提交审核和上线发布
提交审核和上线发布是将小程序发布到微信平台的最后一步。
- 提交审核,在微信公众平台提交小程序审核。
- 上线发布,审核通过后,在微信公众平台发布小程序。
通过上述步骤,你可以从无到有地完成一个“天气预报”小程序的开发和发布过程。
在微信小程序上线发布前,测试和调试是非常重要的步骤。通过测试和调试,可以确保小程序功能正常,用户体验良好。
测试环境搭建
- 启动开发者工具,打开当前项目。
- 预览页面,查看页面显示效果。
- 查看控制台,查看控制台输出的日志和错误信息。
调试工具使用
微信开发者工具提供了多种调试工具,包括:
- 调试面板:可以查看页面渲染、数据绑定和事件处理等信息。
- 控制台:可以查看日志和错误信息。
- 网络面板:可以查看网络请求信息。
测试步骤
- 启动开发者工具,打开当前项目。
- 预览页面,查看页面显示效果。
- 测试功能,通过模拟用户操作测试功能。
- 查看控制台,查看控制台输出的日志和错误信息。
- 修复问题,根据测试结果修复问题。
示例代码
// 示例调试代码 Page({ data: { message: "Hello, World" }, handleClick: function() { console.log("点击按钮"); } });
通过上述步骤,你可以完成微信小程序的测试和调试过程。
在微信小程序上线发布前,需要提交审核并通过审核后才能上线发布。以下是一个简单的提交审核和发布流程示例。
提交审核
- 启动开发者工具,打开当前项目。
- 导出小程序,将小程序导出为压缩包。
- 登录微信公众平台,进入小程序管理页面。
- 提交审核,上传小程序压缩包并提交审核。
审核流程
- 初审:审核团队对小程序进行初步审核。
- 复审:审核团队对小程序进行复审。
- 测试:审核团队对小程序进行测试。
发布流程
- 登录微信公众平台,进入小程序管理页面。
- 发布小程序,点击“发布”按钮将小程序上线。
示例代码
// 示例提交审核代码 App({ onLaunch: function () { console.log('App Launch'); } });
通过上述步骤,你可以完成微信小程序的提交审核和发布流程。
在实际开发微信小程序时,了解小程序上线操作指南是非常重要的。以下是一个简单的小程序上线操作指南示例。
准备工作
- 启动开发者工具,打开当前项目。
- 导出小程序,将小程序导出为压缩包。
- 登录微信公众平台,进入小程序管理页面。
提交审核
- 点击“提交审核”,上传小程序压缩包并提交审核。
- 查看审核进度,在微信公众平台查看审核进度。
- 修复问题,根据审核反馈修复问题。
发布上线
- 点击“发布”,发布小程序上线。
- 查看上线状态,在微信公众平台查看上线状态。
示例代码
// 示例提交审核代码 App({ onLaunch: function () { console.log('App Launch'); } });
通过上述步骤,你可以完成微信小程序的上线操作。
这篇关于微信小程序教程:零基础入门到实战的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01微信小程序全栈教程:从入门到实践
- 2024-10-31微信小程序怎么实现关注公众号功能-icode9专业技术文章分享
- 2024-10-30微信小程序cover-view,支持bindtap吗-icode9专业技术文章分享
- 2024-10-30微信小程序的cover-image支持bindtap吗-icode9专业技术文章分享
- 2024-10-30微信小程序web-view怎么设置高度?-icode9专业技术文章分享
- 2024-10-30微信小程序中 onLoad和onready哪个先加载-icode9专业技术文章分享
- 2024-10-29小程序 wx.getStorageSync('token')如何清除-icode9专业技术文章分享
- 2024-10-29小程序防止冒泡e.stopPropagation()是什么-icode9专业技术文章分享
- 2024-10-29小程序的点击事件页面如何写-icode9专业技术文章分享
- 2024-10-25微信小程序如何使用echarts的折线图-icode9专业技术文章分享