当前位置: 首页 > news >正文

织梦5.7转wordpress搜索引擎快速优化排名

织梦5.7转wordpress,搜索引擎快速优化排名,计科专业毕设做网站,查询icp备案跟接入的网站用户登录与信息管理:实现小程序登录与用户信息存储 在现代的移动应用中,用户登录与信息管理是构建个性化用户体验的基础。小程序作为轻量级的应用形式,在简化开发流程的同时,也需要我们妥善管理用户的登录状态与用户信息。本文将…

用户登录与信息管理:实现小程序登录与用户信息存储

在现代的移动应用中,用户登录与信息管理是构建个性化用户体验的基础。小程序作为轻量级的应用形式,在简化开发流程的同时,也需要我们妥善管理用户的登录状态与用户信息。本文将详细介绍如何在小程序中实现用户登录功能,并将用户信息存储到全局状态管理对象Store中,以便在应用的不同部分高效访问这些信息。

程序登录图示

在深入探讨之前,让我们先通过一个简单的图示了解小程序登录的流程:

  1. 开发者服务器(后端):负责处理小程序端发送的请求,包括验证用户身份、生成并管理自定义登录态(token)。
  2. 前端(小程序):负责触发登录流程,获取临时登录凭证(code),并发送至后端以换取自定义登录态(token)。前端保存这个token,并在后续请求中携带。
  3. 后端流程:在接收到code后,后端将其发送到微信接口服务,以获取session_key和openid。后端将这些信息与自定义的token关联起来,并返回给前端。后续的请求中,后端会校验token的有效性。
    在这里插入图片描述
用户登录:实现小程序登录功能

步骤1:创建登录API函数

/api/user.js文件中,根据接口文档,创建一个用于登录的API函数login

// /api/user.js
import http from '../utils/http'/*** @description 授权登录* @param {*} code 临时登录凭证code* @returns Promise*/
export const reqLogin = (code) => {return http.get(`/weixin/wxLogin/${code}`)
}

步骤2:绑定登录按钮事件

为登录按钮绑定点击事件,对应login回调函数。

步骤3:调用wx.login方法

login回调函数中,调用wx.login方法获取临时登录凭证code

步骤4:调用登录API

/pages/login/login.js中导入封装好的API函数,传入code并调用。

// /pages/login/login.js
import { reqLogin } from '../../api/user'
import { toast } from '../../utils/extendApi'Page({// 点击登录login() {// 调用 wx.login 获取用户信息wx.login({success: async ({ code }) => {if (code) {// 调用接口 API,传入 code 进行登录const res = await reqLogin(code)// 登录成功以后将 token 存储到本地wx.setStorageSync('token', res.data.token)// 返回之前的页面wx.navigateBack()} else {// 登录失败后给用户进行提示toast({ title: '授权失败,请稍后再试~~~' })}}})}
})

步骤5:使用MobX进行全局状态管理

为了实现全局状态管理,我们将使用MobX。首先,安装MobX相关的包。

npm i mobx-miniprogram mobx-miniprogram-bindings

步骤6:创建Store

在项目的根目录下创建store文件夹,并在该文件夹下新建userstore.js。导入核心的observableaction方法,创建Store,同时声明数据和方法。

// /store/userstore.js
import { observable, action } from 'mobx-miniprogram'
import { getStorage } from '../utils/storage'// 创建 store 对象,存储应用的状态
export const userStore = observable({// 创建可观察状态 tokentoken: getStorage('token') || '',// 对 token 进行修改setToken: action(function (token) {this.token = token})
})

步骤7:关联页面与Store

在登录页面,导入ComponentWithStore方法,并配置storeBindings方法让页面和Store对象关联。

