
微信小程序
亮子AI
全干程序员
展开
-
node.js 微信公众号验证URL实例
微信公众号验证URL地址及签名,官方有实例代码,写得啰嗦:const crypto = require('crypto');const url = require('url');exports.wechat = (req,res) => { var query = url.parse(req.url, true).query; var signature = query.signature; var timestamp = query.timestamp; var nonce原创 2021-01-19 07:26:19 · 435 阅读 · 2 评论 -
小程序登录态控制探索全过程
https://www.jianshu.com/p/0b03cbb73e6f转载 2018-12-06 13:39:02 · 404 阅读 · 0 评论 -
微信小程序中,数字等宽字体
用下面的设置:font-family: TrebuchetMS,Rotobo,"Microsoft YaHei",sans-serif;原创 2018-12-04 16:11:21 · 6262 阅读 · 0 评论 -
公众平台身份证、手机、企业信息登记次数说明
微信应用,一个应用要一个邮箱地址,然后再用公众账号绑定多个应用,谁特么设计的这么蠢的方法。没法,我们得自己管理多个账号,麻烦事情推给用户,实在无语。下面贴一个它们的规定,备查。https://kf.qq.com/faq/120911VrYVrA140428naUJVv.html公众平台身份证、手机、企业信息登记次数说明在互联网信息内容主管部门的指导下,为加强帐号管理,自2018年11月16...原创 2018-11-25 12:42:31 · 989 阅读 · 0 评论 -
微信小程序----模板(template)
贴一个链接https://blog.youkuaiyun.com/m0_38082783/article/details/78909416原创 2018-11-26 07:36:43 · 310 阅读 · 0 评论 -
介绍两个微信小程序的 UI 库
一个是腾讯官方发布的:weui另一个是有赞发布的 vant-weapp原创 2018-11-24 07:55:05 · 619 阅读 · 0 评论 -
微信登陆的几种方式
目前总共就四种登录方式:扫码登录(一般用于 PC 网页,在开放账户注册网站应用,通过网站应用来实现扫码登陆)跳转 APP 授权登录(第三方 APP 使用)微信内置浏览器内登录(一般用于移动端网站,需要有企业服务号,通过服务号来授权登陆)微信小程序内微信登录(小程序内部)如果在手机端用普通浏览器打开网页,通常是没法使用微信登陆功能。名义上来说,这四种都是属于微信开放平台的能力见文档...原创 2018-11-22 09:10:32 · 8163 阅读 · 0 评论 -
小程序如何自动滚动到页面底部?
代码:// 获取容器高度,使页面滚动到容器底部 pageScrollToBottom: function() { wx.createSelectorQuery().select('#j_page').boundingClientRect(function(rect){ // 使页面滚动到底部 wx.pageScrollTo({ scrollTo...原创 2018-10-30 21:54:05 · 11852 阅读 · 1 评论 -
小程序开发中,如何在微信开发者工具中查看 app.js 定义的变量?
有时我们会在 app.js 中定义全局变量,这样其他页面可以共享信息。那在调试的时候,如何在微信开发者工具中查看这些信息?答案是在 console 面板中使用 getApp():...原创 2018-10-16 17:59:34 · 4623 阅读 · 0 评论 -
微信小程序中,如何构造一个全局消息/刷新机制?
设想一个场景:开启小程序时,要拉取某些全局数据,其他页面显示依赖这些数据。考虑到网络延迟和失败,如果请求失败需要重复三次,如果终不成功,要给用户提示。如何才能给正在访问某个页面的用户以通知?把信息存在全局变量中,让页面逻辑代码去查看全局变量是否改变,这种方法不可靠而且耗费资源,因为全局变量改变的时间不定。因此,最好的解决办法是全局逻辑代码去通知页面,即 app.js 发消息给具体页面。app....原创 2018-10-16 04:39:34 · 4856 阅读 · 1 评论 -
小程序中 radio 的一个坑,到底 checked 该赋什么值?
首先看官方给出的代码,wxml:<radio-group class="radio-group" bindchange="radioChange"> <label class="radio" wx:for="{{items}}"> <radio原创 2018-10-15 15:19:11 · 9592 阅读 · 15 评论 -
微信小程序搜索排名算法
小程序搜索排名影响因素一:小程序名称小程序不像app那样有众多的app分发市场(如“豌豆荚”、“华为应用市场”等)有各种排名和推荐。小程序与用户最重要的接触点在于“搜索”,而微信给小程序名称搜索的权重是最高的。名称搜索排名权重如下:全匹配>连续部分匹配>割裂部分匹配>不匹配。所以,要像让你的小程序获得微信更多的排名推荐,最重要的一点就是为你的小程序取一个好的名字。小程序搜...转载 2018-12-15 21:11:55 · 7047 阅读 · 0 评论 -
微信小程序生命周期研究
本文主要研究 App() 中的几个函数在生命周期中的表现,以准确把我小程序的行为与状态。onLaunch()小程序初始化完成时调用(全局只触发一次)研究发现,这个函数只有在冷启动的时候会调用,符合预期。下面具体看看扫码打开小程序:如果是第一次扫码,是冷启动。如果小程序已经打开,只是进入了后台,此时用扫码(同一张二维码)打开,是热启动。在开发中,每做一次保存,系统将生成新的二维码,...原创 2018-12-26 23:18:02 · 847 阅读 · 0 评论 -
微信小程序 wx:if 多条件判断及逻辑运算
多个条件:<view wx:if="{{ !a }}">逻辑非</view><view wx:if="{{ a || b }}">逻辑或</view><view wx:if="{{ a && b }}">逻辑与</view>wx:if else 的判断<view wx:if="{{ a >...原创 2019-08-28 13:37:41 · 61409 阅读 · 5 评论 -
微信小程序音频,在播放时获取时长及当前时间
audioPlayed: function () { myAudio.play() setTimeout(() => { myAudio.currentTime myAudio.onTimeUpdate(() => { console.log(myAudio.duration) //总时长 ...原创 2019-06-13 14:50:57 · 7774 阅读 · 1 评论 -
微信小程序固定顶部的两个问题
使用下面的方法,固定顶部区域(通常是导航菜单):position: fixed;带来两个问题:下拉更新时,固定区域不动,会遮挡住三个点。用户只有尽力下拉,才能看到三个点。滚动条刺穿固定区域。...原创 2019-04-28 21:58:08 · 3288 阅读 · 1 评论 -
微信小程序 scroll-view 组件的几个要点
微信小程序 scroll-view 组件横向滚动需要设置 scroll-x 属性为true。 还需要设置 white-space: nowrap 强制不换行,以及设置内部的 view 为 display: inline-block。例如:&amp;lt;scroll-view scroll-x style=&quot;white-space: nowrap;&quot;&amp;gt; &amp;lt;view sty原创 2019-03-02 09:22:27 · 1986 阅读 · 0 评论 -
微信小程序如何才能拉伸背景图,以适合页面大小?
直接上代码:WXML:&lt;view class="container"&gt; ...&lt;/view&gt;WXSS:.container::after { content: ""; background: url(https://example.com/bg.jpg) no-原创 2019-02-24 05:07:43 · 6513 阅读 · 0 评论 -
css 如何设置 margin-top 最小值?
代码:#div1 { min-height:50px; background-color: #fee; margin-bottom:-50px;}#div2 { margin-top:50px; background-color: #efe}解释:When div1 is hidden, div2 has a top property of ...原创 2019-02-28 12:19:50 · 4566 阅读 · 0 评论 -
flex 布局时,如何固定一栏宽度?
简单使用 width,可以。下面介绍一个更好的方法:flex: 0 0 200px;上面的样式就是固定宽度 200px。具体每个参数的意思是:0 - 不拉长(flex-grow)0 - 不缩短(flex-shrink)200px - 开始于 200px (flex-basis)来源:https://stackoverflow.com/a/23794791/3054511...原创 2019-02-21 19:51:46 · 31963 阅读 · 2 评论 -
微信小程序:动画(Animation)
简单总结一下微信动画的实现及执行步骤。官方文档是这样说的:①创建一个动画实例 animation。②调用实例的方法来描述动画。③最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性图解实现的三步骤:前两步是定义一个动画并设置都要干什么,然后把这个设置好的“规则”扔给界面上的某个元素,让它按照这个规则执行。当然如果有多个元素的animation="{{...原创 2019-02-15 12:31:27 · 4257 阅读 · 1 评论 -
微信小程序 Websocket 的两个问题
请求官方给出的示例代码:wx.connectSocket({ url: 'wss://example.qq.com', data: { x: '', y: '' }, header: { 'content-type': 'application/json' }, protocols: ['protocol1'], method: 'GET'...原创 2018-12-22 10:41:50 · 2480 阅读 · 0 评论 -
微信小程序使用 Websocket
基本思路是:全局维护一个SocketTask对象,用来表示websocket连接,判断是否断线,作为重连的依据。同时定义一个全局callback回调函数,每个页面初始化的时候更新这个回调函数,那么在每个页面中收到返回消息就会执行当前页面逻辑。维护一个消息队列,所有消息请求会首先判断连接是否可用,如果可用直接发消息,否则将消息push到这个队列中。在app.js的onShow()函数中判断...转载 2018-12-22 09:46:01 · 9135 阅读 · 2 评论 -
小程序的页面栈及跳转方式总结
一、页面栈的处理总结:二、跳转方式总结:利用API跳转// 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。// 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,但是 redirectTo wx.navigateTo({ url: 'page/home/home?user_id=1'})// 关闭当前页面...原创 2018-10-14 11:26:35 · 5323 阅读 · 0 评论 -
小程序文本输入,中英文输入的一个不起眼小坑
在中文输入法下,输入英文,要点击“确定”才真正输入:输入框绑定事件 bindinput, bindconfirm 都可以获取输入内容(event.detail),但是这里有个区别:bindinput 能够获取没有点击“确定”,未真正输入的内容,这里例子就是“abcd”bindconfirm 不能获取到这个内容“abcd”...原创 2018-10-07 16:38:23 · 3554 阅读 · 3 评论 -
如何管理小程序用户信息?登陆、获取用户名和头像、维护session等等
按照微信官方解释: 通过 wx.login() 获取到用户登录态之后,需要维护登录态。开发者要注意不应该直接把 session_key、openid 等字段作为用户的标识或者 session 的标识,而应该自己派发一个 session 登录态(请参考登录时序图)。因此如果只需要识别微信用户,就可以静默获取openid,无需弹出授权框。如果要获取用户昵称、头像等,或其他信息,需要弹...原创 2018-06-14 14:00:26 · 7106 阅读 · 0 评论 -
微信小程序的提示框 showToast 和 showLoading
用户操作得到即时反馈,这是很好的用户体验,所以我们经常会使用提示框来反馈一些简短信息。提示框显示后,通常自己关闭,对用户的打扰降到最低。下面简单对比一下常用两个显示对话框方式:showToast 和 showLoading wx.showToast() wx.showLoading() 参数 title icon...原创 2018-05-16 13:10:26 · 107386 阅读 · 3 评论 -
微信小程序中 <view> 标签与 <block> 标签的区别
两者的区别是,<view> 是一个组件,会在页面上做渲染;<block>不是一个组件,它仅仅是一个包装元素,只接受控制属性,不会在页面中做任何渲染。下面是两个<block>使用的例子:wx:if<block wx:if="{{true}}"> <view> text </view> <view原创 2018-05-26 20:35:15 · 47446 阅读 · 2 评论 -
微信小程序上实现 <table> 表格
微信小程序不支持 table 标签,在网上找到一个使用 flex 来实现表格的简明例子,记录一下。table.wxml<view class="table"> <view class="tr bg-w"> <view class="th">head1</view> <view class="th转载 2018-05-26 11:36:58 · 50676 阅读 · 9 评论 -
微信小程序中placeholder的样式
通常,现代浏览器大多支持::placeholder选择器,用于设置placeholder的样式,但是在微信小程序中并不支持这种方式,而是提供了一个专门的属性(placeholder-class)来处理其样式。例如,在模版文件中这样写: <input placeholder-class="place-holder" class="input-text" name="username" plac...原创 2018-04-28 15:49:18 · 27705 阅读 · 0 评论 -
怎样清除手机上的微信小程序的缓存?
最佳方法:打开微信 “我”-“通用”-“存储空间”-“清除”缓存!!!方法一:在开发版或体验版中清缓存打开开发版或体验版,如下图清缓存(点击vConsole中的 WeChat -> wx.clearStorage()):方法二:删除小程序(对近期使用的小程序无效)小程序会在本地存储数据,当服务器数据更新后,通常在小程序上显示的还是旧的数据,点击右上角的关...原创 2018-04-25 15:44:47 · 109507 阅读 · 9 评论 -
在微信Web开发者工具中,怎样删除小程序项目、或修改AppID?
一、删除小程序项目通常我们会进入到项目配置中寻找删除按钮,不幸的是那里并没有删除按钮。删除的设置在启动页面的底部“管理项目”中,如下图:进入管理项目后,就能够看到每个项目的最左边是删除icon:二、修改小程序项目的AppID当要迁移小程序,也就是把小程序从一个已有的小程序账户迁移到新的账户下,目前是没有地方可以直接修改项目对应的小程序AppID,喜欢研究的同学可以试试直接改 project.con...原创 2018-04-19 14:41:08 · 41301 阅读 · 0 评论 -
微信小程序正式版本出现vConsole调试控制台,怎么才可以关闭?
正式版本不应该出现调试功能的vConsole,也没有配置可以控制其是否显示。出现的原因是,你在本机上打开过开发版或体验版,并打开了vConsole。所以这个影响只存在你本机,是一个bug,相信微信Web开发工具后续版本会修补这个问题。目前的解决办法就清楚了:打开小程序开发版或体验版,关闭调试。如下图:...原创 2018-04-23 07:17:02 · 68166 阅读 · 0 评论 -
如何取消对微信小程序的授权
多数小程序都要求获取用户的昵称、头像信息,还有一些小程序要求地理位置等更多信息。如果用户打算取消授权,在哪里可以修改呢?这个修改配置比较深,具体来看:1. 打开小程序,点击右上角的三个点2. 点击“关于常用手册”3. 点击右上角的三个点,弹出底部菜单,点击菜单中的“设置”4. OK,就看到可以修改的设置了...原创 2018-04-18 01:41:06 · 24661 阅读 · 0 评论 -
详解微信小程序与HTML5的差异
先从总体上比较开发工具不同区别于H5的开发工具+浏览器Device Mode预览的模式,小程序的开发基于自己的开发者工具,可以实现同步本地文件+开发调试+编译+预览+上传+发布等一整套流程。开发语言不同。小程序自己开发了一套WXML标签语言和WXSS样式语言,并非直接使用标准的HTML5+CSS3。组件封装不同小程序独立出来了很多原生APP的组件,在HTML5需要模拟才...原创 2018-06-08 07:15:34 · 16106 阅读 · 1 评论 -
怎样改变小程序的首页?
通常小程序的首页是 pages/index/index,如果我们需要使用另外一个页面作为首页,怎么改?方法一:在app.json文件中,pages数组,设置在第一个的页面就是默认启动页面,所以你只需要调整你当前开发的页面顺序就好了。下面的例子就是设置 pages/article/article 为首页: 方法二:配置编译参数: ...原创 2018-06-19 07:00:45 · 28532 阅读 · 3 评论 -
Javascript 中哪些变量逻辑运算结果为 false,以及空数组、空对象、以及属性是否存在的判断
在逻辑判断中,下列值将判断为 false:false0 (零值)“” (空字符串)nullundefinedNaN (一个特殊数值,意思是 Not-a-Number)除了上述六种值,所有其他的值都会决议为 true,包括:“0”“false”[] (空数组){} (空对象)function () {} (空函数)那么问题来了,如何判断空数组、空对象呢?用...原创 2018-09-16 17:54:11 · 1230 阅读 · 0 评论 -
小程序固定底部、居中的悬浮按钮
.wxml:<view class="add-wrap"hover-class="plus-hover"> <image src="/assets/plus_new.png"></image></view>.wxss:add-wrap { position:fixed; bottom:0; display:fle原创 2018-10-04 06:44:36 · 16971 阅读 · 0 评论 -
小程序文本内容无法长按复制?
微信小程序的文本,要具有长按复制功能,必须满足两个条件:文本在 <text> 标签内;<text> 标签要有 selectable 属性。例如:<text selectable='true'>文本</text> 下面一个例子是,解决 WxParse 不能长按选择的问题。在 wxParse.wxml 中修改:diff -...原创 2018-09-04 17:52:05 · 14438 阅读 · 0 评论 -
微信小程序 onLoad() 什么时候会调用?
按官方文档解释,onLoad() 应该在第一次显示页面的时候调用,以后再次切换到该页面时,不会再调用这个函数。如下图:实际调试中,进入一个页面时,我发现页面的 onLoad() 函数有时有调用,有时没有。原因在下面的解释中: onLoad: 页面加载。 一个页面只会调用一次。 参数可以获取wx.navigateTo和wx.redirectTo及中的 query。 ...原创 2018-09-04 11:49:24 · 56871 阅读 · 6 评论