Taro

taro小程序展示富文本

瘦欲@ 提交于 2021-01-12 03:00:39
在微信小程序下会用到wxParse这个东西来达到html转换wxml的效果, taro小程序官方也给出了示例, 地址 这里封装成自己的组件: import Taro, { Component } from "@tarojs/taro" import { View } from "@tarojs/components" import WxParse from '../../utils/wxParse/wxParse.js' import "../../utils/wxParse/wxParse.scss" export default class ParseComponent extends Component { componentDidMount() {} defaultProps = { mark: "" } render() { if ( this .props.mark) { let domText = this .props.mark WxParse.wxParse( "domText", "html", domText, this .$scope, 5 ); } return ( <View> {process.env.TARO_ENV === "weapp" ? ( <View> <import src='../../utils/wxParse/wxParse

springboot+taro实现小程序微信登录并获得手机号授权功能

孤人 提交于 2021-01-06 01:16:05
点击上方 java项目开发 , 选择 设为星标 优质文章,及时送达 -- 案例功能效果图 获取手机号码登录页面 微信登录授权页面 手机&微信都登录成功页面 环境介绍 前端:taro 后端:springboot jdk:1.8及以上 数据库:mysql 完整源码获取方式 源码获取方式 扫码关注回复【wxdl】获取完整源码 如果你在运行这个代码的过程中有遇到问题,请加小编微信xxf960513,我拉你进对应微信学习群!!帮助你快速掌握这个功能代码! 核心代码介绍 pom.xml <?xml version="1.0" encoding="UTF-8"?> < project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 </ modelVersion > < parent > < groupId > org.springframework.boot </ groupId > <

[学习笔记]连通分量与Tarjan算法

血红的双手。 提交于 2021-01-05 07:35:18
[TOC] 所以Tarjan到底怎么读 强连通分量 基本概念 强连通 如果两个顶点可以相互通达,则称两个顶点强连通 强连通图 如果有向图G的每两个顶点都强连通,称G是一个强连通图。 Tarjan Tarjan算法是基于对图深度优先搜索的算法,每个强连通分量为搜索树中的一棵子树。搜索时,把当前搜索树中未处理的节点加入一个堆栈,回溯时可以判断栈顶到栈中的节点是否为一个强连通分量。 定义 dfn[u]: 为节点u搜索的次序编号(时间戳) low[u]: 为u或u的子树能够追溯到的最早的栈中节点的次序号。 判定 low[u]:=min(low[u],dfn[v])——(u,v)为后向边,v不是u的子树; low[u]:=min(low[u],low[v])——(u,v)为树枝边,v为u的子树; 当DFN(u)=Low(u)时,以u为根的搜索子树上所有节点是一个强连通分量。 模板题:信息传递 题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学。 游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别人口中得知自己的生日时,游戏结束

小程序包大小超过2M的解决方法

ぐ巨炮叔叔 提交于 2020-12-31 10:35:48
小程序的包被限制在2M以下, 超出的时候点击预览, 发现报错: Error: 代码包大小为 3701 kb,上限为 2048 kb,请删除文件后重试 1. 优化代码, 删除掉不用的代码 2. 图片压缩或上传服务器 一般图片所占空间较大,尽量不要放在小程序本地文件夹中,如果图片不多我们也可以对图片进行压缩,我经常使用的图片压缩平台: 点击这里 ; 也可以将图片上传到服务器上,进行外链引用, 我们使用的是阿里云oss存储, 另外也可以通过图片托管平台对图片进行托管, 我找到的的图片托管平台: 点击此处 ; 另外, 通过cli命令创建的uni app项目,可将图片或字体图标放入assets文件夹下,通过require引入, 也可减少主包大小 3. 分包加载 官方推出小程序分包加载这一功能,对于万千小程序开发者来说这无疑是天大的喜讯,关于如何分包,微信官方文档已经解释的十分清楚,在进行分包之前建议认真阅读 官方文档 。 接下来简单介绍一下在不同框架中的使用: 在uni app中: uni app通过cli初始化的小程序目录结构如下: ├── src ├── main.js ├── App.vue ├── pages.json ├── manifest.json ├── orderPackages │ └── pages │ ├── goodsDetail │ └── myorder ├──

给小程序再减重 30% 的秘密​(京喜小程序首页瘦身实践)

我与影子孤独终老i 提交于 2020-12-25 20:00:22
前言 — 在 web 开发场景,减少代码体积虽然是性能优化的一个方向,还没到锱铢必较的程度。但是在小程序场景,由于代码包上传阶段限制了主包 2M 和总包 16M(近期微信官方正在内测将总包上限调整至 20M )的尺寸,超过就会面临无法发版的风险,代码包体积的优化就变得特别重要了。京喜小程序首页作为微信购物的大入口,承载大量流量,功能复杂模块众多,又要与其他核心业务和公共组件共享 2M 的主包空间,因此代码包瘦身的工作在持续不断进行,否则无法满足业务的快速增长。本文将结合以往优化策略与最近一次的瘦身实践,分享小程序代码瘦身的经验与思考。 常见的瘦身方式 — 京喜首页项目是一个优化良好的项目,对于常见的优化措施,已经有过很好的实践,就让我们我们先回顾一下有哪些常见的优化策略吧: 代码分包:将相对独立的页面和组件拆分到分包,可以解决主包体积受限问题; 依赖分析:移除未引用的页面、组件和其他文件; 避免使用本地资源:除了兜底图片,其他都尽可能使用 url 的方式,由于 base64 图本质上是将信息编码成长字符串,也会占用很多空间,不建议使用; 对所有类型的文件都进行压缩并清理注释,包括了:js、wxml、wxss、json; 此外,京喜首页团队还针对 Taro 开发场景进行了如下优化: 分析出编译后每个文件的高频重复代码(如处理兼容性的 pollyfill 代码),拆分生成公共文件

凹凸实验室的过去与未来

南楼画角 提交于 2020-12-25 14:08:49
作者:凹凸曼 凹凸实验室隶属于京东零售用户体验设计部(JDC),成立于 2015 年秋冬之交,诞生自深圳前海之滨,至今已走过 5 个年头,5 年的时光穿梭而过,凹凸实验室也不断发展壮大,从曾经专注前端的团队成长为如今涵盖前后端、全栈、算法、测试各类方向的全能型研发团队,工作模式也从传统的人力密集型研发转向创新型平台体系化研发,如今,凹凸的各类技术输出与沉淀在业界影响深远。 <iframe frameborder="0" src="https://v.qq.com/txp/iframe/player.html?vid=m3215ilu1ay" allowFullScreen="true"></iframe> 星火 2015 年,凹凸实验室的前身多终端研发部成立刚好一年,彼时的多终端研发部,虽然是一个拥有 20 多位开发人员的独立前端研发部门,但更多的是在支撑着公司内部的各种业务的研发,从微信手 Q 的购物业务到京东商城的营销活动、拍拍网,以及京东云的大改版,业务的类别五花八门,作为一个工线支持部门,每天在各类业务开发中穿插,协助各类业务需求的开发。 <div style="text-align: center; margin-bottom: 20px; color: #999">2015 加入凹凸实验室的同仁</div> 在此期间,部门也产生了很多精品业务,凭借着在 H5

校友录小程序开发随笔一:背景与技术方案的选择

╄→尐↘猪︶ㄣ 提交于 2020-12-14 01:12:17
一 业务背景介绍 小女子毕业于湖南长沙某985二梯队大学,在深圳某厂工作,鉴于本校在深圳校友众多(大概4w+), 急切需要一个校友交流的平台,传统的网站形式以及没落且无人问津,故打算开发 一个小程序+公众号的社交平台,供木讷的工科师兄师弟师姐师妹交流,初步计划的模块有资讯,交友,互助,捐赠,个人中心,代言母校,聚会活动,校友供需,后续会陆续来落实。 二 前端技术方案选型 原生 :对性能特别苛刻 or 追求稳定 or 要用最新功能,请记住任何时刻原生都是最稳定性能最好的选择!!!! KBone :kbone 是一个致力于微信小程序和 Web 端同构的解决方案,微信小程序的底层模型和 Web 端不同,我们想直接把 Web 端的代码挪到小程序环境内执行是不可能的。kbone 的诞生就是为了解决这个问题,它实现了一个适配器,在适配层里模拟出了浏览器环境,让 Web 端的代码可以不做什么改动便可运行在小程序里。 MPVue :是美团点评开源的一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验。 WePY :腾讯团队开源的一款类vue语法规范的小程序框架,借鉴了Vue的语法风格和功能特性,支持了Vue的诸多特征

支撑京东小程序的开发框架 「Taro」

坚强是说给别人听的谎言 提交于 2020-12-12 12:50:43
Taro 简介 现在支持小程序的平台太多了,例如: 微信小程序 QQ小程序 支付宝小程序 百度小程序 字节跳动小程序 针对他们都各自开发一套的话开发成本就太高了。 如果写一套代码,就能开发出适配这么多平台的小程序,是不是开发效率提升了好几倍。 Taro 的使命就是解决这个问题,多端支持,除了支持上面的那些小程序,还支持 H5、APP,一套代码,多处运行。 Taro 是京东的凹凸实验室推出的小程序框架,已经支撑了京东的多个核心业务,例如京东购物、京东到家。 Taro 在 GitHub 上收到 2.3w+ star,也很活跃,最近更新时间是 3 天前。 Taro 遵循的是 React 语法规范,只需要写一套代码,通过 Taro 编译工具,就可以编译出不同端的代码。 因为是基于 React,所以支持 React-Native,这样就可以轻松编译出 APP。 Taro 核心特性 支持使用 npm/yarn 安装管理第三方依赖。 支持使用 ES7/ES8 甚至更加新的 ES 规范,一切都可自行配置。 支持使用 CSS 预编译器,例如 Sass 等。 支持使用 Redux 进行状态管理。 支持使用 Mobx 进行状态管理。 小程序 API 优化,异步 API Promise 化等等。 学习资源 1. 免费 https://github.com/NervJS/awesome-taro

技术周刊 · 谷歌首个线上 Web 开发者大会

扶醉桌前 提交于 2020-11-01 21:43:15
近期,谷歌有史以来的第一次线上谷歌 Web 开发者大会,Web Vitals、PWA、DevTools 和 Lighthouse 6.0 等一系列特性或产品带来的全新体验,让人眼花缭乱。这次大会也以线上的形式分享了包括了性能优化、打包构建等非常多干货,定会让你收获颇丰。 登高远眺 — 天高地迥,觉宇宙之无穷 基础技术 谷歌发布首个线上 Web 开发者大会 谷歌在本月初完成首次线上 Web 开发者大会 (web.dev/live),以线上视频的形式,分享关于优化核心 Web 指标的最佳实践,Cookie 隐私和安全保护、构建工具与打包优化、Chrome DevTools 改进等技术干货。 盛况回顾 | 谷歌 Web 开发者大会的重要发布 深入浅出现代 Web 编程 这是芬兰赫尔辛基大学公开的全栈课程资源,内容包括 React, Redux, Node.js, MongoDB, GraphQL 以及 TypeScript 等,教你利用 ReactJS 搭配 Node.js 开发 REST API,搭建属于自己的单页应用程序(SPA:Single Page Application)。 全栈公开课 2020 前端框架 在 React 内使用内联函数的性能损耗究竟有多少? 一直有人教导我们:在 React 里用形如 onClick={() => { /* xxx */ }}

使用 Vue3 开发小程序

a 夏天 提交于 2020-10-26 04:22:22
前言 9 月 19 日凌晨,Vue3 在经过多个开发版本的迭代后,终于迎来了它的正式版本,”One Piece” 的代号也昭示了其开拓伟大航路的野心。 Vue3的新特性主要有 Composition API、Teleport、Fragments 和 <script setup /> & <style vars /> 等。我们是否也可以在小程序开发中使用这些特性呢?在 Taro 的文档里我们找到了 关于 Vue3 的章节 ,事不宜迟,让我们开始尝试吧。 Vue3 部分新特性 还没了解过 Vue3 的同学也别急,先了解下Vue3的新特性吧: 1.Composition API Vue2.X 基于 Option API(选项API)构建组件,一般来说组件拥有 data、methods、computed 等选项。这是一种属性相互隔离的模式,好处是各属性内容分离开,对于新手来说比较友好;但对于大型项目来说,为了修改某个功能,可能需要在一个文件中来回翻页。Vue3 增加了 Composition API 方式(组合 API ),基于 reactivity(响应式)的思想进行组件构建,将逻辑封装到函数中,可以实现类似ReactHooks 的逻辑组合和重用。对于大型项目,代码按照具体功能划分,而不是分散在不同的生命周期中,逻辑更加一目了然。 2.Teleport(传入) Teleport功能