小程序如何获取链接

小程序如何获取链接,第1张

具体步骤如下:

1、首先,打开需要获取链接的小程序调用接口获取登录凭证,进而换取用户登录态信息,包括用户的唯一标识 及本次登录的会话密钥。

2、然后,获取openid,拿到上一步获取的code,结合小程序 appid 和 secret 请求接口一同被返回的,还包括 session_key,其中 session_key 是对用户数据进行加密签名的密钥。为了自身应用安全,session_key 不应该在网络上传输。

3、然后,直接使用wxgetUserInfo是不能获取更多的信息的,如微信用户的openid。

4、然后,需要发送获取到的code进行请求到微信的后端API,进行用户解密之类的 *** 作才可以获取,根据文档,只需要进行一个get请求到如下地址。

5、然后,需要发送获取到的code进行请求到微信的后端API,才能正确获取更多信息,这也许是为了安全起见。

6、完成上述步骤后,即可获取小程序链接。

onLaunch: function(){

var that = this

var user=wxgetStorageSync('user') || {};

var userInfo=wxgetStorageSync('userInfo') || {}; //查看缓存是否有值

if((!useropenid || (userexpires_in || Datenow()) < (Datenow() + 600))&&(!userInfonickName)){

wxlogin({

success: function(res) {

if (rescode) {

//发起网络请求获取openid

// consolelog(rescode)

wxrequest({

url: '>

微信小程序手机号解密步骤

一、通过getPhoneNumber用户授权获取获取加密后的手机号信息

<template>

<view class="content">

<button class="login-btn btn2" open-type="getPhoneNumber"

@getphonenumber="getPhoneNumber">手机号快捷登录</button>

</view>

</template>

引用WXBizDataCryptjs

var WXBizDataCrypt = require('@/pages/index/WXBizDataCryptjs')

二、解密前先调用wxlogin,获取code发送后台返回sessionkey

getPhoneNumber(e) {

consolelog('e',e)

var pc = new WXBizDataCrypt('appid',thissessionKey)

var data = pcdecryptData(edetailencryptedData,edetailiv)

consolelog('解密后 data:',pc)

},

//WXBizDataCryptjs

在小程序中,不允许直接d出用户授权的选择框,所以需要开发人员在界面上来设置提示信息,诱导用户点击,然后完成用户数据的录入和存取。在开发的过程中,某些请求是依托用户登录之后获取到的openId才能继续执行的,所以在页面上,某些数据渲染之前需要判断用户是否登陆,如若没有登录,怎样设计更好的交互来让用户登录。

使用小程序时,首先会进入到appjs这个文件中,这个文件里包含了俩个方法,一个是wxlogin(),另一个是wxgetSetting(),wxlogin()的目的是为了在用户登陆之后获取到一个对应的 code 值,然后通过这个值去自己的后台换取一个openId;wxgetSetting()第一是为了判断用户的授权范围,另一个是获取对应权限内的信息,比如说,用户授权小程序可以使用自己的基本信息,就可以在这个方法中获取到用户的头像、微信名、微信设置的城市这些字段,这就是一些需要掌握的基本流程,具体怎么实现登录呢?

在小程序中,官方给出了一种解决方案-button按钮:

在这个按钮中,有几个属性:

●  type :按钮的类型,可以设置为primary,背景色为绿色

●  wx:if :显示条件,内容分别为hasUserInfo和canIUse俩个字段,同时为真即可显示(俩个字段均需要在data中初始化赋值)

●  open-type :按钮的功能类型,getUserInfo是为了获取基本信息(也可以设置为其他→getPhoneNumber:获取用户手机号)

●  bindgetuserinfo :绑定的点击事件。在js中写对应的逻辑

在用户点击按钮之后,会出现一个d窗,确定用户是否授权 :

当用户点击允许之后,进入我们绑定的getUserInfo函数中:

在执行逻辑中,首先通过wxlogin()方法获取到用户对应的openId,方便后续的 *** 作,然后再通过wxgetUserInfo()来获取到用户的基本信息,发送请求,将基本信息入库存储,或者展示到页面上,就完成了登录流程。

1在登陆中可能会涉及到多个页面登陆成功之后的状态同步,可以通过 appgloableData 来实现,在全局对象中设置一个字段,然后不论在哪个页面实现了登录,都可以通过全局对象来完成更新。

2在 获取用户信息 的时候,有时候需要获取的是 中文类型 的数据,可以在 wxgetSetting() 的请求体中加一个 lang:'zh_CN'。 这样获取到的数据就是中文格式的了

1 获取openid

11 获取code

首先我们要调用接口来获取登录凭证,也就是code,从而获取用户们登录的状态信息,其中有一个唯一标示,就是openid,还有我们登录要用到的钥匙(session_key)。用户的基本数据我们都要用到钥匙来获取数据。

wxlogin({

//获取code

success: function(res) {

code = rescode //返回code

}

})

12 获取openid

拿到上一步获取的code,结合小程序 appid 和 secret 请求接口apiweixinqqcom/sns/jscode2sessionappid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code 换取openid,与 openid 一同被返回的,还包括 session_key,其中 session_key 是对用户数据进行加密签名的密钥。为了自身应用安全,session_key 不应该在网络上传输。

wxrequest({

url: 'apiweixinqqcom/sns/jscode2sessionappid=APPID&secret=SECRET&js_code='+ code +'&grant_type=authorization_code',

data: {},

header: {

'content-type': 'application/json'

},

success: function(res) {

openid = resdataopenid //返回openid

}

})

2 获取用户信息

21 在appjs中创建该全局方法

//appjs

getUserInfo:function(cb){

var that = this

if(thisglobalDatapersonInfo){

typeof cb == "function" && cb(thisglobalDatapersonInfo)

}else{

//调用登录接口

wxlogin({

success: function () {

wxgetUserInfo({

success: function (res) {

thatglobalDatapersonInfo = resuserInfo

typeof cb == "function" && cb(thatglobalDatapersonInfo)

}

})

}

})

}

}

22 实例化全局方法获取用户信息

var that = this;

//调用应用实例的方法获取全局数据

appgetUserInfo(function (personInfo) {

//更新数据

thatsetData({

personInfo: personInfo

})

})

以上就是关于小程序如何获取链接全部的内容,包括:小程序如何获取链接、如何获取微信小程序用户openid、微信小程序手机号解密等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9700921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存