123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
-
- import Taro from '@tarojs/taro'
- import { authorize } from './wxAuth'
-
- // eslint-disable-next-line no-undef
- const host = HOST;
- // eslint-disable-next-line no-undef
- const ossPath = OSS_PATH;
-
- let platform = null;
-
- function getPlatform() {
- if (!platform) {
- platform = Taro.getSystemInfoSync().platform;
- }
- return platform;
- }
-
- export function getImgURL(img) {
- if (!img) return undefined;
-
- if (img.indexOf(ossPath) > -1) {
- const plat = getPlatform();
- if (plat.toLocaleLowerCase().indexOf('ios') > -1) {
- return `${img}?x-oss-process=style/thumb`
- } else {
- return `${img}?x-oss-process=style/webp`
- }
- }
-
- if (img.indexOf('http') === 0) return img;
- return `${host}${img}`;
- }
-
- /**
- * base64 转文件
- * @param {*} base64Str
- * @returns
- */
- export function base64ToFile(base64Str) {
- return new Promise((resolve, reject) => {
- const fileName = (new Date()).valueOf() + '-' + Math.random().toString(36).substring(2) + '.png'
- const filePath = Taro.env.USER_DATA_PATH + '/' + fileName
-
- Taro.getFileSystemManager().writeFile({
- filePath,
- data: base64Str,
- encoding: 'base64',
- success: () => {
- resolve(filePath)
- },
- fail: (err) => {
- console.error(err)
- reject(err)
- },
- complete: (res) => {
- console.log('-----writeFile---', filePath, res)
- }
- })
- })
- }
-
- /**
- * 保存到相册
- * @param {*} tempPath
- * @returns
- */
- export function save2Album(tempPath) {
- return new Promise((resolve, reject) => {
- authorize('scope.writePhotosAlbum').then(() => {
- console.log('-----------save2Album---------->', tempPath)
-
- // 再保存到相册
- Taro.saveImageToPhotosAlbum({
- filePath: tempPath,
- success: () => {
- resolve()
- },
- fail: (err) => {
- console.error(err)
- let message = err.errMsg || err.message || err
- if (message.indexOf('cancel') > -1) {
- message = '您已取消'
- }
- Taro.showToast({
- title: message,
- icon: 'none',
- })
- reject(err)
- },
- complete: (res) => {
- console.log('---------complete----------->', res)
- }
- })
- }).catch((err) => {
- console.error(err)
- let message = err.errMsg || err.message || err
- if (message.indexOf('cancel') > -1) {
- message = '您已取消'
- }
-
- Taro.showToast({
- title: message,
- icon: 'none',
- })
- reject(err)
- })
- })
- }
|