在开商城小程序系统时,访问小程序的授权登录可以快速实现用户注册和登录的步骤,是快速建立用户体系的重要一步。本文将介绍Python+sanic+微信小程序的全栈解决方案,实现用户快速注册登录。
  源码:xcxyms.top
  这个过程分为两个部分:
  ●小程序使用 wx.login() API 获取代码并调用 wx.getUserInfo () API 获取加密数据和IV,然后将这三个信息发送给第三方服务器。
  ●第三方服务器获取code、加密数据和IV后,与code_Key交换session,然后设置session_Key,使用加密数据和IV解密在服务器端获取用户信息。根据用户信息,返回JWT数据,完成登录。

  商城小程序源码系统构成:
  一、前端部分(对用户或客户端可见的部分)。例如,首页、目录页、产品信息页等。网站设计;
  二、数据库;
  三、管理员控制面板。添加,删除项目,接收订单。这通常由管理员或操作员使用。
  方法#1:从头开始创建一切(从零开始)
  许多网站(包括在线商店)都是用 PHP 编写的。但是没有人用纯 PHP 编写代码。因为这将非常耗时。有许多基于 PHP 的所谓“代码库”(也称为框架)。
  最广泛使用的 PHP 框架是 Laravel、Yii 或 Codeigniter。请记住:程序员通常不会使用所有编程语言。甚至 PHP 程序员也有自己喜欢的框架。有些人喜欢使用 Laravel 框架,有些人喜欢他们喜欢的方法。因此,您选择一种编程语言(例如 PHP)来构建您未来的网站,然后选择基于该语言的框架。而已!
  从头开始创建所有内容有一些优点和缺点。
  坏消息是:你会花更多的时间和金钱。在创建过程中可能会出现许多意想不到的错误(错误)。需要在开展业务之前测试所有功能。
  好消息是:你可以无限制地创造任何你想要的东西。您可以随时扩展您网站的功能。

  从头开始创建它的步骤。
  1、规划和设计。聘请网页设计师来创建您未来网站的界面。这也需要一些时间,具体取决于您的设计师的专业程度。但现在有现成的设计库——预制的网络元素。也称为设计库或 UI 工具包。
  2、HTML/CSS 编码。因此,一旦您对未来网站进行了详细设计,就需要将它们转换为 html / css 文件。
  3、创建数据库。可以使用mysql、postgresql、mongodg等。
  4、将您的 html 页面与数据库集成。
  5、测试和修复错误。
  6、上传到服务器并启动。
  因此,从头开始创建所有内容的过程完全取决于您。只需要金钱、时间和经验丰富的程序员。
  方法#2:使用现成的代码
  还有另一种方法可以节省大量时间和精力。如果有人使用 PHP 或其他语言从头开始创建站点,那么您可以获得该代码的副本以加快该过程。
  方法#3:CMS系统的使用
  CMS(内容管理系统)。这也是与上述方法类似的现成代码。但它不是“某人”创建的代码,而是一个拥有自己的生态系统和支持团队的社区。一个例子是 Wordpress CMS。
  Wordpress 也是一个用 PHP 创建的系统。换句话说,它是一个用 PHP 创建的现成网站,有自己的管理面板和前视图。通常 CMS 系统有额外的插件。插件——它是一组可以增强系统功能的附加代码。例如,Wordpress 实际上是为简单的博客网站设计的。但它有一个名为 Woocommerce (woocommerce.com) 的插件,允许创建在线商店。
  方法#4:SAAS系统的使用
  这是最简单快捷的方法。SAAS 是指软件即服务。您需要开立账户并开始上传您的产品。
  最流行的 SAAS 系统是 shopify.com。它通过为您的网站预先制作的设计模板提供所有基本功能。或者您也可以创建自己的设计。经营您的商店只需按月付费。
  SAAS 系统的好处是,您无需担心托管服务器、寻找程序员、安全性、支付系统等。Shopify 已经与 Paypal 和 Visa、Master Card 集成。
  方法#5:基于 Headless CMS 或 API 创建
  这种方法通常使用现代 javascript。例如。ReactJS、VueJS 或其他库。这意味着,您的前端(用户的可视部分)和后端(管理控制)部分是完全分开的。它们通过 API(应用程序编程接口)或特殊代码进行通信,以从数据库中检索任何信息(例如,产品名称和图片)。
  您可以使用此方法使用 PHP + Larevel 创建您的网站。或者您可以使用现成的代码库。
  它提供了您需要的一切(管理控制、数据库等),但没有前端(您网站的可视化部分)。您将使用他们的 API 与您的自定义 html 模板集成。有时这种方法也称为 SPA(单页应用程序)

  小程序端代码:
  为简单起见,在小程序启动时请求授权。代码实现如下。

  //app.jsvar config = require('./config.js')App({onLaunch: function() {//Call API to get data from local cachevar jwt = wx.getStorageSync('jwt');var that = this;if (! jwt.access_ Token) {// check whether JWT exists, if not, call loginthat.login();} else {console.log(jwt.account_id);}},login: function() {//Login part codevar that = this;wx.login({//Call login to get the codesuccess: function(res) {var code = res.code;wx.getUserInfo({//Call getUserInfo to get encrypteddata and IVsuccess: function(res) {// successthat.globalData.userInfo = res.userInfo;var encryptedData = res.encryptedData || 'encry';var iv = res.iv || 'iv';console.log(config.basic_token);wx.request ({// send a request to get JWTurl: config.host + '/auth/oauth/token?code=' + code,header: {Authorization: config.basic_token},data: {username: encryptedData,password: iv,grant_type: "password",auth_approach: 'wxapp',},method: "POST",success: function(res) {if (res.statusCode === 201) {//After the JWT is stored, it is stored,wx.showToast({Title: 'login succeeded',icon: 'success'});wx.setStorage({key: "jwt",data: res.data});that.globalData.access_token = res.data.access_token;that.globalData.account_id = res.data.sub;} else if (res.statusCode === 401){//If there is no registration, call the registration interfacethat.register();} else {//Prompt error messagewx.showToast({title: res.data.text,icon: 'success',duration: 2000});}},fail: function(res) {console.log('request token fail');}})},fail: function() {// fail},complete: function() {// complete}})}})},register: function() {//Registration codevar that = this;wx.login ({// call the login interface to get the codesuccess: function(res) {var code = res.code;wx.getUserInfo({//Call getUserInfo to get encrypteddata and IVsuccess: function(res) {// successthat.globalData.userInfo = res.userInfo;var encryptedData = res.encryptedData || 'encry';var iv = res.iv || 'iv';console.log(iv);wx.request ({// request to register user interfaceurl: config.host + '/auth/accounts/wxapp',header: {Authorization: config.basic_token},data: {username: encryptedData,password: iv,code: code,},method: "POST",success: function(res) {if (res.statusCode === 201) {wx.showToast({Title: 'registered successfully',icon: 'success'});that.login();} else if (res.statusCode === 400) {wx.showToast({Title: 'user registered',icon: 'success'});that.login();} else if (res.statusCode === 403) {wx.showToast({title: res.data.text,icon: 'success'});}console.log(res.statusCode);console.log('request token success');},fail: function(res) {console.log('request token fail');}})},fail: function() {// fail},complete: function() {// complete}})}})},get_user_info: function(jwt) {wx.request({url: config.host + '/auth/accounts/self',header: {Authorization: jwt.token_type + ' ' + jwt.access_token},method: "GET",success: function (res) {if (res.statusCode === 201) {wx.showToast({Title: 'registered',icon: 'success'});} else if (res.statusCode === 401 || res.statusCode === 403) {wx.showToast({Title: 'not registered',icon: 'error'});}console.log(res.statusCode);console.log('request token success');},fail: function (res) {console.log('request token fail');}})},globalData: {userInfo: null}})

