H5页面在微信端的分享

微信分享,咋一看好像很复杂,实则非常简单。只需要调用微信官方出的微信jssdk,加上些许配置,就可以实现h5页面在微信上的分享,官方文档地址为:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

一、获取基本信息

找到已有公众号的appid,根据这个appid和url向后端发起请求,拿到配置所需要的参数:timestamp、noncestr和signature。

二、实现

1、页面引入JS-SDK文件

通过script标签,引入微信官网的JS-SDK文件

<script src = "https://res.wx.qq.com/open/js/jweixin-1.4.0.js" type="text/javascript" ></script>

2、基本配置

wx.config({
  debug: false,
  // 是否开启调试模式
  appId: appid,
  //appid
  timestamp: timestamp,
  // 时间戳
  nonceStr: noncestr,
  // 随机字符串
  signature: signature,
  // 签名
  jsApiList:
    [
      ‘onMenuShareTimeline‘,
      ‘onMenuShareAppMessage‘,
      ‘onMenuShareQQ‘,
      ‘onMenuShareWeibo‘,
      ‘onMenuShareQZone‘
    ]
  // 需要使用的JS接口列表

})

3、使用

wx.ready(()=> {
  // 分享给好友
  wx.onMenuShareAppMessage({
    title: title, // 分享标题
    desc: desc, // 分享描述
    link: link, // 分享链接
    imgUrl: imgUrl, // 分享图标
    success:  ()=> {
      doShareDone()
    },
    cancel:  ()=> {
      doShareCancel()
    }
  })

  // 分享到朋友圈
  wx.onMenuShareTimeline({
    title: title, // 分享标题
    link: link,  // 分享链接
    imgUrl: imgUrl,  // 分享图标
    success:  ()=> {
      doShareDone()
    },
    cancel:  ()=> {
      doShareCancel()
    }
  })
})

// 分享成功回调
function doShareDone() {
  console.log("分享成功")
}

// 取消分享回调
function doShareCancel() {
  console.log("取消了分享")
}

三、调试

wx.config里的debug字段设置为true时,就可以进行调试。

调试要用到微信开发者工具,选择公众号网页项目,输入页面地址就可以了。

四、遇到的问题及解决方案

微信JS-SDK说明文档的附录5里有大部分问题的解决方案,在这里我列出我遇到的几个上面没有给出解决方案的。

1、Uncaught TypeError: Cannot read property ‘config‘ of undefined

解决:html页面单独引入了sdk,并且组件统一也引入了一遍sdk,导致问题,删除其中之一。

2、Uncaught (in promise) TypeError: Cannot read property ‘ready‘ of undefined

解决:同问题1。

3、invalid signature

  解决:如果文档里的方法都没有解决这个问题,还有一种方法,先设置一种最基础的配置,使其config ok,然后再设置一遍自己需要的有各种参数的分享文案,这样能绕过配置,成功分享。

说的可能有点拗口,简单点理解就是,页面只要有一个config成功的配置,就可以再继续配置其它分享,哪怕这个分享配置的signature无效



原文地址:https://www.cnblogs.com/BeautifulBoy/p/9785005.html

时间: 2024-12-14 13:01:05

H5页面在微信端的分享的相关文章

H5 页面在微信端的分享

微信分享,咋一看好像很复杂,实则非常简单.只需要调用微信官方出的微信jssdk,加上些许配置,就可以实现h5页面在微信上的分享,官方文档地址为: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 一.获取基本信息 找到已有公众号的appid,根据这个appid和url向后端发起请求,拿到配置所需要的参数:timestamp.noncestr和signature. 二.实现 1.页面引入JS-SDK文件 通过scri

h5页面在移动端需要注意的一些事情

H5页面在移动端无法满屏自适应窗口,怎么办? <meta name="viewport"content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/> H5页面在移动端字体应该怎么设置? 1.iOS 系统 默认中文字体是Heiti SC 默认英文字体是Helvetica 默认数字字体是HelveticaNeue 无微

