首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微信,我小鸡忍你很久了…… | 开发

微信,我小鸡忍你很久了…… | 开发

作者头像
知晓君
发布于 2018-07-04 07:31:06
发布于 2018-07-04 07:31:06
1K00
代码可运行
举报
文章被收录于专栏:知晓程序知晓程序
运行总次数:0
代码可运行

知晓程序注:

吐槽、吐槽……身为一个开发者,怎么可能对技术毫无感想。

来吧,让吐槽来的更猛烈些!

吐槽 1:消息提示框的显示很傲娇

在开发时,我们明明设置了基础库最低限制,为什么还会报 wx.showLoading is not a function 错误?

由于不知名的原因(腾讯的锅),在一些较低版本的安卓微信客户端中,即使基础库版本已经满足要求,但还是不能执行 wx.showLoading

「小鸡词典」的解决方案:可以采用 wx.showToast 代替。icon 设置为「loading」,duration 设置成一个相对较大的数,这样就能达到和 loading 一样的效果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wx.showToast({
    title:'正在进入鸡窝',
    icon:'loading',
    mask:true,
    duration:10000})

吐槽 2:无法正常判断功能能否使用

由于 wx.canIUse is not a function 不能使用时,怎么判断要使用的功能是否支持?

「小鸡词典」的解决方案:对于 API 类的功能,可以使用 typeof 进行判断,比如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// wx.showLoading 判断if(typeof wx.showLoading==="undefined"){    //TODO}

如果 typeof 一个 API 是 undefined,那么说明用户当前使用的版本不支持这个 API。

不过这种方法只能验证 API 级别的东西,比如 showLoading 能不能用。至于更深层次的,比如一个 API 新增加的一个参数,则不能像原装的 wx.canIUse 一样去验证。

吐槽 3:突如其来的卡顿让人措手不及

Swiper 组件卡住,怎么破?

这个真的是欲哭无泪,答案是没法破!但是,我们可以想办法让用户自己动手破解。具体来说,就是增加一个「自救按钮」,类似于网游中,用户卡在地图某个位置后,可以通过回城等方式把自己救出来。

「小鸡词典」的解决方案:在「小鸡词典」中,我们在卡片的背后隐藏了一个自救提示。当用户按照提示,点击自救后,程序会重置卡片序列,这样就完成了自救的操作。用户又可以愉快的玩耍了。(方法很笨,但是不至于让用户无计可施后一走了之。)

至于代码,我们实现的方式是,设置一个全局变量 selfRescue

当用户点击自救按钮后,设置 selfRescue 为 true,然后在卡片页面的 onShow 处,判断 selfRescue 的值,如果是 true 则重置卡片序列。(这里说的重置序列,不是简单的重置 swiper 的 current 值,而是清空 swiper,重新载入卡片。)

吐槽 4:疯狂滑动的卡片伤不起

当我们需要用 Swiper 组件动态加载内容时,如何避免卡片疯狂滑动?

官方有在文档中说明,不要在 swiper 组件 bindchange 的时候,改变 current 值。所以,小鸡词典的做法是,在动态加载内容后,把新加载的内容存在一个 buffer 里(即保存在一个页面级的变量当中),然后在 bindanimationfinish 中,再加载这些数据。

虽然从逻辑上说,这种方式依然会导致疯狂滑动。但概率会小的多。至少对小鸡词典来说,改过之后,我们没再发现过疯狂滑动的现象。

如果你是小程序插件开发者,请不要错过这里:知晓程序推出首个「插件市场」,免费为开发者提供插件的展示与交易服务,让优秀的插件快速对接用户。

吐槽 5:怎么把字体搞成五彩斑斓的黑啊

不能读 DOM,接口又这么少,怎么实现富文本编辑啊?!

为了让词条卡片内容更丰富,也为了让鸡友可以更好的表达意思,所以我们希望鸡友在创建词条时可以使用富文本(即特殊格式,如加粗划掉等)。但是,由于小程序既不能读 DOM,输入相关的接口又很少,实现富文本输入/输出只能采用曲线救国的形式了。

「小鸡词典」的解决方案:既然微信不提供,于是我们就自己创造了一套标记语言。(为什么不用 Markdown?因为复杂,不便于普通用户输入)。

