微信小程序的设计与实现

微信小程序的设计与实现

目录

1.系统简述:

2.开发工具及相关技术:

2.1 HTML、WXSS、JAVASCRIPT技术

2.2 Vanilla框架

2.3 uni-app框架

2.4 MYSQL数据库

3.工程结构及其说明:

4.主要功能展示

4.1登录

4.2 注册

4.3 首页界面

4.3.1 轮播图

4.3.2 中英翻译功能

4.3.3 其他功能界面

4.4 发现

4.4.1 视频播放功能

4.5 总体刷新功能

5运行教程

5.1 配置服务器域名:

5.2 运行

1.系统简述:

这款微信小程序利用Vanilla以及uni-app的框架,通过web+MYSQL的方式实现基本的功能。

2.开发工具及相关技术:

2.1 HTML、WXSS、JAVASCRIPT技术

·WXML是标签语言,用来构建小程序页面的结构,其作用类似于网页开发中的HTML。

·WXSS(WeiXin Style Sheets)是一种样式表语言,用于小程序的开发和界面渲染以及描述WXML的组件样式,类似于网页开发中的CSS。

·逻辑层(App Service)小程序开发框架的逻辑层是由JavaScript编写。

2.2 Vanilla框架

·原生小程序开发框架,也称为Vanilla框架,是微信官方提供的原始开发方式。微信小程序官方框架MINA分为两部分:视图层和 逻辑层。其中视图层描述语言为 WXML (WeiXin Markup Language)和 WXSS(WeiXin Style Sheets)这个小程序官方框架的思想和vue还是有相似之处的,不过这个框架是直接使用微信小程序所需要的wxml、wxss等文件使用原生框架开发,需要熟悉微信小程序的API和语法,代码写在WXML、WXSS和JavaScript文件中。原生框架灵活性较高,但开发复杂度也相对较高。

2.3 uni-app框架

·Uni-App是一家公司(DCloud)产品,公司承诺将一直开源且免费。 公司旗下有4个产品: HBuilder X:开发工具 uni-app:跨平台统一框架 uniCloud:云服务提供商 uniMPsdk:Mobile端sdk,用于接入uni-app开发的模块是一种基于Vue.js的跨平台开发框架,支持编译为微信小程序、H5、App等多个平台。uni-app的语法类似于Vue.js,开发者可以使用Vue的语法来编写小程序。

2.4 MYSQL数据库

·MySql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySql数据库有以下特点:

·Mysql是开源的,所以你不需要支付额外的费用。

·Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。MySQL使用标准的SQL数据语言形式。

·Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、EiffelRuby和Tcl等。

·Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。

·Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。

云开发数据库:小程序还可以使用云开发数据库来进行数据的持久化存储。云开发数据库是一个具备实时数据同步能力的JSON数据库,可在小程序中直接使用,无需搭建服务器。

3.工程结构及其说明:

项目名称mini-app包的说明:

pages

用来存放所有小程序的页面

utils

用来存放工具性质的模块(例如:格式化时间的自定义模块)

app.js

小程序项目的入口文件

app.json

小程序项目的全局配置文件

app.wxss

小程序项目的全局样式文件

project.config.json

项目的配置文件

sitemap.json

用来配置小程序及其页面是否允许被微信索引

4.主要功能展示

4.1登录

登录界面: 

登录成功时,会给出提示,并跳转::

4.2 注册

注册界面:

当信息填写不完整时,会给出提示:

如果该手机号被注册会显示:

注册过后的信息会被保留在数据库中,在CMS中可以看到。

4.3 首页界面

4.3.1 轮播图

选择微信小程序中的<swiper><swiper-item>,图片由于微信小程序中要满足图片和音频资源大小不超过200K,所以我是存储在cnd中,选择公开,点击详情,获取地址。

4.3.2 中英翻译功能

在百度API中,获取API Key和Secret Key ,在获取access_token,网络发起请求:wx.request

部分代码:

wx.request({

  url: 'https://aip.baidubce.com/rpc/2.0/mt/texttrans/v1?access_token=' +this.data.token,

  data: {

   ‘from’:’zh’,

‘to’:’en’,

‘q’:this.data.text

  },

  header: {

    'content-type': 'application/json' 

  },  

method:'POST',

  success (res) {

    console.log(res.data)

  }

})

4.3.3 其他功能界面

4.4 发现

发现界面:(点击对应的图标即可跳转,我在设置时,担心有人会点击文字部分,所以点击文字也可以跳转到对应页面)

4.4.1 视频播放功能

发现界面点击对应的图标跳转过后,出现对应的视频,可以发布弹幕,以及小窗口。。点击小窗口,当你退出来的时候就会出现一个弹窗。

