微信小程序开发

vue3大事件管理系统 === 首页 layout & 文章分类页面 - 组件对外暴露一个方法 open, 基于 open 的参数,初始化表单数据,并判断区分是添加 还是 编辑。需求:只有登录页,可以未授权的时候访问,其他所有页面,都需要先登录再访问。添加 和 编辑,可以共用一个弹层,所以可以将弹层封装成一个组件。el-container 右侧。el-aside 左侧。 阅读详情

一、安装

1、在https://developers.weixin.qq.com/miniprogram/dev/下载微信开发者工具

2、打开进入,选择项目目录


3、目录结构

app.js:入口文件

app.json:在里面注册页面后,会自动生成页面文件,当编译时默认打开pages下的第一个页面


二、使用

1、数据绑定

<text>{{ text }}</text>                               // first.wxml中,用{{}}来绑定
<button type="default" > default </button>         
<button type="primary" bindtap="btnClick"> primary </button>   // bindtap是绑定事件
data: {                                              // first.js中
    text: "this is a text"                           // 绑定text
  },

  btnClick: function () {                            // 注册点击事件
    this.setData({text: "按钮被点击了"})
  },

2、条件渲染

<view wx:if="{{ isShow }}">this is a</view>             // 当isShow==true的时候显示
<view wx:else="{{ isShow }}">this is b</view>

<view wx:for="{{ news }}">                             // 遍历数组,
  {{ index }}--{{ item }}                              // 下标和值,默认为index和item,修改使用wx:for-item="itemx"  wx:for-index="idx"
</view>
data: {
    text: "this is a text",
    isShow: true,
    news: ['aaa', 'bbb', 'ccc']
  },

  btnClick: function () {
    var show = this.data.isShow;
    this.setData({ text: "按钮被点击了", isShow: !show})
  },

3、模板的使用:新建一个目录命名templates(随便取),新建header.wxml,footer.wxml

(1)使用include

在所需要使用的地方

<include src="../template/header" />               // 必须要有闭标签/>

header.wxml中

<text>this is a header</text>

(2)使用import:当模板中使用template标签,便不能使用include引入

<import src="../template/footer" />
<template is="name1" data="{{ t: 'data' }}" />             // 用来指定那个模板,is是模板name值,data是在模板中通信

footer.wxml

<template name="name1">this is name1--{{ t }}</template>

<template name="name2">this is name2</template>

4、事件

(1)点击事件:tap

(2)长按事件:longtap

(3)触摸事件:touchstart:开始    touchend:结束   touchmove:移动   touchcancel:结束,非正常结束,比如点下去突然来个电话,触摸事件被打断

(4)其他:submit input

(5)事件绑定:

1)bind绑定:会冒泡

2)catch绑定:不会冒泡

5、小程序配置详解

(1)页面配置app.json下的pages

"pages":[
    "pages/first/first",               // 第一个为默认编译的首页
    "pages/index/index",
    "pages/logs/logs"
  ],

(2)页面配置app.json下的window

"window":{
    "backgroundTextStyle":"light",                   // 背景文本颜色
    "navigationBarBackgroundColor": "#fff",          // 导航条背景颜色
    "navigationBarTitleText": "WeChat",              // 导航条标题内容
    "navigationBarTextStyle":"black"                 // 导航条字体颜色
  }

(3)底部菜单

"tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",        // 如果pages中的第一个路径不在tabBar中,tabBar不会显示
        "text": "首页"
      },
      {
        "pagePath": "pages/logs/logs",
        "text": "日志"
      } 
    ]
  }

(3)请求超时

"networkTimeout": {
    "request": 10000,           // http请求10秒
    "downloadFile": 10000       // 下载文件10秒
  },

(4)debug

"debug": true              // 会输出一些日志

(5)页面配置,在每个页面里面新建一个与页面同名的json文件,目的是:覆盖app.json中的全局配置

6、小程序生命周期app.js中:onLaunch():在开始   onShow():前台运行    onHide():后台运行

7、页面跳转

(1)使用wx.navigateTo

redirect: function () {
    wx.navigateTo({
      url: '../first/first'               // 注意:这里的url不能出现在底部菜单中,否则不会跳转
    })
  },

或者使用wx.redirectTo区别:navigateTo不关闭页面打开新的,redirectTo关闭页面

(2)使用组件

<navigator url="/pages/first/first?id=1&title=标题">切换 Tab</navigator>    // 也可以加open-type="redirect"

(3)传递数据

 wx.navigateTo({
      url: '../first/first?id=1'
    })
// first.js
onLoad: function (options) {
    console.log(options.id)
  },

