精选文章 小程序开发 总结 (触摸穿透、数据统计、扫码、缓存、text组件)

小程序开发 总结 (触摸穿透、数据统计、扫码、缓存、text组件)

作者:咕噜咕噜的车轮向前 时间: 2020-09-01 03:50:24
咕噜咕噜的车轮向前 2020-09-01 03:50:24

一、触摸穿透 问题

弹出蒙层,但是上下滚动的时候,下一层会滚动

解决方案:

(1)弹出蒙层的时候,设置下一层position:fixed固定住,缺点:可能影响下层的样式。

(2)在不想触摸穿透的组件加上 @touchmove.stop="",在开发者工具没效果,但是在真机有效果,推荐使用这个方案。

二、阿拉丁 数据统计分析

教程

三、扫码进入微信小程序有三种码:

(1)把链接通过草料等工具生成的普通链接二维码,入参是q

(2)通过微信小程序官网提供的后台接口获取二维码

a、小程序码(wxacode.createQRCode、wxacode.get)

b、小程序二维码(wxacode.getUnlimited),前端页面入参scene

 const getFormatedOptions = (options) => { // 处理普通路径的query、普通二维码解析出来的路径(q)、小程序二维码(scene)
        const { scene, q, ...query } = options
        let formatedOptions = query
        if (q) {
            const url = decodeURIComponent(q)
            const _query = queryToObject(url)
            formatedOptions = _query
        }
        if(scene) {
            const url = decodeURIComponent(scene)
            const _query = queryToObject(url)
            formatedOptions = _query
        }
        console.log('=== getFormatedOptions ===', formatedOptions)
        return formatedOptions
    }

/**
 * @function url上的 ?query 转换为 object
 * @param {String} url
 * */

function queryToObject(url) {
    const result = {}
    const arr = url.split(/[?&]/ig)
    arr.forEach(item => {
        if (!item || !/=/g.test(item)) return // 断言
        const keyValArr = item.split('=')
        if (keyValArr.length != 2) return // 断言
        result[keyValArr[0]] = keyValArr[1]
    })
    return result
}

四、uni-app/mpvue/原生  onLoad和onShow

1、uni-app:子组件component(即非pages/index),没有onLoad和onShow生命周期,created和mounted也只有页面onLoad/reOnLoad的时候才执行

2、mpvue:子组件的onLoad函数在页面首次加载的时候执行,onShow不执行,页面第二次进入时(回退)子组件执行onShow。页面首次加载的时候子组件的created和mounted钩子执行,页面回退的时候created和mounted钩子不执行。

3、原生:去看组件文档(page和子组件有各自的生命周期钩子)

结论:使用框架开发小程序,不要在子组件里面使用page生命周期,统一在page/index的onShow和onLoad生命钩子里通过ref触发子组件该在onShow和onLoad时候触发的函数

五、缓存问题

并非全量发布之后,用户就会立即使用到最新版的小程序,这是因为微信客户端存有旧版本小程序包缓存。用户在使用小程序时会优先打开本地的小程序包,微信客户端在某些特定的时机异步去更新最新的小程序包。一般我们认为全量发布的24小时后,所有用户才会真正使用到最新版的小程序。

六、服务器域名和业务域名

服务器域名是 wx.request 请求 去拉取数据的域名。 一般返回为JSON字符串

业务域名是小程序的webview组件要引入的其他H5地址的URL的域名或者网页里面的iframe的域名

转载于:https://www.cnblogs.com/fuckingPangzi/p/10462441.html

七、web-view还是iframe

1、不管是web-view还是iframe,都需要配置业务域名(域名白名单)才能正常访问

2、个人类型的小程序暂不支持使用web-view

七、线上sourceMap的用法:

https://www.jianshu.com/p/3880530b2fcd

八、文字底部对齐

大号文字小号文字

九、组件显示不出来的问题

组件只能嵌套组件,嵌套其他组件(或自定义组件)都显示不出来

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

下一篇:美剧美句

