【微信小程序】小程序使用详细教程(建议收藏)

1- 微信小程序简介


1.1 微信小程序的相关介绍

  • 介绍

微信小程序,简称小程序。英文名mini program,是一种不需要下载安装就可以直接使用的应用。他实现了触手可及的梦想。用户扫一扫或搜一下就可以直接打开应用。

  • 为什么叫微信小程序

微信里的app,2016年1月11日,张小龙,微信内部研究新的形态,应用号,后改名小程序

  • 竞争平台

支付宝小程序,钉钉,美团,头条,抖音,qq小程序…

  • 优点
  1. 在微信里面自由分享
  2. 不用下载app
  3. 能快速地开发,使用微信的api接口
  • 开发者

内存,源码,图片,存储,接口与数据都有限制

1.2 如何使用

  1. 注册一个微信小程序 mp.weixin.qq.com/ (帐号信息 — 邮箱激活 — 信息登记)
  2. 获取id 在这里插入图片描述
  3. 开发者工具
    微信开发者工具下载

1.3 微信开发者工具

  • 进入微信开发者工具,新建项目,可参考以下图,进行创建;

在这里插入图片描述

  • 界面介绍

在这里插入图片描述

  • 小程序配置文件app.json

在这里插入图片描述
代码部分

  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#f90",
    "navigationBarTitleText": "小课堂",
    "navigationBarTextStyle": "white"
  },
  • 特别注意:

在小程序 详情 界面 勾选上 不校验合法域名,web-view(业务域名),TLS版本以及HTTPS证书

在这里插入图片描述

1.4 页面组件

  • 界面组成介绍

在这里插入图片描述

  • pages/home

home.wxml 模板文件
home.js 业务逻辑
home.wxss 样式
home.json 页面配置

在这里插入图片描述

  • .wxss
  1. 默认单位是 rpx
  2. 750rpx 等于 一个屏幕的宽(当屏幕宽度等于 750px 时,1px = 1rpx)
  3. 375 就是 50% 的 宽(当屏幕宽度等于375px时, 1px =0.5rpx)

1.5 内置组件

此处列举一些常用的组件…

  1. view组件(块组件)

相当于 div标签

  1. text 组件 (行内组件)
  1. 只能嵌套text标签
  2. 长按文字可以复制【selectable】
  3. (只有这个标签有这个功能)
  4. 可以对回车,空格进行编码 (decode)
  1. button 组件 (按钮)
  1. 大小(size:mini/default),
  2. 颜色(type:default/primary/warn),
  3. 是否镂空(plain),
  4. 是否在文字前有加载loading(loading),
  5. 开发能力(opentype)
  1. input 组件(表单)
  1. radio 单选框
  2. checkbox 多选框
  1. image标签 (打包上线的大小不能超过2M,使用图片的时候统一使用外网图片)
  1. 图片存在默认的宽高(320px * 240px)
  2. mode 决定 图片内容 和 图片标签 做适配
    scaleToFill 默认值 不保持纵横比,拉伸至标签定义的宽高
    aspectFit 保持宽高比,保证图片的长边完全显示(常用 轮播图)
    aspectFill 短边完全显示
    widthFix 宽度不变,高度自动变化,保持原宽高比不变
    top,left,bottom,right 背景图定位
  3. 小程序中的图片 直接支持 懒加载
    lazy-load 会自己判断 当图片出现在视口的上下三屏之内的时候,自己开始加载图片
  1. navigator 导航组件 (块级元素,默认换行)
  2. rich-text(富文本标签,将字符串解析成对应标签,相当于v-html)
  • 注意
  1. 在pages 文件夹 右键建立新的文件夹
  2. 在文件夹右键,新建页面
  3. 哪个page在最上面,默认显示哪页(对 app.json 来说)
  4. .json 要求严格语法,不能有多余的注释和逗号

2- 小程序的模板语法


2.1 文本渲染

  • {{ msg }}
  1. 可以进行简单的js 表示 如:{{2 + 3 }},{{msg.length}}
  2. 运算 --> 表达式( 数值计算,字符串拼接,三元表达式)
  • 代码部分
<view class="view">文本渲染,
  <text>可以执行简单JavaScript表达式</text>
</view>
<view>{{msg}}</view>
<view>{{5+9}}</view>
<view>{{msg.length}}</view>
<view>{{msg.length>8?"大于呀":"不大于"}}</view>
  • js
  /**
   * 页面的初始数据
   */
  data: {
         "msg":"你好腾讯,我又学习微信小程序了",
  },
  • 代码截图
    在这里插入图片描述

2.2 条件渲染

条件渲染(wx:if)(wx:if, wx:elif, wx:else) (hidden 属性是通过添加样式的方式来呈现的)

当标签不是频繁的切换使用if,频繁切换使用hidden

  • 组件
    wx:if=" "
    wx:elif=" "
    wx:else

  • .wxml

