uni-app实现公众号登陆实现
公众号实现登陆流程思路:
1. 创建一个页面用于登陆,页面上需要有输入账号和密码的表单,以及登陆按钮。
2. 在登陆按钮的点击事件中,调用后端接口进行账号密码校验。如果校验通过,则将后端返回的用户信息保存在本地存储中。
3. 在需要使用用户信息的页面中,可以通过 uni.getStorageSync 方法获取本地存储中的用户信息,判断用户是否已经登陆。如果本地存储中没有用户信息,则跳转到登陆页面。
下面是具体的代码实现:
1. 登陆页面的模板代码
<template>
<view class="login">
<view class="form-group">
<view class="label">账号:</view>
<input type="text" v-model="username" placeholder="请输入账号" />
</view>
<view class="form-group">
<<view class="label">密码:</view>
<input type="password" v-model="password" placeholder="请输入密码" />
</view>
<button type="primary" class="login-btn" @click="handleLogin">登陆</button>
</view>
</template>
```
2. 在登陆按钮的点击事件中,调用后端接口进行账号密码校验。
```
methods: {
async handleLogin() {
try {
const res = await uni.request({
url: 'http://yourbackend.com/login',
method: 'POST',
data: {
username: this.username,
password: this.password
}
});
if (res.code === 0) {
uni.setStorageSync('userInfo', res.data); //将用户信息保存在本地
uni.showToast({
title: '登陆成功!',
icon: 'success'
});
uni.navigateTo({
url: '/pages/home/index'
});
} else {
uni.showToast({
title: '登陆失败,请检查账号密码是否正确!',
icon: 'none',
duration: 2000
});
}
} catch (err) {
console.log('登陆失败', err);
uni.showToast({
title: '登陆失败,请稍后再试!',
icon: 'none',
duration: 2000
});
}
}
},
```
3. 在需要使用用户信息的页面中,可以通过 uni.getStorageSync 方法获取本地存储中的用户信息,判断用户是否已经登陆。
```
onShow() {
const userInfo = uni.getStorageSync('userInfo');
if (!userInfo) {
uni.navigateTo({
url: '/pages/login/index'
});
} else {
this.userInfo = userInfo;
}
}
```
以上代码示例中,我们使用 uni.request 方法发送登陆请求,通过 await 等待后端返回数据,根据返回码来判断登陆是否成功。如果成功,则将用户信息保存在本地存储中,并跳转到首页(/pages/home/index)。如果失败,则提示错误信息。
在首页中,我们使用 onShow 方法来获取本地存储中的用户信息,如果不存在,则跳转到登陆页面(/pages/login/index)。
注意,这里存储的用户信息是明文存储的,如果存储的信息中包含敏感信息,建议对数据进行加密保存
uni-app实现公众号登陆实现的更多相关文章
- 微信中的APP、公众号、小程序的openid及unionid介绍
微信中的APP.公众号.小程序的openid及unionid介绍 1.unionid 如果开发者拥有多个移动应用.网站应用.和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只 ...
- 新增线下、APP、公众号多处入口,小程序会再火起来么?
现在,大多数互联网创业者最缺的是流量,第二缺的是钱.之前开发者们追捧小程序的重要原因就是在于认为这可能是下一个微信公众号体量的流量入口,因为大家都想从微信的8亿多用户中收获自己的一部分用户. 近期部分 ...
- 第三方微信支付,WAP、H5、APP、公众号支付的区别
你说一个微信支付被腾讯搞了N个版本出来,是技术问题还收费原因不得而知.公众号支付,H5(wap)支付,APP支付.看得小编一头雾水. 带点N个疑问? 1.公众号支付是在公众号里支付,支众号里引入的三方 ...
- 使用FreeHttp强制登出微信公众号登陆状态(实现~原理)
概述 我们使用的部分网站设计成一旦登录即不允许用户手动退出,现实场景中是没有问题的 但如果是在测试或调试过程中就会有强制登出的需求 如果当前使用的是PC浏览器,您或许可以通过调试模式清除保持登录信息的 ...
- 微信退款(APP和公众号一样)
/** * 将xml转为array * @param string $xml xml字符串 * @return array 转换得到的数组 */ public function xml2array($ ...
- 集成微信支付的代码。兼容小程序,扫码,app,公众号。h5 支付 ,以及 服务商提现
/** * 因为微信总是很多个商户号很多和appid.很多个密钥文件,所以全部改成手动传值的方式,就可以支持多商户调用 * * @param appId 商户的appid * @param mch ...
- 微信公众号与APP微信第三方登录账号打通
一个项目同时开发了APP和微信服务号,需要做到APP和微信服务号的账号互通同步,也就是说一个账号在2个地方都可以用,当然这个前提是保证你公司自己的服务器的数据库用的是同一套. 为保证用户数据的唯一性, ...
- 微信JSAPI 公众号支付 H5支付以及APP支付 WEBAPI接口开发测试
统一下单入口 调用该方法入口: public void WxPayAPI() { //string PayPrice ="99.9"; ////订单号 //string Payor ...
- python爬取微信公众号
爬取策略 1.需要安装python selenium模块包,通过selenium中的webdriver驱动浏览器获取Cookie的方法.来达到登录的效果 pip3 install selenium c ...
- [Python] 微信公众号开发 Python3
搭建服务 开通一个阿里云ecs,安装python3及需要的包(参考下方官方文档) 将py文件保存在ecs上,运行 在本地访问阿里云的IP地址 能完成这步说明网络没问题 server.py 1 # -* ...
随机推荐
- 驱动开发:应用DeviceIoContro开发模板
内核中执行代码后需要将结果动态显示给应用层的用户,DeviceIoControl 是直接发送控制代码到指定的设备驱动程序,使相应的移动设备以执行相应的操作的函数,如下代码是一个经典的驱动开发模板框架, ...
- 多路io复用Select [补档-2023-07-16]
select 2.1 简介 select函数可以用于实现高效的多路复用 I/O,同时处理多个文件描述符的事件,包括监听可读.可写和异常条件,具有阻塞和非阻塞模式,并可以设置超时时间.这使得程序能够 ...
- 遥感图像处理笔记之【Machine Learning CS-433 - Class Project 2 - Road Segmentation - EPFL】
遥感图像处理学习(8) 前言 遥感系列第8篇.遥感图像处理方向的学习者可以参考或者复刻 本文初编辑于2024年1月2日 本文再编辑于2024年1月4日:附作者改进U-Net网络图片:文字补充说明 20 ...
- LoopAndLoop【安卓逆向】
LoopAndLoop(阿里CTF) 首先是通用步骤 解压附件后发现是APK文件,打开jeb进行反编译,反编译结果如下: 可以看到程序自定了几个check函数,并且调用了自定义库"lhm&q ...
- 一篇带你掌握cmake入门|了解cmake|掌握cmake基本操作
一篇带你掌握cmake入门 内容出处: 作者: 苏丙榅 链接: https://subingwen.cn/cmake/CMake-primer/ 来源: 爱编程的大丙 著作权归作者所有.商业转载请联系 ...
- CF145E Lucky Queries 题解
题目链接:CF 或者 洛谷 前置知识点:序列操作 本文关键词 约定俗称:因为频繁敲最长不下降子序列 \(LNCS\) 和最长不上升子序列 \(LNIS\) 太麻烦了,下文将 \(000011111\) ...
- CH58x/CH57x硬件SPI操作外部flash学习记录
官方提供的58x的spi例程,spi主机模式下的发送方式有三种单字节发送,FIFO连续发送,DMA连续发送.本文分别对SPI0主机模式下三种发送模式进行使用. 本次使用的是CH582m做为主机,W25 ...
- 二进制安装Kubernetes(k8s)v1.29.2
二进制安装Kubernetes(k8s)v1.29.2 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes(k ...
- 使用 .NET 8.0 和 OpenGL 创建一个简易的渲染器
前言我个人对三维渲染领域的开发有着浓厚的兴趣,尽管并未在相关行业工作过,我的了解还很片面.去年,在与群友聊天时,他们推荐了一本<Unity Shader入门精要>,说适合像我这样想自学的新 ...
- 立创EDA使用笔记
立创EDA 在立创EDA上制作的PCB可以直接导入到嘉立创下单, 每个注册用户每个月可以下两个免费订单, 限制PCB尺寸10CMx10CM, 每单五片, 连制作到快递全部免费, 非常适合做样板. 立创 ...