美文网首页
小程序开放能力总结

小程序开放能力总结

作者: js_hcl | 来源:发表于2019-02-21 21:07 被阅读0次

一、用户认证

传统网站:前端后台都保存【相当于古代的虎符】

  • 前端向服务器发送用户名和密码
  • 服务器验证后,保存在session内,给前端返回一个session_id
  • 后期,前端携带session_id发送到服务器,服务器通过session_id来认证用户

JWT(Json Web Token):完全保存在前端(带上签名,服务器知道有没有篡改)【相当于现代的签名】

  • 前端向服务器发送用户名和密码
  • 服务器验证后,给前端返回一个Token(带签名)
  • 后期,前端携带Token发送到服务器,服务器通过Token来认证用户

小程序:(多了个外层:小程序借助微信体系用户)

  • 前端向微信获得code(wx.login()获得,相当于验证码,有效期五分钟)
  • 服务器向微信接口,发送申请小程序时给的appid和appsecret及code(验证码),返回openid(相当于Token)和session_key
  • 后期,前端携带openid发送到服务器,服务器通过openid来认证用户

说明:

  • 因为借助微信体系,所有微信来认证,那服务器要获得Token,于是携带上该小程序证件及验证码向微信对应接口来获取open_id(相当于Token)(微信用户体系对于该小程序的身份证编码)UnionID(微信用户体系对于该开发公司的身份证编码)session_key
  • session_key:
  • 因为数据时微信给前端的,为了保证开发者服务器能获得不被篡改的数据
  • 微信会对敏感重要的开放数据以session_key进行加密
  • 服务器再通过session_key来解密。保证了服务器获得正确无误的数据(优先保证服务器获得正确的数据)
  • 前端需要这些数据,再由开发者服务器返回。

补充:
session或Token等替代用户名和密码来和服务器认证的,都有时效性,保证数据的安全。

二、转发

  • "分享监听”能力调整
  • 无法知晓是否分享状态(是否成功,是分享给个人还是群聊)
  • 只有用户主动点击小程序进来,才会携带一些相关信息,如群的标识

1.添加转发监听事件:

  onShareAppMessage(res) {
    // res:
    // @from <string> "button"/"menu" 判断是右上角转发菜单还是分享按钮触发的
    // @target obj 获得触发源对象
    // @webViewUrl

    // 通过res,可以return不同的,自定义转发内容
    return {
      title: '转发的标题',
      path: "/pages/index/index",
      imageUrl:undefined  //如果没有值,默认为页面截图
    };
  }

只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮,及分享按钮点击才生效。

2.转发的配置(目前为止只能配置,转发回来是否携带shareTicket)

1.这个函数用于转发的配置,及转发菜单的显示
wx.showShareMenu({    
  withShareTicket:false  
  success:function(){} 
})

2.这个函数用于隐藏转发菜单
wx.hideShareMenu({
   success:function(){} 
})

3.更新菜单配置
wx.updateShareMenu(Object object)

3.页面添加分享按钮

 <button open-type='share'>点击分享</button>

4.用户点击分享卡片进来后,获取转发信息

1.前提:配置  withShareTicket:true
2.在 App.onLaunch或 App.onShow获取到一个 `shareTicket`
3.调用wx.getShareInfo(Object object)  获取转发详细信息
wx.getShareInfo({
  shareTicket:在 App.onLaunch或 App.onShow获取到一个 `shareTicket`
  success:function(res){
      res.encryptedData 获得完整数据及加密数据
      iv:加密算法的初始向量
  }
})

4.获得的开放数据(加密),发送给后台服务器,解密好后发给前端

相关问题:

  • 点击转发卡片进来,如果是开发版则会加载开发版小程序(不管是不是最新的开发版版本,测试时最好用该手机先扫一下最新的),如果是线上版则会加载线上的小程序
  • 然后wx.reLaunch(重加载该页面)(首先,会执行app.js)所以,需要的数据,要确保在app.json中能获得,否则分享的时候要带上该参数

相关文章

  • 小程序开放能力总结

    一、用户认证 传统网站:前端后台都保存【相当于古代的虎符】前端向服务器发送用户名和密码服务器验证后,保存在sess...

  • 2018-09-21

    小程序开放阉割版“关注公众号能力”,一定程度上促进小程序回流沉淀到公众号 微信一直在给小程序赋能,不断的开放新能力...

  • 微信小程序可以实现个人申请

    为增强小程序能力,扩大小程序使用场景,现小程序新增以下能力: 1、个人开发者可申请小程序 小程序开放个人开发者申请...

  • 微信小程序之内嵌网页(webview)

    微信小程序提供了新的开放能力!它终于开放了在小程序中内嵌HTML页面的功能!从微信小程序基础库1.6.4开始,我们...

  • 百度正在加速小程序的开放趋势

    从推动开放角度而言,百度在加速小程序的开放能力,其成立的开源联盟则是BAT中目前唯一,也是最有能力将小程序进行全网...

  • 直播预告|如何开发一款视频直播或视频通话类小程序

    2017年12月26日,微信小程序正式对外开放了实时音视频录制及播放能力。 这一能力的开放,意味着小程序的世界不仅...

  • 小程序知识

    小程序官网 小程序介绍 小程序热门问题 什么是小程序 小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小...

  • 微信小程序开放云开发能力 步伐已无人能阻止

    微信小程序在近日开放了一个新的能力,即“小程序·云开发”,这个能力可以帮助开发者快速构建微信小程序的后端服务。 “...

  • 赣州软件开发

    小程序是一种新的开放能力,开发者可以快速地开发一个小程序[小程序定制开发:廖生 ①⑧OOO⑦⑦⑤③OO ]。小程序...

  • 赣州app软件开发

    小程序是一种新的开放能力[小程序定制开发:廖生 ①⑧OOO⑦⑦⑤③OO ],开发者可以快速地开发一个小程序。小程序...

网友评论

      本文标题:小程序开放能力总结

      本文链接:https://www.haomeiwen.com/subject/xyidyqtx.html