mpvue对接微信小程序详细流程指南

Mpvue接入微信小程序指南

Mpvue,即使用vue的开发模式结合微信小程序api来开发微信小程序,好处是免去了学习原生小程序语法的时间,提高开发效率和保持框架一致性可复用。但mpvue自身也存在一些缺陷和vue对比的些许差异,所以从以下几个方面说明mpvue接入微信小程序的流程。

  • 安装以及引入

(1)安装参考:http://mpvue.com/mpvue/,流程和安装vue一样

(2)目录结构

目录结构也没什么要说的,结构和采用vue-cli3.0生成的项目类似。需要注意的就是 static目录,mpvue项目的静态资源(图片、图标、第三方sdk、json数据等)都应该放在这个项目中。因为在编译成微信小程序的过程中,static会原封不动的放在 微信小程序 static目录下,这样就减少了编译时间和减少出错的几率。

(3)微信开发者工具

①下载微信开发者工具

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

此工具可高效开发微信小程序和公众号项目

②引入项目

可新建也可以引入,这里我选导入项目。

Appid可以使用已经注册号的小程序,如果没有注册,可以使用测试号,但测试号会少一部分功能,比如上传代码。开发前先需要管理员在小程序后台加入开发者名单(测试号不需要)

  • 开发

开发模式和现有的vue开发流程一样,需要注意的就是 生命周期部分,搞清楚了生命周期,开发基本就没什么问题了。

  1. 技术栈

mpvue+vuex+fly.js+storage(缓存)

    • 为了保证代码可迁移可复用性,不用微信自带的wx.request()做ajax请求,而是采用fly.js http请求库,这样就可以在其他h5或者web端复用。

https://www.jianshu.com/p/99915695267a

    • 小程序 的ui框架目前足够使用,就不需要引入额外的ui框架 ,比如weui,如需使用再安装。

https://mpcomponent.github.io/mpvue-weui/guide/

    • 缓存,直接调用api即可

  1. 生命周期

生命周期部分,具体先看一下这篇文章

https://blog.youkuaiyun.com/qq_35430000/article/details/99710462

小程序生命周期  onLoad、onShow等生命周期够用,可抛弃vue原有生命周期。

总结一点:使用mpvue开发,采用vue的开发方式,使用小程序的生命周期。

缺点:mpvue生命周期有一个缺陷,举个例子:当前页面表单填充的内容 在下个页面点击返回后依然存在,也就是说 页面的data没有销毁,这时候需要手动去初始化和清空数据。

这个缺陷在 mpvue  issue上面有提到:

https://github.com/Meituan-Dianping/mpvue/issues/140

  1. 微信小程序api调用

因mpvue是适应微信小程序的框架,所以mpvue是可以识别 微信 wx变量的,小程序所有的api 都可以通过wx进行调用,需要注意的就是 要使用变量接收vue实例 this

Api:https://developers.weixin.qq.com/miniprogram/dev/api/

  1. 打包环境区分

可以看到在mpvue package.json中不但可以打包微信小程序,还对头条、百度、支付宝等小程序有支持,这里不涉及这些产品,红框部分直接删除,然后设置我们需要的变量 dev sit uat prd等。

因NODE_ENV在一些配置中已经使用,为了减少编译出错,另外设置变量WX_ENV作为服务器环境的区分,dev.env.js 和prod.env.js的区分如下

  1. 引入第三方sdk,以引入腾讯地图 sdk为例

https://lbs.qq.com/qqmap_wx_jssdk/index.html

申请秘钥,下载对应sdk 等等。

  • 把第三方包放在 static 目录下

  • 需要注意的是,微信小程序正式环境貌似只支持https请求,所以原来http需要进行升级。所以在开发阶段,可以在详情的本地设置中,勾选不校验合法域名、https

  1. 微信小程序屏幕适配

微信小程序采用自适应的 单位 rpx,750rpx正好就是一个屏幕宽度。用的时候大概是原来 px的一半左右,比如原来 20px字体,在小程序中需要 40rpx,大概适用。

  • 版本发布

微信小程序提供了一整套代码发布审核上线的流程,只需等待审核通过即可。

