1.1、到插件市场先下载js_sdk
1.2、引入js_sdk
import permision from "@/js_sdk/wa-permission/permission.js"
1.3 、安卓手机获取权限方法
- <button @click="requestAndroidPermission('android.permission.CAMERA')">摄像头权限</button>
- <button @click="requestAndroidPermission('android.permission.READ_EXTERNAL_STORAGE')">相册权限</button>
-
-
- async requestAndroidPermission(permisionID) {
- var result = await permision.requestAndroidPermission(permisionID)
- var strStatus
- if (result == 1) {
- strStatus = "已获得授权"
- } else if (result == 0) {
- strStatus = "未获得授权"
- } else {
- strStatus = "被永久拒绝权限"
- }
-
- },
1.4、 iOS手机获取权限方法
- <button @click="judgeIosPermission('camera')">摄像头权限</button>
- <button @click="judgeIosPermission('photoLibrary')">相册权限</button>
-
- judgeIosPermission: function(permisionID) {
- var result = permision.judgeIosPermission(permisionID)
- console.log(result);
- var strStatus = (result) ? "已" : "未"
- },
1.5、注意:如果未获得权限需要跳到应用去打开权限
- <button @click="gotoAppPermissionSetting">打开手机系统权限设置</button>
-
- gotoAppPermissionSetting: function() {
- permision.gotoAppPermissionSetting()
- }
<button @click="OpenAlbum">打开相册</button> OpenAlbum() { uni.chooseImage({ count: 1, // 默认9,设置图片的数量 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album'],//['camera'], // 可以指定来源是相册还是相机,默认二者都有 success: (res) => { // 成功选择照片后的回调 const tempFilePaths = res.tempFilePaths; console.log(tempFilePaths); // 这里可以执行上传图片等后续操作 // uni.uploadFile({//将本地资源上传到开发者服务器 // url:baseURL+'/api/Common/upload', //接口地址 // filePath: res.tempFilePaths[0],//图片地址 // name: 'file', // formData:{ // access_token:uni.getStorageSync('access_token'),//加入token // }, // success: (uploadFileRes) => { // let data = JSON.parse(uploadFileRes.data) // if(data.code ==1){ // this.my_avatar = data.data.url;//上传成功后返回的图片地址 // } // } // }); }, fail: (err) => { console.log('选择照片失败:', err); } }); },
<button @click="takePhoto">拍照</button> takePhoto() { uni.chooseImage({ count: 1, // 默认9,设置图片的数量 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有 success: (res) => { // 成功选择照片后的回调 const tempFilePaths = res.tempFilePaths; console.log(tempFilePaths); }, fail: (err) => { console.log('选择照片失败:', err); } }); },
- <button @click="chooseVideo()">相册录制</button>
-
- chooseVideo(){
- uni.chooseVideo({
- count: 1,
- sourceType: ['camera'],
- maxDuration: 60, // 最大视频录制时长(秒)
- success: function (res) {
- console.log('选择视频成功,返回的参数:', res);
- // 可以使用 res.tempFilePath 获取视频的本地路径
- },
- fail: function (err) {
- console.error('选择视频失败:', err);
- }
- });
- },