微信小程序“滥用剪贴板功能”给封禁,采用小程序下载转发分享文件

喜欢一个人,就告诉他,因为这是你一辈子里唯一一次有机会握到他的手了。​我知道有时你们都怕做不成朋友,但这又有什么关系?你原本就不想只做朋友

微信小程序“滥用剪贴板功能”给封禁,采用小程序下载转发分享文件

星宿UI下载资源功能之前使用分享网盘链接形式,用户在观看激励视频之后显示内容。因为链接很很长,新增链接地址一件复制贴板功能,在最近频繁出现微信小程序“滥用剪贴板功能”给封禁通知,小程序运营规范第5.15.4条滥用操作剪切板接口内容如下:

在用户使用剪切板功能进行复制操作后,恶意、强行中断小程序内功能服务或业务的完整流程,要求用户跳转或使用其他方式才可完整体验业务流程,影响用户体验

所以大家因为给封禁明白是因为啥了吧!

解决方案

1.注释源码中一键复制功能代码

2.接入百度网盘小程序

3.使用downloadFile直接在程序中下载,通过转发功能获取文件

方案思考

downloadFile对于小程序是没压力的,若对于比较大的文件采用网盘方式是理想的;我们目前下载地址有2个供我们输入,若我们设置其中一个为百度网盘之后,就会比较局限。且市场上网盘不止一家,因此最终决定注释源码中一键复制功能代码和使用downloadFile直接在程序中下载小文件

downloadFile中我们分享的网盘是无效的,因为他并不是可下载地址;网上也会有工具获取网盘直接下载地址,我们也可以将网盘链接存入txt下载文本中;通过转发功能让用户读取里面内容

​为何不新增多个下载地址?星宿字段本身就很多很乱,新增多个下载字段不是一个理想的行为

功能思考

​downloadFile默认下载是存为临时路径,在应用本次启动期间可以正常使用,如需持久保存,需在主动调用saveFile才能在应用下次启动时访问得到;对于安卓用户管理是十分方便的,而对面的苹果就有亿点点难受;为了方便采用临时路径,下载的文件只保存一次

tempFilePath临时路径返回的信息可以看出是没有带文件名字和文件夹格式的,

微信小程序“滥用剪贴板功能”给封禁,采用小程序下载转发分享文件

就会造成我们使用shareFileMessage转发功能发给电脑或者好友的时候会无法使用,我们转发的时候应该添加文件夹名字和格式

微信小程序“滥用剪贴板功能”给封禁,采用小程序下载转发分享文件

shareFileMessage相关的资料在微信小程序官方文档中阅读到,uni-app官方文档似乎找不到对应的内容虽然我们写的时候可以使用uni.shareFileMessage在编译会自动转为wx.shareFileMessage,微信端是可以不用担心,若在其他端使用需要阅读其他端的文档做出相对于的适配

功能实现

shareFileMessage功能需要在真机上才可以测试

// 点击下载附件
      downFile: function() {
        var that = this;
        uni.downloadFile({
          url: 'https://文件下载地址',
          success(res) {
            console.log(res)
            if (res.statusCode == 200) {
              uni.shareFileMessage({
                filePath: res.tempFilePath,
                fileName: '星宿下载.zip',
                success(data) {
                  console.log('转发ok')
                },                
              }) 
            }
          },
        })
      }

其他

该功能需要在小程序后台添加下载文件地址域名到downloadFile合法域名列表中

(6)
上一篇 05/11/2022
下一篇 06/06/2022

相关推荐

发表回复

您的电子邮箱地址不会被公开。