微信小程序记录(持续更新)

1.登录相关

登录简单来说就是用uni.login获取登陆凭证code。然后调用后台登录接口传递给后台,后台解码再返回token等一系列信息给前端

参考地址:

微信小程序获取用户手机号码教程(前端+后端)_微信小程序获取手机号-CSDN博客

代码

复制代码
login() {
				let _this = this;
				// 获取登录用户code

				uni.login({
					provider: 'weixin',
					success: function(res) {
						console.log(res,'res')
						if (res.code) {
							let code = res.code;
							//微信授权的人员信息
							uni.setStorageSync("wxUserInfo", _this.userInfo);

							uni.request({
								url: $newApi.AuthLoginByWeixin,
								method: 'GET',
								data: {
									code: code,
									// userInfo: _this.userInfo,
									tenant:_this.tenant
								},
								header: {
									'content-type': 'application/json', //自定义请求头信息
									'tenant':_this.tenant,							
								},
								success: function(res) {
									console.log("授权登录", res);
									uni.setStorageSync("userInfo", res.data.userInfo);
									_this.openid = res.data.userInfo.openid;
									if (res.data.token && res.data.token != '') {
										uni.setStorageSync("token", res.data.token);
									}
									if (_this.pageName == '/pages/home/studentHome') {
										uni.switchTab({
											url: _this.pageName
										})
									} else {
										//存在sessionId则直接去扫码的页面,没有的话就去获取手机号码
										if (res.data.userInfo.sessionId && res.data.userInfo
											.sessionId.length > 0) {
											console.log("if", _this.pageName)
											uni.navigateTo({
												url: _this.pageName,
												success(res) {
													console.log(res)
												},
												fail(err) {
													console.log(err);
													uni.switchTab({
														url: _this.pageName
													})
												}
											})
										} else {
											console.log("else")
											// _this.updateUserInfo()
										}

									}
								},
								fail: (error) => {
									console.log("授权登录失败", error)
								},
								complete: (res) => {}
							});

						} else {
							uni.showToast({
								title: '登录失败!',
								duration: 2000
							});
						}
					},
				});
			},
相关推荐
fengGer的bugs5 小时前
新生儿喂养记录微信小程序:本地存储、四套主题,以及一份可改期的疫苗体检日程
微信小程序
高级程序源7 小时前
SSM仓储管理系统31582-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·flask·课程设计
青企通7 小时前
弱网环境下小程序首屏性能优化:从 5.2 秒到 1.4 秒的完整实践
性能优化·小程序
5G微创业9 小时前
去除抖音视频水印的Python实现
python·微信小程序·去水印
WeiXin_DZbishe9 小时前
基于微信小程序的本地闲置物品交易平台-计算机毕设 附源码【课程设计】26825
vue.js·spring boot·python·微信小程序·架构·php·课程设计
高级程序源9 小时前
springboot本地生活服务平台33399-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·小程序·flask·课程设计
高级程序源10 小时前
django房屋租赁系统28636-计算机课程设计、毕业设计
python·mysql·elasticsearch·小程序·django·flask·课程设计
CRMEB定制开发10 小时前
开源模型正在吃掉闭源的市场,这意味着什么?
小程序·公众号商城·商城源码·crmeb·开源商城
小蒜学长11 小时前
基于微信小程序的医院医疗废弃物追溯管理系统(代码+数据库+LW)
java·spring boot·后端·微信小程序·医疗废弃物
霍营_托尼11 小时前
微信小程序点餐项目实战:飞入动画、样式错位、弹窗不消失,7 个前端坑的完整排障记录
javascript·微信小程序·动效