开启微信小程序开发之旅
微信小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或搜一下即可打开应用。
| 对比项 | 小程序 | 公众号 | 原生APP |
|---|---|---|---|
| 安装 | 无需安装 | 无需安装 | 需要下载安装 |
| 体验 | 接近原生 | 网页体验 | 最佳 |
| 开发成本 | 低 | 最低 | 高 |
| 功能 | 丰富 | 有限 | 最丰富 |
| 推广 | 易传播 | 易传播 | 难推广 |
| 适用场景 | 高频低频都可 | 内容传播 | 高频刚需 |
1. 访问微信公众平台:https://mp.weixin.qq.com
2. 点击"立即注册" → 选择"小程序"
3. 填写账号信息(邮箱、密码)
4. 邮箱激活
5. 选择主体类型:
- 个人:适合学习和个人项目
- 企业:需要营业执照,功能更全
- 政府/媒体/其他组织
6. 填写主体信息
7. 完成注册登录小程序后台 → 开发 → 开发管理 → 开发设置
AppID (小程序ID): wxd1234567890abcde
AppSecret (小程序密钥): 点击"生成"按钮获取
⚠️ AppSecret 非常重要,请妥善保管!小程序只能访问配置过的合法域名。
开发 → 开发管理 → 开发设置 → 服务器域名
需要配置:
- request合法域名(网络请求)
- socket合法域名(WebSocket)
- uploadFile合法域名(上传文件)
- downloadFile合法域名(下载文件)
要求:
✓ 必须是 HTTPS
✓ 必须备案
✓ 不能是IP地址
✓ 不能带端口号下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
1. 打开微信开发者工具
2. 点击"+"创建项目
3. 填写项目信息:
- 项目名称:HelloWorld
- 目录:选择空文件夹
- AppID:填写你的AppID(或选择测试号)
- 开发模式:小程序
- 后端服务:不使用云服务
- 模板:不使用模板
4. 点击"新建"miniprogram/
├── pages/ # 页面文件夹
│ ├── index/ # 首页
│ │ ├── index.js # 页面逻辑
│ │ ├── index.json # 页面配置
│ │ ├── index.wxml # 页面结构
│ │ └── index.wxss # 页面样式
│ └── logs/ # 日志页
│ ├── logs.js
│ ├── logs.json
│ ├── logs.wxml
│ └── logs.wxss
├── utils/ # 工具函数
│ └── util.js
├── app.js # 小程序逻辑
├── app.json # 小程序配置
├── app.wxss # 小程序样式
└── project.config.json # 项目配置| 文件 | 作用 | 必需 |
|---|---|---|
| app.js | 小程序逻辑(生命周期、全局数据) | ✓ |
| app.json | 小程序配置(页面路径、窗口样式) | ✓ |
| app.wxss | 小程序全局样式 | ✗ |
| .wxml | 页面结构(类似HTML) | ✓ |
| .wxss | 页面样式(类似CSS) | ✗ |
| .js | 页面逻辑(JavaScript) | ✓ |
| .json | 页面配置 | ✗ |
{
"pages": [
"pages/index/index"
],
"window": {
"navigationBarTitleText": "我的第一个小程序",
"navigationBarBackgroundColor": "#07c160",
"navigationBarTextStyle": "white",
"backgroundColor": "#f8f8f8"
},
"style": "v2",
"sitemapLocation": "sitemap.json"
}<view class="container">
<text class="title">Hello World!</text>
<text class="desc">欢迎来到微信小程序</text>
<button type="primary" bindtap="onTap">点击我</button>
<text class="result">{{message}}</text>
</view>.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.title {
font-size: 48rpx;
font-weight: bold;
color: white;
margin-bottom: 20rpx;
}
.desc {
font-size: 28rpx;
color: rgba(255, 255, 255, 0.8);
margin-bottom: 60rpx;
}
button {
width: 400rpx;
margin-bottom: 40rpx;
}
.result {
font-size: 32rpx;
color: #ffd700;
font-weight: bold;
}Page({
// 页面数据
data: {
message: ''
},
// 生命周期:页面加载
onLoad(options) {
console.log('页面加载', options)
},
// 生命周期:页面显示
onShow() {
console.log('页面显示')
},
// 事件处理:按钮点击
onTap() {
this.setData({
message: '你好,微信小程序!'
})
wx.showToast({
title: '点击成功',
icon: 'success'
})
}
})类似HTML,用于描述页面结构。
<!-- HTML -->
<div class="box">
<span>文本</span>
</div>
<!-- WXML -->
<view class="box">
<text>文本</text>
</view>类似CSS,用于描述页面样式。
/* 新增尺寸单位 rpx */
.box {
width: 750rpx; /* 750rpx = 屏幕宽度 */
height: 200rpx;
}
/* 支持大部分CSS选择器 */
.container {
display: flex;
background-color: #fff;
}小程序的脚本语言,但运行环境不是浏览器。
// 不支持 DOM 操作
// document.getElementById() ✗
// 使用小程序 API
wx.request() // 网络请求
wx.showToast() // 提示框
wx.navigateTo() // 页面跳转rpx(responsive pixel)是小程序的响应式尺寸单位。
规定:屏幕宽度 = 750rpx
小程序的主要优势是什么?
小程序页面结构文件的扩展名是?
在屏幕宽度为375px的设备上,100rpx等于多少px?