IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> vue 公众号开发跳转小程序的实现 -> 正文阅读

[移动开发]vue 公众号开发跳转小程序的实现

? ? ? ?近期项目中要做公众号H5开发,涉及到指定分享URL及分享界面限定,图片上传,H5跳转小程序等功能,在此做部分记录。

? ? ?1. 以上功能都必须基于微信sdk授权,因此第一步的微信授权不可少,引入wx-sdk模块

import wx from "weixin-js-sdk";

在vue入口处app.vue,加载wx.config()

注:对于ios设备,获取window.location.href 进行授权链接,对hash路由,可截取#之前路由进行授权。

2 指定分享页,可在路由中配置页面是否需要展示分享权限,在router after后加载

 wx.ready(function() {
    if (type) {
       wx.showOptionMenu();
       // wx.showAllNonBaseMenuItem();
    } else {
        wx.hideOptionMenu();
        // wx.hideAllNonBaseMenuItem();
    }
})

3 指定分享url

在分享页面加载wx.ready(function () {}),注入title,dese,link,imgUrl等信息

4? 图片上传

初始话sdk时,在jsApiList? 加入?chooseImage

在使用页面

        // 添加图片按钮,调用方法
        addWenxinImage() {
            let  _this = this;
            let limitNum = 3 - this.imgList.length
            if(limitNum==0){
                this.commitAlert(this, "最多上传三张图片。")
                return
            }
            wx.chooseImage({
                count: 1, // 默认9
                sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
                sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
                success: function(res) {
                    var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
                    localIds.forEach((localId=>{
                        _this.getLocalImgData(localId)
                    }))
                },
                fail:function(res){
                    
                }
            });
        },
        // 根据图片localId,获取图片base64数据
        getLocalImgData(localId) {
            console.log("getLocalImgData", localId)
            let _this  = this;
            wx.getLocalImgData({
                localId: localId, // 图片的localID
                success: function(res) {
                    var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
                    // 兼容安卓不带头及ios的jgp
                    if (localData.indexOf('data:image') != 0) {                       
                        //判断是否有这样的头部                                               
                        localData = 'data:image/jpeg;base64,' +  localData                    
                    }  
                    localData =  localData.replace(/\r|\n/g, '').replace('data:image/jgp', 'data:image/jpeg')
                    _this.imgList.push(localData);// imgList用于前端展示图片
                },
                fail:function(res){
                }
            });

        }

5,h5跳转小程序

  1. ? ?微信sdk初始话时,加入开放标签? wx.config({openTagList:['wx-open-launch-weapp']}
  2. ? ?vue编译时屏蔽编译,Vue.config.ignoredElements = ['wx-open-launch-weapp'];
  3. ? 使用处
    <wx-open-launch-weapp
       id="launch-btn-listen"
       username="xxx"
       :path="`/pages/index/index?path=5&type=${wechatType}&url=${listenData}`"
       @error="handleErrorFn" @launch="handleLaunchFn">
    > 
      <script type="text/wxtag-template">
           <style>
              .dt-btn-img {color:#9B1D1F;}
           </style>
           <div class="dt-btn-img"> <img src="data:image/png;base64,iVBORw0KGgoAAA" alt="" class="dt-btn">
           </div>
      </script>
    </wx-open-launch-weapp>
    
    // 注意:微信script, 图片使用相对路径的话,会因路径问题无法展示,可转化为base64,样式可使用类写在style里,
    //  wx-open-launch-weapp 的username 为小程序的原始id,gh_ 开头,path为小程序内页面路径及参数,如果path参数还有参数,可以先进行encodeURIComponent()操作

    详见:目录 | 微信开放文档

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-13 11:33:29  更:2021-10-13 11:35:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:52:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码