From 42e5ea86f7edc9361227edd979a8ae1952713161 Mon Sep 17 00:00:00 2001 From: Liuyi <candymxq888@outlook.com> Date: 星期六, 19 十月 2024 16:19:16 +0800 Subject: [PATCH] 添加共享列表,修改共享功能相关代码 --- App.vue | 101 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 94 insertions(+), 7 deletions(-) diff --git a/App.vue b/App.vue index 4742f87..470a053 100644 --- a/App.vue +++ b/App.vue @@ -1,10 +1,98 @@ <script setup> import { onLaunch, onShow, onHide } from "@dcloudio/uni-app"; - // import {getToken} from './util/auth'; - onLaunch(() => { - console.log("App Launch"); - //判断是否登录 - // let token = getToken() + import { wxLoginApi } from './api/index.js' + + //用户打开小程序默认授权 + function wxLogin(){ + uni.removeStorageSync('openId'); + if(!uni.getStorageSync('openId')){ + wx.login({ + success:async (res1)=>{ + //存储微信登录的code + uni.setStorageSync('code',res1.code) + await wxLoginApi({code:res1.code}).then((res2) =>{ + uni.setStorageSync('openId',res2.data.userId) + uni.setStorageSync('token',res2.data.token) + }) + }, + fail:(e) =>{ + uni.showToast({ + title: '登录失败,请退出重试!', + duration: 2000 + }); + console.log(e) + } + }) + } + } + + //申请获取用户位置权限 + let userLocation = { + lat:'', + lon:'', + } + function getUserLocation(){ + // 请求用户授权,第一次进入会有位置授权的提示 + uni.authorize({ + scope: 'scope.userLocation', + success() { + console.log("成功授权位置信息1") + storageLocation() + }, + fail() { + console.log("用户拒绝授权位置信息,再次提示用户授权") + showToast() + } + }) + //获取用户位置并存储 + function storageLocation(){ + uni.getLocation({ + type:'gcj02', + isHighAccuracy:true, + success:(res) =>{ + userLocation.lat = res.latitude + userLocation.lon = res.longitude + uni.setStorageSync('userLocation',JSON.stringify(userLocation)) + }, + fail:() =>{ + showToast() + } + }) + } + //用户拒绝授权 + function showToast(){ + uni.showModal({ + title: "请求授权当前位置", + content: "我们需要获取地理位置信息,为您获取附近站点信息!", + confirmText: "前往设置", + success: (res) => { + if (res.confirm) { + uni.openSetting({ + success:(res1) =>{ //打开设置成功 + if (res1.authSetting['scope.userLocation']){ + console.log('用户二次授权成功') + storageLocation() + }else{ + showToast() + console.log('用户拒绝授权') + } + }, + }) + }else{ + uni.showToast({ + title: '请先授权!', + duration: 2000, + icon:'none' + }); + showToast() + } + }, + }); + } + } + onLaunch(async() => { + await wxLogin() + await getUserLocation() }); onShow(() => { console.log("App Show"); @@ -14,6 +102,5 @@ }); </script> -<style> - /*每个页面公共css */ +<style lang='scss'> </style> -- Gitblit v1.9.3