我们的设计是这样的,如果要输入加粗的文字,则用户输入【加粗:胖子】,看到的结果就是胖子。同理,【划掉:小程序没 bug】,显示结果为小程序没 bug。如果需要嵌套效果,则可以用逗号将格式分开,如【加粗,斜体:就是这样】,来显示就是这样

通过小鸡词典的实践,这套语言对于用户来说,接受度还是非常高的。但由于我们产品本身并没有对富文本有太多格式的要求,所以这套语言支持的范围非常有限。

至于实现方法,我们用 JS 写了一个编译器,把纯文本转换成了 JSON 格式,然后再通过 WXML 渲染出来。(我们没用官方的 rich-text 组件,因为我们做的早,换过去太费劲,还不如自己写的灵活)

吐槽 6:小程序的谜之更新策略

为了修补 bug,为了上新功能,程序猿们经过不懈努力敲代码,之后又经过漫长的等待,小程序终于审核通过,发布并上线了。但是!!!用户居然不能选择主动更新?这种操作也是醉了……

「小鸡词典」的解决方案:小鸡词典发现,只要强制关闭微信,再重新打开小程序,就有一定概率会进行自动更新。所以,我们的做法又很简单粗暴,前端提示用户有更新,并且把更新步骤告知用户。这样就可以提高用户更新的效率了。

知晓程序注:在最近的新能力更新中,微信已经增加小程序检测更新并强制重启的方法。关注「知晓程序」微信号,回复「新能力」,获取这个新能力的详细使用方法。

