小程序的登录+发布流程

今天我们来将一下小程序的登录和发布流程!!!

小程序的登录流程

流程图

首先登录流程还是看官网说的:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html

这是官网发布的一个流程图

认识code,OpenID,UnionID


①code
临时登录凭证 code:用户使用微信登录小程序时,小程序后台会生成一个临时登录凭证 code。

注意:每个code只能使用一次,具有一定的有效期,一般为5分钟左右。需要将该凭证发送到微信服务器进行验证和换取用户唯一标识。

②OpenID
用户唯一标识 OpenID:用户唯一标识 OpenID 是在用户授权登录后,通过临时登录凭证 code 换取的。

注意:每个微信用户在同一个小程序中的 OpenID 是唯一的,不同的小程序之间的 OpenID 是不同的。可以根据用户的 OpenID 进行用户数据的存储和管理。

③UnionID
唯一标识 UnionID:UnionID 是一个在同一个开放平台账号下的多个关联公众号、小程序和移动应用中,对一个用户的唯一标识。

注意:如果一个用户在多个公众号、小程序和移动应用中都授权登录过,并且在开放平台账号中将这些应用绑定到同一个开放平台账号下,那么这些应用就可以通过 UnionID 来进行用户数据的互通与关联。
 


 

注意:每个code只能使用一次,具有一定的有效期,一般为5分钟左右。需要将该凭证发送到微信服务器进行验证和换取用户唯一标识。

②OpenID
用户唯一标识 OpenID:用户唯一标识 OpenID 是在用户授权登录后,通过临时登录凭证 code 换取的。

注意:每个微信用户在同一个小程序中的 OpenID 是唯一的,不同的小程序之间的 OpenID 是不同的。可以根据用户的 OpenID 进行用户数据的存储和管理。

③UnionID
唯一标识 UnionID:UnionID 是一个在同一个开放平台账号下的多个关联公众号、小程序和移动应用中,对一个用户的唯一标识。

注意:如果一个用户在多个公众号、小程序和移动应用中都授权登录过,并且在开放平台账号中将这些应用绑定到同一个开放平台账号下,那么这些应用就可以通过 UnionID 来进行用户数据的互通与关联。

说明
  1. 调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。
  2. 调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 、 用户在微信开放平台账号下的唯一标识UnionID(若当前小程序已绑定到微信开放平台账号) 和 会话密钥 session_key

之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。

注意事项
  1. 会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥
  2. 临时登录凭证 code 只能使用一次
具体代码实现

getUserData(event){
    wx.getUserProfile({
      desc: '完善用户信息',
    }).then(res=>{
      console.log("用户信息",res.userInfo);
      let {nickName,avatarUrl} = res.userInfo;
      wx.setStorageSync('userinfo', res.userInfo);
      this.setData({
        nickName:nickName,
        img:avatarUrl
      })

      wx.login({
        success: (res) => {
          console.log("用户登录操作执行",res);
        },
      })

    })
  },
      
