# Insight_WechatMiniProgarm_ImageRecognition **Repository Path**: autumnhui/Insight_WechatMiniProgarm_ImageRecognition ## Basic Information - **Project Name**: Insight_WechatMiniProgarm_ImageRecognition - **Description**: Insight 图像识别微信小程序 Insight_WechatMiniProgarm_ImageRecognition - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 2 - **Created**: 2021-05-31 - **Last Updated**: 2025-06-06 ## Categories & Tags **Categories**: weixin-lapp **Tags**: None ## README  ## 😁 代码开源,欢迎学习交流(大佬不要喷,自学JavaScript) 😁 ## ⚠️ 拒绝一切将他人学习成果白嫖/盈利的行为 ⚠️ (已参加小程序应用大赛) ## 如果对你有用,可以Star✨一下 --- # Insight 微信图像识别小程序
> 扫码体验
在小程序后台统计数据中,可以看到用户从任务栏中进入的次数占比高达75%,说明识相Insight小程序已经融入成为用户的习惯操作中,在需要的时候打开微信下拉的操作简便且快速实现需求。
**识相Insight正是因为能够快速解决用户需求、提升用户对生活信息的认知,在传统的图像识别APP中脱颖而出,极大地便利了用户的生活。**
## 2. 产品设计
### 2.1 产品结构图
**识相 Insight 小程序产品功能结构的逻辑清晰易懂,用户上手即可掌握,用户使用过程中的每一步都可以明白对应的下一步操作,快速满足用户需求。**

### 2.2 用户流程图
**用户使用流程清晰,部分步骤有关联但不会影响每一步的使用,用户旅程、操作逻辑简单而快速。**

### 2.3 UI设计规范


