| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import Taro from "@tarojs/taro";
- export const setAuth = (getRunData: Function, refuseAuth: Function) => {
- Taro.getSetting({
- success: res => {
- //第一步,检测是否有授权 - 没有授权
- if (!res.authSetting['scope.werun']) {
- //第二步,开始授权,但这里有一个坑点(腾讯的bug),之前授权过但是是拒绝,所以会进入失败
- Taro.authorize({
- scope: 'scope.werun',
- success: () => {
- console.log("授权了")
- getRunData()
- },
- fail: () => {
- Taro.showModal({
- title: '提示',
- content: '检测到您没有打开微信运动的权限,是否去设置打开?',
- success: res => {
- if (res.confirm) {
- Taro.openSetting({
- success: res => {
- if (res.authSetting['scope.werun']) {
- console.log("授权了")
- getRunData()
- // this.getRunData();
- } else {
- refuseAuth()
- Taro.showToast({
- title: '您已拒绝授权,无法获取步数',
- icon: 'none'
- });
- }
- }
- });
- } else {
- refuseAuth()
- Taro.showToast({
- title: '您已拒绝授权,无法获取步数',
- icon: 'none'
- });
- }
- }
- })
- //第三步,引导用户,手动引导用户点击按钮,去设置页开启,## Modals是自定义组件
- // this.$invoke('Modals', '__modalConfirm__', [
- // '检测到您没有打微信运动的权限,是否去设置?',
- // 'openSetting',
- // //第四步,进入设置页的回调 - 成功
- // res => {
- // let { authSetting } = res.detail;
- // if (authSetting['scope.werun']) {
- // this.getRunData();
- // } else {
- // this.$invoke('Toast', '__warning__', [
- // `您没有同意授权微信运动,获取步数失败`
- // ]);
- // }
- // },
- // //第五步,点击取消按钮的回调
- // () => {
- // this.$invoke('Toast', '__warning__', [
- // `您已拒绝微信运动授权,无法获取步数`
- // ]);
- // }
- // ]);
- }
- });
- } else {
- //第六步,已经授权直接进入保存逻辑
- console.log("授权了")
- getRunData()
- // this.getRunData();
- }
- }
- });
- }
|