开发微信小程序的小技巧

1.1、小程序的开发步骤或流程是什么?

a、登录微信公众号官网,申请小程序账号

b、获取appId ,appScert

c、下载开发者工具

b、创建第一个小程序项目

1.2、小程序的实现原理是什么?

小程序主要使用的是前端技术栈:wxml     wxss     js   

和常规的前端有相似之处但又有所不同

wxml:    展示小程序的界面,使用的xml语法

js :  小程序的js是运行在微信App中的

wxss:  拥有大部分的css特性

在ios中,小程序的javascript运行在javascriptCore中

在Android中,小程序的javascript是通过X5内核来解析的

2、怎么封装微信小程序的数据请求的?

答:一、将所有的接口放在统一的js文件中并导出;

二、在app.js中创建封装请求数据的方法;

三、在子页面中调用封装的方法请求数据。

自己的blog参考链接:https://blog.csdn.net/qq_37672347/article/details/99679399

3、小程序中实现登录

a.使用wx.login获取code值

b.使用wx.request请求后台的api,把code值作为参数发送给后台

        后台会根据我们传过去的code值来获取openid和session_key

        微信官方建议:为了安全不要直接采用openid和session_key来作为用户身份的标识

        把微信账号登录态生成一个session id并维护在我们自己的session机制中,然后把这session id派发到小程序客户端作为session标识来使用。

c.把session_id保存到本地,使用wx.setStorage保存到本地,

d.在你需要使用的地方session_id的地方调用wx.getStorage(建议你也可以封装一个方法,就可以很方便的取出你要的数据)

f.在你调用那些需要后台登录才可以访问的接口的时候,就可以把session_id作为参数加到header或者query里面就可以了

*使用wx.checkSession来检测登录状态是否过期,如果过期了才调用登录接口,而不是每次进入小程序都调用登录接口,这样也可以优化页面加载速度

4、 bindtap和catchtap的区别是什么?

bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡

5、 简单描述下微信小程序的相关文件类型。

小程序:pages ——index:index.js(页面逻辑) /index.wxml (页面结构)/index.wxss (页面样式表) / index.json (页面配置)

App.js   小程序逻辑

App.json  小程序公共设置

App.wxss   小程序公共样式表

6、 小程序有哪些参数传值的方法?

答:一、给HTML元素添加data-*属性来传递我们需要的值,然后通过e.currentTarget.dataset或onload的param参数获取。但data-名称不能有大写字母和不可以存放对象;

二、设置id 的方法标识来传值通过e.currentTarget.id获取设置的id的值,然后通过设置全局对象的方式来传递数值;

三、在navigator中添加参数传值。

四、设置全局变量globalData,

五、缓存

 

1、设置id的方法标识跳转后传递的参数值;

2、通过使用data - xxxx 的方法来标识要传递的值

微信小程序设置id的方法标识来传值
在要跳转的item处,设置一个id并给当前的id赋值上对应的key值,比如一部电影的id(后面带着id去下一个页面查询,详细信息)如:

后我们在js的bindtap的响应事件中获取,并传递到下一个界面中;

获取到id传的值
通过e.currentTarget.id;获取设置的id值,并通过设置全局对象的方式来传递数值,

获取全局对象 var app=getApp(); //设置全局的请求访问传递的参数 app.requestDetailid=id;

提示:其实我们也可以在,wxml中查看到我们设置的每一个item的id值

通过使用data - xxxx 的方法标识来传值
通过使用data - xxxx 的方法标识来传值,xxxx可以自定义取名 比如data-key等等都可以。

如何获取data-xxxx传递的值?
在js的bindtap的响应事件中:

通过数据解析一层层找到数据,var id=e.target.dataset.id(根据你的data-id的取名)

微信小程序如何跨页面获取值?
依据上面的方式设置要传递的值,页面跳转后,我们就需要在下一个页面拿到传递的数据(这个数据在传递前,就已经被设置成全局变量)

在跳转后的js页面,接收传递过来的数据detail.js

同样通过全局额方式取值出来,(即和app.js中取某个变量的值是一样的)

var movieid=ge

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值