WIFI物联网平台微信端开发分享

本文由企鹅圈原创成员Hunter_Zhu贡献. 本篇文章是基于近期一个项目微信端开发过程的一个总结.文中主要介绍了云智易平台下微信端开发的流程.该平台提供的主要功能以及此次H5开发使用到的一些UI组件.能够帮助企鹅仔高速对该平台微信开发有个了解. 本文介绍的微信硬件物联网开发思路不局限于某个平台.对市场上全部的平台,如机智云也是适用的,特此说明. 一.创建微信应用,配置微信server 在云智易开发平台中,开发人员须要在应用管理中创建一个微信应用,填写微信公众号的基本信息:APPID, APPS

怎样微信扫描二维码跳转页面,H5页面在微信中下载APP的实现方式

使用微信推广的用户经常都会遇到推广链接被拦截导致无法下载app的情况,此时用户在微信中打开会提示“ 已停止访问该网页 ”.这对于使用微信营销的商家来说就很不友好且损失非常大,因为用户是不知道为什么打不开的,商家不知道链接已被微信拦截,造成的结果就是用户大量流失,商家利益大量受损. 那么针对这个问题到底要怎么解决呢,其实只需要一个能实现微信内直接打开链接或跳转手机默认浏览器打开链接的功能,该功能实现后,如果你的链接含app文件则直接下载,如果不含则正常打开指定h5页面. 方案及实现效果 首先我们需

H5页面获取微信公众号的openid

1.H5页面是运行在微信浏览器的 2.需要与公众号关联(即需要openid) 3.判断需求是否需要弹窗告知用户授权操作 4.获取到的openid做本地存储,判断没有openid进行获取openid操作 5.这边的操作是不需要弹出授权框,且code不能重复使用,所以做了关注二维码弹窗且不能关闭弹唱操作 // 强制关注公众号,获取openid getCode = function () { if (sessionStorage.getItem("openid")&&sess

H5页面在微信中下载APP

前言 现如今微信对第三方推广链接的审核是越来越严格了,域名在微信中分享转发经常会被拦截,一旦被拦截用户就只能复制链接手动打开浏览器粘贴才能访问,要不然就是换个域名再推,周而复始.无论是哪一种情况都会面临一个非常严重的问题,那就是用户体验差,用户量无法有效地累积起来,从而导致推广成本一直在增加,推广效率却无法有明显的提升. 所以针对这个问题,特写这篇文章来分享如何正常从微信内访问已经被拦截的链接,或者说如何有效地防止链接被微信拦截.此方法适用于安卓和苹果,且不需要安装任何软件和插件. ? 简单的处

webApp手机网站开发、最新H5+CSS3开发微信端网站

手机网站移动端webApp开发实践来啦,助您更快.更好的学习HTML5+css3手机网站开发知识!!! 移动端web网站(移动端web开发/APP开发).移动端App模版.手机网站模版.HTML5+CSS3网站模版,手机端网站开发模板.手机网站.移动webApp开发.移动端网站.HTML5+CSS3.手机web开发...... WebApp与Native App有何区别呢? Native App:1.开发成本非常大.一般使用的开发语言为JAVA.C++.Objective-C.2.更新体验较差.

H5页面在 ios 端滑动不流畅的问题

IOS系统的惯性滑动效果非常6,但是当我们对div加overflow-y:auto;后是不会出这个效果的,滑动的时候会感觉很生涩.怎么办? 方案一: 在滚动容器内加-webkit-overflow-scrolling: touch 但这个方案有一个问题,在页面内具有多个overflow:auto的情况下,那些具有 绝对定位(absolute, fixed) 属性的元素,也会跟着滚动. 方案二: body {overflow-x: hidden} 即,给 body 元素添加overflow-x:h

h5页面与微信小程序之间的跳转、传参

h5跳小程序: <script src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script> 原帖链接: https://blog.csdn.net/mytljp/article/details/81902305 原文地址:https://www.cnblogs.com/chenmoumou/p/10538645.html