官方社群在线客服官方频道防骗查询货币工具

2022-2023年澳大利亚电商市场趋势报告

2024-10-08 01:37:54
news.like.tgnews.like.tgnews.like.tgnews.like.tg

LIKE.TG 成立于2020年,总部位于马来西亚,是首家汇集全球互联网产品,提供一站式软件产品解决方案的综合性品牌。唯一官方网站:www.like.tg

近年来,“线上+线下”结合的全渠道策略零售商获得了较大市场反响。

与 2019 年相比,2022 年全渠道策略零售商的线上市场份额增长了 7%,而纯线上渠道运营的零售商地线上市场份额则恰好相应地下降了 7%。

自 2020 年以来,全渠道零售商一直在投资、发展数字化体验,并整合线上和线下双线渠道。随着消费者现在陆续回到实体店购物,全渠道消费者依然保持住了竞争优势。

2022 年,澳大利亚有 940 万家庭进行线上购物,这部分家庭数量占该国家庭总数量的 82%,同比增长 1.6%。2022 年 11 月的线上购物家庭数量达到 600 万,创下历史纪录。即使在非旺季月份,2022 年平均每月也有 560 万家庭进行线上购物。

线下实体店恢复运营后,线上购物的频率也趋于稳定,在 2021 年实现两位数增长后,线上购物频率增长则有所滞缓,购物频率同比下降 2.6%。从下图可知,近 60% 的澳大利亚家庭在 2022 年线上购物频率达到 12 次及以上,这一数据比 2020 年增长了 3%,未来预计线上购物频率增长速度将恢复至常规水平。

昆士兰州在 2022 年的在线购物数量同比增长率最高(11.1%),紧随其后的是西澳大利亚州(11%),这两个地区的气候和人们对户外运动的热爱促进了线上购物热度高涨,流行的线上购物品类包括运动休闲、宠物产品、园艺工具以及汽车零部件等。

农村偏远地区的网购热度甚至超过了城市地区,下图为澳大利亚线上购物热门地区:

2、 消费者画像

偶尔线上购物的消费者

这一群体约占 280 万澳大利亚家庭,年均选择 3 个线上零售商,占网购人群数量的 30%,占 4% 的线上购物量。

该人群大多是男性消费者,年龄在 55-74 岁以上,收入较低,多居住在澳大利亚乡村偏远地区。这类人群更喜欢在实体店购物,但当他们在网上购物时,会比其他购物者购买更多的消费电子产品、家居用品和电器、工具和园艺、书籍、健康和保健产品等。

他们往往会在网上购物时寻找最优惠的价格,高度重视免费送货服务,对销售活动和付费订阅服务较为不感兴趣。

积极型线上消费者

这一群体约占 240 万澳大利亚家庭,年均选择 9 个线上零售商,占网购人群数量的 26%,占 14% 的线上购物量。

这一购物群体中,年龄在 45-74 岁之间,收入中等的男性所占比例略高,他们生活在澳大利亚的大都市和地区。这类人群也喜欢在实体店内购物,但倾向于线上购买汽车配件和葡萄酒等酒类产品。他们也同样会在网上购物时寻找最优惠的价格,高度重视免费送货服务,对销售活动和付费订阅服务较为不感兴趣。

活跃型线上消费者

这一群体约占 270 万澳大利亚家庭,年均选择 18 个线上零售商,占网购人群数量的 28%,占 32% 的线上购物量。

这一消费群体中的男性消费者占比也更高,通常在 25-54 岁之间,他们有家庭、忙碌的生活和中等偏高收入,更喜欢在网上购买运动休闲、鞋类、以及宠物产品,热衷于产品折扣,因此也积极参与黑色星期五、Boxing Day 和亚马逊 Prime 会员日等销售活动。这一群体更倾向于选择在付费订阅服务,尤其是商家提供免费送货服务时。

超级线上消费者

这一群体约占 150 万澳大利亚家庭,年均选择 40 个线上零售商,占网购人群数量的 16%,占 50% 的线上购物量。

这一消费群体主要由 18-44 岁之间的女性组成,收入特别高,因此也更喜欢购买时尚、美妆个护产品和婴儿用品。

女性消费者们认为,线上购物可以为她们节省时间成本,快速送货到家服务也是必需项,这甚至比免费送货更重要。这一消费群体也比其他购物者更注重可持续发展,也更愿意参与促销活动与付费会员订阅。

3、线上零售品类整体趋势

2022 年澳大利亚的线上零售额达到 638 亿美元,同比上涨 1.7%。

2022 年的线上零售品类中,食品/酒水与杂货品类的营收年度同比增长速度彰显无疑,分别为 11.4% 和 8.6%,而其他品类营收额年度同比增长则有所下降。

三、电商市场未来时

在通货膨胀的压力之下,零售贸易在 2022 年 12 月创下历史新高,预计未来 10 年零售业将恢复到每年 3% 左右的历史增长趋势。

与 2019 年相比,超过 100 万家庭在网上购物,这一趋势可能会持续下去。

疫情后,人们也逐渐回到办公室,恢复其他线下活动。未来 10 年,随着消费者对公寓的需求也将大幅增加。随着消费者生活方式和行为的改变,人们将有更多的消费需求需要满足。

全球范围内,主要的国际零售企业都正在通过扩大其快递网络来适应市场需求,例如,亚马逊和 DHL 正在积极扩大其包裹寄存柜网络,并为客户提供更多的递送选择。DHL 还发挥了包裹柜的可持续性优势将包裹递汇集至同一个收集点,而非多点揽收。

澳大利亚的送货上门服务也正在赶上这一全球趋势。消费者也希望能使用 7 x 24 小时的快递柜,使他们能够在合适的时候提取商品。在未来 5 年内,国际上对包裹储物柜的需求预计将增加近一倍。

零售商的应对措施是将他们的商店网络转变为分散的订单履约中心,同时保持常规的店面运营功能。部分邮局也正在重新设计,以提供数字化的店内体验服务、更理想的自助服务选项和退货流程,并提供现场更衣室。

2022 年 7 月,在新南威尔士州的奥兰治邮局(Orange Post Office)推出的“社区中心邮政倡议”中便提到,邮局将为当地的小企业提供专门的产品和服务,比作为一个新的平台,直接向消费者销售企业的产品。

“社区中心”这一概念旨在满足现代电子商务不断发展的需求,为当地社区的消费需求量身定制邮局的配套服务。

四、 电商市场竞争点

关注可持续发展是近年来零售业最大的变化之一,大多数消费者选择更可持续的送货方式,即使这意味着等待包裹的时间将会更长。

