查看这个文档 details是6000 还是不理解为什么超了 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html
小程序 微信支付失败 查了下是订单详情长度越界 这个怎么办?//把商品信息写进body var good_info=''; for(let i=0;i<cart.length;i++){ good_info+=cart[i].cloth_title+';'; } console.log(good_info) var good_details=''; for(let j=0;j<cart.length;j++){ good_details+=cart[j].cloth_id+' x '+cart[j].num+';'; } console.log(good_details); const body = good_info;//订单名称 const details = good_details;//订单详情 const inputSubmitVal = totalPrice * 100;//系统是用分开始计算 console.log(totalPrice); if (totalPrice>0) { const res=await showModal({content:"您确定要提交订单了吗?。"}); if (res.confirm) { //提交订单 this._callQuestionPay(body, details,goodsnum, subMchId, inputSubmitVal ); //if not wepay, use this.creatOrder(goodsnum); } } else { await showToast({title:"亲,没有商品,无法提交哦"}); } // 请求questionPay云函数,调用支付能力 _callQuestionPay(body, details,goodsnum, subMchId, payVal) { wx.cloud .callFunction({ name: 'questionPay', data: { // 需要将data里面的参数传给questionPay云函数 body, details, goodsnum, // 商品订单号不能重复 subMchId, // 子商户号,微信支付商户号,必填 payVal, // 这里必须整数,不能是小数,而且类型是number,否则就会报错 nonceStr:uuid(32, 32)//调用自己的uuid函数 不用也行 原来发现错在totalprice没值 }, }) .then((res) => { console.log(res);//商户支付受限 const payment = res.result.payment; console.log('payment:'+payment); // 里面包含appId,nonceStr,package,paySign,signType,timeStamp这些支付参数 wx.requestPayment({ // 根据获取到的参数调用支付 API 发起支付 ...payment, // 解构参数appId,nonceStr,package,paySign,signType,timeStamp success: (res) => { console.log('支付成功', res); wx.showToast({ title: '支付成功', success: () => console.log('success'), fail: () => console.log('failure'), }); this.creatOrder(goodsnum); }, fail: (err) => { console.error('支付失败', err); wx.showToast({ title: '支付失败', success: () => console.log('success'), fail: () => console.log('failure'), }); }, }); }) .catch((err) => { console.error(err); }); }, [图片] 貌似是这个details越界了 这个怎么能限制一下?
2023-10-19有解决吗
使用版本管理提示credentials callback max loop re使用版本管理提示credentials callback max loop reached,感觉是认证没通过,但是我直接git bash拉取推送都没有问题,但是在开发工具里填入了公钥秘钥文件路径就不行了,什么操作都会报上面的错误 [图片]
2023-07-12请问楼主这个问题最后怎么解决的?
云开发数据库导出失败?具体错误:导出数据库失败, Error: connect ETIMEDOUT 121.4.234.150:443 不知道是否与我在国外的IP有关? 有好的解决方法吗?
2022-09-07我在开发工具里点了呀。视频教程里在开发工具里是出来设置了,但我的没出来,我搜了一些说这个接口2018年10月改过,但也过了很久了, 应该不是官方的问题,不知道哪写些错了
openSetting()的问题,我用了打不开设置?关于为了避免用户取消“获取地址”之后无法再打开,我看教程说是用opensetting(). https://www.bilibili.com/video/BV1y7411z7hQ?p=85 但是代码一样还是没用。我用openSetting()怎么还打不开设置,不知道哪错了. 点取消授权,再点button, console确实输出我故意打印的“取消”了但并没有打开设置。 WXML: 获取收货地址 JS. handleChooseAddress(){ wx.getSetting({ success: (result) => { // console.log(result); const scopeAddress=result.authSetting["scope.address"]; if (scopeAddress===true||scopeAddress===undefined){ //console.log(result); wx.chooseAddress({ success: (result1) => { console.log(result1); } }); }else{ console.log("取消"); wx.openSetting({ success: (result2) => { wx.chooseAddress({ success: (result3) => { console.log(result3); } }); } }); } } }) } 另一种写法还是不对 : 报错:errMsg: "openSetting:fail errcode 1"} /* Promise形式 getSetting */ export const getSetting=()=>{ return new Promise((resolve,reject)=>{ wx.getSetting({ withSubscriptions: true, success: (result)=>{ resolve(result); }, fail:(err)=>{ reject(err); } }); }) } /* Promise形式 chooseAddress */ export const chooseAddress=()=>{ return new Promise((resolve,reject)=>{ wx.chooseAddress({ withSubscriptions: true, success: (result)=>{ resolve(result); }, fail:(err)=>{ reject(err); } }); }) } /* Promise形式 openSetting */ export const openSetting=()=>{ return new Promise((resolve,reject)=>{ wx.openSetting({ withSubscriptions: true, success: (result)=>{ resolve(result); }, fail:(err)=>{ reject(err); } }); }) } // pages/cart/index.js import{getSetting,chooseAddress,openSetting } from "../../utils/asyncWx.js"; import regeneratorRuntime from '../../lib/runtime/runtime'; Page({ /** * 页面的初始数据 */ data: { }, async handleChooseAddress(){ try { /* wx.getSetting({ success: (result) => { // console.log(result); const scopeAddress=result.authSetting["scope.address"]; if (scopeAddress===true||scopeAddress===undefined){ //console.log(result); wx.chooseAddress({ success: (result1) => { console.log(result1); } }); }else{ console.log("取消"); wx.openSetting({ success: (result2) => { wx.chooseAddress({ success: (result3) => { console.log(result3); } }); } }); } }, fail:()=>{}, complete:()=>{} }); */ const res1=await getSetting(); const scopeAddress=res1.authSetting["scope.address"]; if (scopeAddress===false){ await openSetting(); } const res2=await chooseAddress(); console.log(res2); } catch (error) { console.log(error); } } })
2020-07-27