​​​​1.微信商品详情分享

简介: 微信商品详情分享
// 引用微信分享 sdk
//安装方法
npm install weixin-js-sdk
var wx = require('weixin-js-sdk');
methods: {
    // 微信商品详情分享
      fenXBtn() {
        const url = 'Index/ajaxGetWxConfig'; //location.href.split('#')[0]
        let idS = window.location.href;
        let shareShopId = this.$store.state.shop_id;
        // console.log(idS.replace(/shop_id/,));
        // let askUrl = this.IndexDemo('shop_id') != -1 ? idS : `${idS}&shop_id=${this.$store.state.shop_id}`
        let askUrl = this.$uti.IndexDemo('shop_id') != -1 ? idS : (shareShopId ? `${idS}&shop_id=${shareShopId}` :
          `${idS}`);
        // let askUrl = `${window.location.href}&shop_id=${this.$store.state.shop_id}`
        let wxTitle = this.shopInfo.name
        let wxDesc = this.shopInfo.goods_remark
        let imgBox = this.$uti.getImgCon(this.imgBx) //图片路径封装
        let bodyParam = {
          askUrl
        }
        this.$http.postRequest(url, bodyParam).then(res => {
          // console.log(res);
          const {
            appId,
            nonceStr,
            rawString,
            signature,
            timestamp
          } = res
          // 微信分享授权
          wx.config({
            debug: !1, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出
            appId, // 必填,公众号的唯一标识,填自己的!
            timestamp, // 必填,生成签名的时间戳,刚才接口拿到的数据
            nonceStr, // 必填,生成签名的随机串
            rawString,
            signature, // 必填,签名,见附录1
            jsApiList: [ // 需要使用的JS接口列表
              'onMenuShareTimeline',
              'onMenuShareAppMessage',
              'updateTimelineShareData',
              'updateAppMessageShareData'
            ]
          })
        })
        wx.ready(function() {
          // 分享到朋友圈
          wx.onMenuShareTimeline({
            title: wxTitle, // 分享标题
            // link: 'http://tksn.shangpreechina.com/', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            link: askUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            // imgUrl: that.$uti.getImgCon(this.imgBx), // 分享图标 
            imgUrl: imgBox, // 分享图标
            success: function() {
              // 设置成功
              alert("分享成功");
              // console.log("分享成功");
            }
          })
          //分享给朋友
          wx.onMenuShareAppMessage({
            title: wxTitle,
            desc: wxDesc,
            link: askUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: imgBox, // 分享图标 
            success: function() {
              console.log("分享成功");
            },
            cancel: function() {
              console.log("取消分享");
            }
          });
        })
      }
}

util.js 在页面调用是为了判断分享路径携不携带shop_id(店铺id)

// 判断 页面王志忠书否存在str
const IndexDemo = (str2) => {
  let str1 = window.location.href
  let s = str1.indexOf(str2);
  return (s);
}

2.分享方法封装  分享页面

 

let commoneUrl = 'http:/xxxxxxxxxxxxxxxxxxxxxx/'
//post请求封装
function postRequest222(url, data) {
  var promise = new Promise((resolve, reject) => {
    var postData = data;
    uni.request({
      url: commoneUrl + url,
      data: postData,
      method: 'POST',
      // withCredentials:true,
      header: {
        'content-type': 'application/x-www-form-urlencoded',
        // "Authorization":'22'
      },
      success: function(res) {
        // console.log(res);
        if (res.statusCode === 200 && res.data.resultCode == 0) {
          resolve(res.data);
        } else {
          resolve(res.data)
        }
      },
      error: function(e) {
        reject('网络出错');
      }
    })
  });
  return promise;
}
// 获取网站基础配置信息 
const webConfig = (shop_id) => {
  const url = 'Index/getWebconfig';
  postRequest222(url).then(res => {
    console.log("配置Uti", res);
    if (res.code == 200) {
      uni.setStorageSync('Webconfig', res.data);
      uni.setStorageSync('phone', res.data.MOBILE);
      getApp().globalData.phone = res.data.MOBILE
      uni.setNavigationBarTitle({
        title: res.data.CFG_WEBNAME
      })
      let shop_id = shop_id
      let title = res.data.SYS_SHARE_TITLE
      let remark = res.data.SYS_SHARE_DESC
      let Image = getImgCon(res.data.SYS_SHARE_IMG)
      shareFun(shop_id, title, remark, Image)
      return res.data
    }
    if (res.code == 200) {
      // this.$store.commit('saveWX_Webconfig', res)
      // // 页面标题文字
      // uni.setNavigationBarTitle({
      //  title: res.data.CFG_WEBNAME
      // })
      // this.phoneNumber = res.data.MOBILE
      // getApp().globalData.phone = res.data.MOBILE
      // this.$store.commit('saveWX_APPID', res.data.WX_APPID)
      // try {
      //  uni.setStorageSync('phone', res.data.MOBILE);
      // } catch (e) {
      //  // error
      // }
    }
  })
}
// 引入分享 sdk   安装 npm i weixin-js-sdk
let wx = require('weixin-js-sdk');
// 判断 页面王志忠书否存在str
const IndexDemo = (str2) => {
  let str1 = window.location.href
  let s = str1.indexOf(str2);
  return (s);
}
//.微信分享
/** 
 * shop_id 店铺id 从全局取
 * title  分享标题
 * remark 分享描述
 * Image  分享封面图    
 */
