微信小程序基本结构

这篇具有很好参考价值的文章主要介绍了微信小程序基本结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文件目录结构

微信小程序基本结构,微信小程序,微信小程序,小程序,django

微信小程序基本结构,微信小程序,微信小程序,小程序,django

app.js 是入口文件。

项目配置文件
微信小程序基本结构,微信小程序,微信小程序,小程序,django

一个页面四个文件
微信小程序基本结构,微信小程序,微信小程序,小程序,django

创建一个页面

在全局配置文件中加一行,即创建一个一个页面,和它的所有文件
微信小程序基本结构,微信小程序,微信小程序,小程序,django
可以 alt+up 或down来移动位置

新建一个小程序项目

填入自己appid

搭建目录结构

微信小程序基本结构,微信小程序,微信小程序,小程序,django

搭建项目页面

微信小程序基本结构,微信小程序,微信小程序,小程序,django
微信小程序基本结构,微信小程序,微信小程序,小程序,django

引⼊字体图标

微信小程序基本结构,微信小程序,微信小程序,小程序,django
选取需要的图标字体,加入购物车中。
微信小程序基本结构,微信小程序,微信小程序,小程序,django
选择以类方法引入。

微信小程序基本结构,微信小程序,微信小程序,小程序,django
下载此链接
微信小程序基本结构,微信小程序,微信小程序,小程序,django
粘贴到这里。
微信小程序基本结构,微信小程序,微信小程序,小程序,django
做全局引入
总结

  1. 打开阿⾥巴巴字体图标 ⽹站
  2. 选择的图标
  3. 添加⾄项⽬
  4. 下载到本地
  5. 将样式⽂件 由 css 修改为 wxss
  6. ⼩程序中引⼊

搭建项⽬tabbar结构

新建icon文件夹,把需要的图标放入

微信小程序基本结构,微信小程序,微信小程序,小程序,django

修改app.json
微信小程序基本结构,微信小程序,微信小程序,小程序,django

标签初始化

微信小程序基本结构,微信小程序,微信小程序,小程序,django
定义主题颜色和统一字体大小。
微信小程序基本结构,微信小程序,微信小程序,小程序,django

自定义组件

开发者可以将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用;也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护。自定义组件在使用时与基础组件非常相似。

类似于页面,一个自定义组件由 json wxml wxss js 4个文件组成。要编写一个自定义组件,首先需要在 json 文件中进行自定义组件声明(将 component 字段设为 true 可将这一组文件设为自定义组件):

{
  "component": true
}

同时,还要在 wxml 文件中编写组件模板,在 wxss 文件中加入组件样式,它们的写法与页面的写法类似。

声明一个自定义组件

下面将在首页和其他页面中使用。
微信小程序基本结构,微信小程序,微信小程序,小程序,django

引用这个组件

那个页面使用,就在那个页面引用。
在首页的配置文件声明引用该组件。加入键值对,使用的是相对路径。
微信小程序基本结构,微信小程序,微信小程序,小程序,django
微信小程序基本结构,微信小程序,微信小程序,小程序,django

增加组件功能

增加导航标签,和链接。
微信小程序基本结构,微信小程序,微信小程序,小程序,django

修改样式使美观

微信小程序基本结构,微信小程序,微信小程序,小程序,django

请求网络

开发文档

https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html

微信小程序基本结构,微信小程序,微信小程序,小程序,django

示例代码

wx.request({
  url: 'example.php', //仅为示例,并非真实的接口地址
  data: {				//请求参数
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/json' // 默认值
  },
  success (res) {
    console.log(res.data)
  }
})

真实例子

参数接收

export const request=(params)=>{
  // 判断 url中是否带有 /my/ 请求的是私有的路径 带上header token
  let header={...params.header};
  if(params.url.includes("/my/")){
    // 拼接header 带上token
    header["Authorization"]=wx.getStorageSync("token");
  }

发起请求

  return new Promise((resolve,reject)=>{
    wx.request({
     ...params,    //传过来的参数,展开如下所示
     header:header,
     url:baseUrl+params.url,
     success:(result)=>{
       resolve(result.data.message);
     },
     fail:(err)=>{
       reject(err);
     },
     complete:()=>{
      ajaxTimes--;
      if(ajaxTimes===0){
        //  关闭正在等待的图标
        wx.hideLoading();
      }
     }
    });
  })

params参数展开

微信小程序基本结构,微信小程序,微信小程序,小程序,django

参数来源

  // 接口要的参数
  QueryParams:{
    query:"",
    cid:"",
    pagenum:1,
    pagesize:10
  },
  // 总页数
  totalPages:1,
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.QueryParams.cid=options.cid||"";
    this.QueryParams.query=options.query||"";
    this.getGoodsList();
  },