作为成熟互联网环境下诞生的年轻群体和未来的主要消费者,阿尔法一代(出生年份:2012 年至 2025)比他们的父母接触到了更丰富的信息密度。因此,他们也正在向上影响,市场意识不断提高,推动零售商以更可持续的方式思考和行动。

56% 的线上消费者会选择忍受更长的包裹派送时间,以减少对环境的负面影响。

杂货类(34%)与时尚类(31%)是消费者投注可持续性关注度最高的两大品类。

消费者主要考虑的可持续性因素也包括:可回收包装(58%)、可重复使用包装(37%)、可生物降解包装(34%)。

此外,为了提升市场竞争力与受众粘度,品牌需要不断与受众互动并培养人们对品牌的忠诚度。80% 中小型企业建立了忠诚计划,并也因此收获了更多的营收,参与忠诚度计划的消费者往往比普通消费者的消费需求也更多。消费者也会通过忠诚度计划获得更多服务与奖励,53% 的线上消费者表示希望获得个性化定制服务,29% 的消费者表示希望享受快速送货服务。

作为全球跨境市场中的市场之一,2022 年从澳大利亚市场购买的跨境消费者比例仅 6%,相比于从英国(20%)与美国(26%)购买产品的跨境消费者比例则逊色不少。

五、电商垂直品类解析

1、杂货类

2022 年,澳大利亚线上杂货类营收额为 116 亿美元,同比增长 8.6%,42% 的流量来自于折扣店,58% 的流量来自于电商平台。

2022 年,澳大利亚共计有 750 万家庭通过线上杂货店购买杂货类产品,该群体约占澳大利亚线上消费者 79%。

杂货类消费者的主要消费群体占比为 24%,他们的购买量占比为 65%,2022 年线上购物次数超过了 12 次。其中,51% 的消费者还购买了婴儿用品。

沃伦(Wallan)和金布姆巴(Jimboomba)是澳大利亚线上杂货类的两大消费者所在地,两地距离各自的市中心也有一定的距离,因此消费者更倾向于网购。

2、时尚类

2022 年,澳大利亚的时尚类营收额达到 347 亿美元,总营收同比增长率上涨了 25%,线上营收占比 32%,线上营收增长率下降了 0.9%。

2022 年,澳大利亚共计有 620 万家庭购买了时尚类产品,该群体约占澳大利亚线上消费者 66%。

时尚类消费者的主要消费群体占比为 25%,他们的购买量占比为 68%,2022 年线上购物次数超过了 12 次。其中,51% 的消费者还购买了美妆类产品。

玫瑰湾(Rose Bay)和邦迪海滩(Bondi Beach)拥有美丽的海港和澳大利亚最具标志性的海滩之一,这里的居民也是澳大利亚主要的时尚类消费者。他们通常是忙碌的专业人士,拥有高可支配收入,更喜欢网上购物带来的便利。商家提供快速、简单退货服务的零售商更有可能吸引这些地区的消费者。

3、 家居园艺类

2022 年,澳大利亚的家居园艺类营收额达到 723 亿美元,总营收同比增长率上涨了 7.4%,线上营收占比 26%,线上营收增长率下降了 3.5%。

2022 年,澳大利亚共计有 660 万家庭购买了家居园艺类产品,该群体约占澳大利亚线上消费者 70%。

家居园艺类消费者的主要消费群体占比为 26%,他们的购买量占比为 63%,2022 年线上购物次数超过了 12 次。其中,46% 的消费者还购买了游戏、玩具与兴趣爱好类产品。

桑福德谷(Samford Valley)距离市中心约 40 分钟,这里也是澳大利亚主要的园艺类和宠物类消费者所在地。2022 年人均宠物产品购买量达到最高。

杜尼德山(Mount Duneed)是一个发展中地区,有大量的新住宅,该地区在年轻家庭中很受欢迎,人们也更喜欢购买园艺家居类产品。

4、 健康与美容类

2022 年,澳大利亚的健康与美容类营收额达到 241 亿美元,总营收同比增长率上涨了 13%,线上营收占比 12%,线上营收增长率下降了 3.9%。

2022 年,澳大利亚共计有 480 万家庭购买了家居园艺类产品,该群体约占澳大利亚线上消费者 51%。

健康与美容类消费者的主要消费群体占比为 22%,他们的购买量占比为 58%,2022 年线上购物次数超过了 12 次。其中,33% 的消费者还购买了运动休闲类产品。

布林巴(Bulimba)和不伦瑞克东(Brunswick East)这两个地方都是各自两个州的富裕地区,也是美国主要的健康和美容线上消费者聚集地。当地居民收入高,但也希望节省去实体店购物的时间。

5、 兴趣爱好类

2022 年,澳大利亚的兴趣爱好类营收额达到 43 亿美元,总营收同比增长率下降了 5.2%,游戏、玩具与兴趣爱好类产品营收占比 50%,娱乐用品营收占比 50%。

2022 年,澳大利亚共计有 430 万家庭购买了兴趣爱好类产品,该群体约占澳大利亚线上消费者 46%。

兴趣爱好类消费者的主要消费群体占比为 15%,他们的购买量占比为 46%,2022 年线上购物次数超过了 12 次。其中,超过 25% 的消费者还购买了工具类与园艺类产品。

皮克顿(Picton)有很多高收入家庭,他们也非常享受户外活动。另一方面,马斯韦尔布鲁克(Muswellbrook)有孩子的家庭较少,男性在煤矿业工作的比例偏高。这两个地区都有许多体育用品、电子/桌面游戏等娱乐产品的消费者。

6、 特色食品/酒水类

2022 年,澳大利亚的特色食品/酒水类营收额达到 1600 亿美元,总营收同比增长率上升了 5%,线上营收占比 8%,线上营收额增长率上涨了 11%。

2022 年,澳大利亚共计有 270 万家庭购买了特色食品/酒水类产品,该群体约占澳大利亚线上消费者 29%。

特色食品/酒水类消费者的主要消费群体占比为 6%,他们的购买量占比为 33%,2022 年线上购物次数超过了 12 次。其中,52% 的消费者还购买了家电类产品。

在新南威尔士州的两个富裕的海滨地区——莫斯曼(Mosman)与巴尔曼(Balmain)是澳大利亚主要的食品/酒类消费者所在地。由于怀揣着对生活中精致事物的独特品味,这些美食家的厨房经常配备新奇的设备,如葡萄酒冰箱、咖啡机,甚至是熟食冰箱。他们更倾向于通过网购大量囤积食材。


