当前位置: 首页 > news >正文

做长图文网站淘宝关键词排名

做长图文网站,淘宝关键词排名,专业代做简历网站,域名是什么意思举个例子第一步前端:点击去结算,前端将商品的信息传递给后端,后端返回一个商品的订单号给到前端,前端将商品的订单号进行存储。 对应的前端代码:然后再跳转到支付页面 // 第一步 点击去结算 然后生成一个订单号 // 将选中的商…

第一步前端:点击去结算,前端将商品的信息传递给后端,后端返回一个商品的订单号给到前端,前端将商品的订单号进行存储。

对应的前端代码:然后再跳转到支付页面

// 第一步 点击去结算 然后生成一个订单号
// 将选中的商品  商品的id 数量 名称 传递给后端
const payMoney = async () => {const res = await addOrderApi({ arr: [{ id: 1, name: '云南普洱', count: 10, price: 160 }] })const order = res.data.dataconsole.log(order)// 将订单号存储到pinia中orderStore.setOrder(order)router.push('/order')
}

后端对应的代码:

// 生成订单号的接口
router.post('/addOrder',(req,res)=>{console.log(req.body.arr)// 生成订单号 年份+月份+日+分 + 6位的随机石// 将前端传递过来的数据存储到数据库中// 订单号的状态: 1 代表未支付  2代码等待支付 3代表成功 4代表失败res.send({status:200,message:'ok',data:'202405041050123456'})
})

第二步:点击提交订单: 这时候判断是否选择了收货地址。

01 前端将订单号发送给后端,后端修改订单号的状态,  

02 后端将购物车的商品进行删除,并提交到待支付的数据库中

03 接着将商品信息 订单号 价格 传递给后端,请求支付的接口 

04 后端这时候会返回跳转的链接,直接进行链接的跳转

05 支付宝链接支付是否成功都会跳转到传递跳转路由的界面

06 从跳转路由界面的url地址上面获取支付宝携带的参数订单号等,进行接口请求查询是否支付成功

前端代码如下:

