documento de interface wx.getWeRunData
Primeiro, chame o login para trocar o código, depois chame wx.getWeRunData, chame a interface dos colegas de back-end no retorno de chamada bem-sucedido, pass code, iv,cryptedData, na verdade, o back-end não precisa de código, mas sessionkey, mas sessionkey precisa ser obtido por meio do código e da interface do servidor code2session e, em seguida, você pode trocar pelo número de etapas de movimento do WeChat. Deve-se observar aqui que a unidade do campo timestamp das etapas do WeChat está em segundos ! ! ! ! , se precisar multiplicar por 1000 ao usar o objeto Date! ! !
uni.login({
provider: 'weixin',
success: async function(e) {
// console.log("login参数", e);
if (e.errMsg == "login:ok") {
wx.getWeRunData({
async success(result) {
// console.log("微信运动成功参数", result);
var data = {
code: e.code,
iv: result.iv,
encryptedData: result.encryptedData,
userId: state.userInfo.userId
}
try {
let res = await step(data)
if (res.state === 1) {
commit("set_wxStepNum", res.content)
}
resolve(res);
} catch (e) {
reject(e);
uni.$u.toast(`${e}`)
}
}
})
} else {
uni.showToast({
title: "获取微信步数失败",
icon: 'none',
duration: 2500
})
}
},
fail: () => { //uni.login 失败的回调
uni.showToast({
title: '授权已取消',
icon: 'error',
mask: true,
});
}
})