;
}
declare interface _Upload {
diff --git a/uni_modules/wmf-code/README.md b/uni_modules/wmf-code/README.md
new file mode 100644
index 0000000..231b420
--- /dev/null
+++ b/uni_modules/wmf-code/README.md
@@ -0,0 +1,84 @@
+
+ 文档地址
+
+https://meet-ui.com/#/
+为了能够第一时间解决问题,为了不影响各位在项目中使用特此提供微信群交流
+
+
+
+
+
+# 温馨提示
+
+如果使用cli创建的应用请在`vue.config.js`里面添加如下配置
+```
+module.exports = {
+ transpileDependencies: [
+ /[/\\]node_modules[/\\](.+?)?@uni-ui(.*)[/\\]code-plugs/,
+ /[/\\]node_modules[/\\](.+?)?@uni-ui(.*)[/\\]code-ui/
+ ]
+}
+```
+# 微信小程序特别说明
+
+如果在弹窗里面使用,并且弹窗有动画 当弹窗显示的时候二维码会发生偏移或抖动
+因为微信小程序的canvas在真机预览渲染的是原生组件并不是 h5的canavas 所以在开发工具里面没问题但是真机会有问题
+
+解决方案:
+
+ 1. 如果是使用uView组件的弹窗 请关闭动画
+ 2. 如果是使用uni-popup组件 关闭动画无效 因为uni的弹窗动画关闭 其实是动画时长为0并且是包含在uni-transition详情请查看uni-popup代码
+
+## 如果是使用uni_modules而非Npm
+
+在`pages.json`里面配置如下
+
+```js
+"easycom": {
+ "^w-(.*)": "@/uni_modules/wmf-code/components/w-$1/w-$1.vue"//二维码条形码的配置 如果是uni_modules
+},
+"pages": [
+ //...
+]
+```
+
+## 如果是使用npm而非uni_modules
+
+在`pages.json`里面配置如下
+
+```js
+"easycom": {
+ "^w-(.*)": "@uni-ui/code-ui/components/w-$1/index.vue"//二维码条形码的配置 如果是npm方式使用
+},
+"pages": [
+ //...
+]
+```
+
+## 条形码支持添加文字
+
+
+
+
+
+
+
+
+
+
+
+#
+
+
+
+
+
+
+
+#
+
+
+
+
+
+
diff --git a/uni_modules/wmf-code/changelog.md b/uni_modules/wmf-code/changelog.md
new file mode 100644
index 0000000..7d21184
--- /dev/null
+++ b/uni_modules/wmf-code/changelog.md
@@ -0,0 +1,108 @@
+## 1.6.2(2022-10-24)
+* 修复已知问题
+## 1.6.1(2022-10-19)
+* 支付宝小程序适配问题
+* 修改文档
+## 1.6.0(2022-07-27)
+* 修改条形码bug
+## 1.5.9(2022-07-26)
+* 修复条形码保存图片部分黑底问题
+## 1.5.8(2022-07-26)
+* 修复支付宝小程序图片保存缺失问题
+## 1.5.7(2022-07-09)
+* 修复条形码保存缺失问题
+## 1.5.6(2022-07-01)
+修改引入错误
+## 1.5.5(2022-07-01)
+* 修复vue3无法通过ref获取保存图片方法
+## 1.5.4(2022-06-01)
+* 条形码支持添加文字
+## 1.5.3(2022-05-31)
+* 修复二维码有时候无法识别问题
+* 建议使用npm方式
+## 1.5.2(2022-05-31)
+修改条形码垂直方向生成图片 参数互换
+## 1.5.1(2022-05-31)
+条形码增加垂直方向 默认水平方向
+## 1.5.0(2022-05-30)
+修改uni_modules引入错误
+## 1.4.9(2022-05-25)
+支持vue3
+## 1.4.8(2021-12-06)
+* 百度小程序不支持canvas的arcTo方法 如果在百度小程序中不支持的全部默认值
+* 小程序平台绘制文字不支持渐变 取color数组第一个
+## 1.4.7(2021-12-05)
+* 修复已知问题
+## 1.4.5(2021-12-05)
+* 修复已知问题
+## 1.4.4(2021-11-30)
+* level默认值修改为2
+## 1.4.3(2021-11-30)
+* 修复引用js_sdk引用路径
+## 1.4.2(2021-11-29)
+* 修复设置画布大小时没有带单位px导致显示不全
+## 1.4.1(2021-11-29)
+1. 修复在高分辨率屏幕上支付宝小程序显示模糊问题
+2. 修复保存相册图片模糊问题
+## 1.4.0(2021-11-23)
+1. 使用TS重构
+2. 新增二维码文字绘制
+3. 新增二维码padding
+4. 新增二维码中间图片圆角 圆形
+5. 新增长按事件
+6. 二维码边框支持透明
+7. 颜色最多支持10中颜色渐变
+## 1.3.7(2021-11-08)
+修改引入
+## 1.3.6(2021-11-02)
+修改引用路径
+## 1.3.5(2021-10-19)
+canvas 增加 type="2d"
+## 1.3.4(2021-10-14)
+1. 修改百度小程序修改参数无法重新渲染问题
+2. 修改纯中文无法识别问题
+## 1.3.3(2021-09-04)
+修改uni_module引用路径
+## 1.3.2(2021-09-03)
+* 【重要】多个条形码或者二维码同时渲染
+* 增加示例
+## 1.3.1(2021-08-31)
+uni_modules支持组件方式
+## 1.3.0(2021-08-31)
+支持纯文字以及文字数字 字母的混合
+## 1.2.9(2021-08-30)
+新增二维码创建成功回调方法中返回生成的二维码图片
+## 1.2.8(2021-08-20)
+支持vue3
+## 1.2.7(2021-08-20)
+修改版本号
+## 1.2.6(2021-06-28)
+1. 修改自定义组件时微信小程序无法显示二维码的问题
+2. 统一二维码的大小单位为rpx
+## 1.2.5(2021-06-25)
+二维码logo大小增加默认值:30
+## 1.2.4(2021-06-24)
+1. nvue 二维码支持渐变色
+## 1.2.3(2021-06-23)
+1. 修改app不支持颜色渐变问题
+2. 修改判断方式Object.prototype.toString.call()
+## 1.2.2(2021-06-23)
+修改插件描述
+## 1.2.1(2021-06-23)
+修改return 错误
+## 1.1.2(2021-06-23)
+修改文档
+## 1.1.1(2021-06-23)
+ 二维码支持渐变色
+## 1.0.8(2021-06-22)
+兼容nvue
+## 1.0.7(2021-06-09)
+1. 修改保存二维码图片的方法名以及传参方式
+2. 修改微信小程序保存二维码时显示为黑色
+3. 二维码增加参数
+## 1.0.6(2021-06-04)
+修改 description说明
+## 1.0.5(2021-06-04)
+修改文档展示名称
+## 1.0.4(2021-06-04)
+修改符合uni_modules规范
diff --git a/uni_modules/wmf-code/common/helper.js b/uni_modules/wmf-code/common/helper.js
new file mode 100644
index 0000000..b150cd7
--- /dev/null
+++ b/uni_modules/wmf-code/common/helper.js
@@ -0,0 +1,105 @@
+// 判断arr是否为一个数组,返回一个bool值
+function isArray(arr) {
+ return Object.prototype.toString.call(arr) === '[object Array]';
+}
+// 深度克隆
+function deepClone(obj) {
+ // 对常见的“非”值,直接返回原来值
+ if ([null, undefined, NaN, false].includes(obj)) return obj;
+ if (typeof obj !== "object" && typeof obj !== 'function') {
+ //原始类型直接返回
+ return obj;
+ }
+ var o = isArray(obj) ? [] : {};
+ for (let i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ o[i] = typeof obj[i] === "object" ? deepClone(obj[i]) : obj[i];
+ }
+ }
+ return o;
+}
+
+function getUUid(len = 32, firstU = true, radix = null) {
+ let chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
+ let uuid = [];
+ radix = radix || chars.length;
+
+ if (len) {
+ // 如果指定uuid长度,只是取随机的字符,0|x为位运算,能去掉x的小数位,返回整数位
+ for (let i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];
+ } else {
+ let r;
+ // rfc4122标准要求返回的uuid中,某些位为固定的字符
+ uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
+ uuid[14] = '4';
+
+ for (let i = 0; i < 36; i++) {
+ if (!uuid[i]) {
+ r = 0 | Math.random() * 16;
+ uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
+ }
+ }
+ }
+ // 移除第一个字符,并用u替代,因为第一个字符为数值时,该guuid不能用作id或者class
+ if (firstU) {
+ uuid.shift();
+ return 'u' + uuid.join('');
+ } else {
+ return uuid.join('');
+ }
+}
+function platform () {
+ let val = null;
+ // #ifdef VUE3
+ val = 'VUE3'
+ // #endif
+ // #ifdef APP-PLUS
+ val = 'APP-PLUS'
+ // #endif
+ // #ifdef APP-PLUS-NVUE || APP-NVUE
+ val = 'NVUE'
+ // #endif
+ // #ifdef H5
+ val = 'H5'
+ // #endif
+ // #ifdef MP-WEIXIN
+ val = 'MP-WEIXIN'
+ // #endif
+ // #ifdef MP-ALIPAY
+ val = 'MP-ALIPAY'
+ // #endif
+ // #ifdef MP-BAIDU
+ val = 'MP-BAIDU'
+ // #endif
+ // #ifdef MP-TOUTIAO
+ val = 'MP-TOUTIAO'
+ // #endif
+ // #ifdef MP-LARK
+ val = 'MP-LARK'
+ // #endif
+ // #ifdef MP-TOUTIAO
+ val = 'MP-QQ'
+ // #endif
+ // #ifdef MP-KUAISHOU
+ val = 'MP-KUAISHOU'
+ // #endif
+ // #ifdef MP-360
+ val = 'MP-360'
+ // #endif
+ // #ifdef QUICKAPP-WEBVIEW
+ val = 'QUICKAPP-WEBVIEW'
+ // #endif
+ // #ifdef QUICKAPP-WEBVIEW-UNION
+ val = 'QUICKAPP-WEBVIEW-UNION'
+ // #endif
+ // #ifdef QUICKAPP-WEBVIEW-HUAWEI
+ val = 'QUICKAPP-WEBVIEW-HUAWEI'
+ // #endif
+ return val;
+
+}
+export {
+ deepClone,
+ getUUid,
+ platform
+};
diff --git a/uni_modules/wmf-code/components/w-barcode/w-barcode.vue b/uni_modules/wmf-code/components/w-barcode/w-barcode.vue
new file mode 100644
index 0000000..3661053
--- /dev/null
+++ b/uni_modules/wmf-code/components/w-barcode/w-barcode.vue
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/wmf-code/components/w-qrcode/w-qrcode.vue b/uni_modules/wmf-code/components/w-qrcode/w-qrcode.vue
new file mode 100644
index 0000000..c503a90
--- /dev/null
+++ b/uni_modules/wmf-code/components/w-qrcode/w-qrcode.vue
@@ -0,0 +1,176 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uni_modules/wmf-code/js_sdk/index.js b/uni_modules/wmf-code/js_sdk/index.js
new file mode 100644
index 0000000..026287b
--- /dev/null
+++ b/uni_modules/wmf-code/js_sdk/index.js
@@ -0,0 +1 @@
+var __assign=function(){return(__assign=Object.assign||function(t){for(var e,i=1,r=arguments.length;in[0]&&e[1]>12&15),r+=String.fromCharCode(128|e>>6&63)):r+=String.fromCharCode(192|e>>6&31),r+=String.fromCharCode(128|e>>0&63));return r},SaveCodeImg=function(t){var i=UNIT_CONVERSION(Number(t.width)),r=UNIT_CONVERSION(Number(t.height)),e=getPixelRatio("pixelRatio"),o=i*e,s=r*e;return"MP-ALIPAY"==t.source&&(i=o,r=s),new Promise(function(e){"[object String]"==Object.prototype.toString.call(t.id)?uni.canvasToTempFilePath({canvasId:t.id,width:i,height:r,destWidth:o,destHeight:s,fileType:t.type||"jpg",quality:t.quality||1,complete:function(t){e(t)}},t.ctx):"[object Object]"==Object.prototype.toString.call(t.id)&&t.id.toTempFilePath(0,0,i,r,o,s,t.type||"png",1,function(t){e(t)})})},SetGradient=function(t,e,i,r){i=t.createLinearGradient(0,0,e,i);return 1===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(1,r[0])),2===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(1,r[1])),3===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.5,r[1]),i.addColorStop(1,r[2])),4===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.35,r[1]),i.addColorStop(.7,r[2]),i.addColorStop(1,r[3])),5===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.35,r[1]),i.addColorStop(.6,r[2]),i.addColorStop(.8,r[3]),i.addColorStop(1,r[4])),6===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.25,r[1]),i.addColorStop(.45,r[2]),i.addColorStop(.65,r[3]),i.addColorStop(.85,r[4]),i.addColorStop(1,r[5])),7===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.15,r[1]),i.addColorStop(.35,r[2]),i.addColorStop(.45,r[3]),i.addColorStop(.65,r[4]),i.addColorStop(.85,r[5]),i.addColorStop(1,r[6])),8===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.1,r[1]),i.addColorStop(.25,r[2]),i.addColorStop(.45,r[3]),i.addColorStop(.65,r[4]),i.addColorStop(.85,r[5]),i.addColorStop(.9,r[6]),i.addColorStop(1,r[7])),9===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.2,r[1]),i.addColorStop(.3,r[2]),i.addColorStop(.5,r[3]),i.addColorStop(.6,r[4]),i.addColorStop(.7,r[5]),i.addColorStop(.8,r[6]),i.addColorStop(.9,r[7]),i.addColorStop(1,r[8])),10<=r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.1,r[1]),i.addColorStop(.2,r[2]),i.addColorStop(.3,r[3]),i.addColorStop(.4,r[4]),i.addColorStop(.5,r[5]),i.addColorStop(.6,r[6]),i.addColorStop(.7,r[7]),i.addColorStop(.85,r[8]),i.addColorStop(1,r[9])),i},QRCodeInit=function(){function t(t){void 0===t&&(t=2),this.strinbuf=[],this.eccbuf=[],this.qrframe=[],this.framask=[],this.rlens=[],this.genpoly=[],this.ecclevel=2,this.N1=3,this.N2=3,this.N3=40,this.N4=10,this.neccblk2=0,this.width=0,this.neccblk1=0,this.datablkw=0,this.eccblkwid=0,this.ecclevel=t}return t.prototype.setmask=function(t,e){var i=null;e>=1,this.framask[i+=t]=1},t.prototype.getWidth=function(){return this.width},t.prototype.putalign=function(t,e){this.qrframe[t+this.width*e]=1;for(var i=-2;i<2;i++)this.qrframe[t+i+this.width*(e-2)]=1,this.qrframe[t-2+this.width*(e+i+1)]=1,this.qrframe[t+2+this.width*(e+i)]=1,this.qrframe[t+i+1+this.width*(e+2)]=1;for(i=0;i<2;i++)this.setmask(t-1,e+i),this.setmask(t+1,e-i),this.setmask(t-i,e-1),this.setmask(t+i,e+1)},t.prototype.modnn=function(t){for(;255<=t;)t=((t-=255)>>8)+(255&t);return t},t.prototype.appendrs=function(t,e,i,r){for(var o,s=0;s>=1,this.framask[i+=t]},t.prototype.badruns=function(t){for(var e=0,i=0;i<=t;i++)5<=this.rlens[i]&&(e+=this.N1+this.rlens[i]-5);for(i=3;i=4*this.rlens[i]||3*this.rlens[i+3]>=4*this.rlens[i])&&(e+=this.N3);return e},t.prototype.toNum=function(t){return 0===t?1:0},t.prototype.applymask=function(t){switch(t){case 0:for(var e=0;e>1&1,i=0;i>o-12:e>>o)?(this.qrframe[5-c+this.width*(2-d+this.width-11)]=1,this.qrframe[2-d+this.width-11+this.width*(5-c)]=1):(this.setmask(5-c,2-d+this.width-11),this.setmask(2-d+this.width-11,5-c));for(d=0;d>4;this.strinbuf[2]|=255&n<<4,this.strinbuf[1]=n>>4,this.strinbuf[0]=64|n>>12}else{for(this.strinbuf[a+1]=0,this.strinbuf[a+2]=0;a--;)e=this.strinbuf[a],this.strinbuf[a+2]|=255&e<<4,this.strinbuf[a+1]=e>>4;this.strinbuf[1]|=255&n<<4,this.strinbuf[0]=64|n>>4}for(a=n+3-(h<10?1:0);a>=1)1&s&&(this.qrframe[this.width-1-S+8*this.width]=1,S<6?this.qrframe[8+this.width*S]=1:this.qrframe[8+this.width*(S+1)]=1);for(S=0;S<7;S++,s>>=1)1&s&&(this.qrframe[8+this.width*(this.width-7+S)]=1,S?this.qrframe[6-S+8*this.width]=1:this.qrframe[7+8*this.width]=1);return this.qrframe},t.prototype.badcheck=function(){for(var t=0,e=0,i=0,r=0,o=0,s=0,n=0,h=0;hthis.width*this.width;)l-=this.width*this.width,c++;t+=c*this.N4;for(a=0;ao+1?e[o+1]:-1,r=r.concat(function(t,e,i){var r=[],o=-1;if(charCompatible(t,i))5==i&&(-1==e?(o=100,i=4):charCompatible(e,i)||(i=charCompatible(e,3)?(o=101,3):(o=100,4)));else if(-1==e||charCompatible(e,i))o=98;else switch(i){case 3:o=100,i=4;break;case 4:o=101,i=3}return-1!=o?(r.push(o),r.push(codeValue(t))):5==i?r.push(codeValue(t,e)):r.push(codeValue(t)),s.currcs=i,r}(n,h,s.currcs));5==s.currcs&&o++}for(var a=r[0],l=1;l {
- // const aFull = new BigNumber(a.fullAmount || 0);
- // const bFull = new BigNumber(b.fullAmount || 0);
- // const aDiscount = new BigNumber(a.discountAmount || 0);
- // const bDiscount = new BigNumber(b.discountAmount || 0);
- // // 先比满金额:越小越优先(满1减10 比 满100减20 更优)
- // if (!aFull.isEqualTo(bFull)) {
- // return aFull.comparedTo(bFull) || 0; // Ensure a number is always returned
- // }
- // // 再比减免金额:越大越优先
- // return bDiscount.comparedTo(aDiscount) || 0; // Ensure a number is always returned
- // })
// 找到抵扣金额最大的门槛项
const maxDiscountThreshold = validThresholds.reduce(
(maxItem, currentItem) => {
@@ -980,12 +967,15 @@ export function calcTotalPackFee(
for (const goods of goodsList) {
const packNumber = goods.packNumber ? goods.packNumber * 1 : 0;
let availableNum = Math.max(0, goods.number - (goods.returnNum || 0));
- availableNum = Math.min(availableNum, packNumber);
+
if (availableNum === 0) continue;
// 计算单个商品打包数量(外卖全打包,堂食按配置,称重商品≤1)
- let packNum = availableNum;
+ let packNum = Math.min(availableNum, packNumber);
+ if(dinnerType === "take-out"){
+ packNum=availableNum
+ }
if (goods.product_type === GoodsType.WEIGHT) {
packNum = Math.min(packNum, 1);
}
@@ -1212,6 +1202,7 @@ export function calculateOrderCostSummary(
//使用霸王餐
if (isFreeDine && freeDineConfig && freeDineConfig.enable) {
console.log("使用霸王餐");
+ fullReductionAmount=0;
//不与优惠券同享
if (!freeDineConfig.withCoupon) {
couponDeductionAmount = 0;
diff --git a/utils/uniapp.js b/utils/uniapp.js
index 4803be2..cce0492 100644
--- a/utils/uniapp.js
+++ b/utils/uniapp.js
@@ -1,5 +1,5 @@
export const back=()=>{
- console.log('back');
+ console.log('调用返回方法back');
try {
const arr= getCurrentPages()
if(arr.length>=2){