小技巧:如果想让文本在 Modal 框中换行,可以这么操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
content: 'LINE1内容内容内容\r\nLINE2内容内容内容'
// \r\n 表示了换行
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 知晓程序 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
☀️苏州程序大白一文教你学会微信小程序开发☀️《❤️记得收藏❤️》
3、与data同级 并且可以将input中输入的值与data中定义的属性绑定,使用this.setData({属性:e.detail.value})。
苏州程序大白
2021/09/29
1K0
打 call 、佛系、蒂花之秀……为了让你看懂流行语,这只「鸡」拼了 | 晓组织 #26
我们团队一共 4 个人,1 只鸡:老大黄长高,是个长不高的死肥宅;老二韩加二,因为算术最多加到二;老三轩芳,他哥叫轩原;老四铁大力,字夯,号使劲;然后就是那只叫「小鸡」的鸡了。
知晓君
2018/07/26
5080
微信小程序发布新版本时自动提示用户更新
官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html
似水的流年
2021/03/15
2.2K0
如何开发电商类小程序 Vol.3:数据加载和图文排版
这里是「电商类小程序实战教程」的第 3 篇文章。 上一期,知晓程序(微信号 zxcx0101)以爱范儿旗下的玩物志小程序为 Demo,介绍了商品列表的实现方法。 今天,我们将先完成上一期「加载更多列表
知晓君
2018/06/28
9560
与 Cursor AI 对话编程:2小时开发报修维修微信小程序
本文记录了如何通过与 Cursor AI 对话,全程不写一行代码的情况下,完成一个完整的报修小程序。整个过程展示了 AI 如何帮助我们:
热心的程序员
2024/12/11
4080
几行代码解决云开发微信支付
新版二手书小程序的进程每天都在更新了,中午抽时间赶到了支付阶段,第一次使用云开发进行小程序支付,体验了下,真的方便。
许坏
2019/09/09
3K0
几行代码解决云开发微信支付
后端程序员也能看懂的微信小程序开发入门
小程序时至今日已经非常火爆了,作为软件体系中的一员,越来越多的公司与个人都在发展自己的小程序,而且小程序不再是单一的微信小程序了,还有百度小程序、支付宝小程序、抖音小程序等等。说明小程序是很不错的一个开发技术,也是便于找工作的一项技能,本文指在让大家快速了解微信小程序的入门与开发。
蒋老湿
2020/04/14
1.5K0
后端程序员也能看懂的微信小程序开发入门
小程序与后端服务的对接实践
小程序的核心价值在于其轻量级、高效、易于使用的特性,而后端服务的对接则是小程序开发中的关键环节。一个良好的前后端协作不仅能提升用户体验,还能提高系统的稳定性和可扩展性。本文将详细介绍小程序与后端服务的对接流程、关键技术点,并结合具体实例进行解析。
LucianaiB
2025/01/29
4440
基于云开发创建(小程序云商城,基本页面的创建及动态代码的编写)
在这个专属于“云”的时代,各位云端弄潮儿们,请分享出你的云计算学习历程吧! 你可以从以下几个方面着手(不强制),或者根据自己对话题主题的理解创作,参考如下:
淼学派对
2022/11/20
2K0
基于云开发创建(小程序云商城,基本页面的创建及动态代码的编写)
微信小程序防止重复点击,该如何处理?
当用户点击按钮或控件时,如果响应比较慢,往往会重复点击,另外也会存在用户故意反复快速点击的情况,这种时候就会多次触发点击事件造成非期望的结果。如何解决或避免这个问题呢?一般来说有两种情况。 1、点击事件是执行请求 这种情况下可以在请求执行之前显示一个模式的加载框,请求完成后再关闭加载框,由于小程序在1.1.0版本基础库才支持wx.showLoading,因此需要对低版本做兼容处理,代码如下: function showLoading(message) { if (wx.showLoading) {
连胜
2018/03/07
4K0
微信小程序-零基础入门手册
wx.showLoading(Object object) | 微信开放文档 (qq.com)
打不着的大喇叭
2024/03/11
5230
微信小程序-零基础入门手册
微信开发者工具上拉刷新和下滑加载效果
onReachBottom是页面上拉触底事件自带的处理函数 判断上拉有没有下一页,如果有的话就加载下一页的数据并显示,没有就弹出提示说没有 wx.showToast是界面交互的一个方法,会弹出一个提示框,里面可以简单绘制页面
玖柒的小窝
2021/11/16
1.7K0
微信开发者工具上拉刷新和下滑加载效果
微信小程序开发小技巧合揖(53个)
微信小程序:wx.navigateTo中url无法跳转问:链接 微信小程序布局之行内元素和块级元素:链接 小程序端JS加密,传输PHP端解密:链接 小程序开发干货技巧:如何为你的微信小程序:链接 Flask中获取小程序Request数据的两种途径:链接 微信小程序,新添加的元素保持在底部:链接 微信小程序登录页动画 - 云层漂浮:链接 微信小程序swiper滑动页面实践-类似于安卓V:链接 微信小程序--下拉菜单(带动画)实现:链接 小程序request接口的封装,实现给循环列表:链接 微信小程序-文字
极乐君
2018/02/05
3.2K0
微信小程序开发小技巧合揖(53个)
独特的微信号_uniapp和原生小程序混合开发
一个支持所有JavaScript运行环境的基于Promise的、支持请求转发、强大的http请求库。可以让您在多个端上尽可能大限度的实现代码复用。
全栈程序员站长
2022/10/03
8350
TypeScript + 微信小程序:构建高效可维护的项目
打开微信开发者工具,新建项目,模板选择【TS-基础模板】,当然你也可以选择带有Sass或是Less的基础版本,根据项目开发习惯和代码风格自行选择,这里仅是作为一个示例,目录结构如下所示,相关基础配置可参考微信官方文档,这里不再复述。
Nian糕
2024/11/30
1.4K0
TypeScript + 微信小程序:构建高效可维护的项目
开发 | 教你刷爆朋友圈:2 招搞定小程序生成分享图片功能
最近频频刷屏的许多 HTML 5 作品,都用到了生成含有用户信息的图片并保存分享的功能。
知晓君
2018/07/27
8460
微信小程序实用代码段(持续更新中)
两年前的文章,被收藏了368次。挺实用的,可以看看。排名不分先后,按自己的习惯来的。总结经验,不喜勿喷哦~
Vam的金豆之路
2021/12/01
1.2K0
微信小程序实用代码段(持续更新中)
实战 | 用云开发从0到1实现一个校园社交小程序
https://cloud.tencent.com/document/product/876/68589
腾讯云开发TCB
2022/02/17
1.7K0
实战 | 用云开发从0到1实现一个校园社交小程序
二十一个必会微信小程序开发技巧(上)
这个其实大家可以理解为是一个公共的组件的js文件,这个js文件可以在你的任何组件页面内引用,引入后你的被引用的js文件就拥有了你引入的这个behaviors.js中的一切方法及变量
inline705
2022/11/22
1.1K0
二十一个必会微信小程序开发技巧(上)
微信小程序发布新版本提示用户更新代码封装
代码已上传至github github代码地址:https://github.com/Miofly/mio.git
用户10106350
2022/10/28
4090
推荐阅读
相关推荐
☀️苏州程序大白一文教你学会微信小程序开发☀️《❤️记得收藏❤️》
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档