H5页面在微信端的禁止分享(分享到朋友圈,好友)

本次我们说两种实现方式:第一种是正确无争议保证正确,第二种简单可用,但不保证语法正确(自己刚开始使用的,没问题)!

好了,现在我们开始说第一种方式:

步骤一:安装jssdk

全局安装: npm install weixin-js-sdk

步骤二:封装 config配置

在utils中创建一个wxForbidShare.js,内容如下:(可粘贴复制)

const wx = require('weixin-js-sdk')
// import wx from 'weixin-js-sdk'
var wexinForbidShare = (data) => {let appId = data.appIdlet timestamp = data.timestamplet nonceStr = data.nonceStrlet signature = data.signaturewx.config({debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: appId, // 必填,公众号的唯一标识timestamp: timestamp, // 必填,生成签名的时间戳nonceStr: nonceStr, // 必填,生成签名的随机串signature: signature, // 必填,签名,见附录1jsApiList: ['hideMenuItems'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2})wx.ready(function () {wx.hideMenuItems({menuList: ['menuItem:share:appMessage', 'menuItem:share:timeline', 'menuItem:share:qq', 'menuItem:share:QZone', 'menuItem:openWithSafari', 'menuItem:openWithQQBrowser', 'menuItem:favorite']})})wx.error(function (res) {// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。/* alert("config信息验证失败"); */})
}
export default wexinForbidShare

步骤三:在准备禁止分享的页面,引用js,并获取基本信息

引用:import wexinForbidShare from ‘…/…/utils/wxForbidShare’

created () {
this.getForbidShare()
}

this.getForbidShare()主要就是根据 本页动态 url向后端发起请求,拿到配置所需要的参数:appId、timestamp、noncestr和signature。
注意:
url一定要是动态获取的,并且取地址#号前面的部分,即window.location.href.split(’#’)[0],这里说明一下有的会使用转移后的encodeURIComponent(window.location.href.split(’#’)[0]);这个要根据实际情况,后台交互来定。

this.getForbidShare()内容如下:(可粘提复制)

getForbidShare () {var that = thisvar test = window.location.href.split('#')[0]console.log(test)//  页面微信分享接口that.$get(that.$axiosUrl.sdkConfig, {url: test}).then((response) => {console.log(response.code)if (response.code === 0) {wexinForbidShare(response.data, function () {}, function (e) {Toast.fail('连网错误')})}})},

好了,到此就全部搞定了!

接下来我们说一下第二种方式:

第一步全局安装: npm install weixin-js-sdk
第二部页面引用: import wx from ‘weixin-js-sdk’
页面created:函数中定义 wx. hideOptionMenu();

完事就这样就可以了!但是并没有。。。。
这种方式看着比较简单不需要获取config权限,但是有一点问题就是设置的第一个页面不生效,后续跳转到的第二个页面及以后页面可以实现禁止分享!(对此我着实很奇怪不知道为啥子,很是忧伤,希望你知道的朋友留个言!)
说一下我是怎么实现的吧:我就在第一个页面(需要禁止分享页-A页)前面加了一个页面(该页面-B页的作用就是为了跳转而已,这样就可以实现A页禁止分享页面功能实现了)
下面附上B页的代码;

<template><div></div>
</template>
<style></style>
<script>
import wx from 'weixin-js-sdk'
export default {name: 'activitySignUp',created () {// 本页面是为了让第一个报名页禁止分享},mounted () {var that = thiswx.hideOptionMenu()setTimeout(function () {that.$router.push({path: '/activitySignUpIndex', query: {wUserId: that.wUserId, activityId: that.activityId}})}, 1500)}
}
</script>

好了 都完事了!写完了,第一种大家可以放心编写使用;第二种的原理我是我懂,希望知道原因的员人给予解答,,,看完有帮助的关注一下吧!

微信公众号H5页面:禁止分享操作相关推荐

  1. 微信公众号h5页面禁止用户调整字体大小

    微信公众号内 h5页面,使用计算后的单位 rem 时,用户调整字体大小会导致页面字体.元素的宽高变大活变小,导致页面布局错乱 使其拖拽后禁止修改页面基础字体大小 this.prohibitAndroi ...

  2. 微信公众号H5页面开发--微信JS-SDK引用

    微信公众号H5页面开发–微信JS-SDK引用 微信提供了微信公众号开发者手册,官方地址:https://mp.weixin.qq.com/ 公众号内许多复杂的业务场景,都是通过网页形式来提供服务,这时 ...

  3. 前端实现微信公众号h5页面跳转小程序-成功案例

    微信公众号h5页面跳转小程序-成功案例 微信公众号h5页面跳转小程序-成功案例,标题已经明确说明,h5页面可以正常跳转微信小程序 官网说可以,不是我说的 文章目录 微信公众号h5页面跳转小程序-成功案 ...

  4. 微信公众号h5页面跳转小程序

    微信公众号h5页面跳转小程序 文章目录 微信公众号h5页面跳转小程序 前言 一.注意 二.使用步骤 步骤一:绑定域名 步骤二:引入环境 步骤三:初始配置 前言 问:h5 页面可以跳转至微信小程序吗? ...

  5. 微信公众号H5页面开发怎么获取用户openid

    微信公众号里会嵌套h5页面然后跳转,有时候我们就需要用到用户的openid,今天就为大家介绍一下公众号h5页面怎么获取openid 首先,需要用到公众号的appid,其次需要去公众号里配置好h5页面的 ...

  6. 利用python生成微信h5_Python + Appium 微信公众号 H5 页面自动化测试

    本文内容在以下环境运行成功: Windows10 Python2.7 android-sdk_r24.4.1 Appium-windows-1.15.1 chromedriver_2.40 小米手机 ...

  7. 微信公众号H5页面实现扫一扫功能

    uniappH5实现扫一扫功能 最近遇到一个需求,H5页面使用扫码绑定设备功能,因为uniapp uni.scanCode API H5不支持,网上找了很多方案不合适,因为这个项目是在公众里面运行的, ...

  8. 微信公众号H5页面支付JSAPI

    1:在微信环境下,我们需要获取到code,拿code去获取openid,在获取openid的时候有2种参数分别是:snsapi_base和snsapi_userinfo,snsapi_base只为获取 ...

  9. 微信公众号H5页面获取用户昵称头像等信息(Java)

    H5页面获取微信用户信息操作流程 (一)获取微信权限,由微信用户确认 (二)获取相应的ACCESS_TOKEN和OPENID信息 (三)根据ACCESS_TOKEN和OPENID信息获取相应的用户信息 ...

  10. RTFM:腾讯微信公众号H5页面使用微信支付爬坑记

    一. 微信公众号支付的流程 公众号的页面会在微信环境下打开,所以默认已经有登录态.openID.AppID.AppSecret 都能拿到,申请开通商家支付之后会有 PayKey 和 mch_id (商 ...

最新文章

  1. Git Flow—Git团队协作最佳实践
  2. 理解Android系统的进程间通信原理(二)----RPC机制
  3. UA PHYS515A 电磁理论V 电磁波与辐射7 运动点电荷的辐射
  4. 【Python】青少年蓝桥杯_每日一题_6.27_输出符合要求的10个自然数
  5. Kubernetes v1.16 发布 | 云原生生态周报 Vol. 20
  6. 2021-03-07 Nussbaum函数
  7. liunx系统内核安装图形化界面
  8. LAMP+LNMP(三)Apache(httpd)安装实践
  9. MySQL数据库修改用户登录密码的三种方式
  10. 人物角色群体攻击判定二(叉乘来判断敌人的位置)
  11. 百度正用谷歌AlphaGo,解决一个比围棋更难的问题 | 300块GPU在燃烧
  12. java 中计算时间差
  13. vCenter Server 6.x在同站中重新指向新外部 PSC
  14. 【HDL系列】Brent-Kung树形加法器原理与设计
  15. 云服务器安装软件,如何在云服务器中安装软件
  16. MP地面站二次开发教程(四)地面站优化及其功能测试
  17. 清除缓冲区的几种方法
  18. Calibre for Mac v5.29.0电子书阅读管理工具
  19. 调研:暴恐识别(图像识别)by_xxzcc
  20. MTL文件的参数含义

热门文章

  1. 408计算机考研2012真题解析,2018年计算机408统考考研真题及答案解析.pdf
  2. 软件测试中的测试报告
  3. 美赛常用查数据查文献网站
  4. 1小时搞懂 Git 版本控制
  5. matlab yalmip cplex,matlab – CPLEX YALMIP – “未找到解算器”?
  6. T9社区注册流程记录(笔记)
  7. 原生 Ajax 请求
  8. hcna华为认证网络工程师
  9. 5. 生信技能树——GEO转录组RNA_seq_GSE162550
  10. 毛星云opencv入门边缘检测Canny代码