<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
padding: 0;
margin: 0;
}
#tips {
position: fixed;
top: 0;
right: 0;
left: 0;
/* height: 100vw; */
display: none;
}
#tips img {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div>
<div id="tips">
<img src="./tips.png" alt="提示">
</div>
</div>
</body>
<script src="https://fe-static.xhscdn.com/biz-static/goten/xhs-1.0.1.js"></script>
<script>
var u = navigator.userAgent.toLowerCase();
let isAndroid = isAdr();
let isWx = isWeixin();
let params = {
storeId: 0,
themeId: 0
};
//安卓 在微信浏览器
if (isAndroid && isWx) {
//打开提示 安卓端提示在默认浏览器打开
document.getElementById("tips").style.display = 'block';
} else {
goFun();
}
/**
* 执行方法
*/
async function goFun() {
await getParams();
let data = await getConfig();
xhsFn(data.data, data.shareInfo);
}
/**
* 判断是否是安卓
*/
function isAdr() {
let isAndroid = u.indexOf('android') > -1 || u.indexOf('adr') > -1; //android终端
return isAndroid
}
/**
* 判断是否在微信浏览器
*/
function isWeixin() {
if (u.indexOf('micromessenger') !== -1) {
return true;
} else {
return false;
}
}
/**
* 获取路径上的参数
*/
function getParams() {
return new Promise((resolve) => {
//从地址中获取 门店ID和主题ID
const urlParams = new URLSearchParams(window.location.search);
for (const [key, value] of urlParams.entries()) {
params[key] = value;
}
resolve();
})
}
/**
* 获取数据
*/
function getConfig() {
return new Promise((resolve) => {
// 目标URL
const url = `请求接口`;
// 发送GET请求
fetch(url)
.then(response => {
// 确保响应成功(状态码在200-299)
if (!response.ok) {
throw new Error('Network response was not ok ' + response.statusText);
}
return response.json(); // 解析JSON
})
.then(data => {
resolve(data)
})
.catch(error => {
console.error('There has been a problem with your fetch operation:', error); // 处理错误
});
})
}
/**
* 调起小红书的API
*/
function xhsFn(data, shareInfo) {
let images = shareInfo.images.filter(v => v);//判断图片存在
xhs.share({
shareInfo: {
type: 'normal', // 必填,笔记类型 'video' | 'normal'
title: shareInfo.title, // 笔记标题
content: shareInfo.content, // 笔记正文
images, //图文类型必填,笔记图片,必须是服务器地址,暂时不支持本地文件
video: '', // 视频类型必填,必须是服务器地址
cover: '' // 视频封面图,必须是服务器地址,暂时不支持本地文件
},
verifyConfig: data,
fail: (e) => {
// 调用失败时执行的回调函数
console.log(e)
},
})
}
</script>
</html>
h5调起小红书的分享 js-sdk
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 先要下载weixin-js-sdknpm i weixin-js-sdk新建js文件命名为share.js写如下代...
- 前言:在上篇文章我们讲到了具体如何实现H5跳转小程序的方法,给出了一些参考的相关文档,并也阐述了一些需要注意的事项...
- 1、经过2天的坑总结一下两个支付集成:浏览器alloc设置: 代理方法区分微信和支付宝跳转- (void)webV...