现在关注【LIKE.TG出海指南频道】【LIKE.TG生态链-全球资源互联社区】,即可免费领取【WhatsApp、LINE、Telegram、Twitter、ZALO云控】等获客工具试用、【住宅IP、号段筛选】等免费资源,机会难得,快来解锁更多资源,助力您的业务飞速成长!点击【联系客服】

本文由LIKE.TG编辑部转载自互联网并编辑,如有侵权影响,请联系官方客服,将为您妥善处理。

This article is republished from public internet and edited by the LIKE.TG editorial department. If there is any infringement, please contact our official customer service for proper handling.


科技论坛互联网论坛虚拟币论坛技术论坛科技峰会互联网峰会虚拟币峰会技术峰会社交媒体论坛世界互联网算力网络论坛数据论坛数据峰会网络论坛网络峰会战略论坛开放论坛全球论坛全球峰会发展论坛人工智能论坛程序员论坛
加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈
全球峰会
#自媒体#新媒体课堂——自媒体平台知多少?自媒体平台有哪些?
#自媒体#新媒体课堂——自媒体平台知多少?自媒体平台有哪些?
自媒体带起了一波创业者的高潮,做自媒体的主要就是两类人,要么是为了流量,获得用户关注;要么是为了阅读量,广告变现。说白了就是为了名利!有很多人都想做自媒体,但是该怎么做才好呢?做自媒体,写文章虽然重要,但是发文章比写重要10倍以上,只有让更多的人看到你的文章,你的文章才能给你带来更大的价值,一篇文章写出来,你发的平台不对,也不行。今天知道君整理了一些可以免费注册与发布的自媒体平台,如果你把文章发布到这些自媒体平台,你的每篇文章最少都有几万人看到,效果怎么样, 就不用多说了。现在直接分享给大家:微信公众平台微信公众平台,给个人、企业和组织提供业务服务与用户管理能力的全新服务平台。… 给企业和组织提供更强大的业务服务与用户管理能力,帮助企业快速实现全新的公众号服务平台是否免费:免费操作难度:简单应用类型:全部应用网址:http://mp.weixin.qq.com今日头条今日头条是一款基于数据挖掘的推荐引擎产品,它为用户推荐有价值的、个性化的信息,提供连接人与信息的新型服务,是国内移动互联网领域成长最快的产品服务之一是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.toutiao.com/百度百家百家是百度新闻的原创内容类平台。每日发布的优质内容将会在百度新闻的网页版、移动端呈现,并被百度搜索和百度其他产品线收录。是否免费:免费操作难度:简单应用类型:全部应用网址:http://baijia.baidu.com/搜狐媒体平台搜狐媒体平台是在搜狐门户改革背景下全新打造的内容发布和分类分发全平台。各个行业的优质内容供给者(媒体、自媒体)均可免费申请入驻,为搜狐提供内容;利用搜狐强大的媒体影响力,入驻媒体和自媒体可获取自己的用户,提升个人的品牌影响力是否免费:免费操作难度:简单应用类型:全部应用网址:http://mp.sohu.com/一点资讯一点资讯是一款高度智能的新闻资讯应用,通过它你可以搜索并订阅任意关键词,它会自动帮你聚合整理并实时更新相关资讯,同时会智能分析你的兴趣爱好,为你推荐感兴趣的内容。看新闻资讯,一点就够了!是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.yidianzixun.com/网易媒体平台网易订阅,聚合旅游、时尚、财经、科技资讯、时事新闻、RSS等众多内容,提供个性化的阅读服务是否免费:免费操作难度:简单应用类型:全部应用网址:http://dy.163.com/wemedia/login.html企鹅媒体平台企鹅媒体平台是2016年3月1日,企鹅媒体平台正式推出,腾讯将提供四个方面的能力。是否免费:免费操作难度:简单应用类型:全部应用网址:https://om.qq.com/userAuth/index北京时间号北京时间互联网门户全新领导者,依托强大的推荐引擎与专业的媒体人团队为用户实时呈现最具价值的新鲜资讯。是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.btime.com/QQ公众号QQ公众平台聚合着无限可能。凭借16年来积累的8亿用户资源,依托强势平台技术、数据沉淀和社交关系,QQ公众平台将有效聚集品牌和消费者,以开放合作的姿态与你一起打造未来。是否免费:免费操作难度:简单应用类型:全部应用网址:http://mp.qq.com/凤凰自媒体“凤凰自媒体”正式更名为“凤凰号”。据了解,凤凰自媒体平台更名后,希望能加快品牌特色化进程,深耕高质量内容领域,由此形成行业差异化竞争格局,实现优质文章在凤凰新闻客户端、凤凰网、手机凤凰网、凤凰视频客户端等渠道的有效分发。是否免费:免费操作难度:简单应用类型:全部应用网址:http://fhh.ifeng.com/login大鱼号大鱼号是阿里文娱体系为内容创作者提供的统一账号。大鱼号实现了阿里文娱体系一点接入,多点分发。内容创作者一点接入大鱼号,上传图文/视频可被分发到UC、优酷、土豆、淘系客户端,未来还会扩展到豌豆荚、神马搜索、PP助手等。是否免费:免费操作难度:简单应用类型:全部应用网址:http://mp.uc.cn/index.html知乎一个真实的网络问答社区,帮助你寻找答案,分享知识。..是否免费:免费操作难度:简单应用类型:全部应用网址:https://www.zhihu.com/钛媒体【钛媒体官方网站】钛媒体是国内首家TMT公司人社群媒体,最有钛度的一人一媒体平台,集信息交流融合、IT技术信息、新媒体于一身的媒体平台。是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.tmtpost.com/LIKE.TG+社区LIKE.TG最新又推出了一款扶持计划-『自媒体分享计划』满足条件的自媒体,入驻LIKE.TG+社区,可分享总价值百万资源包是否免费:免费操作难度:困难应用类型:全部应用网址:https://cloud.tencent.com/developer/support-plan?invite_code=oc38tj48tn8qhttp://www.tmtpost.com/虎嗅网聚合优质的创新信息与人群,捕获精选|深度|犀利的商业科技资讯。在虎嗅,不错过互联网的每个重要时刻。是否免费:免费操作难度:简单应用类型:全部应用网址:https://www.huxiu.com/砍柴网砍柴网创立于2013年,是一家拥有全球视野的前沿科技媒体,我们始终秉承观点独到、全面深入、有料有趣的宗旨,在科技与人文之间寻找商业新价值,坚持以人文的视角解读科技,用专业的精神剖析时代,孜孜不倦探索科技与商业的未来。是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.ikanchai.com/i黑马i黑马是面向创业者的创新型综合服务平台,掌握创业创新领域强有力话语权的媒体矩阵,致力于帮助创业者获得投资、人才、宣传和经验。是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.iheima.com/雷锋网雷锋网是国内最早关注人工智能和智能硬件领域的互联网科技媒体,内容涵盖人工智能、智能硬件、机器人、智能驾驶、ARVR、网络安全、物联网、未来医疗、金融科技等9大领域。雷锋网致力于连接和服务学术界、工业界与投资界,为用户提供更专业的互联网科技资讯和培训服务,让用户读懂智能与未来。是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.leiphone.com/猎云网猎云网坚守用心服务创业者的理念,专注创业创新,互联网创业项目推荐,关注新产品、新公司、新模式,以原创独家报道、分析以及美国硅谷的一手报道闻名业界。为创业者、投资人及相关业内人士提供交流学习、资源对接的桥梁。是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.lieyunwang.com/锌媒体锌媒体是一个关注前沿科技资讯、移动互联网,发现以及商业创新价值的泛科技自媒体平台。精选最新科技新闻,分享即时的移动互联网行业动态和以及提供最具商业价值的互联网创业案例,投资案例。提供绝对给力的干货、,在科技与人文之间挖掘商业新价值。是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.xinmeti.com/派代网派代网定位为中国电子商务的入口,目前是中国最活跃、最具影响力的电子商务行业交流平台,聚集了大量的电子商务领军企业创始人群。提供电商学习、人才招聘、企业贷款等电子商务综合服务。是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.paidai.com/简书致力于开发维护一套集合文字的书写、编集、发布功能于一体的在线写作编辑工具是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.jianshu.com/亿欧网亿欧是一家专注于新科技、新理念与各产业结合,以助力产业创新升级为使命的服务平台。亿欧旗下有4款产品,分别是亿欧网、视也、天窗、企服盒子。自2014年2月9日开始运营后,迅速成为互联网创业者和产业创新者的首选学习平台,是上百家知名企业的首选商业合作伙伴;先后获得盈动资本、高榕资本、盛景网联领投的三轮融资是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.iyiou.com/思达派思达派是专注创业服务市场的新媒体平台,定位“创业干货分享”,一站集成创业经验、教训等干货,帮助创业者少走弯路。同时还将举办各种线下创业分享和交流活动,分享创业心得,对接人脉、资本、以及公关推广等资源。是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.startup-partner.com/界面界面是最受中国中产阶级欢迎的新闻及商业社交平台,旗下拥有精品新闻业务界面新闻、专业投资资讯平台摩尔金融及中国最大独立设计师电商网站尤物。是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.jiemian.com/爱范儿聚焦新创和消费主题的科技媒体,成立于 2008 年 10 月,关注产品及体验,致力于“独立,前瞻,深入”的原创报道和分析评论,是国内唯一一家在产业和产品领域同时具有强势影响力的科技媒体。旗下现有 ifanr.com、SocialBase.cn、AppSolution、玩物志、创业及产品社区 MindStore 等多个细分领域的知名产品。是否免费:免费操作难度:简单应用类型:全部应用网址:http://www.ifanr.com/36氪36氪为您提供创业资讯、科技新闻、投融资对接、股权投资、极速融资等创业服务,致力成为创业者可以依赖的创业服务平台,为创业者提供最好的产品和服务。是否免费:免费操作难度:简单应用类型:全部应用网址:http://36kr.com如果一篇文章在一个平台一天有100个阅读量,在50个平台上就是5000阅读,那么10天呢,一年356天呢,可能前期会辛苦一点,但是你需要坚持,越到后面,你在互联网上发布的文章越多,加你的人也会越多,而且这些文章将会在多年以后都能够继续为你带来流量,有的人两年前写的文章,现在还有人看了还会加v信。外加两个,趣头条,惠头条。有的人可能会问,这么多平台,发文章比写文章还累!额。。。。。。你需要学会找工具,早就有人开发出来了一键发布功能,一篇文章可以同时发布到多个自媒体平台上!什么工具呢?百度一下,你就知道!以上,是今天给大家提供的一些思路,希望对大家有帮助!这些仅仅是各大门户网站的自媒体开放平台,没有精确到各种类型的全部平台,如小视频类app、综合视频类网站都没有开始说,由于篇幅的原因,留到以后再进行补充吧。
1-4月美国电商支出3316亿美元,消费者转向低价商品
1-4月美国电商支出3316亿美元,消费者转向低价商品
AMZ123 获悉,日前,据外媒报道,Adobe Analytics 的数据显示,2024 年前四个月美国电商增长强劲,同比增长 7%,达到 3316 亿美元。据了解,Adobe Analytics 对美国在线交易数据进行了分析,涵盖美国零售网站的一万亿次访问、1 亿个 SKU 和 18 个产品类别。2024 年 1 月 1 日至 4 月 30 日,美国在线支出达 3316 亿美元,同比增长 7%,得益于电子产品、服装等非必需品的稳定支出以及在线杂货购物的持续激增。Adobe 预计,2024 年上半年在线支出将超过 5000 亿美元,同比增长 6.8%。今年前四个月,美国消费者在线上消费电子产品 618 亿美元(同比增长 3.1%),服装 525 亿美元(同比增长 2.6%)。尽管增幅较小,但这两个类别占电商总支出的 34.5%,帮助保持了营收增长。同时,杂货进一步推动了增长,在线支出达 388 亿美元,同比增长 15.7%。Adobe 预计,未来三年内,该类别将成为电商市场的主导力量,其收入份额与电子产品和服装相当。另一个在线支出费增长较快的类别是化妆品,该类别在 2023 年带来了 350 亿美元的在线消费,同比增长 15.6%。而这一上升趋势仍在继续,截至 4 月 30 日,2024 年美国消费者在化妆品上的在线支出为 132 亿美元,同比增长 8%。此外,数月持续的通货膨胀导致消费者在多个主要类别中购买更便宜的商品。Adobe 发现,个人护理(增长 96%)、电子产品(增长 64%)、服装(增长 47%)、家居/花园(增长 42%)、家具/床上用品(增长 42%)和杂货(增长 33%)等类别的低价商品份额均大幅增加。具体而言,在食品杂货等类别中,低通胀商品的收入增长 13.4%,而高通胀商品的收入下降 15.6%。在化妆品等类别中,影响相对较弱,低通胀商品的收入增长 3.06%,高通胀商品的收入仅下降 0.34%,主要由于消费者对自己喜欢的品牌表现出了更强的忠诚度。而体育用品(增长 28%)、家电(增长 26%)、工具/家装(增长 26%)和玩具(增长 25%)等类别的低价商品份额增幅均较小,这些类别的增幅也主要受品牌忠诚度影响,同时消费者更倾向于购买最高品质的此类产品。此外,“先买后付”(BNPL)支付方式在此期间也出现了持续增长。2024 年 1 月至 4 月,BNPL 推动了 259 亿美元的电商支出,较去年同期大幅增长 11.8%。Adobe 预计,BNPL 将在 2024 年全年推动 810 亿至 848 亿美元的支出,同比增长 8% 至 13%。
12月波兰社媒平台流量盘点,TikTok追赶Instagram
12月波兰社媒平台流量盘点,TikTok追赶Instagram
AMZ123 获悉,近日,市场分析机构 Mediapanel 公布了 2023 年 12 月波兰主流社交平台的最新用户统计数据。受 TikTok 的打击,Pinterest、Facebook 和 Instagram 的用户数量出现下降。根据 Mediapanel 的数据,截至 2023 年 12 月,TikTok 是波兰第三大社交媒体平台,拥有超过 1378 万用户,相当于波兰 46.45% 的互联网用户。排在 TikTok 之前的是 Facebook 和 Instagram,其中 Facebook 拥有超过 2435 万用户,相当于波兰 82.06% 的互联网用户;Instagram 则拥有超过 1409 万用户,相当于波兰 47.47% 的互联网用户。在用户使用时长方面,TikTok 排名第一。2023 年 12 月,TikTok 用户的平均使用时长为 17 小时 18 分钟 42 秒。Facebook 用户的平均使用时长为 15 小时 36 分钟 38 秒,位居第二。其次是 Instagram,平均使用时长为 5 小时 2 分钟 39 秒。与 11 月相比,12 月 Facebook 减少了 58.84 万用户(下降 2.4%),但其用户平均使用时间增加了 32 分钟 50 秒(增长 3.6%)。Instagram 流失了 25.9 万用户(下降 1.8%),但其用户平均使用时间增加了 15 分钟(增长 5.2%)。虽然 TikTok 的用户数量略有增长(增长 8.85 万,即 0.6%),但其用户平均使用时间减少了 47 分钟(减少 4.3%)。12 月份,波兰其他主流社交媒体平台的用户数据(与 11 月相比):X 增加了 39.64 万用户(增长 4.8%),用户平均使用时间增加了 6 分钟 19 秒(增长 9.3%);Pinterest 增加了 23.02 万用户(增长 3.5%),用户平均使用时间增加了 7 分钟 9 秒(增长 16.1%);Snapchat 则增加了 9.04 万用户(增长 1.8%),用户平均使用时间增加了 23 秒(增长 0.2%);LinkedIn 流失了 27.69 万用户(下降 6.2%),用户平均使用时间减少了 1 分钟 36 秒(下降 11.7%);Reddit 流失了 18.6 万用户(下降 7.1%),用户平均使用时间减少了 1 分钟 27 秒(下降 11.6%)。
科技论坛
Flarum搭建论坛详细教程
Flarum搭建论坛详细教程
1、关于Flarum程序完美支持军哥lnmp环境/宝塔等,下载程序上传到网站根目录并需要伪静态+fileinfo扩展。程序本地下载:FlarumChina-beta7.zipGithub下载地址:https://github.com/skywalker512/FlarumChinafileinfo拓展 需要支持php扩展fileinfo。 1、对于lnmp1.3默认没有支持。修改include/upgrade_php.sh这个文件,把其中的:--disable-fileinfo,全部替换:--enable-fileinfo,再执行./upgrade.sh升级php就行了。 2、对于宝塔,安装后,找到你的PHP程序,里面有扩展可以选择安装。2、centos安装LNMP支持flarun2 | 1 数据库安装代码语言:javascript复制sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm yum -y install mysql57-community-release-el7-10.noarch.rpm yum -y install mysql-community-server systemctl start mysqld.service2 | 2 mysql5.7获取密码的方式代码语言:javascript复制sudo grep 'temporary password' /var/log/mysqld.log代码语言:javascript复制vi /etc/my.cnf代码语言:javascript复制#添加validate_password_policy配置 validate_password_policy=0 #关闭密码策略 validate_password = off修改root密码代码语言:javascript复制mysql -uroot -p密码代码语言:javascript复制set global validate_password_policy=0; set global validate_password_length=1; ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; grant all privileges on *.* to root@"%" identified by "new password"; flush privileges;代码语言:javascript复制systemctl restart mysql2 | 3 安装php7.2代码语言:javascript复制sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum install php72w-fpm php72w-cli php72w-curl php72w-dom php72w-gd php72w-json php72w-mbstring php72w-openssl php72w-pdo_mysql php72w-tokenizer php72w-zip -y代码语言:javascript复制vim /etc/php-fpm.d/www.conf代码语言:javascript复制#找到以下两处共四行代码并修改如下: user = nginx group = nginx listen.owner = nginx listen.group = nginx3、安装Flarum方法一:下载=即使用整合包https://github.com/skywalker512/FlarumChina/releases/tag/v0.1.0-beta.12方法二:composer拉取 (比较建议后面装插件都是用的composer)3 | 1 安装composer下载composer.phar, 如果是网络原因失败,多试几次代码语言:javascript复制curl -sS https://getcomposer.org/installer | php把composer.phar移动到环境下让其变成可执行:代码语言:javascript复制mv composer.phar /usr/local/bin/composer测试代码语言:javascript复制composer -v修改镜像地址代码语言:javascript复制composer config repo.packagist composer https://mirrors.aliyun.com/composer/3 | 2 安装ningx代码语言:javascript复制yum -y install nginx unzip进入wwwroot目录中使用composer命令来安装flarum:代码语言:javascript复制mkdir /var/www/flarum/ cd /var/www/flarum/代码语言:javascript复制composer create-project flarum/flarum . --stability=beta #不用使用管理员权限命令sudo。完毕后修改nginx中的默认配置文件:代码语言:javascript复制sudo vim /etc/nginx/nginx.conf代码语言:javascript复制#将server代码段下的所有代码都用#注释掉 #server { # listen 80 default_server; # listen [::]:80 default_server; # server_name _; # root /usr/share/nginx/html; # # Load configuration files for the default server block. # include /etc/nginx/default.d/*.conf; # location / { # } # error_page 404 /404.html; # location = /40x.html { # } # error_page 500 502 503 504 /50x.html; # location = /50x.html { # } #} #然后修改 server { listen 80; server_name your.website.url; root /var/www/flarum/public; index index.php index.html; #include /home/flarum/wwwroot/.nginx.conf; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location / { try_files $uri $uri/ /index.php?$query_string; } # The following directives are based on best practices from H5BP Nginx Server Configs # https://github.com/h5bp/server-configs-nginx # Expire rules for static content location ~* \.(?:manifest|appcache|html?|xml|json)$ { add_header Cache-Control "max-age=0"; } location ~* \.(?:rss|atom)$ { add_header Cache-Control "max-age=3600"; } location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|mp4|ogg|ogv|webm|htc)$ { add_header Cache-Control "max-age=2592000"; access_log off; } location ~* \.(?:css|js)$ { add_header Cache-Control "max-age=31536000"; access_log off; } location ~* \.(?:ttf|ttc|otf|eot|woff|woff2)$ { add_header Cache-Control "max-age=2592000"; access_log off; } # Gzip compression gzip on; gzip_comp_level 5; gzip_min_length 256; gzip_proxied any; gzip_vary on; gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; }注意:因为Flarum遵守了最新的安全规范,其程序的运行目录其实是在public文件夹内。4、插件安装https://bbs.csur.fun/d/84-flarum5、虚拟机搭建买个虚拟机做网页,诸多限制,虚拟机服务商的提供的服务确实就两字“操蛋”。 为什么没有买云服务器?就两字 “没钱”!哈哈。 虚拟机的购买途径自寻,但是很多服务商真的很坑爹。 虚拟机要求php支持7.2以上mysql支持5.7以上能够支持更改网站跟目录6、更改网站根目录层级将 public 目录(包括 .htaccess)中的所有文件移动到 Flarum 根目录。然后编辑 .htaccess 取消第 9-14 行的注释,以保护敏感资源。 然后编辑 index.php 文件,更改以下行:代码语言:javascript复制$site = require './site.php';最后,在 site.php 更新路径,以反映新的目录结构:代码语言:javascript复制'base' => __DIR__, 'public' => __DIR__, 'storage' => __DIR__.'/storage',config.php 更新 url 路径代码语言:javascript复制'url' => 'https://xxx.com/community',不更改网站层级目录请根据你的虚拟主机面板的不同,将网站运行目录指向public文件夹。 如果您使用的是虚拟主机无法更改目录,请按照一下的方法进行设置 在根目录下新建一个名为 .htaccess的文件代码语言:javascript复制RewriteEngine on RewriteCond %{REQUEST_URI} !^/public/ RewriteRule ^(.*)$ /public/$1 [L]7、其他底部加统计代码语言:javascript复制vendor/flarum/core/views/app.blade.php去掉网络字体代码语言:javascript复制vendor/flarum/core/src/Http/WebApp/WebAppView.php伪静态设置Nginx的话在站点配置文件处添加下面一段话。代码语言:javascript复制location / { try_files $uri $uri/ /index.php?$query_string; } location /api { try_files $uri $uri/ /api.php?$query_string; } location /admin { try_files $uri $uri/ /admin.php?$query_string; } location /flarum { deny all; return 404; } location ~ .php$ { fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; }
一些关于网站推广问题合集。
一些关于网站推广问题合集。
网站怎么快速上权重?要让一个网站快速提高权重,需要实施以下一些有效的策略:提供高质量的内容:提供高质量、原创、有用的内容是最重要的。这可以吸引更多的用户访问,并增加用户留存时间,提高用户体验。同时,高质量的内容也会被其他网站引用和分享,这将有助于增加外部链接,提高网站的权重。内部链接优化:内部链接是指在网站内部不同页面之间的链接。通过优化内部链接结构,可以增加搜索引擎对网站的理解,提高网站权重。在内部链接时,要使用相关的关键字作为链接文本,而不是使用"点击这里"这样无意义的链接文本。外部链接建设:获取来自其他网站的高质量链接对于提高网站权重非常重要。可以通过主动进行友情链接、媒体报道、论坛发帖等方式增加外部链接。但是请注意,建立外部链接是需要花费时间和精力的,必须确保链接是高质量的、自然的,否则可能会适得其反。社交媒体推广:在社交媒体平台上建立专业的社交媒体账号,提供网站相关的信息、文章、图像、视频等,让更多的用户了解网站,增加网站的曝光度,进而增加网站权重。网站结构优化:优化网站结构可以帮助搜索引擎更好地抓取和理解网站内容,提高网站权重。可以通过优化网站的HTML代码结构、网站的目录结构、网站的图片和视频的优化等方式实现。需要注意的是,这些策略需要长期坚持和不断完善,才能够取得长期、稳定的效果。怎么养站?要养好一个网站,需要考虑以下几个方面:网站内容:一个网站需要有高质量、有价值的内容来吸引用户。内容可以是文字、图片、视频等形式,需要有足够的量和质量,同时需要及时更新。网站设计:网站的设计需要符合用户的视觉需求,界面简洁、易于操作、美观大方,同时需要考虑不同设备(如手机、平板、电脑)的适配。网站优化:通过搜索引擎优化(SEO)、网站性能优化(如减少页面加载时间)、提高用户体验(如减少广告干扰),来提高网站的流量和用户满意度。社交媒体:通过社交媒体来吸引用户,增加网站的曝光率和影响力,比如可以在微信公众号、微博、知乎等平台上发布内容,吸引用户关注。安全保护:确保网站的安全性,包括用户信息保护、反垃圾邮件、反病毒等安全措施。数据分析:通过数据分析工具,了解用户访问情况,优化网站的运营,提高用户满意度和转化率。综合考虑上述因素,不断更新和改进,就可以养好一个网站。网站怎么发外链有用?要使外链对你的网站有用,你需要遵循以下几个步骤:确定目标受众和内容:确定你要向哪些人推广内容,以及他们可能对哪些内容感兴趣。通过创建高质量的内容,吸引用户来阅读你的文章并点击你的链接。找到相关的网站:寻找与你的内容相关的网站,并联系网站所有者以获得一个外链。你可以通过搜索引擎、社交媒体、行业博客等方式来找到这些网站。站长百科网创建有价值的内容:创建有价值的内容可以吸引其他网站链接到你的网站。确保你的内容是高质量的,包含有用的信息,且易于阅读和分享。联系其他网站:直接联系其他网站的所有者,请求他们在他们的网站上添加你的链接。你可以通过电子邮件、社交媒体或其他渠道来联系他们。使用社交媒体:在社交媒体上分享你的内容,并鼓励其他用户分享你的文章。这样可以提高你的内容的曝光率,并吸引更多的用户来访问你的网站。需要注意的是,对于外链的数量和质量,搜索引擎有一定的要求,如果采用不当的方式获取外链,可能会对你的网站产生负面影响。因此,你需要遵守搜索引擎的规则,采用合法的方式获取外链,从而为你的网站带来更多的流量和排名提升。2023年建什么类型的网站有前景?2023年,移动端和云端应用程序将继续受到极大的关注,尤其是基于AI的应用程序。有预测认为,2023年将会出现大量的智能家居、自动驾驶、语音助手等应用,这些网站将具有更大的前景。收藏 | 0点赞 | 0打赏
红鲱鱼发布欧洲100佳创业企业名单
红鲱鱼发布欧洲100佳创业企业名单
红鲱鱼欧洲100佳创业企业评选活动上周在阿姆斯特丹结束,这次活动评出了欧洲100家最具潜力的创业企业。此次论坛讨论了2016年及未来几年欧洲创业者面临的前景。众多顶级投资人参与了讨论,指导创业企业如何吸引合适的投资机构。演讲嘉宾和听众都认为在欧洲融资仍然是主要挑战,这对于创业者来说尤其重要。论坛讨论结束,企业开始登台宣讲,评选标准和去年一样严格。参与评选的企业来自整个欧洲,从俄罗斯到法国到英国到德国。这100家最佳企业都是经过严格的层层筛选评出的,荣誉来之不易,也是众望所归。这些企业来自不同的领域,他们在欧洲以及全球市场的发展将备受瞩目,也会受到密切跟踪。 2016年欧洲100佳创业企业榜单公司行业国家12Return软件荷兰3megawatt GmbH清洁技术德国4th Office云技术英国6Tribes社交媒体英国Acast AB娱乐媒体瑞典Accellta Ltd生命科学/生物技术以色列Agiboo BV云技术荷兰agile42其他德国Anders Innovations网络/互联网芬兰Appentra Solutions软件西班牙arivis AG软件德国Beyond Sports虚拟技术荷兰Billage云技术西班牙Biovotion AG医疗设备瑞士BISEES INFORMATION SYSTEMS软件爱尔兰CARENITY社交媒体法国CloudEndure云技术以色列Compliance Risks专业服务爱尔兰Create Intelligence Ltd软件/分析英国Cree GmbH清洁技术奥地利CropX云技术以色列DCA (Data-Centric Alliance)大数据/存储俄罗斯Diviac AG互联网/网络瑞士EasyPark Group其他瑞典Educated Change Ltd娱乐媒体英国Enso Detego GmbH软件奥地利eSMART Technologies清洁技术瑞士EVRYTHNG云技术英国Fairsail云技术英国Featurespace其他英国FINALCAD软件法国GetIntent广告技术美国Grapeshot软件英国GuardSquare网络安全比利时HeadSense Medical医疗设备以色列HELLO STAGE娱乐媒体美国Herta Security网络安全西班牙High-Tech Bridge网络安全瑞士homePad Solutions互联网/网络瑞士ICS2大数据/存储以色列ID Finance银行/并购西班牙indoo.rs GmbH软件奥地利Kameleoon广告技术法国Keypasco网络安全瑞典KTH Event Agency清洁技术土耳其Lemon Way互联网/网络法国Leverate软件以色列LibraEsva Srl网络安全意大利MediSapiens Ltd生命科学/生物技术芬兰MeetApp AB移动技术瑞典Metafused Ltd广告技术英国moblin大数据/软件/广告技术以色列Mols Media BV软件荷兰MYMobile Security网络安全英国nestpick其他德国Nexthink软件瑞士OneSoon Limited软件英国Openhost, SL云技术西班牙Optimal Plus大数据/存储以色列OurCrowd风险资本/投资以色列Overleaf云技术英国P.I.Works电讯土耳其Padawan Ltd网络英国Parx Plastics BV清洁技术荷兰PleaseTech Ltd软件英国Polar OLED Ltd硬件英国Privatequity.biz互联网/网络以色列Productsup GmbH软件德国Pyreos Limited硬件英国Qosmos软件法国QUASARDB软件法国Radisens Diagnostics医疗设备爱尔兰rational motion清洁技术德国RedCloud Technologies软件英国Relay42云技术荷兰Roima Intelligence其他芬兰Securosys SA网络安全瑞士Sentiance软件比利时Shadow Technologies网络/互联网以色列Smoltek AB纳米技术瑞典Spideo软件法国Sportswik AB娱乐媒体dia瑞典Stratoscale虚拟技术以色列Takeaway.com B.V.网络/互联网荷兰Teamnet Group软件罗马尼亚The Nostrum Group Ltd软件英国TimeLog A/S软件丹麦Tinitell电讯瑞典TitanHQ网络安全爱尔兰Umbilical Design其他瑞典VATBOX云技术英国Venture Spirit云技术比利时VerseOne软件英国Visma Solutions Oy云技术芬兰Wax Digital Ltd云技术英国网络lib大数据/存储法国WeekCal BV移动技术荷兰Zapgocharger Ltd消费电子英国Zebra Medical Vision生命科学/生物技术以色列ZeroLight软件英国
互联网论坛
BBS论坛(二十五)
BBS论坛(二十五)
25.1.发布帖子后台逻辑完成(1)apps/models.py代码语言:javascript复制class PostModel(db.Model): __tablename__ = 'post' id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(200), nullable=False) content = db.Column(db.Text, nullable=False) create_time = db.Column(db.DateTime, default=datetime.now) board_id = db.Column(db.Integer, db.ForeignKey('board.id')) board = db.relationship('BoardModel', backref='posts')(2)front/decorater.py代码语言:javascript复制from flask import session,redirect,url_for from functools import wraps import config def login_requried(func): @wraps(func) def wrapper(*args,**kwargs): if config.FRONT_USER_ID in session: return func(*args,**kwargs) else: return redirect(url_for('front.signin')) return wrapper(3)front/forms.py代码语言:javascript复制class AddPostForm(BaseForm): title=StringField(validators=[InputRequired(message='请输入标题')]) content=StringField(validators=[InputRequired(message='请输入内容')]) board_id=IntegerField(validators=[InputRequired(message='请选择版块')])(4)front/views.py代码语言:javascript复制@bp.route('/apost/', methods=['POST', 'GET']) @login_requried def apost(): if request.method == 'GET': boards = BoardModel.query.all() return render_template('front/front_apost.html', boards=boards) else: form = AddPostForm(request.form) if form.validate(): title = form.title.data content = form.content.data board_id = form.board_id.data board = BoardModel.query.get(board_id) if not board: return restful.params_error(message='没有这个版块') post = PostModel(title=title, content=content, board_id=board_id) post.board = board db.session.add(post) db.session.commit() return restful.success() else: return restful.params_error(message=form.get_error())25.2.发布帖子界面布局完成(1)把ueditor静态文件放到static目录下(2)apps目录下新建ueditor目录init.py代码语言:javascript复制from .ueditor import bpueditor.py代码语言:javascript复制#encoding: utf-8 from flask import ( Blueprint, request, jsonify, url_for, send_from_directory, current_app as app ) import json import re import string import time import hashlib import random import base64 import sys import os from urllib import parse # 更改工作目录。这么做的目的是七牛qiniu的sdk # 在设置缓存路径的时候默认会设置到C:/Windows/System32下面 # 会造成没有权限创建。 os.chdir(os.path.abspath(sys.path[0])) try: import qiniu except: pass from io import BytesIO bp = Blueprint('ueditor',__name__,url_prefix='/ueditor') UEDITOR_UPLOAD_PATH = "" UEDITOR_UPLOAD_TO_QINIU = False UEDITOR_QINIU_ACCESS_KEY = "" UEDITOR_QINIU_SECRET_KEY = "" UEDITOR_QINIU_BUCKET_NAME = "" UEDITOR_QINIU_DOMAIN = "" @bp.before_app_first_request def before_first_request(): global UEDITOR_UPLOAD_PATH global UEDITOR_UPLOAD_TO_QINIU global UEDITOR_QINIU_ACCESS_KEY global UEDITOR_QINIU_SECRET_KEY global UEDITOR_QINIU_BUCKET_NAME global UEDITOR_QINIU_DOMAIN UEDITOR_UPLOAD_PATH = app.config.get('UEDITOR_UPLOAD_PATH') if UEDITOR_UPLOAD_PATH and not os.path.exists(UEDITOR_UPLOAD_PATH): os.mkdir(UEDITOR_UPLOAD_PATH) UEDITOR_UPLOAD_TO_QINIU = app.config.get("UEDITOR_UPLOAD_TO_QINIU") if UEDITOR_UPLOAD_TO_QINIU: try: UEDITOR_QINIU_ACCESS_KEY = app.config["UEDITOR_QINIU_ACCESS_KEY"] UEDITOR_QINIU_SECRET_KEY = app.config["UEDITOR_QINIU_SECRET_KEY"] UEDITOR_QINIU_BUCKET_NAME = app.config["UEDITOR_QINIU_BUCKET_NAME"] UEDITOR_QINIU_DOMAIN = app.config["UEDITOR_QINIU_DOMAIN"] except Exception as e: option = e.args[0] raise RuntimeError('请在app.config中配置%s!'%option) csrf = app.extensions.get('csrf') if csrf: csrf.exempt(upload) def _random_filename(rawfilename): letters = string.ascii_letters random_filename = str(time.time()) + "".join(random.sample(letters,5)) filename = hashlib.md5(random_filename.encode('utf-8')).hexdigest() subffix = os.path.splitext(rawfilename)[-1] return filename + subffix @bp.route('/upload/',methods=['GET','POST']) def upload(): action = request.args.get('action') result = {} if action == 'config': config_path = os.path.join(bp.static_folder or app.static_folder,'ueditor','config.json') with open(config_path,'r',encoding='utf-8') as fp: result = json.loads(re.sub(r'\/\*.*\*\/','',fp.read())) elif action in ['uploadimage','uploadvideo','uploadfile']: image = request.files.get("upfile") filename = image.filename save_filename = _random_filename(filename) result = { 'state': '', 'url': '', 'title': '', 'original': '' } if UEDITOR_UPLOAD_TO_QINIU: if not sys.modules.get('qiniu'): raise RuntimeError('没有导入qiniu模块!') buffer = BytesIO() image.save(buffer) buffer.seek(0) q = qiniu.Auth(UEDITOR_QINIU_ACCESS_KEY, UEDITOR_QINIU_SECRET_KEY) token = q.upload_token(UEDITOR_QINIU_BUCKET_NAME) ret,info = qiniu.put_data(token,save_filename,buffer.read()) if info.ok: result['state'] = "SUCCESS" result['url'] = parse.urljoin(UEDITOR_QINIU_DOMAIN,ret['key']) result['title'] = ret['key'] result['original'] = ret['key'] else: image.save(os.path.join(UEDITOR_UPLOAD_PATH, save_filename)) result['state'] = "SUCCESS" result['url'] = url_for('ueditor.files',filename=save_filename) result['title'] = save_filename, result['original'] = image.filename elif action == 'uploadscrawl': base64data = request.form.get("upfile") img = base64.b64decode(base64data) filename = _random_filename('xx.png') filepath = os.path.join(UEDITOR_UPLOAD_PATH,filename) with open(filepath,'wb') as fp: fp.write(img) result = { "state": "SUCCESS", "url": url_for('files',filename=filename), "title": filename, "original": filename } return jsonify(result) @bp.route('/files/<filename>/') def files(filename): return send_from_directory(UEDITOR_UPLOAD_PATH,filename)(3)perfect_bbs.py代码语言:javascript复制from apps.ueditor import bp as ueditor_bp app.register_blueprint(ueditor_bp)(4)front/index.html代码语言:javascript复制<a class="btn btn-warning btn-block" href="{{ url_for('front.apost') }}" id="add-post-btn">发布帖子</a>(5)front/apost.html代码语言:javascript复制{% extends 'front/front_base.html' %} {% from 'common/_macros.html' import static %} {% block title %} 发布帖子 {% endblock %} {% block head %} <script src="{{ static('ueditor/ueditor.config.js') }}"></script> <script src="{{ static('ueditor/ueditor.all.min.js') }}"></script> <script src="{{ static('front/js/front_apost.js') }}"></script> {% endblock %} {% block body %} <form method="post"> <div class="form-group"> <div class="input-group"> <span class="input-group-addon">标题</span> <input type="text" name="title" class="form-control"> </div> </div> <div class="form-group"> <div class="input-group"> <span class="input-group-addon">版块</span> <select name="board_id" class="form-control"> {% for board in boards %} <option value="{{ board.id }}">{{ board.name }}</option> {% endfor %} </select> </div> </div> <div class="form-group"> <script id="ueditor" type="text/plain" style="height:500px;"></script> </div> <div class="form-group"> <button class="btn btn-danger" id="submit-btn">发布帖子</button> </div> </form> {% endblock %}(6)front/js/apost.js代码语言:javascript复制$(function () { var ue=UE.getEditor('ueditor',{'serverUrl':'/ueditor/upload/'}); });
加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈加入like.tg生态圈,即可获利、结识全球供应商、拥抱全球软件生态圈