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

简介: 我重新开始了原创技术内容创作,至今在掘金发表了原创文章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站给替换掉...



相关文章
|
10月前
|
移动开发 小程序 前端开发
小程序开发平台有哪些?哪个好
小程序的开发方式丰富多元,开发团队可根据自身的技术背景、项目具体需求以及资源状况,灵活挑选最为适宜的开发路径。以下将详细介绍几种主流的小程序开发方式。
781 1
|
10月前
|
人工智能 小程序 前端开发
一个小程序轻量AR体感游戏,开发实现解决方案
针对青少年运动兴趣不足问题,AR体感游戏凭借沉浸式互动体验脱颖而出。结合小程序“AI运动识别”插件与WebGL渲染技术,可实现无需外设的轻量化AR健身游戏,如跳糕、切水果等,兼具趣味性与锻炼效果,适用于儿童健身及职工团建,即开即玩,低门槛高参与。
|
10月前
|
运维 小程序 数据可视化
小程序开发平台有哪些?SaaS小程序制作平台哪个好
小程序开发模式详解:自主开发、SaaS小程序制作平台与外包全对比 选择合适的小程序开发模式,是项目成功的基石。这三种模式在成本、周期、控制力和灵活性上各有千秋,适用于不同阶段和不同类型的企业。下面我们将逐一深入剖析。
876 8
|
10月前
|
移动开发 小程序 前端开发
小程序快速开发平台有哪些?
小程序开发并非“一刀切”,需结合技术储备、资金预算、时间规划及功能需求等多维度因素综合考量。以下为您详细拆解五种主流开发方案及其适用场景,助您精准匹配开发路径。
585 3
|
10月前
|
移动开发 小程序 前端开发
小程序开发平台有哪些?小程序开发制作软件推荐
小程序开发方案全解析:5种主流方式与选择指南 小程序开发需根据技术能力、预算、时间及功能需求综合决策。以下为5种主流开发方案及适用场景分析:
26535 0
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
623 4
|
负载均衡 JavaScript 前端开发
分片上传技术全解析:原理、优势与应用(含简单实现源码)
分片上传通过将大文件分割成多个小的片段或块,然后并行或顺序地上传这些片段,从而提高上传效率和可靠性,特别适用于大文件的上传场景,尤其是在网络环境不佳时,分片上传能有效提高上传体验。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

热门文章

最新文章

推荐镜像

更多
  • DNS