xiaoe_mp_npm 0.3.4 → 0.3.5-t0511
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/miniprogram_dist/AliveInvite/LiveRoomVertical/components/friends/friends.wxml +1 -1
- package/miniprogram_dist/AliveInvite/LiveRoomVertical/components/friends/friends.wxss +1 -1
- package/miniprogram_dist/AliveInvite/LiveRoomVertical/components/rules/rules.wxss +1 -1
- package/miniprogram_dist/AliveInvite/LiveRoomVertical/index.less +3 -3
- package/miniprogram_dist/AliveInvite/LiveRoomVertical/index.wxml +1 -1
- package/miniprogram_dist/AliveInvite/LiveRoomVertical/index.wxss +3 -3
- package/miniprogram_dist/ConfirmOrder/components/AddressEdit/index.wxml +2 -2
- package/miniprogram_dist/ConfirmOrder/components/AddressManage/index.wxml +2 -2
- package/miniprogram_dist/ConfirmOrder/components/WechatAddress/index.js +1 -23
- package/miniprogram_dist/Lottery/components/CommonPopup/index.wxml +1 -0
- package/miniprogram_dist/Lottery/components/NobodyAttend/index.wxml +1 -1
- package/miniprogram_dist/Lottery/remotePic.js +11 -11
- package/miniprogram_dist/SharePoster/PosterDom/index.js +1 -1
- package/miniprogram_dist/SharePoster/libs/positionMap.js +2 -2
- package/miniprogram_dist/SharePoster/sharePopup/index.js +4 -1
- package/miniprogram_dist/SharePoster/sharePopup/index.wxml +1 -1
- package/miniprogram_dist/common/utils/image-cdn-slim/constant.js +8 -0
- package/miniprogram_dist/common/utils/image-cdn-slim/index.js +7 -0
- package/miniprogram_dist/common/utils/image-cdn-slim/utils.js +157 -0
- package/package.json +1 -1
- package/src/AliveInvite/LiveRoomVertical/components/friends/friends.wxml +1 -1
- package/src/AliveInvite/LiveRoomVertical/components/friends/friends.wxss +1 -1
- package/src/AliveInvite/LiveRoomVertical/components/rules/rules.wxss +1 -1
- package/src/AliveInvite/LiveRoomVertical/index.less +3 -3
- package/src/AliveInvite/LiveRoomVertical/index.wxml +1 -1
- package/src/AliveInvite/LiveRoomVertical/index.wxss +252 -252
- package/src/ConfirmOrder/components/AddressEdit/index.wxml +2 -2
- package/src/ConfirmOrder/components/AddressManage/index.wxml +2 -2
- package/src/ConfirmOrder/components/WechatAddress/index.js +1 -23
- package/src/Lottery/components/CommonPopup/index.wxml +1 -0
- package/src/Lottery/components/NobodyAttend/index.wxml +1 -1
- package/src/Lottery/remotePic.js +11 -11
- package/src/SharePoster/PosterDom/index.js +1 -1
- package/src/SharePoster/libs/positionMap.js +2 -2
- package/src/SharePoster/sharePopup/index.js +4 -1
- package/src/SharePoster/sharePopup/index.wxml +1 -1
- package/src/common/utils/image-cdn-slim/constant.js +8 -0
- package/src/common/utils/image-cdn-slim/index.js +7 -0
- package/src/common/utils/image-cdn-slim/utils.js +157 -0
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
wx:for="{{friendList}}"
|
|
15
15
|
>
|
|
16
16
|
<image wx:if="{{item.wx_avatar}}" class="img-avatar" src="{{item.wx_avatar}}" />
|
|
17
|
-
<image wx:else class="img-avatar" src="//wechatavator-1252524126.
|
|
17
|
+
<image wx:else class="img-avatar" src="//wechatavator-1252524126.cdn.xiaoeknow.com/aaa/default.svg" />
|
|
18
18
|
<view class="name">
|
|
19
19
|
{{ item.wx_nickname }}
|
|
20
20
|
</view>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
width: 750rpx;
|
|
25
25
|
height: calc(100vh - 494rpx);
|
|
26
26
|
background-color: #fff !important;
|
|
27
|
-
background: url("https://wechatapppro-1252524126.
|
|
27
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
|
|
28
28
|
background-size: contain;
|
|
29
29
|
background-repeat: no-repeat;
|
|
30
30
|
border-radius: 16rpx 16rpx 0 0;
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
width: 750rpx;
|
|
18
18
|
height: calc(100vh - 494rpx);
|
|
19
19
|
background-color: #fff !important;
|
|
20
|
-
background: url("https://wechatapppro-1252524126.
|
|
20
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
|
|
21
21
|
background-size: contain;
|
|
22
22
|
background-repeat: no-repeat;
|
|
23
23
|
border-radius: 16rpx 16rpx 0 0;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
height: 100%;
|
|
9
9
|
flex:1;
|
|
10
10
|
background-color: #fff !important;
|
|
11
|
-
background: url("https://wechatapppro-1252524126.
|
|
11
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
|
|
12
12
|
background-size: contain;
|
|
13
13
|
background-repeat: no-repeat;
|
|
14
14
|
border-radius: 16px 16px 0 0;
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
animation: popping ease 300ms;
|
|
21
21
|
// height: 1035rpx;
|
|
22
22
|
background-color: #fff !important;
|
|
23
|
-
background: url("https://wechatapppro-1252524126.
|
|
23
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
|
|
24
24
|
background-size: contain;
|
|
25
25
|
background-repeat: no-repeat;
|
|
26
26
|
border-radius: 16px 16px 0 0;
|
|
27
27
|
}
|
|
28
28
|
.img-background {
|
|
29
|
-
background: url("https://wechatapppro-1252524126.
|
|
29
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2k2t0iqn.png?imageView2/2/w/200/q/60");
|
|
30
30
|
background-size: cover;
|
|
31
31
|
display: flex;
|
|
32
32
|
align-items: center;
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
<view wx:else class="num">{{ item.ranking }}</view>
|
|
53
53
|
<view class="warp-avatar">
|
|
54
54
|
<image wx:if="{{item.avatar}}" class="img-avatar" src="{{item.avatar}}" />
|
|
55
|
-
<image wx:else class="img-avatar" src="//wechatavator-1252524126.
|
|
55
|
+
<image wx:else class="img-avatar" src="//wechatavator-1252524126.cdn.xiaoeknow.com/aaa/default.svg" />
|
|
56
56
|
<view class="name">
|
|
57
57
|
{{ item.name }}
|
|
58
58
|
</view>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
height: 100%;
|
|
9
9
|
flex: 1;
|
|
10
10
|
background-color: #fff !important;
|
|
11
|
-
background: url("https://wechatapppro-1252524126.
|
|
11
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
|
|
12
12
|
background-size: contain;
|
|
13
13
|
background-repeat: no-repeat;
|
|
14
14
|
border-radius: 16px 16px 0 0;
|
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
.container-ranking {
|
|
20
20
|
animation: popping ease 300ms;
|
|
21
21
|
background-color: #fff !important;
|
|
22
|
-
background: url("https://wechatapppro-1252524126.
|
|
22
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
|
|
23
23
|
background-size: contain;
|
|
24
24
|
background-repeat: no-repeat;
|
|
25
25
|
border-radius: 16px 16px 0 0;
|
|
26
26
|
}
|
|
27
27
|
.img-background {
|
|
28
|
-
background: url("https://wechatapppro-1252524126.
|
|
28
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2k2t0iqn.png?imageView2/2/w/200/q/60");
|
|
29
29
|
background-size: cover;
|
|
30
30
|
display: flex;
|
|
31
31
|
align-items: center;
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
<view class="address-edit-content">
|
|
3
3
|
<van-dialog id="van-dialog" />
|
|
4
4
|
<!-- 获取微信收货地址 -->
|
|
5
|
-
<WechatAddress
|
|
5
|
+
<!-- <WechatAddress
|
|
6
6
|
addressList="{{ addressList }}"
|
|
7
7
|
bind:createAddress="saveAddress"
|
|
8
|
-
></WechatAddress>
|
|
8
|
+
></WechatAddress> -->
|
|
9
9
|
<view class="input-wrapper">
|
|
10
10
|
<van-field value="{{ address.receiver }}" label="收货人" placeholder="收货人姓名" maxlength="15" bind:change="changeMsg" data-type="receiver" />
|
|
11
11
|
<van-field value="{{ address.phone }}" label="手机号码" placeholder="收货人手机号" maxlength="11" type="number" bind:change="changeTel" />
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<!--src/ConfirmOrder/components/AddressManage/index.wxml-->
|
|
2
2
|
<view class="address-manage-content">
|
|
3
3
|
<!-- 获取微信收货地址 -->
|
|
4
|
-
<WechatAddress
|
|
4
|
+
<!-- <WechatAddress
|
|
5
5
|
addressList="{{ addressList }}"
|
|
6
6
|
bind:createAddress="createAddress"
|
|
7
7
|
bind:chooseAddress="chooseAddress"
|
|
8
|
-
></WechatAddress>
|
|
8
|
+
></WechatAddress> -->
|
|
9
9
|
|
|
10
10
|
<view class="address-bar" wx:for="{{ addressList }}" wx:key="key">
|
|
11
11
|
<view class="left-info" bindtap="chooseAddress" data-item="{{ item }}">
|
|
@@ -33,29 +33,7 @@ Component({
|
|
|
33
33
|
methods: {
|
|
34
34
|
// 获取微信收货地址
|
|
35
35
|
getWechat() {
|
|
36
|
-
|
|
37
|
-
success: res => {
|
|
38
|
-
// 微信地址与地址列表匹配,不重复添加
|
|
39
|
-
res['noCheck'] = true
|
|
40
|
-
let compareRes = this.compareWechat(res)
|
|
41
|
-
if (compareRes === "") {
|
|
42
|
-
this.triggerEvent("createAddress", res)
|
|
43
|
-
} else {
|
|
44
|
-
if (this.data.pageType === "list") {
|
|
45
|
-
this.triggerEvent("chooseAddress", compareRes)
|
|
46
|
-
} else {
|
|
47
|
-
wx.showToast({
|
|
48
|
-
title: '已有相同收货地址',
|
|
49
|
-
icon: 'none',
|
|
50
|
-
duration: 2000
|
|
51
|
-
})
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
fail: err => {
|
|
56
|
-
console.log(err);
|
|
57
|
-
}
|
|
58
|
-
})
|
|
36
|
+
|
|
59
37
|
},
|
|
60
38
|
// 微信地址与地址列表匹配,不重复添加
|
|
61
39
|
compareWechat(wechatAddress) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<common-popup type="white" isOverlayTransparent="{{true}}" visible="{{visible}}" bind:visibleChange="onVisibleChange">
|
|
1
|
+
<common-popup type="white" isOverlayTransparent="{{true}}" wx:if="{{visible}}" visible="{{visible}}" bind:visibleChange="onVisibleChange">
|
|
2
2
|
<view class="nobody-attend">
|
|
3
3
|
<view class="title-box">
|
|
4
4
|
<image class="title" src="{{remotePic.losing_lottery_title}}" />
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// 存放方式:B端现网访问 现网蓝悦2号7978 店铺,素材中心 -> 搜索分组"鹅直播素材(勿删)(12)",将图片传入该文件夹即可。
|
|
3
3
|
// 取链接方式,F12打开控制台,找到对应图片链接,然后去掉?后面的搜索参数即为最终图片链接
|
|
4
4
|
// 比如:
|
|
5
|
-
// https://wechatapppro-1252524126.
|
|
5
|
+
// https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kvumosz20xq9.png?imageView2/2/w/200/q/60
|
|
6
6
|
// ->
|
|
7
|
-
// https://wechatapppro-1252524126.
|
|
7
|
+
// https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kvumosz20xq9.png
|
|
8
8
|
|
|
9
9
|
export default {
|
|
10
10
|
prize_icon_new_land:
|
|
@@ -20,31 +20,31 @@ export default {
|
|
|
20
20
|
draw_background_new:
|
|
21
21
|
'https://wechatapppro-1252524126.file.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kx8cus040oea.png',
|
|
22
22
|
reward_list_title:
|
|
23
|
-
'https://wechatapppro-1252524126.
|
|
23
|
+
'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xwpx02j4.png',
|
|
24
24
|
reward_list_bg:
|
|
25
|
-
'https://wechatapppro-1252524126.
|
|
25
|
+
'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xwp50n3w.png',
|
|
26
26
|
no_winner_bg_top:
|
|
27
|
-
'https://wechatapppro-1252524126.
|
|
27
|
+
'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kwabzdln0rkz.png',
|
|
28
28
|
reward_empty_v2:
|
|
29
|
-
'https://wechatapppro-1252524126.
|
|
29
|
+
'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xwov04c7.png',
|
|
30
30
|
reward_bg_top_v2:
|
|
31
|
-
'https://wechatapppro-1252524126.
|
|
31
|
+
'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xxhe0mi6.png',
|
|
32
32
|
reward_part_title_v2:
|
|
33
33
|
'https://wechatapppro-1252524126.file.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kxgz96xp0f9a.png',
|
|
34
34
|
reward_bg_bottom_v2:
|
|
35
|
-
'https://wechatapppro-1252524126.
|
|
35
|
+
'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xxgs0uvr.png',
|
|
36
36
|
is_not_winner_title:
|
|
37
37
|
'https://wechatapppro-1252524126.file.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kxgxq1fv004j.png',
|
|
38
38
|
winner_background_new_title:
|
|
39
39
|
'https://wechatapppro-1252524126.file.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kx8cus040qts.png',
|
|
40
40
|
rewards_full_bg:
|
|
41
|
-
'https://wechatapppro-1252524126.
|
|
41
|
+
'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xxl20sqn.png',
|
|
42
42
|
winner_list_bg_top:
|
|
43
|
-
'https://wechatapppro-1252524126.
|
|
43
|
+
'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xyao0yx6.png',
|
|
44
44
|
winner_list_title:
|
|
45
45
|
'https://wechatapppro-1252524126.file.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kx8dgp1d0qtx.png',
|
|
46
46
|
winner_background_new:
|
|
47
|
-
'https://wechatapppro-1252524126.
|
|
47
|
+
'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xya203cy.png',
|
|
48
48
|
white_left_arrow:
|
|
49
49
|
'https://wechatapppro-1252524126.file.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kx8cut4g0qco.png',
|
|
50
50
|
white_close:
|
|
@@ -96,7 +96,7 @@ Component({
|
|
|
96
96
|
isSwitchBtnShow:false,
|
|
97
97
|
posterItemData:{},
|
|
98
98
|
posterStyle:"",
|
|
99
|
-
defaultAvatarUrl: 'https://wechatavator-1252524126.
|
|
99
|
+
defaultAvatarUrl: 'https://wechatavator-1252524126.cdn.xiaoeknow.com/dasda.jpg',
|
|
100
100
|
longPressCount: 0
|
|
101
101
|
},
|
|
102
102
|
computed:{
|
|
@@ -43,7 +43,7 @@ export let posterInfo = {
|
|
|
43
43
|
qrcode_size: { w: 144, h: 144 },
|
|
44
44
|
scan_code_hint: '',
|
|
45
45
|
poster_url:
|
|
46
|
-
'http://wechatapppro-1252524126.
|
|
46
|
+
'http://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/khnrjv4e0dr7i30nr2ah.png',
|
|
47
47
|
poster_type_name: '价格型-1'
|
|
48
48
|
},
|
|
49
49
|
price_two_cls: {
|
|
@@ -66,7 +66,7 @@ export let posterInfo = {
|
|
|
66
66
|
qrcode_size: { w: 172, h: 172 },
|
|
67
67
|
scan_code_hint: '',
|
|
68
68
|
poster_url:
|
|
69
|
-
'http://wechatapppro-1252524126.
|
|
69
|
+
'http://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/khnrjv4e084gjmr3gdvo.png',
|
|
70
70
|
poster_type_name: '价格型-2'
|
|
71
71
|
},
|
|
72
72
|
interact_one_cls: {
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
getPosterDetail,
|
|
6
6
|
getQrcode
|
|
7
7
|
} from '../../common/api/sharePoster'
|
|
8
|
-
|
|
8
|
+
import { getImageCdnSlimUrl } from "../../common/utils/image-cdn-slim/index";
|
|
9
9
|
import {POSTER_CLS,LOADING_DELAY} from '../libs/constant'
|
|
10
10
|
import { sensorLog } from "live-mp-tools";
|
|
11
11
|
|
|
@@ -405,6 +405,9 @@ Component({
|
|
|
405
405
|
const {code, data} = res.data
|
|
406
406
|
if (code === 0) {
|
|
407
407
|
const posterListData = data.list || []
|
|
408
|
+
posterListData.map(item=>{
|
|
409
|
+
item.compress_poster_url = getImageCdnSlimUrl(item.poster_url)
|
|
410
|
+
})
|
|
408
411
|
this.setData({
|
|
409
412
|
posterList: posterListData
|
|
410
413
|
})
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
<image
|
|
34
34
|
class="posterImage"
|
|
35
35
|
alt="poster"
|
|
36
|
-
src="{{posterItem.
|
|
36
|
+
src="{{posterItem.compress_poster_url}}"></image>
|
|
37
37
|
<image class="activity" src="../../common/assets/images/activity.png" alt="activity"></image>
|
|
38
38
|
</view>
|
|
39
39
|
</view>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { replaceCDN, replaceAllImg } from './utils'
|
|
2
|
+
|
|
3
|
+
// 处理图片链接
|
|
4
|
+
export const getImageCdnSlimUrl = (url, config = '/2/w/1025/a/100') => url ? replaceCDN(url, `?imageView2${config}`, true) : url;
|
|
5
|
+
|
|
6
|
+
// 处理富文本
|
|
7
|
+
export const getImageCdnSlimRichTextContent = richText => replaceAllImg(richText, false, {quality: '80'});
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { NEED_REPLACE, COS_V5 } from './constant'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 图片CDN替换
|
|
5
|
+
* @param src 字符串,图片URL链接,或者数组['src']
|
|
6
|
+
* @param ci 数据万象参数
|
|
7
|
+
* 如果为字符串会直接把参数拼接到cdn后面
|
|
8
|
+
* 如果是对象参数见_genCI方法
|
|
9
|
+
* example: replaceCDN('https://wechatapppro-1252524126.picsh.myqcloud.com/appaBx10ofe8494/image/kpcbjfwx0sdvg37z6dy.jpg', '?imageView2/2/w/800')
|
|
10
|
+
* return: 'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appaBx10ofe8494/image/kpcbjfwx0sdvg37z6dy.jpg??imageView2/2/w/800'
|
|
11
|
+
* */
|
|
12
|
+
export const replaceCDN = function (src = '', ci) {
|
|
13
|
+
if (!src.length) return src
|
|
14
|
+
const isSrcArray = Array.isArray(src);
|
|
15
|
+
src = isSrcArray ? src : [src];
|
|
16
|
+
// 生成数据万象链接
|
|
17
|
+
ci = typeof ci === 'string' ? ci : _genCI(ci);
|
|
18
|
+
const hasValue = (item, aim) => item.indexOf(aim) > -1;
|
|
19
|
+
// 获取文件格式
|
|
20
|
+
const getFileSuffix = (item = '') => item.split('.').pop().toLowerCase();
|
|
21
|
+
// 获取需要替换为CDN的链接
|
|
22
|
+
const getReplaceURL = (item = '') => {
|
|
23
|
+
// cos 源站地址 例如:cos.ap-shanghai.myqcloud.com
|
|
24
|
+
const cosMatch = item.match(/\.cos\.ap-([^.]*)\.myqcloud.com/);
|
|
25
|
+
if (cosMatch) {
|
|
26
|
+
return cosMatch[0]
|
|
27
|
+
}
|
|
28
|
+
return NEED_REPLACE.find(url => hasValue(item, url))
|
|
29
|
+
}
|
|
30
|
+
// 转换后的格式
|
|
31
|
+
let formatSuffix = ci.match(/\/format\/([^/|?]+)/);
|
|
32
|
+
formatSuffix = formatSuffix ? formatSuffix[1].toLowerCase() : null;
|
|
33
|
+
// 不支持webp时会降级成jpeg
|
|
34
|
+
if (!isWebp() && formatSuffix === 'webp') {
|
|
35
|
+
ci = ci.replace('format/webp', '')
|
|
36
|
+
}
|
|
37
|
+
// 转换后格式是否为静态图片
|
|
38
|
+
const isFormatStaticType = ['jpg', 'jpeg', 'png', 'bmp', 'tpg', 'heif'].includes(formatSuffix);
|
|
39
|
+
// imgView2|imgMorg2 错误兼容
|
|
40
|
+
ci = `${ci}|imageMogr2/ignore-error/1`
|
|
41
|
+
const result = src.map(item => {
|
|
42
|
+
const fileSuffix = getFileSuffix(item);
|
|
43
|
+
const replaceUrl = getReplaceURL(item);
|
|
44
|
+
// 不支持svg格式,且需要有符合条件可替换成url才进行替换
|
|
45
|
+
if (fileSuffix !== 'svg' && replaceUrl) {
|
|
46
|
+
let srcCI = ci;
|
|
47
|
+
// 动态图片不能转成静态图片,不然会静止
|
|
48
|
+
if (fileSuffix == 'gif' && isFormatStaticType) {
|
|
49
|
+
srcCI = srcCI.replace(`/format/${formatSuffix}`, '')
|
|
50
|
+
}
|
|
51
|
+
item = item.replace(replaceUrl, COS_V5) + srcCI;
|
|
52
|
+
}
|
|
53
|
+
return item
|
|
54
|
+
})
|
|
55
|
+
return isSrcArray ? result : result[0];
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* 富文本html图片CDN替换
|
|
62
|
+
* @param html html字符串
|
|
63
|
+
* @param lazyLoad 是否需要懒加载
|
|
64
|
+
* @param ci 数据万象参数
|
|
65
|
+
* 如果为字符串会直接把参数拼接到cdn后面
|
|
66
|
+
* 如果是对象参数见_genCI方法
|
|
67
|
+
* example: replaceAllImg('html', true, '?imageView2/2/w/800')
|
|
68
|
+
* return: html
|
|
69
|
+
* */
|
|
70
|
+
export const replaceAllImg = function (html, lazyLoad = false, ci = '?imageMogr2/thumbnail/800x>/format/webp') {
|
|
71
|
+
return html.replace(/<img[^>]*>/gi, str => {
|
|
72
|
+
const srcReg = /src=['"]?([^'"]*)['"]?/i;
|
|
73
|
+
const dataSrc = lazyLoad ? 'data-src' : 'src'
|
|
74
|
+
const url = str.match(srcReg);
|
|
75
|
+
//没有 src 属性的 <img></img> 匹配不到 返回 <img src="@/assets/imgs/photo_error.png" />
|
|
76
|
+
if (Array.isArray(url) && url.length > 1) {
|
|
77
|
+
const newSrc = replaceCDN(url[1], ci)
|
|
78
|
+
return str.replace(url[0], `${dataSrc}="${newSrc}"`);
|
|
79
|
+
}
|
|
80
|
+
return `<img ${dataSrc}="https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/ky19qhac05ix.png" />`
|
|
81
|
+
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* 根据参数生成数据万象链接
|
|
87
|
+
* @param data 参数为 { type, width, height, quality, rquality, lquality, format, extra }
|
|
88
|
+
* example: replaceCDN('https://wechatapppro-1252524126.picsh.myqcloud.com/appaBx10ofe8494/image/kpcbjfwx0sdvg37z6dy.jpg', '?imageView2/2/w/800')
|
|
89
|
+
* return: 'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appaBx10ofe8494/image/kpcbjfwx0sdvg37z6dy.jpg??imageView2/2/w/800'
|
|
90
|
+
* */
|
|
91
|
+
const _genCI = (data = {}) => {
|
|
92
|
+
const defaultParams = { type: '2', format: 'webp', quality: '80'};
|
|
93
|
+
if (data.rquality || data.lquality) {
|
|
94
|
+
delete defaultParams.quality
|
|
95
|
+
}
|
|
96
|
+
data = Object.assign(defaultParams, data);
|
|
97
|
+
const paramMap = {
|
|
98
|
+
width: 'w',
|
|
99
|
+
height: 'h',
|
|
100
|
+
quality: 'q',
|
|
101
|
+
rquality: 'rq',
|
|
102
|
+
lquality: 'lq',
|
|
103
|
+
format: 'format'
|
|
104
|
+
}
|
|
105
|
+
const keys = Object.keys(paramMap);
|
|
106
|
+
|
|
107
|
+
let path = ''
|
|
108
|
+
keys.forEach(key => {
|
|
109
|
+
const dataVal = data[key];
|
|
110
|
+
if (dataVal) {
|
|
111
|
+
path += `/${paramMap[key]}/${data[key]}`
|
|
112
|
+
}
|
|
113
|
+
})
|
|
114
|
+
|
|
115
|
+
if (path) {
|
|
116
|
+
const extra = data.extra || '';
|
|
117
|
+
path = `?imageView2/${data.type}${path}${extra}`
|
|
118
|
+
}
|
|
119
|
+
return path;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* 检测是否支持Webp
|
|
124
|
+
* @param data 参数为 { type, width, height, quality, rquality, lquality, format, extra }
|
|
125
|
+
* example: replaceCDN('https://wechatapppro-1252524126.picsh.myqcloud.com/appaBx10ofe8494/image/kpcbjfwx0sdvg37z6dy.jpg', '?imageView2/2/w/800')
|
|
126
|
+
* return: 'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appaBx10ofe8494/image/kpcbjfwx0sdvg37z6dy.jpg??imageView2/2/w/800'
|
|
127
|
+
* */
|
|
128
|
+
const isWebp = () => {
|
|
129
|
+
let support = false;
|
|
130
|
+
|
|
131
|
+
try {
|
|
132
|
+
const _wx$getSystemInfoSync = wx.getSystemInfoSync(),
|
|
133
|
+
platform = _wx$getSystemInfoSync.platform,
|
|
134
|
+
system = _wx$getSystemInfoSync.system;
|
|
135
|
+
|
|
136
|
+
const versionResult = /[0-9.]*$/.exec(system);
|
|
137
|
+
const systemVersion = versionResult ? versionResult[0] : '';
|
|
138
|
+
const iosSystemSupport =
|
|
139
|
+
platform === 'ios' &&
|
|
140
|
+
!!systemVersion &&
|
|
141
|
+
compareVersion(systemVersion, '14.0') >= 0; // ios 14以下的版本不支持 webp
|
|
142
|
+
|
|
143
|
+
support =
|
|
144
|
+
platform === 'devtools' ||
|
|
145
|
+
platform === 'android' ||
|
|
146
|
+
iosSystemSupport;
|
|
147
|
+
} catch (e) {
|
|
148
|
+
console.log(e);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
return support;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// 比较前面的版本是否比后面的版本要大
|
|
155
|
+
const compareVersion = (currentVersion, targetVersion) => {
|
|
156
|
+
return Math.ceil(currentVersion - targetVersion)
|
|
157
|
+
}
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
wx:for="{{friendList}}"
|
|
15
15
|
>
|
|
16
16
|
<image wx:if="{{item.wx_avatar}}" class="img-avatar" src="{{item.wx_avatar}}" />
|
|
17
|
-
<image wx:else class="img-avatar" src="//wechatavator-1252524126.
|
|
17
|
+
<image wx:else class="img-avatar" src="//wechatavator-1252524126.cdn.xiaoeknow.com/aaa/default.svg" />
|
|
18
18
|
<view class="name">
|
|
19
19
|
{{ item.wx_nickname }}
|
|
20
20
|
</view>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
width: 750rpx;
|
|
25
25
|
height: calc(100vh - 494rpx);
|
|
26
26
|
background-color: #fff !important;
|
|
27
|
-
background: url("https://wechatapppro-1252524126.
|
|
27
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
|
|
28
28
|
background-size: contain;
|
|
29
29
|
background-repeat: no-repeat;
|
|
30
30
|
border-radius: 16rpx 16rpx 0 0;
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
width: 750rpx;
|
|
18
18
|
height: calc(100vh - 494rpx);
|
|
19
19
|
background-color: #fff !important;
|
|
20
|
-
background: url("https://wechatapppro-1252524126.
|
|
20
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
|
|
21
21
|
background-size: contain;
|
|
22
22
|
background-repeat: no-repeat;
|
|
23
23
|
border-radius: 16rpx 16rpx 0 0;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
height: 100%;
|
|
9
9
|
flex:1;
|
|
10
10
|
background-color: #fff !important;
|
|
11
|
-
background: url("https://wechatapppro-1252524126.
|
|
11
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
|
|
12
12
|
background-size: contain;
|
|
13
13
|
background-repeat: no-repeat;
|
|
14
14
|
border-radius: 16px 16px 0 0;
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
animation: popping ease 300ms;
|
|
21
21
|
// height: 1035rpx;
|
|
22
22
|
background-color: #fff !important;
|
|
23
|
-
background: url("https://wechatapppro-1252524126.
|
|
23
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
|
|
24
24
|
background-size: contain;
|
|
25
25
|
background-repeat: no-repeat;
|
|
26
26
|
border-radius: 16px 16px 0 0;
|
|
27
27
|
}
|
|
28
28
|
.img-background {
|
|
29
|
-
background: url("https://wechatapppro-1252524126.
|
|
29
|
+
background: url("https://wechatapppro-1252524126.cdn.xiaoeknow.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2k2t0iqn.png?imageView2/2/w/200/q/60");
|
|
30
30
|
background-size: cover;
|
|
31
31
|
display: flex;
|
|
32
32
|
align-items: center;
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
<view wx:else class="num">{{ item.ranking }}</view>
|
|
53
53
|
<view class="warp-avatar">
|
|
54
54
|
<image wx:if="{{item.avatar}}" class="img-avatar" src="{{item.avatar}}" />
|
|
55
|
-
<image wx:else class="img-avatar" src="//wechatavator-1252524126.
|
|
55
|
+
<image wx:else class="img-avatar" src="//wechatavator-1252524126.cdn.xiaoeknow.com/aaa/default.svg" />
|
|
56
56
|
<view class="name">
|
|
57
57
|
{{ item.name }}
|
|
58
58
|
</view>
|