在这次使用了 uni 之后感觉还不如使用原生的小程序来开发。
在吐槽个,感觉uView 框架在小程序好多都不太兼容,也可能是我没配置好。
小弟技术有限
uni方法下的this使用
showActionSheet() {
const _this = this
uni.showActionSheet({
itemList: ["删除拜访照片"],
itemColor: "#F94E4E",
success: (res) =>
if (res.tapIndex == 0) {
this.picUrl = "";
_this.picUrl = "";
}
},
fail: function (res) {
console.log(res.errMsg);
},
});
},
** 这里的this指向的是uni **
用到的函数方法记录下
- uni.showActionSheet(OBJ),从底部向上弹出操作菜单
- uni.chooseImage(OBJ),从本地相册选择图片或使用相机拍照
- uni.uploadFile(OBJ),将本地资源上传到服务器 4.uni.downloadFile(OBJ),下载文件资源到本地 5.uni.openDocument(OBJ),新开页面打开文档,支持格式:doc,xls,ppt,pdf,docx,xlsx,ppts,图片等
uni.showActionSheet(OBJ)
属性:
- title:字符串,菜单标题
- alertText:字符串,警示文案
- itemList:数组,文字
- itemColor:文字颜色,默认是#000
- success:函数,成功
- fail:函数,失败
- complete:函数,接口调用解释回调函数(成功、失败都会执行)
- tapIndex:number,从上到下顺序
uni.chooseImage(OBJ)
- count:number,最多可以选择图片张数,默认9
- sizeType:
Array<String>,original 原图,compressed 压缩图,默认二者都有 - sourceType:
Array<String>,album 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项 - success:函数,成功
- fail:函数,失败
- complete:函数,接口调用解释回调函数(成功、失败都会执行) uniapp chooseimage
uni.uploadFile(OBJ)
- url:字符串,接口地址
- files:Array,需要上传的文件列表
- filePath:字符串,要上传文件资源的路径
- file和filePath只能选其中一个用,使用files时,filePath和name不生效
- file:file,文件对象
- name:字符串,后端接收的文件名
- header:对象,HTTP请求header,header不能设置referer
- success:函数,成功
- fail:函数,失败
- complete:函数,接口调用解释回调函数(成功、失败都会执行)
注意
App支持多文件上传,微信小程序只支持单文件上传
uni.chooseImage和uni.uploadFile能实现上传功能
chooseImg() {
//选择图片
uni.chooseImage({
count: 1,
sizeType: ["original", "compressed"],
success: (res) => {
uni.uploadFile({
url: "接口请求地址",
filePath: res.tempFilePaths[0],
header: {
token: "你的token",
"Content-Type": "multipart/form-data",
},
name: "file", // 后端接收的文件名
complete: (res) => {
console.log(res)
},
});
},
});
},
uni.downloadfile(OBJ)
- url:字符串,接口地址
- filePath:字符串,指定文件下载后存储的路径(本地路径)
- header:对象,HTTP请求header,header不能设置referer
- success:函数,成功
- fail:函数,失败
- complete:函数,接口调用解释回调函数(成功、失败都会执行)
uni.opendocument(OBJ)
- filePath:字符串,文件路径,可通过 downFile 获得
- fileType:字符串,文件类型,指定文件类型打开文件
- showMenu:对象,右上角是否有可以转发分享的功能
- success:函数,成功
- fail:函数,失败
- complete:函数,接口调用解释回调函数(成功、失败都会执行) uniapp opendocument
downloadfile和opendocument,实现预览
pdfFile(item) {
uni.downloadFile({
url: item,
success: function (res) {
var filePath = res.tempFilePath;
uni.openDocument({
filePath: filePath,
fileType: 'pdf',
showMenu: true,
success: function (res) {
console.log("打开文档成功");
},
fail: function (res) {
console.log("失败");
},
});
},
});
},
注意
在微信开发者能正常显示图片或者打开文档的话,在真机不行的话,有可能是因为你的网络和服务器不是同一个。
小白,入门1年多了,但是摸鱼摸太久了,现在慢慢补补自己的知识点,努力学习~~~