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

星宿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合法域名列表中