(1)dev sit uat prd进行打包。

通过在package.json设置的命令进行wx 的打包,wx即为微信。

最后发现会在dist –>wx微信目录下已经打包好了对应的微信小程序包,wx目录即为mpvue解析转换成小程序语言的最终目录。

(2)代码上传,点击上传按钮,设置版本号和备注

(3)代码上传完毕后,可以在小程序管理后台看到上传的版本,这时可以对上传的版本进行操作,可以提升为体验版或者正式版。https://mp.weixin.qq.com/wxamp/home/guide?token=905227300&lang=zh_CN

值得注意的是,每次上传版本,都会覆盖原来已上传的开发版本。

体验版二维码可直接微信扫码查看

<think>好的,我现在需要帮助用户了解Java对接微信小程序的整体开发流程。首先,我需要整合用户提供的引用内容,特别是引用1到4,这些引用提到了前后端通信、开发入门教程、Spring Boot整合小程序以及获取openID和手机号的示例。 首先,用户的主要问题是询问Java开发微信小程序的整体流程,并希望参考微信官方文档和示例教程。根据引用2,微信小程序的开发文档链接已经给出,我需要确保流程中涵盖前端和后端的配置,尤其是Java后端如何与小程序通信。 接下来,引用1提到使用GET方法将数据传到Java Servlet,处理并返回数据。这可能涉及到后端的控制器编写,比如使用Spring Boot的@RestController处理请求。引用3提到了基于Spring Boot的小程序商城案例,说明Spring Boot是常用的Java框架,需要整合到流程中。引用4则详细说明了如何获取openID和用户手机号,这涉及到微信的API调用,如wx.login和wx.getPhoneNumber,以及后端如何通过appid、secret和code换取session_key和openid。 我需要按照步骤来组织流程,从前端配置开始,到后端环境搭建,再到具体功能的实现,比如用户登录、数据通信等。同时,要确保每个步骤都有对应的文档或示例支持,比如引用2的官方文档链接,引用4的代码示例。 可能需要注意的地方包括微信小程序的appid和secret的安全性,后端接口的跨域问题,以及微信API的调用流程是否正确。此外,需要指导用户如何测试和调试,比如使用微信开发者工具和Postman进行接口测试。 最后,生成相关问题时要围绕用户可能遇到的后续问题,比如如何保证通信安全、处理用户数据等,参考已有的引用内容,确保问题具有针对性。</think>### Java对接微信小程序开发流程详解 #### 1. 环境准备阶段 - **小程序前端配置**:注册微信小程序账号并获取AppID[^2],安装微信开发者工具,创建项目时填入AppID - **Java后端环境**:建议使用Spring Boot框架搭建,Maven依赖需包含`spring-boot-starter-web`[^3],JDK版本推荐1.8+ #### 2. 通信基础搭建 - **接口定义**:使用`@RestController`创建RESTful接口 ```java @RestController @RequestMapping("/api") public class WxController { @GetMapping("/test") public String testConnection(@RequestParam String data) { System.out.println("收到小程序数据:" + data); return "服务端响应数据"; } } ``` - **跨域配置**:添加CORS配置类解决跨域问题[^1] #### 3. 核心功能开发 - **用户身份认证**: (1) 小程序端调用`wx.login()`获取code[^4] (2) Java后端通过code换取openid: ```java String url = "https://api.weixin.qq.com/sns/jscode2session?" + "appid=" + appId + "&secret=" + secret + "&js_code=" + code + "&grant_type=authorization_code"; ``` - **数据加解密**:使用`WxMaCryptUtils`处理加密数据(如获取手机号) #### 4. 部署与联调 - **本地测试**: - 后端使用`spring-boot-maven-plugin`打包运行 - 小程序端设置`request`域名白名单 ```javascript wx.request({ url: 'http://localhost:8080/api/test', method: 'GET', success: res => console.log(res.data) }) ``` - **生产部署**: - 服务器需备案域名 - 配置HTTPS证书(微信强制要求) #### 5. 官方资源指引 - 接口文档:微信官方开发文档[^2] - 加解密工具:微信提供Java版加解密库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值