关于微信服务号开发的一些总结!

hjj2ldq      2022-02-08     587

关键词:

最近一直在负责开发公司的服务号,并且将来还要做成第三方平台。年末先做一波总结!

日常使用的微信服务号点击菜单栏,跳转进入网页中心。

技术分享图片

第一步,在公众号的后台可以设置菜单的跳转链接。需要注意的是

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 菜单跳转设置的redirect_uri可以改成index.html。其他参数不能随意更改。
特殊的几个标志 appId code redirect_uri openId 是用户唯一标志

技术分享图片

阐述一下整体的流程是,设置菜单跳转链接以后,点击菜单进来后可以从url中的state字段中获取appID的值,从code字段获取code的值,然后利用这两个字段去后台获取对应的数据,如下

技术分享图片

这里忽略注册一词,原来跟成功注册时一致的。需要注意的是code 的问题,code每次点击菜单进来都是唯一的,一个请求携带这个code去后台拿数据,在未返回之前,如果再次用这个code去发送请求,会报错!!!

这个是坑点,code同一时间只能用在一个地方,可以理解为类似于单线程的东西。所以有些按钮需要做按钮控制,以免发生请求冲突报错。

踩坑心得:建议这个获取的过程单独做一个空白页面,可以做个加载跳转的效果,拿到用户数据后存在localStorage后接着就往目标页面跳,这个阶段是不让用户看到的。(试过不做空白页面跳转,但是如果从第二个页面往有滑关闭页面再次回到菜单入口页面时,code就会报错,导致没有任何效果!)

同样的页面,如我的预约,可以是菜单点击进来的,也可以是其他页面跳转过来的,这个时候还是需要空白页面来处理最好了。

值得注意的是,如果是从服务号发送给用户的消息中点击进来的页面,就不用去获取code了因为它没有脱离微信环境本身,后端设置的该消息的点击链接中是自带openId的。

所以可以通过getUrl(openId)来判断是从聊天面板点击进来的还是其他页面跳转过来的。

提示点:开发过程中,如果发布后发现代码没有生效,可能是手机缓存的问题(清缓存),可能是发布的问题(把编译后的文件删除,再重新编译发布)。

    菜单变化,需要取消关注公众号后重新关注才可看到新的效果。

总结:其实是从微信环境到第三方环境的一个跳转,但是有很多严格的限制,需要微信或者用户授权。授权方式的话可以采用静默授权。重点:code,appId .比较麻烦的是调试,不好测试,特别是涉及到菜单跳转的,必须上真机才能测试。

订阅号服务开发-05实战总结

[danger]重要的学习文档再发一遍官方文档:https://mp.weixin.qq.com/wikiwechatpy:https://wechatpy.readthedocs.io/zh_CN/master/index.html---相信认真阅读完前面的章节后,已经初步熟悉了订阅号开发的基础,我们可以根据前面学习到的知识,给自己... 查看详情

怎么制作微信订阅号?