三、实现登录:如果用户信息不存在,跳转到登录页面,否则进入用户信息页

//app.js
globalData: {
    userInfo: null
  }
// pages/user/user.js
var app = getApp()
onLoad: function (options) {
    if (app.globalData.userInfo == null) {   // 如果没有用户信息,去登录页
      wx.redirectTo({
        url: '/pages/login/login'
      })
    } else {
      this.setData({username: app.globalData.userInfo.username})
    }
  },
// 登录页
<input bindinput="usernameInput" />
<input bindinput="passwordInput" password="true" />
<button bindtap="login">登录</button>
// app.js
data: {
    username: null,
    password: null
  },
  usernameInput: function (event) {
    this.setData({username: event.detail.value})
  },
  passwordInput: function (event) {
    this.setData({password: event.detail.value})
  },
  login: function () {
    // 做验证之后
    app.globalData.userInfo = {username: this.data.username, password: this.data.password}
    wx.switchTab({
      url: '/pages/user/user'           // 因为底部菜单有这个路由,所以不能用navigateTo或redirectTo
    })
  },

四、布局

1、flex布局

<view class="contain">
  <view class="item">1</view>
  <view class="item">2</view>
  <view class="item">1</view>
</view>
.contain {
  width: 100%;
  height: 100%;
  background: red;
  display: flex;
  flex-direction: row;      /*水平排列,默认为row,垂直排列为column*/
  flex-wrap: wrap;     /*当一行排不开时换行,默认为nowrap不换行*/
  /* flex-flow: row wrap;   简写*/    /* align-items:center在纵轴上垂直 */
  justify-content: space-between;    /*对齐方式,居中对齐,默认flex-start左对齐,flex-end右对齐,space-around有左右margin值,space-between第一个没有左边距最后一个没有右边距*/
}
.item {
  width: 100rpx;     /*rpx会根据不同的分辨率,解析不同的大小*/
  height: 100rpx;
  background: blue;
  border: 1px solid #fff;
  flex-grow: 1;      /*当元素空间足够时,放大占据1,默认0不放大*/
  flex-shrink: 1;      /*当空间不够时,会缩小,默认为1*/
  flex-basis: 200rpx;      /*占据的宽度,本来为100rpx,现在是200rpx*/
  /* flex: 1 1 50rpx;    上面三个的简写*/
}

2、相对定位和绝对定位

五、小程序的api

1、wx.request():发送请求

2、图片选择和调用微信拍照:wx.chooseImage()

3、上传文件:wx.uploadFile()   下载文件:wx.downloadFile()

4、数据缓存:wx.setStorage():异步      wx.setStorageSync():同步

5、获取地理位置:wx.getLocation()    wx.chooseLocation():选择位置

6、获取网络类型:wx.getNetworkType()

7、获取系统信息:wx.getSystemInfo()

8、操作反馈:wx.showToast():信息弹窗   wx.showModal():确认弹窗    wx.showActionSheet():在底部出现信息框

wx.showLoading():加载弹窗
















微信小程序开发初探 【主要内容:】 1. 微信小程序web开发工具下载地址 2. 创建项目 3. 开发工具界面 4. 调试区六大工具介绍 5. 我与微信小程序的插曲 6. 微信小程序总结 一、微信小程序web开发工具下载地址 1.1 在微信公众平台-小程序里边去下载开发工具下载地址。 1.2 下载后安装一下就可以使用 阅读详情

相关推荐

微信小程序开发:开发实践

随着移动互联网的迅猛发展,微信小程序作为一种轻量化、无需安装的应用形式,逐渐成为开发者和用户的首选。本文以“个人名片”小程序为例,详细阐述了微信小程序的开发流程,包括需求分析、项目规划、代码实现、调试与优化等环节。通过实际项目开发,验证了微信小程序在功能实现、用户体验和性能优化方面的可行性,并总结了开发过程中的关键技术和实践经验。通过“个人名片”小程序的开发,验证了微信小程序在功能实现、用户体验和性能优化方面的可行性。

weixin_74149145的博客 1589

Vue 自定义模板

自定义模板

qq_42909264的博客 1053

关于微信小程序开发的几点总结

随着公司业务的发展需要,很多项目都设计了配套的微信小程序,本文对微信微信小程序做一个小小的总结,为自己在开发过程遇到问题的解决方案及理解,希望对初涉微信小程序的你有所帮助,如若路过的大佬有更好的方法或见解,欢迎留言讨论学习。文中所有示例代码均通过微信开发者工具实现。 关于微信小程序静态页面 1、静态页面尺寸 微信小程序对CSS做了扩展,支持rpx,可以根据屏幕宽度进行自适应。 设备 rpx换算px(屏幕宽度/750) px换算rpx(750/屏幕宽度) iPhone5 1rpx = 0.42

