元旦过完了,假也休完了,开始新的一年了,总结一下最近开发小程序的与众不同之处。 1、小程序必须设置合法域名,否则无法发出请求。 官方文档是这么说的: ? 2、小程序登录态的管理 通常我们在做网页开发的时候会用cookie来管理登录态,但是小程序没有cookie。小程序官方建议的的登录态管理是这样的: ? 3.小程序更新机制 我们遇到的坑:我们的小程序第一次上线是个全新的,所以不存在更新不更新之说,第二次上线就有了更新问题。第二次上线发布之后,同事们打开小程序发现并不是新版啊!!还是旧版啊!! 要说更新得先从小程序的运行机制来说,speak is cheap,show doc: ? 也就是说,当我们发布新版小程序时,用户只有冷启动两次才能使用新版的小程序?what? 同步检查更新(放弃):可能是最直接的解决思路,但主要问题是会影响小程序的启动速度,当下小程序的更新迭代是非常频繁的,部分用户可能每次启动都命中更新,如果需要同步检查更新+同步下载新的版本,那将会影响这部分用户的启动体验
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
作为前端开发,尤其是小程序开发,平时多多少少需要接触小程序的转发。 而有的时候,我们需要查看小程序在微信中分享的卡片信息。 如果有小程序源代码,这些问题都不是问题,懂开发的都懂,看一眼就知道了。 但是很多时候我们是没有小程序源码的,比如需要分析别人家的小程序。 下面是一些分析小程序卡片信息的方式方法。 如果是只需要查看小程序的账号主体信息、账号原始id、appid、服务类目、名称等信息很简单 只需要 点击小程序右上方 “...” —— 点击弹出框的小程序名称 —— 更多资料 即可查看 如果需要查看当前小程序分享卡片的页面路径 下面是借助微信网页版来抓包实现的。 抓包能抓到很多有用的信息。 如下是抓包网页版的微信来获取当前小程序的分享路径的方式。 中的如下字段,该字段里面就包含了小程序的页面路径 AddMsgList[0].Content 5.因为该字段内容是一个编码过的 xml 代码,因此需要解析 最简单的方式就是新建一个空的 html 文件,
1 问题 如何利用小程序的自定义组件实现map切换不同的标记点 2 方法 创建一个组件mapchart 图中的mapchart就是一个自定义组件,自定义组件为了规范通常放在conponents里。 */ data: { datalist: [], }, /** * 组件的方法列表 */ methods: { bindcallouttap: function (e) 的Id值 datalist: [], //科普点 markers_0: [ ]//里面写标记点的相关信息 //动物场馆 markers_1: [ ] //游览点 markers_2: [ ] 0; right: 0; height: 4rpx; background: #FFCC00; } 3 实验结果与讨论 最终结果如图: 4 结语 本次我们介绍了如何用自定义组件实现map上切换不同的标记点 ,使用本方法虽然可以实现我们的目标,但切换标记点时会有闪屏的情况,本质上还是属于切换到另外一个页面,并没有在同一个地图页面完成切换不同标记点,后续将对此进行改进。
小程序的分享 onShareAppMessage(options) 在页面的js文件中定义了 onShareAppMessage 函数时,页面可以表示改页面可以转发。可以在函数中设置页面转发的信息。 只有定义了该函数,小程序右上角的菜单中才会有转发按钮 用户点击转发按钮的时候回调用该函数 该函数内需要 return 一个 Object,Object中包含转发的信息(可自定义转发的内容) 页面中有可以触发转发时间的地方有两个 : 一个是右上角菜单中的转发按钮 另一个是页面中具有属性open-type且其值为share的button。 ,比如说将分享按钮做成一个图标等 触发分享事件后调用的函数: onShareAppMessage: function( options ){ var that = this; // 设置菜单中的转发按钮触发转发事件时的转发内容 var shareObj = { title: "转发的标题", // 默认是小程序的名称(可以写slogan等) path: '/pages/share/share',
本来5月1之前就想写一下一篇关于小程序不同场景下发送ajax请求的问题,但是放假的前一天,出了个大bug,就是因为我修改不同的场景下执行不同的逻辑造成的 1、首先,在小程序里,微信做了很多的缓存,我们可以很好的利用这些缓存 ,比如,两个tab页面,我自由切换的情况下,缓存会记录我的滚动状态,切换状态,页面里radio的状态,总之所有的状态都会记录下来。 2、但是我们每次退出小程序后再次进来时,要求得重新刷新数据,这样的话,很自然就想到onshow钩子了,在onshow里,页面每次进来时都会调用,但是请求如何写到这个钩子里,就会每次都切换tab时重新请求数据 ,我原来的缓存也用不了了,这样很影响性能,其实每次进来的时候,微信小程序里会先走到app.js里,里面也有onshow钩子,但是之后的所有操作都不会走入这个钩子里,这就解决了一个很重要的性能问题,每次我进入小程序里请求数据 ,场景的话,利用app.js里的钩子可以很好的区分。
在小程序上无法分享朋友圈,只能通过发送指定用户和指定的用户群来进行扩散,必须掌握分享功能至关重要! 小程序分享代码 videoInfo.js onShareAppMessage: function (res) { var me = this; var videoInfo = me.data.videoInfo 实现小程序转发有二种方式,一种是用户点击右上角转发,一种是在html文件中通过button实现转发功能 第一种方式: 在官方文档中搜索转发出现: ? 点击链接会找到实例的代码: ? ? ,这些功能还是很容易就实现的 小程序下载视频代码 官方介绍 https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html 下载需要2次调用api,第一次下载使用api来进行下载,然后使用保存在视频的目录的插件,2次完成视频的下载。 PS:分享和下载小程序在开发中非常的常见。了解文档的api,基本也很方便的实现对应的功能。
之前一直以为微信小程序按钮点击事件传参是和web端相同,即在事件中写明所传递的参数即可,但是这样尝试过以后发现小程序的控制台报错,报所写的bindtap中参数错误,之后百度发现,小程序按钮点击这类事件时一般的处理方法是指明元素所在的 以下是我所百度的资料。 什么是事件 事件是视图层到逻辑层的通讯方式。 事件可以将用户的行为反馈到逻辑层进行处理。 "pageY":14, "clientX":53, "clientY":14 }] } 注意两点: 1、data-名称 不能有大写字母,如果需要,可以通过 – (中划线)来连接单词,编译的时候小程序会将第二个单词首字母自动大写 由于事件冒泡的机制,父容器上绑定的事件依然可以触发,所以currentTarget 依然可以拿到参数。 说明 id传参和dataset类似,只是最后获取值的时候不同。 event.currentTarget.id 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/125123.html原文链接:https://javaforall.cn
今天来说一下小程序不同页面之间传值的几种方式: 1、URL传值 这种方式最常用,比如: wx.navigateTo({ url: '../detail/detail? ,传值比较多的时候,还是建议写本地缓存~ 2、本地缓存 小程序API提供了本地缓存数据的API,默认可以缓存10M的数据,如下: wx.setStorageSync('checkin', checkin ); checkin是一个object,在需要的页面直接调用wx.getStorageSync即可获取,这样就解决了传值较少的问题了。 app.js和app.wxss中的代码都是全局生效的,所以我们可以利用这一点儿,在不同页面之间进行传值。 加1并替换versionFeature的文案即可 version: 2, versionFeature: '更新说明' } })
修改了用户信息后,返回到列表页,列表中需要显示修改后的信息 例如把 “李四” 改为了 “李六”,那么返回列表页后,第2条记录就应该显示的是 “李六” 如何更新? 例如可以重新加载列表,返回到列表页时,触发的是onShow事件,那么就在 onShow 处理函数中重新请求数据进行加载 但这样做不太好处理用户体验问题,例如修改的是经过多次下拉翻页后的某条用户信息 也可以不用重新加载 ,在保存之后设置缓存,指明修改的用户ID、修改后的数据,然后在列表页的onShow处理函数中读取缓存,直接修改现有列表中的数据 解决 上面的更新方式都不太优雅,建议使用 broadcast 广播机制 列表页设置监听 列表页收到广播后就会触发处理函数,取得广播传递过来的数据,对现有列表数据进行修改,使用 setData 更新 从详细页返回到列表页时,列表中的数据就已经是最新的了 小结 broadcast 是一个非常小巧实用的广播工具 ,非常适合在不同页面间传递消息 项目地址: https://github.com/binnng/broadcast.js
前面分享了很多小程序相关的内容,常常提到小程序SDK的概念,但似乎有很多小伙伴不是很理解,今天就来跟大家聊聊小程序SDK。 什么是小程序SDK? 使用小程序SDK,开发者可以更轻松地创建高质量的小程序应用程序,加速小程序开发和部署的过程,并提高小程序的稳定性和性能。 在某些场景下,超级App可能会考虑采用小程序容器技术来扩展应用的功能,例如: 1、社交场景 小程序可以为超级App提供更多的社交功能,例如分享、评论、点赞等。 社交场景是超级App的重要组成部分,而小程序容器技术可以为超级App提供更丰富、更多样的社交功能,方便用户与他人交流、分享和互动。 例如,用户可以通过小程序容器在超级App中进行在线聊天、创建群组、分享照片和视频等,同时还能够进行评论、点赞、收藏等操作,这些功能不仅丰富了超级App的社交体验,也可以提高用户的粘性和忠诚度。
目前的疑惑微信小程序发展的越来越快,目前小程序甚至取代了大部分 App 的生态位,公司的坑位不增反降,只能让原生应用开发兼顾或换岗进行小程序的开发。 而在 Flutter 中也没办法通过 Dart 直接调用小程序的接口,所以现阶段用 Flutter 开发小程序不是太好的选择。 一些解决思路的产生但是公司和业务也不得不向着互联网巨头的流量低头,同时小程序的逐渐风靡,也使得用户下载 App 的习惯产生变化,不管购物、订餐还是办事都会首先查找“打开即用,即用即走”的小程序可以使用, 当然也知道很多开发者对于小程序是有非常多意见的,App 也不会说死就死,毕竟 App 相对于小程序来讲,还是有很多优势。所以 App 和小程序开发都共存的情况下,如何解决效率问题? 能否让过往开发的小程序直接运行在 Flutter 开发的应用中呢?同样一个功能业务仅需一次小程序开发,即可实现在除了微信端的其它 App 中也运行起来。
分享小程序需要在js中定义OnShareAppMessage函数或者在按钮中设置open-type属性;效果如下图所示,在真机上的效果就是点击分享后先选择你的好友再弹出模拟器中的模态框 效果图 图片 wxml <button open-type="share">分享</button> js Page({ onShareAppMessage: function() { //return 一个对象,用于自定义转发内容 return { title: '分享标题', //转发标题 path: '/index/index', //转发路径 imageUrl
之前分享过几个腾讯出品的小程序分享几个实用的微信小程序,这里再做个整理。 下厨房+ 这个小程序有厨友分享的超100万个菜谱,陪你探寻美食与爱。 比如这个下饭菜红烧土豆。 小米云证件照 由小米公司开发的小程序,界面干净简洁无广告,一键生成你的证件照。 壁纸精选 之前分享过找壁纸不用愁了:壁纸网站/APP/工具合集,这个小程序拥有海量壁纸素材,还在不断更新。 小睡眠 这个小程序拥有海量原创的白噪音、催眠曲和专业人声,专治各种压力、小焦虑和失眠。 微软AI识图 微软中国首款小程序,你的文档创作小助手 ,目前拥有翻译,转PDF/PPT,图片转文字,高度还原表格,人脸识等功能。 大学有答案 专门为大学生准备的小程序,上网课时找不到答案可以试试这个小程序。
之前分享过的小程序系列: 分享几个实用的微信小程序 分享几个实用的微信小程序(二) 分享几个实用的微信小程序(三) 分享几个实用的微信小程序(四) 今天继续分享几个实用的微信小程序。 扇贝单词极速版 这是扇贝旗下背单词小程序,你的备考利器,根据记忆曲线背单词,更有精编词汇书,历年真题例句直击考点,包含四六级、考研、托福、雅思、小/初/高/大学、留学、商务英语等。 上小程序一查便知,上传图片即可识别出各种成分的作用和危害。 / 胡言乱语生成器 这个有趣的小程序可以随机生成一些奇怪的话,有助于你摸鱼聊天。 腾讯待办 这是腾讯最近发布的一款用于提醒、待办事项的微信小程序,可以和好友或者在微信群中分享,使用同一个待办事项,方便确认所有参与者的待办事项完成状态,并通过微信公众号提醒。
小程序是一种不用下载就能使用的应用,也是一项门槛非常高的创新,经过将近两年的发展,已经构造了新的小程序开发环境和开发者生态。 小程序越来越火爆,基于微信的各类小程序优秀项目真实层出不穷,小程序商城更是成为了企业商家的标配, 看看这几个开源商城系统的火爆程度:http://github.crmeb.net/u/lin 便能一窥究竟 需求 小程序分享到朋友圈只能使用小程序码海报来实现,生成小程序码的方式有两种,一种是使用后端方式,一种是使用小程序自带的canvas生成;后端的方式开发难度大,由于生成图片耗用内存比较大对服务端也是不小的压力 ;所以使用小程序的canvas是一个不错的选择,但由于canvas水比较深,坑比较多,还有不同海报需要重现写渲染流程,导致代码冗余难以维护,加上不同设备版本的情况不一样,因此小程序海报生成组件的需求十分迫切 多段文字 如果是连续多段不同格式的文字,如果让用户每段文字都指定坐标是不现实的,因为上一段文字的长度是不固定的,这里的解决方案是使用ctx.measureText (基础库 1.9.90 开始支持)Api
之前分享过几个腾讯出品的小程序分享几个实用的微信小程序 和 分享几个实用的微信小程序(二),这里再做个整理。 创客贴作图神器 这个小程序大大降低了作图的门槛,基本的简单拖拽编辑就能完成,当然它还有网页版https://www.chuangkit.com/ 微软听听文档 这个小程序可以给文档添加声音 ,可以边听边看 还可以给公众号文章配音,比如之前那篇微信神器:一键批量下载微信好友头像并拼成一张图 抠图AI 之前分享过文章不会 ps 没关系,在线一键抠图,这是个基于AI智能引擎的抠图小程序,上传图片就能直接把主体给抠下来 readhub 每天花几分钟在这个小程序就可以了解互联网行业发生的事情 ,之前分享过的网站泥石流海报https://graph.readhub.cn/ 也是它出品的。 笔神写作 朋友圈的装x神器,输入你想要表达的意思,小程序会给你推荐各种名言名句,还有各种高大上的诗词。
微信小程序从 2016 年诞生至今,一直秉承用完即走的设计原则,节省了用户不少安装成本,今天就在这里跟大家分享一下,GitHub 上现有两个我觉得颜值还不错的小程序。 因此 Gitter 作者出于提升自己的能力的目的,自学了微信小程序的开发,做了这么一款应用,并将其开源在了 GitHub 上。 目前该小程序包含以下几个功能: 查看 Trending 查看仓库代码 Star 仓库 关注用户 查看 issue 另外该小程序还内置了 Pro Git 的中文教程,供读者查看学习。 ? Mini GitHub 这款 GitHub 小程序由 Apache 工程师 kezhenxu94 设计并实现。 上面那款小程序主题以蓝白为主调,这款则是走暗黑系的。 从 GitHub 的 commit 记录来看,这款小程序是作者从去年 10 月 30 号便开始挖坑制作的,至今差不多刚好半年时间,作者在业余时间抽空做了这么一件事,还是挺值得敬佩的。
今天,知晓程序(微信号 zxcx0101)就来为你总结小程序开发的必备技能,以及不同种类的程序员该如何转向小程序开发。 希望帮助大家顺利开启小程序开发之路。 小程序的逻辑功能是使用 JavaScript 实现的,如果没有 JavaScript,小程序就变成了一具没有思维的空壳。 同样,虽然 WXSS 文件基本「复刻」了 CSS,但小程序使用了 rpx(responsive pixel)作为尺寸单位(保证不同分辨率设备的元素正常显示)。 后端开发者并不需要太担心小程序的火热会造成后端领域的侵蚀,相反,小程序的火热会令后端人员的需求迅速增长。 以上就是知晓程序(微信号 zxcx0101)为不同领域的开发者,总结的小程序开发技能清单,希望能够帮助大家从不同领域快速上手小程序开发。
我就想做一个小程序,因为手机每天打开的频率太高了,碎片时间也很多,加上小程序的不用安装用完即走的优点,使用方便,不会有压力感。 再加上自己还没有一款正儿八经的小程序作品,对现在很火的云开发也没怎么用过,特别是小程序云开发,他到底用起来爽不爽呢?(很爽!) 于是乎!开干! 小程序支持收藏、分享,这是纸质书先天不具备的 基于《了不起的程序员 2021》但不是完全一样,我做了一些小小的修改或增加一些内容。 3.1、选择海报分享方案 在开发分享海报功能之前我也看了下网上大致的方案,最后我选择了微信小程序自己的扩展组件:wxml-to-canvas,小程序内通过静态模板和样式绘制 canvas ,导出图片,可用于生成分享图等场景 点击编程日历小程序底部的海报分享按钮,在当前页面生成 canvas 预览图,然后再生成图片跳转到海报图片预览和保存页面。
即时通信 IM(Instant Messaging)基于 QQ 底层 IM 能力开发,仅需植入 SDK 即可轻松集成聊天、会话、群组、资料管理能力,帮助您实现文字、图片、短语音、短视频等富媒体消息收发,全面满足通信需要。
扫码关注腾讯云开发者
领取腾讯云代金券