微信小程序——扫普通链接二维码打开小程序——问题探究

最开始做这个功能 完全根据后端来的(后端做过)我就没看这个的技术文档了以至于这个功能拖了大约两三天一直存在问题。
关于这个功能始终不行;我推测肯定是 微信扫码后做的操作我这边是获取的不正确的、然经其他同事提醒最终“悟了”晓得怎们操作
话不多说CodeReview。

下饭操作(错误逻辑)

// uniapp技术栈
// 最开始直接获取的from_id一直不存在
// uni.getCurrentPages()...
let pagesArr = uni.getCurrentPages()
let crtPage = pagesArr[pagesArr.length - 1]
wxlogin({
	code,
	from_id: crtPage .options.from_id // 微信方面并没有直接通过扫码返回from_id. Error.
}).then(res => {})

正确逻辑

// 根据二维码跳转到微信小程序进行登录onLoad(options)进行取值
// pages/login/login
onLoad(options) {
	// ?. 可选链操作符
	// if(options && options.q) {
	if(!!options?.q) {
		let from_id = null
		const { q } = options
		// q 是一个encodeURIComponent转换的链接,需要解码
		let link = decodeURIComponent(q)
		// example: "https://xx.xx.com/from_id/xxxxxx"
		let regexp = /^http[s]:\/\/\w*.\w*.\w*\/from_id\/(\w*)$/
		let result = link.match(regexp) || []
		if(result.length > 1)
			from_id = result[1]
		// Other code...
	}
	// Other code...
}

小结&参考

自我反省;做任何新功能前还是要先看官方文档的好

扫普通链接二维码打开小程序

ps: 有问题请留言

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值