参数传入

微信小程序基本结构,微信小程序,微信小程序,小程序,django

首页

轮播图效果

获取轮播图接口数据

微信小程序基本结构,微信小程序,微信小程序,小程序,django

应用轮播图数据

微信小程序基本结构,微信小程序,微信小程序,小程序,django

分类导航图标

导航图标元素来自接口
新建一个分类导航图标数据模型,将数据存入其中。
微信小程序基本结构,微信小程序,微信小程序,小程序,django

微信小程序基本结构,微信小程序,微信小程序,小程序,django

微信小程序基本结构,微信小程序,微信小程序,小程序,django

微信小程序基本结构,微信小程序,微信小程序,小程序,django
接口请求增加分页?/limit=4&offset=4*(n-1) ,n 为页码。需要拼接下字符串。
js和wxml使用循环获得数据来展示。

列表页面

触底加载和下拉刷新

微信小程序基本结构,微信小程序,微信小程序,小程序,django

微信小程序基本结构,微信小程序,微信小程序,小程序,django

图片上传

postman
微信小程序基本结构,微信小程序,微信小程序,小程序,django
前端代码

// 提交按钮的点击
  handleFormSubmit() {
    // 1 获取文本域的内容 图片数组
    const { textVal, chooseImgs } = this.data;
    // 2 合法性的验证
    if (!textVal.trim()) {
      // 不合法
      wx.showToast({
        title: '输入不合法',
        icon: 'none',
        mask: true
      });
      return;
    }
    // 3 准备上传图片 到专门的图片服务器 
    // 上传文件的 api 不支持 多个文件同时上传  遍历数组 挨个上传 
    // 显示正在等待的图片
    wx.showLoading({
      title: "正在上传中",
      mask: true
    });
    // 判断有没有需要上传的图片数组
    if (chooseImgs.length != 0) {
      chooseImgs.forEach((v, i) => {
        wx.uploadFile({
          // 图片要上传到哪里
          url: 'http://192.168.2.21:8000/news/image_upload',
          // 被上传的文件的路径
          filePath: v,
          // 上传的文件的名称 后台来获取文件  file,对象的key,图片保存路径为值。
          name: "image",
          // 顺带的文本信息
          formData: {},
          success: (result) => {
            console.log(result);
            let url = JSON.parse(result.data).url;
            this.UpLoadImgs.push(url);
            // 所有的图片都上传完毕了才触发  
            if (i === chooseImgs.length - 1) {
              wx.hideLoading();
              console.log("把文本的内容和外网的图片数组 提交到后台中");
              //  提交都成功了
              // 重置页面
              this.setData({
                textVal: "",
                chooseImgs: []
              })
              // 返回上一个页面
              wx.navigateBack({
                delta: 1
              });
            }
          }
        });
      })
    }else{
      wx.hideLoading();
      console.log("只是提交了文本");
      wx.navigateBack({
        delta: 1
      });
    }
  }
})

drf后端代码
views.py


class ImageView(CreateAPIView):
    model = Image
    serializer_class = ImageSerializer
    parser_classes = (parsers.MultiPartParser,)
    permission_classes = (permissions.AllowAny,)

urls.py

    path('image_upload', ImageView.as_view(), name='image'),

name 参数可选。
models.py

class Image(models.Model):
    image = models.ImageField(upload_to='images/uploads/%Y/%m/%d/', blank=True)

image是传递的key,前端把值绑定这个key,后端获得。
serializers.py

class ImageSerializer(serializers.ModelSerializer):
    class Meta:
        model = Image
        fields = ("image",)

框架

整个程序的框架,及其部件用法。

小程序配置

小程序根目录下的 app.json 文件用来对微信小程序进行全局配置。文件内容为一个 JSON 对象,有以下属性

全局配置

全局页面在这里配置

页面配置

单独页面的配置在这里

sitemap 配置
场景值

框架接口

生命周期函数

WXML 语法参考

数据绑定

视图层事件

全局变量

定义全局变量

在app.js中
微信小程序基本结构,微信小程序,微信小程序,小程序,django

引用全局变量

微信小程序基本结构,微信小程序,微信小程序,小程序,django文章来源地址https://www.toymoban.com/news/detail-800809.html

