vue分享微信,基于打包后的apk,非网页版_小仙女de成长的博客-程序员宅基地

技术标签: webapp相关系列  

亲自写的项目~~

1.需要引入mui.js

2.拿我代码去开发吧~~~~

<template>
  <div>
     <input type="button" value="微信分享" @click="shareHref()" />
 </div>
</template>
<script>
var Intent = null,
    File = null,
    Uri = null,
    main = null;
var shares = null;
var shareImageUrl = '';
export default {
 methods: {
    shareHref() {
      let _this = this
      var ids = [{
          id: "weixin",
          ex: "WXSceneSession" /*微信好友*/
        }, {
          id: "weixin",
          ex: "WXSceneTimeline" /*微信朋友圈*/
        }],
        bts = [{
          title: "发送给微信好友"
        }, {
          title: "分享到微信朋友圈"
        }];
      plus.nativeUI.actionSheet({
          cancel: "取消",
          buttons: bts
        },
        function(e) {
          var i = e.index;
          if(i > 0) {
            _this.shareAction(ids[i - 1].id, ids[i - 1].ex);
          }
        }
      );
    },
    shareAction(id, ex) {
      alert('点击按钮')
      let _this = this
      var s = null;

      if(!id || !(s = shares[id])) {
        alert('点击按钮11')
        _this.outLine("无效的分享服务!");
        return;
      }
      alert('微信吗'+id)
      if(s.authenticated) {
        _this.outSet("---已授权---");
        _this.shareMessage(s, ex);
      } else {
        _this.outSet("---未授权---");
        s.authorize(function() {
          _this.shareMessage(s, ex);
        }, function(e) {
          _this.outLine("认证授权失败");
        });
      }
    },
    outLine(msg) {
      mui.toast(msg);
    },
    outSet(msg) {
      alert(msg)
      console.log(msg);
    },
    updateSerivces() {
      let _this = this
      plus.share.getServices(function(s) {

        shares = {};
        for(var i in s) {
          var t = s[i];
          shares[t.id] = t;
         }

        _this.outSet("获取分享服务列表成功");
        alert(299)
      }, function(e) {
        _this.outSet("获取分享服务列表失败:" + e.message);
      });
    },
    shareMessage(s, ex) {
      let AppID = '789'
      var msg = {
        content: 'ceshi',
        href: 'http://www.xxx/xx.html?id='+AppID, //换成你自己的
        title: '测试标题',
        content: '测试内容',
        thumbs: ["img/mmexp.png"],
        pictures: ["img/mmexp.png"],
        extra: {
          scene: ex
        }
      };
      alert('授权中w')
      s.send(msg, function() {
        _this.outLine("分享成功!");
      }, function(e) {
        _this.outLine("分享失败!");
      });
    },
    
    
  },
  created () {
   
    let _this = this
    mui.plusReady(function() {
      _this.updateSerivces();

      if (window.plus) {
        document.addEventListener('plusready', _this.updateSerivces())
      } else {
        alert('PC端')
      }


    })


  },
  
}
</script>
 

感谢作者提供的思路

http://www.cnblogs.com/wangercha/p/7416682.html?tdsourcetag=s_pcqq_aiomsg

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_32963841/article/details/90287307

智能推荐

iOS小技能:给debugserver添加task_for_pid权限,以便调试从AppStore中获取的App。_debugserver ios_iOS逆向的博客-程序员宅基地

前言在做iOS开发时,在Mac上输入LLDB的命令就可以控制iOS端的App,是因为在我们iOS客户端中有一个debugserver服务器。debugserver专门用来连接Mac端的LLDB客户端,接收LLDB所提供的命令,并且进行相应的执行。 如果你的iOS设备进行过真机调试的话,设备中就会被安装上debugserver, 不过该debugserver只能用来调试你自己的相关应用。 如果想要

MACOS开发 -- 通过访问Camera,实时获取图片_macos camera库_HiroGuo的博客-程序员宅基地

之前做过一个项目,就是通过MAC 端软件来监控。路口或者家门口摄像头所拍摄的实时画面。项目匆匆结束交付之后,最近查看想在上面做点其他的需求。发现当时给的测试账号已经过期啦。无奈只能实用自己的笔记本摄像头来代替。 因为之前的的数据访问与数据展示都是我做点,所以说写就是。But…. 悲剧的事情发生啦。之前QTKit下的QTCaptureDevice的系统类都找不到啦。于是,网上各种翻阅资料也不得其果...

Windows之在终端打开当前目录的命令_码莎拉蒂 .的博客-程序员宅基地

