我的编程空间,编程开发者的网络收藏夹
学习永远不晚

关于加快微信小程序开发的一些小建议

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

关于加快微信小程序开发的一些小建议

1.使用 app.json创建页面

​ 按照我们平常的开发习惯,创建一个新的页面,一般都会先创建文件夹,再创建对应page的形式,创建完成后,app.json中会自动注册该页面。实际上,我们还可以通过直接在app.json中注册页面来生成对应的page。


"pages": [
    "pages/index/index",
    "pages/newpage/newpage"
 ],

​ 如上所示,在配置文件中注册该路径,小程序就会自动创建该对应路径。

2.善用编译模式

​ 我们想要调试某个页面时,相当一部分开发者习惯于直接修改app.json来调整首个入栈页面,实际上完全可以使用编译模式添加编译页面,来代替修改配置文件的行为。

3.组件复用小程序样式

​ 这一点经常被遗忘,因为新建component的时候,小程序并不会展示该配置项。配置options如下,组件可以使用全局样式(app.wxss)


Component({
  //继承colorui样式
  options: {
    addGlobalClass: true,
    multipleSlots: true
  },
  ...
 }

4.app.js初始化内容函数化

​ 很多小程序onLaunch中写着大量的内容,混乱不堪,后期调试尤为痛苦。可以将不同的初始化内容写为不同的函数,函数化、模块化。


onLaunch: function(options) {
    //此处需要有对进入小程序方式的处理
    this.InitCloud(); //初始化云服务 / ESC
    this.InitCustom(); //初始化custom所需配置信息
    this.InitEdu(); //初始化教务系统配置
 },

5.善用template

​ 对于内容大量重复的wxml内容,可以将之抽离为template模板文件,使用时直接导入使用即可。


<import class="lazy" data-src="template/NexuTemplate.wxml"/>
<view wx:for="{{dirlist}}" wx:key="item">
 <template is="dirshow" data="{{item}}"></template>
</view>

6.云开发混合开发

​ 内容安全识别,openid获取,图片鉴黄,支付流程,内容推送这些东西如果使用自己的后台实现,并不是这么简单,但是如果使用了云开发的技术替换这一部分,自己专注于业务逻辑,你会打开一片新天地。

云开发部分功能(后面我会专门写一篇文章介绍云开发混合开发的内容):


const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})


// 云函数入口函数
exports.main = async (event, context) => {
  // console.log(event)
  switch (event.action) {
    case 'getWXACode': {
      return getWXACode(event)
    }
    case 'getOpenData': {
      return getOpenData(event)
    }
    case 'msgSecCheck': {
      return msgSecCheck(event)
    }
    case 'imgSecCheck': {
      return imgSecCheck(event)
    }
    case 'submitPages': {
      return submitPages(event)
    }
    default: {
      return
    }
  }
}

//获取小程序码
async function getWXACode(event) {
  console.log(event.url)
  // 此处将获取永久有效的小程序码,并将其保存在云文件存储中,最后返回云文件 ID 给前端使用

  const wxacodeResult = await cloud.openapi.wxacode.get({
    path: event.url || 'pages/index/index',
  })

  const fileExtensionMatches = wxacodeResult.contentType.match(/\/([^\/]+)/)
  const fileExtension = (fileExtensionMatches && fileExtensionMatches[1]) || 'jpg'

  const uploadResult = await cloud.uploadFile({
    // 云文件路径,此处为演示采用一个固定名称
    cloudPath: `wxCode/wxCode${Math.random() * 9999999}.${fileExtension}`,
    // 要上传的文件内容可直接传入图片 Buffer
    fileContent: wxacodeResult.buffer,
  })

  if (!uploadResult.fileID) {
    throw new Error(`上传失败,文件为空,存储服务器状态代码为空 ${uploadResult.statusCode}`)
  }

  return uploadResult.fileID
}

// 获取openid
async function getOpenData(event) {
  // 需 wx-server-sdk >= 0.5.0
  const wxContext = cloud.getWXContext()

  return {
    event,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
  }
}

// 检测文本是否合规
async function msgSecCheck(event) {
  // 需 wx-server-sdk >= 0.5.0
  return cloud.openapi.security.msgSecCheck({
    content: event.content,
  })
}

// 检测图片是否合规
async function imgSecCheck(event) {
  return cloud.openapi.security.imgSecCheck({
    media: {
      contentType: event.contentType,
      value: Buffer.from(event.value)
    }
  })
}

// 收录页面
async function submitPages(event) {
  return cloud.openapi.search.submitPages({
    pages: [{
      path: event.path,
      query: event.query
    }]
  })
}




//获取日期
function getDateTime(sj) {
  var now = new Date(sj * 1000);
  var year = now.getFullYear();
  var month = now.getMonth() + 1;
  var date = now.getDate();
  var hour = now.getHours();
  var minute = now.getMinutes();
  // var second = now.getSeconds();
  return year + "年" + month + "月" + date + "日";
}

7.将个人配置数据集中到一个文件中

​ 比如说服务器域名、接口令牌这些可能会变化,但经常使用的数据,集中到一个文件中。


module.exports={
  UseCloud:true,
  CloudId:'',      //云开发环境id
  TraceUser:true,           //记录用户访问日志
  AdaptStorge:true,         //允许缓存用户数据
  SevDomain:'http://localhost'     //服务器的域名
}

