xiaoe_mp_npm 0.3.5 → 0.3.6-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.
Files changed (33) hide show
  1. package/miniprogram_dist/AliveInvite/LiveRoomVertical/components/friends/friends.wxml +1 -1
  2. package/miniprogram_dist/AliveInvite/LiveRoomVertical/components/friends/friends.wxss +1 -1
  3. package/miniprogram_dist/AliveInvite/LiveRoomVertical/components/rules/rules.wxss +1 -1
  4. package/miniprogram_dist/AliveInvite/LiveRoomVertical/index.less +3 -3
  5. package/miniprogram_dist/AliveInvite/LiveRoomVertical/index.wxml +1 -1
  6. package/miniprogram_dist/AliveInvite/LiveRoomVertical/index.wxss +3 -3
  7. package/miniprogram_dist/Lottery/components/CommonPopup/index.wxml +1 -0
  8. package/miniprogram_dist/Lottery/components/NobodyAttend/index.wxml +1 -1
  9. package/miniprogram_dist/Lottery/remotePic.js +11 -11
  10. package/miniprogram_dist/SharePoster/PosterDom/index.js +1 -1
  11. package/miniprogram_dist/SharePoster/libs/positionMap.js +2 -2
  12. package/miniprogram_dist/SharePoster/sharePopup/index.js +4 -1
  13. package/miniprogram_dist/SharePoster/sharePopup/index.wxml +1 -1
  14. package/miniprogram_dist/common/utils/image-cdn-slim/constant.js +8 -0
  15. package/miniprogram_dist/common/utils/image-cdn-slim/index.js +7 -0
  16. package/miniprogram_dist/common/utils/image-cdn-slim/utils.js +157 -0
  17. package/package.json +1 -1
  18. package/src/AliveInvite/LiveRoomVertical/components/friends/friends.wxml +1 -1
  19. package/src/AliveInvite/LiveRoomVertical/components/friends/friends.wxss +1 -1
  20. package/src/AliveInvite/LiveRoomVertical/components/rules/rules.wxss +1 -1
  21. package/src/AliveInvite/LiveRoomVertical/index.less +3 -3
  22. package/src/AliveInvite/LiveRoomVertical/index.wxml +1 -1
  23. package/src/AliveInvite/LiveRoomVertical/index.wxss +252 -252
  24. package/src/Lottery/components/CommonPopup/index.wxml +1 -0
  25. package/src/Lottery/components/NobodyAttend/index.wxml +1 -1
  26. package/src/Lottery/remotePic.js +11 -11
  27. package/src/SharePoster/PosterDom/index.js +1 -1
  28. package/src/SharePoster/libs/positionMap.js +2 -2
  29. package/src/SharePoster/sharePopup/index.js +4 -1
  30. package/src/SharePoster/sharePopup/index.wxml +1 -1
  31. package/src/common/utils/image-cdn-slim/constant.js +8 -0
  32. package/src/common/utils/image-cdn-slim/index.js +7 -0
  33. 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.cos.ap-shanghai.myqcloud.com/aaa/default.svg" />
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2k2t0iqn.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/aaa/default.svg" />
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2k2t0iqn.png?imageView2/2/w/200/q/60");
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,6 +2,7 @@
2
2
  custom-class="common-popup {{type}} {{customCls}}"
3
3
  overlay-style="{{isOverlayTransparent ? 'background-color: transparent !important;' : ''}}"
4
4
  show="{{visible}}"
5
+ wx:if="{{visible}}"
5
6
  position="bottom"
6
7
  bind:close="closePopup"
7
8
  closeable="{{isBasicType}}"
@@ -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.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kvumosz20xq9.png?imageView2/2/w/200/q/60
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.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kvumosz20xq9.png
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.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xwpx02j4.png',
23
+ 'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xwpx02j4.png',
24
24
  reward_list_bg:
25
- 'https://wechatapppro-1252524126.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xwp50n3w.png',
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.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kwabzdln0rkz.png',
27
+ 'https://wechatapppro-1252524126.cdn.xiaoeknow.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kwabzdln0rkz.png',
28
28
  reward_empty_v2:
29
- 'https://wechatapppro-1252524126.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xwov04c7.png',
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.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xxhe0mi6.png',
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.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xxgs0uvr.png',
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.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xxl20sqn.png',
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.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xyao0yx6.png',
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.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/b_u_5b2225aa46488_oGKN7IvA/kw20xya203cy.png',
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.cos.ap-shanghai.myqcloud.com/dasda.jpg',
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.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/khnrjv4e0dr7i30nr2ah.png',
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.cos.ap-shanghai.myqcloud.com/appAKLWLitn7978/image/khnrjv4e084gjmr3gdvo.png',
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.poster_url}}"></image>
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,8 @@
1
+ export const NEED_REPLACE = [
2
+ '.picsh.myqcloud.com',
3
+ '.file.myqcloud.com',
4
+ '.cossh.myqcloud.com',
5
+ '.cdn.xiaoeknow.com'
6
+ ]
7
+
8
+ export const COS_V5 = '.cdn.xiaoeknow.com'
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xiaoe_mp_npm",
3
- "version": "0.3.5",
3
+ "version": "0.3.6-t0511",
4
4
  "description": "",
5
5
  "main": "miniprogram_dist/index.js",
6
6
  "scripts": {
@@ -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.cos.ap-shanghai.myqcloud.com/aaa/default.svg" />
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2l510aau.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/appgwaqerxu2025/image/b_u_5b2225aa46488_oGKN7IvA/kpzb2k2t0iqn.png?imageView2/2/w/200/q/60");
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.cos.ap-shanghai.myqcloud.com/aaa/default.svg" />
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>