123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import { ContactChooseTypes } from "@/pages_im/constant";
- import { getPurePath } from "@/pages_im/util/common";
- import IMSDK, { IMMethods } from "openim-uniapp-polyfill";
- const isWebResource = (url) => {
- const webResourceRegex = /^(http|https):\/\//i;
- return webResourceRegex.test(url);
- };
- export const forwardImg = async (localImagePath) => {
- const message = await IMSDK.asyncApi(
- IMMethods.CreateImageMessageFromFullPath,
- IMSDK.uuid(),
- getPurePath(localImagePath)
- );
- console.log(getPurePath(localImagePath), message);
- uni.navigateTo({
- url: `/pages/common/contactChoose/index?type=${
- ContactChooseTypes.SendImage
- }&forwardMessage=${encodeURIComponent(JSON.stringify(message))}`,
- });
- };
- export const downloadToAlbum = (url) => {
- uni.downloadFile({
- url,
- success(res) {
- let url = res.tempFilePath;
- uni.saveImageToPhotosAlbum({
- filePath: url,
- success() {
- uni.showToast({
- title: "已保存到系统相册",
- icon: "none",
- });
- },
- fail() {
- uni.showToast({
- title: "保存失败",
- icon: "none",
- });
- },
- });
- },
- });
- };
- export const myPreview = (current, urls) => {
- uni.previewImage({
- current,
- urls,
- indicator: "none",
- longPressActions: {
- itemList: ["转发图片", "保存图片"],
- success({ tapIndex, index }) {
- if (tapIndex === 0) {
- uni.closePreviewImage();
- if (isWebResource(urls[index])) {
- uni.getImageInfo({
- src: urls[index],
- success: (res) => {
- forwardImg(res.path);
- },
- });
- } else {
- forwardImg(urls[index]);
- }
- } else {
- downloadToAlbum(urls[index]);
- }
- },
- },
- });
- };
|