> 注:标注图以px为单位,实际在小程序中以rpx为单位。
#### 2.3.1 图标系统
- **TabBar中图标采用统一的颜色系统,选中时为蓝色(#2e51ff),未选中为灰色(#b1b1b2),清晰明显,对比度强,便于区别。**三个图标分别代表为“知识”“识别”和“我的”,其中“知识”用灯泡作为知识,也代表新想法、新知识、新idea的意思;“识别”的图标与小程序Logo相同,结合眼睛和放大镜,意为去搜查我们看到的事物;“我的”
- **“识别”页和“我的”页中的图标采用Font Awesome的图标系统进行嵌入,**“识别”页中用未填充的描线图标为辅助,帮助用户更快地找到需要的功能,选中后变为主色调蓝色(#2e51ff),未选中为黑色;“我的”页中「 更多功能 」卡片使用“填充”图标作为辅助,且与下方「 更多作品 」卡片作出区别(描线图标)以显示其重要级和优先级。
#### 2.3.2 颜色系统
- 识相 Insight 采用的功能、按钮、板块分区等区域 **主色调为蓝色,给用户清晰、纯净和理智的感觉,让用户对产品产生准确、睿智的第一印象。**
- 各页面导航栏、卡片角标、识别结果页列表表头使用渐变色对比色:蓝色-->草灰色`linear-gradient(45deg, #0081ff, #1cbbb4)`,**使用主色调的对比色,使用渐变色减少色彩的单调性,使画面颜色丰富**。
#### 2.3.3 界面规范
- 卡片间距:**整体设计遵循 8px设计原则**,大量采用40px、80px为间距,在保证内容能够得到展示的前提下,充分留白,让画面更加整齐,并能够让用户更迅速定位需要的内容/功能上。
- 圆角卡片:界面中多使用卡片为依托进行展示,**卡片圆角度数为 `20rpx `即 ` 10px ` 为标准**,减少视觉上生硬的感受,使画面显得活泼、减少单调。
- 图片比例:**“知识”页中的图片多采用比例为 2:1 的图片进行显示**,在不占用太大的屏幕比例的前提下充分显示图片内容;“识别”页中的图片以嵌入卡片的形式展示,需要考虑整个卡片的占比,故使用了比例为 4:3 的图片;“识别结果”页中使用比例为 5:4 的图片,分享卡片自动截取到的图像也为 5:4 比例,与分享卡片一致。
- 板式栏高:采用小程序默认的TabBar以及NavBar高度,标准且不占用过多空间,让用户更容易点击操作。
### 2.4 操作引导设计
1. 主页功能「 识别 」功能以卡片化设计为分区,识别功能的卡片可上下滑动以点击进入不同类型的识别功能;侧导航栏以辅助定位为主,辅助用户快速定位到需要的功能,且 设计在右侧,为用户单手使用提供更便捷的操作方式。
2. 明显、简洁的界面设计和简化的功能设计让用户能够一目了然,快速上手,无需复杂繁琐的点击即可完成需求:如在“识别”页中,点击需要识别的类型即选择相机或相册进行识别后跳转结果。
# 二、技术实现

## 1. 技术方案
- 识别功能:调用 **[百度图像识别](https://ai.baidu.com/tech/imagerecognition) **技术 API接口服务,并使用 **小程序云开发技术中的云函数** 进行封装部署,并将用户上传的图像使用 **小程序云开发中的云存储 **进行存储。当用户选择识别类型并上传图像后,将图像保存到 **云存储** 中,再通过调用对应的云函数,将图像的发送给云函数接口,进而返回对应的识别结果,再对识别结果进行处理后进行渲染到页面并实现交互功能,从而实现识别功能。

> 不同功能实现使用不同的云函数

> 在对应功能中调用云函数
- 信息存储与展示:使用 **小程序云开发中的云存储和云数据库** 将文本、图像、识别结果、用户标记等内容进行存储,展示时再通过读取数据库内容进行渲染。

> 用户上传到云存储中的文件

> 用户识别后的结果记录
- 识别记录:使用 **小程序云开发中的云存储** 将图像进行保存,并记录识别结果和图像的url等内容保存到 **云数据库** 中,当用户打开“识别记录”、使用“分享”功能时,将 查询数据库 并使用用户的识标进行筛选,获取数据库信息后渲染到列表,当用户点击时同时将信息传送到结果页进行渲染。

> 识别记录页中的开发和操作逻辑
- 文章发布:在文章/热门识别内容管理数据中,将内容存储在数据库中,并使用 **云开发的内容运营** 对数据进行快速管理更新和发布。

> 使用云开发-内容运营对内容进行快捷管理
## 2.系统实现
### 2.1 图像识别功能

(使用的 **云函数** 可见 二、技术实现-1.技术方案)
### 2.2 跳转、分享功能
#### 2.2.1 文章类跳转
文章类卡片位于「 知识 」页,文章卡片内容都是来源自 **调取云数据库内容** ,进行缓存后再在页面使用 `wx:for` 进行展示,通过点击卡片进入各文章的详细页。因此,要跳转到对应的页面,需要有一个跳转的标识:在这里使用云数据库自带产生的 ` _id ` 指标进行辨别,然后带着标识进入文章详细页后,再以 `_id`为查询条件 使用 **云数据库** 的查询语句,进行查询后渲染到文章详细页。


#### 2.2.2 识别结果历史记录跳转
「 识别记录 」页通过获取到用户唯一的 `openid` 识标进行在 **云数据库** 中进行索引查询,并将结果(用户识别图片的 云存储URL、识别结果、识别类型)进行渲染,在用户点击时,先判断识别类型再将结果传到对应的 「 识别结果 」页并渲染展示。


#### 2.2.3 分享功能
通过将页面数据进行赋值,传递值前需要先将数据进行编码操作 `encodeURIComponent()` ,在接收时需要 `decodeURIComponent()` ,使用官方提供的分享功能并将数据通过 `path` 中进行参数的传递。

## 3. 测试方案
### 3.1 稳定性测试
小程序功能简明,识别功能通过上传图像识别即可测试;文章是数据库内容,只要渲染模板正确即可,稳定程度高;识别记录是通过用户唯一的openid的对数据库的读取并渲染,不会出现错误。
小程序在上线后经过200+次用户识别和反馈测试,能够稳定使用,且后端使用 TCB云开发,官方支持不用考虑服务器问题,更加稳定运行。
### 3.2 机型测试
小程序核心功能使用的是 「 调用云函数 」,更多的是对小程序的样式的不同机型的适配工作。
开发时使用标准的 `rpx`进行,非常好的适配各类机型,在不同机型下都不出现错位等bug。

## 4. 利用轮子(引用代码)
- 页面样式:页面部分样式和排版使用 **[Color UI](https://github.com/weilanwl/ColorUI)** 小程序组件库。
- **[图像识别技术](https://ai.baidu.com/tech/imagerecognition)** :使用百度AI开放平台图像识别能力,使用SDK并部署到云函数。
- 文章详细页使用了 **[插件「 html2wxml](https://mp.weixin.qq.com/wxopen/pluginbasicprofile?action=intro&appid=wxa51b9c855ae38f3c) 」**将html内容渲染为wxml进行展示。
- 文章内容:来自公众号文章内容,已注明来源。
# 三、运营维护
1. 上线和指标
小程序已经发布上线。
根据小程序的运营状况,近3月运营违规和代码审核状况综合评估结果 **“运营指标” 为 优秀**,代码被驳回次数为 0 次,运营处罚 为0 次;根据小程序性能指标为 “ 良好 ”。

2. 运营
上线后的运营工作主要是「 知识页 」文章和热门识别结果的更新,通过 **TCB云开发的 内容运营CMS后台**,能够在网页端快速更新和修改内容,便捷的方式让运营成本大大降低的同时,更提高了更新维护的效率。

3. 应用效果
自上线以来,已有 100+ 用户使用,通过云存储的使用空间推算(总共使用 279Mb / 每张图像约150 Kb )约为 1900张 图像,即用户平均上传15+张图像,部分用户已经产生了对产品的黏性,当想到时会使用小程序,大大提升了生活的认知。

# 四、其他
- 服务提供商
- **[百度AI开放平台](https://ai.baidu.com/)**
- **[html2wxml富文本组件 | 小程序插件 | 微信公众平台 (qq.com)](https://mp.weixin.qq.com/wxopen/pluginbasicprofile?action=intro&appid=wxa51b9c855ae38f3c&token=627583336&lang=zh_CN)**
- **[Color UI](https://github.com/weilanwl/ColorUI)**
- 各公众号内容(已注明来源)