微信小程序中经常遇到的需求就是我提交了一个表单或者进行了一个操作,需要在我的个人中心页面中实时显示出来,但是小程序中的tabbar切换类似于tab切换 并不会进行页面刷新请求 所以总是会造成一些数据更新不及时问题 而阅读小程序文档发现了小程序是给提供了解决办法的 onShow /** * 生命周期函数--监听页面显示 */ onShow: function () { }, 这个方法在页面进行显示的时候就会重新执行一次,所以我想到的解决方案就是将需要进行实时更新的数据进行封装方法 getreloa…
微信小程序自定义tabbar的实现 目的:当采用微信的自定义tabbar组件的时候,切换的时候会出现闪屏的效果:当使用微信默认的tabbar的时候,限制了tabbar的数量以及灵活配置. 方案:自己动手写一个和微信小程序提供的tabbar相同的效果,而且还可以满足灵活配置的功能.有参照有赞小程序 效果: 效果A: 2.效果B: 实现:              项目结构如下:                     II 效果A实现: 1>wxml的代码: Page({ data: { bloc…
图解微信小程序---添加tabBar底部菜单,添加已做好轮播图操作 什么是tabBar? 顶部或者底部tab栏如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面. tabBar的基本属性 tabBar的list属性 tabBar的list属性介绍 参考代码 注意事项 list :接受一个数组,只能配置最少 2 个.最多 5 个 tab.tab 按数组的顺序排序,每个项都是一…
一定的需求情况下,无法使用小程序原生的 tabbar 的时候,需要自行实现一个和 tabbar 功能一模一样的自制组件. 查阅了海量的博客和文档之后,亲自踩坑.总结了三种在不使用微信小程序原生 tabbar的情况下自制 tabbar 的方法.并说说这几种方法各自的特色. 类 navigator 跳转方式 类 navigator 跳转方式是我自己起的名称,因为它的实现思路就是这个样子的.期初参考 微信小程序自定义tabBar组件开发 这篇博文的思路.进行了这种方式的尝试,并为后续提供了解决思路.在…
微信小程序给我们提供了一个很好的开发平台,可以用于展现各种数据和实现丰富的功能,本篇随笔介绍微信小程序结合后台数据管理实现商品数据的动态展示.维护,介绍如何实现商品数据在后台管理系统中的维护管理,并通过小程序的请求Web API 平台获取JSON数据在小程序界面上进行动态展示. 1.整体性的架构设计 我们整体性的架构设计,包含一个Web管理后台.一个Web API统一接口层.当然还有数据库什么,另外还有一个小程序客户端.整个架构体系还是以我之前随笔介绍的<整合微信小程序的Web API接口层的架…
这篇文章主要介绍了微信小程序通过api接口将json数据展现到小程序示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧实现知乎客户端的一个重要知识前提就是,要知道怎么通过知乎新闻的接口,来把数据展示到微信小程序端上. 那么我们这一就先学习一下,如何将接口获取到的数据展示到微信小程序上. 1.用到的知识点 <1> wx.request 请求接口资源(微信小程序api中的发起请求部分) <2>swiper 实现轮播图的组件 <3>wx:for…
[原文出自]: https://blog.csdn.net/weixin_39927850/article/details/79766259 微信小程序的数据总不能写死吧,肯定是要结合数据库来做数据更新,而小程序数据主要是json数据格式,所以我们可以利用php操作数据库,把数据以json格式数据输出即可.现在给大家讲一下,微信小程序的wx.request进行服务器数据请求的用法: 官方文档给出了示例代码,但是我这边自己进行了简单的处理: index.js Page({  data: {  },…
由于微信小程序只支持BLE每次发送数据不大于20个字节,ESP32则有经典蓝牙.低功耗蓝牙两种模式. 要解决发送数据大于20个字节的问题,最简单实用的方式就是分包发送.如下图所示: 1.什么起始字符和结束字符 起始字符用来通知接收端,当接收端接收到起始字符之后开始通过循环拼接字符,当接收端接收到结束字符之后得就能得到本次接收的所有字符. 2.如何选择起始字符和结束字符 参考ASCII码选择要发送的字符中没有的字符. 2.为什么小于18字符 由于每次最多发送20个字符,那么为了保证安全和效率不要打…
最近在研究小程序的时候,遇到了一个问题,就是tabbar切卡,在android上有fragment,在RN上也有提供一个第三方的组件来用,微信小程序,好像没有专门的一个组件来实现这个功能,度娘了大半天,虽然也有好多人实现过这样的功能,但是我发现要么是不符合我的需求,那么就是实现起来过于繁琐.于是我参考多个高手写的博客,实现出了一个符合自己需求的.先上代码. 先看js文件: const util = require('../../utils/util.js'); Page({ data: { na…
解决Echarts在微信小程序tab切换时的显示会出现位置移动问题 tab切换时,图表显示错乱 <canvas class="kcanvas" canvas-id="ringCanvas" hidden="{{currentTab == 1}}"></canvas> <view hidden="{{currentTab !== 1}}" id="one" class="…
今天根据网上的教程搭建了微信小程序的环境,然后看文档做了一个简单的小应用. 项目的目录是这个样子的: app.js.app.json.app.wxss是全局文件,必不可少的文件.定义在app.wxss中的样式为全局样式,作用于每一个页面.在page的wxss文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖app.wxss中相同的选择器. app.js文件代码: App({ onLaunch: function () { console.log('小程序已启动') }, onShow: f…
微信小程序视图层提供了 模板(template),可以在模板中定义代码片段,然后在不同的地方调用.结果在数据渲染那懵逼了.按照官网上对模板的说明和对数据的加载. 1.定义模板 使用name属性,作为模板的名字.然后在<template/>内定义代码片段,如: <!-- index: int msg: string time: string --> <template name="msgItem"> //此处的name 有ID的意味,便于其他页面加载该…
介绍template是微信小程序提供的模板,可以在模板中定义代码片段,然后在不同的地方调用. 简单使用定义template因为项目中可能会需要到不止一个template,所以最好新建一个文件夹来存放template相关的文件.注意这里只是单独的创建各个文件,并不是创建Page或者Component. 创建好之后的文件目录如图: 这里演示一个用template当列表的item,然后可以点击并获取到值. 然后开始写templates.wxml文件,这里面可以有多个template代码块,如代码所示:…
首先,咱们看一下微信小程序动画怎么实现,我首先想到的是anime.js,但是引入之后用不了,微信小程序内的css也无法做到循环的动态,我就去找官方文档看看有没有相应的方法,哎,还真有 点击这里查看 微信官方文档 简化一下哈:就是这样的 先在js的data里面定义一个动画的值 data: {     animationData: {},   }, 我这边做的是一个箭头图片的旋转 所以wxml里面得元素是这样的 <image animation="{{animationData}}"…
最终效果图: 样式丑哭了,我毕竟不是前端,宗旨就是练练手,体验微信小程序的开发,以最直接的方式获取12306数据查询火车票. 目录结构: search1是出发站列表,search2是目的站列表,命名没有太好好想. 车站信息 12306查询页面,打开浏览器开发者工具分析请求,发现各个车站的信息都在这个JS文件中: 当然车站的信息会发生变动,所以最好的方式就是抓取数据,我现在为了方便,直接把数据拷贝过来,就是一大堆字符串: 通过正则截取出目前项目需要的两个东西,如:北京北 VAP 在search1.…
在从后台获取数据之前,需要先搭建好本地服务器的环境. 确保Apache,MySql处于开启状态.下图为Apache,MySql处于开启时状态 然后进入后台管理平台进行字段和列表的定义 然后在后台添加数据 数据添加好后,就开始写接口文件的代码.然后在微信小程序里调用写好的接口就可以获取到刚刚添加的数据了. 接口文件源码如下 class SchoolController extends AddonsController{ function getList(){ $list = M('school')…
Vue 提供了一种通用的方式来观察和响应 Vue 实例上的数据变动:监听属性 watch. 虽然watch的滥用会导致性能不佳,但在一些情况下我们还是需要watch,使得代码更加简洁.逻辑更加清晰(其实就是嫌麻烦...). 接下来我将逐步讲解微信小程序中如何实现一个监听器 watch,若想直接看最终代码,可直接滑动至底部. 监听器的原理,将data中需监听的属性写在watch对象中,并给其提供一个方法,当被监听属性的值改变时,调用该方法.​​ 所以很显然,我们需要用到Javascript中的Ob…
实现知乎客户端的一个重要知识前提就是,要知道怎么通过知乎新闻的接口,来把数据展示到微信小程序端上. 那么我们这一就先学习一下,如何将接口获取到的数据展示到微信小程序上. 1.用到的知识点 <1> wx.request 请求接口资源(微信小程序api中的发起请求部分) <2>swiper 实现轮播图的组件 <3>wx:for 循环语句 <4>微信小程序的基础知识 2.实现原理 首先,先看一下这个请求函数 var wx.request({ url: '*****…
大家好 波哥小猿又来啦[斜眼笑],昨天咱们讲了微信小程序简单数据请求,有没有照着教程实现请求的同学们啦 实现的同学举个爪[笑脸].哈哈,好了不扯犊子啦,我相信有的同学已经实现了简单的数据请求,没有实现小程序数据请求的也没关系,大家在我文章里评论我会耐心给大家答复得,争取让看我文章的小伙伴都能学会小程序开发,突然觉得好有成就感[偷笑]. 昨天咱们讲了小程序的简单数据请求,我相信大家心里会想,不就简单的数据请求吗,有能耐讲点难得...[捂脸].正所谓千呼万唤使出来,本着为用户考虑的角度,我决定讲点复…
现实需求 在项目中需求,有时候现场设备发生故障,需要远程的人员知道.除了邮件方式,以微信小程序的方式也很好.今天进行尝试,并制作了一个demo版本. 1.微信小程序申请制作前端 1.1lists文件(利用模板和数据绑定循环显示数据) lists.wxml <!--lists.wxml--> <view class="warp"> <!--列表模板--> <template name="lists"> <navig…
最近遇到一个需求.公司有一个业务,制作的小程序需要跳出微信打开一个指定的我们自己的页面,拿到这个需求后我们团队分开去找资料研究方案,通过微信的开发文档.腾讯的第三方开发文档我们都查阅过资料但是最终只找到一些历史性的资料也就是以前可以现在已经全部封闭了,在网络上找到 很早之前一些前辈分享的遮挡.我们加以改进. 现在可以实现安卓手机的话是通过点击链接,直接跳转出微信.自动打开手机默认的浏览器 案例地址:http://demo.liuy88.cn/wxjum_xf0108013.html…
项目中需要根据用户角色控制TabBar中各Item的显示和隐藏,然而小程序自带TabBar没有提供隐藏某个item的功能,只好自己动手写了一个. 1.wxml文件 <view class="weui-flex tab-bar" style="color: {{color}}; background: {{backgroundColor}}; {{position=='top'? 'top: 0' : 'bottom: 0'}}; {{borderStyle? (posi…
个人感觉小程序的tab样式自定义的能力有所欠缺,不够美观,于是今天自己diy了一个tab 测试的时候发现,无论是使用navigator跳转(会出现点击的效果)还是用bindtap(触摸),因为没有定义tabbar, 跳转的方式都只能是页面重定向的,导致tab页上的ABCD互相跳转的时候,每次都会重新渲染视图,由此带来的 视觉效果很不好,没有系统tabbar跳转地自然,万般无奈之下,只好用回系统自带的tabbar. 如果你有好的方法能够解决自定义tabbar跳转重新渲染的问题,烦请告知,在此谢过!…
在小程序的开发文档中,对tabbar是这样说明的: 如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面. Tip: 当设置 position 为 top 时,将不会显示 icon tabBar 中的 list 是一个数组,只能配置最少2个.最多5个 tab,tab 按数组的顺序排序. 在实际开发过程中,小程序自带的tabbar样式并不能满足设计提供的开发需求,所以需要我们自…
tabBar不显示 在app.json中配置了4个页面,在tabBar的list中随意写了两个页面,编译后发现不能显示tabBar. { "pages": [ "pages/musicList/musicList", "pages/test/test", "pages/index/index", "pages/logs/logs" ], "window": { "backgro…
小程序开发过程中经常有这种需求,需要把当前页面数据传递给上一个页面,但是wx.navigateBack()无法传递数据. 一般的办法是把当前页面数据放入本地缓存,上一个页面再从缓存中取出. 除此之外还有一种办法,巧妙利用页面栈. getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面. 重点就在这里,在当前页面拿到上一个页面的实例对象,然后调用该对象的方法完成数据传递. 页面A Page({ data: { name:…
wx.request 相当于发送ajax请求 官方文档示例代码 wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '', y: '' }, header: { 'content-type': 'application/json' // 默认值 }, success (res) { console.log(res.data) } }) 前台连接后台的实现 重要的参数:wx.request.object.success回调函数.url…
小程序官方文档手册 https://mp.weixin.qq.com/debug/wxadoc/dev/ 小程序开发问答社区 http://www.henkuai.com/forum.php wx.request请求豆瓣正在热映电影的接口出现 400 错误,查看豆瓣接口错误码,999显示为未知错误 请求豆瓣正在热映电影接口,999错误 l  解决方法: 因为开发工具升级content-type的写法变了, 将header参数换为 header:{   "Content-Type":&q…
每个小程序都可以有自己的本地缓存,可以通过 数据缓存的API 实现对本地缓存进行 设置.获取和清理.本地缓存最大为10M.localStorage是永久存储的,但我们不建议将关键信息都放在localStorage,以防用户更换设备. 设置本地缓存 1、wx.setStorage(OBJECT) 该接口是异步接口,用于将数据存储在本地缓存中指定的key中.会覆盖掉该key对应的原来的内容. 该接口参数: 参数key,     string类型,         必填项,本地缓存中指定的key. 参…
<- wxml -> <view class="youhui"> <view ' bindtap='toggle'> 未使用 </view> <view ' bindtap='toggle'> 已使用 </view> <view ' bindtap='toggle'> 已过期 </view> </view> <swiper current=" bindchange…