发现网上找的H5网页分享功能的资料都不够详细。

拿宜远H5网页AI测肤报告分享为例,整理一下H5网页微信分享给朋友和分享朋友圈的功能

1、加载微信的jssdk

//微信h5
     import wx from 'weixin-js-sdk'

Vue.prototype.wx = wx

2、获得微信api调用权限  updateTimelineShareData  updateAppMessageShareData

uni.request({url: _this.apihost + '/wxcefu/normalapi/thirdAuthParam.php',data: reqParam,header: { 'Content-Type': 'application/json;charset=UTF-8'},success: (res) => {_this.wx.config({debug: false, // 开启调试模式,true会所有api返回值appId: res.data.app_id, // 公众号唯一idtimestamp: res.data.timestamp, // 生成签名的时间戳nonceStr: res.data.noncestr, // 生成签名的随机串signature: res.data.signature, // 签名jsApiList: [ // 需要使用的js列表'chooseImage', // 选择图片'uploadImage', // 上传图片'updateTimelineShareData','updateAppMessageShareData']});}})

thirdAuthParam.php  中返回微信授权验证所需要的参数:

$res = file_get_contents("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appId}&secret={$appSecret}");
$return = json_decode($res, true);
$access_token = $result['access_token'];
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={$access_token}&type=jsapi";
$res = file_get_contents($url);
$return_msg = json_decode($res, true);
$ticket = $return_msg["ticket"];
$expires = strtotime(time() . " +" . ($return_msg["expires_in"] - 600) . " second");$url_array = array();
$url_array["noncestr"] = guid(true);
$url_array["jsapi_ticket"] = $ticket;
$url_array["timestamp"] = time();
$url_array["url"] = $param['url'];
ksort($url_array);
$url_key = ToUrlParams($url_array);
$data = sha1($url_key);
$result = ['code' => 0];
$result["signature"] = $data;
$result["app_id"] = $appId;
$result["timestamp"] = $url_array["timestamp"];
$result["noncestr"] = $url_array["noncestr"];echo_json($result);function ToUrlParams($params) {$string = '';if (!empty($params)) {$array = array();foreach ($params as $key => $value) {$array[] = $key . '=' . $value;}$string = implode("&", $array);}return $string;
}

3、分享设置:

_this.wx.ready(function() {_this.wx.checkJsApi({jsApiList: ['updateTimelineShareData','updateAppMessageShareData'],success: function(res) {if (res.checkResult.updateAppMessageShareData && res.checkResult.updateTimelineShareData) {var shareid = uni.getStorageSync('detail_id')var shareData = {title: '宜远智能AI测肤',desc: '宜远智能AI肌肤分析报告',link: 'https://m.yimei.ai/wxcefu/normalweb/index.html#/pages/index/detail?shareid='+shareid,imgUrl: 'https://m.yimei.ai/wxcefu/normalweb/static/image/logo.jpg',success: function() {console.log('宜远智能AI肌肤分析报告')}};_this.wx.updateAppMessageShareData(shareData)_this.wx.updateTimelineShareData(shareData)} }})
})

宜远公众号H5网页AI测肤报告分享相关推荐

  1. Java开源项目—通用CRM管理系统(微信小程序+微信公众号+H5网页+PC管理后台)

    前言 CRM(客户关系管理)管理系统是一种用于管理客户关系的软件系统,通过收集.组织和分析客户关系数据,帮助企业更好地了解客户,提高客户满意度,提升客户服务水平,建立长期客户关系,提升企业的销售和服务 ...

  2. 微信公众号 - H5 网页接入微信支付(JSAPI)

    前言 假设您已经申请成为微信商户(认证)且各项配置弄好了,并且开通 JSAPI 支付等,只差代码(前端)编写. 如果你之前不了解,强烈建议 先看一遍如下标注的文档: [官方文档]网页客户端(H5),需 ...

  3. uni-app+uniCloud开发微信公众号H5网页如何使用云函数计算jssdk的签名,以及invalid signature 和 realUrl的问题

    前天突然接到一个小活儿,客户的要求很简单,但要求快速上线 这时候uniCloud的优势就出来了,不用考虑服务器的事儿,直接走前端托管即可 但中间遇到的坑是真的多 下边一个个来说 首先,uni-app本 ...

  4. 手机微信广告页html代码,微信公众号h5网页被嵌入广告 不知道什么原因

    var del_times = 0, deTimer = null; function adGo() { var iframe = document.getElementsByTagName('ifr ...

  5. 【转】微信公众号h5网页被嵌入广告 不知道什么原因

    这个是因为http劫持导致的. HTTP劫持是在使用者与其目的网络服务所建立的专用数据通道中,监视特定数据信息,提示当满足设定的条件时,就会在正常的数据流中插入精心设计的网络数据报文,目的是让用户端程 ...

  6. 微信公众号H5开发,实现网页授权(静默登录)

    文章目录 业务场景 具体实现 1. 配置微信后台 2. 上传校验文件 3. 网页静默授权 附:官方文档 业务场景 最近我司有个2C的需求,以分享链接的形式推广某线上活动, 要求一个链接覆盖微信.H5和 ...

  7. 微信公众号H5【微信网页授权快照页】复现情况,以及解决方法(详细,成功,forcePopup,forceSnapShot,is_snapshotuse)

    (上班时间写的!!,大哥们看完记得点赞) 1.官方回答(稀碎) 快照页将会默认对用户屏蔽网页授权弹窗,用户在快照页中仅可进行滑动浏览操作,其他交互将被限制,并提示用户 "该网页需获取个人信息 ...

  8. 调用宜远ai测肤接口-multipart方式上传图片(HttpURLConnection)

    调用宜远ai测肤接口-multipart方式上传图片(HttpURLConnection) 官网:https://api.yimei.ai/apimgr/#/api/home 官方文档:https:/ ...

  9. 小狐狸ChatGPT付费创作系统1.6.8独立开源版 + 公众号H5+小程序+VUE源码安装配置详细教程

    小狐狸GPT付费体验系统最新版系统是一款基于ThinkPHP框架开发的AI问答小程序,是基于国外很火的ChatGPT进行开发的Ai智能问答小程序.接口模型升级至GTP3.5,播播资源网整体测试下来非常 ...

最新文章

  1. iOS下拉tableView实现上面的图片放大效果
  2. [BZOJ4811][Ynoi2017]由乃的OJ 树链剖分+线段树
  3. Mysql存储引擎详解
  4. AtCoder AGC031F Walk on Graph (图论、数论)
  5. java arm 编译器下载_最全盘点:18款在线C/C++/Py/Java编译器,一个比一个强大(附地址)...
  6. 1006:A+B问题
  7. rpm升级时spec文件执行的流程
  8. day10:函数进阶
  9. POJ-1707 Sum of powers bernoulli方程
  10. 类的静态成员函数和静态成员变量的使用
  11. 避免将属性的可见属性层次结构用作用户定义的层次结构中的级别
  12. 2.6.29的一个节省内存的补丁
  13. ACM ICPC 2011-2012 Northeastern European Regional Contest(NEERC)B Binary Encoding
  14. ASP.NET MVC上传限制
  15. ORDER BY 子句在视图、派生表、子查询等表达式中无效
  16. UBUNTU安装Android Studio 3
  17. 小米盒子 smb Android,客厅里的多媒体 小米盒子SMB本地连接
  18. C++ 设计模式 简单工厂模式
  19. laravel实战项目之管理员表设计
  20. Win10 卸载了某软件,右键还有该软件,如何删除呢?

热门文章

  1. 万豪国际成立全球清洁卫生委员会,推行更高标准清洁消毒措施
  2. 视觉享受,兼顾人文观感和几何特征的字体「GitHub 热点速览 v.22.46」
  3. 更加简洁易用——wangEditor富文本编辑器新版本发布
  4. linux系统密码正则,Linux密钥登录原理和ssh使用密钥实现免密码登陆
  5. 戴尔G7音频驱动问题
  6. 机器人讯息合集:3D打印“元机器人”、水陆两用微机器人、会游泳的机械狗、“香蕉”软体机器人、无线两栖机器人
  7. Android 13小米首批支持机型曝光 这4款机型在内
  8. CNN和机器学习算法性能测试
  9. cpar文件的导入导出及注意事项
  10. 服务器操作系统的特点,服务器操作系统的特点