当前位置: 首页 > news >正文

开发微信小程序的过程与心得

起因

作为家长,我近期参与了学校的护学岗工作。在这个过程中,我发现需要使用水印相机来记录护学活动,但市面上大多数水印相机应用都要求开通会员才能使用完整功能。作为一名程序员,我决定利用自己的技术背景,开发一个免费、易用且无需下载的水印相机小工具,供学校家长和社区成员使用。考虑到微信小程序的便捷性和广泛的用户基础,我决定将这款工具打造为微信小程序。

过程与步骤
  1. 决策与规划
    • 确定开发目标为微信小程序,以利用其无需下载、即点即用的特点。
    • 规划小程序的核心功能,包括拍照、添加水印(包含日期、时间、地点等信息)、保存和分享图片。
  2. 学习与准备
    • 学习微信小程序的注册、开发知识,包括小程序的基本框架、API调用、界面设计等。
    • 注册成为微信小程序开发者,下载并安装微信开发者工具。
  3. 功能实现
    • 拍照与选图:利用微信小程序的相机组件和图片选择器API实现。
    • 水印添加:使用微信小程序的Canvas API在图片上绘制水印。
    • 地址解析:注册腾讯位置服务账号,申请并使用微信位置信息接口获取用户位置,再将其转换为具体地址。
    • 保存与分享:实现将带有水印的图片保存到用户相册,并提供分享功能。
  4. 合规与上架
    • 完成微信小程序的备案流程,包括提交相关资料、等待审核等。
    • 为方便分享和推广,进行微信小程序的认证,并支付认证费用,个人是30元。
    • 在审核过程中,积极与微信团队沟通,确保小程序符合相关政策和要求。
  5. 测试与优化
    • 进行功能测试,确保所有功能正常运行。
    • 进行用户体验测试,收集用户反馈,对界面和功能进行优化。
心得

在这次开发过程中,我深刻体会到了做好一件事的不易。虽然微信小程序的开发看似简单,但实际上涉及了多个环节和步骤,包括学习新知识、处理合规问题、与第三方服务集成等。备案和认证过程也相对繁琐,需要耐心和细心地准备和沟通。

不过,当我看到小程序成功上线并受到用户的好评时,所有的努力都化为了满满的成就感。这次经历也让我更加珍惜每一次技术挑战和成长的机会。

结果

目前,这款水印相机微信小程序已经成功上线,还未推广,使用的用户不多,后续也根据平时使用到的工具慢慢添加了一些功能,如果图片压缩,后续可能会添加一下其他,也会根据用户提的要求添加一些用户需要使用到的工具,比如手机补光工具等。

同时,我也计划将这次开发过程中的经验和心得记录下来,分享给更多想要开发微信小程序的朋友们。希望我的经历能够为他们提供一些启示和帮助,让他们更加顺利地完成自己的小程序开发之旅。

相关文章:

开发微信小程序的过程与心得

起因 作为家长,我近期参与了学校的护学岗工作。在这个过程中,我发现需要使用水印相机来记录护学活动,但市面上大多数水印相机应用都要求开通会员才能使用完整功能。作为一名程序员,我决定利用自己的技术背景,开发一个…...

【1224】数据结构(sizeof/数组的长度定义/读取字符串函数/线性表长度/左值右值/静态变量/指针与引用)

1.对一维整型数组a的正确说明是 #define SIZE 10 (换行) int a[SIZE];说法是否正确? 正确 数组的SIZE可以用宏定义,但不能用变量 2.如有定义:char str[20];,能将从键盘输入的字符串“How are you”保存到 str 数组的语句是&#x…...

Android笔记(四十一):TabLayout内的tab不滚动问题

背景 假设二级页面是上面图片的布局,当进来时TabLayout和ViewPager2绑定完就马上调setCustomItem,跳转到最后一个tab页面时,会发现tab不滚动,手动滑一下ViewPager2时才会滚动tab到正确的位置 原因分析 调用TabLayoutMediator.at…...

基于pytorch的深度学习基础3——模型创建与nn.Module

三 模型创建与nn.Module 3.1 nn.Module 模型构建两要素: 构建子模块——__init()__拼接子模块——forward() 一个module可以有多个module; 一个module相当于一个运算,都必须实现forward函数; 每一个mod…...

Debian-linux运维-docker安装和配置

腾讯云搭建docker官方文档:https://cloud.tencent.com/document/product/213/46000 阿里云安装Docker官方文档:https://help.aliyun.com/zh/ecs/use-cases/install-and-use-docker-on-a-linux-ecs-instance 天翼云常见docker源配置指导:htt…...

Docker完整技术汇总

