首页 > 其他分享 >uniapp封装公共分享方法

uniapp封装公共分享方法

时间:2024-03-11 15:57:22浏览次数:27  
标签:uniapp 封装 imageUrl shareInfo let 分享 sharePath shareImg

使用mixins封装分享方法

创建share.js

import urlConfig from "@/utils/urlConfig";
export const shareMixins = {
    data() {
        return {
            shareData: {
                title: '', //分享内容的标题
                path: '', //分享内容跳转的页面
                imageUrl: '', //分享内容展示的图片
                content: '', //分享内容展示的文本内容
                desc: ''
            }
        }
    },

    //#ifdef MP-WEIXIN
    onShareAppMessage(e) { //分享到微信页面
        // console.log(e)
        let shareInfo = this.shareData;
        if (e.from == 'button') { //自定义按钮分享
            let _data = e.target.dataset;
            if (_data.name == 'invite') { //邀约
                shareInfo = _data.datum;
            }
        }
        let sharePath = shareInfo.path;
        if (uni.getStorageSync('userInfo')) { //处理分享用户
            let userInfo = JSON.parse(uni.getStorageSync('userInfo'));
            sharePath += '?inviteCustId=' + userInfo.custId;
        }
        let shareImg = shareInfo.imageUrl; //处理分享图片
        if (shareInfo.imageUrl.indexOf('http') == -1) {
            shareImg = urlConfig.fixedCodeUrl + '/resources/miniHMWelfare' + shareInfo.imageUrl;
        }
        console.log(shareInfo, sharePath, shareImg)
        return {
            title: shareInfo.title,
            path: sharePath,
            imageUrl: shareImg,
            content: shareInfo.content,
            desc: shareInfo.desc,
            success: res => {
                console.info(res)
            }
        }
    },
    onShareTimeline(e) { //分享到微信朋友圈
        // console.log(e)
        let shareInfo = this.shareData;
        if (e.from == 'button') { //自定义按钮分享
            let _data = e.target.dataset;
            if (_data.name == 'invite') { //邀约
                shareInfo = _data.datum;
            }
        }
        let sharePath = shareInfo.path;
        if (uni.getStorageSync('userInfo')) { //处理分享用户
            let userInfo = JSON.parse(uni.getStorageSync('userInfo'));
            sharePath += '?inviteCustId=' + userInfo.custId;
        }
        let shareImg = shareInfo.imageUrl; //处理分享图片
        if (shareInfo.imageUrl.indexOf('http') == -1) {
            shareImg = urlConfig.fixedCodeUrl + '/resources/miniHMWelfare' + shareInfo.imageUrl;
        }
        console.log(shareInfo, sharePath, shareImg)
        return {
            title: shareInfo.title,
            path: sharePath,
            imageUrl: shareImg,
            content: shareInfo.content,
            desc: shareInfo.desc,
            success: res => {
                console.info(res)
            }
        }
    },
    //#endif

    onl oad(option) {}
}

页面使用

import { shareMixins} from '@/mixins/share'
export default {
    mixins: [ shareMixins],
    data() {
        return {
            shareData: {
                title: '我是分享标题',
                path: '/pages/index/index?id=1' // 分享的页面路径
            }
        }
    },
} 

 

标签:uniapp,封装,imageUrl,shareInfo,let,分享,sharePath,shareImg
From: https://www.cnblogs.com/czhowe/p/18066221

相关文章

  • uniapp自定义导航栏
    uniapp项目自定义顶部导航栏1.创建组件完整代码navigation.vue<template><viewclass="navbar-header":style="isfixed?'padding-top'+navHeight+'px':'padding-top:0px'"><viewclass="navbarcustom......
  • github上十款热门cmdb项目分享
    github上十款热门cmdb项目分享原创静静和小沐沐IT运维技术圈2024-03-1110:07广东听全文图片 1.Snipe-IT简介:Snipe-IT是一个免费、开源的IT资产管理系统,用于跟踪资产、许可证、配件、耗材以及可借用的资产。它提供直观的界面,支持导入/导出功能,并且有强大的搜索和报告......
  • Vue项目中封装axios统一管理http请求
    <divid="content_views"class="markdown_viewsprism-tomorrow-night"><svgxmlns="http://www.w3.org/2000/svg"style="display:none;"><pathstroke-lineca......
  • Linux脚本分享
    宝塔官方自动挂载硬盘脚本说明:本工具默认将数据盘挂载到/www目录若您的磁盘已分区,且未挂载,工具会自动将分区挂载到/www若您的磁盘是新磁盘,工具会自动分区并格式化成xfs/ext4文件系统已安装宝塔或数据盘有数据务必先做快照或数据备份挂载后建议重启服务器检查是否挂载成......
  • 通达信《鱼窝打分+鱼游打分》鱼仙指标 尾盘专用打分1支 止跌止盈量化计算 盘中捉涨停
    {通达信《鱼窝打分+鱼游打分》鱼仙指标尾盘专用打分1支止跌止盈量化计算盘中捉涨停捉妖源码文件分享}通达信《鱼窝打分+鱼游打分》鱼仙指标尾盘专用打分1支止跌止盈量化计算源码文件分享本指标每天尾盘打分1只《2022鱼仙指标盘中捉涨停妖栏》鱼窝打分鱼游打分稳......
  • python+pytest接口自动化之测试函数、测试类/测试方法的封装
    前言今天呢,笔者想和大家聊聊python+pytest接口自动化中将代码进行封装,只有将测试代码进行封装,才能被测试框架识别执行。例如单个接口的请求代码如下:importrequestsheaders={"user-agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,l......
  • app直播源码,封装调用第三方服务的请求与响应
    在开发app直播源码的过程中,经常会遇到调用一些第三方的请求与响应,如果只是简单的两种请求与响应那么我们只需要去简单的去封装请求头与请求体即可,并且拼接第三方调用的key即可,但是遇到一些流程比较繁琐的调用就显得非常的麻烦了。而高效的去封装这些服务的请求与响应实体不仅......
  • 通达信【主力资金突破】主图图选股公式 监控分析资金的动向 资金趋势选股实战秘技 源
    {股票指标} 主力资金突破全套指标主要通过监控分析资金的动向,通过分析主力资金的流入流出方向跟随主力吃肉的指标。主力资金是指在股票市场中能够影响股市、甚至控制股市中短期走势的资金。股市中个股有资金推动才上涨,主力资金对个股和板块影响都十分重大,主力资金的流入流......
  • 通达信绝地反击釜底抽薪竞价选股公式 枭雄竞价 抓首板 抓连扳 开盘绿开反核低吸 绿盘
    {股票指标}枭雄竞价之绝地反击:专门选昨日未涨停今天绿开的个股,绿盘低吸。每天出信号最多不超过3只,信号全天不变。枭雄竞价之釜底抽薪:专门选昨日涨停(不限几连板)今天绿开的个股,绿盘低吸。每天出信号最多不超过3只,信号全天不变。竞价指标要用到竞价量等未来函数,这些是竞价要用......
  • 通达信独霸金牛王副图预警选股指标公式源码分享
    {股票指标}本指标具有以下优点:{独霸金牛王}顶:80;VAR1:=(HHV(HIGH,36)-CLOSE)/(HHV(HIGH,36)-LLV(LOW,36))*100;做空线:SMA(VAR1,3,1),LINETHICK2,COLORGREEN;VAR2:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;做多线:SMA(VAR2,5,1)-8,LINETHICK2,COLORR......