循环和条件渲染

 <view class="goods_info_content" wx:for="{{goodsObj.goods_introduce}}" wx:for-item="item" wx:for-index="index" wx:key="id">
    <view wx:if="{{goodsObj.goods_introduce[index].type=='image_block'}}">
      <image mode="widthFix" src="{{webRootUrl+goodsObj.goods_introduce[index].value.image.mobile.src}}"></image>
    </view>
    <!-- 富文本 -->
    <view wx:if="{{goodsObj.goods_introduce[index].type=='paragraph_block'}}">
      <rich-text nodes="{{goodsObj.goods_introduce[index].value}}"></rich-text>
    </view>
  </view>

到了这里,关于微信小程序基本结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python django + 微信小程序 商城源码

    一、背景介绍 随着互联网的快速发展,线上购物越来越普及,而商城小程序作为一种便捷的购物方式,正逐渐成为消费者的首选。为了满足市场需求,我们利用Django和微信小程序技术,设计并实现了一个智能商城小程序,旨在为用户提供更加便捷、智能的购物体验。 二、技

    2024年02月19日
    浏览(40)
  • django小方块甜品店微信小程序(程序+开题)

    本系统(程序 + 源码 + 数据库 + 调试部署 + 开发环境)带文档 lw 万字以上,文末可获取   研究背景: 随着移动互联网的快速发展,微信小程序成为了人们日常生活中不可或缺的一部分。在餐饮行业中,甜品店作为一种特殊的餐饮形式,也迫切需要一个能够提供便捷服务和良

    2024年02月01日
    浏览(35)
  • django基于微信小程序的员工绩效系统设计(程序+开题)

    本系统(程序 + 源码 + 数据库 + 调试部署 + 开发环境)带文档 lw 万字以上,文末可获取   研究背景: 随着信息技术的快速发展,企业对于员工绩效管理的需求越来越高。传统的绩效管理方式存在着信息不透明、效率低下等问题,无法满足现代企业对于绩效管理的精细化和科

    2024年02月02日
    浏览(44)
  • 微信小程序提交数据,python的django框架接收

    一、微信小程序部分,这里要注意:content-type的设置与后台接收的格式相关,在这里设置成application/x-www-form-urlencoded 二、python部分,这里用 json.loads方法加载整个 request.body,因为整个body就是一个json数据 原始数据是这样的:

    2024年02月12日
    浏览(41)
  • python+Django社区疫情防控系统 uniapp微信小程序

    随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,疫情监控系统小程序就是信息时代变革中的产物之一。  开

    2024年02月09日
    浏览(47)
  • 微信小程序——基本语法

    WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。 数据绑定 注意事项: 小程序中为单项数据流 model — view 修改数据: this.setData({message: ‘修改之后的数据’}, callback) 列表渲染 wx:for 也可以嵌套 在 block/ 标签上用wx:for,可

    2024年02月09日
    浏览(35)
  • 微信小程序基本使用流程

    微信小程序官方文档 调接口 建议封装后使用,原生方法太繁琐 添加页面 右键-新建Page-输入页面名称会自动生成四个文件 底部 tab 要在 app.json 中的 pages 中添加组件路径 在 tarBar 中的list中 pagePath (配置路径,在pages中要有!!!) text (显示文字) iconPat (当点击时它显示的图标

    2024年02月06日
    浏览(39)
  • 微信小程序uniapp+vue校园垃圾分类系统django/springboot/php/

    在对系统进行功能需求分析,首先要了解系统的使用场合和使用人群。本系统是针对现垃圾分类中的问题而开发的一套微信小程序的校园垃圾分类识别系统。基于小程序的形式完成对管理。本系统分为三个权限:系统管理员、求助人、用户。 (1)    系统管理员的功能:

    2024年03月14日
    浏览(72)
  • Django后台和微信小程序之间使用session方法,出现小程序访问404,Django后台找不到指定的URL问题解决

    在Django后台开启session中间件,小程序端请求Django后台的session属性,在Django中执行session会话操作,并响应应答给小程序,在小程序端执行cookie的缓存和读取操作。 在上述的功能完成后,小程序端访问时出现404错误,Django后台找不到指定的URL路径。 1、排查Django后台的URL路径是

    2024年02月06日
    浏览(47)
  • 微信小程序的基本操作

    第一步:注册账号,安装微信小程序开发者工具 第二步:新建项目,不使用云服务,选择JavaScript语言 pages:用来存放小程序所有的页面 utils:用来存放工具性质的模块(例如:格式化时间的自定义模块) app.js: 小程序项目的入口文件 app.json: 小程序项目的全局配置文件 ap

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包