vue 微信公众号开发

开题

上个月初入职了一家新公司。来了新公司很忙。本来计划是在上个月底写一篇博客的,写一下关于新公司的事情。
几度思考之后还是没写。也许做程序员接手别人的项目,都会说别人的项目多么的坑吧。但是我接手的这个两个
不是我一个人说坑。各种非人道的东西就不一一说了。整体开发效率降低。前几天前端来了一个同事,所以才有时间写这些。

正题 – vue 微信公众号开发

这个月帮一个朋友做一个微信公总号开发的项目。
之前做这类项目都是一个页面一个html的形式,单位用的rem。这次采用的是vue做的SPA单页应用,单位是vw。
这次在采坑的过程中有些需要总结一下的。

坑一 – 联通广告植入

应为需要给别人看效果,所以项目是部署在我的服务器上的。开始前一周还好,后面做到快要结束的时候,页面
给联通植入的广告,没办法关闭。为这个问题花了一些时间。开始想到的是采用https。我阿里云的免费证书都申
请好了,前端nginx也部署好了(可以看这里Nginx部署静态网页(2017.11.17添加https))。可是后台的接口是http的。前端部署为https之后没法访问http的后台接口。
后台我也给他证书了,可是他Tomcat不会部署,阿里云有操作步骤,截图给他了还是不会。我的内心是崩溃的啊……
没得法,后台不能配合。只能继续使用http的了。但是这里就有一个问题了,为什么前端是https的网页不能访问后台的http接口。
目前还没答案。
为了解决广告,打电话给联通了,回答的也是非常业余。也打电话了阿里云了,让我提工单,没时间。后来没管了。
广告就偶尔才会出现。恶心的运营商,什么时候可以做一点好事。

坑二 – vm兼容性问题

之前做手机端一直使用rem,使用Flexible实现手淘H5页面的终端适配中介绍的。
使用淘宝的lib-flexible。这个也是一直做项目使用了两年多了。现在想换一下。
结果看见了如何在Vue项目中使用vw实现移动端适配这里作者介绍了详细的使用步骤和其他说明。
由于鄙人短视,没有仔细把作者文章看完,导致了项目在快要做完的时候,用苹果手机和safari浏览器测试的时候发现
img标签的图片显示不出来。我自己又之后安卓手机,一直到那个时候才发现这个问题。被这个问题困然了两三天。
后来在网上看见了[New]Vue项目使用vw实现移动端适配教程这篇文章才解决的。
实际在上面大漠的文章中就有,只是我没看见。
关于为什么苹果手机和safari浏览器中img标签图片显示不出来,请仔细看如何在Vue项目中使用vw实现移动端适配。
解决办法也在里面。
这个坑其实是自己挖的。

获取openid

其实这个过程去年初的时候做过微信网页开发–获取微信用户信息,只不过那时候是一个页面一个html这次是vue的SPA。
原理都是一样的。这是微信的文档:微信网页授权。按照步骤做。
首先是设置MP_verify_xxxx.txt文档再设置安全域名。

我的做法是:
直接把MP_verify_xxxx.txt放在dist目录下面。nginx的部署好之后就可以访问了。

大家看见了也auth.html文件,这个里面只做了一件事:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"><title>hxproject</title></head><body></body><script>window.onload = function(){var redirect_uri = encodeURIComponent('http://xxx.com/#/home');window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri='+ redirect_uri +'&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect';}</script>
</html>

之后在http://xxx.com/#/home页面的路径后面微信会给我们添加一个code参数,剩下的就是后台根据这个code参数去获取用户信息
在写这篇博客的时候做的项目按照这种路由模式可以,但是到了8月份必须使用history模式了,也就是回调地址是:http://xxx.com/home
返回给前端。其实做获取openid,一定要多看文档。剩下的没难度。

微信公总号支付 – 微信内H5调起支付

关于微信支付,可以看之前微信小程序开发(五)小程序支付-统一下单。
后台部分基本一样。
就是前端部分有区别:
微信公总号支付:

function onBridgeReady(){WeixinJSBridge.invoke('getBrandWCPayRequest', {"appId":"wx2421b1c4370ec43b",     //公众号名称,由商户传入     "timeStamp":"1395712654",         //时间戳,自1970年以来的秒数     "nonceStr":"e61463f8efa94090b1f366cccfbbb444", //随机串     "package":"prepay_id=u802345jgfjsdfgsdg888",     "signType":"MD5",         //微信签名方式:     "paySign":"70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名 },function(res){     if(res.err_msg == "get_brand_wcpay_request:ok" ) {}     // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。 });
}
if (typeof WeixinJSBridge == "undefined"){if( document.addEventListener ){document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);}else if (document.attachEvent){document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);}
}else{onBridgeReady();
}

上面这个方法 已经废弃了
微信JSSDK-微信支付

wx.chooseWXPay({timestamp: 0, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符nonceStr: '', // 支付签名随机串,不长于 32 位package: '', // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)signType: '', // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'paySign: '', // 支付签名success: function (res) {// 支付成功后的回调函数}
});

微信小程序支付

wx.requestPayment({'timeStamp': '','nonceStr': '','package': '','signType': 'MD5','paySign': '','success':function(res){},'fail':function(res){}
})

