首页天道酬勤微信小程序支付功能怎么实现,支付异步回调设计

微信小程序支付功能怎么实现,支付异步回调设计

张世龙 05-06 01:43 57次浏览

applet app.js上的onLaunch和index.js上的onload异步运行问题,同时触发时如何等待返回值以响应索引上的onload内容

例如,如果获取用户的openid或证书,则在未返回所需数据之前将执行index.js的onload,后续代码不支持OpenID *

ES6提供了promise解决方案,但这是一个很好的解决方案

promise下载位置

直接复制压缩的源代码,在applet中创建promise.js文件,直接粘贴,然后在app.js中浏览

const promise=require (utils/promise.js );

APP.js的代码

取出你写在onLaunch上的代码片段,重写新方法

login:function () {

let that=this;

返回新promise (功能(resolve,reject ) {

//登录

wx.login({

success: res={

将res.code发送到后台以换取openId、sessionKey和unionId

if(RES.code ) {

//console.log ('获取用户登录证书: ' code );

-------发送证书-------

/*

通过代码获取登录会话

*/

wx.request({ (

url: 'xxx/login? 代码=' RES.code,

方法: ' get ',

header: {

' content-type ' : ' APP/JSON '

(,

success :功能(RES ) {

console.log(res )

if(RES.Statuscode==200 ) {

//注意这里

求解(RES;

} else {

控制台. log (RES.errmsg ) )。

}

(,

() )

} else {

console.log ('获取用户登录失败。' res.errMsg );

}

}

() )

() )

}

index.js代码

onload :功能(选项) {

App.login(.then ) ) RES={

console.log(res )

() )

(,

uniapp onload,uniapp加载时等待页面