小程序的登录+发布流程

news2024/11/25 11:14:53

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

小程序的登录流程

流程图

首先登录流程还是看官网说的: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.coloradmin.cn/o/1836294.html

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

相关文章

DOOPRIME:日本央行7月加息与否取决于数据,购债规模调整无强烈信号

摘要 日本央行行长植田和男近日在议会发言中表示,7月份是否加息将取决于经济数据表现,而购买日本国债与加息是两个独立的问题,不会通过削减购债规模来释放强烈的政策信号。这一表态引发了市场的广泛关注,投资者和经济学家对此进行…

自动驾驶规划-RTT* 算法 【免费获取Matlab代码】

目录 1.算法原理3.结果展示4.参考文献5.代码获取 1.算法原理 RRT(Rapidly-Exploring Random Trees) 快速随机扩展树,是一种单一查询路径规划算法。RRT 将根节点作为搜索的起点,然后通过随机撒点采样增加叶子节点的方式,生成一个随机扩展树&a…

如何预防最新的Mallox变种hmallox勒索病毒感染您的计算机?

一、引言 近年来,网络安全问题日益严重,勒索病毒成为了其中的一大威胁。其中,.hmallox勒索病毒作为Malox勒索软件家族的新变种,凭借其高度的攻击性和隐蔽性,给全球用户的数据安全带来了严重威胁。本文将深入分析.hmal…

入门三.HTB--Dancing(6.18)

大佬 https://www.cnblogs.com/Hekeats-L/p/16535920.html 任务1 SMB 即Server Message Block(服务器消息块),是一种文件共享协议。当文件原件在你的A电脑上,而你想在局域网下用你的手机、iPad或是另一台电脑来访问A电脑上的该文…

分享三个仓库

Hello , 我是恒。大概有半个月没有发文章了,都写在文档里了 今天分享三个我开源的项目,比较小巧但是有用 主页 文档导航 Github地址: https://github.com/lmliheng/document 在线访问:http://document.liheng.work/ 里面有各种作者书写的文档&#xff…

ARM32开发——中断

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 中断概念中断分类中断触发条件 中断概念 中断是计算机系统中的一种机制,用于响应外部事件或内部事件,它可以使单片机暂…

红日靶场实战一 - 学习笔记

最近在学习红蓝对抗,如果有兴趣的可以多关注。 目录 环境搭建 靶场链接 配置网络 攻击机kali网络 配置win7 web服务器网络 配置winserver 2008网络(DC域控) 配置win2003/win2k3网路(域成员) IP配置情况 外网突破 信息收集 phpmya…

设计模式(五)创建者模式之工厂模式

工厂模式 工厂模式上面类图代码实现Coffee 抽象类AmericanCoffeeLatterCoffeeCoffeeStoreUser 简单工厂模式增加工厂方法更改CoffeeStore 类优缺点扩展静态工厂 工厂方法模式概念结构具体类图代码实现Coffee类AmericanCoffeeLatterCoffee抽象工厂CoffeeFactoryAmericanCoffeeFa…

[BJDCTF2020]ZJCTF,不过如此1

打开题目可以看到一段php文件包含&#xff0c;源码如下 <?phperror_reporting(0); $text $_GET["text"]; $file $_GET["file"]; if(isset($text)&&(file_get_contents($text,r)"I have a dream")){echo "<br><h1>…

windows系统上如何打开mobi格式的文件

mobi是亚马逊Kindle电子书的主要格式&#xff0c;拥有广泛的资源和应用场景。在windows上打开mobi格式文件&#xff0c;选择一款合适的电子书阅读器至关重要。而NeatReader&#xff0c;凭借其卓越的性能以及对各种电子书格式的强大支持&#xff0c;已然成为了众多电子书爱好者的…

拓普壹老阳分享的Temu选品师项目:赚钱之道?

在当今的电商潮流中&#xff0c;越来越多的人寻找着一条创业的新路径。而“选品师”这个名词&#xff0c;近年来逐渐进入了人们的视野。其中&#xff0c;拓普壹老阳分享的Temu选品师项目&#xff0c;深受关注。这究竟是一种怎样的项目?它是否真的能够成为赚钱的机会?让我们深…

【算法与设计】期末总结

文章目录 第一章 概述算法与程序时间复杂性求上界 第二章 递归与分治双递归函数——Ackerman函数分治策略大整数乘法两位两位四位x四位 三位x三位两位x六位 第三章 动态规划矩阵连乘基本要素最优子结构子问题重叠 备忘录 第四章 贪心算法活动安排问题基本要素贪心选择性质最优子…

上海AI Lab推出8B模型,奥数成绩媲美GPT-4

只用1/200的参数&#xff0c;就能让大模型拥有和GPT-4一样的数学能力&#xff1f; 复旦大学和上海AI实验室的研究团队刚刚研发出了一款具有超强数学能力的模型。 这款模型名为MCTSr&#xff0c;以Llama 3为基础&#xff0c;参数量只有8B&#xff0c;却在奥赛级别的题目上取得了…

栈帧浅析,堆栈漏洞概述——【太原理工大学软件安全期末补充】

在上一篇文章中我说实验一不重要&#xff0c;确实没必要完全按照实验内容逐字逐句理解&#xff0c;但是这里我们补充一个知识点 栈帧&#xff08;Stack Frame&#xff09;是计算机程序执行过程中&#xff0c;调用栈&#xff08;Call Stack&#xff09;中的一个单元&#xff0c;…

C++ 64 之 函数模版和普通函数调用规则

#include <iostream> #include <string> using namespace std;template<typename T> void myPrint(T a, T b){cout << "函数模板的调用" << endl; }void myPrint(int a, int b){cout << "普通函数调用" << endl…

2.什么是计算机程序

什么是计算机程序? 计算机程序是为了告诉计算机"做某件事或解决某个问题"而用"计算机语言编写的命令集合(语句) 只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作,计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成 现实生活中你如…

【shell脚本速成】for 嵌套和和 if 高级用法

文章目录 一、for嵌套二、for与数组三、if高级用法3.1、条件符号使用双圆括号&#xff0c;可以在条件中植入数学表达式 if (())3.2、使用双方括号,可以在条件中使用通配符 四、简写if五、与文件存在与否的判断六、课后练习 &#x1f308;你好呀&#xff01;我是 山顶风景独好 &…

Jasper Studio制作报表,预览时候出现死循环,一直渲染页面,total pages无限渲染

目录 1.1、错误描述 1.2、解决方案 1.1、错误描述 最近遇到一个jasper报表线上预览出现死循环的问题&#xff0c;实施人员反馈&#xff0c;线上生产环境中&#xff0c;使用某个功能显示pdf的时候&#xff0c;出现了接口超时问题&#xff0c;在这个项目中&#xff0c;我们使用…

力扣每日一题 6/18 字符串/模拟

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 2288.价格减免 【中等】 题目&#xff1a; 句子 是由若干个单词组成的字符…

github如何删除仓库?

之前练习Git上传的时候&#xff0c;在Github创建的测试项目已经不需要了&#xff0c;所以要如何删除&#xff1f; 首先进入Github主页&#xff0c;可以直接点击左侧1处的仓库&#xff0c;也可以点击2处的头像&#xff0c;再选择进入那个仓库。 我选择删除最后一个FlashAndShan…