想在微信小程序的wxml文件里自如的像vue那样调用自定义的方法,发现并不成功,得利用WXS脚本语言. WXS脚本语言是 WeiXin Script 脚本语言的简称,是JavaScript.JSON.WXML.WXSS之后又一大小程序内部文件类型.截至到目前小程序已经提供了5种文件类型. WXS的使用,有两种方式. 一种是直接在WXML中编写. <!--wxml--> <wxs module="foo"> var some_msg = "hello w…
废话不多说,之前写小程序碰到了一个问题,如何在 wxml 页面中截取数据? 1.wxs   取数据想必大家都会,不就是 substring 吗?但是这种方法在 wxml 页面中是无效的. 那还有 css 啊,不一样可以做到吗?但是个人觉得 css 复用性太差,暂不考虑. 实在不行就用 js 呗,在获取到数据后就对数据进行截取. 这样好像可以,但数据一多稍微有点复杂,而且一般获取的数据可能会在多个页面进行展示,而如果想在不同的页面中显示不同长度的数据,这似乎又是个新问题. 这时你就需要用到 wxs…
早上过来遇到一个这样的bug: 在计算百分比的时候没有保留小数点后2位,从而导致一些无法整除的结果显示太长 一开始,我以为这是一个很普通的bug,既然wxml在页面{{}}内支持简单的运算,我想也应该会支持toFixed()方法 于是动手改代码,试试看 <text class="vote-item-data-percent">{{(item.vote_count/vote.data.voters_count).toFixed(2)*100}}%</text> 运…
初始化GlobalData 在App.js的最上方可以设置GlobalData的初始值. App({ globalData:{ appid: '1wqas2342dasaqwe232342xxxxxxxxxx',//appid需自己提供,此处的appid我随机编写 secret: 'e0dassdadef2424234209bwXXXXXXXXXXXXXX',//secret需自己提供,此处的secret我随机编写 openid:'你好', //自定义 },在App.js中修改GlobalDat…
官方提供的自定义分享 使用隐式页面配置函数实现的全局分享-推荐 使用隐式路由实现的全局分享-不推荐,仅供了解隐式路由 前言: 目前微信小程序只开放了页面自定义分享的API,为了能够更灵活的进行分享配置.满足运营的需求,本文总结了微信小程序分享转发的多种用法,其中包括官方提供的页面自定义分享,使用隐式路由和页面配置实现的全局分享和全局+自定义的分享组合方式,希望能对需要实现分享多样化的同学有所帮助. 官方提供的自定义分享: 先看下官网介绍: 如上,只有定义了转发函数,才能分享页面,如此如果只需分享…
1.  √ 这种错误多半是该js文件中没有Page这个方法,就算是空的js也必须要把Page({ })写上去 2.  √ 这种错误多半是该json文件没有内容,所以必须要加上{ },就算是空内容也要加上{ }. 补一句:小程序里json文件中不允许有注释不然会报错. 3.  未解决 这个问题我不知道怎么解决了.我使用了一个模板,iconClass在当前页面的js中的data里是一个数组,我只想让它使用第一个属性,但是使用数组的下标 iconClass[ 0 ]这样就出现错误了,如果不要下标就是数…
封装一个弹窗组件 1.新建component文件夹存放我们的组件,里边存放的就是我们所用的组件,我们今天要做的事弹出框,新建文件夹popup存放我们的组件模板,点击右键选择新建component,就会自动生成组件的模板wxss.wxml.json.js,如图: 2.我们可以写一些组件样式和布局,跟页面写法类似,我就不多说了,直接把代码贴出 : popup.wxml <view class="wx-popup" hidden="{{flag}}"> <…
在开发过程中,会遇到很多微信返回的状态码,鬼知道代表什么意思,现在好了,整理总结了一份状态码,方便大家. 微信小程序错误码参考 状态码(场景值) 说明  -1 系统繁忙  0 请求成功  40001 验证失败  40002 不合法的凭证类型  40003 不合法的OpenID  40004 不合法的媒体文件类型  40005 不合法的文件类型  40006 不合法的文件大小  40007 不合法的媒体文件id  40008 不合法的消息类型  40009 不合法的图片文件大小  40010 不合…
还在为看不懂小程序错误状态码纠结吗?这里推荐一篇文章 重要的事情说三遍:原文链接  https://www.cnblogs.com/webonline/p/7528778.html 作者:玩世不恭. 重要的事情说三遍:原文链接  https://www.cnblogs.com/webonline/p/7528778.html 作者:玩世不恭. 重要的事情说三遍:原文链接  https://www.cnblogs.com/webonline/p/7528778.html 作者:玩世不恭. 在开发过…
(一) WXML 是什么 官方说明:WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构 在前面我们就已经提过,WXML,就可以理解为我们传统页面中的HTML,它是微信为我们提供的一套标签语言,可以说它就是我们小程序的脸面(虽然没经过CSS装饰前不一定光鲜亮丽),开发中 WXML 页面就作为我们一些逻辑行为的入口,以及效果展示的承载者. 再大白话一点:你所看到的小程序页面长什么样(不涉及背后做了什么行为,只说表面),就是…
三个概念 微信:就是一个聊天工具 微信公众号:企业或个人用于管理其粉丝/用户的应用(类似于APP) 微信小程序:不需要下载安装直接可以使用的软件/应用/APP 小程序与公众号的区别: 定位不同(小程序:产品与服务,公众号:营销与信息传递) 体验差异(小程序:体验接近原生APP,公众号:操作延时较大) 技术区别(小程序:微信自身开发环境与开发语言,公众号:基于H5开发) 1.之前通过申请获得了小程序的AppId通过QuickStart快速生成了一个小程序 这个时候可以使用预览然后用手机扫描二维码预…
最新方法可以使用微信小程序提供的 rich-text (富文本)组件直接写解析html,详见 rich-text: <rich-text class='f13 c_9' nodes="{{html}}"></rich-text> 其中 html 为后端返回的html代码格式数据,这里直接就可以解析,再也不需要像wxParse那样还需要引入插件. 虽然官方文档说nodes不推荐使用String类型,性能会有所下降(当然了,肯定要解析代码呀),建议使用nodes类型…
view标签下hover必须为true时,设置hover-class才有效,hover-start-time和hover-stay-time的形式如下:   < view class="v1" hover="true" hover-class="v1_changed" hover-start-time="1000" hover-stay-time="500">1< /view> 关于…
对于css不熟悉的android程序员来说,开发微信小程序面临的一个比较困难的问题就是界面的排版了.微信小程序的排版就跟wxml和wxss有关了,它们两者相当于android的布局文件,其中wxml指定了界面的框架结构,而wxss指定了界面的框架及元素的显示样式. 一.wxml 界面结构wxmL比较容易理解,主要是由八大类基础组件构成: 一.视图容器(View Container): 二.基础内容(Basic Content) 组件名 说明 组件名 说明 view 视图容器 icon  图标 s…
前几天折腾了下.然后列出一些实验结果,供大家参考. 百牛信息技术bainiu.ltd整理发布于博客园 0. 使用开发工具模拟的和真机差异还是比较大的.也建议大家还是真机调试比较靠谱. 1. WXML(HTML) 1.1 小程序的WXML没有HTML的宽容度​那么高,单标签必需是 /> 结尾的.不然会报错. 1.2 ​官方推荐使用的基础标签<view>是块标签,给了<text>作为文本标签,但是使用其他标签比如div也是可以使用的,并且都是inline标签.并且wxml的par…
(一) 常用标签 组件你可以理解为传统页面开发时候的各种标签,例如 div span 等等,我这里只说一些常用的,这样就能能搭建出一个基本的页面了,但是如果想要更加美观以及拥有更好的体验,就需要 XSS 和 别的一些强大的组件了,如果有额外的需求,可以去官方文档查阅一下 (同时不常用的属性,也就不提了) https://developers.weixin.qq.com/miniprogram/dev/component/ (1) view view 可以理解为传统页面开发中的 div 块级元素,…
2016年9月21日,微信小程序正式开启内测.在微信生态下,触手可及.用完即走的微信小程序引起广泛关注,刷爆朋友圈子.在这样的火爆氛围中,作为一个前端开发者的我,也悄悄地去尝鲜.在做demo小示例的过程中,我发现了一个极为让人为难的事儿:**如何让 less/sass 文件转成小程序的 wxss 文件**.</font>对于基本不使用原生css,而习惯编写less的我,这个事儿让我的样式编写相当的吃力.在尝试配置koala (一个可以编译less/sass的工具)以及搜索各种资料后,终于找到了…
问题现象 这个问题是最近在优化小程序代码时发现的. 在ios环境下,微信小程序的scrollview组件包裹着一个position:fixed的view. 当在scrollview组件上滑动时,这个view会疯狂抖动. 直接上图吧: 下面是简化后的代码: <view class="main"> <scroll-view scroll-y="{{true}}" bindscroll="handleScroll" style=&qu…
在wxml页面执行toFixed函数的时候发现失效,在微信小程序的js页面是生效的,但是我不希望在data中保留这些额外的数据,于是找到了下面这种解决方案wxs脚本语言. <wxs module="m1"> var numberToFix= function (value) { return value.toFixed(2) } module.exports.numberToFix=numberToFix; </wxs> <view>toFixed:…
一.微信小程序文件的构成 微信小程序包括js文件.json文件.wxml文件.wxss文件.wxs文件.js文件是展现界面的,注册这个程序的的页面,一般一个大写的Page({ })嵌入: json文件是做数据存储用的,用以交互等:wxml相当于html构建了基本框架,里边是各种元素.组件:wxss是样式表,wxs同js有类似功能,但它运行 在视图层,访问界面不需要跨线程,一套脚本语言,结合 WXML,可以构建出页面的结构. 二.wxml wxml是通过绑定来实现的,语法结构是mustache风格…
声明 bug:由于此篇博客是在bindcolumnchange事件中做的值的改变处理,因此会出现当你选择时,没有点击确定,直接取消返回后,会发现选择框的值依然改变.造成原因:这一点就是由于在bindcolumnchange事件做的值改变处理造成.处理方法:如果需要确定后再改变值,请将bindcolumnchange事件中的处理操作放到bindchange事件中. 效果图 实现原理 利用微信小程序的picker组件的多列选择器实现! WXML <view class="tui-picker-…
今天在做微信小程序的时候遇到这个这样的问题  需要在地图上加个一个自定义的图标控件 类似这样的 刚开始的时候怎图片一直会被地图组件覆盖  ,要怎么解决这个问题  我去翻了下小程序的文档 有个cover-view以及cover-image组件是可以覆盖在map组件之上  只要把view换成 cover-view就解决啦 希望对各位开发的同学有帮助 参考地址:https://developers.weixin.qq.com/miniprogram/dev/component/cover-view.h…
微信小程序开发工具表面上是没有更多的样式类的工具,例如缩进.隐藏代码什么的. 现在总结一下小程序开发工具常用的一些快捷键: 格式调整 Ctrl+S:保存文件Ctrl+[, Ctrl+]:代码行缩进Ctrl+Shift+[, Ctrl+Shift+]:折叠打开代码块Ctrl+C Ctrl+V:复制粘贴,如果没有选中任何文字则复制粘贴一行Shift+Alt+F:代码格式化Alt+Up,Alt+Down:上下移动一行Shift+Alt+Up,Shift+Alt+Down:向上向下复制一行Ctrl+Sh…
Java服务端微信小程序解密用户信息.手机号需用到session_key也需要decode,以下是官方描述: 加密数据解密算法 接口如果涉及敏感数据(如wx.getUserInfo当中的 openId 和 unionId),接口的明文内容将不包含这些敏感数据.开发者如需要获取敏感数据,需要对接口返回的加密数据(encryptedData) 进行对称解密. 解密算法如下: 对称解密使用的算法为 AES-128-CBC,数据采用PKCS#7填充. 对称解密的目标密文为 Base64_Decode(e…
aspectFill 与 widthfix 都是保持宽高比不变 aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来.也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取. aspectFill同样保持图片的宽高比不会变形.但它让图片完全填满整个容器,类似于scaleToFill这种模式.不同的是,scaleToFill会改变图片的宽高比,而aspectFill不会. 用我们提到的“容器”的观点来理解aspectFill.既然aspectFill一定要填满整个…
这几天关于微信小程序开发关于wx.chooseVideo组件问题,因为自己一直是安卓手机上测试,可以调取摄像头,但是应用在ios上无法打开摄像头,困扰了好多天,经过反复查看官方文档,今天总算修复了这个所谓的bug. wx.chooseVideo(Object object)的maxDuration属性最大值为60,请勿设置超过60的数值,但是在安卓手机上,这个值是无效的. submitVideo : function () { var e = this var that = this wx.ch…
小程序传递URL中含有特殊字符"="时,解决办法:先encodeURIComponent,取到值以后再decodeURIComponent 首先在A页面 var urls = encodeURIComponent(e.currentTarget.dataset.teaexamid); var teacherExamName = e.currentTarget.dataset.workname; console.log('当前点击的ID', teacherExamName); wx.na…
一.准备工作 1.创建数据库表articles,字段分别为: 序号 字段名称 字段类型 字段值 字段描述 备注说明 1 title string "标题1" 文章标题   2 description string "描述1" 文章描述   3 content string "进入迎峰度夏,受华东.华中.华南持续大范围高温天气影响,全国发用电量持续攀升.记者从国家发展改革委了解到,7月14日全国发电量达271.87亿千瓦时,创历史新高... 文章内容   4…
在小程序中有模板跟组件的概念.但模板更多的用于内容的展示,更复杂的交互逻辑就没办法了.所以在小程序中也定义了一些组件来解决一些简单逻辑的功能. 但有时预定义的组件并不能满足我们的需求,这时就需要我们自己定义了. 这里主要讲用Component构造器来自定义组件. 本例为一个评分的小组件. 首先定义组件 创建自定义组件目录(与正常页面结构相同拥有:.js,.json,.wxml,.wxss) 在mycom.json中声明该文件为Component 构造器构造的组件 { "component&quo…
节点信息查询 API 可以用于获取节点属性.样式.在界面上的位置等信息. 最常见的用法是使用这个接口来查询某个节点的当前位置,以及界面的滚动位置. 示例代码: const query = wx.createSelectorQuery() query.select('#the-id').boundingClientRect(function(res){ res.top // #the-id 节点的上边界坐标(相对于显示区域) }) query.selectViewport().scrollOffs…