8.善用开发者工具的版本管理工具

总结

到此这篇关于关于加快微信小程序开发的一些小建议的文章就介绍到这了,更多相关微信小程序开发建议内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

关于加快微信小程序开发的一些小建议

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

微信小程序|基于小程序+云开发制作一个菜谱小程序

今天吃什么?这是一个让强迫症左右为难的问题,跟随此文基于小程序+云开发制作一个菜谱小程序,根据现有食材一键生成菜谱,省心又省力。 一、小程序 1. 创建小程序
2023-08-20

微信小程序开发常用的快捷键有哪些

本文小编为大家详细介绍“微信小程序开发常用的快捷键有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序开发常用的快捷键有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。微信小程序开发快捷键Mac O
2023-06-26

【小程序】快来开发你的第一个微信小游戏(详细流程)

🥳 作者:伯子南 😎 坚信: 好记性不如乱笔头,独乐乐不如众乐乐 💪 个人主页:https://blog.csdn.net/qq_34577234?spm=1010.2135.3001.5
2023-08-16

微信小程序的开发类型有哪些

本篇内容主要讲解“微信小程序的开发类型有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序的开发类型有哪些”吧!一、企业展示类型企业展示类小程序相当于一个企业官网的小程序版。它的名称具
2023-06-27

微信小程序开发的优势有哪些

小编给大家分享一下微信小程序开发的优势有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!优势一:合理转化 应用微信公众平台往微信小程序引流方法,接着应用微信小程
2023-06-27

支付宝小程序与微信小程序开发的区别有哪些

这篇文章主要介绍支付宝小程序与微信小程序开发的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!浅谈支付宝小程序与微信小程序开发的区别一、app.json(1)设置小程序通用的的状态栏、导航条、标题、窗口背景色
2023-06-14

开发微信小程序有哪些独特的优势

这篇文章主要介绍“开发微信小程序有哪些独特的优势”,在日常操作中,相信很多人在开发微信小程序有哪些独特的优势问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”开发微信小程序有哪些独特的优势”的疑惑有所帮助!接下来
2023-06-27

微信小程序开发有哪些常见的问题

这篇文章主要介绍了微信小程序开发有哪些常见的问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序开发有哪些常见的问题文章都会有所收获,下面我们一起来看看吧。1.小你程序到底是什么?小程序是无需下载和安装
2023-06-27

微信小程序开发常见的问题有哪些

这篇文章主要介绍微信小程序开发常见的问题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、什么是小程序? 和公众号类似,企业可自行认证申请发布,免费获取微信流量。但小程序比公众号的内容形式更丰富,兼顾网站、Ap
2023-06-27

微信小程序开发时遇到的坑有哪些

这篇文章主要讲解了“微信小程序开发时遇到的坑有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序开发时遇到的坑有哪些”吧!最近参与开发了公司的第一款小程序,开发体验基本类似于基于w
2023-06-13

【微信小程序开发】学习小程序的模块化开发(自定义组件和分包加载)

前言 模块化开发是一种将复杂的应用程序分解为一系列独立的模块,每个模块负责完成特定的功能的开发方式。模块化开发可以提高代码的可维护性和可复用性,使开发过程更加高效和灵活。 文章目录 前言模块化开发的重要性和优势自定义组件自定
【微信小程序开发】学习小程序的模块化开发(自定义组件和分包加载)
2023-12-22

【微信小程序开发】一文带你详解小程序组件和 API 的使用

引言 在小程序开发中,组件和API是非常重要的部分,它们可以帮助我们构建丰富的用户界面和实现各种功能。本文将介绍小程序中常用的组件和API,并提供相应的代码示例。 文章目录 引言组件文本组件图片组件按钮组件输入框组件列表组件
2023-08-20

微信小程序开发要注意的事项有哪些

这篇文章主要介绍了微信小程序开发要注意的事项有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序开发要注意的事项有哪些文章都会有所收获,下面我们一起来看看吧。1、微信小程序开发注意是否导航明确有非常完
2023-06-27

微信小程序开发常见的问答题有哪些

这篇文章主要介绍“微信小程序开发常见的问答题有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序开发常见的问答题有哪些”文章能帮助大家解决问题。  Q:navigateTo 没有返回按钮。
2023-06-26

如何使用HBuilderX开发一个简单的微信小程序

这篇文章将为大家详细讲解有关如何使用HBuilderX开发一个简单的微信小程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、配置在微信开发者工具的设置中开启,如图:在HBuilderX中新建项目,选择
2023-06-29

微信小程序开发过程中常见的问题有哪些

这篇文章将为大家详细讲解有关微信小程序开发过程中常见的问题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Q:为什么脚本内不能使用window等对象A:页面的脚本逻辑是在JsCore中运行,JsCor
2023-06-26

微信小程序开发的出现带来了哪些好处

这篇文章主要为大家展示了“微信小程序开发的出现带来了哪些好处”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序开发的出现带来了哪些好处”这篇文章吧。1、实现引流,提高效率微信小程序对于实体
2023-06-27

开发微信小程序需要了解的知识有哪些

今天给大家介绍一下开发微信小程序需要了解的知识有哪些。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。经常有朋友和客户要求开发一些电商方面的微信小程序,小程序用起
2023-06-05

编程热搜

目录