共计 2141 个字符,预计需要花费 6 分钟才能阅读完成。
最近在搞微信小程序,总结一下微信领取。
自从云开发接入微信领取之后,前端在做微信领取这一块终于能抬起头来了,不须要再向后端抬头,受气了。
来, 展现
前提
在开搞之前,首先要晓得商户号,和微信领取平安密钥,这里不逼逼这个,不晓得的自行百度一下,都是些手工活。
开明云开发
首先,如果你建我的项目的时候,不是建的云开发我的项目,那就要在小程序开发工具上方开明一下。
配置云开发环境
开明完云开发之后,就要配置一下它的开发环境。
在跟目录下有一个 projece.config.json 的文件,在文件外面,配置一下,上面配置⬇️
"cloudfunctionRoot":"cloud"(这个文件名能够轻易起)
接着在我的项目新建一个 cloudfunctionRoot 配置同样名字的文件夹,这个文件夹就是寄存所有云开发的代码的中央。
这个文件夹跟其余文件夹不同,它的前面还带一个环境,这个环境名,就是开明云开发性能时填写的名字。
????,到这里就曾经配置好云开发环境了。
走起
环境弄好了,当初,就能够把微信领取整起来。Coming on !
在云开发文件夹,鼠标有件新建一个 NODE 云函数文件,它就会主动给咱们调配一个云函数, 构造如下,我门只有看的是index.js。
index.js 默认内容如下
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {const wxContext = cloud.getWXContext()
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}
它 return 进去的,就是咱们可能拿到的。那怎么能力拿到呢?看上面????
咱们要是想在开发的时候,拿到云开发,某个函数返回的数据,那必须要实例化一下,云开发环境,这里就在 app.js 的oonLaunch 生命周期 实例化一下它。
onLaunch() {
wx.cloud.init({env:"zhengjia-5cgei"(这个就是开明云开发时调配给咱们的环境)
})
}
到这里,就曾经能够调用 wx.cloud.callFunction 回调函数拿到云函数给返回的数据了。
wx.cloud.callFunction({name:"cloudPay"(要调用哪个云函数就写上哪个云函数名字),
data:{},(如果要给云函数传参数,能够写在这里,它会在 main 函数里的第一个参数里被接管到)
success:()=>{},(调用胜利这里就能够接管到返回来的数据)
fail:()=>{}
})
说到这里可能大伙都在破口大骂了,怎么说了那么多,还没说到微信领取,这狗棒货色。
对不起,方才双手被他人压住了????(这句话心愿你永远听不懂,听懂的掌声,哈哈哈)
它来了
嗯嗯呃呃 …. 不比比了,微信领取它来了。
首先,要在须要搞微信领取的那个云函数的文件夹里装置一个tenpay
npm i tenpay
而后,在 index.js 外面配置一下,并实例化一下。
const tenpay = require('tenpay')
// 微信领取配置
const config = {appid: 'wxf931f0570249940a',(公众号 ID)
mchid: '1600735010',(微信商户号)
partnerKey: 'Fh2yS9rS9RhXmC7rQKVBuOvfOc1QttSc123eee',(微信领取平安密钥)
}
// 实例化
const api = tenpay.init(config)
// 云函数入口函数
exports.main = async () => {const wxContext = cloud.getWXContext()
// 调用 getPayParams,就能够返还 wx.requestPayment 拉起微信领取所需的参数了
let result = await api.getPayParams({
out_trade_no: 11111111111(订单号),
body: "test"(订单形容),
total_fee: 1000(订单金额,分为单位),
openid: wxContext.OPENID(openID)
});
// 这里将这样参数 return 进来就 OK
return result
}
到这里,就 xx 的将微信领取所需的所有货色整好了,咱们来用一下。
轻易找个中央,写个button
<button bindtap="pullWx"> 拉起微信领取 </button>
js
pullWxPay 是我将,wx.cloud.callFunction和 x.requestPayment 做的一次封装的函数,大伙能够自行调用这两个函数,如果对 pullWxPay 封装有意思的,在上面留言,我发给你。
成果????
这里,我下面写了 1000 分,所以是 10.00。
总结
自从云开发接入微信领取之后,真的让微信领取在小程序上简略了不少,流程也好了很多,不便又易用,最重要的是前端仔不须要受后端大哥的气了,哈哈哈。
最初,如果对你有帮忙,请给小可怜一个❤️,这是对一个切图仔最大的激励,谢谢????