1. 先简单看看项目吧

前言

就目前的前端生态而言,跨端开发基本算是每一个前端开发者必备的技能点之一了,随便看看各大招聘网站上关于前端岗位的招聘要求,几乎都要小程序开发了....

另外由于Uni-app等这些跨端框架的产生,中小型企业对于Android/Ios等原生开发者的需求是越来越少了,哎....时代啊时代....

(PS:有问题的可以联系博主:Q752746873~)


概述

本文阅读时间:约5~7分钟左右;

本文重点:

  • 通过本文可以了解到这个仿《通义千问》Demo小练习大概是什么样子的,涉及了什么uniapp中的哪些知识点;

另外还有一个重点,请务必注意:

写一篇博文的时候,这个Demo还没有完成,其实我是想把这个通义千问做的尽可能完善的,比如真实对接通义千问的SDK,做一些小的智能应用放在对应的模块里;

考虑到如果真的全部做完再开始写博文那么拉的周期实在太长了,为了督促我自己所以我决定放一个专栏,并通过这种订阅的方式持续对这个Demo进行迭代与升级,有兴趣的小伙伴可以订阅一下~感谢~


仿通义千问

整体项目难度:初中级;

技术栈:uni-app,Vue3,Typescript,pinia,uViewPlus等;

示意图如下:

Demo现已完成的页面其实不多,还需要后续进一步更新,通过现有的功能界面,大致可以完成的目标有两个:

  1. 可以 了解到uniapp在组件、通用组件,路由等上的一些开发知识,这些知识能快速帮助你入门uniapp的开发;
  2. 可以 了解到在uniapp的request部分,以及如何通过uniapp的request的获取到后台的数据,当然为了更好的了解request,博主这边准备了一个不涉及数据的简易node后台,通过这个后台真实还原了请求这个过程;

loading页/导航页

在很多软件中都有loading页面或者导航页这个界面,这个界面通常作用有如下几个:

  1. 隐私协议、用户协议的弹窗提示,很多时候如果用户想要访问app或者小程序都需要遵循用户协议、隐私协议、免责申明等,因此在这个界面上可以给首次使用的用户一个提示,只有同意了才能继续访问;
  2. 一些必要参数的预加载,比如用户的全局设置,一些必要的全局配置信息,本地的历史记录放入全局变量等等,这些参数需要在loading界面进行操作,只有全部处理完才允许跳转;
  3. 广告....很现实的东西,有些app或者小程序在预加载的时候会给用户放广告,毕竟这个界面是小程序的主入口,流量最大的地方,如果想要使用小程序,你还不得不看....^_^|||

在练习项目中大概是长这样:

涉及到的uniapp知识点:

  • 页面注册;
  • easycom的注册与使用;
  • uniapp中页面布局;
  • 自定义titleBar;

主页

主页是整个练习中的核心部分,它有四个模块组成:外部的布局组件对话模块智能模块应用模块

布局组件

布局组件是整个项目的外壳,后续使用到的对话模块,智能模块,应用模块都是被嵌套在该组件里面的,通过这个布局组件实现了基础的布局功能,大致如下图的GIF图效果:

这个组件使用到的uniapp以及Vue相关的功能点大致如下:

  • uniapp中的页面布局;
  • Vue中的插槽;
  • 自定义titleBar,使用tabs组件代替默认的样式;
  • swiper组件;

以及其他一些细节到实际组件开发中时再细说。

对话模块

这个模块是我们重点模块,这个模块基本是我们代码量最多的地方,大致GIF效果图如下:

首次对话消息

二次对话消息

在这个模块中我们大致需要实现的功能点有如下:

  1. 对话的列表渲染,这里包括两部分:我方文字的发送,回复消息的打字效果;
  2. 推荐列表在有内容/无内容时的切换;
  3. 打字效果时禁止我方文字输入及对应UI效果;
  4. 文字输入框在实际手机侧时键盘的高度问题;
  5. Request的封装与请求;

智能模块与应用模块

这两个模块在Demo中完全是简单的示例,在实际的通义千问APP中这两个模块是具体的智能应用,而我们没有这些智能应用,因此也只能是做一个入口的UI,没有啥实际的意义,就当练练布局吧,对接完SDK后再想想能不能利用起来

目前在这两个模块中,最大的功能点应该就是使用了第三方的下拉刷新了...

实现的功能点:

  1. 使用z-paging实现了下拉刷新;
  2. swiper组件;
  3. 页面布局;

小结

本文大致介绍了一下我们这个小Demo的主体功能,期望通过这个大致的演示能看到我们这个Demo后续可能会涉及到哪些知识点;

如有问题或者日常开发中有遇到什么问题,可以私信博主或者加博主的QQ752746873,看看能不能帮你解决一下;

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

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

相关文章

APP的UI设计规范

APP的设计规范是一系列原则和标准,旨在确保应用程序提供一致、易用且美观的用户体验。以下是一些关键的APP设计规范。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.一致性: 保持界面元素和交互行为的一致性…

网络协议——HTTP协议

目录 ​编辑 一,HTTP协议基本认识 二,认识URL 三,http协议的格式 1,发送格式 2,回应格式 四,服务端代码 五,http报文细节 1,Post与Get方法 2,Content_lenth 3&…

vscode教程

个人笔记(整理不易,有帮助点个赞) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 个人随笔:工作总结随笔_8、以前工作中都接触过哪些类型的测试文档-CSDN博客 目录 一&#xff1a…

zheng项目:从零到一打造全方位J2EE企业级开发解决方案

zheng项目:从零到一打造全方位J2EE企业级开发解决方案 摘要: 在当今快速发展的企业级应用开发领域,一套高效、稳定且可扩展的解决方案对于企业的成功至关重要。zheng项目旨在提供一套全面的J2EE企业级开发解决方案,从前端模板到自…

