uni-app

uni-app如何解决在for循环里调用异步请求获取数据顺序混乱问题?

寵の児 提交于 2021-02-20 16:22:02
总结/朱季谦 先前有一次做uni-app的js接口对接时,遇到过这样的情况,在for循环里,调用一个异步请求时,返回来的值顺序是乱的,因此,在以下的代码里,push到数组里的值,每次的顺序可能都是不一样的,造成这样一个原因,是for循环是单线程的,异步请求是多线程的,f往往在for循环结束了,异步请求还没有结束。 that.list = res.datas.class_list; for ( var i=0;i<that.list.length;i++ ){ that.list[i].tlist = [] var url = "w=goods_class&gc_id=" + that.list[i].gc_id.substring(2 ); that.thtxb_ajax_request(url, {}).then((res) => { that.tlist.push(res.datas.class_list) }) } 在uni-app框架里,遇到这样的类似代码时,可以用递归算法来避免for循环结束了,异步请求还没有结束的问题,将上面的代码修改成递归形式,如下: that.list = res.datas.class_list; var i = 0 ; getImg(); function getImg() { if (i >= that.list.length) {

uni-app学习记录03-路由跳转

点点圈 提交于 2021-02-18 16:53:53
<template> <view class="content"> <!-- v-show是相对于display: none --> <view v-show="false"></view> <!-- v-if是删除这个元素 --> <view v- if ="false"></view> <view>我是文本</view> <button type="primary" @click="toPath">跳转注册页面</button> <button type="primary" @click="toPath1">跳转未注册页面</button> <button type="primary" @click="toPath2">关闭当前页面再跳转</button> <button type="primary" @click="toPath3">可以返回几层页面 默认为一层</button> </view> </template> <script> import test from "../../components/test.vue" export default { data() { return { msg: "小白" , } }, methods: { toPath() { // 这个用于跳转到Tab注册过的页面 uni.switchTab({ url: "../shezhi

uniapp打包成H5部署到服务器教程

谁说胖子不能爱 提交于 2021-02-12 04:23:24
当前端uniapp写的项目开发完成的时候,需要将页面打包出来,生成H5的静态文件,部署在服务器上,通过服务器链接地址,就可以直接在手机上点开访问 了。 在网上看了一圈,好像没有找到十分详细的教程,这里稍微详细的记录了一下,uniapp打包成H5部署到服务器教程。 步骤如下: 1:点击菜单栏发行,点击选择网站-H5手机版, 2:在网站域名这一栏填写,网站域名,例如www.xxx.com或者你的服务器的IP地址47.103.XX.XX,(这个地址是你将项目打包之后存放放静态文件的地址)。 我这里为了考虑到安全因素,将自己的服务器地址马赛克了。 3:点击高级按钮,进入到manifest.json的h5配置里面,根据自己的情况配置一些信息,我这里是默认的。 一定要注意配置运行时候的基础路径(下图红色框标记的地方),如果出现空白页面或者静态文件404的情况,可能是因为这个路径没有配置好。 (多嘴一句,这个运行的基础路径,是和编译之后的静态文件的文件夹是一致的,默认是h5,我这里改名字了,我这里将静态文件h5的文件夹改成了work项目需要)。 4:点击发行,控制台会自动编译 注意这个不同于vue,编译完成的文件不支持本地file协议打开。不要使用资源管理器直接打开。直接打开静态文件是看不到东西的。出现以下提示,说明编译成功 5:编译通过,生成静态的h5文件,我们需要将这个h5的文件

uni-app遇到的坑

筅森魡賤 提交于 2021-02-11 09:35:44
1、【uni-app】微信开发者工具拒绝HBuilderX访问   解决: 在微信开发者 工具里设置 。原意服务端口已关闭。要使用命令行调用工具,请打开工具 -> 设置 -> 安全设置,将服务端口开启。    2、H5跨域问题   配置uni-app 中 manifest.json->h5->devServer(manifest.json文件的源码)   "h5": { "devServer": { "port": 80, "disableHostCheck": true, "proxy": { " / ": { "target": "域名或IP", "changeOrigin": true, "secure": false, "ws":false,   //没有该配置将出现:WebSocket connection to ws 错误提示 "pathRewrite":{"^/":""}   //没有该配置,代理将不生效 } } } } 来源: oschina 链接: https://my.oschina.net/u/4354403/blog/3430149

rpx

99封情书 提交于 2021-02-07 16:25:44
/** * 设计稿 750px 100px * 750*100/750=100rpx 第一个750是微信小程序和uniapp规定的屏幕的基准宽度为750rpx 100是盒子在设计师图纸上所占的100px,第二个750是设计稿宽度750px 设计稿 640px 100px 750*100/640=117.64rpx * 来源: oschina 链接: https://my.oschina.net/u/4225107/blog/4949395

面对疫情,我们正在行动!

╄→гoц情女王★ 提交于 2021-01-21 11:31:31
前言 2020年注定是一个会被载入史册的一年,这一年里面我们经历了高考延期,奥运会延期,澳大利亚史无前例的森林大火,但是大家印象最深刻的应该还是新冠疫情的爆发。 2020年开年之初,新型冠状病毒就在全国范围内爆发,全国进入紧急抗疫状态,武汉全城封闭,澳洲紧急撤侨。为了有效的控制疫情,大人们选择在家办公,学生们开始了上网课,保证停课不停学。在全国人民的共同努力下疫情得到了有效的控制,大家的日常生活也逐渐恢复了往常的样子。正当我们准备欢送2020,喜迎2021的时候,疫情却迎来了第二次的复发,提醒我们这场“战疫”还没有结束。 由于疫情出现反弹的原因,加速了全国各地中小学寒假的到来。受疫情影响比较大的一些城市如,大连,沈阳,石家庄,黑龙江等地区,相继发布了寒假提前的通知,暂停线下授课。一些教育机构也提早做起了线上教学的预案,线上教育再一次进入了大家的视野。 疫情反弹,在线教育已经做好准备 2020年初,突如其来的疫情让我们国家的教育被迫转移到了线上,可以说这次疫情是对我们国家线上教育的一次重大考验。 面对这次疫情的突然爆发,国家马上采取了积极措施,面对无法正常开学,无法正常上课的情况,教育部采用了“停课不停学”的大规模在线教育实验。保证学生们虽然无法正常在学校上课,但是可以使用线上教学的方式来学习,保证正常的学习进度。 经过了这次大规模的线上教育,大部分学生、家长

uniapp H5 https跨域请求

China☆狼群 提交于 2021-01-15 12:59:56
本文主要介绍uniapp H5开发中,本地调试https的接口实现跨域请求 源码视图 "h5" : { "title" : "" , "domain" : "" , "router" : { "mode" : "hash" , "base" : "/h5/" } , "devServer" : { // "https" : true, "proxy" : { "/api" : { "target" : "https://域名/api" , "changeOrigin" : true , //是否跨域 "secure" : true , // 设置支持https协议的代理 "pathRewrite" : { "^/api" : "" } } } } } 接口请求 uni . request ( { // url: ApiUrl + opt.url, url : '/api' + opt . url , data : data , method : opt . method , header : opt . header , dataType : 'json' , success : function ( res ) { if ( res . data . code == '401' ) { uni . showToast ( { title : res . data . msg ,

APICloud的发展和应用

℡╲_俬逩灬. 提交于 2021-01-15 12:49:43
前言 随着近几年互联网进入下沉期,C端app产品告别了早期的抢占市场阶段,进入寡头时代。微信、支付宝、头条等超级app们希望建立起自有生态主导流量分发,纷纷推出了各自的小程序开发技术,允许用户在其app内运行一个“小app”,分享超级app的流量红利。 App作为移动互联网时代企业业务非常重要的载体之一,如果企业没有技术团队怎么办?技术团队实力不强又怎么办?APICloud的办法是推出App定制平台。用户可以基于APICloud上既定的模板框架进行开发,也可以交由APICloud的技术团队进行开发。看起来,这个过程可以帮助企业App实现从0到1,因此这个阶段被称为“实现”。 APICloud 是中国领先的“云端一体”移动应用云服务提供商, 通过端API和云API来简化移动应用开发技术,可以帮助开发者快速实现移动应用的开发、测试、发布、运营等全生命周期管理。APICloud其发布的低代码效率工具Plus Mode,为IT项目中每个角色提供专业工具,将需求分析、产品原型、UI设计、前端开发、后端开发紧密衔接,并基于行业大数据对前置环节进行复用,最终缩减大量重复性工作,有效提升30%-60% IT项目效率。 产品及优势 1、 高性能跨平台开发技术,一套代码可同时编译生成iOS、Android、小程序等多端应用,为企业加速实现移动业务的场景化落地 2、 低代码开发能力覆盖软件开发全生命周期

uni-app实现实时消息SDK插件

徘徊边缘 提交于 2021-01-10 11:38:28
前言 之前的两篇文章我们介绍了用uni-app实现了实时音视频通话这个功能。没有印象的小伙伴们可以看这两个链接。 Android uni-app 封装原生插件 Android uni-app实现音视频通话 更多的消息资讯可以关注 anyRTC开发者官网 1、效果图 先给大家看一下效果,然后我们再继续讲解。 GitHub下载地址 uni-app-rtm demo: 点击下载 扫码下载 2、功能介绍 uni-app跨平台实时消息SDK插件,包含点对点消息、频道消息、呼叫邀请等功能。在同一频道下,用户可以接收和发送消息。从下方的状态栏里面可以到频道内的状态变化,包括人员的更新和消息的更新。 支持平台 Android ios 应用场景 1、在线教育 在线教育场景中,适用于大班课和小班课,同学可以实时发送消息与老师进行沟通。 2、娱乐直播 在直播环境中,观众可以实时发送弹幕与主播进行互动。 3、对讲 在铁路或者运输的场景中,同一公司,同一部门之间各个员工之间可以在相同的频道下进行沟通,大大提高工作效率,减少沟通成本。 4、语音群聊 在语音聊天的环境下同时可以支持消息沟通。 3、项目集成 快速集成 下载示例工程,前往 anyRTC官网 注册账号 创建应用,获取应用的App ID。 下载插件示例工程,制作自定义基座,主要步骤如图,证书问题,请参照申请证书说明。 运行自定义基座 4、方法回调 1

电商商城的物流解决方案——PUSHmall 推贴跑腿订单服务系统

孤人 提交于 2021-01-06 13:48:37
PUSHmall 推贴 跑腿订单服务系统 基于当前流行技术组合的前后端分离商城系统: 本项目采用 Thinkjs3.0+Vue + uniapp 开发的一套跑腿下单、服务系统。 前后端分离的公众号、小程序、APP多端系统。 支持:跑腿订单系统与电商商城系统无缝对接接口。 主要功能: 地址解析 配送路程计算 物品重量价格计算 分销 微信支付下单 积分抵扣 优惠券 配送系统(抢单模式/平均分配订单) 支持IM客服:CRM/工单/客服管理/坐席分配; 支持跑腿服务:支持用户选择商品+服务价格。 支持商城对接:用户商城可以与pushmall跑腿订单对接。 来源: oschina 链接: https://my.oschina.net/u/4146138/blog/4881418