小程序的学习与使用

定义
微信里面app
16年推出
竞品:支付宝小程序,钉钉,美团,头条,抖音qq小程序
优点
在微信自由分享
不用下载app
能快速的开发,使用微信的api接口
网址

微信小程序开发工具
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

新建项目

请添加图片描述

界面介绍请添加图片描述
项目组成

请添加图片描述

新建页面
在pages文件夹右键建立新的文件夹
在文件中右键新建页面
哪个page在最上面,默认显示哪页
json要求严格语法,不能有多余的注释和逗号
特别注意

请添加图片描述

小程序的模板语法(约等于vue的模板语法)
文本渲染
 	{{ msg}}
可以执行简单的js表达式
	{{2+3}}
	{{msg.length}}
条件渲染
	wx:if=""
	wx:elif=""
	wx:else
列表渲染
wx:for="{{list}}"     {{item}}
wx:key="index"      {{index}}
自定义列表渲染
定义item与index的名称
wx:for="{{list}}}"
wx:for-item="myitem"
wx:for-index="myidx"
	{{myidx}}
{{myitem}}
导入
import
	只能导入template内容
	template/utils.wxml
	<template name="userCart">
	用户名:{{name}}
	</temlate>
	home.wxml
	<import src="/template/utils.wxml">
	<tempate is="userCart" data="{{...u1}}">
include
	只能导入非template内容
	template/foot.wxml
	<view>{{内容}}</view>
	home.wxml
	<include src="/template/foot.wxml">
内置组件
view组件
块组件
text 组件
行内组件
button组件
按钮
input组件
表单
wxss
默认单位是rpx
750rpx 等于一个屏幕的宽
375就是50%的宽
事件
bindInput
表单输入时
bindconfirm
表单输入确认
bindtap
点击时候
事件的传参
<button data-msg="xxx" bindtap="tapHd">
**获取事件的参数  e.target.dataset.msg**
表单的绑定
<input value="{{s1}}" bindinput="inputHd">
inputHd(e){
this.setData({s1:e.detail.value})
}
表单的值获取:e.detail.value
内置的api
显示提示
showToast
本地存储
wx.setStorageSync(key,value)
本地取
wx.getStorageSync(key)
wx.request 网络请求
生命周期
onLoad 页面加载完毕
onPullDownRefresh 下拉刷新
onReachBottom 触底更新
更新数据与视图
this.setData({k:v})
页面配置
"enablePullDownRefresh": true,  允许下拉刷新
"backgroundTextStyle": "dark",  背景文字颜色
"backgroundColor":"#f70", 背景颜色
"usingComponents": {} 组件
小程序的页面跳转
组件跳转(<navigator>)
	url 跳转的地址
	open-type 
打开类型
	navigate 普通跳转
	navigateBack 返回
	redirect 重定向
	switchTab 跳转底部栏
	reLaunch 重启
api跳转
	wx.navigateTo  跳转
	wx.switchTab  切换底部栏
	wx.redirect 重定向
	wx.reLaunch 重启
页面传参
小程序页面传参主要通过 查询传参
传:url=“xxxx/xxx?name=mumu&age=18”
接收:onLoad options参数接收
	options.name
	options.age
全局数据
app.js的globalData
	定义
		app.js的globalData
	页面使用
		var app  = getApp();
		app.globalData.num
npm安装包

插件网站:https://youzan.github.io/vant-weapp/#/home
初始化项目
请添加图片描述
安装插件
请添加图片描述app.json删v2
请添加图片描述
修改project.config.js
建议直接在网站上复制粘贴,不容易出错
找不到的直接 ctel+f 快速查找
请添加图片描述工具,构建npm
请添加图片描述
导入组件
请添加图片描述使用组件
请添加图片描述

request的封装
// 基础的url
const URI = {
  baseURL:"http://dida100.com"
}
function tansParams(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
  // 是不是以http开头的,是用url不是加上baseURL
  url = url.startsWith("http")?url:URI.baseURL+url;
  // 选项里面有params(get传入的参数)
  if(option.params){
    // 如果有参数,把参数转换为url编码形式加入
    url+="?"+tansParams(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出入的参数
        header,
        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}
api的编写
// 导入request
const {request}  = require("../utils/request")
// 定义api
// 获取频道与分类
function GetCategory(){
  return request.get("/mi/cats.php")
}

// 获取分类列表
function GetNewsList(data){
  return request.get("/mi/list.php",{params:data})
}

// 获取新闻内容
function GetNewsContent(data){
  return request.get("/mi/content.php",{params:data,loading:{
    title:"内容准备中...",
    icon:"loading"
  }})
}
module.exports = {
  GetCategory,GetNewsList,GetNewsContent
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值