实现思路:
初次进入小程序的其他页面【有可能是通过分享链接来的】,没有登录过的话就会进入首页, 按理说应该自动弹出登录弹框,现在屏蔽了
初次进入小程序的首页,不弹出登录, 点击首页任意点击跳转,会进入路由拦截器进行登录判断,没有登录就弹出登录弹框
在其他页面出现token失效信息 也会主动跳转首页并自动弹出登录弹框
登录弹框的实现:
有一个登录按钮 + 暂不登录按钮
登录按钮是绑定了手机号授权, 用户授权后进行 wx.login拿到code, 调用后端接口获取token,
登录成功进入信息完善页面, 引导用户输入微信昵称和头像。
以上是关于登录的所有处理,不知道为什么一直审核不过,
难道是因为没有调用wx.getUserInfo吗? 可是我不需要用户的信息。
难道是因为登录是个在首页的弹框吗? 难道必须要是一个登录界面才可以?
以下是相关代码。麻烦各位帮忙看一下具体问题在哪里, 审核一直过不去,实在想不通。
以下是路由拦截器:
const navigateToInterceptor = {
invoke({ url }: { url: string }) {
const path = url.split('?')[0]
let needLoginPages: string[] = []
const isNeedLogin = needLoginPages.includes(path)
if (!isNeedLogin) {
return true
}
const hasLogin = isLogined()
if (hasLogin) {
return true
}
showLoginPopup()
return false
},
}
以下是小程序入口拦截
onLaunch(async (options) => {
const userStore = useUserStore()
const hasLogin = userStore.isLogined
uni.setStorageSync('recommendId', options?.query?.recommendId)
if (!hasLogin && options?.path !== 'pages/index/index') {
uni.switchTab({
url: '/pages/login/index',
})
}
})
你好,请提供小程序appid,这边核实一下。
不可以直接弹出弹窗登录或者跳转登录,文档说的很明白了,必要的时候在让用户登录,你可以放个按钮在首页,或者悬浮提示用户手动点击在弹窗或者跳转登录
根据小程序运营规范,不允许在用户访问的时候直接或者触发任意无必要登录才查看的内容强制要求用户登录。