From da32049a7cafaa879e7e5e4f4ad64a5b7e6ba922 Mon Sep 17 00:00:00 2001 From: tanjy888 <424491071@qq.com> Date: Tue, 19 Aug 2025 16:40:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E6=8B=89=E5=8F=96=E7=94=A8=E6=88=B7=E7=B3=BB=E7=BB=9F=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=B9=B6=E6=8F=90=E7=A4=BA=E6=9D=83=E9=99=90=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/t-chat-bar/t-chat-bar.vue | 52 +++++++++++++++++-- .../components/tabbar/tabbar.vue | 16 +----- .../pages/my/shopInfo.vue | 16 +++++- java-mall-app-shop-admin/utils/permission.js | 26 ++++++---- 4 files changed, 80 insertions(+), 30 deletions(-) diff --git a/java-mall-app-shop-admin/components/t-chat-bar/t-chat-bar.vue b/java-mall-app-shop-admin/components/t-chat-bar/t-chat-bar.vue index 4f2b196..4733f33 100644 --- a/java-mall-app-shop-admin/components/t-chat-bar/t-chat-bar.vue +++ b/java-mall-app-shop-admin/components/t-chat-bar/t-chat-bar.vue @@ -224,7 +224,10 @@ // import emoji from "@/utils/emoji.js"; import emoji from "../../static/im/emojiData.js"; import uParse from "../../uni_modules/uview-ui/components/u-parse/u-parse.vue"; +import permission from "@/utils/permission.js"; + const recorderManager = uni.getRecorderManager(); + export default { components: { uParse }, name: "tChatBar", @@ -402,20 +405,61 @@ export default { '' ); }, - switchVoice() { + async switchVoice() { + // #ifdef APP-PLUS + // 获取权限 + let result = await permission.premissionCheck( + "RECORD" + ); + + if (result != 1) { + return result + } + // #endif this.isVoice = true; this.showIndex = 0; + }, switchInput() { this.isVoice = false; }, - uploadPictures() { + async uploadPictures() { + // #ifdef APP-PLUS + // 获取相册权限 + let result = await permission.premissionCheck( + "EXTERNAL_STORAGE" + ); + + if (result != 1) { + return result + } + // #endif this.$emit("uploadPictures"); }, - photograph() { + async photograph() { + // #ifdef APP-PLUS + // 获取相机权限 + let result = await permission.premissionCheck( + "CAMERA" + ); + + if (result != 1) { + return result + } + // #endif this.$emit("photograph"); }, - uploadVideo() { + async uploadVideo() { + // #ifdef APP-PLUS + // 获取相册相机权限 + let result = await permission.premissionCheck( + "CAMERA_EXTERNAL_STORAGE" + ); + + if (result != 1) { + return result + } + // #endif this.$emit("uploadVideo"); }, async getMaskBottomRect() { diff --git a/java-mall-app-shop-admin/components/tabbar/tabbar.vue b/java-mall-app-shop-admin/components/tabbar/tabbar.vue index 7ea39ab..fc9ec20 100644 --- a/java-mall-app-shop-admin/components/tabbar/tabbar.vue +++ b/java-mall-app-shop-admin/components/tabbar/tabbar.vue @@ -165,24 +165,10 @@ export default { }); break; case "IM": - // #ifdef APP-PLUS - // 获取权限 - let result = await permission.premissionCheck( - "CAMERA_EXTERNAL_STORAGE_RECORD_AUDIO" - ); //使用 - - if (result == 1) { - uni.switchTab({ - url: "/pages/IM/IM", - }); - } - // #endif - - // #ifdef H5 + uni.switchTab({ url: "/pages/IM/IM", }); - // #endif break; case "shituzhongxin": diff --git a/java-mall-app-shop-admin/pages/my/shopInfo.vue b/java-mall-app-shop-admin/pages/my/shopInfo.vue index 9de9255..c17de0d 100644 --- a/java-mall-app-shop-admin/pages/my/shopInfo.vue +++ b/java-mall-app-shop-admin/pages/my/shopInfo.vue @@ -146,6 +146,8 @@ import { GetShopBaseInfo, UpdataShopInfo } from "../../api/shop"; import { GetBizCategoryList } from "../../api/audit"; import { UploadFilePromise } from "../../api/upload"; import tpfTimeRange from "@/components/tpf-time-range/tpf-time-range.vue"; +import permission from "@/utils/permission.js"; + export default { components: { tpfTimeRange, @@ -219,8 +221,20 @@ export default { url: "/pages/my/contract", }); }, - updateLogo() { + async updateLogo() { let that = this; + + // #ifdef APP-PLUS + // 获取相册权限 + let result = await permission.premissionCheck( + "EXTERNAL_STORAGE" + ); + + if (result != 1) { + return result + } + // #endif + uni.chooseImage({ count: 1, sizeType: ["compressed"], diff --git a/java-mall-app-shop-admin/utils/permission.js b/java-mall-app-shop-admin/utils/permission.js index b2cf16e..54cc0b4 100644 --- a/java-mall-app-shop-admin/utils/permission.js +++ b/java-mall-app-shop-admin/utils/permission.js @@ -318,30 +318,36 @@ let permissionMap = { android: { CAMERA_EXTERNAL_STORAGE: { // 相机权限/相册读写权限 - name: "android.permission.READ_EXTERNAL_STORAGE,android.permission.WRITE_EXTERNAL_STORAGE,android.permission.CAMERA", + name: "android.permission.READ_EXTERNAL_STORAGE,android.permission.CAMERA", title: "相机/相册权限说明", content: - "便于您使用该功能上传您的照片/图片/视频及用于更换头像、发布产品/需求、下载、与客服沟通等场景中读取和写入相册和文件内容", + "用于读取您的相册和相机权限,实现发送视频或拍摄视频给好友聊天", }, CAMERA: { // 相机权限 - name: "android.permission.CAMERA", + name: "android.permission.WRITE_EXTERNAL_STORAGE,android.permission.CAMERA", title: "相机权限说明", - content: "便于您使用该功能上传图片,用于与客服沟通等场景中发送拍摄图片", + content: "用于读取您的相机权限,实现拍摄相片发送给好友聊天", }, EXTERNAL_STORAGE: { - //相册读写权限 - name: "android.permission.READ_EXTERNAL_STORAGE,android.permission.WRITE_EXTERNAL_STORAGE", + //相册读权限 + name: "android.permission.READ_EXTERNAL_STORAGE", title: "相册读写权限说明", - content: - "便于您使用该功能上传您的照片/图片/视频及用于更换头像、发布产品/需求、下载、与客服沟通等场景中读取和写入相册和文件内容", + content: "用于读取您的相册图片权限,实现发送图片给好友聊天或更换用户头像", }, CAMERA_EXTERNAL_STORAGE_RECORD_AUDIO: { //视频录制和获取权限 - name: "android.permission.READ_EXTERNAL_STORAGE,android.permission.WRITE_EXTERNAL_STORAGE,android.permission.CAMERA,android.permission.RECORD_AUDIO", + name: "android.permission.READ_EXTERNAL_STORAGE,android.permission.WRITE_EXTERNAL_STORAGE,android.permission.CAMERA", title: "相机/相册和麦克风权限说明", content: - "便于您使用该功能获取并上传视频用于发布产品/需求过程中读取和写入视频文件内容", + "用于读取您的相册视频或录制视频权限,实现发送视频给好友聊天", + }, + RECORD: { + //录制语音权限 + name: "android.permission.RECORD_AUDIO", + title: "麦克风权限说明", + content: + "用于读取您的麦克风录音权限,实现发送语音给好友聊天", }, }, ios: {},