App 分享至微信
无    2021-07-26 14:02:13    1132    0    0
xianglijiaxing

 

微信APP 分享API

IOS 开发手册:

https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/iOS.html

Android 开发手册:

https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/Android.html

H5+ API 分享: https://www.html5plus.org/doc/zh_cn/share.html

https://nativesupport.dcloud.net.cn/AppDocs/usemodule/androidModuleConfig/share


生成海报相关API

生成海报: 

path/get 参数 (例如: 模版类型、内容参数(可以直接传参或者关键参数通过接口查询)、身份验证参数)

无头浏览器(puppeteer框架,需Node.js 服务运行)设置窗口宽高后,满屏截屏,生成png 再转为转为webp (webp 命令行参数或者WebAssembly);

说明:

1.不使用客户端渲染的原因: Canvas 无法使用UI指定的特定字体文件;web app 压缩图片的代价比较大(既要保证清晰度又要保证数据不至于过大)

2.避免服务端重复渲染生成图片数据, 参数按照一定规则生成hash;

3.客户端下载图片文件后,可以存储在本地,再次使用先生成图片名称标识id, 验证本地文件是否存在,如果存在再验证hash 是否正确;

4. 服务端和客户端使用同一套规则,生成图片id 及hash;

5. 客户端 接口参数、图片id、hash 在本地保存一份映射关系;

6. 必要的情况下,需对图片进行压缩;

 

例如, H5动态渲染生成海报的模版为 :poster/create/${tempate_id},填充参数后为: /poster/axf_fsfsfs043?width=1200&height=720&pid=2456&key=fsfjsk434jkjkfsf, 则参数按照key字母排序后为 height=720&pid=2456&templateId=axf_fsfsfs043&width=1200, 生成参数hash,此hash 作为最为最终生成海报图片文件名称的一部分,例如poster_flfklaklfdkalakflfalfdkalfad.png

 

微信小程序对webp的支持情况:

image 组件: https://developers.weixin.qq.com/miniprogram/dev/component/image.html   (基础库2.9.0)

cover-image 组件: https://developers.weixin.qq.com/miniprogram/dev/component/cover-image.html

2.13.0     更新 API iOS 支持保存 gif & webp 到相册

 

微信开放社区相关问题:

https://developers.weixin.qq.com/community/develop/doc/00046c051489e8e05fabdd06f5bc00?highLine=webp

 

 

下载文件: 

微信小程序: 

下载网络图片 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#20

获取本地图片数据(base64): 

通过localId:  https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#21

通过路径: https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html

 

h5+ API:  https://www.html5plus.org/doc/zh_cn/downloader.html

 

uni-app:

uni.downloadFile():  https://uniapp.dcloud.io/api/request/network-file?id=downloadfile

uni.saveFile():  https://uniapp.dcloud.io/api/file/file?id=savefile

uni.getSavedFile():  https://uniapp.dcloud.io/api/file/file?id=getsavedfileinfo


注意事项: 1.小程序端需配置域名白名单;2.H5端可能是跨域的;


读取本地文件内容

h5+API:  https://ask.dcloud.net.cn/question/118641  (  PlusIoDirectoryEntry​.createReader()  )

微信小程序(base64):

FileSystemManager.readFile() https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html

通过localId:  https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#21

uni-app: 

计算文件摘要:

微信小程序:

h5+ API:  https://www.html5plus.org/doc/zh_cn/io.html#plus.io.getFileInfo

uni-app: https://uniapp.dcloud.io/api/file/file?id=getfileinfo


 

注意事项: 

1.imageData内容大小不超过10MB。IOS 仅支持图片二进制数据; Android 同时支持图片二进制数据和本地路径;


 

 

 

上一篇: 淘宝小部件开发笔记

下一篇: lerna 配置笔记

1132 人读过
立即登录, 发表评论.
没有帐号? 立即注册
0 条评论
文档导航