微信小程序开发遇到的坑:(如何把转发的卡片返回首页,setInterval和settimeout的区别,跳转关联公众号文章,如何上线)

本文主要是介绍微信小程序开发遇到的坑:(如何把转发的卡片返回首页,setInterval和settimeout的区别,跳转关联公众号文章,如何上线),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

     首先,采用的是原生开发,框架也都了解过,我也是VUE的忠实爱好者,但是还是不想去踩用框架的坑,等稳定点再说哈哈,原生本身就足够强大。一开始写不太熟练边看文档边写还抄抄github上的各种栏。其实和HTML很接近,主要耗时还是在CSS样式方面。后台也就认证,发模板这种要点操作,但是都是做一次就会的操作。可以说小程序的入门门槛比传统的web开发要低一些。但同时成本也是提高了,就像要使用HTTPS协议,备案这种就需要很长的时间成本。

1.对于第一个问题:默认的使用分享分享到的只是一个页面,如果用户按返回是无法继续在小程序页面的,这当然对引流不利,对于这种其实使用一种很取巧的方法就可以了,简单描述一下这个方法,基本都会。

  在这个页面的分享事件中(onShare事件),我们都知道可以设置title,path这种,在这里我们设置一个path,在路径后面用url传值的方式,带上“?XXX=XXX”,然后再需要有返回的页面中的onload事件中,每次判断这个XXX的参数存不存在,来判断是不是由分享卡片进入,如果存在则表示从分享卡片进入,然后设置一个定时器,setInterval或者settimeout,直接跳转到那个分享卡片的路径,这样用户既看到了那个页面,又能返回我们想要他返回的页面。

2.第二个问题,接上面的问题,也许有人知道setInterval和settimeout的区别了,觉得都可以用用法类似,其实小程序里的setInterval是无法主动在unload事件中释放的,需要手动释放,这点我也是在web开发者工具中的Audits体验检测中被提示的,两者区别其实和web的区别没有区别,前者可以执行多次,后者一次就完了。如果对于我上面说的场景,如果用前者,你要去手动释放它,比如将定时器绑定到data的变量中,然后clear它。对于后者就不必了,因为本就是只用一次的,但对于用多次的场景,一定要去手动回收。

3.第三个问题

使用web-view标签,详情可以看微信官方文档,很强大的工具,不要理解成src跳转后就直接是网站了,不再是在小程序里,其实还是在小程序里,只是小程序的页面被这个src所指向的路径所占满了,按返回仍然能返回之前浏览的小程序页面,分享这个页面也仍然还是在小程序里,所以有些在web后台使用富文本上传的那种其实很没必要这种成本,公众号的文章效果很难达到的,直接使用公众号写文章资讯然后直接跳转过去是个很直接的方法。

4.第四个问题如何上线:

首先后台要是认证备案超过24小时的,并且协议是https的地址,认证备案没办法大多数只能去老老实实备案(遵纪守法),注意这样认证得到的是http协议的,我们要加个ssl证书,传统方法有点麻烦,有个比较好的方法推荐,github上搜索acme,是个比较好的脚本,可以自动更新证书,两三个命令就自动配置证书。下面是地址(比手动方便的多)

http://www.acme.sh/

这里我是使用nginx,由于https采用默认端口是443,而http是80,我们让80的所有资源跳转443,具体可以百度,然后将后台启动在别的端口,将nginx监听的443端口下的location/的proxy代理项改为你后台的端口,这样小程序就能调用该域名了,然后记住要去微信公众平台设置你的小程序request域名,必须备案超过24小时才可合法。设置完成后即可体验,最后就是提交微信官方审核上线了。

如果还要部署后台也简单,在监听的端口,再开一个location项,然后把后台的静态文件反向代理来解决跨域问题,就可以访问后台了。

 

总结:就像刚学C语言一样,坑是一直有的,但是不能被坑坑再里面,虽然打算考研,但是偶尔编程relax一下自己发散一下思维感觉也还不错。

这篇关于微信小程序开发遇到的坑:(如何把转发的卡片返回首页,setInterval和settimeout的区别,跳转关联公众号文章,如何上线)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/824864

相关文章

关于Mybatis和JDBC的使用及区别

《关于Mybatis和JDBC的使用及区别》:本文主要介绍关于Mybatis和JDBC的使用及区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、JDBC1.1、流程1.2、优缺点2、MyBATis2.1、执行流程2.2、使用2.3、实现方式1、XML配置文件

exfat和ntfs哪个好? U盘格式化选择NTFS与exFAT的详细区别对比

《exfat和ntfs哪个好?U盘格式化选择NTFS与exFAT的详细区别对比》exFAT和NTFS是两种常见的文件系统,它们各自具有独特的优势和适用场景,以下是关于exFAT和NTFS的详细对比... 无论你是刚入手了内置 SSD 还是便携式移动硬盘或 U 盘,都需要先将它格式化成电脑或设备能够识别的「文

什么是ReFS 文件系统? ntfs和refs的优缺点区别介绍

《什么是ReFS文件系统?ntfs和refs的优缺点区别介绍》最近有用户在Win11Insider的安装界面中发现,可以使用ReFS来格式化硬盘,这是不是意味着,ReFS有望在未来成为W... 数十年以来,Windows 系统一直将 NTFS 作为「内置硬盘」的默认文件系统。不过近些年来,微软还在研发一款名

MySQL复合查询从基础到多表关联与高级技巧全解析

《MySQL复合查询从基础到多表关联与高级技巧全解析》本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句,感兴趣的朋友跟随小编一起看看吧... 目录前言:1.基本查询回顾:1.1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J1.2.按照部门

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob