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

实现:uniapp项目分享视频页面到微信,可以自定义分享的页面样式及内容

背景:最近在逐步完善一个uniapp项目的视频功能,
包括有视频录制及发布,在完善过程中想要实现分享
视频到微信的功能,也就是相当于分享链接到微信,
微信打开后可以获取到视频并可以观看,有了想法便
准备实行,但是由于没做过,中间也走了很多弯路,
特此记录一下。

一、查看官网文档

首先在准备实现这个功能时我们想到的肯定是看看uniapp
官网是怎么写的,方便我们学习模仿

uniapp分享相关api

1.1、查阅官网的api,与我们现有的对比选择使用uni.share就行,根据api写的代码我放在下面,大家可以参考一下。
//页面模板如下:
<view @tap="share('WXSceneTimeline')" class="sharewayitem"><image class="shareimg" mode="widthFix" src="../../../static/images/pengyouquan.png"></image><text class="txt">微信朋友圈</text></view><view @tap="share('WXSceneSession')" class="sharewayitem"><image class="shareimg" mode="widthFix" src="../../../static/images/weixingreen.png"></image><text class="txt">分享给好友</text></view>       
//方法处理逻辑如下:(xxx.xxx.xxx是自己服务器的域名,这个下面一会有说明)
share(scene) {uni.share({provider: "weixin",scene: scene,type: 4,mediaUrl: "https://xxx.xxxxx.xxx/h5/#/pages/index/xxh5?id="+this.id,title: this.title,imageUrl: this.imgurl,success: function (res) {console.log("success:" + JSON.stringify(res));},fail: function (err) {console.log("fail:" + JSON.stringify(err));}});},
1.2、这个最开始我是直接把阿里云上视频的地址(我们使用的是阿里云的OSS)放在了mediaUrl那里,我以为这样就可以分享后直接看到视频内容,但是实际上不是的,把文件存储地址放在这里分享后是不能直接看到的,打开后是让你下载这个视频,查看阿里云官方的说明,是要求做域名绑定之类的很多内容,而且个人感觉即使这样做完之后打开的页面也不确定是否满足需求(通过设置HTTP头管理OSS文件元数据_对象存储(OSS)-阿里云帮助中心 (aliyun.com),大家感兴趣可以自己研究一下)、

二、转变思路,构建使用h5页面放在服务器上访问这些页面

2.1、方法行不通后我们只能换一种思路,我们可以尝试将项目的几个页面打包构建好后放在服务器上,这样我们访问链接在打开的实际就是这几个页面,通过URL携带的参数在服务器上查询渲染之后同样获取到视频内容展现出来。
2.2、接下来我们将思路变成如何把uniapp的某几个页面打包构建放在服务器上并设置好域名,方便浏览器访问

三、页面选择

manifest.json中的web配置(h5配置)中这样设置

3.1、如果说,我们只需要整个项目中的某几个页面可以在浏览器访问到,其余页面无需做h5该怎么做?经过试验,我们只要把uniapp项目的pages.json文件中的pages路径那些不需要的给删掉就行,比如说,我原本项目中有40多页面,我需要分享到微信能打开的也就5个页面,那我们把其余的路径给删了,只保留这几个Path,然后打包就行

四、打包步骤

4.1、我们使用hbuilderX,点击上方的发行按钮,选择网站-PC Web......,

4.2、这里的标题应该是网页打开后上方显示的内容,域名就是上面输入的访问这个页面的URL的域名,然后输入完直接点击发行即可。

4.3、打包完成后我们可以在控制台看到我们生成的网页文件的目录地址,我们打开,把这个h5文件夹放在我们的服务器目录的public下

 4.4、服务器重启后,我们就可以通过链接访问到这几个页面了

五、访问的链接是什么?

访问的链接也很简单:

5.1、如果你uniapp的manifest.json中启用了https协议:

https://你设置的域名/h5/#/你的pages.json中设置的页面的path路径,

5.2、如果你uniapp的manifest.json中没启用https协议,自然就是:

http://你设置的域名/h5/#/你的pages.json中设置的页面的path路径,

(最后:如果有参数的话记得后面加上“?参数=xxx”,也有的是链接中间没加#,但是我这里别的页面都加了,可以自己都试一试,最后我们把这个链接放在uni.share的mediaUrl那里就完成啦!)

相关文章:

实现:uniapp项目分享视频页面到微信,可以自定义分享的页面样式及内容

背景&#xff1a;最近在逐步完善一个uniapp项目的视频功能&#xff0c; 包括有视频录制及发布&#xff0c;在完善过程中想要实现分享 视频到微信的功能&#xff0c;也就是相当于分享链接到微信&#xff0c; 微信打开后可以获取到视频并可以观看&#xff0c;有了想法便 准备实行…...

【C++】—— 类与对象(五)

【C】—— 类与对象&#xff08;五&#xff09; 1、类型转换1.1、类型转换介绍1.2、类型转换的应用1.3、explicit 关键字 2、static 静态成员2.1、static 静态成员变量2.2、static 静态成员函数2.3、总结 3、友元3.1、友元函数3.2、友元类 4.内部类5、匿名对象6、对象拷贝时的编…...

scp命令的使用

在Windows和Linux之间传文件&#xff0c;最简单的是共享目录&#xff0c;如果不能使用共享目录&#xff0c;可以使用scp命令&#xff0c; 一般Windows和Linux都支持。 scp命令是secure copy的缩写&#xff0c;用于在Linux下进行远程文件拷贝&#xff0c;windows一般也有该命令…...

定位和解决线上接口性能优化或者数据库性能优化的思路是什么?

定位和解决线上接口性能优化或数据库性能优化问题是一项复杂且系统性的工作&#xff0c;需要综合运用监控、分析、调优等手段。以下是一个详细的思路&#xff0c;帮助您从定位问题到解决问题&#xff0c;确保系统的高效运行。 一、定位接口性能问题 1.1 监控和日志 1.1.1 监…...

修改docker的/var/lib/docker/overlay2储存路径

目录 目录 1.准备新的存储位置 1.创建新的存储目录 2.修改目录权限 2. 配置 Docker 使用新的存储位置 1.停止 Docker 服务 2.编辑 Docker 配置文件 3.迁移现有 Docker 数据 1.将现有的 Docker 数据从系统盘移动到新目录 2.启动 Docker 服务 3. 验证更改 4. 清理旧的…...

解决中国式报表难题,这款工具真的免费且好用

一、概述 报表&#xff0c;对于任何企业或组织来说都不陌生。它将复杂的数据信息以简洁明了的方式展现出来&#xff0c;帮助决策者快速理解数据背后的趋势和问题。无论是财务报表、销售报表&#xff0c;还是库存报表&#xff0c;都是日常工作中不可或缺的部分。然而&#xff0…...

图解Kafka | 彻底弄明白 Kafka 两个最重要的配置

我已经使用 Kafka 近两年了&#xff0c;我发现有两个配置很重要&#xff0c;但是不太容易理解。这两个配置分别是acks和min.insync.replicas。 本文将通过一些插图来帮助理解这2个配置&#xff0c;以便更好的使用Kafka为我们服务。 复制 我假设你已经熟悉 Kafka了 &#xff…...

创建线程的三种方式

创建线程的三种方式 1. Thread 匿名内部类 Slf4j public class CreateThread {public static void main(String[] args) {Thread t1 new Thread("t1") {Overridepublic void run() {log.info("hello world");}};t1.start();} }2.定义 Runable public s…...

官宣|Apache Flink 1.20 发布公告

作者&#xff1a;郭伟杰(阿里云), 范瑞(Shopee) Apache Flink PMC&#xff08;项目管理委员&#xff09;很高兴地宣布发布 Apache Flink 1.20.0。与往常一样&#xff0c;这是一个充实的版本&#xff0c;包含了广泛的改进和新功能。总共有 142 人为此版本做出了贡献&#xff0c;…...

HarmonyOS应用一之登录页面案例

目录&#xff1a; 1、代码示例2、代码分析3、注解分析 1、代码示例 实现效果&#xff1a; /** Copyright (c) 2023 Huawei Device Co., Ltd.* Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance w…...

KubeSphere 部署 Kafka 集群实战指南

本文档将详细阐述如何利用 Helm 这一强大的工具&#xff0c;快速而高效地在 K8s 集群上安装并配置一个 Kafka 集群。 实战服务器配置(架构 1:1 复刻小规模生产环境&#xff0c;配置略有不同) 主机名IPCPU内存系统盘数据盘用途ksp-registry192.168.9.904840200Harbor 镜像仓库…...

手把手教你安装音乐制作软件FL Studio 24.1.1.4285中文破解版

在当今数字化时代&#xff0c;音乐创作不再局限于传统的乐器和录音室&#xff0c;而是借助先进的音乐制作软件&#xff0c;如FL Studio&#xff0c;实现了前所未有的便捷与高效。FL Studio&#xff0c;以其强大的功能、直观的界面和丰富的插件资源&#xff0c;成为了众多音乐制…...

SDL 与 OpenGL 的关系

OpenGL 和 SDL 是两个不同的库&#xff0c;但它们可以配合使用来创建图形应用程序。 SDL&#xff08;Simple DirectMedia Layer&#xff09; SDL 是一个跨平台的多媒体库&#xff0c;用于处理图形、声音、输入和其他游戏开发所需的功能。它简化了窗口创建、事件处理和图形上下…...

考研数学 线性代数----行列式与矩阵

核心框架 前置知识 正式内容 知识点1:单位矩阵 知识点2:可逆矩阵 知识点3: |A|与可逆 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识…...

Golang实现简单的HTTP服务,响应RESTful请求判断形状大小

题目要求&#xff1a; 题目 1.shape 接口有面积Area() float64和 周长Perimeter()fioat64 两个法。为Circle Rectangle实现shape 接口。 2.实现isGreater(shape1&#xff0c;shape2 shape)boo1 函数&#xff0c;用于比较两个形状的大小,并使用单元测试验证 3.实现http.Handle…...

使用C语言构建Lua库

Lua 本身是用 C 语言编写的&#xff0c;因此使用 C 编写扩展可以更好地与 Lua 引擎集成&#xff0c;减少性能瓶颈&#xff0c;同时C 语言提供了对底层硬件和操作系统功能的直接访问能力&#xff0c;让 Lua 可以通过 C 扩展来实现对文件系统、网络等高级功能的支持。因为C 语言非…...

愤怒的江小白,这几年怎么了?

近日&#xff0c;东方甄选和江小白的纠纷引发了广泛关注。 8月8日晚间&#xff0c;东方甄选直播间中&#xff0c;主播天权在带货某款白酒产品时突然对比点评江小白产品&#xff0c;称江小白“不是白酒”&#xff1a;“你现在去看江小白的包装&#xff0c;上面是没有‘白酒’这…...

Unity教程(十)Tile Palette搭建平台关卡

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程&#xff08;零&#xff09;Unity和VS的使用相关内容 Unity教程&#xff08;一&#xff09;开始学习状态机 Unity教程&#xff08;二&#xff09;角色移动的实现 Unity教程&#xff08;三&#xff09;角色跳跃的实现 Unity教程&…...

如何防止员工私自拷贝公司内部文件?安企神帮你解决泄密之忧

在企业运营中&#xff0c;保护公司的机密信息至关重要。员工私自拷贝公司内部文件不仅可能导致商业秘密泄露&#xff0c;还可能损害公司的声誉和经济利益。下面我们将介绍一些有效的方法来防止这种情况的发生&#xff0c;并以“安企神”软件为例进行详细说明。 1. 明确规章制度…...

Linux应急响应检查工具

最近一直在优化的 linux 应急检查脚本&#xff0c;也是我一直在应急使用的工具 https://github.com/sun977/linuxcheckshoot 脚本包含两个检查工具&#xff0c;详情可看 README 或者 Banner linuxGun.sh 和 linuxcheck.sh 区别 1、linuxcheck.sh 是完整的 linux 系统检查脚本,…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构&#xff1a; 传统SMO中LPF会带来相位延迟和幅值衰减&#xff0c;并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF)&#xff0c;可以去除高次谐波&#xff0c;并且不用相位补偿就可以获得一个误差较小的转子位…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...

sshd代码修改banner

sshd服务连接之后会收到字符串&#xff1a; SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢&#xff1f; 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头&#xff0c…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要&#xff0c;uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件&#xff0c;需要安装才能使用。 一、安装扩展插件 安装方法&#xff1a; 1.访问uniapp官方文档组件部分&#xff1a;组件使用的入门教程 | uni-app官网 点击左侧…...

路由基础-路由表

本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中&#xff0c;往往存在多个不同的IP网段&#xff0c;数据在不同的IP网段之间交互是需要借助三层设备的&#xff0c;这些设备具备路由能力&#xff0c;能够实现数据的跨网段转发。 路由是数据通信网络中最基…...

背包问题双雄:01 背包与完全背包详解(Java 实现)

一、背包问题概述 背包问题是动态规划领域的经典问题&#xff0c;其核心在于如何在有限容量的背包中选择物品&#xff0c;使得总价值最大化。根据物品选择规则的不同&#xff0c;主要分为两类&#xff1a; 01 背包&#xff1a;每件物品最多选 1 次&#xff08;选或不选&#…...