微信/抖音商城小程序源码开源版(下载)相关推荐

  1. 商城小程序源码开源版-可二开

    介绍: 基于ThinkPhp6.0+uniapp 开发的一套新零售商城系统.集客户关系管理+营销电商系统,能够真正帮助企业基于微信公众号.小程序.wap.pc等,实现会员管理.数据分析,精准营销的电子 ...

  2. 多功能悬赏任务平台app+小程序源码开源版搭建开发

    悬赏任务app源码,从名字本身就可以理解这个PHP项目的流程.通过在线管理员工任务.即使它也可以在Intranet中工作.MySQL数据库是此源代码的最终部分.它易于实施和遵循.它是所有企业公司的主要 ...

  3. 抖音商城小程序搭建的注意事项

    抖音商城小程序已经成为了越来越多电商企业的选择,毕竟它具有强大的用户资源和社交传播力.但是,在搭建抖音商城小程序的过程中,还有一些需要注意的事项. 1.制定明确的策略和目标 在搭建抖音商城小程序前,必 ...

  4. 文案微信小程序源码独立版+前端

    文案微信小程序源码文案+头像+背景图 api接口是别人的,毕竟自己采集资源比较难 后台程序没有首页,只需要安装即用 后台账户:admin/123456 小程序源码下载地址: 文案微信小程序源码独立版+ ...

  5. 2022新云开发微信余额充电器特效小程序源码

    正文: 这是一个2022全新版本的云开发微信余额充电器特效小程序源码,该小程序可以在模拟自己的微信余额,默认状态金额不会变化,但当手机插上充电器后余额就会随着充电而随着增长,本项目只用于恶搞,并非真实 ...

  6. 最新云开发微信余额充电器特效小程序源码

    最新云开发微信余额充电器特效小程序源码 ☑️ 编号:ym450 ☑️ 品牌:无 ☑️ 语言:小程 ☑️ 大小:73KB ☑️ 类型:余额充电器特效 ☑️ 支持:小程

  7. 微信小程序:独家微信社群人脉小程序源码带后端控制源码完整版端控带简单教程

    这是一款小编自营的一款人脉小程序系统 小编自营大概有三个多月了吧一直没有给大家公开 本款小程序群二维码自动采集推送的,所以大家不用担心没有群难运营 小编运营几个月不靠一丝一毫的推广每天自然流量都是一千 ...

  8. 微信在线订票小程序源码开发功能说明

    在我们的日常生活中,为了满足人们的出行,各行各业都做了微信小程序开发,旅游业为了更好的服务客户,让客户有更好的体验,也推出了相应的微信在线订票小程序. 微信订票小程序的优势是什么?现如今使用微信用户过 ...

  9. 恋爱小助手微信QQ双端小程序源码/可添加流量主,无需域名无需服务器

    源码介绍 恋爱小助手微信QQ双端小程序源码,无需服务器和域名,可添加流量主,搭建教程都打包在文件里面了. 源码特点: 1.支持任意漫画头像生成功能,后端自定义字体,颜色,大小,角度,位置,二维码水印等 ...

  10. 文案微信小程序源码独立版 前后端代码有齐全

    文案微信小程序源码文案+头像+背景图  文案微信小程序源码独立版+前端 | 星空资源网 (xk686.com) api接口是别人的,毕竟自己采集资源比较难 后台程序没有首页,只需要安装即用 后台账户: ...

