Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | /**
* this util module is about to provide support for image related functions
* @module angle-util/imageUtil
*/
export interface ImageParams {
size?: number // 图片尺寸宽度,数字类型。不传默认图片尺寸是上传图片的原尺寸
prefix?: 'https' | 'http' // 地址前缀,字符类型。不传地址前缀默认是https,如需特殊控制传入需修改的前缀
hq?: boolean // 图片高质量,默认false会返回原图片70%压缩质量图片,设置为true则会返回无压缩质量图片
format?: string // 图片格式,默认"auto"会返回原图片格式,可指定其他格式,例如webp, jpg, png等,根据具体场景选择
domain?: 'prod' | 'test' // 环境,字符类型。不传默认环境使用prod生产环境
}
export default {
/**
* 通过图片id获取图床图片地址
* @author youngbeen
* @param { string } sImgId - 图片id
* @param { object } [params] - [配置参数]
* @param { number } [params.size] - 图片尺寸,数字类型。不传默认图片尺寸是上传图片的原尺寸
* @param { string } [params.prefix] - 地址前缀,字符类型。不传地址前缀默认是https,如需特殊控制传入需修改的前缀
* @param { string } [params.hq] - 图片高质量,默认false会返回原图片70%压缩质量图片,设置为true则会返回无压缩质量图片
* @param { string } [params.format] - 图片格式,默认"auto"会返回原图片格式,可指定其他格式,例如webp, jpg, png等,根据具体场景选择
* @param { string } [params.domain] - 环境,字符类型。不传默认环境使用生产环境(图床图片一般不分生产跟sit)
* @return { string } 图片url字符串或空字符串
* @example
* // 获取默认配置图片
* imageUtil.getImageUrl('T17SdTB_Wj1RCvBVdK')
* @example
* imageUtil.getImageUrl('T17SdTB_Wj1RCvBVdK', {
* size: 400, // 宽度400像素
* prefix: 'http', // 前缀定为http
* format: 'jpg', // 指定使用jpg格式
* hq: true, // 指定使用无压缩质量图片
* domain: 'test' // 环境设置为sit
* })
*/
getImageUrl (sImgId: string, params?: ImageParams): string {
let size: number = 0
let prefix: string = 'https'
let format: string = 'auto'
let hq: string = '70'
let domain: string = ''
if (params) {
// 用户传入了配置参数
if (params.size) {
size = params.size
}
if (params.prefix) {
prefix = params.prefix
}
if (params.format) {
format = params.format
}
if (params.hq) {
hq = '100'
}
if (params.domain === 'test') {
// 测试环境 TODO
domain = params.domain + '.'
} else {
// 生产环境 TODO
}
}
// 存在的图片id
let url: string = ''
url = `${prefix}://timg.${domain}ffan.com/convert/resize/url_${sImgId}/width_${size}/zq_${hq}/tfs/xxx.${format}`
// https://timg.ffan.com/convert/resize/url_T1_Wh_BQhg1RCvBVdK/width_600/zq_100/tfs/xxx.auto
return url
}
}
|