微信小程序逻辑判断和整理

作者:小飞燕 发布时间:2021-04-16 10:43:45

导语本文整理了全网深受用户关注的个微信小程序逻辑判断和整理经验知识,可以帮助您全面了解代理怎么做,小白也能成为高手,跟随小编一起来看一看吧!

微信小程序逻辑判断的开发需要精准的教程和对应的小程序代码。接下来,小编将详细讲解如何操作微信小程序的逻辑判断和整理。我们来看看。

微信的两个小程序api得到的信息是:login和getuserinfo

注册小程序/登录

小程序:

通过上面两个api wx . log in和wx.getuserinfo获取相应的信息,通过上层接口发送到你的服务器。

要传输的信息有七个参数:

appid小程序的唯*标识

秘密小程序的应用程序秘密

js_code //wx .登录时获取的登录代码,用于以后获取session_key

//以下两个参数由用户服务器签名以验证用户信息

签名使用sha1(rawdata sessionkey)获取一个字符串来验证用户信息。

rawdata不包含敏感信息的原始数据字符串,用于计算签名。

//以下两个参数用于解密openid和unionid

加密数据包括敏感数据在内的完整用户信息的加密数据

iv加密算法的初始向量

当然可以归结为以下三个参数。

签名验证的其他参数可以省略,而appid和secret可以直接写入服务器。

js_code //wx .登录时获取的登录代码,用于后续的session_key获取

加密数据包括敏感数据在内的完整用户信息的加密数据

iv加密算法的初始向量

服务器处理逻辑

相关信息传输到服务器后,服务器

1.先去微信服务器根据js_code获取session_key

2.(这个步骤可以省略)使用sha1(rawdata sessionkey)获取字符串,判断是否与签名值相同。如果相同,则用户信息正确,然后继续下一步。如果不同,说明用户信息已经被篡改或过期。

3.然后根据解密算法进行解密(输入参数有appid、sessionkey、加密数据、iv、返回一个jsonobj),得到openid、unionid等信息,执行服务器端注册/登录操作。

4.注册/登录操作逻辑完成后,我们的服务器的sessionid(或其他令牌)和用户信息被返回给客户端。

其中,服务器获取session_key的请求是:

(小写是固定的,大写将被替换)

https://api.weixin.qq.com/sns/jscode2session?appid=appid secret=secretjs _ code=jscodegrant _ type=authorization _ code

回到:

//json包正常返回

{

openid': 'openid ',session_key': 'sessionkey '

过期时间_in': 2592000

}

//出现错误时返回json包(例如代码无效)

{

errcode': 40029,errmsg': '无效代码'

}

相关解密算法:

https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html

注意:的样例代码中有node、c、php、python,没有java。

需要服务器返回的信息:

session id/令牌登录状态id

userinfo: jsonobject,我们平台上用户的信息,和getpersonalinfo接口返回的信息是一样的。

比较后,登录操作被封装为一个方法,必要时可以调用该方法

//方法比较后被外界调用

函数登录{

console . log(' loging ..');

//调用登录界面

wx.login({

success:函数(e) {

console . log(' wxlogin successed . ');

var code=e.code

wx.getuserinfo({

成功:功能(res) {

console . log(' wxgetuserinfo successed . ');

var encrypted data=encodeuricomponent(res . encrypted data);

thirdlogin(code,encrypteddata,res . iv);//调用服务器api

}

})

}

});

}

函数thirdlogin(code,encrypteddata,iv){

var url=' eeee/xxx/log in/tttt ';

var params=新对象;

params.code=code

params . encrypted data=encrypted data;

params.iv=iv

buildrequest(new object,url,params,{

onpre:函数(页面){},onsuccess:function (data){

console.log('我的登录成功.');

console.log(数据);

getapp . global data . session _ id=data . session _ id;

getapp . global data . uid=data . uid;

getapp . global data . islogin=true;

},

onerror :函数(msgcanshow,code,hiddenmsg){

}

}).发送;

}