Leetcode 581. 最短无序连续子数组

心路历程: 本以为这道题要用动态规划求解,因为题目中这几个关键字与动态规划太匹配了,结果想了半天也没发现dp(i)和dp(i-1)的递推关系。 这道题本意考察双指针的做法,也可以用排序后做比较的方式来做。 注意的点: 1…

性能优化 - 你能说一说,为什么做了骨架屏,FCP的指标还是没有提升吗

难度级别:中高级及以上 提问概率:80% FCP的全程是First Contentful Paint,是衡量网页性能的一个重要指标,很多人把FCP理解为元素内容首次渲染到浏览器上的时间。但由于现在比较流行的Vue或是React项目中,HTML文档最初只有一个id为app的DIV…

React18从入门到实战

文章目录 一、React环境的搭建二、项目文件的介绍(1)package.json,他是项目存放依赖包的地方,里面包括了一些项目核心包及下载的其他插件包(2)src文件夹是项目源码目录,平时开发页面就在其中&am…

Linux从入门到精通 --- 4(上).快捷键、软件安装、systemctl、软链接、日期和时区、IP地址

文章目录 第四章(上):4.1 快捷键4.1.1 ctrl c 强制停止4.1.2 ctrl d 退出4.1.3 history4.1.4 历史命令搜索4.1.5 光速移动快捷键4.1.6 清屏 4.2 软件安装4.2.1 yum4.2.2 apt 4.3 systemctl4.4 软链接4.4.1 ln 4.5 日期和时区4.5.1 date命令4.5.2 date进行日期加减…

如何魔改 diffusers 中的 pipelines

如何魔改 diffusers 中的 pipelines 整个 Stable Diffusion 及其 pipeline 长得就很适合 hack 的样子。不管是通过简单地调整采样过程中的一些参数,还是直接魔改 pipeline 内部甚至 UNet 内部的 Attention,都可以实现很多有趣的功能或采样生图结果。 本…

从0到1搭建文档库——sphinx + git + read the docs

sphinx git read the docs 目录 一、sphinx 1 sphinx的安装 2 本地构建文件框架 1)创建基本框架(生成index.rst ;conf.py) conf.py默认内容 index.rst默认内容 2)生成页面(Windows系统下&#xf…

项目:自主实现Boost搜索引擎

文章目录 写在前面开源仓库和项目上线其他文档说明 项目背景项目的宏观原理技术栈与环境搜索引擎原理正排索引倒排索引 去标签和数据清洗模块html文件名路径保存函数html数据解析函数文件写入函数 建立索引模块检索和读取信息建立索引建立正排索引建立倒排索引jieba工具的使用倒…

基于FPGA的按键消抖

按键工作原理 当KEY1按下时,整条电路就会导通,这个时候KEY1就是低电平; 当KEY1松开时,整条电路就会断开,这个时候KEY1就是高定平; 我们可以通过判断KEY1的高低电平来判断按键是否被按下。 为什么按键消…

关于ansible的模块 ③

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 接《关于Ansible的模块①》和《关于Ansible的模块②》,继续学习ansible的user模块。 user模块可以增、删、改linux远…

idea 开发serlvet汽车租赁管理系统idea开发sqlserver数据库web结构计算机java编程layUI框架开发

一、源码特点 idea开发 java servlet 汽车租赁管理系统是一套完善的web设计系统sqlserver数据库 系统采用serlvetdaobean mvc 模式开发,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 java se…

移动平台相关(安卓)

目录 安卓开发 Unity打包安卓 ​编辑​编辑 BuildSettings PlayerSettings OtherSettings 身份证明 配置 脚本编译 优化 PublishingSettings 调试 ReMote Android Logcat AndroidStudio的调试 Java语法 ​编辑​编辑​编辑 变量 运算符 ​编辑​编辑​编辑​…

猫咪也爱美食!这款猫粮让你的猫主子欲罢不能!

👋 亲爱的宠友们,最近我也在为家里的猫主子换猫粮的事情犯愁呢!我知道,给猫咪选择一款合适的猫粮真的是个挺重要的事情。我家猫咪现在吃的是福派斯牛肉高脂猫粮,感觉还不错。 🐱 首先说说我家猫咪的情况吧。…

Java方法引用

方法引用概述 把已经有的东西拿过来用,当做函数式接口中的抽象方法的方法体 import java.util.*;public class test {public static void main(String[] args) {//需求:创建一个数组,进行倒序排列Integer[] arr {3,5,4,1,6,2};//匿名内部类Arrays.sort(arr, new Comparator&l…

某虚假交友APP(信息窃取)逆向分析

应用初探 在群里水群的时候 群u发了一个交友APP 于是拿来分析一下 可以看到应用打开后又一个登录的界面 需要用户输入手机号与验证码进行登录 #在线云沙箱分析 将APK放入某安信云沙箱中分析 提示应用请求了过多的敏感权限 逆向分析 直接拖入Jadx分析 好在程序没有加固 也没…

Vue 有哪些主要的指令修饰符

目录 1. 什么是指令修饰符 2. 指令修饰符有哪些 2.1. 按键修饰符 2.2. v-model修饰符 2.3. 事件修饰符 1. 什么是指令修饰符 通过 "." 指明一些指令 后缀,不同 后缀 封装了不同的处理操作 目的:简化代码 2. 指令修饰符有哪些 2.1. 按键…

【SQL Sever】3. 用户管理 / 权限管理

1. 创建登录名/用户/角色 在SQL Server中,创建用户通常涉及几个步骤。 首先,你需要创建一个登录名,然后你可以基于这个登录名在数据库中创建一个用户。 以下是如何做到这一点的步骤和相应的SQL语句: 创建登录名 首先&#xff0c…