weixin_41269811的博客 2268

【Vue教程六】插槽

1、插槽内容 我们经常需要向一个组件传递内容,可以用 Vue 自定义的 <slot>元素: <body> <div id="app"> <alert-box> Something bad happened. </alert-box> </div> ...............

qing_小诺的博客 1570

【微信小程序】微信小程序开发环境搭建:安装微信小程序开发者工具

通过本文的介绍,你应该已经成功安装并配置了微信小程序开发者工具,为微信小程序开发做好了准备。接下来,你可以开始编写你的第一个小程序项目,探索更多有趣的功能和特性。祝你开发顺利,创造更多优秀的作品!

墨夶的博客 2952

ExcelVBA批量添加PDF文件

如图1所示,"BOM-01.xlsx"工作簿中的Sheet1工作表根据B列图号单元格中的内容,在图2所示的文件夹中找到对应的PDF文件,然后嵌入到相应的N列,双击N列中所示的图标,会打开PDF文件,是源文件的副本,即删除源文件,也可以打开N列的文件。 图1 根据B列的图号在N列嵌入对应的PDF文件 图2 PDF文件 图3 文件格式 Sub 导入文件() Ap...

qq389445046的博客 5578

微信小程序实现头部、底部固定,中间滚动的布局

如图: wxml <view class='wraper'> <view class='header'>header</view> <view class='main'> <scroll-view class='main-scroll' scroll-y style="height: 100%"> <view class='main-list'> <view class='card'

艾丽的博客 2441

STM32H7 FOC控制时序优化与PWM中点更新策略

在永磁同步电机(PMSM)的磁场定向控制(FOC)系统中,控制时序精度是决定电流环带宽、观测器收敛性与动态响应能力的基础要素。其核心在于理解PWM生成、ADC采样与控制计算三者之间的硬件级时间耦合关系——尤其在中心对齐模式下,标准更新机制引入的半周期延迟会破坏电压-电流瞬时映射,导致滑模观测器失配与高频相位滞后。通过将PWM更新事件绑定至重复计数器(RCR)清零点,可实现控制指令在开关周期中点生效,使等效电压矢量中心与计算时刻严格对齐。该策略显著提升系统确定性,为20 kHz以上高频电流环提供物理支撑,并广

flink9streamer的博客 859

经典布局:固定header和footer,中间main超出自动滚动条

效果 demo <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta ...

沧笙踏歌的博客 3994

【渗透工具】内网多级代理工具Venom详细使用教程

Venom是一款为渗透测试人员设计的使用Go开发的多级代理工具。Venom可将多个节点进行连接,然后以节点为跳板,构建多级代理。渗透测试人员可以使用Venom轻松地将网络流量代理到多层内网,并轻松地管理代理节点。

TT小子的博客 3757

体素坐标(voxel_coors)在mmdetection3d中的理解

体素坐标(voxel_coors)在mmdetection3d中的理解

weixin_38362784的博客 4219

【微信小程序开发】开发框架与工具的使用详解

小程序开发框架是一套用于快速构建小程序的开发框架,提供了丰富的组件和API,使得开发者能够快速搭建小程序,并实现丰富的功能。微信小程序开发框架:官方提供的小程序开发框架,使用JavaScript语言进行开发,可运行在微信客户端上;支付宝小程序开发框架:支付宝提供的小程序开发框架,使用JavaScript语言进行开发,可运行在支付宝客户端上;百度智能小程序开发框架:百度提供的小程序开发框架,使用JavaScript语言进行开发,可运行在百度客户端上;字节跳动小程序开发框架。

陈橘又青的博客 2万+

药物对接仿真软件:HADDOCK_(3).分子对接基本原理

分子对接(Molecular Docking)是计算化学和结构生物学中的一种重要技术,用于预测小分子(如药物分子)与大分子(如蛋白质)之间的相互作用模式和结合亲和力。这一技术在药物设计和开发中具有广泛的应用,尤其是在寻找和优化潜在的药物候选物方面。本节将详细介绍分子对接的基本原理,包括其理论基础、计算方法和应用。

kkchenjj的博客 1170

微信小程序开发语言(微信小程序开发教程)详细步骤

微信小程序开发语言 开发微信小程序用什么语言 1、微信小程序开发所需要的语言比较特别,首先介绍一下需要使用到的文件类型大致分为:WXML(WeiXin Mark Language 微信标记语言)、WXSS(WeiXin Style Sheet 微信样式表)、JS(JavaScript 小程序的主体); 2、首先是WXML,它与Android开发中的界面XML描述文件比较像,适合于程序界面的构建; 3、WXSS与前端中使用的CSS在语言上几乎没有差别可以直接通用; 4、JS文件这个与前段中使用的JS也是几乎没