...微的头像还要展示出大气、上档次的范儿。推送时间  关于推送时间的讲究现在是众说纷纭、莫衷一是,笔者把它们归结为以下派别:  1、上班派(7:30-8:00之间),代表微信:爱范儿、改变自己  2、午餐派(12:00-13... 查看详情

微信公众号开发之网页授权(获取用户信息)

...号比较感兴趣,所以参与这方面的学习研究。昨天完成了关于网页授权,获取用户信息方面的功能,所以乘热打铁,写上一篇。实现本篇涉及的功能,还需要完成一些基础。在写完这篇博客后,我会尽快补上。 ------------------... 查看详情

微信公众号开发笔记1(nodejs开发的)

本篇记录了微信公众号开发的一些笔记一、微信服务器与我们服务器的交流微信开发者拥有自己的服务器,在我们服务器上可以与微信服务器进行交流。既然可以交流,那就必定需要前提条件(微信认证),也就是说,只有自己... 查看详情

微信公众号java技术栈,里面的关于注解spring的总结(代码片段)

Spring的“零配置”支持 搜索Bean类:Spring提供如下几个Annotation来标注SpringBean@Component:标注一个普通的SpringBean类@Controller:标注一个控制器组件类@Service:标注一个业务逻辑组件类@Repository:标注一个DAO组件类在Spring配置文件中做如... 查看详情

关于微服务

摘要:微服务架构被提出很短的时间内,就被越来越多的开发人员推崇,简单来说其主要的目的是有效的拆分应用,实现敏捷开发和部署。本分享即尝试介绍微服务架构的一些实施细节和要求,探询微服务架构的由来,并最终提... 查看详情

关于c#微信公众号开发的前言说明

...,不如phpjava方面的资料全。  所以我准备每天写一点关于C#微信开发方面的东西,希望能帮到后面做C#微信开发的朋友们,希望能让你们少走点弯路,当然写在博客里面也是怕时间长了自己也会忘记了。  本人文笔有限,写... 查看详情

微信公众号及小程序开发入门(代码片段)

开发过程中一些对微信公众号和小程序的认识。一、服务号在公众号开发入门一中提到,微信公众号分为订阅号和服务号,其中服务号功能最强,只准企业申请,并且要每年交300元认证费。如果企业想拥有自己的... 查看详情

微信公众号开发模式开启总结

一直没想过要开个微信公众号。想到经营公众号预计跟经营微博一样。像我这样的素养的,肯定没有这样的基因。师兄推荐了一个学经济的妹纸过来请教我微信公众号开发人员模式怎样开启,妹纸请教,那必须上刀山... 查看详情

关于微信小程序上线流程的简单总结

最近负责公司里边小程序的一个埋点功能,修改完之后体验了一次小程序上线的一个流程。前提条件首先小程序在微信公众平台后台一定是已经申请开发了,自己也一定要有开发者权限,同时我们也需要有微信开发者... 查看详情

关于git开发的一些注意事项

1.拉取代码后新建一个分支,把标准代码上传上去。再拉取该分支的标准代码进行定制,定制前首先需要修改相应pom文件的版本号【重点】,否则会覆盖其他仓库里的代码。一般是在版本号后面加上定制单号:主流版本_单号修改... 查看详情

关于分布式和微服务的一些总结(代码片段)

...理与实践》和《微服务架构设计模式》这两本书里。嗯,关于分布式系统和微服务架构的一些拙见,因为大家一直放到一起讲, 查看详情

关于创建微信公众号芸潘

​​为啥创建微信公众号?​​创建的原因一方面是因为之前有一些朋友私信问我有没有微信公众号,另一方面是因为自己总会想写一些文字来记录自己学习的过程和思考,故创建公众号持续向外输出,也想看看种下的种子最后... 查看详情

微信公众号h5开发总结

...从8个点说明要注意的事情h5页面运行在浏览器里(运行在微信里的情况也是微信里内嵌了一个浏览器),浏览器默认提供了返回按钮,用户在操作返回按钮时,就有可能出现一些影响体验的事情,需要在开发是进行规避,如下图总... 查看详情

微信公众号扫码登录——获取微信公众号二维码(代码片段)

...f0c;今天解决了获取微信二维码问题;在这里总结一下关于微信登录想说的话第一次接触微信登录,开始就弄混了登录方式;简单来说,微信扫码登录分为两种,一种是微信公众平台,一种是微信开放平台&#... 查看详情

腾讯系:微信,公众号,小程序,企业微信开发知识概括(代码片段)

腾讯系:公众号,小程序,企业微信等等开发知识概括企业微信公众号小程序微信开放平台总结企业微信第三方应用开发(sass服务商):概述:第三方应用接口旨在方便企业微信管理员通过简单的操作来使用第三方服... 查看详情

关于web应用开发流程的总结

假设最简单的情况,一个开发人员,开发所有的代码,一个测试人员。一个测试的服务器,一个生产的服务器。开发人员需要为公司开发一个项目,开发人员首先分析产品经理的需求,建立相应的模型,然后进行如下步骤:编写... 查看详情

微信公众号开发经验总结

1.               快捷访问1.1  测试公众号注册:​​http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login​​1.2  微 查看详情