献给所有技术内容创作者~猿创聚合助手小程序开发难点解析

简介: 我重新开始了原创技术内容创作,至今在掘金发表了原创文章60篇,47.7w阅读,1.5w赞。

前言


  • 2020年11月


我重新开始了原创技术内容创作,至今在掘金发表了原创文章60篇,47.7w阅读,1.5w赞。


image.png


现在的技术内容作者都不只在单一平台发布内容了,都是文章、长视频,短视频一把抓。


我经过一番摸索和尝试,目前确定主要在以下平台发布原创内容


  • 掘金:技术文章


  • B站:教学视频


  • 微信公众号:个人原创内容标记平台


做着做着我觉得自己需要有一个地方可以方便的将各个平台里的内容聚合起来,让某一载体的读者可以通过这个地方看到我其他载体的内容,未来还可以在这个地方做一些读者互动,比如抽奖,讨论组之类...


并且我希望这个地方所用到的技术都是我亲手完成的,都是我曾经文章或视频里写到过的技术点


  • 2021年8月31日


我开始策划、设计、开发这个小程序,历经30次迭代


image.png


这里面踩的坑无数,因为微信的审核是非常严格的,尤其又是个人注册的小程序,很多内容不是你想做就能做的。所以没做过的小程序开发小伙伴可能无法理解有些功能为什么那么设计?就不能怎么怎么样吗?因为真的就是不能。


功能点概览


image.png


关键技术点的实现


  • 聚合


聚合本身没什么难度,无非是提取数据来源平台的API。但麻烦的地方在于,个人小程序是不允许使用webview,导致为了跳转原网页,我只好采用客服消息的机制来下发网址。


  1. 客服消息教程原文:juejin.cn/post/700286…


  1. 高赞文章滑卡组件教程:juejin.cn/post/690614…


  • 分享


原本这个小程序只给我自己用的话是不用这么麻烦的。现在要能够给大家用,那么分享的时候就得携带大家的配置信息。在进入小程序后,先检查是否有携带配置信息,如果有,则使用携带的配置信息。


  • 引导关注公众号


在微信小程序里,引导关注公众号只能用组件,并且只能关联和小程序主体相同的公众号。那怎么才能实现引导关注大家自己配置的公众号信息呢?答案还是利用客服消息机制来实现,只是这里下发的是公众号的二维码。


通过微信id微信原始id来生成二维码


https://open.weixin.qq.com/qr/code?username=ezfullstack


在uniCloud云函数里将二维码图片读取并上传至微信的媒体素材接口


let imageRes = await uniCloud.httpclient.request(url);
let buff = new Buffer(imageRes.data);
let form = new FormData();
form.append('media', buff, {
  filename: `${Date.now()}.jpg`,
  contentType: 'image/jpeg'
})
const access_token = await getAccessToken();
const res = await uniCloud.httpclient.request("https://api.weixin.qq.com/cgi-bin/media/upload?access_token="+access_token+"&type=image",{
        method:"POST",
        content: form.getBuffer(),
        headers: form.getHeaders(),
        dataType:"json"
})


拿到返回的media_id就可以利用客服消息发给想要关注的用户了


var res = await sendCustomerServiceMessage({
        touser:touser,
        msgtype:"image",
        image: {
                "media_id":media_id
        }
});


  • 缓存机制


uniCloud免费的云空间性能一般,加上云函数本身冷/热启动较大的差异,必须要好好设计一下缓存机制。在这个小程序里我总共设计了三种缓存机制。


1. cloudStorage


在云函数中http请求的缓存机制,利用云数据库来做数据缓存,避免每次请求第三方接口数据的时候都重新请求,一段时间内的数据从数据库缓存获得。


2. localStorage


前端的本地数据存储,小程序退出时不销毁。


3. memoryStorage


小程序生命周期之内的数据缓存,避免一段时间内多次请求云函数,退出即销毁。


  • 用户隔离


各位技术内容作者的粉丝群体有交集的部分,可以在小程序中切换数据来源,没有交集的也无法得知其他的数据源,充分保障各自粉丝群体的独立性。


image.png


为什么我会做这个,我能收获什么?


原本就是我的个人需求,即使没有其他人用,这个工具是能满足我自己需要的。后来做着做着发现也许和我一样的内容创作者们也需要这样的工具,所以做成了开放型配置,大家都可以用。

希望这个工具能为技术内容创作者带来便利,让技术内容作者们更加专注的创作内容,而无须想方设法的引流导流。


如果你和我一样是技术内容创作者,请使用微信搜索"猿创聚合助手"小程序


为什么数据源只有掘金和B站?


因为我只用掘金和B站...未来也不会更新,我爱掘金,未来如果掘金有视频载体,我再把B站给替换掉...



相关文章
|
2月前
|
人工智能 小程序 前端开发
一个小程序轻量AR体感游戏,开发实现解决方案
针对青少年运动兴趣不足问题,AR体感游戏凭借沉浸式互动体验脱颖而出。结合小程序“AI运动识别”插件与WebGL渲染技术,可实现无需外设的轻量化AR健身游戏,如跳糕、切水果等,兼具趣味性与锻炼效果,适用于儿童健身及职工团建,即开即玩,低门槛高参与。
|
7月前
|
移动开发 小程序 JavaScript
小程序与快应用:中国移动互联网的渐进式革命——卓伊凡的技术演进观
小程序与快应用:中国移动互联网的渐进式革命——卓伊凡的技术演进观
322 12
小程序与快应用:中国移动互联网的渐进式革命——卓伊凡的技术演进观
|
2月前
|
移动开发 小程序 前端开发
小程序开发平台有哪些?哪个好
小程序的开发方式丰富多元,开发团队可根据自身的技术背景、项目具体需求以及资源状况,灵活挑选最为适宜的开发路径。以下将详细介绍几种主流的小程序开发方式。
312 1
|
2月前
|
运维 小程序 数据可视化
小程序开发平台有哪些?SaaS小程序制作平台哪个好
小程序开发模式详解:自主开发、SaaS小程序制作平台与外包全对比 选择合适的小程序开发模式,是项目成功的基石。这三种模式在成本、周期、控制力和灵活性上各有千秋,适用于不同阶段和不同类型的企业。下面我们将逐一深入剖析。
278 7
|
2月前
|
移动开发 小程序 前端开发
小程序快速开发平台有哪些?
小程序开发并非“一刀切”,需结合技术储备、资金预算、时间规划及功能需求等多维度因素综合考量。以下为您详细拆解五种主流开发方案及其适用场景,助您精准匹配开发路径。
206 3
|
2月前
|
移动开发 小程序 前端开发
小程序开发平台有哪些?小程序开发制作软件推荐
小程序开发方案全解析:5种主流方式与选择指南 小程序开发需根据技术能力、预算、时间及功能需求综合决策。以下为5种主流开发方案及适用场景分析:
462 0
|
4月前
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
197 0
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
|
5月前
|
小程序 安全 JavaScript
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
341 1
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡

推荐镜像

更多
  • DNS