其实支付前端需要的几个参数的名字和类型是一样的。只是后端有些差异。

vue 微信公众号开发相关推荐

  1. (Node+Vue+微信公众号开发)企业级产品全栈开发速成周末班

    (Node+Vue+微信公众号开发)企业级产品全栈开发速成周末班 从零到壹全栈部落 产品:个人独立博客,21点见 Vue + Node + MongoDB支持服务端渲染的博客系统(5天) 开发环境技术 ...

  2. vue在微信里面的兼容问题_详解Vue微信公众号开发踩坑全记录

    本文介绍了Vue微信公众号开发踩坑全记录,分享给大家,也给自己留个笔记. 需求 微信授权登录(基于公众号的登录方案) 接入JS-SDK实现图片上传,分享等功能 现状及难点 采用的Vue框架,前后端分 ...

  3. vue + 微信公众号开发+腾讯地图定位显示附近商家多点标记并自定义标记样式

    先看下效果吧 首先进行公众号的常规开发,引入jssdk,相关配置代码如下 引入后可以使用微信内置定位功能,获取用户经纬度 重点!引入腾讯地图JS API 点击查看腾讯javascript API 在i ...

  4. vue 微信公众号开发 网页授权 配置业务域名

    服务号! 服务号! 服务号! 1.官网下载xxx.txt文件 2.将文件放入vue项目的static文件夹中(注意不是src的static) 3.输入域名网址www.xxx.com/static/xx ...

  5. 微信vue路由跳转兼容_Vue微信公众号开发踩坑记录

    需求 微信授权登录(基于公众号的登录方案) 接入JS-SDK实现图片上传,分享等功能 现状及难点 采用的Vue框架,前后端分离模式(vue工程仅作为客户端),用户通过域名访问的是客户端,但是微信授权中 ...

  6. 基于Vue的微信公众号开发及选型研究

    目录 1.背景介绍 1.1微信公众号简介 1.2Vue框架简介 1.3组件库简介 2.开发流程 2.1申请微信公众号 2.2申请微信测试号及配置 2.3安装微信开发者工具 2.4创建Vue项目 2.5 ...

  7. 微信公众号开发之授权登录(前端vue篇)

    前序: 由于之前一直是后端直接调用微信授权后,拿到相关信息后再返回给我(就是以前的前后端不分离),所以对微信公众号开发的微信授权登录还一直处于懵逼情况,直到今天有一个项目需要前后端分离,要前端主动去获 ...

  8. vue微信公众号授权开发流程

    vue微信公众号授权开发流程 项目采用的是vue2.0开发的,还未更新到vue3.0.项目描述:只有通过微信授权登录,不需要绑定手机号. 1.注册公众号,这个不多说了 2.配置公众号 在[公众号设置] ...

  9. 基于Vue+SpringCloudAlibaba微服务电商项目实战-技术选型-004:快速整合微信公众号开发

    004:快速整合微信公众号开发 1 微信公众号开发项目演示 2 微信公众号开发设计原理 3 基于natapp将本地项目发布到外网 4 对接微信公众号测试平台 5 第三方微信框架快速实现微信开发 6 微 ...

最新文章

  1. php 中文 处理,PHP处理中文字符串截取
  2. android 父控件的背景_android控件拖动,移动、解决父布局重绘时控件回到原点
  3. 谷歌浏览器禁止右滑返回历史_移动端h5禁用浏览器左滑右滑的前进后退功能
  4. 重磅 | Dragonfly 晋升成为 CNCF 孵化项目
  5. Linux C:文件描述符、IO重定向、恢复标准输入输出
  6. 每日程序C语言9-判断分数段
  7. 公平锁非公平锁的实际使用_3. redisson源码公平锁之队列重排序
  8. Android.自定义控件的实现 (转载)
  9. drupal7的目录结构及术语
  10. html展示值 vue_vue在html使用
  11. Ubuntu16.04下Nvidia+Cuda8.0+Dynet安装教程
  12. (C语言)用C语言编写小游戏——三子棋
  13. 在Ubuntu 20.04上安装MySQL教程
  14. arcgis投影坐标转经纬度
  15. MATLAB中矩阵求和的方法
  16. 在编辑word时,如何查找和替换空格符呢?
  17. java中的add()_java中的add方法
  18. 使用多个可选过滤器过滤 Eloquent 模型
  19. ESP8266-Arduino编程实例-MAX44009环境光传感器驱动
  20. EtherCAT从站协议栈代码笔记之ecat_def.h

热门文章

  1. [转载]李开复:什么是领导力
  2. list_for_each_entry解析
  3. 群晖QuickConnect与DDNS之间有何区别?
  4. 定义一个长方形(Rectangle)类,有长、宽属性,对每个属性都提供相应的get/set方法。
  5. 来自 采摘~~ Python
  6. steam进社区显示服务器错误,Steam社区显示102错误代码怎么办?为什么不能打开Steam社区?...
  7. 2021年数据库课设该怎么做?一个超市管理系统,简单的前后端分离项目,带你从概要设计走到项目发布!(Vue.js+SpringBoot+MybatisPlus)
  8. 关抢占 自旋锁_也说自旋锁
  9. Lumen (Laravel子框架) 简介及分析
  10. 毕业设计 基于JavaWeb的奖学金评定管理系统