您可能感兴趣

  • IP 基础知识“全家桶”,45 张图一套带走

    前言 前段时间,有读者希望我写一篇关于 IP 分类地址、子网划分等的文章,他反馈常常混淆,摸不着头脑。 那么,说来就来!而且要盘就盘全一点,顺便挑战下小林的图解功力,所以就来个 IP 基础知识全家桶。 吃完这个 IP 基础知识全家桶全家桶,包你撑着肚子喊出:“真香!” 不多说,直接上菜,共分为三道菜: 首先是前菜 「 IP 基本认识 」 其次是主菜 「IP 地址的基础知识」 最后是点心 「I...

  • MySQL 三万字精华总结 + 面试100 问,和面试官扯皮,吹牛逼!绰绰有余(一:MySql架构,数据类型,存储引擎)收藏系列!

    MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列) 写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术的提升帮助很小,对正经面试也没什么帮助,有点东西的面试官深挖下就懵逼了。 个人建议把面试题看作是费曼学习法中的回顾、简化的环节,准备面试的时候,跟着题目先自己讲给自己听,看看自己会满意吗,不满意就继续学习这个点,如此反复,好的offer离你不...

  • MySQL 精华总结(收藏版)

    一、MySQL架构 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。 连接层:最上层是一些客户端和连接服务。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通...

  • 2020年PHP面试题附答案(实战经验)

      出于一些原因近期做了一次工作变动,在职交接近一个半月时间大概面试了十五家公司,并且得到了自己比较满意的offer,最后基本上无缝衔接了新工作。总体来说,虽然准备的很充分,但面试期间还是暴露了许多问题,所以做下总结,供大家和自己以后参考,主要分四部分讲述: 简历方面,格式内容包括七个板块,个人简介,求职意向,工作经历,项目经历,技能描述,学历背景,自我评价。如果自己或公司没有其他特殊要求,...

  • 阿里面试最全面经总结

    1.听说你对JVM有点研究,讲一讲JVM的内存模型吧(我说虚拟机栈,本地方法栈,程序计数器,堆,方法区) 总的有什么,生命周期,每一个 JVM 的分区 ,线程私有,线程共享,直接内存 线程私有的生命周期和线程相同,线程共享的和虚拟机的生命周期相同。 java虚拟机栈是将方法的变量,出入口参数等以栈帧的形式存入,虚拟机中只有一个堆,堆中存入的是new出的对象,而且堆是垃圾回收的主要场所。方法区...

  • Redis高级面试题

    原文链接:https://mp.weixin.qq.com/s?__biz=MzU2NTc0MDMyNg==&mid=2247483823&idx=1&sn=e4ded94ac60fdcdc07103a93ea04a501&chksm=fcb657e6cbc1def0aae2c0b72f0cd31f4b7b602d00fe677cce810a0ba6a38cc47433703da077&mp...

  • MES系统整体解决方案

    项目概述统接入服务 项目目标 以柔性制造系统、敏捷制造等信息化改造为建设目标,利用传感技术、无线通信技术、计算机网络技术、智能数字化技术、物联网应用服务平台技术等多种现代化技术,打造基于物联网的综合示范平台,建立起一个示范性应用基地。 通过WIP(在制品管理)+SCADA(设备联网)实现敏捷制造的生产管理目标,以信息可视化提供的数据支撑,准确掌握各类生产的资源负荷状况,提高瓶颈资源利用率,提...

  • 渗透测试 QA 收集

    目录 1、拿到一个待检测的站,你觉得应该先做什么? 2、判断出网站的CMS对渗透有什么意义? 3.一个成熟并且相对安全的CMS,渗透时扫目录的意义? 4.常见的网站服务器容器。 5.mysql注入点,用工具对目标站直接写入一句话,需要哪些条件? 6.目前已知哪些版本的容器有解析漏洞,具体举例。 7.如何手工快速判断目标站是windows还是linux服务器? 8.为何一个mysql数据库的站...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。