最新文章

  1. 数据科学家线性规划入门指南
  2. [蓝桥杯2016初赛]卡片换位 bfs+set
  3. HMM学习最佳范例三:隐藏模式
  4. MODE —— 两个人在计算机上玩圈叉游戏|井字游戏(知识点:二维数组)
  5. 从SOURCE_BUFFER单元开始存放了20个字母A, 编程将这20个字母A的字符串传送到DEST_BUFFER开始的单元中.
  6. 容量法和库仑法的异同点_快速搞懂「活性污泥法」,主要把握这4点!
  7. 安装oracle需注意的地方
  8. 关于用iframe大框架覆盖小框架的问题
  9. jquery 文字轮播
  10. C语言之-1与0xffffffff
  11. 王之泰201771010131《面向对象程序设计(java)》第四周学习总结
  12. su自带模型库怎么打开_草图大师模型库竟然在软件内部
  13. lncRNA数据分析专题
  14. 8.3 机器人平台设计之arduino与电机驱动
  15. 【49.Auth2.0认证与授权过程-微博开放平台认证授权过程-百度开放平台认证授权过程-社交登录实现(微博授权)-分布式Session问题与解决方案-SpringSession整合-Redis】
  16. torch Dataloader中的num_workers
  17. springboot 之 微服务调用 之 链路追踪
  18. mysql字符串截取函数应用介绍
  19. COCOS+FGUI使用Airtest
  20. python怎么制作游戏修改器_如何使用CE来修改游戏并制作一个修改器

热门文章

  1. 一文读完C语言基础语法
  2. java 并发包_Java常用并发包
  3. HSPF(Hydrological Simulation Program Fortran)模型应用
  4. 安卓下使用TTS语音包:小爱
  5. XAMPP中mysql升级到5.7.36版本
  6. TI CCS下载地址
  7. Java中的素数求法
  8. NSIS中文乱码问题
  9. ArcgisPro3.0.1中文安装包下载及安装教程
  10. C# Access数据库使用