4.5 总体刷新功能

   在.js中的window加入"enablePullDownRefresh": true,

开启下拉刷新,并在这里面将light更改为dark "backgroundTextStyle":"dark",

5运行教程

将安装包解压到当前文件夹,在微信开发者工具这个软件中,需要进行的操作:

5.1 配置服务器域名:

http://aipbaidubce.com

需要重启小程序,显示如下,才算成功

5.2 运行

第一步:准备开发环境

首先,您需要安装并配置微信开发者工具。您可以从微信公众平台的官方网站下载并安装该工具。

第二步:导入

打开微信开发者工具,选择小程序->导入

//如果没有小程序这个选择,选择"新建小程序",然后填写相关信息,包括小程序的名称、AppID等。后端服务选择不适用云服务,模板选择JS点击"确定"后,就可以开始创建小程序项目了。(不过后面需要将project.config.json做修改)

第三步:导入小程序源码

将您获得的小程序源码导入到微信开发者工具中。可以通过点击"导入项目"按钮,选择源码所在的文件夹 

第四步:进行调试和修改

在微信开发者工具中,您可以对小程序进行调试和修改。可以通过编辑代码、添加页面和组件等方式来定制和完善小程序的功能。

导入项目过后,在.project.config.json里面修改成你自己项目的APPID

·预览->二维码或者自动预览

第五步:配置小程序的基本信息

在微信开发者工具中,您可以设置小程序的基本信息,包括小程序的图标、名称、描述等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/11438.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++11】C++11类与模板语法的完善

目录 一&#xff0c;新的类功能 1-1&#xff0c;默认成员函数 1-2&#xff0c;强制生成关键字 二&#xff0c;可变参数模板 2-1&#xff0c;模板参数包 2-3&#xff0c;模板参数包的实际运用 2-2&#xff0c;STL容器empalce的相关接口 三&#xff0c;模板参数包和empla…

002.反应式编程的必要性

在实际应用程序中&#xff0c;您可以在许多情况下发现可能的时变变量—例如&#xff0c;GPS位置、温度、鼠标坐标&#xff0c;甚至文本框的内容。所有这些都有一个随时间变化的值应用程序会发生反应&#xff0c;因此是时变的。还有一点值得一提时间本身就是一个时变;它的值一直…

Unicode字符集和UTF编码

文章目录 前言一、字符集和编码方式二、unicode字符集utf32编码utf8编码utf8编码函数示例utf8解码函数示例 utf16编码utf16编码解码函数示例 总结 前言 本文详细介绍 u n i c o d e unicode unicode 字符集和其相关的三种编码方式&#xff1a; u t f 8 utf8 utf8&#xff0c;…

华为认证存储HCIE有用吗?

首先&#xff0c;对于个人来说&#xff0c;获得华为存储认证可以证明其具备信息存储技术的专业能力 1.专业认可&#xff1a;获得华为存储认证&#xff0c;尤其是HCIE-Storage级别的证书&#xff0c;意味着持有者对信息存储技术有着全面深入的理解&#xff0c;能够设计、部署、…

JPA@Entry报错Could not determine recommended JdbcType for Java type

问题很明显&#xff0c;无法自动决定类型&#xff0c;那就手动告诉该字段。 一、直接上解决方案 如果是一对一的关系用 OneToOne 如果是一对多的关系用 OneToMany 如果是多对一的关系用 ManyToOne 二、另一个无空构造函数的问题 使用注解后&#xff0c;注解报错找不到空的…

实训八:使用jQuery技术实现企业信息展示系统的相关功能

实训八:使用jQuery技术实现企业信息展示系统的相关功能 1.题目 使用jQuery技术实现企业信息展示系统的相关功能。 2.目的 (1)掌握jQuery的基本知识。 (2)掌握jQuery的应用方法。 (3)进一步理解Ajax程序的设计方法。 (4)会利用所学知识设计简单的应用程序。 3.内容 用jQuery技术…

【SpringBoot记录】从基本使用案例入手了解SpringBoot-数据访问-更改DataSource(2)

前言 通过上一个数据访问基本案例成功可以发现&#xff0c;SpringBoot在数据访问案例中也做了许多自动配置&#xff0c;上节只分析了其中的Properties。 而在自动配置包的jdbc下 还有其他配置文件。 根据名称可以大致了解他们的作用&#xff1a; DataSourceAutoConfiguration…

如何8步完成hadoop单机安装

前言 Hadoop是一个开源框架&#xff0c;用于存储和处理大规模数据集。 系统要求 Ubuntu 20.044GB&#xff08;建议8GB&#xff09;hadoop-3.3.6 步骤1&#xff1a;更新系统 打开终端并输入以下命令来更新您的系统&#xff1a; apt update 步骤2&#xff1a;安装Java Had…

