做流量网站怎么做,推广普通话的宣传语,残疾人信息无障碍网站建设,各大网站搜索引擎✨✨ 欢迎大家来到景天科技苑✨✨
#x1f388;#x1f388; 养成好习惯#xff0c;先赞后看哦~#x1f388;#x1f388; #x1f3c6; 作者简介#xff1a;景天科技苑 #x1f3c6;《头衔》#xff1a;大厂架构师#xff0c;华为云开发者社区专家博主#xff0c;…
✨✨ 欢迎大家来到景天科技苑✨✨ 养成好习惯先赞后看哦~ 作者简介景天科技苑 《头衔》大厂架构师华为云开发者社区专家博主阿里云开发者社区专家博主CSDN全栈领域优质创作者掘金优秀博主51CTO博客专家等。 《博客》Python全栈前后端开发小程序开发人工智能js逆向App逆向网络系统安全数据分析Djangofastapiflask等框架linuxshell脚本等实操经验网站搭建数据库等分享。 所属的专栏微信小程序开发零基础教学难点与应用实战总结 景天的主页景天科技苑 文章目录 发送网络请求1.微信发送网络请求2.后端接口3.发送请求4.loading提示框5.结合爬虫实战案例 发送网络请求
在之前的小程序开发章节中全是在微信小程序端操作没有加入后端内容。
本文将详细讲讲如何从后端获取数据需要在微信小程序端发送网络请求获取数据显示在小程序上
1.微信发送网络请求
注意发送网络请求的域名必须在微信公众平台配置
本地环境去除只适用于开发版和体验版
配置域名 登录小程序后台–开发管理 必须配置在工信部备案的域名
未备案的域名不能填写
我们本地开发不需要域名只需要在开发者工具中详情配置里面勾选不校验合法域名即可 这样开发和体验的微信号就不用域名也可以访问
2.后端接口
使用django后端写个接口返回用户信息微信小程序端发送请求获取数据显示在微信小程序端
视图层
from django.shortcuts import renderfrom django.http import JsonResponseimport timeimport json
import requests# Create your views here.#写个接口返回数据def index(request):# time.sleep(3)return JsonResponse({name:彭于晏,age:39,hobby:抽烟})url路由
from django.contrib import admin
from django.urls import pathfrom app import viewsurlpatterns [path(admin/, admin.site.urls),path(index/, views.index),浏览器访问得到响应数据
3.发送请求
###js### user:{}handleLoadUser(){// 发送请求之前 loading效果wx.showLoading({title: 加载中~~,mask:true // 显示透明蒙层设置后框后的按钮都不能点击了})wx.request({url: http://127.0.0.1:8000/index/,method:GET,//如果是get请求data就是请求参数如果是post请求data就是请求体数据data:{},header:{},success:(res){//请求成功console.log(请求成功结果为,res.data)//将请求结果更新到页面对象user中this.setData({user:res.data})},fail:(error){console.log(error)},complete:(res){// 关闭加载无论成功与否都会执行wx.hideLoading()}})},##wxml###
view---发送网络请求-----/view
view用户名{{user.name}}/view
view爱好{{user.hobby}}/view
view年龄{{user.age}}/view
button typeprimary bindtaphandleLoadUser加载用户信息/button4.loading提示框 wx.showLoading({title: 加载中稍后,mask:true // 显示透明蒙层})#关闭–必须手动关闭在complete中写的如论请求成功与否都会执行 wx.hideLoading()模拟网络请求延迟在后台延迟3秒再响应
点击加载出现加载中模态框
5.结合爬虫实战案例
卖座电影网数据展示 https://m.maizuo.com/v5/#/films/nowPlaying
通过代码调试得知返回的响应是在这个接口 https://m.maizuo.com/gateway?cityId440300pageNum1pageSize10type1k7329328
我们使用爬虫得到数据拿到小程序上展示
将该页面展示到小程序上 django接口代码
#返回电影接口def films(request):cookies {aliyungf_tc: 3b04bdddc2fcc08a2e07b5c05804eeb7f3559c2c0c84bea844e7c501a2c93bf6,acw_tc: ac11000117162716286612753e74b1e14e614cc55223c8721d0381c2eba53e,co: mzmovie,DEVICE_ID: 17162716284574994868731905,gr_user_id: f9c0d6d0-e26b-44f9-be62-d939767554ff,ac641e22637cd956_gr_session_id: c6136a17-7e24-4344-bd43-ba4216e3a7f8,ac641e22637cd956_gr_session_id_sent_vst: c6136a17-7e24-4344-bd43-ba4216e3a7f8,ac641e22637cd956_gr_last_sent_sid_with_cs1: c6136a17-7e24-4344-bd43-ba4216e3a7f8,ac641e22637cd956_gr_last_sent_cs1: undefined,_bl_uid: g8ldjw2hfeLz4ktFwed4oL96OgzU,COOKIE_CITY_ID: 440300,COOKIE_CITY_NAME: %E6%B7%B1%E5%9C%B3,COOKIE_BUSINESS_CITY: 440300,COOKIE_SERVICE_TIME: 1716271699,ac641e22637cd956_gr_cs1: undefined,}headers {Accept: application/json, text/plain, */*,Accept-Language: zh-CN,zh;q0.9,en;q0.8,Cache-Control: no-cache,Connection: keep-alive,# Cookie: aliyungf_tc3b04bdddc2fcc08a2e07b5c05804eeb7f3559c2c0c84bea844e7c501a2c93bf6; acw_tcac11000117162716286612753e74b1e14e614cc55223c8721d0381c2eba53e; comzmovie; DEVICE_ID17162716284574994868731905; gr_user_idf9c0d6d0-e26b-44f9-be62-d939767554ff; ac641e22637cd956_gr_session_idc6136a17-7e24-4344-bd43-ba4216e3a7f8; ac641e22637cd956_gr_session_id_sent_vstc6136a17-7e24-4344-bd43-ba4216e3a7f8; ac641e22637cd956_gr_last_sent_sid_with_cs1c6136a17-7e24-4344-bd43-ba4216e3a7f8; ac641e22637cd956_gr_last_sent_cs1undefined; _bl_uidg8ldjw2hfeLz4ktFwed4oL96OgzU; COOKIE_CITY_ID440300; COOKIE_CITY_NAME%E6%B7%B1%E5%9C%B3; COOKIE_BUSINESS_CITY440300; COOKIE_SERVICE_TIME1716271699; ac641e22637cd956_gr_cs1undefined,EagleEye-SessionID: undefined,EagleEye-TraceID: 69708c621716271709032100044555,Pragma: no-cache,Referer: https://m.maizuo.com/v5/,Sec-Fetch-Dest: empty,Sec-Fetch-Mode: cors,Sec-Fetch-Site: same-origin,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36,X-Client-Info: {a:3000,ch:1002,v:5.2.1,e:17162716284574994868731905,bc:440300},X-Host: mall.film-ticket.film.list,X-Requested-With: XMLHttpRequest,X-Token: undefined,sec-ch-ua: Not_A Brand;v8, Chromium;v120, Google Chrome;v120,sec-ch-ua-mobile: ?0,sec-ch-ua-platform: Windows,}params {cityId: 440300,pageNum: 1,pageSize: 10,type: 1,k: 7329328,}response requests.get(https://m.maizuo.com/gateway, paramsparams, cookiescookies, headersheaders)data response.textdata json.loads(data)films_data data[data][films]print(films_data,type(films_data))return JsonResponse(films_data,safeFalse)小程序 wxml
!--pages/now/now.wxml--view wx:for{{filmsList}} wx:keyindex styledisplay: flex;
view styleflex: 1; margin-right: 20rpx;image src{{item.poster}} modeaspectFit stylewidth: 130px;/
/viewview styleflex: 2; margin-top: 100rpx;view stylefont-weight: 900; {{item.name}} text style color: white; font-weight: 400; background-color: rgb(168, 159, 159) {{item.filmType.name}} /text /viewview观众评分 text stylecolor: orange{{item.grade}}/text/view view主演: text wx:for{{item.actors}} wx:keyindex {{item.name}}/text/viewview stylefont-size: 35rpx;{{item.nation}}| {{item.runtime}}分钟/view/view/view小程序wxjs
// pages/now/now.js
Page({/*** 页面的初始数据*/data: {filmsList:[],},/*** 生命周期函数--监听页面加载*/onLoad(options) {// 发送请求之前 loading效果wx.showLoading({title: 加载中~~,mask:true // 显示透明蒙层设置后框后的按钮都不能点击了})wx.request({url: http://127.0.0.1:8000/films/,method:GET,//如果是get请求data就是请求参数如果是post请求data就是请求体数据data:{},header:{},success:(res){//请求成功console.log(请求成功结果为,res.data)//将请求结果更新到页面对象user中this.setData({filmsList:res.data})},fail:(error){console.log(error)},complete:(res){// 关闭加载无论成功与否都会执行wx.hideLoading()}})},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})小程序展示效果大功告成成功将数据展示到小程序上