@cloud-print/uni-utils 1.0.1 → 1.0.2
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/dist/index.cjs +2 -1
- package/dist/index.d.cts +323 -8
- package/dist/index.d.mts +323 -8
- package/dist/index.mjs +2 -1
- package/package.json +25 -7
package/dist/index.cjs
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=function(e){return e.LOW=`low`,e.MEDIUM=`medium`,e.HIGH=`high`,e}({});function t(e){let{windowWidth:t}=uni.getWindowInfo();return 750/t*e}function n(e){let{windowWidth:t}=uni.getWindowInfo();return t/750*e}function r(e,t=`rpx`){return`${e}${t}`}function i({to:e,from:t,sources:n}){let r=e/t;return n.map(e=>e*r)}function a({targetRpx:e,base:t=`width`,widthPx:n,heightPx:r}){let i=t===`width`?e/n:e/r,a=e=>e*i;return{width:a(n),height:a(r),px:a,ratio:i}}function o(e,t){return Math.round(e/25.4*t)}function s(e,t,n){return{width:o(e,n),height:o(t,n)}}function c(e){let[t,n]=i({from:210,to:e,sources:[210,297]});return{width:t,height:n}}exports.A4_HEIGHT=297,exports.A4_WIDTH=210,exports.DeviceLevel=e,exports.addUnit=r,exports.getA4Size=c,exports.getDpiSize=s,exports.mmToPx=o,exports.px2rpx=t,exports.resize=i,exports.rpx2px=n,exports.transform=a;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));let c=require("lodash-es"),l=require("qs");l=s(l);let u=require("decimal.js");u=s(u);let d=require("dayjs");d=s(d);let ee=function(e){return e.LOW=`low`,e.MEDIUM=`medium`,e.HIGH=`high`,e}({});const f=new Map,{platform:te}=uni.getDeviceInfo(),ne=e=>{let t=e.split(`.`).pop();return`${wx.env.USER_DATA_PATH}/${(0,c.uniqueId)(`image-cache-file`)}.${t}`},p=e=>e.includes(`?`)?e+`&t=`+Date.now():e+`?t=`+Date.now(),m=(e,t)=>new Promise((n,r)=>{let i=t;if(te===`android`){if(t.startsWith(`https`)||t.startsWith(`http`))i=p(t);else{var a;let e=uni.getFileSystemManager();i=ne(t),f.has(t)||f.set(t,[]),(a=f.get(t))==null||a.push(i),e.copyFileSync(t,i)}}let o=e.createImage();o.onload=()=>n(o),o.onerror=e=>r(e),o.src=i}),h=()=>{let e=uni.getFileSystemManager();f.values().forEach(t=>{t.forEach(t=>{e.unlink({filePath:t,fail:e=>{console.error(`unlink fail`,t,e)}})})}),f.clear()},g=(e,t=1,n=`tmp.png`)=>{let r=e.toDataURL(`image/png`,t).replace(/^data:image\/\w+;base64,/,``),i=uni.base64ToArrayBuffer(r),a=`${wx.env.USER_DATA_PATH}/${n}`;return uni.getFileSystemManager().writeFileSync(a,i,`binary`),a},re=e=>`data:image/png;base64,${e.replace(/^data:image\/\w+;base64,/,``).replace(/[\r\n]/g,``)}`,ie=(e,t)=>new Promise((n,r)=>{let i=e.createImage();i.onload=()=>n(i),i.onerror=e=>r(e),i.src=t}),ae=async(e,t={})=>{let{compInst:n,quality:r=100,backgroundColor:i}=t,a=re(e),o=uni.createOffscreenCanvas({type:`2d`,width:1,height:1,compInst:n}),s=await ie(o,a),{width:c,height:l}=s;o.width=c,o.height=l;let u=o.getContext(`2d`);i&&(u.fillStyle=i,u.fillRect(0,0,c,l)),u.fillRect(0,0,c,l),u.drawImage(s,0,0,c,l);let{tempFilePath:d}=await uni.canvasToTempFilePath({canvas:o,quality:r});return d},oe=async e=>{let{tempFilePath:t}=await uni.downloadFile({url:e});await uni.saveImageToPhotosAlbum({filePath:t})},se=e=>{let t=uni.getFileSystemManager();return new Promise((n,r)=>{t.getFileInfo({filePath:e,success:e=>{n(e.size)},fail:e=>{r(e)}})})};function ce(e){return e?e.length===11?e.slice(0,3)+`****`+e.slice(7):e:``}const _=/^\d{11}$/;function le(e){return e?_.test(e):!1}function ue(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}function de(e,t){if(e==null)return{};var n,r,i=ue(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function v(e){"@babel/helpers - typeof";return v=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},v(e)}function fe(e,t){if(v(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(v(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function pe(e){var t=fe(e,`string`);return v(t)==`symbol`?t:t+``}function me(e,t,n){return(t=pe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?y(Object(n),!0).forEach(function(t){me(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const x=[`x-oss-process`],S=(e,t)=>e+`?x-oss-process=image/format,`+t,C=e=>{let t=[];return e.p&&t.push(`p_${e.p}`),e.w&&t.push(`w_${e.w}`),e.h&&t.push(`h_${e.h}`),e.m&&t.push(`m_${e.m}`),e.l&&t.push(`l_${e.l}`),e.s&&t.push(`s_${e.s}`),e.limit&&t.push(`limit_${e.limit}`),e.color&&t.push(`color_${e.color}`),t.join(`,`)},w=(e,t)=>`${e}?x-oss-process=image/resize,${C(t)}`,T=e=>e.angle,E=(e,t)=>`${e}?x-oss-process=image/rotate,${T(t)}`;function D(e){let t=e.slice(e.indexOf(`/`)+1);return t?t.split(`/`).reduce((e,t)=>{let[n,...r]=t.split(`,`);if([`resize`].includes(n)){let t={};r.forEach(e=>{let[n,r]=e.split(`_`);t[n]=Number(r)}),e.resize=t}else e[n]=/^\d+$/.test(r[0])?Number(r[0]):r[0];return e},{}):{}}function O(e){let[t,n]=e.split(`?`),r=l.default.parse(n),{"x-oss-process":i}=r,a=de(r,x);return{url:t,ossProcessProps:i?D(i):{},restProps:a}}function k(e){let t=[`image`];return e.format&&t.push(`/format,${e.format.toLowerCase()}`),e.resize&&t.push(`/resize,${C(e.resize)}`),e.rotate&&t.push(`/rotate,${T({angle:e.rotate})}`),e.quality&&t.push(`/quality,q_${e.quality}`),t.join(``)}const A=(e,t)=>{let{url:n,ossProcessProps:r,restProps:i}=O(e),a=b({"x-oss-process":k(b(b({},r),t))},i);return`${n}?${l.default.stringify(a)}`},j=(e,t)=>{let n=[];return t.format&&n.push(`/format,${t.format.toLowerCase()}`),t.resize&&n.push(`/resize,${C(t.resize)}`),t.rotate&&n.push(`/rotate,${T(t.rotate)}`),`${e}?x-oss-process=image${n.join(``)}`},M=e=>{var t,n,r,i,a,o,s,l;return(0,c.omitBy)({fileSize:Number((t=e.FileSize)==null?void 0:t.value),format:(n=e.Format)==null?void 0:n.value,frameCount:Number((r=e.FrameCount)==null?void 0:r.value),imageWidth:Number((i=e.ImageWidth)==null?void 0:i.value),imageHeight:Number((a=e.ImageHeight)==null?void 0:a.value),resolutionUnit:(o=e.ResolutionUnit)==null?void 0:o.value,xResolution:(s=e.XResolution)==null?void 0:s.value,yResolution:(l=e.YResolution)==null?void 0:l.value},c.isUndefined)},N=async e=>new Promise((t,n)=>{uni.request({url:`${e}?x-oss-process=image/info`,method:`GET`,dataType:`json`,success:e=>{e.statusCode===200?t(M(e.data)):n(Error(`Failed to get image info: ${e.statusCode}`))},fail:e=>{n(e)}})});function P(e){return require.async(e)}function F(e){let{windowWidth:t}=uni.getWindowInfo();return 750/t*e}function I(e){let{windowWidth:t}=uni.getWindowInfo();return t/750*e}function L(e,t=`rpx`){return`${e}${t}`}function R({to:e,from:t,sources:n}){let r=e/t;return n.map(e=>e*r)}function z({targetRpx:e,base:t=`width`,widthPx:n,heightPx:r}){let i=t===`width`?e/n:e/r,a=e=>e*i;return{width:a(n),height:a(r),px:a,ratio:i}}function B(e,t){return Math.round(e/25.4*t)}function he(e,t,n){return{width:B(e,n),height:B(t,n)}}const ge=e=>e===void 0?0:U(e,100),_e=e=>(0,c.isUndefined)(e)?0:V(e,100),V=(e,t)=>(0,c.isUndefined)(e)||(0,c.isUndefined)(t)?0:new u.default(e).mul(t).toNumber(),ve=(e,...t)=>{let n=new u.default(e);return t.forEach(e=>{n=n.sub(e)}),n.toNumber()},H=(e,...t)=>{let n=new u.default(e);return t.forEach(e=>{n=n.add(e)}),n.toNumber()},U=(e,t)=>(0,c.isUndefined)(e)||(0,c.isUndefined)(t)||Number(t)===0?0:new u.default(e).div(t).toNumber();var ye={add:H,sub:ve,multiply:V,div:U,avg:(e,...t)=>{let n=H(e,...t);return U(n,t.length+1)}};function be(e,t){typeof e==`string`?uni.navigateTo({url:e,params:t}):uni.navigateTo(e)}function W(e){return e.startsWith(`/`)?e:`/${e}`}function xe(e){let t=getCurrentPages(),n=W(e.listPage),r=W(e.firstPage),i=t.map(e=>W(e.route)),a=i.findIndex(e=>e===n);if(a!==-1)uni.navigateBack({delta:t.length-a-1});else{let e=i.findIndex(e=>e===r);e===-1?uni.navigateTo({url:r}):(uni.navigateBack({delta:t.length-e}),setTimeout(()=>{uni.navigateTo({url:n})},500))}}function Se(e,t=!1){return e<1e3?t?`${Math.round(e)}米`:`${Math.round(e)}m`:t?`${(e/1e3).toFixed(1)}千米`:`${(e/1e3).toFixed(1)}km`}function Ce(e,t,n){for(let n of t)if(e.includes(n))return n;return n==null?t[t.length-1]:n}async function we(e){try{await uni.setClipboardData({data:e})}catch(e){throw uni.showModal({title:`复制失败`,content:JSON.stringify(e),showCancel:!1}),e}}const Te=()=>{uni.hideLoading({fail:()=>{}})},G={high:.62,medium:.38},K={benchmark:.45,memory:.35,system:.2},q={memory:.6,system:.4};function J(){return uni.getDeviceInfo()}function Ee(){let{benchmarkLevel:e}=J();if(e!==void 0)return e;let{benchmarkLevel:t}=uni.getSystemInfoSync();return t}function De(e){if(!e)return;let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:void 0}function Y(e,t){if(t===`ios`){let t=e.match(/iOS\s+(\d+)/i);return t?Number(t[1]):void 0}if(t===`android`||t===`ohos`){let t=e.match(/Android\s+(\d+)/i);return t?Number(t[1]):void 0}}function Oe(e){if(e<=0)return 0;if(!(e<0))return Math.min(1,(e-1)/49)}function ke(e){return Math.min(1,Math.max(0,(e-2048)/10240))}function Ae(e){return e>=17?1:e>=15?.85:e>=13?.6:e>=11?.4:.2}function je(e){return e>=13?1:e>=10?.7:e>=8?.45:.2}function Me(e,t){return e===`ios`?Ae(t):e===`android`||e===`ohos`?je(t):.5}function Ne(e){let t=[],n=e.benchmark!==void 0;if(e.benchmark!==void 0&&t.push({score:e.benchmark,weight:K.benchmark}),e.memory!==void 0&&t.push({score:e.memory,weight:n?K.memory:q.memory}),e.system!==void 0&&t.push({score:e.system,weight:n?K.system:q.system}),t.length===0)return .5;let r=t.reduce((e,t)=>e+t.weight,0);return t.reduce((e,t)=>e+t.score*t.weight,0)/r}function Pe(e){return e>=G.high?`high`:e>=G.medium?`medium`:`low`}function Fe(e,t,n){return t!==void 0&&t<=0||n!==void 0&&n<2048?`low`:e===`high`&&n!==void 0&&n<4096&&(t===void 0||t<0)?`medium`:e}function Ie(e,t,n,r){let i={};if(n!==void 0){let e=Oe(n);e!==void 0&&(i.benchmark=e)}r!==void 0&&(i.memory=ke(r));let a=Y(t,e);return a!==void 0&&(i.system=Me(e,a)),i}function X(){let{platform:e,system:t,memorySize:n}=J();if(e===`devtools`)return{platform:e,scores:{benchmark:1,memory:1,system:1},compositeScore:1,level:`high`};let r=Ee(),i=De(n),a=Ie(e,t,r,i),o=Ne(a),s=Pe(o);s=Fe(s,r,i);let c={platform:e,benchmarkLevel:r,memoryMb:i,systemMajor:Y(t,e),scores:a,compositeScore:o,level:s};return uni.getAccountInfoSync().miniProgram.envVersion!==`release`&&(console.log(`------------- device perf metrics -------------`),Object.entries(c).forEach(([e,t])=>{console.log(`${e}: ${JSON.stringify(t)}`)}),console.log(`------------- device perf metrics -------------`)),c}function Le(){return X().level}function Re(e,t){return e.replace(/\${(.+?)}/g,(e,n)=>(0,c.get)(t,n,e))}function ze(e){var t;if(e){if(`logisticsShipList`in e){var n;return b(b({},e),{},{logisticsShipList:Be([...e.logisticsShipList]),logisticsList:Z([...(n=e.logisticsList)==null?[]:n])})}return b(b({},e),{},{logisticsList:Z([...(t=e.logisticsList)==null?[]:t])})}}function Be(e){return e.sort((e,t)=>(0,d.default)(t.logisticsTime).diff((0,d.default)(e.logisticsTime)))}function Z(e){return e.map(e=>b(b({},e),{},{dataList:Ve(e.dataList)}))}function Ve(e){return e.sort((e,t)=>(0,d.default)(t.time).diff((0,d.default)(e.time)))}const He={0:`在途`,1:`揽收`,2:`疑难`,3:`签收`,4:`退签`,5:`派件`,8:`清关`,14:`拒签`};function Q(e){var t;return(t=He[e])==null?`未知`:t}function Ue(e){let[t,n]=R({from:210,to:e,sources:[210,297]});return{width:t,height:n}}function We(e){return e.split(`,`).reduce((e,t)=>{let[n,r]=t.split(`-`);return r===void 0?e.concat(Number(n)):e.concat((0,c.range)(Number(n),Number(r)+1))},[])}function Ge(e){return e.reduce((t,n,r)=>(t.length===0?t.push({start:n,end:n}):n===e[r-1]+1?t[t.length-1].end=n:t.push({start:n,end:n}),t),[]).map(e=>e.start===e.end?String(e.start):`${e.start}-${e.end}`).join(`,`)}function Ke(e){return e.length>8?`${e.substring(0,8)}...`:e}function qe(e){return e.split(`,`).reduce((e,t)=>{let[n,r]=t.split(`-`);return r===void 0?e+1:e+(Number(r)-Number(n)+1)},0)}const Je=e=>e.join(`\r
|
|
2
|
+
`);function Ye(){let{platform:e}=uni.getDeviceInfo();return[`windows`,`mac`].includes(e)}const $=({message:e,mask:t,icon:n,delay:r,duration:i})=>new Promise((a,o)=>{let s=(0,c.omitBy)({title:e,icon:n,mask:t,duration:i,success:a,fail:o},c.isUndefined);r===void 0?uni.showToast(s):setTimeout(()=>{uni.showToast(s)},typeof r==`boolean`?200:r)});var Xe={info(e,t){return $({message:e,icon:`none`,mask:!0,delay:t==null?void 0:t.delay,duration:t==null?void 0:t.duration})},error(e,t){return $({message:e,icon:`none`,mask:!0,delay:t==null?void 0:t.delay,duration:t==null?void 0:t.duration})},success(e,t){return $({message:e,icon:`none`,mask:!0,delay:t==null?void 0:t.delay,duration:t==null?void 0:t.duration})}};function Ze(){return((Math.random()*6|0)+10).toString(16)}function Qe(){return(Math.random()*16|0).toString(16)}function $e(e=16){if(e<=0)return``;let t=Ze();for(let n=1;n<e;n++)t+=Qe();return t}exports.A4_HEIGHT=297,exports.A4_WIDTH=210,exports.DeviceLevel=ee,exports.SIMPLE_MOBILE_REG=_,exports.addUnit=L,exports.centToYuan=ge,exports.checkIsPC=Ye,exports.clearImageCache=h,exports.currency=ye,exports.deserializePageRange=We,exports.formatDistance=Se,exports.getA4Size=Ue,exports.getDeviceLevel=Le,exports.getDevicePerfMetrics=X,exports.getDpiSize=he,exports.getFallbackValue=Ce,exports.getFileSize=se,exports.getFormatImage=S,exports.getLogisticsState=Q,exports.getOSSImageInfo=N,exports.getOSSProcessImage=j,exports.getOSSUrlMerged=A,exports.getPageCount=qe,exports.getReadablePageRange=Ke,exports.getResizeImage=w,exports.getRotateImage=E,exports.loadImage=m,exports.mmToPx=B,exports.navigateToListPage=xe,exports.normalizeModalContent=Je,exports.normalizeOrderExpress=ze,exports.normalizeRoute=W,exports.phoneMask=ce,exports.px2rpx=F,exports.requireAsync=P,exports.resize=R,exports.resolveTemplate=Re,exports.rpx2px=I,exports.safeHideLoading=Te,exports.saveBase64Image=ae,exports.saveCanvasToTempFile=g,exports.saveImageToAlbum=oe,exports.serializePageRange=Ge,exports.setClipboardData=we,exports.toPage=be,exports.toast=Xe,exports.transform=z,exports.uuid=$e,exports.validateSimpleMobile=le,exports.yuanToCent=_e;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ComponentInternalInstance } from "vue";
|
|
1
2
|
//#region src/types.d.ts
|
|
2
3
|
export declare enum DeviceLevel {
|
|
3
4
|
LOW = "low",
|
|
@@ -60,13 +61,176 @@ export interface OSSImageInfo {
|
|
|
60
61
|
yResolution?: string;
|
|
61
62
|
}
|
|
62
63
|
//#endregion
|
|
63
|
-
//#region src/helpers/
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
//#region src/helpers/canvas.d.ts
|
|
65
|
+
/**
|
|
66
|
+
* 加载图片
|
|
67
|
+
* @param canvas
|
|
68
|
+
* @param url
|
|
69
|
+
* @returns
|
|
70
|
+
*/
|
|
71
|
+
export declare const loadImage: (canvas: any, url: string) => Promise<WechatMiniprogram.Image>;
|
|
72
|
+
/**
|
|
73
|
+
* 清除图片缓存
|
|
74
|
+
*/
|
|
75
|
+
export declare const clearImageCache: () => void;
|
|
76
|
+
/**
|
|
77
|
+
* canvas保存图片
|
|
78
|
+
* @param canvas
|
|
79
|
+
* @returns
|
|
80
|
+
*/
|
|
81
|
+
export declare const saveCanvasToTempFile: (canvas: any, ratio?: number, tempFileName?: string) => string;
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region src/helpers/image.d.ts
|
|
84
|
+
export interface SaveBase64ImageOptions {
|
|
85
|
+
/** 组件实例,OffscreenCanvas 绘制时建议传入 */
|
|
86
|
+
compInst?: ComponentInternalInstance | null;
|
|
87
|
+
/** 图片质量,范围 0-100 */
|
|
88
|
+
quality?: number;
|
|
89
|
+
/** 背景颜色 */
|
|
90
|
+
backgroundColor?: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* 将 base64 图片通过 OffscreenCanvas 直接绘制后保存为本地临时图片
|
|
94
|
+
* (Image.src 支持 data URI,基础库 >= 2.11.0)
|
|
95
|
+
* @param base64 后台返回的 base64(可带 data:image 前缀)
|
|
96
|
+
* @returns 临时图片路径
|
|
97
|
+
*/
|
|
98
|
+
export declare const saveBase64Image: (base64: string, options?: SaveBase64ImageOptions) => Promise<string>;
|
|
99
|
+
//#endregion
|
|
100
|
+
//#region src/helpers/file.d.ts
|
|
101
|
+
/**
|
|
102
|
+
* 保存远程图片到相册
|
|
103
|
+
* @param url
|
|
104
|
+
* @returns
|
|
105
|
+
*/
|
|
106
|
+
export declare const saveImageToAlbum: (url: string) => Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* 获取文件大小
|
|
109
|
+
* @param path
|
|
110
|
+
* @returns
|
|
111
|
+
*/
|
|
112
|
+
export declare const getFileSize: (path: string) => Promise<number>;
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region src/helpers/mobile.d.ts
|
|
115
|
+
/**
|
|
116
|
+
* 手机号脱敏
|
|
117
|
+
* @param mobile
|
|
118
|
+
* @returns
|
|
119
|
+
*/
|
|
120
|
+
export declare function phoneMask(mobile: string | undefined): string;
|
|
121
|
+
/**
|
|
122
|
+
* 简单手机号正则
|
|
123
|
+
*/
|
|
124
|
+
export declare const SIMPLE_MOBILE_REG: RegExp;
|
|
125
|
+
/**
|
|
126
|
+
* 验证手机号
|
|
127
|
+
* @param mobile
|
|
128
|
+
* @returns
|
|
129
|
+
*/
|
|
130
|
+
export declare function validateSimpleMobile(mobile?: string): boolean;
|
|
131
|
+
//#endregion
|
|
132
|
+
//#region src/helpers/oss.d.ts
|
|
133
|
+
/**
|
|
134
|
+
* 格式化图片
|
|
135
|
+
* @param url 图片地址
|
|
136
|
+
* @param format 格式
|
|
137
|
+
* @returns 格式化后的图片地址
|
|
138
|
+
*/
|
|
139
|
+
export declare const getFormatImage: (url: string, format: string) => string;
|
|
140
|
+
interface OSSResizeProp {
|
|
141
|
+
/**
|
|
142
|
+
* 按百分比缩放图片
|
|
143
|
+
* 小于100为缩小,大于100为放大。
|
|
144
|
+
*/
|
|
145
|
+
p?: number;
|
|
146
|
+
/**
|
|
147
|
+
* 指定目标缩放图的宽度。
|
|
148
|
+
*/
|
|
149
|
+
w?: number;
|
|
150
|
+
/**
|
|
151
|
+
* 指定目标缩放图的高度。
|
|
152
|
+
*/
|
|
153
|
+
h?: number;
|
|
154
|
+
/**
|
|
155
|
+
* 指定缩放的模式
|
|
156
|
+
* lfit(默认值):等比缩放至指定宽高区域内最大图形。
|
|
157
|
+
* mfit:等比缩放至覆盖指定宽高区域。
|
|
158
|
+
* fill:等比缩放覆盖指定宽高区域,空白部分会填充背景色。
|
|
159
|
+
* pad:自适应填充,部分缩放图片内容可能超出指定宽高区域。
|
|
160
|
+
* fixed:固定长宽,缩放超出指定宽高的图片内容将被裁剪。
|
|
161
|
+
* @default lfit
|
|
162
|
+
*/
|
|
163
|
+
m?: "lfit" | "mfit" | "fill" | "pad" | "fixed";
|
|
164
|
+
/**
|
|
165
|
+
* 指定目标缩放图的最长边。
|
|
166
|
+
*/
|
|
167
|
+
l?: number;
|
|
168
|
+
/**
|
|
169
|
+
* 指定目标缩放图的最短边。
|
|
170
|
+
*/
|
|
171
|
+
s?: number;
|
|
172
|
+
/**
|
|
173
|
+
* 当目标图片分辨率大于原图分辨率时,设置是否进行缩放。
|
|
174
|
+
* 1(默认值):返回按照原图分辨率转换的图片(可能和原图的体积不一样)
|
|
175
|
+
* 0:按指定参数进行缩放
|
|
176
|
+
* @default 1
|
|
177
|
+
*/
|
|
178
|
+
limit?: 1 | 0;
|
|
179
|
+
/**
|
|
180
|
+
* 当缩放模式选择为pad(缩放填充)时,可以设置填充的颜色。
|
|
181
|
+
* RGB颜色值,例如:000000表示黑色,FFFFFF表示白色。
|
|
182
|
+
* @default FFFFFF
|
|
183
|
+
*/
|
|
184
|
+
color?: string;
|
|
185
|
+
}
|
|
186
|
+
export declare const getResizeImage: (url: string, props: OSSResizeProp) => string;
|
|
187
|
+
interface OSSRotateProp {
|
|
188
|
+
/**
|
|
189
|
+
* 旋转角度
|
|
190
|
+
* @default 0
|
|
191
|
+
*/
|
|
192
|
+
angle?: number;
|
|
193
|
+
}
|
|
194
|
+
export declare const getRotateImage: (url: string, props: OSSRotateProp) => string;
|
|
195
|
+
interface OSSProcessProps {
|
|
196
|
+
format?: string;
|
|
197
|
+
resize?: OSSResizeProp;
|
|
198
|
+
rotate?: OSSRotateProp;
|
|
199
|
+
}
|
|
200
|
+
interface OSSProcessPropsV2 {
|
|
201
|
+
format?: string;
|
|
202
|
+
resize?: OSSResizeProp;
|
|
203
|
+
rotate?: number;
|
|
204
|
+
quality?: number;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* 获取OSS URL 合并后的地址
|
|
208
|
+
* @param url 原始URL
|
|
209
|
+
* @param props 处理参数
|
|
210
|
+
* @returns URL 合并后的地址
|
|
211
|
+
*/
|
|
212
|
+
export declare const getOSSUrlMerged: (url: string, props: OSSProcessPropsV2) => string;
|
|
213
|
+
/**
|
|
214
|
+
* 获取OSS图片处理后的地址
|
|
215
|
+
* @param url 图片地址
|
|
216
|
+
* @param props 图片处理参数
|
|
217
|
+
* @returns 图片处理后的地址
|
|
218
|
+
*/
|
|
219
|
+
export declare const getOSSProcessImage: (url: string, props: OSSProcessProps) => string;
|
|
220
|
+
/**
|
|
221
|
+
* 获取OSS图片信息
|
|
222
|
+
* @param url 图片地址
|
|
223
|
+
* @returns 图片信息
|
|
224
|
+
*/
|
|
225
|
+
export declare const getOSSImageInfo: (url: string) => Promise<OSSImageInfo>;
|
|
226
|
+
//#endregion
|
|
227
|
+
//#region src/helpers/sub-pkg.d.ts
|
|
228
|
+
/**
|
|
229
|
+
* 异步加载分包模块
|
|
230
|
+
* @param module
|
|
231
|
+
* @returns
|
|
232
|
+
*/
|
|
233
|
+
export declare function requireAsync<T>(module: string): Promise<T>;
|
|
70
234
|
//#endregion
|
|
71
235
|
//#region src/helpers/unit.d.ts
|
|
72
236
|
/**
|
|
@@ -148,4 +312,155 @@ export declare function getDpiSize(width: number, height: number, dpi: number):
|
|
|
148
312
|
width: number;
|
|
149
313
|
height: number;
|
|
150
314
|
};
|
|
151
|
-
//#endregion
|
|
315
|
+
//#endregion
|
|
316
|
+
//#region src/helpers/currency.d.ts
|
|
317
|
+
export declare const centToYuan: (amount: string | number | undefined) => number;
|
|
318
|
+
export declare const yuanToCent: (amount: string | number | undefined) => number;
|
|
319
|
+
export type CurrencyOperation = number | string;
|
|
320
|
+
declare const _default: {
|
|
321
|
+
add: (a: CurrencyOperation, ...rest: CurrencyOperation[]) => number;
|
|
322
|
+
sub: (a: CurrencyOperation, ...rest: CurrencyOperation[]) => number;
|
|
323
|
+
multiply: (a: CurrencyOperation | undefined, b: CurrencyOperation | undefined) => number;
|
|
324
|
+
div: (a: CurrencyOperation | undefined, b: CurrencyOperation | undefined) => number;
|
|
325
|
+
avg: (a: CurrencyOperation, ...rest: CurrencyOperation[]) => number;
|
|
326
|
+
};
|
|
327
|
+
//#endregion
|
|
328
|
+
//#region src/helpers/route.d.ts
|
|
329
|
+
export type ToPageOptions = Parameters<typeof uni.navigateTo>[0];
|
|
330
|
+
/**
|
|
331
|
+
* 跳转页面
|
|
332
|
+
* @param option 跳转选项
|
|
333
|
+
*/
|
|
334
|
+
export declare function toPage(option: ToPageOptions): void;
|
|
335
|
+
/**
|
|
336
|
+
* 跳转页面
|
|
337
|
+
* @param path 页面路径
|
|
338
|
+
* @param params 跳转参数
|
|
339
|
+
*/
|
|
340
|
+
export declare function toPage(path: string, params?: any): void;
|
|
341
|
+
/**
|
|
342
|
+
* 规范化路由
|
|
343
|
+
* @param route 路由
|
|
344
|
+
* @returns 规范化后的路由
|
|
345
|
+
*/
|
|
346
|
+
export declare function normalizeRoute(route: string): string;
|
|
347
|
+
interface NavigateToListPageOptions {
|
|
348
|
+
/**
|
|
349
|
+
* 列表页
|
|
350
|
+
*/
|
|
351
|
+
listPage: string;
|
|
352
|
+
/**
|
|
353
|
+
* 起始页
|
|
354
|
+
*/
|
|
355
|
+
firstPage: string;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* 导航到列表页
|
|
359
|
+
* @param option 导航选项
|
|
360
|
+
*/
|
|
361
|
+
export declare function navigateToListPage(option: NavigateToListPageOptions): void;
|
|
362
|
+
//#endregion
|
|
363
|
+
//#region src/helpers/distance.d.ts
|
|
364
|
+
export declare function formatDistance(distance: number, chinese?: boolean): string;
|
|
365
|
+
//#endregion
|
|
366
|
+
//#region src/helpers/value.d.ts
|
|
367
|
+
/**
|
|
368
|
+
* 根据setting值,从fallbackValues中找到第一个匹配的值,如果没有匹配到,则返回fallbackValues的最后一个值
|
|
369
|
+
* @param setting 设置值
|
|
370
|
+
* @param fallbackValues 值列表
|
|
371
|
+
* @param fallback 如果未找到匹配值,则返回该值,默认为fallbackValues的最后一个值
|
|
372
|
+
* @returns 值
|
|
373
|
+
*/
|
|
374
|
+
export declare function getFallbackValue<T>(setting: T[], fallbackValues: T[], fallback?: T): T;
|
|
375
|
+
//#endregion
|
|
376
|
+
//#region src/helpers/clipboard.d.ts
|
|
377
|
+
export declare function setClipboardData(data: string): Promise<void>;
|
|
378
|
+
//#endregion
|
|
379
|
+
//#region src/helpers/loading.d.ts
|
|
380
|
+
export declare const safeHideLoading: () => void;
|
|
381
|
+
//#endregion
|
|
382
|
+
//#region src/helpers/perf.d.ts
|
|
383
|
+
/**
|
|
384
|
+
* 采集设备性能评测快照(多维度加权,不单依赖 benchmarkLevel)
|
|
385
|
+
*/
|
|
386
|
+
export declare function getDevicePerfMetrics(): DevicePerfMetrics;
|
|
387
|
+
/**
|
|
388
|
+
* 评测当前设备性能档位(微信小程序)
|
|
389
|
+
*
|
|
390
|
+
* 综合 benchmarkLevel、物理内存、系统版本加权评分;
|
|
391
|
+
* 出图画布由打印 DPI 决定,与屏幕 DPR 无关,故不纳入设备评测。
|
|
392
|
+
*/
|
|
393
|
+
export declare function getDeviceLevel(): DeviceLevel;
|
|
394
|
+
//#endregion
|
|
395
|
+
//#region src/helpers/template.d.ts
|
|
396
|
+
/**
|
|
397
|
+
* 解析模板
|
|
398
|
+
* @param template 模板
|
|
399
|
+
* @param data 数据
|
|
400
|
+
* @returns 解析后的模板
|
|
401
|
+
*/
|
|
402
|
+
export declare function resolveTemplate(template: string, data: Record<string, any>): string;
|
|
403
|
+
//#endregion
|
|
404
|
+
//#region src/helpers/express.d.ts
|
|
405
|
+
export declare function normalizeOrderExpress<T extends Record<string, any>>(order?: T): T | undefined;
|
|
406
|
+
export declare function getLogisticsState(state: string): string;
|
|
407
|
+
//#endregion
|
|
408
|
+
//#region src/helpers/a4.d.ts
|
|
409
|
+
export declare const A4_WIDTH = 210;
|
|
410
|
+
export declare const A4_HEIGHT = 297;
|
|
411
|
+
export declare function getA4Size(to: number): {
|
|
412
|
+
width: number;
|
|
413
|
+
height: number;
|
|
414
|
+
};
|
|
415
|
+
//#endregion
|
|
416
|
+
//#region src/helpers/range.d.ts
|
|
417
|
+
/**
|
|
418
|
+
* 反序列化页码范围
|
|
419
|
+
* @param pageRange
|
|
420
|
+
* @returns
|
|
421
|
+
*/
|
|
422
|
+
export declare function deserializePageRange(pageRange: string): number[];
|
|
423
|
+
/**
|
|
424
|
+
* 序列化页码范围为逗号分隔的区间字符串(连续页合并为 a-b)
|
|
425
|
+
* @example serializePageRange([1, 2, 3, 5, 7, 8]) => "1-3,5,7-8"
|
|
426
|
+
*/
|
|
427
|
+
export declare function serializePageRange(pages: number[]): string;
|
|
428
|
+
/**
|
|
429
|
+
* 获取可读的页码范围
|
|
430
|
+
* @param pageRange
|
|
431
|
+
* @returns
|
|
432
|
+
*/
|
|
433
|
+
export declare function getReadablePageRange(pageRange: string): string;
|
|
434
|
+
/**
|
|
435
|
+
* 获取页码范围的页数
|
|
436
|
+
* @param pageRange
|
|
437
|
+
* @returns
|
|
438
|
+
*/
|
|
439
|
+
export declare function getPageCount(pageRange: string): number;
|
|
440
|
+
//#endregion
|
|
441
|
+
//#region src/helpers/modal.d.ts
|
|
442
|
+
export declare const normalizeModalContent: (content: string[]) => string;
|
|
443
|
+
//#endregion
|
|
444
|
+
//#region src/helpers/device.d.ts
|
|
445
|
+
export declare function checkIsPC(): boolean;
|
|
446
|
+
//#endregion
|
|
447
|
+
//#region src/helpers/toast.d.ts
|
|
448
|
+
type ToastOption = {
|
|
449
|
+
delay?: boolean | number;
|
|
450
|
+
duration?: number;
|
|
451
|
+
};
|
|
452
|
+
declare const _default$1: {
|
|
453
|
+
info(message: string, option?: ToastOption): Promise<unknown>;
|
|
454
|
+
error(message: string, option?: ToastOption): Promise<unknown>;
|
|
455
|
+
success(message: string, option?: ToastOption): Promise<unknown>;
|
|
456
|
+
};
|
|
457
|
+
//#endregion
|
|
458
|
+
//#region src/helpers/uuid.d.ts
|
|
459
|
+
/**
|
|
460
|
+
* 生成指定长度的简易随机 ID(十六进制字符)
|
|
461
|
+
* 首字符固定为字母(a-f),避免作为 DOM id 时以数字开头导致选择器无效
|
|
462
|
+
* @param length 生成长度,默认 16
|
|
463
|
+
*/
|
|
464
|
+
declare function uuid(length?: number): string;
|
|
465
|
+
//#endregion
|
|
466
|
+
export { _default as currency, _default$1 as toast, uuid };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ComponentInternalInstance } from "vue";
|
|
1
2
|
//#region src/types.d.ts
|
|
2
3
|
export declare enum DeviceLevel {
|
|
3
4
|
LOW = "low",
|
|
@@ -60,13 +61,176 @@ export interface OSSImageInfo {
|
|
|
60
61
|
yResolution?: string;
|
|
61
62
|
}
|
|
62
63
|
//#endregion
|
|
63
|
-
//#region src/helpers/
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
//#region src/helpers/canvas.d.ts
|
|
65
|
+
/**
|
|
66
|
+
* 加载图片
|
|
67
|
+
* @param canvas
|
|
68
|
+
* @param url
|
|
69
|
+
* @returns
|
|
70
|
+
*/
|
|
71
|
+
export declare const loadImage: (canvas: any, url: string) => Promise<WechatMiniprogram.Image>;
|
|
72
|
+
/**
|
|
73
|
+
* 清除图片缓存
|
|
74
|
+
*/
|
|
75
|
+
export declare const clearImageCache: () => void;
|
|
76
|
+
/**
|
|
77
|
+
* canvas保存图片
|
|
78
|
+
* @param canvas
|
|
79
|
+
* @returns
|
|
80
|
+
*/
|
|
81
|
+
export declare const saveCanvasToTempFile: (canvas: any, ratio?: number, tempFileName?: string) => string;
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region src/helpers/image.d.ts
|
|
84
|
+
export interface SaveBase64ImageOptions {
|
|
85
|
+
/** 组件实例,OffscreenCanvas 绘制时建议传入 */
|
|
86
|
+
compInst?: ComponentInternalInstance | null;
|
|
87
|
+
/** 图片质量,范围 0-100 */
|
|
88
|
+
quality?: number;
|
|
89
|
+
/** 背景颜色 */
|
|
90
|
+
backgroundColor?: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* 将 base64 图片通过 OffscreenCanvas 直接绘制后保存为本地临时图片
|
|
94
|
+
* (Image.src 支持 data URI,基础库 >= 2.11.0)
|
|
95
|
+
* @param base64 后台返回的 base64(可带 data:image 前缀)
|
|
96
|
+
* @returns 临时图片路径
|
|
97
|
+
*/
|
|
98
|
+
export declare const saveBase64Image: (base64: string, options?: SaveBase64ImageOptions) => Promise<string>;
|
|
99
|
+
//#endregion
|
|
100
|
+
//#region src/helpers/file.d.ts
|
|
101
|
+
/**
|
|
102
|
+
* 保存远程图片到相册
|
|
103
|
+
* @param url
|
|
104
|
+
* @returns
|
|
105
|
+
*/
|
|
106
|
+
export declare const saveImageToAlbum: (url: string) => Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* 获取文件大小
|
|
109
|
+
* @param path
|
|
110
|
+
* @returns
|
|
111
|
+
*/
|
|
112
|
+
export declare const getFileSize: (path: string) => Promise<number>;
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region src/helpers/mobile.d.ts
|
|
115
|
+
/**
|
|
116
|
+
* 手机号脱敏
|
|
117
|
+
* @param mobile
|
|
118
|
+
* @returns
|
|
119
|
+
*/
|
|
120
|
+
export declare function phoneMask(mobile: string | undefined): string;
|
|
121
|
+
/**
|
|
122
|
+
* 简单手机号正则
|
|
123
|
+
*/
|
|
124
|
+
export declare const SIMPLE_MOBILE_REG: RegExp;
|
|
125
|
+
/**
|
|
126
|
+
* 验证手机号
|
|
127
|
+
* @param mobile
|
|
128
|
+
* @returns
|
|
129
|
+
*/
|
|
130
|
+
export declare function validateSimpleMobile(mobile?: string): boolean;
|
|
131
|
+
//#endregion
|
|
132
|
+
//#region src/helpers/oss.d.ts
|
|
133
|
+
/**
|
|
134
|
+
* 格式化图片
|
|
135
|
+
* @param url 图片地址
|
|
136
|
+
* @param format 格式
|
|
137
|
+
* @returns 格式化后的图片地址
|
|
138
|
+
*/
|
|
139
|
+
export declare const getFormatImage: (url: string, format: string) => string;
|
|
140
|
+
interface OSSResizeProp {
|
|
141
|
+
/**
|
|
142
|
+
* 按百分比缩放图片
|
|
143
|
+
* 小于100为缩小,大于100为放大。
|
|
144
|
+
*/
|
|
145
|
+
p?: number;
|
|
146
|
+
/**
|
|
147
|
+
* 指定目标缩放图的宽度。
|
|
148
|
+
*/
|
|
149
|
+
w?: number;
|
|
150
|
+
/**
|
|
151
|
+
* 指定目标缩放图的高度。
|
|
152
|
+
*/
|
|
153
|
+
h?: number;
|
|
154
|
+
/**
|
|
155
|
+
* 指定缩放的模式
|
|
156
|
+
* lfit(默认值):等比缩放至指定宽高区域内最大图形。
|
|
157
|
+
* mfit:等比缩放至覆盖指定宽高区域。
|
|
158
|
+
* fill:等比缩放覆盖指定宽高区域,空白部分会填充背景色。
|
|
159
|
+
* pad:自适应填充,部分缩放图片内容可能超出指定宽高区域。
|
|
160
|
+
* fixed:固定长宽,缩放超出指定宽高的图片内容将被裁剪。
|
|
161
|
+
* @default lfit
|
|
162
|
+
*/
|
|
163
|
+
m?: "lfit" | "mfit" | "fill" | "pad" | "fixed";
|
|
164
|
+
/**
|
|
165
|
+
* 指定目标缩放图的最长边。
|
|
166
|
+
*/
|
|
167
|
+
l?: number;
|
|
168
|
+
/**
|
|
169
|
+
* 指定目标缩放图的最短边。
|
|
170
|
+
*/
|
|
171
|
+
s?: number;
|
|
172
|
+
/**
|
|
173
|
+
* 当目标图片分辨率大于原图分辨率时,设置是否进行缩放。
|
|
174
|
+
* 1(默认值):返回按照原图分辨率转换的图片(可能和原图的体积不一样)
|
|
175
|
+
* 0:按指定参数进行缩放
|
|
176
|
+
* @default 1
|
|
177
|
+
*/
|
|
178
|
+
limit?: 1 | 0;
|
|
179
|
+
/**
|
|
180
|
+
* 当缩放模式选择为pad(缩放填充)时,可以设置填充的颜色。
|
|
181
|
+
* RGB颜色值,例如:000000表示黑色,FFFFFF表示白色。
|
|
182
|
+
* @default FFFFFF
|
|
183
|
+
*/
|
|
184
|
+
color?: string;
|
|
185
|
+
}
|
|
186
|
+
export declare const getResizeImage: (url: string, props: OSSResizeProp) => string;
|
|
187
|
+
interface OSSRotateProp {
|
|
188
|
+
/**
|
|
189
|
+
* 旋转角度
|
|
190
|
+
* @default 0
|
|
191
|
+
*/
|
|
192
|
+
angle?: number;
|
|
193
|
+
}
|
|
194
|
+
export declare const getRotateImage: (url: string, props: OSSRotateProp) => string;
|
|
195
|
+
interface OSSProcessProps {
|
|
196
|
+
format?: string;
|
|
197
|
+
resize?: OSSResizeProp;
|
|
198
|
+
rotate?: OSSRotateProp;
|
|
199
|
+
}
|
|
200
|
+
interface OSSProcessPropsV2 {
|
|
201
|
+
format?: string;
|
|
202
|
+
resize?: OSSResizeProp;
|
|
203
|
+
rotate?: number;
|
|
204
|
+
quality?: number;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* 获取OSS URL 合并后的地址
|
|
208
|
+
* @param url 原始URL
|
|
209
|
+
* @param props 处理参数
|
|
210
|
+
* @returns URL 合并后的地址
|
|
211
|
+
*/
|
|
212
|
+
export declare const getOSSUrlMerged: (url: string, props: OSSProcessPropsV2) => string;
|
|
213
|
+
/**
|
|
214
|
+
* 获取OSS图片处理后的地址
|
|
215
|
+
* @param url 图片地址
|
|
216
|
+
* @param props 图片处理参数
|
|
217
|
+
* @returns 图片处理后的地址
|
|
218
|
+
*/
|
|
219
|
+
export declare const getOSSProcessImage: (url: string, props: OSSProcessProps) => string;
|
|
220
|
+
/**
|
|
221
|
+
* 获取OSS图片信息
|
|
222
|
+
* @param url 图片地址
|
|
223
|
+
* @returns 图片信息
|
|
224
|
+
*/
|
|
225
|
+
export declare const getOSSImageInfo: (url: string) => Promise<OSSImageInfo>;
|
|
226
|
+
//#endregion
|
|
227
|
+
//#region src/helpers/sub-pkg.d.ts
|
|
228
|
+
/**
|
|
229
|
+
* 异步加载分包模块
|
|
230
|
+
* @param module
|
|
231
|
+
* @returns
|
|
232
|
+
*/
|
|
233
|
+
export declare function requireAsync<T>(module: string): Promise<T>;
|
|
70
234
|
//#endregion
|
|
71
235
|
//#region src/helpers/unit.d.ts
|
|
72
236
|
/**
|
|
@@ -148,4 +312,155 @@ export declare function getDpiSize(width: number, height: number, dpi: number):
|
|
|
148
312
|
width: number;
|
|
149
313
|
height: number;
|
|
150
314
|
};
|
|
151
|
-
//#endregion
|
|
315
|
+
//#endregion
|
|
316
|
+
//#region src/helpers/currency.d.ts
|
|
317
|
+
export declare const centToYuan: (amount: string | number | undefined) => number;
|
|
318
|
+
export declare const yuanToCent: (amount: string | number | undefined) => number;
|
|
319
|
+
export type CurrencyOperation = number | string;
|
|
320
|
+
declare const _default: {
|
|
321
|
+
add: (a: CurrencyOperation, ...rest: CurrencyOperation[]) => number;
|
|
322
|
+
sub: (a: CurrencyOperation, ...rest: CurrencyOperation[]) => number;
|
|
323
|
+
multiply: (a: CurrencyOperation | undefined, b: CurrencyOperation | undefined) => number;
|
|
324
|
+
div: (a: CurrencyOperation | undefined, b: CurrencyOperation | undefined) => number;
|
|
325
|
+
avg: (a: CurrencyOperation, ...rest: CurrencyOperation[]) => number;
|
|
326
|
+
};
|
|
327
|
+
//#endregion
|
|
328
|
+
//#region src/helpers/route.d.ts
|
|
329
|
+
export type ToPageOptions = Parameters<typeof uni.navigateTo>[0];
|
|
330
|
+
/**
|
|
331
|
+
* 跳转页面
|
|
332
|
+
* @param option 跳转选项
|
|
333
|
+
*/
|
|
334
|
+
export declare function toPage(option: ToPageOptions): void;
|
|
335
|
+
/**
|
|
336
|
+
* 跳转页面
|
|
337
|
+
* @param path 页面路径
|
|
338
|
+
* @param params 跳转参数
|
|
339
|
+
*/
|
|
340
|
+
export declare function toPage(path: string, params?: any): void;
|
|
341
|
+
/**
|
|
342
|
+
* 规范化路由
|
|
343
|
+
* @param route 路由
|
|
344
|
+
* @returns 规范化后的路由
|
|
345
|
+
*/
|
|
346
|
+
export declare function normalizeRoute(route: string): string;
|
|
347
|
+
interface NavigateToListPageOptions {
|
|
348
|
+
/**
|
|
349
|
+
* 列表页
|
|
350
|
+
*/
|
|
351
|
+
listPage: string;
|
|
352
|
+
/**
|
|
353
|
+
* 起始页
|
|
354
|
+
*/
|
|
355
|
+
firstPage: string;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* 导航到列表页
|
|
359
|
+
* @param option 导航选项
|
|
360
|
+
*/
|
|
361
|
+
export declare function navigateToListPage(option: NavigateToListPageOptions): void;
|
|
362
|
+
//#endregion
|
|
363
|
+
//#region src/helpers/distance.d.ts
|
|
364
|
+
export declare function formatDistance(distance: number, chinese?: boolean): string;
|
|
365
|
+
//#endregion
|
|
366
|
+
//#region src/helpers/value.d.ts
|
|
367
|
+
/**
|
|
368
|
+
* 根据setting值,从fallbackValues中找到第一个匹配的值,如果没有匹配到,则返回fallbackValues的最后一个值
|
|
369
|
+
* @param setting 设置值
|
|
370
|
+
* @param fallbackValues 值列表
|
|
371
|
+
* @param fallback 如果未找到匹配值,则返回该值,默认为fallbackValues的最后一个值
|
|
372
|
+
* @returns 值
|
|
373
|
+
*/
|
|
374
|
+
export declare function getFallbackValue<T>(setting: T[], fallbackValues: T[], fallback?: T): T;
|
|
375
|
+
//#endregion
|
|
376
|
+
//#region src/helpers/clipboard.d.ts
|
|
377
|
+
export declare function setClipboardData(data: string): Promise<void>;
|
|
378
|
+
//#endregion
|
|
379
|
+
//#region src/helpers/loading.d.ts
|
|
380
|
+
export declare const safeHideLoading: () => void;
|
|
381
|
+
//#endregion
|
|
382
|
+
//#region src/helpers/perf.d.ts
|
|
383
|
+
/**
|
|
384
|
+
* 采集设备性能评测快照(多维度加权,不单依赖 benchmarkLevel)
|
|
385
|
+
*/
|
|
386
|
+
export declare function getDevicePerfMetrics(): DevicePerfMetrics;
|
|
387
|
+
/**
|
|
388
|
+
* 评测当前设备性能档位(微信小程序)
|
|
389
|
+
*
|
|
390
|
+
* 综合 benchmarkLevel、物理内存、系统版本加权评分;
|
|
391
|
+
* 出图画布由打印 DPI 决定,与屏幕 DPR 无关,故不纳入设备评测。
|
|
392
|
+
*/
|
|
393
|
+
export declare function getDeviceLevel(): DeviceLevel;
|
|
394
|
+
//#endregion
|
|
395
|
+
//#region src/helpers/template.d.ts
|
|
396
|
+
/**
|
|
397
|
+
* 解析模板
|
|
398
|
+
* @param template 模板
|
|
399
|
+
* @param data 数据
|
|
400
|
+
* @returns 解析后的模板
|
|
401
|
+
*/
|
|
402
|
+
export declare function resolveTemplate(template: string, data: Record<string, any>): string;
|
|
403
|
+
//#endregion
|
|
404
|
+
//#region src/helpers/express.d.ts
|
|
405
|
+
export declare function normalizeOrderExpress<T extends Record<string, any>>(order?: T): T | undefined;
|
|
406
|
+
export declare function getLogisticsState(state: string): string;
|
|
407
|
+
//#endregion
|
|
408
|
+
//#region src/helpers/a4.d.ts
|
|
409
|
+
export declare const A4_WIDTH = 210;
|
|
410
|
+
export declare const A4_HEIGHT = 297;
|
|
411
|
+
export declare function getA4Size(to: number): {
|
|
412
|
+
width: number;
|
|
413
|
+
height: number;
|
|
414
|
+
};
|
|
415
|
+
//#endregion
|
|
416
|
+
//#region src/helpers/range.d.ts
|
|
417
|
+
/**
|
|
418
|
+
* 反序列化页码范围
|
|
419
|
+
* @param pageRange
|
|
420
|
+
* @returns
|
|
421
|
+
*/
|
|
422
|
+
export declare function deserializePageRange(pageRange: string): number[];
|
|
423
|
+
/**
|
|
424
|
+
* 序列化页码范围为逗号分隔的区间字符串(连续页合并为 a-b)
|
|
425
|
+
* @example serializePageRange([1, 2, 3, 5, 7, 8]) => "1-3,5,7-8"
|
|
426
|
+
*/
|
|
427
|
+
export declare function serializePageRange(pages: number[]): string;
|
|
428
|
+
/**
|
|
429
|
+
* 获取可读的页码范围
|
|
430
|
+
* @param pageRange
|
|
431
|
+
* @returns
|
|
432
|
+
*/
|
|
433
|
+
export declare function getReadablePageRange(pageRange: string): string;
|
|
434
|
+
/**
|
|
435
|
+
* 获取页码范围的页数
|
|
436
|
+
* @param pageRange
|
|
437
|
+
* @returns
|
|
438
|
+
*/
|
|
439
|
+
export declare function getPageCount(pageRange: string): number;
|
|
440
|
+
//#endregion
|
|
441
|
+
//#region src/helpers/modal.d.ts
|
|
442
|
+
export declare const normalizeModalContent: (content: string[]) => string;
|
|
443
|
+
//#endregion
|
|
444
|
+
//#region src/helpers/device.d.ts
|
|
445
|
+
export declare function checkIsPC(): boolean;
|
|
446
|
+
//#endregion
|
|
447
|
+
//#region src/helpers/toast.d.ts
|
|
448
|
+
type ToastOption = {
|
|
449
|
+
delay?: boolean | number;
|
|
450
|
+
duration?: number;
|
|
451
|
+
};
|
|
452
|
+
declare const _default$1: {
|
|
453
|
+
info(message: string, option?: ToastOption): Promise<unknown>;
|
|
454
|
+
error(message: string, option?: ToastOption): Promise<unknown>;
|
|
455
|
+
success(message: string, option?: ToastOption): Promise<unknown>;
|
|
456
|
+
};
|
|
457
|
+
//#endregion
|
|
458
|
+
//#region src/helpers/uuid.d.ts
|
|
459
|
+
/**
|
|
460
|
+
* 生成指定长度的简易随机 ID(十六进制字符)
|
|
461
|
+
* 首字符固定为字母(a-f),避免作为 DOM id 时以数字开头导致选择器无效
|
|
462
|
+
* @param length 生成长度,默认 16
|
|
463
|
+
*/
|
|
464
|
+
declare function uuid(length?: number): string;
|
|
465
|
+
//#endregion
|
|
466
|
+
export { _default as currency, _default$1 as toast, uuid };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
let e=function(e){return e.LOW=`low`,e.MEDIUM=`medium`,e.HIGH=`high`,e}({});function t(e){let{windowWidth:t}=uni.getWindowInfo();return 750/t*e}function n(e){let{windowWidth:t}=uni.getWindowInfo();return t/750*e}function r(e,t=`rpx`){return`${e}${t}`}function i({to:e,from:t,sources:n}){let r=e/t;return n.map(e=>e*r)}function a({targetRpx:e,base:t=`width`,widthPx:n,heightPx:r}){let i=t===`width`?e/n:e/r,a=e=>e*i;return{width:a(n),height:a(r),px:a,ratio:i}}function o(e,t){return Math.round(e/25.4*t)}function s(e,t,n){return{width:o(e,n),height:o(t,n)}}const c=210,l=297;function u(e){let[t,n]=i({from:210,to:e,sources:[210,297]});return{width:t,height:n}}export{l as A4_HEIGHT,c as A4_WIDTH,e as DeviceLevel,r as addUnit,u as getA4Size,s as getDpiSize,o as mmToPx,t as px2rpx,i as resize,n as rpx2px,a as transform};
|
|
1
|
+
import{createRequire as e}from"node:module";import{get as t,isUndefined as n,omitBy as r,range as i,uniqueId as a}from"lodash-es";import o from"qs";import s from"decimal.js";import c from"dayjs";var l=e(import.meta.url);let u=function(e){return e.LOW=`low`,e.MEDIUM=`medium`,e.HIGH=`high`,e}({});const d=new Map,{platform:ee}=uni.getDeviceInfo(),te=e=>{let t=e.split(`.`).pop();return`${wx.env.USER_DATA_PATH}/${a(`image-cache-file`)}.${t}`},ne=e=>e.includes(`?`)?e+`&t=`+Date.now():e+`?t=`+Date.now(),re=(e,t)=>new Promise((n,r)=>{let i=t;if(ee===`android`){if(t.startsWith(`https`)||t.startsWith(`http`))i=ne(t);else{var a;let e=uni.getFileSystemManager();i=te(t),d.has(t)||d.set(t,[]),(a=d.get(t))==null||a.push(i),e.copyFileSync(t,i)}}let o=e.createImage();o.onload=()=>n(o),o.onerror=e=>r(e),o.src=i}),f=()=>{let e=uni.getFileSystemManager();d.values().forEach(t=>{t.forEach(t=>{e.unlink({filePath:t,fail:e=>{console.error(`unlink fail`,t,e)}})})}),d.clear()},p=(e,t=1,n=`tmp.png`)=>{let r=e.toDataURL(`image/png`,t).replace(/^data:image\/\w+;base64,/,``),i=uni.base64ToArrayBuffer(r),a=`${wx.env.USER_DATA_PATH}/${n}`;return uni.getFileSystemManager().writeFileSync(a,i,`binary`),a},m=e=>`data:image/png;base64,${e.replace(/^data:image\/\w+;base64,/,``).replace(/[\r\n]/g,``)}`,h=(e,t)=>new Promise((n,r)=>{let i=e.createImage();i.onload=()=>n(i),i.onerror=e=>r(e),i.src=t}),ie=async(e,t={})=>{let{compInst:n,quality:r=100,backgroundColor:i}=t,a=m(e),o=uni.createOffscreenCanvas({type:`2d`,width:1,height:1,compInst:n}),s=await h(o,a),{width:c,height:l}=s;o.width=c,o.height=l;let u=o.getContext(`2d`);i&&(u.fillStyle=i,u.fillRect(0,0,c,l)),u.fillRect(0,0,c,l),u.drawImage(s,0,0,c,l);let{tempFilePath:d}=await uni.canvasToTempFilePath({canvas:o,quality:r});return d},ae=async e=>{let{tempFilePath:t}=await uni.downloadFile({url:e});await uni.saveImageToPhotosAlbum({filePath:t})},oe=e=>{let t=uni.getFileSystemManager();return new Promise((n,r)=>{t.getFileInfo({filePath:e,success:e=>{n(e.size)},fail:e=>{r(e)}})})};function se(e){return e?e.length===11?e.slice(0,3)+`****`+e.slice(7):e:``}const g=/^\d{11}$/;function ce(e){return e?g.test(e):!1}function le(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}function ue(e,t){if(e==null)return{};var n,r,i=le(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function _(e){"@babel/helpers - typeof";return _=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},_(e)}function de(e,t){if(_(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(_(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function fe(e){var t=de(e,`string`);return _(t)==`symbol`?t:t+``}function pe(e,t,n){return(t=fe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function y(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?v(Object(n),!0).forEach(function(t){pe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const b=[`x-oss-process`],x=(e,t)=>e+`?x-oss-process=image/format,`+t,S=e=>{let t=[];return e.p&&t.push(`p_${e.p}`),e.w&&t.push(`w_${e.w}`),e.h&&t.push(`h_${e.h}`),e.m&&t.push(`m_${e.m}`),e.l&&t.push(`l_${e.l}`),e.s&&t.push(`s_${e.s}`),e.limit&&t.push(`limit_${e.limit}`),e.color&&t.push(`color_${e.color}`),t.join(`,`)},C=(e,t)=>`${e}?x-oss-process=image/resize,${S(t)}`,w=e=>e.angle,T=(e,t)=>`${e}?x-oss-process=image/rotate,${w(t)}`;function E(e){let t=e.slice(e.indexOf(`/`)+1);return t?t.split(`/`).reduce((e,t)=>{let[n,...r]=t.split(`,`);if([`resize`].includes(n)){let t={};r.forEach(e=>{let[n,r]=e.split(`_`);t[n]=Number(r)}),e.resize=t}else e[n]=/^\d+$/.test(r[0])?Number(r[0]):r[0];return e},{}):{}}function D(e){let[t,n]=e.split(`?`),r=o.parse(n),{"x-oss-process":i}=r,a=ue(r,b);return{url:t,ossProcessProps:i?E(i):{},restProps:a}}function O(e){let t=[`image`];return e.format&&t.push(`/format,${e.format.toLowerCase()}`),e.resize&&t.push(`/resize,${S(e.resize)}`),e.rotate&&t.push(`/rotate,${w({angle:e.rotate})}`),e.quality&&t.push(`/quality,q_${e.quality}`),t.join(``)}const k=(e,t)=>{let{url:n,ossProcessProps:r,restProps:i}=D(e),a=y({"x-oss-process":O(y(y({},r),t))},i);return`${n}?${o.stringify(a)}`},A=(e,t)=>{let n=[];return t.format&&n.push(`/format,${t.format.toLowerCase()}`),t.resize&&n.push(`/resize,${S(t.resize)}`),t.rotate&&n.push(`/rotate,${w(t.rotate)}`),`${e}?x-oss-process=image${n.join(``)}`},j=e=>{var t,i,a,o,s,c,l,u;return r({fileSize:Number((t=e.FileSize)==null?void 0:t.value),format:(i=e.Format)==null?void 0:i.value,frameCount:Number((a=e.FrameCount)==null?void 0:a.value),imageWidth:Number((o=e.ImageWidth)==null?void 0:o.value),imageHeight:Number((s=e.ImageHeight)==null?void 0:s.value),resolutionUnit:(c=e.ResolutionUnit)==null?void 0:c.value,xResolution:(l=e.XResolution)==null?void 0:l.value,yResolution:(u=e.YResolution)==null?void 0:u.value},n)},M=async e=>new Promise((t,n)=>{uni.request({url:`${e}?x-oss-process=image/info`,method:`GET`,dataType:`json`,success:e=>{e.statusCode===200?t(j(e.data)):n(Error(`Failed to get image info: ${e.statusCode}`))},fail:e=>{n(e)}})});function N(e){return l.async(e)}function P(e){let{windowWidth:t}=uni.getWindowInfo();return 750/t*e}function F(e){let{windowWidth:t}=uni.getWindowInfo();return t/750*e}function I(e,t=`rpx`){return`${e}${t}`}function L({to:e,from:t,sources:n}){let r=e/t;return n.map(e=>e*r)}function R({targetRpx:e,base:t=`width`,widthPx:n,heightPx:r}){let i=t===`width`?e/n:e/r,a=e=>e*i;return{width:a(n),height:a(r),px:a,ratio:i}}function z(e,t){return Math.round(e/25.4*t)}function B(e,t,n){return{width:z(e,n),height:z(t,n)}}const me=e=>e===void 0?0:U(e,100),he=e=>n(e)?0:V(e,100),V=(e,t)=>n(e)||n(t)?0:new s(e).mul(t).toNumber(),ge=(e,...t)=>{let n=new s(e);return t.forEach(e=>{n=n.sub(e)}),n.toNumber()},H=(e,...t)=>{let n=new s(e);return t.forEach(e=>{n=n.add(e)}),n.toNumber()},U=(e,t)=>n(e)||n(t)||Number(t)===0?0:new s(e).div(t).toNumber();var _e={add:H,sub:ge,multiply:V,div:U,avg:(e,...t)=>{let n=H(e,...t);return U(n,t.length+1)}};function ve(e,t){typeof e==`string`?uni.navigateTo({url:e,params:t}):uni.navigateTo(e)}function W(e){return e.startsWith(`/`)?e:`/${e}`}function ye(e){let t=getCurrentPages(),n=W(e.listPage),r=W(e.firstPage),i=t.map(e=>W(e.route)),a=i.findIndex(e=>e===n);if(a!==-1)uni.navigateBack({delta:t.length-a-1});else{let e=i.findIndex(e=>e===r);e===-1?uni.navigateTo({url:r}):(uni.navigateBack({delta:t.length-e}),setTimeout(()=>{uni.navigateTo({url:n})},500))}}function be(e,t=!1){return e<1e3?t?`${Math.round(e)}米`:`${Math.round(e)}m`:t?`${(e/1e3).toFixed(1)}千米`:`${(e/1e3).toFixed(1)}km`}function xe(e,t,n){for(let n of t)if(e.includes(n))return n;return n==null?t[t.length-1]:n}async function Se(e){try{await uni.setClipboardData({data:e})}catch(e){throw uni.showModal({title:`复制失败`,content:JSON.stringify(e),showCancel:!1}),e}}const Ce=()=>{uni.hideLoading({fail:()=>{}})},G={high:.62,medium:.38},K={benchmark:.45,memory:.35,system:.2},q={memory:.6,system:.4};function J(){return uni.getDeviceInfo()}function we(){let{benchmarkLevel:e}=J();if(e!==void 0)return e;let{benchmarkLevel:t}=uni.getSystemInfoSync();return t}function Te(e){if(!e)return;let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:void 0}function Y(e,t){if(t===`ios`){let t=e.match(/iOS\s+(\d+)/i);return t?Number(t[1]):void 0}if(t===`android`||t===`ohos`){let t=e.match(/Android\s+(\d+)/i);return t?Number(t[1]):void 0}}function Ee(e){if(e<=0)return 0;if(!(e<0))return Math.min(1,(e-1)/49)}function De(e){return Math.min(1,Math.max(0,(e-2048)/10240))}function Oe(e){return e>=17?1:e>=15?.85:e>=13?.6:e>=11?.4:.2}function ke(e){return e>=13?1:e>=10?.7:e>=8?.45:.2}function Ae(e,t){return e===`ios`?Oe(t):e===`android`||e===`ohos`?ke(t):.5}function je(e){let t=[],n=e.benchmark!==void 0;if(e.benchmark!==void 0&&t.push({score:e.benchmark,weight:K.benchmark}),e.memory!==void 0&&t.push({score:e.memory,weight:n?K.memory:q.memory}),e.system!==void 0&&t.push({score:e.system,weight:n?K.system:q.system}),t.length===0)return .5;let r=t.reduce((e,t)=>e+t.weight,0);return t.reduce((e,t)=>e+t.score*t.weight,0)/r}function Me(e){return e>=G.high?`high`:e>=G.medium?`medium`:`low`}function Ne(e,t,n){return t!==void 0&&t<=0||n!==void 0&&n<2048?`low`:e===`high`&&n!==void 0&&n<4096&&(t===void 0||t<0)?`medium`:e}function Pe(e,t,n,r){let i={};if(n!==void 0){let e=Ee(n);e!==void 0&&(i.benchmark=e)}r!==void 0&&(i.memory=De(r));let a=Y(t,e);return a!==void 0&&(i.system=Ae(e,a)),i}function X(){let{platform:e,system:t,memorySize:n}=J();if(e===`devtools`)return{platform:e,scores:{benchmark:1,memory:1,system:1},compositeScore:1,level:`high`};let r=we(),i=Te(n),a=Pe(e,t,r,i),o=je(a),s=Me(o);s=Ne(s,r,i);let c={platform:e,benchmarkLevel:r,memoryMb:i,systemMajor:Y(t,e),scores:a,compositeScore:o,level:s};return uni.getAccountInfoSync().miniProgram.envVersion!==`release`&&(console.log(`------------- device perf metrics -------------`),Object.entries(c).forEach(([e,t])=>{console.log(`${e}: ${JSON.stringify(t)}`)}),console.log(`------------- device perf metrics -------------`)),c}function Fe(){return X().level}function Ie(e,n){return e.replace(/\${(.+?)}/g,(e,r)=>t(n,r,e))}function Le(e){var t;if(e){if(`logisticsShipList`in e){var n;return y(y({},e),{},{logisticsShipList:Re([...e.logisticsShipList]),logisticsList:Z([...(n=e.logisticsList)==null?[]:n])})}return y(y({},e),{},{logisticsList:Z([...(t=e.logisticsList)==null?[]:t])})}}function Re(e){return e.sort((e,t)=>c(t.logisticsTime).diff(c(e.logisticsTime)))}function Z(e){return e.map(e=>y(y({},e),{},{dataList:ze(e.dataList)}))}function ze(e){return e.sort((e,t)=>c(t.time).diff(c(e.time)))}const Be={0:`在途`,1:`揽收`,2:`疑难`,3:`签收`,4:`退签`,5:`派件`,8:`清关`,14:`拒签`};function Ve(e){var t;return(t=Be[e])==null?`未知`:t}const He=210,Q=297;function Ue(e){let[t,n]=L({from:210,to:e,sources:[210,297]});return{width:t,height:n}}function We(e){return e.split(`,`).reduce((e,t)=>{let[n,r]=t.split(`-`);return r===void 0?e.concat(Number(n)):e.concat(i(Number(n),Number(r)+1))},[])}function Ge(e){return e.reduce((t,n,r)=>(t.length===0?t.push({start:n,end:n}):n===e[r-1]+1?t[t.length-1].end=n:t.push({start:n,end:n}),t),[]).map(e=>e.start===e.end?String(e.start):`${e.start}-${e.end}`).join(`,`)}function Ke(e){return e.length>8?`${e.substring(0,8)}...`:e}function qe(e){return e.split(`,`).reduce((e,t)=>{let[n,r]=t.split(`-`);return r===void 0?e+1:e+(Number(r)-Number(n)+1)},0)}const Je=e=>e.join(`\r
|
|
2
|
+
`);function Ye(){let{platform:e}=uni.getDeviceInfo();return[`windows`,`mac`].includes(e)}const $=({message:e,mask:t,icon:i,delay:a,duration:o})=>new Promise((s,c)=>{let l=r({title:e,icon:i,mask:t,duration:o,success:s,fail:c},n);a===void 0?uni.showToast(l):setTimeout(()=>{uni.showToast(l)},typeof a==`boolean`?200:a)});var Xe={info(e,t){return $({message:e,icon:`none`,mask:!0,delay:t==null?void 0:t.delay,duration:t==null?void 0:t.duration})},error(e,t){return $({message:e,icon:`none`,mask:!0,delay:t==null?void 0:t.delay,duration:t==null?void 0:t.duration})},success(e,t){return $({message:e,icon:`none`,mask:!0,delay:t==null?void 0:t.delay,duration:t==null?void 0:t.duration})}};function Ze(){return((Math.random()*6|0)+10).toString(16)}function Qe(){return(Math.random()*16|0).toString(16)}function $e(e=16){if(e<=0)return``;let t=Ze();for(let n=1;n<e;n++)t+=Qe();return t}export{Q as A4_HEIGHT,He as A4_WIDTH,u as DeviceLevel,g as SIMPLE_MOBILE_REG,I as addUnit,me as centToYuan,Ye as checkIsPC,f as clearImageCache,_e as currency,We as deserializePageRange,be as formatDistance,Ue as getA4Size,Fe as getDeviceLevel,X as getDevicePerfMetrics,B as getDpiSize,xe as getFallbackValue,oe as getFileSize,x as getFormatImage,Ve as getLogisticsState,M as getOSSImageInfo,A as getOSSProcessImage,k as getOSSUrlMerged,qe as getPageCount,Ke as getReadablePageRange,C as getResizeImage,T as getRotateImage,re as loadImage,z as mmToPx,ye as navigateToListPage,Je as normalizeModalContent,Le as normalizeOrderExpress,W as normalizeRoute,se as phoneMask,P as px2rpx,N as requireAsync,L as resize,Ie as resolveTemplate,F as rpx2px,Ce as safeHideLoading,ie as saveBase64Image,p as saveCanvasToTempFile,ae as saveImageToAlbum,Ge as serializePageRange,Se as setClipboardData,ve as toPage,Xe as toast,R as transform,$e as uuid,ce as validateSimpleMobile,he as yuanToCent};
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloud-print/uni-utils",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "uniapp 云打印项目工具库",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsdown",
|
|
7
|
+
"lint": "eslint . --ext .ts,.vue --fix",
|
|
7
8
|
"release:patch": "npx release-it --increment patch",
|
|
8
9
|
"release:minor": "npx release-it --increment minor",
|
|
9
10
|
"release:major": "npx release-it --increment major"
|
|
@@ -33,17 +34,31 @@
|
|
|
33
34
|
"dist"
|
|
34
35
|
],
|
|
35
36
|
"devDependencies": {
|
|
36
|
-
"@biomejs/biome": "^2.5.13",
|
|
37
37
|
"@tsconfig/node26": "^26.0.1",
|
|
38
38
|
"@types/node": "^26.5.0",
|
|
39
39
|
"tsdown": "^0.23.0",
|
|
40
40
|
"@release-it/conventional-changelog": "^10.0.1",
|
|
41
|
-
"release-it": "^19.0.3"
|
|
41
|
+
"release-it": "^19.0.3",
|
|
42
|
+
"@types/lodash-es": "^4.17.12",
|
|
43
|
+
"@types/qs": "^6.9.15",
|
|
44
|
+
"@dcloudio/types": "^3.4.32",
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^8.34.1",
|
|
46
|
+
"eslint": "^8.45.0",
|
|
47
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
48
|
+
"eslint-plugin-vue": "^9.15.1",
|
|
49
|
+
"prettier": "^3.3.3",
|
|
50
|
+
"@vue/eslint-config-prettier": "^7.1.0",
|
|
51
|
+
"@vue/eslint-config-typescript": "^11.0.3",
|
|
52
|
+
"typescript": "^4.8.0 || ^5.0.0 || ^6.0.0"
|
|
42
53
|
},
|
|
43
54
|
"peerDependencies": {
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
55
|
+
"vue": "^3.2.0",
|
|
56
|
+
"lodash-es": "^4.17.21",
|
|
57
|
+
"decimal.js": "^10.4.3",
|
|
58
|
+
"dayjs": "^1.11.12",
|
|
59
|
+
"qs": "^6.12.3",
|
|
60
|
+
"axios": "^1.7.2",
|
|
61
|
+
"@cloud-print/uni-http": "*"
|
|
47
62
|
},
|
|
48
63
|
"publishConfig": {
|
|
49
64
|
"access": "public",
|
|
@@ -63,8 +78,11 @@
|
|
|
63
78
|
"plugins": {
|
|
64
79
|
"@release-it/conventional-changelog": {
|
|
65
80
|
"preset": "angular",
|
|
66
|
-
"infile": "
|
|
81
|
+
"infile": "CHANGELOG.md"
|
|
67
82
|
}
|
|
83
|
+
},
|
|
84
|
+
"hooks": {
|
|
85
|
+
"before:release": "pnpm build"
|
|
68
86
|
}
|
|
69
87
|
}
|
|
70
88
|
}
|