1 问题Windows在终端打开当前目录的命令2 命令如下1)、通过start命令start .2)、通过explorer命令explorer .3 linux终端打开当前目录命令如下nautilus .4 mac终端打开当前目录命令如下o...

Python游戏开发笔记之pygame库(二)_pygame检测指定位置的图层_Mr_Stutter的博客-程序员宅基地

文章目录前言精灵类--pygame.sprite.Sprite精灵组类--pygame.sprite.Group精灵冲突--pygame.sprite.collide精灵组管理--pygame.sprite.LayeredUpdates动态效果总结前言记录pygame的精灵类、精灵组类、实现动态效果、图层管理等内容。精灵类–pygame.sprite.Sprite框架class Ball(pygame.sprite.Sprite): def __init__(self...): p..

mac电脑安装brew、vscode、nodejs、截图等软件_brew vscode_sanqima的博客-程序员宅基地

先安装brew包管理工具,后安装git、vscode、nodejs等软件。有剪切板工具Maccy、截图工具snipaste、编译工具C/C++、Python等。

1个鼠标和1个键盘控制2台电脑(windows和linux系统)_对拷线可以linux和windows_hudongloop的博客-程序员宅基地

由于写文章和跑实验的需要(在windows下写文章比较方便,linux下跑实验比较方便),弄来了两台电脑。一个linux的系统,用来跑程序,一个windows系统,用来看文章和写文章。但是由于使用2个键盘和鼠标不方便(桌子也放不下。。。),因此在网上查了下大概有三种方法可以实现。kvm切换器。这个比较适合一个屏幕两个主机的情况,而且有时我需要在2台电脑之间频繁切换,这个转换器不太实用。USB对拷

随便推点

AOJ-ALDS1_1_D Maximum Profit【最值+水题】_海岛Blog的博客-程序员宅基地

Maximum Profit Aizu - ALDS1_1_D You can obtain profits from foreign exchange margin transactions. For example, if you buy 1000 dollar at a rate of 100 yen per dollar, and sell them at a rate of 108 ye...

PTCMS安装搭建教程小说源码安装教程及自动采集_ptcms封装app_接班猿的博客-程序员宅基地

最近PTCMS火爆全网了,PTCMS源码下载地址:https://www.moyu.asia/1569.html下面给大家说下,PTCMS的搭建教程。功能介绍:全新开发,新版UI,添加原创专区,新闻发布,书单发布,采集日志,百度推送,神马推送,推送日志功能。前端高仿起点小说网,自适应模板,可以分设手机域名。后端采用LAYUI全新开发。以下为搭建内容:一、服务器环境得要求推荐linux环境,win得也支持,不过没去测试搭建,自行按照下面得教程测试,下面是我得搭建环境ngin

Vmware 将kalilinux装进 U盘_734969的博客-程序员宅基地

在虚拟机上练习装win7系统,添加了一硬盘物理机启动。但是一直报错,错误如下: 对文件“\.\PhysicalDrive1”的操作失败。 如果此文件位于远程文件系统上,请确保网络连接和磁盘所在的服务器均运行正常。如果此文件位于可移动介质中,请重新连接该介质。 选择“重试(R)”可尝试重新执行该操作。 选择“取消”可终止此会话。 选择“继续(C)”可将错误转发给客户机操作系统。 

自定义倒计时按钮_DylanAndroid的博客-程序员宅基地

自定义倒计时按钮效果 代码:package com.dylan.frame.ui;import android.content.Context;import android.os.Handler;import android.os.Message;import android.util.AttributeSet;import android.view.View;import andro

Google guava学习_爱吃血肠的博客-程序员宅基地

文章目录Google guava学习一、摘要二、优点三、maven依赖四、Guava API使用教程五、GuavaCache本地内存缓存六、布隆过滤器Google guava学习一、摘要Guava是对JavaAPI的补充,对Java开发中常用功能进行更优雅的实现,使得编码更加轻松,代码容易理解。Guava使用了多种设计模式,同时经过了很多测试,得到了越来越多开发团队的青睐。Java最新版本...

分布式数据库DBLE_peter_zhang40036的博客-程序员宅基地

                                                   分布式数据库DBLE第一章 绪论 研究背景 目前,在电商、金融、O2O、零售、电信等行业普遍存在用户基数大,营销活动频繁,核心交易系统响应日益变慢的问题,随着业务数据增长迅速,超过单机数据库的承受极限,制约业务的发展;在电力、气象、农业、智能制造等行业海量的数据远远超过单机数据库的承受极...

推荐文章

热门文章

相关标签