const shareFun = (shop_id, title, remark, Image) => {
  let idS = window.location.href;
  let shareShopId = shop_id;
  let askUrl = IndexDemo('shop_id') != -1 ? idS : (shareShopId ? `${idS}&shop_id=${shareShopId}` :
    `${idS}`);
  let wxTitle = title
  let wxDesc = remark
  let imgBox = Image
  // console.log(askUrl,wxTitle,wxDesc,imgBox);
  const url = 'Index/ajaxGetWxConfig';
  let bodyParam = {
    askUrl
  }
  postRequest222(url, bodyParam).then(res => {
    console.log(res);
    const {
      appId,
      nonceStr,
      rawString,
      signature,
      timestamp
    } = res
    // 微信分享授权
    wx.config({
      debug: !1, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出
      appId, // 必填,公众号的唯一标识,填自己的!
      timestamp, // 必填,生成签名的时间戳,刚才接口拿到的数据
      nonceStr, // 必填,生成签名的随机串
      rawString,
      signature, // 必填,签名,见附录1
      jsApiList: [ // 需要使用的JS接口列表
        'onMenuShareTimeline',
        'onMenuShareAppMessage',
        'updateTimelineShareData',
        'updateAppMessageShareData'
      ]
    })
  })
  wx.ready(function() {
    // 分享到朋友圈
    wx.onMenuShareTimeline({
      title: wxTitle, // 分享标题
      // link: 'http://tksn.shangpreechina.com/', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
      link: askUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
      // imgUrl: that.$uti.getImgCon(this.imgBx), // 分享图标 
      imgUrl: imgBox, // 分享图标
      success: function() {
        // 设置成功
        alert("分享成功");
        // console.log("分享成功");
      }
    })
    //分享给朋友
    wx.onMenuShareAppMessage({
      title: wxTitle,
      desc: wxDesc,
      link: askUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
      imgUrl: imgBox, // 分享图标 
      success: function() {
        console.log("分享成功");
      },
      cancel: function() {
        console.log("取消分享");
      }
    });
  })
}
module.exports = {
  webConfig: webConfig, 
}

页面调用方法

onLoad(e) {
    // 分享
    setTimeout(() => {
      let shop_id = this.$store.state.shop_id
      this.$uti.webConfig(shop_id)
    }, 1000)
}

效果图展示

2.jpg

相关文章
|
Android开发
Android--智能下拉刷新框架(SmartRefreshLayout)
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/79369430 SmartRefreshLayout是一个“聪明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的View,还支持多层嵌套的视图结构。
3737 0
|
存储 监控 安全
资深IT告诉你为什么网络监控非常重要
因为移动设备的广泛使用、疫情带来的远程办公等工作方式的变化,企业网络安全已经由传统的内网安全转变为全方位的网络安全,其中尤其是在网络监控方面。
482 3
|
2月前
|
自然语言处理 Java 开发工具
《零代码到智能体:蚂蚁百宝箱TBox Agent SDK实战指南》
蚂蚁百宝箱开放OpenAPI/SDK调用智能体,开发者每月享10亿免费token。本文教你如何创建智能体,并用Python、Java等代码快速集成调用,涵盖对话与内容生成应用的构建全流程。
450 0
《零代码到智能体:蚂蚁百宝箱TBox Agent SDK实战指南》
|
11月前
|
机器学习/深度学习 人工智能 搜索推荐
哈佛推出全新类ChatGPT癌症诊断AI,登上Nature!准确率高达96%
哈佛大学研究团队开发的新型AI模型CHIEF,在《自然》期刊发表,癌症诊断准确率达96%。CHIEF基于深度学习,能自动识别、分类癌症并预测生存期,具高准确性、多任务能力和泛化性。它结合病理图像与基因组学等数据,显著提升诊断效率和个性化治疗水平,有望改善医疗资源不平等。但数据隐私和临床效果验证仍是挑战。论文见:https://www.nature.com/articles/s41586-024-07894-z
457 101
|
存储 数据挖掘 语音技术
让你的Notebook飞起来!开发体验再上新台阶
魔搭社区ModelScope最近针对大家积极反馈的Notebook功能进行了多方面的体验升级!这次的升级加入了许多令人兴奋的新特性,在很大程度上提升了Notebook的开发效率和体验。一起来看看这些新功能吧!
|
机器人 芯片
ChatGPT提问技巧——对话提示
ChatGPT提问技巧——对话提示
1218 8
什么是复数
【10月更文挑战第12天】什么是复数
2531 1
|
Web App开发 机器人 Linux
什么是GN?以及顺便学点构建系统。
什么是GN?以及顺便学点构建系统。
858 0
|
编解码
视频分辨率和帧率
视频分辨率和帧率
2098 1

热门文章

最新文章