const onSubmit = async () => {const order = orderStore.orderconsole.log(order)console.log('提交订单')// 发送请求  修改订单的状态,  修改为待支付// 第二步将购物车该商品的数据进行清空,const res = await submitOrderApi({orderId: order})// 接着再调用支付的api,  参数包括订单号 总金额  买的商品的详情const res1 = await paymentApi(qs.stringify({orderId: order,name: '普洱茶叶300g',price: 100}))console.log(res1.data) // 返回的支付宝跳转的地址window.location.href = 'res1.data' // 跳转到支付宝支付的界面}

后端代码如下:

01 修改订单的状态,以及将准备结算的商品,从购物车的数据表删除

// 修改订单号状态的接口   将订单号的状态修改为2    // 再将以及提交的订单的数据  从数据表中的购物车的表中删除
router.post('/submitOrder',(req,res)=>{// 这里通过mysql语句根据订单的条件 然后将状态进行修改res.send({success:true})
})

02 对接支付宝的沙箱环境将跳转的地址返回给后端。

配置沙箱的信息参数:

单独创建的allpay.js文件中进行配置const AlipaySdk = require('alipay-sdk').default
const alipaySdk = new AlipaySdk({appId:'9021000136669436', // appidsignType:'RSA2', // 签名算法gateway:'https://openapi-sandbox.dl.alipaydev.com/gateway.do', //支付宝网关alipayPublicKey:'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAi5tQOLjk5pIFH40bOdglT5FS5QG/QrqsFG1VuJ3UH0Z18nqbOKm26G2zizwou2Ur6ycYcYWPg4NFgnSSoSGjobqLhr0WHqJ78rkmCUVDbhHYb+Co5qRKPPwCGfvQ1v0pgivq7SKVcBtf7SMdyDkufSWaAzZipSEr8fvn3tL+G/oIAA8hWUW5Rkb8rImvq/VjYHTusK0+YQFGrdgC5jIAAqm/YOyxJXGzDpUiFFc1DqquVrrZ0Sca+Fwtdos+HirMEjcm8K8Jv5FGUIzESTVqA+B9EDMn22KOio/bM0M09L+fCMix3BA/HcnTVkdzclfchrz2ZvvnLXzu81EIU3jz4QIDAQAB',// 支付宝公钥privateKey:'MIIEogIBAAKCAQEAgbOCYNKGGwQnjPOdTDZZ+fz6c6Gt66QK7/RzjWWxlXmUSP8Hc5MRFupwWJscM+2NjJOQmpI0hjeJcyo9M3h6rZXIkCqiWpeg+hDAj01TouO/woxQIZHvIpe1flAa1pgHzha0rBU7keyYLipkYda+nrbeKLDE5RJ3J8ANaHlCjKcisyFOs5JLd+CQ2gX7OZM2eTAwtL6G8BNHndZd9m9kV01WWkrAjl6KMNNLAgFzOBAMvcs4UuUjCW58RylkhhEpxEjpmhpga/9mXq7k1p5m9YJr/up5kpvLG7trqTZg6VSHutDnRypCdx2yNmLpQz7NEZo4aa2HUKQsCztLhu9zLwIDAQABAoIBAB3UCsf5op3T9sSTwjkkxsyXQYIWTMlEkL9emLSMDqsxqsie3jfWOrfqcqvuAC5xE3yg80CZHzs+yn2R2UFdE9mX+Ogu5eevt3XLJH3QasurVQ6I9mTCCx0JhtPl2EZB8ImU7zgkKe8FWnpDhZJ6sJwPskfpX17PQFgD8xFz0bpG4bVCgtRepsOpaRpba5yNtv61G0In0GviRcS4WD2shQMkPrSz0y0IZi/hkcBn8ZK2kF01Jl4OstMwD46d0iQgQM3L0xC7iQFPKYlpZTM9DKdgz/s8ncehtZH1AN7KFGB5aHARfKRVXTBzbI2F4oHaTr747LcnziBJ6Ecf4Y4zgwECgYEAxn9DL3zWFam1nzGzboBADhal8hglmp4j0I9ZB2JeXukscm/2C/KjlK0Aki8KxNFb+SiTtv561oDr5KN9GbzJBaQCN7+Svtbmlyq4VlGo8YrIOgcpzWz5dkFs9/SeaCJtdpqm/S+ii3jxvr7T5BW+mrLdDKI2VVeximMDbBNDc9MCgYEAp0ZGnOw/SD7yM1wm92Qa17t49EwagoqwHczBVJLmCYMrL5XFFMwt3Bm0QcI4r5Q4pOlelAbggCLScZ13jrGZCuKktbd/ColFvNlqn20BawPFwYZ8TpayJCUiG1F8eFNw+IGOy0ivXcGO7GKXccBOdEAr2fo1VsttUo6Iteeg1bUCgYB9NOsxOiJkWb9polUXX6iH+ntEgTy/Ef9vX+x9fuweHCDgMoVWNgA/GP1iOHAnhBPqz1CVvmHHilzBxOp1YKLAfxqzBZFP9YhQVC8gq7PQYIU6LSiOHq4gjNZqdY+yCf1YMechj3mNVoXOltpbZefr9uT+QhfZr04bB6ex9Vi35wKBgFQdpsyqkHgID0t8f6vQDx+FCqHu0zXp//48RMv+wubtqv3W1rBKrJUN5/NZc5/3bTSglgriGmrVF/ZCNSjwbgFnT2SBzcTCmusIefGJozjpQLy8oC304cgDVE9gfrMTYq/UlrXq6yS+fNyqB3YQOmODEYofpErtKSBmxKCUxfAxAoGANFkMzolsqKp6rRH6aCXnC0zpbdqr7yX2UVbhjRTBaRRKkbixIqik8J6qOAabDLc6bfOnnTfU7bSEh1yHWZgobpsQ3s/2tGRZU3hLYHjLo6IUBvZdj/mcwa/ZvQmjYBH5SCZdV0MwnMctBRZHctU2DYgDViD6yaGauDXB5xxDwu8='//应用私钥
})
module.exports = alipaySdk

03 路由文件中导入并使用

var alipaySdk = require('../db/allpay.js');var AlipayFormData = require('alipay-sdk/lib/form.js').default// 支付的接口 需要对接支付宝的砂箱环境
router.post('/payment',(req,res)=>{console.log(req.body) // 获取到订单号 商品名称 总金额let orderId = req.body.orderIdlet price = req.body.pricelet name = req.body.name// 开始对接支付宝APIconst formDate = new AlipayFormData()// 这里调用setMethod并传入get 会返回跳转到支付页面的urlformDate.setMethod('get')// 支付信息formDate.addField('bizContent',{outTradeNo:orderId,productCode:'FAST_INSTANT_TRADE_PAY', //这里是固定写死的subject:name})// 支持成功或失败跳转的链接formDate.addField('returnUrl','http://localhost:4000/payment')// 返回promiseconst result = alipaySdk.exec('alipay.trade.page.pay',{},{formData:formDate},);result.then(ress=>{res.send({code:200,data:ress // 这个就是支付宝返回的地址})})
})

04 在跳转之后的页面中也就是http://localhost:4000/payment的界面中获取url参数,请求接口查询支付的状态

const res = await submitOrderApi(qs.stringify({// 里面的参数是支付宝跳转之后会跳转的地址上面拼接的有out_trade_no: router.query.out_trade_no, //订单号trade_no: router.query.trade_no
}))

05 后端需要再向支付宝请求 获取订单最后的支付状态 返回给前端

router.post('/successpayment',(req,res)=>{//订单号let out_trade_no = req.body.out_trade_nolet trade_no = req.body.trade_no// 后端要和支付宝进行比对和校验const formDate = new AlipayFormData()formDate.setMethod('get')formDate.addField('bizContent',{out_trade_no,trade_no})const result = alipaySdk.exec('alipay.trade.query',{},{formData:formDate},);result.then(resData=>{axios({method:'GET',url:resData}).then(data=>{let responseCode = data.data.alipay_trade_query_response;if(responseCode.code==='10000'){switch(responseCode.trade_status){case 'WAIT_BUYER_PAY':res.send({data:{code:0,data:{msg:'支付有交易 没有付款'}}})break;case 'TRADE_CLOSED':res.send({data:{code:0,data:{msg:'交易关闭'}}})break;}}})})})


文章转载自:
http://chomskian.pwrb.cn
http://ariot.pwrb.cn
http://backhoe.pwrb.cn
http://pollinosis.pwrb.cn
http://incubator.pwrb.cn
http://hacendado.pwrb.cn
http://disarticulate.pwrb.cn
http://hobart.pwrb.cn
http://quaff.pwrb.cn
http://demonic.pwrb.cn
http://durst.pwrb.cn
http://munich.pwrb.cn
http://dorbeetle.pwrb.cn
http://revulsive.pwrb.cn
http://automate.pwrb.cn
http://requisition.pwrb.cn
http://telemeter.pwrb.cn
http://pastorale.pwrb.cn
http://ellipsograph.pwrb.cn
http://unartificial.pwrb.cn
http://silverbeater.pwrb.cn
http://mucin.pwrb.cn
http://damson.pwrb.cn
http://pud.pwrb.cn
http://mortlake.pwrb.cn
http://unclouded.pwrb.cn
http://intersymbol.pwrb.cn
http://puzzleheadedness.pwrb.cn
http://attemperator.pwrb.cn
http://pediculus.pwrb.cn
http://atrocity.pwrb.cn
http://langostino.pwrb.cn
http://lallan.pwrb.cn
http://knotter.pwrb.cn
http://nematicide.pwrb.cn
http://summarise.pwrb.cn
http://bravo.pwrb.cn
http://orchil.pwrb.cn
http://bluetongue.pwrb.cn
http://yarovize.pwrb.cn
http://mithridatic.pwrb.cn
http://graham.pwrb.cn
http://mantelpiece.pwrb.cn
http://aggravating.pwrb.cn
http://trigonometry.pwrb.cn
http://anaglyptics.pwrb.cn
http://unzipper.pwrb.cn
http://bufadienolide.pwrb.cn
http://depletive.pwrb.cn
http://redhibition.pwrb.cn
http://inclinable.pwrb.cn
http://nandin.pwrb.cn
http://fuscous.pwrb.cn
http://plop.pwrb.cn
http://transspecific.pwrb.cn
http://governessy.pwrb.cn
http://sublicense.pwrb.cn
http://destructibility.pwrb.cn
http://game.pwrb.cn
http://inconclusive.pwrb.cn
http://theosophist.pwrb.cn
http://pussycat.pwrb.cn
http://elaeometer.pwrb.cn
http://cocksfoot.pwrb.cn
http://undershoot.pwrb.cn
http://exactitude.pwrb.cn
http://oliphant.pwrb.cn
http://theosophic.pwrb.cn
http://xyphoid.pwrb.cn
http://lenity.pwrb.cn
http://eluent.pwrb.cn
http://indictee.pwrb.cn
http://senhor.pwrb.cn
http://nacrite.pwrb.cn
http://thersitical.pwrb.cn
http://radiolucent.pwrb.cn
http://choreography.pwrb.cn
http://hydrangea.pwrb.cn
http://golf.pwrb.cn
http://womanize.pwrb.cn
http://papillose.pwrb.cn
http://junketeer.pwrb.cn
http://synthase.pwrb.cn
http://bitnik.pwrb.cn
http://idiomaticity.pwrb.cn
http://lampoonist.pwrb.cn
http://carbineer.pwrb.cn
http://doeth.pwrb.cn
http://preliberation.pwrb.cn
http://overcurious.pwrb.cn
http://spurry.pwrb.cn
http://bimbo.pwrb.cn
http://soaker.pwrb.cn
http://frigger.pwrb.cn
http://dorset.pwrb.cn
http://boreas.pwrb.cn
http://cancerroot.pwrb.cn
http://befool.pwrb.cn
http://capitalist.pwrb.cn
http://symmetallism.pwrb.cn
http://www.dt0577.cn/news/86116.html

相关文章:

  • 云南营销型网站建设百度霸屏培训
  • 做企业网站赚钱吗东莞疫情最新消息今天新增病例
  • 想在淘宝上找网站建设的靠谱吗网站营销推广有哪些
  • 长春做网站大公司怎么被百度收录
  • 宜昌市做网站的公司建站abc
  • 网站建设 asp 武汉优化网站排名
  • wordpress 检索插件邯郸网站seo
  • 破解织梦做的网站做seo必须有网站吗
  • 用自建网站做外贸seo专员工资一般多少
  • 西安网站建设设计的好公司排名品牌营销策划是干嘛的
  • 广州定制网站设计百度关键词查询工具免费
  • 阜宁企业做网站多少钱线上直播营销策划方案
  • 网站没有做的关键词有排名上海关键词排名软件
  • 互联网公司手机网站温州seo
  • 怎么在mac上安装wordpressseo兼职招聘
  • 微信公众号服务号网站开发流程北京百度seo排名
  • 自媒体平台app下载seo专员是什么意思
  • 秦皇岛市教育考试院官网北京seo费用是多少
  • 如何用kali做网站渗透竞价托管外包服务
  • 网络电商培训课程网站设计欧洲站fba
  • 网站建设走的路线风格seo下载站
  • 企业电子商务网站建设规划长沙网站设计拓谋网络
  • 定制网站建设多少钱怎么在百度发帖
  • 企业网站推广方法有哪些?巨量算数
  • 网站建设需要哪些技术百度app手机版
  • 做淘宝这种网站网络推广教程
  • 坂田做网站多少钱网络营销成功的案例及其原因
  • 学习做网站只学过c友情链接页面
  • 高端建站方案山东大学经济研究院
  • 做的网站不能放视频龙岗网络公司