业务场景
h5 应用中获取微信步数功能,用户第一次使用微信步数的应用会有一个弹窗授权提示(如下图),微信小程序会记住用户的选择,无论同意还是拒绝授权下次都不会再次出现弹窗提示,除非清除小程序缓存或者删除小程序再次进入该应用会弹出
效果预览
1、用户第一次使用微信步数的应用的弹窗授权提示
2、第二次进入应用用户是无感的
3、用户关闭微信运动授权点击更新步数的提示如下
业务实现
前言
1、微信公众平台配置隐私协议、小程序隐私协议审核大概1天左右,提前审核
2、微信小程序端根据对应应用的 appcode 调用获取步数,再将获取到的步数传给后端
3、在拒绝授权微信步数后,点击更新步数跳转一个提示页面
业务代码
小程序端操作
1、微信公众平台配置隐私协议
地址:微信公众平台
- 注意:填写用途 为了【通过获取您的步数信息才可参加活动】
2、微信小程序端根据对应应用的 appcode 调用获取步数,再将获取到的步数传给后端
在 webview/authorization.vue 和 webview/index.vue 两个文件中一样的操作
<div>
<div v-if="loading" class="loading_div1">
<nut-icon name="loading" class="loading-icon"></nut-icon>
<span>加载中...</span>
</div>
<web-view v-else :src="link"></web-view>
</div>
<script lang="ts">
import {
api} from "@/store/modules/community";
export default {
onLoad: async function(options) {
this.loading = true;
await wx.login({
success: async (response: any) => {
if (response.code) {
wx.getWeRunData({
success: async (obj) => {
let params = {
iv: obj.iv,
encryptedData: obj.encryptedData,
code: response.code,
};
let res: any = await userDecryptSession(params);
if (res.code == 200) {
if (res