当前位置: 首页 > news >正文

嘉兴cms模板建站如何找做网站的公司

嘉兴cms模板建站,如何找做网站的公司,做任务的兼职网站,给工厂做英文外贸网站uniapp-vue3微信小程序实现全局分享 文章目录 uniapp-vue3微信小程序实现全局分享微信小程序官方文档的分享说明onShareAppMessage(Object object)onShareTimeline() uniapp 官方文档的分享说明onShareAppMessage(OBJECT) 实现全局分享代码结构如下share.js文件内容main.js注意…

uniapp-vue3微信小程序实现全局分享

文章目录

  • uniapp-vue3微信小程序实现全局分享
    • 微信小程序官方文档的分享说明
      • onShareAppMessage(Object object)
      • onShareTimeline()
    • uniapp 官方文档的分享说明
      • onShareAppMessage(OBJECT)
  • 实现全局分享
    • 代码结构如下
    • share.js文件内容
    • main.js
    • 注意事项
    • app.mixin()[](https://cn.vuejs.org/api/application.html#app-mixin)
        • 不推荐
  • 实现效果

微信小程序官方文档的分享说明

onShareAppMessage(Object object)

监听用户点击页面内转发按钮(button 组件 open-type="share")或右上角菜单“转发”按钮的行为,并自定义转发内容。

注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮

参数 Object object:

参数类型说明最低版本
fromString转发事件来源。 button:页面内转发按钮; menu:右上角转发菜单1.2.4
targetObject如果 from 值是 button,则 target 是触发这次转发事件的 button,否则为 undefined1.2.4
webViewUrlString页面中包含web-view组件时,返回当前web-view的url1.6.4

此事件处理函数需要 return 一个 Object,用于自定义转发内容,返回内容如下:

自定义转发内容 基础库 2.8.1 起,分享图支持云图片。

字段说明默认值最低版本
title转发标题当前小程序名称
path转发路径当前页面 path ,必须是以 / 开头的完整路径
imageUrl自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4。使用默认截图1.5.0
promise如果该参数存在,则以 resolve 结果为准,如果三秒内不 resolve,分享会使用上面传入的默认参数2.12.0

示例代码

在开发者工具中预览效果

Page({onShareAppMessage() {const promise = new Promise(resolve => {setTimeout(() => {resolve({title: '自定义转发标题'})}, 2000)})return {title: '自定义转发标题',path: '/page/user?id=123',promise }}
})

onShareTimeline()

基础库 2.11.3 开始支持,低版本需做兼容处理。

本接口为 Beta 版本,暂只在 Android 平台支持,详见分享到朋友圈 (Beta)

监听右上角菜单“分享到朋友圈”按钮的行为,并自定义分享内容。

注意:只有定义了此事件处理函数,右上角菜单才会显示“分享到朋友圈”按钮

自定义转发内容

事件处理函数返回一个 Object,用于自定义分享内容,不支持自定义页面路径,返回内容如下:

字段说明默认值最低版本
title自定义标题,即朋友圈列表页上显示的标题当前小程序名称
query自定义页面路径中携带的参数,如 path?a=1&b=2 的 “?” 后面部分当前页面路径携带的参数
imageUrl自定义图片路径,可以是本地文件或者网络图片。支持 PNG 及 JPG,显示图片长宽比是 1:1。默认使用小程序 Logo

uniapp 官方文档的分享说明

onShareAppMessage(OBJECT)

小程序中用户点击分享后,在 js 中定义 onShareAppMessage 处理函数(和 onLoad 等生命周期函数同级),设置该页面的分享信息。

  • 用户点击分享按钮的时候会调用。这个分享按钮可能是小程序右上角原生菜单自带的分享按钮,也可能是开发者在页面中放置的分享按钮(<button open-type="share">);
  • 此事件需要 return 一个Object,用于自定义分享内容。

微信小程序平台的分享管理比较严格,请参考 小程序分享指引。

平台差异说明

AppH5微信小程序支付宝小程序百度小程序抖音小程序、飞书小程序QQ小程序快手小程序京东小程序
xxx
参数类型说明平台差异说明
fromString分享事件来源:button(页面内分享按钮)、menu(右上角分享按钮)
targetObject如果 from 值是 button,则 target 是触发这次分享事件的 button,否则为 undefined
webViewUrlString页面中包含 <web-view> 组件时,返回当前 <web-view> 的url微信小程序1.6.4+、支付宝小程序、京东小程序

此事件需要 return 一个 Object,用于自定义分享内容,其内容如下:

参数名类型必填说明平台差异说明
titleString分享标题
pathString页面 path ,必须是以 / 开头的完整路径。注意:京东小程序,开头不要加’/’QQ小程序不支持
imageUrlString分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4
contentString百度小程序表现为:分享内容;支付宝小程序表现为:吱口令文案百度小程序、支付宝小程序
descString自定义分享描述支付宝小程序、抖音小程序、京东小程序
bgImgUrlString自定义分享二维码的背景图,建议大小750*950(网络图片路径)支付宝小程序
queryStringQQ小程序查询字符串,必须是 key1=val1&key2=val2 的格式。从这条转发消息进入后,可通过 qq.getLaunchOptionSync() 或 qq.onShow() 获取启动参数中的 query。QQ小程序
templateIdString开发者后台设置的分享素材模板 id抖音小程序
mpIdString微信小程序id,此场景用于分享到微信后,用户点击分享卡片,进入该appid对应的微信小程序,实现引流到微信小程序京东小程序
typeNumber转发形式(0 - 微信小程序正式版 ;1 - 微信小程序开发版;2 - 微信小程序体验版;京东App9.0.0开始不填或者其他值都会先判断是否有url参数,如果有打开分享后显示url对应页面,否则默认生成京东小程序官方的一个分享中间页面,点击可跳到京东app里面的对应小程序。)京东小程序
mpPathString微信小程序路径京东小程序
channelString渠道(不写默认微信朋友,微信朋友圈)京东小程序
urlStringh5链接地址(h5分享填写,不填默认中间页)京东小程序
successFunction接口调用成功的回调函数支付宝小程序、百度小程序
failFunction接口调用失败的回调函数支付宝小程序、百度小程序
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)百度小程序

示例代码

export default {onShareAppMessage(res) {if (res.from === 'button') {// 来自页面内分享按钮console.log(res.target)}return {title: '自定义分享标题',path: '/pages/test/test?id=123'}}
}

复制代码

注意

  • 微信、头条平台:只有定义了此事件处理函数,小程序右上角菜单才会显示“转发”按钮
  • QQ小程序还支持通过qq.offShareAppMessage取消对系统分享按钮的监听。

实现全局分享

代码结构如下

在这里插入图片描述

share.js文件内容

const share = {// 分享到好友onShareAppMessage() {return {title: '分享标题', // 分享标题path: 'pages/index/index?spreaderid=' + uni.getStorageSync('spid'), // 默认为当前页面路径imageUrl: '' // 默认为当前页面的截图}},// 分享到朋友圈onShareTimeline() {return {title: '分享标题', // 分享标题path: 'pages/index/index?spreaderid=' + uni.getStorageSync('spid'), // 默认为当前页面路径imageUrl: '' // 默认为当前页面的截图}}}
export default share;

main.js

因为使用的是vue3的语法,所以需要在这个地方修改,增加share的引用后,使用app.mixin混合share

// #ifdef VUE3
import {createSSRApp
} from 'vue'
import  share from '@/apis/share.js'
export function createApp() {const app = createSSRApp(App)app.mixin(share);return {app}
}
// #endif

注意事项

app.mixin()

应用一个全局 mixin (适用于该应用的范围)。一个全局的 mixin 会作用于应用中的每个组件实例。

不推荐

Mixins 在 Vue 3 支持主要是为了向后兼容,因为生态中有许多库使用到。在新的应用中应尽量避免使用 mixin,特别是全局 mixin。

若要进行逻辑复用,推荐用组合式函数来替代。

在vue3中的组合函数形式暂时不学习了,条条大路通罗马,到达目的就拉到。世上无难事,只要肯放弃。

实现效果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onShareTimeline

https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onShareAppMessage-Object-object

https://cn.vuejs.org/api/application.html#app-mixin

https://uniapp.dcloud.net.cn/api/plugins/share.html#onshareappmessage

http://www.mmbaike.com/news/55562.html

相关文章:

  • 长沙哪家公司做网站好学电脑办公软件培训班
  • 如何做网站监控app地推接单平台有哪些
  • 建个小型网站服务器seo 适合哪些行业
  • 广东汽车品牌网站建设b站广告投放平台入口
  • 旅游网页代码百度seo培训班
  • 河北网站优化公司百度问一问官网
  • 网站网格设计谷歌浏览器官网下载安装
  • 网站代理怎么做网站软文推广范文
  • web3d游戏网站开发超级seo助手
  • 做全国社保代理的网站广东佛山疫情最新情况
  • 怎么做网站卡盟企业营销网站制作
  • 做高端网站的公司站长seo
  • 仿新闻网站模板手机版seo工具软件
  • 网站数据库做好了 怎么做网页公司网站模版
  • 购物网站开发代码外包公司为什么没人去
  • 做网站到底怎么赚钱19
  • 可以专做福特配件吗外贸网站天津seo优化公司
  • mamp安装wordpress优化推广方案
  • 网站内的新闻怎样做链接竞价托管代运营
  • 商务贸易网站建设北京网站seo设计
  • 重庆网站建设选卓光国内搜索引擎排名
  • 设计国外网站有哪些电脑速成班短期电脑培训班
  • 怎么找到当地的微信推广郑州seo技术培训班
  • 直销系统网站建设无锡百度推广代理商
  • 北京朝阳区网站建设公司seo网站外链工具
  • asp.net个人网站关键词的优化方案
  • 手机网站设计制作公司医院营销策略的具体方法
  • 独立站如何推广引流今日关注
  • 非主营电子商务企业网站有哪些学好seo
  • 做网站为什么没收入百度通用网址