Docker 背景引入 在实际开发过程中有三个环境,分别是:开发环境、测试环境以及生产环境,假设开发环境中开发人员用的是jdk8,而在测试环境中测试人员用的时jdk7,这就导致程序员开发完系统后将其打成jar包发给测试人员后…...

在JavaScript文件中定义方法和数据(不是在对象里定以数据和方法,不要搞错了)

在对象里定以数据和方法看这一篇 对象字面量内定义属性和方法(什么使用const等关键字,什么时候用键值对)-CSDN博客https://blog.csdn.net/m0_62961212/article/details/144788665 下是在JavaScript文件中定义方法和数据的基本方式&#xff…...

python爬虫爬抖音小店商品数据+数据可视化

爬虫代码 爬虫代码是我调用的数据接口,可能会过一段时间用不了,欢迎大家留言评论,我会不定时更新 import requests import time cookies {token: 5549EB98B15E411DA0BD05935C0F225F,tfstk: g1vopsc0sQ5SwD8TyEWSTmONZ3cA2u6CReedJ9QEgZ7byz…...

关于 覆铜与导线之间间距较小需要增加间距 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/144776995 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…...

uniapp中Nvue白屏问题 ReferenceError: require is not defined

uniapp控制台输出如下 exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught ReferenceError: require is not defined 或者 exception function:createInstanceContext, exception:white s…...

在 Windows 上,如果忘记了 MySQL 密码 重置密码

在 Windows 上,如果忘记了 MySQL 密码,可以通过以下方法重置密码: 方法 1:以跳过权限验证模式启动 MySQL 并重置密码 停止 MySQL 服务: 打开 命令提示符 或 PowerShell,输入以下命令停止 MySQL 服务&#…...

《PyTorch:从基础概念到实战应用》

《PyTorch:从基础概念到实战应用》 一、PyTorch 初印象二、PyTorch 之历史溯源三、PyTorch 核心优势尽显(一)简洁高效,契合思维(二)易于上手,调试便捷(三)社区繁荣&#…...

前端:改变鼠标点击物体的颜色

需求&#xff1a; 需要改变图片中某一物体的颜色&#xff0c;该物体是纯色&#xff1b; 鼠标点击哪个物体&#xff0c;哪个物体的颜色变为指定的颜色&#xff0c;利用canvas实现。 演示案例 代码Demo <!DOCTYPE html> <html lang"en"><head>&l…...

Java-33 深入浅出 Spring - FactoryBean 和 BeanFactory BeanPostProcessor

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 大数据篇正在更新&#xff01;https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了&#xff1a; MyBatis&#xff…...

HTML4笔记

尚硅谷 一、前序知识 1.认识两位先驱 2.计算机基础知识 3.C/S架构与B/S架构 4.浏览器相关知识 5.网页相关概念 二、HTML简介 1.什么是HTML? 2.相关国际组织(了解) 3.HTML发展历史(了解)** 三、准备工作 1.常用电脑设置 2.安装Chrome浏览器 四、HTML入门 1.HTML初体验 2.H…...

python报错ModuleNotFoundError: No module named ‘visdom‘

在用虚拟环境跑深度学习代码时&#xff0c;新建的环境一般会缺少一些库&#xff0c;而一般解决的方法就是直接conda install&#xff0c;但是我在conda install visdom之后&#xff0c;安装是没有任何报错的&#xff0c;conda list里面也有visdom的信息&#xff0c;但是再运行代…...

linux-21 目录管理(一)mkdir命令,创建空目录

对linux而言&#xff0c;对一个系统管理来讲&#xff0c;最关键的还是文件管理。那所以我们接下来就来看看如何实现文件管理。当然&#xff0c;在文件管理之前&#xff0c;我们说过&#xff0c;文件通常都放在目录下&#xff0c;对吧&#xff1f;所以先了解目录&#xff0c;可能…...

总结-常见缓存替换算法

缓存替换算法 1. 总结 1. 总结 常见的缓存替换算法除了FIFO、LRU和LFU还有下面几种&#xff1a; 算法优点缺点适用场景FIFO简单实现可能移除重要数据嵌入式系统&#xff0c;简单场景LRU局部性原理良好维护成本高&#xff0c;占用更多存储空间内存管理&#xff0c;浏览器缓存L…...

【Vue】如何在 Vue 3 中使用组合式 API 与 Vuex 进行状态管理的详细教程

如何在 Vue 3 中使用组合式 API 与 Vuex 进行状态管理的详细教程。 安装 Vuex 首先&#xff0c;在你的 Vue 3 项目中安装 Vuex。可以使用 npm 或 yarn&#xff1a; npm install vuexnext --save # or yarn add vuexnext创建 Store 在 Vue 3 中&#xff0c;你可以使用 creat…...

VSCode 插件开发实战(十五):如何支持多语言

前言 在软件开发中&#xff0c;多语言支持&#xff08;i18n&#xff09;是一个非常重要的功能。无论是桌面应用、移动应用&#xff0c;还是浏览器插件&#xff0c;都需要考虑如何支持不同国家和地区的用户&#xff0c;软件应用的多语言支持&#xff08;i18n&#xff09;已经成…...

Emu3.5 视觉 tokenizer 及其 decoder 的训练过程

下面我把 Emu3.5 视觉 tokenizer 及其 decoder 的训练完整过程,按照“论文明确写到的部分”“公开代码能对上的部分”“需要用开源近似路线复现的部分”三层重新整理。先给结论: 结论:Emu3.5 的视觉部分其实不是“一次性训练完一个模块”,而是至少分成两条链路: 第一条是…...

LeetCodehot100-25 K 个一组翻转链表

class Solution { public:ListNode* reverseKGroup(ListNode* head, int k) {if (head nullptr || k 1) return head;ListNode dummy(0);dummy.next head;ListNode* prev &dummy; // 指向待反转组的前一个节点while (true) {// 检查剩余节点是否够k个ListNode* tail …...

基于python+Vue的高校课程考勤成绩管理系统

目录功能模块划分技术实现要点数据库设计扩展功能建议安全与合规项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作功能模块划分 Python后端核心功能 用户认证与权限管理&#xff1a;基于JWT或Session实现多角色&#xff08;管理…...

移动机器人自主导航与集群协同:从单机优化到群体智能

1. 移动机器人自主导航的核心框架 当你第一次看到扫地机器人在房间里自如穿梭时&#xff0c;有没有好奇过它是如何做到的&#xff1f;这背后就是移动机器人自主导航技术的魔力。简单来说&#xff0c;自主导航系统就像机器人的"大脑"&#xff0c;由感知、规划、控制三…...

论文降AI率全流程教程:检测→分析→降AI→复查四步走完全指南

论文降AI率全流程教程&#xff1a;检测→分析→降AI→复查四步走完全指南 很多同学面对"论文AI率超标"这个问题时&#xff0c;第一反应是慌&#xff0c;第二反应是随便找个工具处理一下&#xff0c;第三反应是发现没降下来&#xff0c;更慌了。 这篇文章要解决的&…...

OpenClaw+GLM-4.7-Flash:研究者的文献收集与分析助手

OpenClawGLM-4.7-Flash&#xff1a;研究者的文献收集与分析助手 1. 为什么需要自动化文献助手 作为一名经常需要查阅大量文献的研究者&#xff0c;我过去每天要花费数小时在不同学术平台间切换——从arXiv到PubMed&#xff0c;再到学校图书馆的订阅期刊。最痛苦的不是阅读本身…...

别再只盯着RTK了!聊聊GNSS/INS组合导航里,紧耦合如何用1颗卫星‘吊住’你的定位

1颗卫星的逆袭&#xff1a;紧耦合技术如何在极端环境下守护你的定位精度 想象一下&#xff0c;你正驾驶一辆L4级自动驾驶汽车穿越曼哈顿的钢铁森林。高楼间的"城市峡谷"让GPS信号时断时续&#xff0c;传统导航系统已经开始报警——"卫星信号丢失"。但你的车…...

Bilibili-Evolved:B站个性化定制与增强工具完全指南

Bilibili-Evolved&#xff1a;B站个性化定制与增强工具完全指南 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved 你是否也曾遇到这样的困扰&#xff1f;深夜刷B站时&#xff0c;惨白的界面刺得…...

实时手机检测模型应用场景:打电话检测、安防监控实战案例

实时手机检测模型应用场景&#xff1a;打电话检测、安防监控实战案例 1. 模型概述与技术优势 1.1 高性能检测框架DAMOYOLO 实时手机检测-通用模型基于DAMOYOLO-S框架开发&#xff0c;这是一种面向工业落地的高性能目标检测解决方案。相比传统YOLO系列方法&#xff0c;DAMOYO…...

OpenUSD终极渲染器切换指南:Storm vs Prman性能深度对比

OpenUSD终极渲染器切换指南&#xff1a;Storm vs Prman性能深度对比 【免费下载链接】OpenUSD Universal Scene Description 项目地址: https://gitcode.com/GitHub_Trending/ope/OpenUSD OpenUSD&#xff08;Universal Scene Description&#xff09;作为强大的3D场景描…...