web
9 小时以前 49fa0d82a40345342966e810b44429aec0480ef3
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
export function addUnit(value: any|null):string{
    if(value == null){
        return ''
    }
    value = `${value}` 
    return /^(-)?\d+(\\.\d+)?$/.test(value) ?  `${value}px` : value
}
 
export function unitConvert(value: any|null): number{
    if(typeof value == 'number'){
        return value as number
    }
    if(typeof value == 'string'){
        value = `${value}` 
        if(/^(-)?\d+(\\.\d+)?$/.test(value)){
            return parseFloat(value);
        }
        
        const reg = /^-?([0-9]+)?([.]{1}[0-9]+){0,1}(em|rpx|px|%)$/g;
        const results = reg.exec(value);
        if (results == null) {
            return 0;
        }
        const unit = results[3];
        const v = parseFloat(value);
        if (unit == 'rpx') {
            const { windowWidth } = uni.getWindowInfo()
            return windowWidth / 750 * v;
        }
        if (unit == 'px') {
            return v;
        }
    }
    return 0;
}