1、小程序分为两部分 :页面、组件

2、小程序中如何定义自定义组件?

  凡是通过Page创建的都是页面,而通过Components创建的都是组件

  当组件创建成功后,在需要使用的页面进行引入,(找到页面的json文件中的usingComponents配置项进行引入,key值是组件名称,value值是组件的路径)

  !!!注意:自定义组件的事件必须放在methods中去

3、小程序中自定义组件如何进行传递参数

  页面与组件进行传参?

    给组件绑定自定义属性

    在组件内部通过properties进行接收

  -----------------------------------------------------------

  组件与页面进行传参

    给组件绑定自定义事件  bind自定义事件名称

    在组件内部通过生命周期attached进行传递,在attached中通过调用this.triggerEvent进行事件的传参(第一个参数为自定义事件名称,第二个参数是需要传递的参数)

4、小程序中存储、读取、删除数据

onLoad(){
// wx.setStorage({//存储数据异步
// key:"wang",
// data:[{name:"wangwenchao",age:"20"}],
// success:function(){//在回调中可以验证是否存储成功
// console.log("存储成功")
// }
// }) // wx.setStorageSync("city",[{name:111,age:888}])//异步存储数据 // wx.getStorage({//异步获取数据
// key:"wang",
// success:function(data){
// console.log(data)//这里是你要获取的数据
// }
// }) // var data=wx.getStorageSync("wang")//同步获取数据
// console.log(data) // wx.removeStorage({//异步删除数据
// key:"wang",
// success:function(){
// console.log("删除成功")
// }
// }) // wx.removeStorageSync("city")//同步删除
// console.log("删除成功") }

详情见:https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorage.html

5、小程序中的路由跳转:

    微信Api跳转,

      wx.switchTab、wx.natigator

    组件跳转

    <navigator url="/pages/logs/logs">日志页面</navigator>  url是跳转路径,默认是,当前页面如果有tabBar那么不支持跳转

    如果需要跳转那么

    <navigator url="/pages/logs/logs" open-type="switchTab">日志页面</navigator>
6、如何获取用户个人信息?
  通过button  设置open-type属性,值为getuserInfo  通过bindgetuserInfo事件来获取用户的信息
  <button></button>button按钮获取  最主要的任务:获取用户信息

<!--pages/try/try.wxml-->
<button open-type="getUserInfo" bindgetuserinfo="bindgetuserinfo">点击</button>
<!-- 设置open-type="getUserInfo"获取用户信息 -->
<!-- bindgetuserinfo从这个回调中获取用户信息 -->
<!-- 详情可见:https://developers.weixin.qq.com/miniprogram/dev/component/button.html下 --> <view>用户昵称:{{username}}</view>
<view>用户头像:
<image src="{{userPic}}"></image>
</view>
Page({
data:{
username:"",
userPic:""
},
bindgetuserinfo(e){//获取信息的函数
console.log(e)
let data=e.detail.userInfo
this.setData({
username: data.nickName,
userPic: data.avatarUrl
})
}
})

7、用户授权的方式?

wx.authorize用户授权(出userInfo以外的授权)

wx.openSetting手动授权

wx.getSetting查看用户是否授权

App({
onLaunch(){
//进入小程序,主动发起授权,检测是否授权
wx.getSetting({
success:function(data){
if (!data.authSetting['scope.userLocation']){
//如果未授权,那么主动调用授权方法
wx.authorize({
scope: 'scope.userLocation',
success:function(e){
console.log(e)
}
})
}
// console.log(e)
}
})
// console.log("进入小程序")
}, })

8、小程序登录流程:

  wx.login获取code值--------通过wx.request将code值发送到服务端-------服务端通过微信登陆验证接口获取session_key和openid-------将session_key融入到token当中并将token发送到客户端-------客服端请求数据是携带token到服务端进行验证

如何将code融入到token地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html

token验证流程:将用户名密码发送到服务端,验证成功以后会派发一个token到客服端,客服端进行数据请求的时候需要携带token到服务端,此时服务端会对比这个token是不是当时派发的那个,如果验证成功返回对应的数据,否则token验证失败

  

 
  

  

微信小程序这一块(下)的更多相关文章

  1. 微信小程序开发之 下拉刷新,上拉加载更多

    本文记载了如何在微信小程序里面实现下拉刷新,上拉加载更多 先开看一下界面 大致如此的界面吧. 这个Demo使用了微信的几个Api和事件,我先列出来. 1.wx.request (获取远程服务器的数据, ...

  2. 微信小程序剖析【下】:运行机制

    在上一篇<微信小程序「官方示例代码」浅析[上]>中,我们只是简单的罗列了一下代码,这一篇,让我们来玩点刺激的——就是看看IDE的代码,了解它是怎么运行的. 还好微信的开发团队在软件工程的实 ...

  3. 【微信小程序】转载:微信小程序实战篇-下拉刷新与加载更多

    下拉刷新 实现下拉刷新目前能想到的有两种方式 1. 调用系统的API,系统有提供下拉刷新的API接口 当然,你可以直接在全局变量app.json的window里面配置上面这个属性,这样整个项目都允许下 ...

  4. 微信小程序在ios下Echarts图表不能滑动的解决方案

    问题现象 这个问题的现象说起来很简单. 小程序页面中有一篇很长的文章,内部有一个Echarts图表,手指上下滑动观看内容. 但是手指滑动区域在Echarts图表上时,页面却不能滑动了. 如下图: 追踪 ...

  5. 微信小程序自定义组件-下拉框

    这个是网址https://www.cnblogs.com/zjjDaily/p/9548433.html 微信小程序之自定义select下拉选项框组件 知识点:组件,animation,获取当前点击元 ...

  6. 微信小程序这一块(中)

    1.if语句跟for循环的使用 <block wx:if="{{n==1}}"> <view>1917</view> </block> ...

  7. 微信小程序实战篇-下拉刷新与加载更多

    下拉刷新 实现下拉刷新目前能想到的有两种方式 1. 调用系统的API,系统有提供下拉刷新的API接口 2. 监听scroll-view,自定义下拉刷新,还记得scroll-view里面有一个binds ...

  8. 微信小程序的界面下拉刷新

    小程序的下拉刷新的值设置:需要设置app.json的window中 "navigationBarTextStyle":true  

  9. 微信小程序-ios系统-下拉上拉出现白色,如何处理呢?

    这几天做小程序,有些页面都是全屏的背景,在安卓上背景是固定的,而在ios上上拉下拉出现白色,测试说体验不太好,一开始我以为是下拉上拉刷新造成的,关闭了依然是这样.为了体验好点,可以按一下解决: 方式一 ...

随机推荐

  1. Untiy3D的游戏物体的实例和刚体的使用

    一,如下代码, GameObject b = GameObject.Instantiate(bullet, transform.position, transform.rotation) as Gam ...

  2. vue v-model 的使用

    Vue的核心特性之一是双向绑定,vue的响应式原理是实现了数据->视图 v-bind只能实现数据的单向绑定 ,从M自动绑定到V 使用v-model 可以实现表单元素的双向绑定,且只能应用到表单元 ...

  3. VMWare15 安装 Mac OS 系统

    文章目录VMWare15 安装 Mac OS 系统安装环境工具准备准备工作MAC虚拟机设置启动MAC前准备工作安装系统安装VMware Tool注意事项参考链接安装环境WIN10VMware Work ...

  4. Spark MLlib机器学习(一)——决策树

    决策树模型,适用于分类.回归. 简单地理解决策树呢,就是通过不断地设置新的条件标准对当前的数据进行划分,最后以实现把原始的杂乱的所有数据分类. 就像下面这个图,如果输入是一大堆追求一个妹子的汉子,妹子 ...

  5. Python实战之网上银行及购物商城

    前言:这是初学时写的小项目,觉得有意思就写来玩玩,也当是巩固刚学习的知识.现在看来很不成熟,但还是记录一下做个纪念好了~ 1.名称:网上网上银行及购物商城 2.项目结构: 当时刚接触python啦,哪 ...

  6. 2018ICPC银川 L Continuous Intervals 单调栈 线段树

    题意:给你一个序列,问你这个序列有多少个子区间,满足把区间里的数排序之后相邻两个数之间的差 <= 1 ? 思路:https://blog.csdn.net/u013534123/article/ ...

  7. CSS3 ::before和::after伪元素的实际应用

    实例 1.清除浮动 通常我们清除清除浮动的方式就是在浮动元素后面添加一个空的Div标签,然后在设置它的清除浮动要是,使用after伪元素,我们就不需要添加无意义的div标签在html中了,下面的例子就 ...

  8. flask之路径与函数的映射

    一:运行报错 OSError: [Errno 98] Address already in use:5000端口可能被占 lsof -i:端口号  查看端口被那个进程使用,结果是python3.5 k ...

  9. windows 10 删除资源管理器导航栏 Creative Cloud Files

    安装完Adobe的Photoshop.After Effects等软件后,资源管理器导航栏会出现让人讨厌的Creative Cloud Files目录,稍微修改注册表即可删除. 快捷键Windows ...

  10. nginx之安装

    1.简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄 ...