一、背景

记得11、12年的时候大家一窝蜂的开始做客户端Android、IOS开发,我是直14年才开始做Andoird开发,干了两年多,然后18年左右微信小程序火了,我也做了两个小程序,一个是将原有牛奶公众号的功能迁移到小程序,用户体验得到极大的提升,另外一个是给老板娘做的一个简单的卖蜂蜜的小程序,当时投入3个人,两周左右搞定(老板娘瞒着老板 )。

微信小程序开发其实还是比较简单的,小程序端代码和Vue整体架构差不多,比较复杂的就是登录和支付这两块,因为这两块涉及到三方交互(小程序端、开发者服务器、微信服务端),今天讲一下登录这块是怎么一个交互的(这个18年时候做的事情,现在微信有些接口可能有所调整,但变化不会太大)。

二、一些名词概念

1、openid:普通用户标记,对当前开发者账号是唯一的,一个openid对应一个具体的应用,不同的公众号不同的小程序会给同一个微信用户分配不同的openid。
2、unionid:微信用户统一标记,一个开放平台账号下同一个微信用户unionid是唯一的,需要在微信开放平台绑定公众号/小程序。
案例说明:牛奶应用开始是开发公众号-服务号,这个时候用户注册到我们表里会有一个openid_1,然后小程序火起来了,我们决定开发小程序,但小程序会重新给同一个用户分配一个openid_2,这就不好了,你不能让一个用户在公众号上可以看到他自己的订单,然后跑到小程序后找不到订单是吧,咋整呢,微信还有一个开放平台,你再申请一个邮箱去注册一下开放平台,然后把公众号和小程序都在里边绑定一下,这样他就会给你分配一个统一的unionid。
3、session_key:用于用户解密微信用户数据,接口返回敏感数据是密文的,如unionId,手机号等,需要用session_key做为密钥去解密。

三、微信提供和登录相关几个主要接口

小程序端调用

1、wx.login():获取临时登录凭证CODE,有效时间为5分钟,使用后就立即失效。

2、wx.authorize():发起用户授权请求,如要获取用户信息,地理位置,保存相册、摄像头等需要调用该接口得到用户的授权。

3、wx.getUserInfo():得到加密码的用户数据,返回encryptedData数据,加密向量值IV,将数据传给服务端,服务端完成解密用户信息注册等,调用该接口前必须先调用上面两个方法。

开发者服务器调用

1、jscode2session:通过CODE获取openid、unionid、session_key。

四、调用交互图

快速开发微信小程序之一相关推荐

  1. uni-app快速开发微信小程序、h5、和app

    过年在家无聊,尝试使用uni-app开发微信小程序,发现这个框架的跨端功能非常强大,几乎能直接从vue移植过来 下面是项目架构图 应用截图 技术栈: 后端 node +mysql 抓取各大视频网站的数 ...

  2. Taro3.x 快速开发微信小程序以及 minidebug 小程序调试工具使用

    前言 最近公司准备开发一款扫码开票类型的微信小程序,时间紧,任务急.第一反应就是打开小程序开放平台查看开发文档,哦豁,官方的组件也太少了吧,难道要自己手写吗 ? 经过多方调研,了解目前市面上比较流行的 ...

  3. 快速开发微信小程序之二-微信支付

    一.背景 在面试程序员的时候,有两项经历会带来比较大的加分,第一你是否做过支付金融相关的业务,第二你是否写过底层框架中间件代码,今天我们聊一下微信支付是如何对接的. 二.相关概念 1.微信商户平台 要 ...

  4. 如何快速上手开发微信小程序?

    开发微信小程序其实很简单,对于初学者建议要首先了解一些前端开发的相关的知识(vue),比较熟悉html.css.JavaScript,还有就是要熟悉数据库的操作,基本的增删改查要会. 开发微信小程序快 ...

  5. 如何快速开始微信小程序开发?

    如何快速开始微信小程序开发? 小游戏是微信小程序中的一种分类,如果要做一款微信小游戏,就是在微信小程序中开发. 一个微信小程序是如何开发的呢?很多人尤其程序员会对这个问题感兴趣,本文将介绍如何快速注册 ...

  6. 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)

    大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...

  7. 开发微信小程序入门前

    开发微信小程序入门前 百牛信息技术bainiu.ltd整理发布于博客园 2016年09月21日晚 微信发不了微信"小程序"的内测版,一时间整个互联网都炸了锅.个大新闻.论坛都在讨论 ...

  8. python开发微信小程序-微信小程序开发:python+sanic 实现小程序登录注册

    开发微信小程序时,接入小程序的授权登录可以快速实现用户注册登录的步骤,是快速建立用户体系的重要一步.这篇文章将介绍 python + sanic + 微信小程序实现用户快速注册登录全栈方案. 微信小程 ...

  9. python开发微信小程序-Python 开发者的微信小程序开发实践

    导读 在知乎上,有人提问"如何使用 Python 开发微信小程序". 其实微信小程序作为一个前端的机制,Python 并不能插上边.只不过可以作为后端接口为微信小程序提供数据服务而 ...

最新文章

  1. 机器学习实战 | 意大利Covid-19病毒感染数学模型及预测(附代码)
  2. Android 四大组件之——Acitivity(一)
  3. c++重载运算符_Python 运算符重载
  4. go语言基础到提高(1)-hello,world
  5. [Python图像处理] 三十三.图像各种特效处理及原理万字详解(毛玻璃、浮雕、素描、怀旧、流年、滤镜等)
  6. 福利!Android官方网站出现中文版本!
  7. Golang连接池的几种实现案例
  8. SELinux系列(二)——SELinux有什么作用
  9. Ubuntu18.04安装openjdk-7-jdk
  10. 阿里“拆台”,中台真的不香了?
  11. mysql dba系统学习(18)mysql主从复制的实现
  12. 资金盘FairWin漏洞系统详解:项目方可以撇开“作恶”嫌疑了?
  13. 土壤HWSD处理流程
  14. php考勤管理系统论文,基于PHP的高职院校学生考勤管理系统的研究
  15. win10图片浏览改回原来win7的模式
  16. Kettle 常用的转换组件都在这里
  17. 售后服务场景智能调度解决方案
  18. 趣味数学--贷款计算
  19. 16位诺奖天才们关注区块链:7位投身具体项目 14位来自诺贝尔经济学奖
  20. 搜狐邮箱怎样开启imap服务器,搜狐企业邮箱iPhone如何设置?

热门文章

  1. IP画像中的重要维度——IP周边
  2. OpenCvSharp 学习笔记6 --图像亮度和对比度调整
  3. BSGS exBSGS学习笔记
  4. matlab bgl程序,matlab_bgl-4.0.1 功能十分强大的图论工具箱,切实可靠,能用, 不错。 238万源代码下载- www.pudn.com...
  5. cisco产品名称总结
  6. MT6575芯片原理图MT6575 datasheet资料
  7. cAdvisor的安装与使用
  8. 【探索】“m3u8” 视频下载
  9. 【C++】错误 C4996 ‘localtime‘:This function or variable may be unsafe.
  10. 华为校园实习生招聘总结与感悟