小程序视频网站源码分享(小程序短视频开源项目)

大家好,今天来为大家解答小程序视频网站源码分享这个问题的一些问题点,包括小程序短视频开源项目也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

我们在做小程序开发时,消息推送是不可避免的。今天就来教大家如何实现小程序消息推送的后台和前台开发。源码会在文章末尾贴出来。

其实我之前有写过一篇:《springboot实现微信消息推送,java实现小程序推送,含小程序端实现代码》但是有同学反应这篇文章里的代码太繁琐,接入也比较麻烦。今天就来给大家写个精简版的,基本上只需要几行代码,就能实现小程序模版消息推送功能。

老规矩先看效果图

这是我们最终推送给用户的模版消息。这是用户手机微信上显示的推送消息截图。

本节知识点

1,java开发推送后台

2,springboot实现推送功能

3,小程序获取用户openid

4,小程序获取fromid用来推送

先来看后台推送功能的实现

只有下面一个简单的PushController类,就可以实现小程序消息的推送

再来看下PushController类,你没看错,实现小程序消息推送,就需要下面这几行代码就可以实现了。

由于本推送代码是用springboot来实现的,下面就来简单的讲下。我我们需要注意的几点内容。

1,需要在pom.xml引入一个三方类库(推送的三方类库)

pom.xml的完整代码如下

<?xmlversion=”1.0″encoding=”UTF-8″?>\n<projectxmlns=”http://maven.apache.org/POM/4.0.0″\nxmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”\nxsi:schemaLocation=”http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd”>\n<modelVersion>4.0.0</modelVersion>\n<parent>\n<groupId>org.springframework.boot</groupId>\n<artifactId>spring-boot-starter-parent</artifactId>\n<version>2.1.5.RELEASE</version>\n<relativePath/><!–lookupparentfromrepository–>\n</parent>\n<groupId>com.qcl</groupId>\n<artifactId>wxapppush</artifactId>\n<version>0.0.1-SNAPSHOT</version>\n<name>wxapppush</name>\n<description>DemoprojectforSpringBoot</description>\n<properties>\n<java.version>1.8</java.version>\n</properties>\n<dependencies>\n<dependency>\n<groupId>org.springframework.boot</groupId>\n<artifactId>spring-boot-starter-web</artifactId>\n</dependency>\n<dependency>\n<groupId>org.springframework.boot</groupId>\n<artifactId>spring-boot-starter-test</artifactId>\n<scope>test</scope>\n</dependency>\n<!–微信小程序模版推送–>\n<dependency>\n<groupId>com.github.binarywang</groupId>\n<artifactId>weixin-java-miniapp</artifactId>\n<version>3.4.0</version>\n</dependency>\n</dependencies>\n<build>\n<plugins>\n<plugin>\n<groupId>org.springframework.boot</groupId>\n<artifactId>spring-boot-maven-plugin</artifactId>\n</plugin>\n</plugins>\n</build>\n</project>\n

其实到这里我们java后台的推送功能,就已经实现了。我们只需要运行springboot项目,就可以实现推送了。

下面贴出完整的PushController.java类。里面注释很详细了。

packagecom.qcl.wxapppush;\nimportorg.springframework.web.bind.annotation.GetMapping;\nimportorg.springframework.web.bind.annotation.RequestParam;\nimportorg.springframework.web.bind.annotation.RestController;\nimportjava.util.ArrayList;\nimportjava.util.List;\nimportcn.binarywang.wx.miniapp.api.WxMaService;\nimportcn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;\nimportcn.binarywang.wx.miniapp.bean.WxMaTemplateData;\nimportcn.binarywang.wx.miniapp.bean.WxMaTemplateMessage;\nimportcn.binarywang.wx.miniapp.config.WxMaInMemoryConfig;\nimportme.chanjar.weixin.common.error.WxErrorException;\n/**\n*Createdbyqclon2019-05-20\n*:2501902696\n*desc:微信小程序模版推送实现\n*/\n@RestController\npublicclassPushController{\n@GetMapping(“/push”)\npublicStringpush(@RequestParamStringopenid,@RequestParamStringformid){\n//1,配置小程序信息\nWxMaInMemoryConfigwxConfig=newWxMaInMemoryConfig();\nwxConfig.setAppid(“wx7c54942dfc87f4d8”);//小程序appid\nwxConfig.setSecret(“5873a729c365b65ab42bb5fc82d2ed49”);//小程序AppSecret\nWxMaServicewxMaService=newWxMaServiceImpl();\nwxMaService.setWxMaConfig(wxConfig);\n//2,设置模版信息(keyword1:类型,keyword2:内容)\nList<WxMaTemplateData>templateDataList=newArrayList<>(2);\nWxMaTemplateDatadata1=newWxMaTemplateData(“keyword1″,”获取老师微信”);\nWxMaTemplateDatadata2=newWxMaTemplateData(“keyword2″,”2501902696”);\ntemplateDataList.add(data1);\ntemplateDataList.add(data2);\n//3,设置推送消息\nWxMaTemplateMessagetemplateMessage=WxMaTemplateMessage.builder()\n.toUser(openid)//要推送的用户openid\n.formId(formid)//收集到的formid\n.templateId(“eDZCu__qIz64Xx19dAoKg0Taf5AAoDmhUHprF6CAd4A”)//推送的模版id(在小程序后台设置)\n.data(templateDataList)//模版信息\n.page(“pages/index/index”)//要跳转到小程序那个页面\n.build();\n//4,发起推送\ntry{wxMaService.getMsgService().sendTemplateMsg(templateMessage);\n}catch(WxErrorExceptione){\nSystem.out.println(“推送失败:”+e.getMessage());\nreturne.getMessage();\n}\nreturn”推送成功”;\n}\n}\n

看代码我们可以知道,我们需要做一些配置,需要下面信息

1,小程序appid

2,小程序AppSecret(密匙)

3,小程序推送模版id

4,用户的openid

5,用户的formid(一个formid只能用一次)

下面就是小程序部分,来教大家如何获取上面所需的5个信息。

1,appid和AppSecret的获取(登录小程序管理后台)

2,推送模版id

3,用户openid的获取,可以看下面的这篇文章,也可以看源码,这里不做具体讲解

小程序开发如何获取用户openid

4,获取formid

看官方文档,可以知道我们的formid有效期是7天,并且一个form_id只能使用一次,所以我们小程序端所需要做的就是尽可能的多拿些formid,然后传个后台,让后台存到数据库中,这样7天有效期内,想怎么用就怎么用了。所以接下来要讲的就是小程序开发怎么尽可能多的拿到formid了

看下官方提供的,只有在表单提交时把report-submit设为true时才能拿到formid,比如这样

<formreport-submit=’true’>\n<buttonform-type=’submit’>获取formid</button>\n</form>\n

所以我们就要在这里下功夫了,既然只能在form组件获取,我们能不能把我们小程序里用到最多的地方用form来伪装呢。

下面简单写个获取formid和openid的完整示例,方便大家学习

效果图

我们要做的就是点击获取formid按钮,可以获取到用户的formid和openid,正常我们开发时,是需要把openid和formid传给后台的,这里简单起见,我们直接用获取到的formid和openid实现推送功能

下面来看小程序端的实现代码

1,index.wxml

2,index.js

到这里我们小程序端的代码也实现了,接下来测试下推送。

formid:6ee9ce80c1ed4a2f887fccddf87686eb\nopenido3DoL0Uusu1URBJK0NJ4jD1LrRe0\n

可以看到我们用了上面获取到的openid和formid做了一次推送,显示推送成功

到这里我们小程序消息推送的后台和小程序端都讲完了。

这里有两点需要大家注意

1,推送的openid和formid必须对应。

2,一个formid只能用一次,多次使用会报一下错误。

{“errcode”:41029,”errmsg”:”formidusedcountreachlimithint:[ssun8a09984113]”}\n

编程小石头,码农一枚,非著名全栈开发人员。分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑。

这里就不单独贴出源码下载链接了,大家感兴趣的话,可以私信我,或者在底部留言,我会把源码下载链接贴在留言区。

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平