<view class="view">条件渲染</view>
<view>嗨,需要登录</view>
<view wx:if="{{isLog}}">你好🍹,欢迎回来</view>
<view class="view">多重条件渲染</view>
<view wx:if="{{score>=90}}">小汽车</view>
<view wx:elif="{{score>=80}}">摩托车</view>
<view wx:elif="{{score>=80}}">单车</view>
<view wx:elif="{{score>=80}}">滑板车</view>
<view wx:else="">啥也没有</view>
  • .js
  data: {
         isLog:true,
         score:90,
  },
  • 代码截图

在这里插入图片描述

2.3 列表渲染

  • 语法

wx:for=“{{list}}” wx:key=“index” {{item}}{{index}}

  • .wxml
<view class="view">列表渲染</view>
<view wx:for="{{list}}" wx:key="index">{{index+1}}. {{item}}</view>
  • .js
  data: {
         list:['vue','react','小程序'],
  },
  • 代码截图

在这里插入图片描述

2.4 自定义列表渲染

wx:key绑定的是数组中的为唯一属性,wx:key=*this表示数组是普通数组,*this是循环项

  • 语法

定义item 与 index 的名称

  • .wxml
<view class="view">自定义列表渲染</view>
<view wx:for="{{list}}" wx:key="index" wx:for-item="myitem" wx:for-index="myidx" wx:key="myidx">{{myidx+1}} {{myitem}}</view>
  • .js
  data: {
         "msg":"你好腾讯,我又学习微信小程序了",
         isLog:true,
         score:90,
         list:['vue','react','小程序'],
         u1:{name:'良辰',age:18},
         u2:{name:'良乡',age:19}
  },
  • 运行结果

在这里插入图片描述

2.5 导入(不常用)

2.5.1 import 导入

import 导入 (只能导入template 内容)

  • home.js 定义数据
  /**
   * 页面的初始数据
   */
  data: {
         u1:{name:'良辰',age:18},
         u2:{name:'良乡',age:19}
  },
  • home.wxml 把数据当参数传入模板
<import src="/template/utils.wxml"></import>
<template is="userCart" data="{{...u1}}"></template>
<template is="userCart" data="{{...u2}}"></template>
  • template/utils.wxml 模板中使用参数

!!! 新建 template/utils.wxml 文件

<template name="userCart">
<view>用户名:{{name}}</view>
<view>年龄:{{age}}</view>
</template>
<view>非template内容</view>
  • 运行结果

在这里插入图片描述

2.5.2 include 导入

只能导入 非 template 内容

  • home.js
  /**
   * 页面的初始数据
   */
  data: {
         u1:{name:'良辰',age:18},
         u2:{name:'良乡',age:19}
  },
  • template/foot.wxml 文件
<view>
用户名:澜
</view>
  • home.wxml
<view class="view">使用include导入非template的模板内容</view>
<include src="/template/foot.wxml"></include>
  • 案例截图

在这里插入图片描述

3- 事件


3.1 事件绑定

关键字:bind (bindinput,bindtap【点击事件】)

  1. bindinput 输入事件
  2. bindconfirm 确认事件
  3. bindtap 点击事件

获取事件源对象的值:

e.detail.value

获取data中数据的值:

this.data.属性名

将事件源对象的值设置回data中:

this.setData({
	num:this.data.num + operation
})

事件绑定是不能直接传参,要通过自定义属性的方式传参( {{ 传递的参数}} ):

 <button bindtap="bandletap" data-operation="{{ 1 }}">+</button>
 
 bandletap(e) {
    // console.log(e);
    const operation = e.currentTarget.dataset.operation;
    this.setData({
        num: this.data.num + operation
    });
  },

3.2 事件传参 案例

获取事件的参数 e.target.dataset.msg

  • event.wxml
<view>
  事件
</view>
<button type="primary" size="mini" bindtap="tapHd">事件</button>
<button data-msg="家乡" type="primary" bindtap="sayHi">事件传参1</button>
<button data-msg='中国' type="warn" bindtap="sayHi">事件传参2</button>
  • event.js
 tapHd(e) {
    //输出事件
    console.log(e);
    // 提示文本
    //wx开头的方法,微信内置api
    wx.showToast({
      title: '你好事件', //提示文本
      icon: 'error', //显示图标
    })
  },

  sayHi(e) {
    console.log(e);
    //获取事件传参
    var msg = e.target.dataset.msg
    wx.showToast({
      title: '你好' + msg,
    })
  },
  

在这里插入图片描述

3.3 表单的绑定

  • event.wxml
<view>表单的绑定</view>
<input value="{{s1}}"  class="inp" bindinput="inputHd"/>
<button type="primary">{{s1}}</button>
  • event.js
 data: {
    s1: "小程序很好玩",
  },
  inputHd(e) {
    //获取表单的值
    var s1 = e.detail.value;
    //更新data 的 值与视图
    this.setData({ s1: s1 })
  },
  • event.wxss