juzilvpai的博客 2万+

Open3D 点云变换【2025最新版】

点云平移、旋转、缩放、欧式变换的python代码实现。博客长期更新,本文最近更新时间为:2025年1月16日。

点云侠的博客 37万+

SAP_SD模块深度解析SAP信用检查中的“未清数量”取值逻辑

确认数量 vs 订单数量:如果系统配置了可用性检查(ATP),并且订单只确认了部分数量,信用检查通常只占用已确认数量的额度(具体取决于信用组的配置)。在SAP中,未清订单数量的计算并非简单读取订单行项目的目标数量(VBAK-KWMENG),而是基于**计划行(Schedule Lines)**层级来汇总的。状态的转换点:当交货单创建(VL01N)并保存时,这部分数量对应订单的“未清订单数量”减少,“未清交货数量”增加。业务人员眼中的未清数量很简单:“我卖了100个,发了30个,未清就是70个”。

我小时候很黑的博客 313

微信小程序开发需要什么技术

  微信成为一种生活方式的目标已经实现,可以说微信已是移动互联网中的独立生态王国,现在微信要借小程序收割线下的流量!无论是线上流量还是线下场景,微信小程序对于线下零售店都有充分的吸引力。那么微信小程序开发制件需要掌握哪些语言?   第一、微信小程序wxml   有过编程基础的工程师,在接触到wxml之后你才会发现,其实这个语言的编程理念和html网页的编程技术是类似的,当你研究一点时间后就...

小程序站 5万+

车载软件刷写工具vFlash --- 自动化接口(Automation API)应用简介

车载软件刷写工具vFlash --- 自动化接口(Automation API)应用简介

Soly_kun的博客 362

学习篇——微信小程序开发

小程序的开发与传统的web前端开发极其相似,想必各位博友们关心的是如何去开发一个小程序,这里我简单介绍总结一下近期学习的如何开发小程序。

m0_57662158的博客 8884

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【微信小程序入门】2、微信小程序开发前准备

在注册微信小程序开发账号、获取微信小程序AppID、安装微信开发者工具以及创建微信小程序项目的过程中,开发者需要按照一系列步骤进行操作。首先,注册微信小程序开发账号是为了获得开发权限和管理小程序的必要步骤。获取微信小程序AppID是为了唯一标识小程序并进行后续开发工作。安装微信开发者工具是为了提供开发环境和调试工具。创建微信小程序项目则是正式开始开发小程序的关键步骤。总结起来,注册微信小程序开发账号、获取微信小程序AppID、安装微信开发者工具和创建微信小程序项目。

不迁怒,不贰过。小知识,大智慧。 2336

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【微信小程序开发】微信小程序注册,配置开发者工具

快速配置微信小程序开发的准备

weixin_62513677的博客 804

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

使用Vue开发微信小程序

在微信小程序开发者工具中,可以对小程序进行预览、测试,检查是否存在布局、功能等方面的问题,然后将小程序提交审核并发布。然后,将生成的代码导入到微信小程序开发者工具中,进行最后的调试和发布工作。命令来构建项目,生成适合微信小程序的代码。框架时,通常可以使用。

alankuo的专栏 4748

python开发微信小程序-Python 开发者的微信小程序开发实践

导读在知乎上,有人提问“如何使用 Python 开发微信小程序”。其实微信小程序作为一个前端的机制,Python 并不能插上边。只不过可以作为后端接口为微信小程序提供数据服务而已。那么在本篇,我们就将结合微信小程序开发与 Python Web 开发,来完成一个朋友圈神器微信小程序的开发,这个微信小程序作为一个工具型的应用,供用户输入姓名或其他字段,生成一个带有炫耀成分的照片。比如,移民申请表照片:...

weixin_37988176的博客 4780

Trae安装微信小程序开发工具

Trae安装微信小程序开发工具

SuiLiao_Xiong的博客 4907

微信小程序开发总结

以上是对小程序开发的一个简单的总结,小程序对于一个掌握编程框架,尤其是Vue的编程师来说其实是相对简单的,很多的开发习惯我们都可以按照平时开发Vue的时候继续保持,就像写一个移动端浏览器应用即可。重点是要熟悉小程序的配置文件和一些Api,这样就能很快掌握小程序的开发。

huangzhixin1996的博客 511
上一篇: 网页加载进度条
下一篇: js开发插件之tab选项卡
snow_small
博客等级 码龄10年 66粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值