精华内容
下载资源
问答
  • 微信小程序开发是当下国内最流行的技术之一,本教程带你用vue开发微信小程序。本课程旨在带领学员零基础入门微信小程序,讲师带你从0开始构建一个完整的小程序,涵盖小程序开发核心技能,以项目驱动的...

    Vue开发微信小程序零基础快速入门实战课程

    甘肃**数字

    微信

    2020-04-06

    https://www.jsdaima.com/video/941.html

    Vue开发微信小程序零基础快速入门实战课程视频教程下载。微信小程序开发是当下国内最流行的技术之一,本教程带你用vue开发微信小程序。本课程旨在带领学员零基础入门微信小程序,讲师带你从0开始构建一个完整的小程序,涵盖小程序开发核心技能,以项目驱动的方式带领学员学习微信小程序的知识点,并能完成自已的微信小程序项目。

    课程目录

    ├─01-基础

    │      01-uni-app介绍.mp4

    │      02-基础知识介绍.avi

    │      04-uni-app初体验.avi

    │      05-项目目录介绍-了解.avi

    │      06-项目目录介绍-重点.avi

    │      07-样式和sass.avi

    │      08-基本语法-数据显示.avi

    │      08-数据循环.avi

    │      09-条件编译.avi

    │      10-计算属性.avi

    │      11-事件的基本使用.avi

    │      12-事件传参.avi

    │      13-组件的基本使用.avi

    │      14-父向子传递参数.avi

    │      15-子向父传递参数.avi

    │      16-全局数据传递.avi

    │      17-组件插槽.avi

    │      18-常用生命周期.avi

    │      19-完整的生命周期-了解.mp4

    ├─项目(上)

    │      01-项目搭建.mp4

    │      02-引入字体图标.avi

    │      03-uni-ui的使用.avi

    │      04-uni-api的使用.avi

    │      05-首页模块-功能分析.avi

    │      06-搭建首页模块的子页面.avi

    │      07-分段器的使用.avi

    │      08-分段器的样式优化.avi

    │      09-封装自己的异步请求.avi

    │      10-首页-推荐模块-推荐列表完成.avi

    │      11-月份模块-标题样式.avi

    │      12-月份模块-数据动态渲染.avi

    │      13-优化月份模块的代码.avi

    │      14-热门模块-数据渲染.avi

    │      15-使用scroll-view改造容器.avi

    │      16-分页完成.avi

    │      17-专辑模块的介绍.avi

    │      18-动态修改页面标题_20200403144835.avi

    │      19-专辑列表-轮播图的实现.avi

    │      20-列表动态渲染.avi

    │      21-列表分页.avi

    │      22-点击跳转到专辑详情页面.avi

    │      23-获取专辑详情数据.avi

    │      24-专辑详情动态渲染-背景图片.avi

    │      25-专辑详情动态渲染-作者.mp4

    ├─项目(中)

    │      26-专辑详情动态渲染-相册列表.avi

    │      27-专辑详情-分页.avi

    │      28-完善首页的专辑详情跳转.avi

    │      29-图片详情-功能分析.avi

    │      30-封装超链接组件.avi

    │      31-其他模块使用超链接组件.avi

    │      32-图片详情动态渲染-约定渲染的模板.avi

    │      33-图片详情-页面分析.avi

    │      34-图片详情-用户信息动态渲染.avi

    │      35-图片详情-特殊的时间格式处理.avi

    │      37-图片详情-专辑模块动态渲染.avi

    │      38-图片详情-最热评论布局.avi

    │      39-图片详情-最热评论布局完成.avi

    │      40-图片详情-最新评论.avi

    │      41-优化图片详情隐含的bug.avi

    │      42-封装手势滑动组件的分析.avi

    │      43-触屏事件的讲解.avi

    │      44-滑动组件的逻辑实现.avi

    │      45-封装手势滑动组件.avi

    │      46-滑动翻页.avi

    │      47-优化页面样式.avi

    │      48-下载图片.avi

    │      49-解决滑动手势的bug.avi

    │      50-图片分类模块的介绍.mp4

    ├─项目(下)

    │      51-实现首页分类页面.avi

    │      52-图片分类-引入分段器.avi

    │      53-渲染图片分类页面.avi

    │      54-图片分类-scroll标签的特殊使用.avi

    │      55-图片分类页面-分页完成.avi

    │      56-精美视频模块的介绍.avi

    │      57-引入分段器.avi

    │      58-新建精美视频下的两个内容组件.avi

    │      59-精美视频首页-发送请求获取数据.avi

    │      60-精美视频-动态渲染.avi

    │      61-精美视频-分页.avi

    │      62-视频播放-获取页面数据.avi

    │      63-视频播放页面-动态渲染.avi

    │      64-开关声音和转发.avi

    │      65-下载视频.avi

    │      66-结课.mp4

    └─资料

    素材与代码.zip

    下载地址

    展开全文
  • 那么在本篇,我们就将结合微信小程序开发Python Web 开发,来完成一个朋友圈神器微信小程序的开发,这个微信小程序作为一个工具型的应用,供用户输入姓名或其他字段,生成一个带有炫耀成分的照片。比如,移民申请...

    导读

    在知乎上,有人提问“如何使用 Python 开发微信小程序”。

    其实微信小程序作为一个前端的机制,Python 并不能插上边。只不过可以作为后端接口为微信小程序提供数据服务而已。

    那么在本篇,我们就将结合微信小程序开发与 Python Web 开发,来完成一个朋友圈神器微信小程序的开发,这个微信小程序作为一个工具型的应用,供用户输入姓名或其他字段,生成一个带有炫耀成分的照片。

    比如,移民申请表照片:

    高额工资单照片:

    豪车订单照片:

    下面,就开干吧!

    注册一个微信小程序

    开发微信小程序,首先肯定需要去微信公众平台上注册一个微信小程序了,我们在微信公众平台的注册页面(https://mp.weixin.qq.com/cgi-bin/registermidpage?action=index&lang=zh_CN)选择“小程序”进行注册。

    接着有三个步骤:邮箱注册、邮箱激活和信息登记:

    完成上述三个步骤后,就可以登录进入管理中心:

    在基本设置中,我们可以设置微信小程序的名称、头像、说明等基本信息。

    在开发设置中,我们可以获取到小程序的 AppID 和 AppSecret,这在后续的开发中会使用到,同时我们可以在此设置小程序服务器的域名:

    安装和使用微信 Web 开发者工具

    开发微信小程序需要使用到微信 Web 开发工具这一软件。我们下载并安装好。

    启动之后,需要我们使用微信扫码进行登录:

    之后,新建一个小程序项目:

    指定小程序的项目目录、输入小程序的 AppID(管理页面中获取)、输入项目名称,之后我们就进入了微信开发工具的主界面了:

    因为我们使用了快速启动的模板,所以自动生成了一个 Hello World 的 Demo。接下来,我们创建我们的票圈神器的小程序页面。

    创建微信小程序页面

    在创建小程序的页面之前,我们先来了解一下微信小程序的代码结构。

    根据微信小程序开发文档的介绍:小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。

    一个小程序主体部分由以下三个文件组成,必须放在项目的根目录。app.js(定义小程序的逻辑)

    app.json(定义小程序的公共配置)

    app.wxss(定义小程序的公共样式表)

    同时,一个小程序的页面由四个文件组成:JavaScript 文件(定义页面逻辑)

    WXML 文件(定义页面结构)

    WXSS 文件(定义页面样式)

    JSON 文件(定义页面配置)

    微信小程序的视图层负责页面的展示,由 WXML 文件描述页面结构和 WXSS 文件描述页面的样式。

    WXML 和 WXSS 是什么东西呢?我们可以拿 HTML 和 CSS 来与之进行类比。虽然它们不一样,但是它们真的很相似。

    WXML 是一套微信定义的可嵌套的标记语言,而 WXSS 则具备 CSS 的大部分特性,并对 CSS 进行了扩充和修改。

    接下来我们来规划一下我们的小程序的页面构成:首页列表页:用于显示可用于制作照片的条目;

    详情表单页:用于显示照片效果以及接收用户输入信息;

    照片结果页:用于显示生成的照片以及提供保存按钮;

    创建页面目录和文件

    首先,我们在项目目录结构的 pages 路径下新建一个 detail 目录,其下包含三个同名的 JS 文件、WXML 文件、WXSS 文件;一个 result 目录,其下包含三个同名的 JS 文件、WXML 文件、WXSS 文件;最后 pages 目录下的结构如下图所示:

    然后,在创建的 JS 文件中输入以下代码:Page({ /**

    * 页面的初始数据

    */

    data: {

    }, /**

    * 生命周期函数--监听页面加载

    */

    onLoad: function (options) {

    }, /**

    * 生命周期函数--监听页面初次渲染完成

    */

    onReady: function () {

    }, /**

    * 生命周期函数--监听页面显示

    */

    onShow: function () {

    }, /**

    * 生命周期函数--监听页面隐藏

    */

    onHide: function () {

    }, /**

    * 生命周期函数--监听页面卸载

    */

    onUnload: function () {

    }, /**

    * 页面相关事件处理函数--监听用户下拉动作

    */

    onPullDownRefresh: function () {

    }, /**

    * 页面上拉触底事件的处理函数

    */

    onReachBottom: function () {

    }, /**

    * 用户点击右上角分享

    */

    onShareAppMessage: function () {

    }

    })

    Page() 函数用来注册一个页面。接受一个 object 参数,以指定页面的初始数据、生命周期函数、事件处理函数等。

    使用微信开发者工具的智能提示可以快速生成这些代码:

    完成这一步之后,我们打开项目根目录的 app.json 文件:

    在pages列表中添加如下代码:"pages/detail/detail","pages/result/result",

    最后 app.json 文件中 pages 列表的值应该为:[

    "pages/index/index", "pages/detail/detail", "pages/result/result", "pages/logs/logs"

    ],

    编辑列表页面

    首先,我们在列表页面放置一个轮播图,让我们的页面不显单调。准备三张图片:

    在项目根路径下新建一个名为 imgs 的目录,将三张轮播图片复制进去:

    在 index.js 文件的 Page 实例中,在 data 字典添加一个键值对,用于指定本地轮播图片的位置:

    删除 index.wxml 文件中的所有代码,输入以下代码以创建一个轮播图:

    其中:swiper 标签表示滑块视图容器;

    swiper-item 标签则表示滑块的条目;

    block 标签表示一个标签块

    我们可以看到,在 block 标签中,我们为其设置了 wx:for 属性,这个属性用于列表渲染,绑定了 Page 的 data 中的 headimg 数组(在微信小程序中,WXML 中的动态数据都来自于对应 JS 文件 Page 中的 data 数据)。

    接着,调整轮播图的样式,在 index.wxss 文件中输入以下代码:.swiper { height: 400rpx; width: 100%;

    }.swiper image { height: 100%; width: 100%;

    }

    最后保存文件,在微信开发者工具中可以预览到我们的轮播图已经创建成功:

    创建完轮播图之后,我们继续编辑创建图片列表结构。

    {{item.name}}

    在页面的列表结构中,我们使用一个 view 标签作为外部容器,里面定义了一个 block 标签用于遍历图片模板数据生成多个图片信息,定义渲染的数组为 templist,这个我们将在 index.js 文件中进行定义和声明。

    同时使用了 navigator 标签,用于页面的跳转,设置一个参数 tid 并将模板的 id 作为值,使其能够跳转到具体模板的详情页面。

    然后在 index.wxss 文件中添加以下样式:/* 模板图片列表 */.temp_box { margin: 3px; width: 100%;

    }.temp_item { display: inline-block; width: 48%; margin: 0.5%; background-color: white;

    }.temp_item image { width: 100%; height: 160px;

    }.temp_item .content { width: 100%; height: 32px; margin: 5px;

    }.temp_item .content text { font-size: 12px; line-height: 16px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;

    }

    如果 templist 数组有合适的数据,那么其渲染出来的页面应该是下面这样的:

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

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

    微信小程序登录时序图如下:

    1460000010414725

    这个流程分为两大部分:

    小程序使用 wx.login() API 获取 code,调用 wx.getUserInfo() API 获取 encryptedData 和 iv,然后将这三个信息发送给第三方服务器。

    第三方服务器获取到 code、encryptedData和 iv 后,使用 code 换取 session_key,然后将 session_key 利用 encryptedData 和 iv 解密在服务端获取用户信息。根据用户信息返回 jwt 数据,完成登录。

    下面我们先看一下小程序提供的 API。

    小程序登录 API

    在这个授权登录的过程中,用到的 API 如下:

    wx.login

    wx.getUserInfo

    wx.chekSession 是可选的,这里并没有用到。

    wx.login(OBJECT)

    调用此接口可以获取登录凭证(code),以用来换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key)。

    如果接口调用成功,返回结果如下:

    参数名

    类型

    说明

    errMsg

    String

    调用结果

    code

    String

    用户允许登录后,回调内容会带上 code(有效期五分钟),开发者需要将 code 发送到开发者服务器后台,使用code 换取 session_key api,将 code 换成 openid 和 session_key

    code 换取 session_key

    开发者服务器使用登录凭证 code 获取 session_key 和 openid。其中 session_key 是对用户数据进行加密签名的密钥。为了自身应用安全,session_key 不应该在网络上传输。所以这一步应该在服务器端实现。

    wx.getUserInfo

    此接口用来获取用户信息。

    当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。

    接口success 时返回参数如下:

    参数名

    类型

    说明

    userInfo

    OBJECT

    用户信息对象,不包含 openid 等敏感信息

    rawData

    String

    不包括敏感信息的原始数据字符串,用于计算签名。

    signature

    String

    使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,参考文档 signature。

    encryptedData

    String

    包括敏感数据在内的完整用户信息的加密数据,详细见加密数据解密算法

    iv

    String

    加密算法的初始向量,详细见加密数据解密算法

    encryptedData 解密后为以下 json 结构,详见加密数据解密算法

    {

    "openId": "OPENID",

    "nickName": "NICKNAME",

    "gender": GENDER,

    "city": "CITY",

    "province": "PROVINCE",

    "country": "COUNTRY",

    "avatarUrl": "AVATARURL",

    "unionId": "UNIONID",

    "watermark":

    {

    "appid":"APPID",

    "timestamp":TIMESTAMP

    }

    }

    由于解密 encryptedData 需要 session_key 和 iv 所以,在给服务器端发送授权验证的过程中需要将 code、encryptedData 和 iv 一起发送。

    服务器端提供的 API

    服务器端授权需要提供两个 API:

    /oauth/token 通过小程序提供的验证信息获取服务器自己的 token

    /accounts/wxapp 如果登录用户是未注册用户,使用此接口注册为新用户。

    换取第三方 token(/oauth/token)

    开始授权时,小程序调用此 API 尝试换取jwt,如果用户未注册返回401,如果用户发送参数错误,返回403。

    接口 获取 jwt 成功时返回参数如下:

    参数名

    类型

    说明

    account_id

    string

    当前授权用户的用户 ID

    access_token

    string

    jwt(登录流程中的第三方 session_key

    token_type

    string

    token 类型(固定Bearer)

    小程序授权后应该先调用此接口,如果结果是用户未注册,则应该调用新用户注册的接口先注册新用户,注册成功后再调用此接口换取 jwt。

    新用户注册(/accounts/wxapp)

    注册新用户时,服务器端需要存储当前用户的 openid,所以和授权接口一样,请求时需要的参数为 code、encryptedData 和 iv。

    注册成功后,将返回用户的 ID 和注册时间。此时,应该再次调用获取 token 的接口去换取第三方 token,以用来下次登录。

    实现流程

    接口定义好之后,来看下前后端整体的授权登录流程。

    1460000010414726

    这个流程需要注意的是,在 C 步(使用 code 换取 session )之后我们得到 session_key,然后需要用 session_key 解密得到用户数据。

    然后使用 openid 判断用户是否已经注册,如果用户已经注册,生成 jwt 返回给小程序。

    如果用户未注册返回401, 提示用户未注册。

    jwt(3rd_session) 用于第三方服务器和小程序之间做登录态校验,为了保证安全性,jwt 应该满足:

    足够长。建议有 2^128 组合

    避免使用 srand(当前时间),然后 rand() 的方法,而是采用操作系统提供的真正随机数机制。

    设置一定的有效时间,

    当然,在小程序中也可以使用手机号登录,不过这是另一个功能了,就不在这里叙述了。

    代码实现

    说了这么多,接下来看代码吧。

    小程序端代码

    代码逻辑为:

    用户在小程序授权

    小程序将授权消息发送到服务器,服务器检查用户是否已经注册,如果注册返回 jwt,如果没注册提示用户未注册,然后小程序重新请求注册接口,注册用户,注册成功后重复这一步。

    为了简便,这里在小程序 启动的时候就请求授权。代码实现如下。

    //app.js

    var config = require('./config.js')

    App({

    onLaunch: function() {

    //调用API从本地缓存中获取数据

    var jwt = wx.getStorageSync('jwt');

    var that = this;

    if (!jwt.access_token){ //检查 jwt 是否存在 如果不存在调用登录

    that.login();

    } else {

    console.log(jwt.account_id);

    }

    },

    login: function() {

    // 登录部分代码

    var that = this;

    wx.login({

    // 调用 login 获取 code

    success: function(res) {

    var code = res.code;

    wx.getUserInfo({

    // 调用 getUserInfo 获取 encryptedData 和 iv

    success: function(res) {

    // success

    that.globalData.userInfo = res.userInfo;

    var encryptedData = res.encryptedData || 'encry';

    var iv = res.iv || 'iv';

    console.log(config.basic_token);

    wx.request({ // 发送请求 获取 jwt

    url: 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) {

    // 得到 jwt 后存储到 storage,

    wx.showToast({

    title: '登录成功',

    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){

    // 如果没有注册调用注册接口

    that.register();

    } else {

    // 提示错误信息

    wx.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() {

    // 注册代码

    var that = this;

    wx.login({ // 调用登录接口获取 code

    success: function(res) {

    var code = res.code;

    wx.getUserInfo({

    // 调用 getUserInfo 获取 encryptedData 和 iv

    success: function(res) {

    // success

    that.globalData.userInfo = res.userInfo;

    var encryptedData = res.encryptedData || 'encry';

    var iv = res.iv || 'iv';

    console.log(iv);

    wx.request({ // 请求注册用户接口

    url: 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: '注册成功',

    icon: 'success'

    });

    that.login();

    } else if (res.statusCode === 400) {

    wx.showToast({

    title: '用户已注册',

    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: '已注册',

    icon: 'success'

    });

    } else if (res.statusCode === 401 || res.statusCode === 403) {

    wx.showToast({

    title: '未注册',

    icon: 'error'

    });

    }

    console.log(res.statusCode);

    console.log('request token success');

    },

    fail: function (res) {

    console.log('request token fail');

    }

    })

    },

    globalData: {

    userInfo: null

    }

    })

    服务端代码

    服务端使用 sanic 框架 + swagger_py_codegen 生成 rest-api。

    数据库使用 MongoDB,python-weixin 实现了登录过程中 code 换取 session_key 以及 encryptedData 解密的功能,所以使用python-weixin 作为 python 微信 sdk 使用。

    为了过滤无效请求,服务器端要求用户在获取 token 或授权时在 header 中带上 Authorization 信息。 Authorization 在登录前使用的是 Basic 验证(格式 (Basic hashkey) 注 hashkey为client_id + client_secret 做BASE64处理),只是用来校验请求的客户端是否合法。不过Basic 基本等同于明文,并不能用它来进行严格的授权验证。

    使用 swagger 生成代码结构如下:

    1460000010414727

    由于代码太长,这里只放获取 jwt 的逻辑:

    def get_wxapp_userinfo(encrypted_data, iv, code):

    from weixin.lib.wxcrypt import WXBizDataCrypt

    from weixin import WXAPPAPI

    from weixin.oauth2 import OAuth2AuthExchangeError

    appid = Config.WXAPP_ID

    secret = Config.WXAPP_SECRET

    api = WXAPPAPI(appid=appid, app_secret=secret)

    try:

    # 使用 code 换取 session key

    session_info = api.exchange_code_for_session_key(code=code)

    except OAuth2AuthExchangeError as e:

    raise Unauthorized(e.code, e.description)

    session_key = session_info.get('session_key')

    crypt = WXBizDataCrypt(appid, session_key)

    # 解密得到 用户信息

    user_info = crypt.decrypt(encrypted_data, iv)

    return user_info

    def verify_wxapp(encrypted_data, iv, code):

    user_info = get_wxapp_userinfo(encrypted_data, iv, code)

    # 获取 openid

    openid = user_info.get('openId', None)

    if openid:

    auth = Account.get_by_wxapp(openid)

    if not auth:

    raise Unauthorized('wxapp_not_registered')

    return auth

    raise Unauthorized('invalid_wxapp_code')

    def create_token(request):

    # verify basic token

    approach = request.json.get('auth_approach')

    username = request.json['username']

    password = request.json['password']

    if approach == 'password':

    account = verify_password(username, password)

    elif approach == 'wxapp':

    account = verify_wxapp(username, password, request.args.get('code'))

    if not account:

    return False, {}

    payload = {

    "iss": Config.ISS,

    "iat": int(time.time()),

    "exp": int(time.time()) + 86400 * 7,

    "aud": Config.AUDIENCE,

    "sub": str(account['_id']),

    "nickname": account['nickname'],

    "scopes": ['open']

    }

    token = jwt.encode(payload, 'secret', algorithm='HS256')

    # 由于 account 中 _id 是一个 object 需要转化成字符串

    return True, {'access_token': token, 'account_id': str(account['_id'])}

    Note: 如果试用代码,请先设定 oauth2_client,使用自己的配置。

    不要将私密配置信息提交到 github。

    参考链接

    最后,感谢女朋友支持。

    欢迎关注(April_Louisa)

    请我喝芬达

    1460000009873993?w=430&h=430

    1460000009873994?w=425&h=425

    展开全文
  • 本套课程出自老男孩IT教程的Python+微信小程序开发实战官网售价79元,课程基于微信小程序平台开发的的拍卖系统。课程分为4个章节微信小程序快速入门用微信小程序快速开发认证和发布动态模块,第二章拍卖平台动态管理...

    Snipaste_2020-09-03_14-33-13.png

    本套课程出自老男孩IT教程的Python+微信小程序开发实战官网售价79元,课程基于微信小程序平台开发的的拍卖系统。课程分为4个章节微信小程序快速入门用微信小程序快速开发认证和发布动态模块,第二章拍卖平台动态管理结合DRF和小程序实现动态、点赞、多级评论、浏览器的处理第3张拍卖业务逻辑实现通过微信小程序实现拍卖和支付等功能、第四章运营中心开发&项目上线部署基于django开发运营中心并使用celery实现拍卖状态、优惠券处理、让你17天从小白到微信小程序高高手。课程[5.4G]课程表和下载地址在底部?

    适合人群:

    有Python基础的人

    课程目标:

    Python+微信小程序开发实战学习

    Snipaste_2020-09-03_14-48-01.pngPython+微信小程序开发实战视频随机截图

    课程目录:C65:Python+微信小程序开发实战(视频+课件) [5.4G]

    ┣━━微信小程序课件 [28M]

    ┃ ┗━━微信小程序课件.rar [28M]

    ┣━━129 day12-01 专场管理.mp4 [132.8M]

    ┣━━132 day12-04 拍品列表和添加拍品逻辑.mp4 [110.3M]

    ┣━━134 day12-06 拍品图片管理设计.mp4 [115.4M]

    ┣━━139 day13-03 django集成celery.mp4 [75.1M]

    ┣━━140 day13-04 celery定时任务的应用.mp4 [95.8M]

    ┣━━142 day13-06 答疑:ImageField字段和URLField字段.mp4 [43.8M]

    ┣━━143 day13-07 拍卖结束时定时任务实现思路.mp4 [226.1M]

    ┣━━145 day14-02 订单相关表结构.mp4 [28.4M]

    ┣━━146 day14-03 拍卖结束时生成订单实现.mp4 [101.7M]

    ┣━━147 day14-04 订单24小时不支付则逾期处理.mp4 [77.9M]

    ┣━━148 day14-05 开发任务.mp4 [20.1M]

    ┣━━149 day14-06 微信退款API和FieldField影响.mp4 [57.9M]

    ┣━━150 day14-07 答疑和任务安排.mp4 [33.3M]

    ┣━━151 day14-08 额外扩展:django contenttypes组件.mp4 [167.3M]

    ┣━━152 day14-09 额外扩展:related_name作用.mp4 [29.6M]

    ┣━━153 day14-10 今日安排.mp4 [12.5M]

    ┣━━154 day15 01 今日概要.mp4 [15.5M]

    ┣━━155 day15 02 功能测试:订单和退款处理.mp4 [120.5M]

    ┣━━156 day15 03 功能测试和代码梳理".mp4 [208.5M]

    ┣━━157 day15 04 功能测试:逾期未支付处理.mp4 [43.4M]

    ┣━━158 day15 05 优惠券功能查看.mp4 [17.5M]

    ┣━━159 day15 06 优惠券实现思路讨论.mp4 [72M]

    ┣━━160 day15 07 优惠券管理示例:创建优惠券.mp4 [58.3M]

    ┣━━161 day15 08 优惠券管理示例:创建优惠券补充.mp4 [37.8M]

    ┣━━162 day15 09 优惠券管理示例:删除优惠券.mp4 [9.6M]

    ┣━━163 day15 10 优惠券管理示例:编辑优惠券.mp4 [37.6M]

    ┣━━164 day15 11 小程序和API示例:领券中心.mp4 [38.1M]

    ┣━━165 day15 12 小程序和API示例:领取优惠券.mp4 [51.7M]

    ┣━━166 day15 13 小程序和API示例:我的优惠券.mp4 [44.5M]

    ┣━━167 day15 14 今日任务.mp4 [15.3M]

    ┣━━168 day15 15 答疑.mp4 [25.7M]

    ┣━━169 day15 16 答疑补充.mp4 [4.4M]

    ┣━━170 day16 01 今日概要.mp4 [9.4M]

    ┣━━171 day16 02 登录整合.mp4 [35.4M]

    ┣━━172 day16 03 登录整合.mp4 [55.8M]

    ┣━━173 day16 04 用户认证.mp4 [69.7M]

    ┣━━174 day16 05 自定义认证组件.mp4 [38M]

    ┣━━175 day16 06 思考题.mp4 [6.9M]

    ┣━━176 day16 07 认证组件多应用.mp4 [55.9M]

    ┣━━177 day16 08 自定义tabbar.mp4 [137.2M]

    ┣━━178 day16 09 认证之后才能发布.mp4 [8.6M]

    ┣━━179 day16 10 上述总结.mp4 [10.9M]

    ┣━━180 day16 11 序列化组件中如何获取request.mp4 [12.1M]

    ┣━━181 day16 12 新闻点赞处理.mp4 [116.5M]

    ┣━━182 day16 13 小程序阶段内容总结.mp4 [50.8M]

    ┣━━183 day16 14 后端api阶段内容总结.mp4 [86.1M]

    ┣━━184 day16 15 django 离线脚本补充.mp4 [5.9M]

    ┣━━本套课程来自52kt.net.png [18.5K]

    ┣━━更多课程:52kt.net.url [107B]

    ┣━━078 day7-示例讲解:评论展示.mp4 [93.3M]

    ┣━━080 day7-示例讲解:发布评论.mp4 [109.7M]

    ┣━━081 day7-示例讲解:回复评论.mp4 [123.7M]

    ┣━━086 day8-用户认证.mp4 [68.9M]

    ┣━━089 day8-07 认证组件多应用.mp4 [54.1M]

    ┣━━090 day8-08 自定义tabbar.mp4 [131.7M]

    ┣━━094 day8-12 新闻点赞处理.mp4 [112.6M]

    ┣━━095 day8-13 小程序阶段内容总结.mp4 [44.5M]

    ┣━━096 day8-14 后端api阶段内容总结.mp4 [80.7M]

    ┣━━097 day8-15 django 离线脚本补充.mp4 [5.9M]

    ┣━━098 day9-01 微信支付账号申请.mp4 [21.7M]

    ┣━━099 day9-02 微信支付步骤.mp4 [8.9M]

    ┣━━100 day9-03 案例:表结构设计.mp4 [15.5M]

    ┣━━101 day9-04 案例:用户登录和统一下单.mp4 [271.3M]

    ┣━━102 day9-05 案例:支付和通知.mp4 [72.8M]

    ┣━━103 day9-06 微信支付总结.mp4 [10M]

    ┣━━104 day9-07 今日任务.mp4 [4.6M]

    ┣━━105 day10-01 今日概要和celery简介.mp4 [19.3M]

    ┣━━106 day10-02 celery介绍和快速上手.mp4 [59.3M]

    ┣━━107 day10-03 celery简单示例.mp4 [13.7M]

    ┣━━108 day10-04 celery在django中的应用(01).mp4 [48.9M]

    ┣━━109 day10-05 celery在django中的应用(02).mp4 [49.9M]

    ┣━━110 day10-06 celery总结.mp4 [17.4M]

    ┣━━111 day10-07 celery定时任务.mp4 [53.3M]

    ┣━━112 day10-08 celery其他.mp4 [2.6M]

    ┣━━113 day10-09 接口示例:拍卖专场.mp4 [147.8M]

    ┣━━114 day10-10 接口示例:拍卖专场.mp4 [63.2M]

    ┣━━115 day10-11 接口示例:专场详细.mp4 [117.6M]

    ┣━━116 day10-12 接口示例:专场详细.mp4 [13.2M]

    ┣━━117 day10-13 接口示例:单品详细.mp4 [51.2M]

    ┣━━118 day10-14 接口示例:保证金.mp4 [50.7M]

    ┣━━119 day10-15 接口示例:竞价.mp4 [125.2M]

    ┣━━120 day10-16 接口实例:事物和锁补充.mp4 [35.5M]

    ┣━━121 day10-17 明年预告.mp4 [8M]

    ┣━━122 day11-01 小程序项目概述和闭包补充讲解.mp4 [134.2M]

    ┣━━123 day11-02 小程序发布和登录功能回顾.mp4 [29.4M]

    ┣━━124 day11-03 小程序后端API知识点回顾.mp4 [23.7M]

    ┣━━125 day11-03 小程序拍卖业务回顾.mp4 [36M]

    ┣━━126 day11-04 小程序后台管理业务功能.mp4 [15M]

    ┣━━127 day11-05 项目后续安排预览.mp4 [8.9M]

    ┣━━128 day11-06 后台管理任务和技术要求.mp4 [88.4M]

    ┣━━130 day12-02 datetimepicker及会议室预定扩展.mp4 [74.9M]

    ┣━━131 day12-03 阶段答疑.mp4 [12.6M]

    ┣━━133 day12-05 拍品规格管理.mp4 [32.1M]

    ┣━━135 day12-07 编辑和删除拍品.mp4 [30.7M]

    ┣━━136 day12-08 今日开发任务.mp4 [31M]

    ┣━━137 day13-01 内容回顾.mp4 [27.9M]

    ┣━━138 day13-02 今日概要.mp4 [6.3M]

    ┣━━141 day13-05 答疑:task和shared_task的区别.mp4 [32.9M]

    ┗━━144 day14-01 今日概要.mp4 [6.3M]

    相关下载

    展开全文
  • 项目利用基于Python开发的Django框架作为服务器,开发一款微信小程序版本的短视频应用。
  • 从零到有写一个小程序系列专题,很早以前就想写来分享,但由于项目一直在进展,没有过多的时间研究技术,现在可以继续分享了。1:注册用没有注册过微信公众平台的邮箱注册一个微信公众号, 申请帐号 ,点击 ...
  • 刘霖李德帅胡家麟石建鑫来源:《智能计算机与应用》2018年第04期摘要:本研究主要是开发一个基于微信小程序的高校图书馆服务系统(以东北林业大学图书馆为例),该系统运用已有的数字图书系统,应用PythonWeb爬虫、...
  • 小程序,巧应用:微信小程序开发实战(第2版)作者:熊普江;谢宇华 编著出版日期:2017年07月文件大小:10.36M支持设备:¥45.00在线试读适用客户端:言商书局iPad/iPhone客户端:下载 Android客户端:下载PC客户端:...
  • 哪个Python库可以操作登录微信公众号后,可以自动操作公众号里的内容。selenium库如何使用python语言开展微信端网页自动化测试我之前是做自动化工,学了perl,python,发现perl语法比较难,python比较简单,性也很好...
  • 模块开发微信小程序QuickStart为例,微信小程序模块采用CommonJS规范 utils/util.js function formatTime(date) { var year = date.getFullYear() var month = date.getMonth() + 1 var day = date.getDate() ...
  • ——/2020-Python+微信小程序开发实战/ ├──微信小程序课件 | └──微信小程序课件.rar 28.04M ├──001 day1-01 小程序介绍.mp4 15.34M ├──002 day1-02 小程序环境搭建.mp4 88.74M ├──003 day1-03 全局...
  • 那么关于微信小程序开发可能有很多人都不是那么的清楚,但是其制作还有申请的方式不管是企业来说还是个人来说都没有那么困难。但是要是想做好了微信小程序开发,那肯定无疑给自己的产品服务更上了层楼了。毕竟现在的...
  • Python+微信小程序开发仿抖音短视频小程序项目实战 熟悉Android及...
  • 微信小程序·云开发云数据库的基本使用-微信小程序开发实例-腾讯云微信小程序浏览量:1120时间:2020-04-06
  • 微信登录首先自行阅读小程序开发文档,构造请求。基本上前端给个jscode,后台就能向微信服务器发请求了,大概是这样:url = "https://api.weixin.qq.com/sns/jscode2session?appid={}&secret={}&js_code={}&...
  • 原标题:你知道微信小程序开发收费吗?你知道微信小程序开发收费吗?冰棍科技程序 2017-12-16 微信小程序越来越受人们的欢迎,这是为什么呢?因为小程序的出现,让我们的生活更加方便了起来,比如说,我们出门可以...
  • 你用python写过哪些好玩的微信小程序?首先要明确一点,python是后台语言,不能直接用python来写微信小程序的。微信小程序是用javascript和css来写的。python只是用来给小程序提供后台数据用的。同样可以为小程序...
  • 1 #-*- coding:utf-8 -*-2 importrequests3 importhashlib4 importxmltodict5 importtime6 importrandom7 importstring8 importurllib29 importsys101112 classWX_PayToolUtil():13 "...微信支付工具&qu...
  • 所以怎么去做好微信小程序开发并不是只有小程序开发公司的问题,我们在帮助企业做小程序的时候一定要在充分的沟通还有交流之下去做。因为没有了解客户的要求我们在小程序开发上面是很难进行的。因此可见,注重沟通...
  • 那么在本篇,我们就将结合微信小程序开发PythonWeb开发,来完成一个朋友圈神器微信小程序的开发,这个微信小程序作为一个工具型的应用,供用户输入姓名或其他字段,生成一个带有炫耀成分的照片。比如,移民申请表....
  • Python 开发者的微信小程序开发实践

    万次阅读 2018-04-12 10:44:08
    2017年微信小程序横空出世,惊诧了中国移动互联网。看重者言其将革了 IOS 和 Android 的命,看轻者斥其必将无所作为。 无论重视或是轻视,微信小程序都越来越多地出现在了我们的生活、工作和学习中。前期大量的工具...
  • 填坑记录:1.个人微信公众订阅号是不能申请微信认证的。公众号的类型在注册时一旦选择就不能更改,微信公众号认证的功能除个人订阅号外,都可以...微信开发工具创建微信小程序填写的appid是小程序的appid(不是微信公...
  • 微信小程序开发之云数据库入门介绍开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。其基础能力数据库,是一个JSON数据库,作用是无需自建数据库,就可以在微信小程序前端操作...
  • 小程序定制时,应注意一些小程序的功能,如附近的小程序、会员卡等,因为这些功能可以连接零售行业的线上和线下用户,加速新零售的落地。此外,小程序的定制版本还具有秒杀、拼团营销功能,企业可以使用这些功能...
  • 如何使用 Python 开发微信小程序

    万次阅读 多人点赞 2019-04-17 08:39:00
    在知乎上,有人提问“如何使用Python开发微信小程序”。其实微信小程序作为一个前端的机制,Python并不能插上边。只不过可以作为后端接口为微信小程序提供数据服务...
  • 填坑记录:1.个人微信公众订阅号是不能申请微信认证的。公众号的类型在注册时一旦选择就不能更改,微信公众号认证的功能除个人订阅号外,都可以...微信开发工具创建微信小程序填写的appid是小程序的appid(不是微信公...
  • 第1章 《Python Flask构建微信小程序订餐系统》课程简介本章内容会带领大家通览整体架构,功能模块,及学习建议。让大家在一个清晰的开发思路下,进行后续的学习。同时领着大家登陆https://food.54php.cn(使用微信扫...
  • 本文实例为大家分享了微信小程序开发之数据库操作的具体代码,供大家参考,具体内容如下新建集合1.打开云开发控制台,数据库2.添加集合users添加代码onAdd: function () {const db = wx.cloud.database()db....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 891
精华内容 356
关键字:

python微信小程序开发

python 订阅
微信小程序 订阅