/**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    let res = wx.getStorageSync('userinfo');
    console.log(res,123123)
    let {nickName,avatarUrl} = res;
      this.setData({
        nickName:nickName,
        img:avatarUrl
      })
  },

小程序的发布流程

假设我们目前已经使用微信开发者工具,按照小程序的开发规范完成了小程序的全部的全部开发工作,并且完成了本地测试,

这时候我们需要开发对小程序进行发布,小程序上线的流程如下:

        

小程序的发布流程主要包括以下几个步骤:12

  1. 准备和开发

    • 注册微信公众平台账号并进行实名认证。
    • 申请小程序账号,填写小程序名称、图标、类目等信息。
    • 使用微信开发者工具进行开发,或选择使用SAAS模板工具进行制作。
    • 在开发工具中编写小程序的界面和逻辑,使用HTML、CSS和JavaScript等技术。
    • 进行小程序的预览和测试,确保各项功能和用户体验符合预期。
  2. 提交审核

    • 在微信公众平台的小程序管理后台,选择“版本管理”进行提交审核。
    • 填写相关信息,上传小程序的相关截图和说明文档。
    • 遵守微信的相关规定和政策,确保小程序内容合法合规。
    • 等待微信小程序团队的审核,审核时间一般在1-7个工作日内。
  3. 发布上线

    • 审核通过后,在小程序管理后台选择“版本管理”,点击“发布”按钮。
    • 将小程序正式发布到微信平台上,用户即可通过微信扫一扫或搜索名称进入小程序。
  4. 非首次发布

    • 对于非首次发布,已有流量在服务上,为保证现网服务的稳定性、降低发布风险及减少影响范围,建议新版本先做定向测试无问题后,再按一定的流量比例进行灰度上线。

此外,在首次发布时,还需要进行环境变量配置,后续可以直接在「服务设置-基本信息」中修改。部署过程的日志会直接显示到控制台中,如果部署出现问题,可以复制右下角的信息进行反馈。

开发版本:点击开发者工具上传后的版本,开发版本只保留每人最新的一份上传的代码,是供开发者和团队测试和调试的版本

体验版本:小程序开发者可以将开发版本转换为体验版本,由测试人员以及产品经理进行测试与体验,确认没问题可提交审核

审核版本:小程序开发者可以将开发版本转换为审核版本,由微信的审核团队进行审核,审核周期为1~7天,审核通过可提交发布

线上版本:通过微信小程序平台审核,并由开发者提交发布的正式版本,线上版本是用户可以正常使用的小程序版本

小程序开发成员在开发者工具中点击 上传 按钮,在弹出的界面中选择更新类型、版本号、项目备注,就能够将小程序代码上传至微信公众号后台审核。

在登录到微信公众后台以后,点击左侧的 管理版本管理,就能查看小程序的四个个版本

以上资料均来自于网络和自己总结,希望对大家有所帮助!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/29632.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2 图片的分割处理和亚像素精度处理(c++和python)

本文的图片处理分为图片分割、图像的亚像素坐标处理。亚像素处理的原理可以看论文一种基于多项式插值改进的亚像素细分算法,该论文的详解及c的代码实现可以看博文基于多项式插值的亚像素边缘定位算法_基于多项式插值的亚像素算法-CSDN博客。下面的内容很多来自以上博…

【论文阅读】-- 时间空间化:用于深度分类器训练的可扩展且可靠的时间旅行可视化

Temporality Spatialization: A Scalable and Faithful Time-Travelling Visualization for Deep Classifier Training 摘要1 引言2 动机3 问题定义4 方法论4.1 时空复合体4.2 复数约简 5 实验6 相关工作7 结论参考文献 摘要 时间旅行可视化回答了深度分类器的预测是如何在训练…

mysql常用参数配置详解my.cnf my.ini

1.关注生产中高频常用参数 # 数据库时区 log_timestamps = system # 刷盘策略 0,1,2 innodb_flush_log_at_trx_commit # 定义了 InnoDB 用于写日志数据的缓冲区大小。当事务发生时,日志首先被写入这个缓冲区,然后再被刷新(flush)到磁盘上的重做日志文件(redo log file…

MATLAB画图时添加标注显示有效数字的位数,可以编辑此函数

本来系统有个函数,在图像窗口选择标注工具,再在图像窗口右击鼠标,选择"编辑文本更新函数...",即打开系统的设置函数,可以修改最后一行: formattedValue [valueFormat num2str(value,4) removeV…

6.18总结

省赛排位赛2&#xff1a; 省赛排名赛2 - Virtual Judge 思路&#xff1a; 设两个方程直接解出来就行 代码&#xff1a; #include<bits/stdc.h> using namespace std; int n, m; int main() {int n, m;int ans1, ans2;cin >> n >> m;ans1 n - (-3 sqr…

QT-day3

1、思维导图 2、升级优化自己应用程序的登录界面。 要求&#xff1a; 1. qss实现 2. 需要有图层的叠加 &#xff08;QFrame&#xff09; 3. 设置纯净窗口后&#xff0c;有关闭等窗口功能。 4. 如果账号密码正确&#xff0c;则实现登录界面关闭&#xff0c;另一个应用界面显示。…

C#标志位的使用

C#作为一种功能强大的编程语言&#xff0c;是在.NET框架中广泛使用的语言之一。在实际应用中&#xff0c;C#的标志位在各种系统设计和编程实践中会涉及到。这篇文章将讨论如何使用C#的标志位来跟踪报警声音的播放状态。 报警系统是一种广泛应用的系统&#xff0c;它可以在关键时…

本地部署Ollama+qwen本地大语言模型Web交互界面

什么是 Ollama WebUI&#xff1f; Ollama WebUI 已经更名为 Open WebUI. Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 WebUI&#xff0c;旨在完全离线操作。它支持各种 LLM 运行程序&#xff0c;包括 Ollama 和 OpenAI 兼容的 API。 Ollama WebUI 是一个革命性的 L…

低代码平台总数与深度解析

本文将全面盘点2023年至2024年国内外低代码平台&#xff0c;包括简道云、明道云、腾讯云低代码平台、Zoho Creator、微搭、华为云Astro、金蝶云苍穹、用友YonBuilder、葡萄城活字格、氚云、宜搭、织信、爱速搭、宜搭、轻流、伙伴云、Zion、钉钉搭、数睿数据、奥哲云枢、网易数帆…

AI大战:通用VS垂直模型,谁主未来?

AI大战&#xff1a;通用VS垂直模型&#xff0c;谁主未来&#xff1f; 在人工智能的世界里&#xff0c;大模型的战场正逐渐分化为两个阵营&#xff1a;通用大模型和垂直大模型。 这两种模型各有特点&#xff0c;分别在不同的场景下展现出各自的优势。 那么&#xff0c;面对这…

深度学习(九)——神经网络:最大池化的作用

一、 torch.nn中Pool layers的介绍 官网链接&#xff1a; https://pytorch.org/docs/stable/nn.html#pooling-layers 1. nn.MaxPool2d介绍 nn.MaxPool2d是在进行图像处理时&#xff0c;Pool layers最常用的函数 官方文档&#xff1a;MaxPool2d — PyTorch 2.0 documentation &…

微信小程序毕业设计-小区疫情防控系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

ChatGPT的问题与回复的内容导出(Chorme)

我给出两种方式&#xff0c;第一种方式无使用要求&#xff0c;第二种方式必须安装Chorme 个人更推荐第二种方式 第一种方式&#xff1a;使用chatgpt自带的数据导出 缺点&#xff1a;会将当前未归档的所有聊天记录导出&#xff0c;发送到你的电子邮箱中 第二种方式&#xff1a…

STM32 proteus + STM32Cubemx仿真教程(第五课ADC光敏电阻采样教程)

文章目录 前言一、ADC概念二、光敏电阻的概念1. 光敏电阻的工作原理2. 光敏电阻的特性3. 光敏电阻的应用4. 光敏电阻的电路设计5. 实际使用中的注意事项总结 三、STM32Cubemx创建工程四、proteus仿真电路图五、代码编写1. HAL_ADC_Start 函数原型参数返回值功能描述示例 2. HAL…

datax使用实例及优化

一、实例 1.从MySQL读取数据到hdfs 查看模板 python bin/datax.py -r mysqlreader -w hdfswriter 覆写模板 {"job": {"content": [{"reader": {"name": "mysqlreader", "parameter": {"col…

Java每日作业day6.18

ok了家人们今天我们继续学习方法的更多使用&#xff0c;闲话少叙&#xff0c;我们来看今天学了什么 1.重载 在同一个类中&#xff0c;可不可以存在同名的方法&#xff1f;重载:在同一个类中&#xff0c;定义了多个同名的方法&#xff0c;但每个方法具有不同的参数类型或参数个…

【设计模式(三) 设计模式的分类 】

设计模式&#xff08;DesignPattern&#xff09;是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 使用设计模式的目的 &#xff1a;为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化&#xff1b;设计模式是软件工程…

网络编程4----网络原理(面试及期末必备)

1 应用层 应用层是与程序员关系最密切的一层&#xff0c;在应用层这里了&#xff0c;很多时候&#xff0c;都是使用程序员自定义的协议&#xff0c;当然&#xff0c;也有很多现成的协议供我们使用。 “自定义协议”&#xff1a; 自定义一个协议&#xff0c;也就是自己做一个…

接口联调测试

在我们工作过程中&#xff0c;有时需要一些接口进行联调。接口联调测试&#xff0c;就是按照业务要求&#xff0c;把接口进行组合测试。接口组合起来才能实现完整的业务&#xff0c;体现更大的价值。 接口联调测试业务分析&#xff1a; 原因&#xff1a; 项目中的接口是多个…

全国产城市轨道交通运营公安AI高清视频监控系统

方案简介 城市轨道交通运营公安高清视频监控系统解决方案针对运营部门和公安部门的安保需求&#xff0c;选用华维视讯的各类前端和视频编解码、控制产品&#xff0c;通过统一平台提供视频监控服务和智能应用&#xff0c;满足轨道交通运营业主客运组织和抢险指挥的需求&#xff…