.inp{
  line-height: 88rpx;
  height: 88rpx;
  background-color: gold;
}
  • 案例截图

在这里插入图片描述

4- 内置api


4.1 官网查找API文档

可以在 小程序开放文档 查找对应的API:

在这里插入图片描述

4.2 简单使用 显示消息提示框

wx.showToast(Object object) 显示消息提示框

  • 官方API文档
    在这里插入图片描述

  • 代码

 // 提示文本
    //wx开头的方法,微信内置api
    wx.showToast({
      title: '你好事件', //提示文本
      icon: 'error', //显示图标
    })
  • 运行截图

在这里插入图片描述

5- 小程序页面跳转


5.1 组件跳转

<navigator open-type="navigate" url="/pages/event/event">事件event</navigator>

在这里插入图片描述

5.2 API跳转

  • wx.navigateTo跳转
<navigator open-type="navigateBack">自己设置的返回</navigator>

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

  • wx.switchTab 切换底部栏

  • wx.redirect 重定向

<navigator  open-type="redirect" url="/pages/home/home">跳转并替换,相当于replace</navigator>

在这里插入图片描述

  • wx.reLaunch 重启
<navigator open-type="reLaunch">重启</navigator>

在这里插入图片描述

  • navigateBack 返回
<navigator open-type="navigateBack">自己设置的返回</navigator>

在这里插入图片描述

6- 页面栈

A页面—B页面—C页面—D页面—E页面

  • 通过open-type=‘navigate’页面会缓存起来,最多缓存5层
  • A页面—> redirect B页面 A页面是不会被缓存
  • E页面 “navigateBack” 到页面 (页面的缓存移除一次)
  • 总结:navigate 会增加一层缓存页面,redirect会替换一层缓存页面,navigateBack 会移除一层缓存页面

7- tabBar(底部栏配置)


7.1 在app.json 中配置

在这里插入图片描述

tbaBar: {
    "color": "",	//未选中的字体的颜色
    "selectedColor": "",	//选中后的字体的颜色
    "backgroundColor": "",  // 背景色
    "position": "",	//定位
    "borderStyle": "",   //边框样式 
    "list": [
        {
            "pagePath": "",   // 页面的路径
            "text": "",   // 标题的名称
            "iconPath": "",   // 未选中的图标路径
            "selectedIconPath": ""   // 选中后的图标的路径
        }
    ]
}

7.2 tabBar 案例

在这里插入图片描述

代码部分:

"tabBar": {
    "color": "#777",
    "selectedColor": "#1cb9ce",
    "list": [
      {
        "pagePath": "pages/onedot/onedot",
        "text": "一点咨讯",
        "iconPath": "/images/t1.png",
        "selectedIconPath": "/images/t1-h.png"
      },
      {
        "pagePath": "pages/joke/joke",
        "text": "开心一刻",
        "iconPath": "/images/t2.png",
        "selectedIconPath": "/images/t2-h.png"
      },
      {
        "pagePath": "pages/todo/todo",
        "text": "todo列表",
        "iconPath": "/images/t3.png",
        "selectedIconPath": "/images/t3-h.png"
      },
      {
        "pagePath": "pages/event/event",
        "text": "事件",
        "iconPath": "/images/t4.png",
        "selectedIconPath": "/images/t4-h.png"
      }
    ]
  },

8- 小程序的限制

  1. 源文件大小
  1. 每个包不能超过2M
  2. 总共不能超过16-20M
  1. 页面缓存堆栈5层
  2. 底部栏
  1. 最少2个,最多5个
  2. 底部栏图片 31k
  1. 本地存储

1次1M最多100M

  1. setData

1次1M最多100M

  1. 功能和微信一致(右上角胶囊按钮,下拉刷新…)

9- 封装request

为什么要封装 request

  1. 定义 baseURl
  2. 添加请求头
  3. 添加加载提示
  4. 同一错误处理
  • 代码
//基础的url
const URI = {
  baseURL:'http://dida100.com'
}
//{name:"mumu",age:18} => name=mumu&age=18
function tansParam(obj){
  var str = '';
  for(var k in obj){
    str+=k+'='+obj[k]+'&';
  }
  //移除最后一个&
  return str.slice(0,-1);
}
function request(option){
  var url = option.url;
  //01 可以添加baseURl
  url= url.startsWith('http')?url:URI.baseURL+url;
  //选项里面有params (get 传入的参数)
  if(option.params){
    //如果 有参数,把参数转换为url 编码形式加入
    url+='?'+tansParam(option.params);
  }
  //02 可以添加请求头
  var header = option.header || {};
  header.Authorization = 'Bearer '+wx.getStorageSync('token');
  //03 可以添加加载提示
  if(option.loading){
      wx.showToast({
        title: option.loading.title,
        icon:option.loading.icon,
      })
  }
  //返回一个promise
  return new Promise((resolve,reject)=>{
    wx.request({
      //请求的地址如果 --- http开头 直接用url 不是http开头,添加baseURL
      url: url,
      method:option.method||'GET', //请求的方法  默认get
      data:option.data,//post 传入的参数
      success(res){
        //请求成功
        resolve(res.data);
      },
      fail(err){
        //04对错误进行处理
        wx.showToast({title:"加载失败",icon:'none'})
        //请求失败
        reject(err)
      },
      complete(){
        //关闭加载提示
        wx.hideToast()
      }
    })
})
}
//定义get简易方法
request.get=(url,config)=>{
  return request({url,method:"get",...config})
}
//定义post简易方法
request.post=(url,data,config)=>{
  return request({url,method:"post",data,...config})
}
//导入request
module.exports={request}
  • 截图

在这里插入图片描述

10- 小程序使用npm 包

认准官网 Vant Weapp

步骤

  1. 初始化项目

在这里插入图片描述

  1. 安装插件

在这里插入图片描述

  1. 修改app.json

在这里插入图片描述

  1. 修改 project.config.json

在这里插入图片描述

  1. 构建npm

在这里插入图片描述

  1. 引入组件 app.json

在这里插入图片描述

  1. 使用组件

在这里插入图片描述


往期传送门

【Vue】描述项目中两个功能模块的业务(一点见解)
【Git】Git基础操作一文详解,入门易懂(附图和案例
【Vue3】整理的一些Vue3知识点和案例(Vue3 获取窗口宽和高)

  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
手把手视频详细讲解项目开发全过程,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 简介 微信小程序是不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开的应用,在微信小程序使用过程中,用户只增不减,很多的公司都开始研发属于自己的小程序,那么小程序该如何去制作并实现功能呢?本套视频教你一天打造企业级微信小程序的开发与应用 现在许多已开发过公众号的公司包括商家再次制作小程序,并且进行相互关联。而前期我们使用的公众号主要意在培养用户,而小程序则带来了更加全面的功能体验。微信生态当中,小程序相辅相成给了用户更加完美的用户体验,如果你现在是个人或者公司,想要享受到小程序的红利时刻,那第一步就是应该先会做一款属于企业或者属于你的小程序 课程内容 小程序基础 1、小程序注册 2、小程序开发者工具使用教程 3、小程序配置文件 4、小程序常用组件 5、小程序的模板语法 6、小程序中的样式编写 7、小程序中的JavaScript 8、小程序应用及页的生命周期 9、小程序常用API 10、小程序中的自定组件 11、小程序插件开发 12、小程序分包加载 13、小程序基础库版及兼容处理 14、小程序运行机制 15、小程序性能分析及优化 16、小程序云开发、云函数、云数据库 17、小程序上线和发布 黑马优购商城 1、原生框架的搭建 2、商品首页模块 3、分类商品模块 4、商品列表模块 5、商品详情模块 6、支付和登录模块 7、收藏模块 8、购物车模块 9、订单模块 10、搜索页面模块 11、个人中心模块 12、意见反馈模块 13、项目的优化和发布上线
微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码 【微信小程序-毕设期末大作业】微信小程序源码
微信小程序是一种新型的应用程序,它是利用微信开发者工具开发的。微信小程序可以在微信内直接运行,无需下载、安装即可使用,具有轻便、快捷、便捷等特点。 下面是微信小程序开发的详细教程: 1.准备工作 (1)下载安装微信开发者工具 (2)注册微信公众平台账号 (3)注册小程序账号 2.创建小程序 (1)打开微信开发者工具,点击新建项目 (2)填写项目名称、AppID、项目目录等信息 (3)选择开发模式(开发者工具自带模拟器或者真机调试) 3.开发小程序 (1)编辑小程序页面 微信小程序的页面是由wxml、wxss、js和json四个文件组成的。其中,wxml文件是小程序的页面结构,wxss文件是样式文件,js文件是逻辑文件,json文件是小程序的全局配置文件。 (2)开发小程序功能 小程序可以调用微信提供的API接口,实现实时通讯、地理位置、支付等功能。 4.发布小程序 在完成小程序开发后,需要进行发布。发布小程序需要进行微信认证,认证成功后才能发布小程序。 (1)上传代码 在微信开发者工具中,点击上传按钮,将小程序的代码上传至微信服务器。 (2)提交审核 上传成功后,需要提交小程序审核。审核通过后,小程序就可以正式发布。 5.小程序运营 小程序运营包括推广、数据分析、用户管理等内容。可以通过微信公众平台进行管理。 以上就是微信小程序开发的详细教程,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值