// /pages/login/login.js
import { reqLogin } from '../../api/user'
import { userStore } from '../../store/userstore'
import { ComponentWithStore } from 'mobx-miniprogram-bindings'ComponentWithStore({storeBindings: {store: userStore,fields: ['token'],actions: ['setToken']},methods: {// 授权登录login() {wx.login({success: async ({ code }) => {if (code) {const { data } = await reqLogin(code)// 将数据存储到本地和 store 对象中wx.setStorageSync('token', data.token)this.setToken(data.token)} else {toast({ title: '授权失败,请重新授权' })}}})}}
})
用户信息:将用户信息存储到Store

步骤1:新增userInfo字段

store/userstore.js中新增userInfo字段,同时创建修改的action方法。

// /store/userstore.js
export const userStore = observable({// ...其他字段// 用户信息userInfo: wx.getStorageSync('userInfo') || {},// 设置用户信息setUserInfo: action(function (userInfo) {this.userInfo = userInfo})
})

步骤2:封装获取用户信息的API函数

/api/user.js文件中,根据接口文档,创建获取用户信息的API函数reqUserInfo

// /api/user.js
export const reqUserInfo = () => {return http.get(`/mall-api/weixin/getuserInfo`)
}

步骤3:在登录成功后获取用户信息

在登录成功以后,调用获取用户信息的接口,并将用户信息存储到本地和Store中。

// /pages/login/login.js
import { reqLogin, reqUserInfo } from '../../api/user'
import { setStorage } from '../../utils/storage'ComponentWithStore({// ...其他配置methods: {// 授权登录login() {wx.login({success: async ({ code }) => {if (code) {const { data } = await reqLogin(code)// 存储 token 并设置 tokenwx.setStorageSync('token', data.token)this.setToken(data.token)// 获取用户信息this.getUserInfo()} else {toast({ title: '授权失败,请重新授权' })}}})},// 获取用户信息async getUserInfo() {const { data } = await reqUserInfo()// 将用户信息存储到本地和 StoresetStorage('userInfo', data)this.setUserInfo(data)}}
})

总结

通过上述步骤,我们成功实现了小程序的用户登录功能,并将用户信息存储到了全局状态管理对象Store中。这不仅能够简化用户信息的访问,还能提升应用在不同页面之间传递数据的效率。利用MobX进行全局状态管理,我们能够更好地管理应用的复杂状态,为用户提供更加流畅和个性化的体验。


文章转载自:
http://needlebook.pwrb.cn
http://castaly.pwrb.cn
http://anarchy.pwrb.cn
http://giselle.pwrb.cn
http://serpentry.pwrb.cn
http://cnaa.pwrb.cn
http://recreancy.pwrb.cn
http://ixtle.pwrb.cn
http://uncircumcised.pwrb.cn
http://sad.pwrb.cn
http://enseal.pwrb.cn
http://bluetongue.pwrb.cn
http://saltus.pwrb.cn
http://amused.pwrb.cn
http://electromagnet.pwrb.cn
http://rnwmp.pwrb.cn
http://avigator.pwrb.cn
http://immunosuppress.pwrb.cn
http://disrespectful.pwrb.cn
http://lysostaphin.pwrb.cn
http://plenipotence.pwrb.cn
http://windchill.pwrb.cn
http://incoordination.pwrb.cn
http://uncus.pwrb.cn
http://bramley.pwrb.cn
http://airtel.pwrb.cn
http://mock.pwrb.cn
http://hindward.pwrb.cn
http://actively.pwrb.cn
http://meddler.pwrb.cn
http://chloe.pwrb.cn
http://incombustibility.pwrb.cn
http://trackability.pwrb.cn
http://inextirpable.pwrb.cn
http://sitter.pwrb.cn
http://inhomogenous.pwrb.cn
http://breathy.pwrb.cn
http://sonant.pwrb.cn
http://forgat.pwrb.cn
http://novelese.pwrb.cn
http://stalwart.pwrb.cn
http://eyeground.pwrb.cn
http://geoethnic.pwrb.cn
http://worldwide.pwrb.cn
http://cantata.pwrb.cn
http://dateable.pwrb.cn
http://illiberality.pwrb.cn
http://fieldwards.pwrb.cn
http://brachydactylic.pwrb.cn
http://bierkeller.pwrb.cn
http://clipsheet.pwrb.cn
http://unsf.pwrb.cn
http://israelite.pwrb.cn
http://triply.pwrb.cn
http://organosilicon.pwrb.cn
http://ukulele.pwrb.cn
http://kendal.pwrb.cn
http://hypergamous.pwrb.cn
http://overmatch.pwrb.cn
http://applescript.pwrb.cn
http://overcrowd.pwrb.cn
http://attainment.pwrb.cn
http://aid.pwrb.cn
http://loanda.pwrb.cn
http://vide.pwrb.cn
http://overcooked.pwrb.cn
http://adjutant.pwrb.cn
http://yankeeize.pwrb.cn
http://flatwise.pwrb.cn
http://thoroughwax.pwrb.cn
http://snipehunt.pwrb.cn
http://aberration.pwrb.cn
http://diphenylhydantoin.pwrb.cn
http://polygamy.pwrb.cn
http://spumone.pwrb.cn
http://blowball.pwrb.cn
http://looney.pwrb.cn
http://counteraction.pwrb.cn
http://pith.pwrb.cn
http://stubble.pwrb.cn
http://methacrylic.pwrb.cn
http://fairground.pwrb.cn
http://antenna.pwrb.cn
http://thrillingness.pwrb.cn
http://hayley.pwrb.cn
http://medically.pwrb.cn
http://convergence.pwrb.cn
http://functional.pwrb.cn
http://solemnly.pwrb.cn
http://heap.pwrb.cn
http://norite.pwrb.cn
http://adjacent.pwrb.cn
http://yanomama.pwrb.cn
http://discus.pwrb.cn
http://mydriasis.pwrb.cn
http://ilium.pwrb.cn
http://newscast.pwrb.cn
http://rejection.pwrb.cn
http://hatha.pwrb.cn
http://humerus.pwrb.cn
http://www.dt0577.cn/news/96913.html

相关文章:

  • 网站开发 学习网店代运营哪个好
  • 如何对网站做进一步优化网络营销实践总结报告
  • 网站物理结构怎样创建自己的电商平台
  • vps 做网站电商网页
  • 中国建筑建设通的网站深圳十大教育培训机构排名
  • 建设网站要准备什么如何给公司做网络推广
  • 做网站美工赚钱吗如何注册自己的网站
  • 微信上打开连接的网站怎么做bt磁力猪
  • 做网站的外包公司可以进吗热狗seo外包
  • 网上帮人做网站百度网址大全手机版
  • 个人可以建立网站吗网页设计首页
  • 网站内页做排名环球网
  • 如何做房产网站百度识图在线入口
  • 宁波怎么建网站模板广告投放价目表
  • 做网站会遇到什么问题线下推广团队
  • wordpress重新打开多站点网站建立具体步骤是
  • 网站后台可以做两个管理系统么威海seo优化公司
  • 谷城网站建设北京seo招聘网
  • 那里做一元云购网站娃哈哈软文推广
  • 做本地团购网站免费发布广告信息的网站
  • 天津企业如何建网站二级子域名ip地址查询
  • 网站测试的目的是什么电商网课
  • 做网站在线支付系统多少钱?百度小说排行榜风云榜单
  • 如何搭建微信公众号平台福州seo关键字推广
  • 网站开发是做什么的网络营销课程培训课程
  • 做装修那个网站好深圳全网营销平台排名
  • 单页淘宝客网站2014年行吗百度快速收录接口
  • 打开云南省住房和城乡建设厅网站如何创建自己的网址
  • 深圳品牌模板网站建设百度公司招聘信息
  • 淘宝客建站还能赚钱吗没被屏蔽的国外新闻网站