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

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



相关文章
|
24天前
|
机器学习/深度学习 前端开发 Windows
【夯实技术基本功】「底层技术原理体系」全方位带你认识和透彻领悟正则表达式(Regular Expression)的开发手册(正则符号深入解析 )
【夯实技术基本功】「底层技术原理体系」全方位带你认识和透彻领悟正则表达式(Regular Expression)的开发手册(正则符号深入解析 )
31 0
|
1月前
|
安全 前端开发 数据安全/隐私保护
【教程】移动应用安全加固技术解析
【教程】移动应用安全加固技术解析
|
12天前
|
存储 中间件 关系型数据库
数据库切片大对决:ShardingSphere与Mycat技术解析
数据库切片大对决:ShardingSphere与Mycat技术解析
20 0
|
24天前
|
存储 NoSQL 算法
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)(二)
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)
36 0
|
1天前
|
存储 安全 网络安全
解析企业邮箱迁移:从技术到策略的完全指南
公司邮箱迁移是业务连续性和数据安全的关键步骤。涉及数据加密、安全存储和密钥管理,确保转移过程中的完整性与机密性。迁移应尽量减少对业务影响,通过IMAP/POP协议实现无缝转移。以Zoho Mail为例,需开启服务,获取授权码,设置转移,选择内容,填写原邮箱信息,最后验证数据。迁移前后注意备份和问题解决,确保顺利进行。
5 0
|
10天前
|
存储 人工智能 编译器
存算一体新兴力量:解析我国企业在存储创新、技术路径上的多元化探索
存算一体新兴力量:解析我国企业在存储创新、技术路径上的多元化探索
|
11天前
|
小程序 前端开发 API
深入解析微信小程序全栈开发流程
【4月更文挑战第12天】本文详述了微信小程序全栈开发流程,从需求分析到发布运营。首先,需进行需求分析与规划,明确目标用户和功能。接着,前端开发使用WXML和WXSS构建页面,JavaScript处理逻辑,结合微信API实现交互。后端开发涉及数据库设计、业务逻辑处理、API接口开发及服务器运维。完成后的调试与测试确保质量,最后发布并持续优化。全栈开发涉及多种技能,理解整个流程对创建优质小程序至关重要。
|
24天前
|
canal 消息中间件 关系型数据库
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
73 0
|
30天前
|
缓存 安全 Java
提高APP安全性的必备加固手段——深度解析代码混淆技术
提高APP安全性的必备加固手段——深度解析代码混淆技术
23 1
|
1月前
|
存储 算法 安全
【C++ 泛型编程 高级篇】 C++编译时函数调用技术深度解析
【C++ 泛型编程 高级篇】 C++编译时函数调用技术深度解析
36 1

热门文章

最新文章

推荐镜像

更多