uniapp 使用renderjs的一些详细介绍

一、简介 官方链接&#xff1a;uniapp官网中的renderjs方法的详细介绍 二、renderjs 定义 renderjs是一个运行在视图层的js。它比WXS更加强大。它只支持app-vue和web。 作用&#xff1a; 大幅降低逻辑层和视图层的通讯损耗&#xff0c;提供高性能视图交互能力。在视图层操作d…

.Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 发布到 Win7+

.Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 实测可以完整运行在 win7sp1/win10/win11. 如果用其他工具打包,还可以运行在mac/linux下, 传送门BlazorHybrid 发布为无依赖包方式 安装 WebView2Runtime 1.57 MB或136 MB 测试DEMO 发布为依赖包方式 安装 WebView2Runtime 1.…

python Pandas 操作

Pandas 介绍 Pandas 是一个功能强大的 Python 数据分析工具库&#xff0c;常用于数据处理与分析工作。它为 Python 提供了快速、灵活以及表达能力强的数据结构&#xff0c;旨在简化“实际工作中”的数据操作&#xff0c;使得 Python 成为一种强大而高效的数据分析环境。 核心特…

抱怨无用,行动破局

故事的开始 这个专栏&#xff0c;以及本文的目的&#xff0c;是为了记录我从创立盘多啦这个平台开始&#xff0c;到后续的发展历程的专栏。同时也是给自己一个坚持的动力和警醒的作用。 首先&#xff0c;我是一名程序员&#xff0c;并且对于自身感兴趣的东西&#xff0c;都有…

【仅1月出刊】普刊广涉计算机、社科、教育、法学等多领域!

【欧亚科睿学术】 1 EURASIA JOURNAL OF SCIENCE AND TECHNOLOGY 终审周期 仅1月出刊&#xff08;知网收录&#xff09; 《欧亚科学技术杂志》 Print ISSN&#xff1a;2663-1024 Online ISSN&#xff1a;2663-1016 出版社&#xff1a;UPUBSCIENCE 【简介】本刊致力于传播…

【C语言】指针(一)

目录 一、内存 1.1 ❥ 理解内存和地址的关系 1.2 ❥ 编址 二、指针变量 2.1 ❥ 取地址操作符&#xff08;&&#xff09; 2.2 ❥ 指针变量和解引用操作符&#xff08;*&#xff09; 2.3 ❥ 指针变量的大小 三、指针类型的意义 3.1 ❥ 指针的解引用 3.2 ❥ 指针-整数 3…

PCIE协议-2-事务层规范-TLP Prefix Rules

2.2.10 TLP前缀规则 以下规则适用于任何包含TLP前缀的TLP&#xff1a; 对于任何TLP&#xff0c;TLP中byte0的Fmt[2:0]字段中的值100b表示存在TLP前缀&#xff0c;并且Type[4]位指示TLP前缀的类型。 Type[4]位中的值0b表示存在本地TLP前缀。Type[4]位中的值1b表示存在端到端TL…

R语言数据分析案例-巴西固体燃料排放量预测与分析

1 背景 自18世纪中叶以来&#xff0c;由于快速城市化、人口增长和技术发展&#xff0c;导致一氧化二氮&#xff08;N2O&#xff09;、 甲烷&#xff08;CH4&#xff09;和二氧化碳&#xff08;CO 2&#xff09;等温室气体浓度急剧上升&#xff0c;引发了全球变暖、海平面上 升…

【数据结构】有关栈和队列相互转换问题

文章目录 用队列实现栈思路实现 用栈实现队列思路实现 用队列实现栈 Leetcode-225 用队列实现栈 思路 建立队列的基本结构并实现队列的基本操作 这部分这里就不多说了&#xff0c;需要的可以看笔者的另一篇博客 【数据结构】队列详解(Queue) 就简单带过一下需要实现的功能 …

信息量、熵、KL散度、交叉熵概念理解

信息量、熵、KL散度、交叉熵概念理解 (1) 信息量 信息量是对事件的不确定性的度量。 假设我们听到了两件事&#xff0c;分别如下&#xff1a;事件A&#xff1a;巴西队进入了世界杯决赛圈。 事件B&#xff1a;中国队进入了世界杯决赛圈。仅凭直觉来说&#xff0c;显而易见事件…

Python从0到POC编写-魔法方法

name __name__ 是系统定义的内部函数&#xff0c; 它的作用是识别模块。 通常我们看到这样一句话&#xff1a; if __name__ __main____name__ 的值有两种情况&#xff0c;那么挨个来说下。 如果模块是被直接执行的 &#xff0c;那么 __name__ 的值 为 __main__ 例如&…