你学会了如何操作微信小程序逻辑判断吗?更多教程和小程序代码可以在源社网小程序频道搜索获取,希望对大家有帮助。

下面是题目的开头。微信小程序按钮事件是什么?标题到此结束

微信小程序按钮事件有很多种,但到目前为止还是有很多人自己不了解小程序按钮事件。接下来,小编将详细介绍什么是微信小程序按钮事件以及如何处理它们。

" " "什么是事件

事件是视图层到逻辑层的通信方式。

事件可以将用户的行为反馈到逻辑层进行处理。

事件可以绑定到组件,当到达触发事件时,就会执行逻辑层对应的事件处理功能。

事件对象可以携带附加信息,如id、数据集、触摸。

如何使用事件

在组件中绑定事件处理程序。

例如,当用户组件时,相应的事件处理函数将在页面对应的页面中找到。

我!

在对应的页面定义中写对应的事件处理函数,参数是event。

5页({

tapname:函数(事件){

console.log(事件)

}

})

您可以看到日志信息大致如下:

键入' : 'tap ',时间戳' : 1252,target': {

id': 'taptest ',offsetleft': 0,offsettop': 0,数据集' : {

嗨,米纳

}

},

currenttarget': {

id': 'taptest ',offsetleft': 0,offsettop': 0,数据集' : {

嗨,米纳

}

},

触动' : [{

pagex': 30,pagey': 12,clientx': 30,clienty ' : 12,screenx': 112,screeny': 151

}],

详细信息' : {

x': 30,y': 12

}

}

事件详细说明

事件分类

事件分为冒泡事件和非冒泡事件:

冒泡事件:当组件上的事件被触发时,该事件将被传递到父节点。

非冒泡事件:当组件上的事件被触发时,该事件不会被传输到父节点。

事件分类

触摸开始手指触摸

触摸移动手指触摸并移动

触摸取消的手指触摸动作被中断,例如弹出窗口和呼叫提醒

手指触摸动作结束

手指轻触离开

龙塔用手指触摸后,350多秒后离开

事件绑定

事件绑定的编写方式与组件的属性相同,采用键和值的形式。

键以bind或catch开头,然后跟随事件类型,如bindtap、catchtouchstart

值是一个字符串,需要在相应的页面中定义一个同名的函数。否则,当事件被触发时,将会报告一个错误。绑定事件绑定不阻止冒泡事件向上冒泡,而catch事件绑定可以阻止冒泡事件向上冒泡。

以上简单介绍了小程序事件的基础,是时候展示一下‘事件’的威力了:

()

双击(dbtap)

longtap)

slidings

多点触控

1.

事件由touchstart和touchend组成,事件在touchend后触发。

mytouchstart:函数(e){ console . log(e . timestamp '-touch start ')

},my touchend : function(e){ console . log(e . timestamp '-touch end ')

},mytap:函数(e){ console . log(e . timestamp '-tap ')

}

2.双击

双击事件由两个事件组成,两者之间的间隔小于300ms,视为双击。微信文档中没有双击事件,需要开发者自己定义和处理。

3.长新闻

离开前按住活动350ms以上。

mytouchstart:函数(e){ console.log(e.timestamp '-

触摸开始')

},//长按事件mylongtap : function(e){ console . log(e . timestamp '-长按')

},my touchend : function(e){ console . log(e . timestamp '-touch end ')

},mytap:函数(e){ console . log(e . timestamp '-tap ')

}

、双击和长按是触摸事件,将触发触摸开始、触摸结束和事件。touchcancel事件只能在真实机器上模拟,我就不赘述了。

事件触发序列

单击触摸开始触摸结束

双击触摸开始触摸触摸开始触摸

长按触摸开始长触摸结束

4.幻灯片

手指触摸屏幕并移动。为简单起见,以水平滑动和垂直滑动为例。滑动事件包括触摸开始、触摸移动和触摸结束

查看全文

猜你喜欢

微商怎么找货源

频道查询入口

微商代理怎么做