基于云开发进行快速搭建企业智能名片小程序

news2024/9/29 1:50:20

如何基于云开发进行快速搭建企业智能名片小程序?

首先,需要注册一个小程序账号,获取AppID。如果还不知道怎么注册的朋友,可以去看我前面写的那篇教程,有比较详细的注册步骤图文教程。

图片

图片

复制AppID,打开开发者工具,导入我提供的智能名片小程序项目,进行粘贴填写AppID。

图片

记得,开通云开发服务。

图片

复制环节ID。

图片

在app.js进行配置。

图片

在数据库中创建集合。

图片

填写集合名称,比如:

图片

数据权限设置一下,选择“所有用户可读”。

图片

可以手动添加记录。或者选择导入数据的方式,前提是需要准备好对应的json数据文件。

图片

我这提供了一份示例数据。

图片

导入后:

图片

其他集合的创建以此类推即可。

然后在小程序项目中,编写代码进行读取数据,代码如下:

// pages/cardList/cardList.js// 连接云数据库const db = wx.cloud.database();// 获取集合的引用const businessCard = db.collection('businessCard');Page({
  /**   * 页面的初始数据   */  data: {    list: []  },
  /**   * 生命周期函数--监听页面加载   */  onLoad(options) {    this.getList()  },  // 获取名片列表  getList() {    // 发起查询,对记录进行筛选    businessCard    .where({      _id: db.command.exists(true)    })    .get()    .then(res => {      console.log(res)      // 获取集合数据,或获取根据查询条件筛选后的集合数据。      let list = res.data;      // 将数据从逻辑层发送到视图层,通俗的说,也就是更新数据到页面展示      this.setData({        list      });    })  }})

在控制台打印

图片

基本上,很便捷就能实现对数据库的读取操作了。对了,为了提升用户体验,需要把加载提示加上,请求完毕后隐藏。

// 显示 loading 提示框wx.showLoading({   title: '数据加载中'});

// 隐藏 loading 提示框wx.hideLoading();

完整代码:

// pages/cardList/cardList.js// 连接云数据库const db = wx.cloud.database();// 获取集合的引用const businessCard = db.collection('businessCard');Page({
  /**   * 页面的初始数据   */  data: {    list: []  },
  /**   * 生命周期函数--监听页面加载   */  onLoad(options) {    this.getList()  },  // 获取名片列表  getList() {    // 显示 loading 提示框    wx.showLoading({       title: '数据加载中'    });    // 发起查询,对记录进行筛选    businessCard    .where({      _id: db.command.exists(true)    })    .get()    .then(res => {      console.log(res)      // 获取集合数据,或获取根据查询条件筛选后的集合数据。      let list = res.data;      // 将数据从逻辑层发送到视图层,通俗的说,也就是更新数据到页面展示      this.setData({        list      });      // 隐藏 loading 提示框      wx.hideLoading();    })  }})

接下来在wxml里面使用列表渲染:

wx:for="{{list}}" wx:key="index"

大致代码:

<view wx:for="{{list}}" wx:key="index">  <image src='{{item.picUrl}}' mode='widthFix'></image>  <view>{{item.cname}}</view>  <view>{{item.position}}</view></view>

页面效果:

图片

通过navigator实现点击Item跳转到名片详情,当然切换页面还有其他方式,我前面的文章有归纳整理。

需要把跳转的目标页面路径和携带的参数给配置了。

<navigator wx:for="{{list}}" wx:key="index" hover-class='none' url="/pages/cardDetail/cardDetail?id={{item._id}}">

这样就能实现点击列表项进行跳转到名片详情页了。

图片

然后在详情页通过options接收所传递的参数,打印一下看看,传递成功了,可以通过枚举的方式读取id值。

图片

拿到id之后,就能通过数据库方法去获取文档信息了。

完整代码:

// pages/cardDetail/cardDetail.js// 连接云数据库const db = wx.cloud.database();// 获取集合的引用const businessCard = db.collection('businessCard');Page({
  /**   * 页面的初始数据   */  data: {    cardDetail: {}  },
  /**   * 生命周期函数--监听页面加载   */  onLoad(options) {    console.log(options)    this.getDetail(options.id)  },  // 查询名片详情信息  getDetail(id) {    // 显示 loading 提示框    wx.showLoading({      title: '加载详情中'    });    businessCard    .doc(id)    .get()    .then(res => {      console.log(res)      // 获取详情      let cardDetail = res.data;      // 将数据从逻辑层发送到视图层,通俗的说,也就是更新数据到页面展示      this.setData({        cardDetail      })      // 隐藏 loading 提示框      wx.hideLoading();    })  }})

打印一下,看到能成功获取到详情数据。

图片

然后就是通过{{}}在页面进行读取渲染了。

图片

实现一键复制功能:

wxml

<button bindtap="tapCopyFun">    一键复制</button>

js

// 一键复制功能  tapCopyFun() {    // 设置系统剪贴板的内容    wx.setClipboardData({      data: '公众号:木番薯科技',      success(res) {        wx.getClipboardData({          success(res) {            console.log(res.data)          }        })      }    });  }

可以通过data-来携带点击参数

<button bindtap="tapCopyFun" data-content="{{cardDetail.weChat}}">    一键复制</button>

通过e接收,通过e.currentTarget.dataset读取

// 一键复制功能  tapCopyFun(e) {    const content = e.currentTarget.dataset.content;    // 设置系统剪贴板的内容    wx.setClipboardData({      data: content,      success(res) {        wx.getClipboardData({          success(res) {            console.log(res.data)          }        })      }    });  }

点击看看效果,成功了

图片

图片

实现存入手机通讯录功能:

图片

图片

图片

实现一键导航功能:

图片

图片

搭建CMS后台管理

图片

去使用

图片

创建

图片

启用云后台

图片

智能名片管理

图片

新建模型

图片

名片管理

图片

可以对名片进行增删查改操作

图片

然后能够在客户端小程序同步获取数据

图片

当然了,当全部搭建完毕后,可以上传,发给大家体验

图片

图片

图片

可以选择体验版

图片

完美!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2175474.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SpringBoot+Vue+MySQL的旅游管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着旅游业的蓬勃发展&#xff0c;传统的旅游信息查询与订票方式已难以满足现代游客的多元化需求。为了提升用户体验&#xff0c;提高旅游管理的效率&#xff0c;我们开发了基于SpringBootVueMySQL的旅游管理系统。该系统旨在通…

大模型微调4:Alpaca模型微调、Adalora、Qlora

Alpaca模型微调&#xff1a; 整个pipeline 1. 主流底座&#xff1a;Candidate 中文&#xff1a;YI-34B 英文&#xff1a;LLama&#xff0c;mistral 2. 验证&#xff1a; 我们自己的Instructoin data 通用的Instruction data&#xff08;适合我们场景的&#xff09; 3. 收集…

kubernetes存储入门(kubernetes)

实验环境依旧是三个节点拉取镜像&#xff0c;然后在master节点拉取资源清单&#xff1a; 然后同步会话&#xff0c;导入镜像&#xff1b; 存储入门 ConfigMap volume卷--》volumemount&#xff08;挂载卷&#xff09; Glusterfs NFS ISCSI HostPath ConfigMap Secret E…

acw(树的重心)

给定一颗树&#xff0c;树中包含 n&#x1d45b; 个结点&#xff08;编号 1∼n1∼&#x1d45b;&#xff09;和 n−1&#x1d45b;−1 条无向边。 请你找到树的重心&#xff0c;并输出将重心删除后&#xff0c;剩余各个连通块中点数的最大值。 重心定义&#xff1a;重心是指树…

基于SSM的“在线汽车交易系统”的设计与实现(源码+数据库+文档+开题报告)

基于SSM的“在线汽车交易系统”的设计与实现&#xff08;源码数据库文档开题报告) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SSM 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体设计图 首页 新闻信息 用户注册 后台登录界面…

从0学习React(2)

经过上一篇的文章&#xff0c;对index.tsx文件的每行代码进行了一个简单的分析之后&#xff0c;我大概对React有了一个简单的了解。虽然也是一知半解&#xff0c;但是起码在心里已经对React有了一个基本的概念。这篇文章&#xff0c;我就讲一下关于React中index.tsx的大致框架。…

Metahuman sdk官方 AI驱动口型蓝图优化

combo stream ATL stream ( audio to lip sync) 以上时实时驱动口型 非实时驱动口型可以在metahuman blueprint里直接加上talk component&#xff0c;实现聊天/回复功能。 Talk sound可以放自己的声音/ talk chat是回复你输入的message和你聊天/ talk text是念出你输入的me…

828华为云征文|部署个人知识管理系统 SiyuanNote

828华为云征文&#xff5c;部署个人知识管理系统 SiyuanNote 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 SiyuanNote3.1 SiyuanNote 介绍3.2 SiyuanNote 部署3.3 Siyua…

Awcing 799. 最长连续不重复子序列

Awcing 799. 最长连续不重复子序列 解题思路: 让我们找到一个数组中&#xff0c;最长的 不包含重复的数 的连续区间的长度。 最优解是双指针算法&#xff1a; 我们用 c n t [ i ] cnt[i] cnt[i]记录 i i i 这个整数在区间内出现的次数。(因为每个数的大小为 1 0 5 10^5 105, …

报数游戏 - 华为OD统一考试(E卷)

2024华为OD机试&#xff08;E卷D卷C卷&#xff09;最新题库【超值优惠】Java/Python/C合集 题目描述 100个人围成一圈&#xff0c;每个人有一个编号&#xff0c;编号从1开始到100。他们从1开始依次报数&#xff0c;报到为M的人自动退出圈圈&#xff0c;然后下一个人接着从1开始…

数据链路层 ——MAC

目录 MAC帧协议 mac地址 以太网帧格式 ARP协议 ARP报文格式​编辑 RARP 其他的网络服务或者协议 DNS ICMP协议 ping traceroute NAT技术 代理服务器 网络层负责规划转发路线&#xff0c;而链路层负责在网络节点之间的转发&#xff0c;也就是"一跳"的具体传输…

ubuntu18.04 Anconda安装及使用

1、安装Anaconda 1)下载&#xff1a; 下载链接&#xff1a;https://www.anaconda.com/download#downloads 点击图中Free Download&#xff0c;登录并下在 下载对应版本 2&#xff09;安装 sudo bash Anaconda3-2024.06-1-Linux-x86_64.sh输入后&#xff0c;直接回车安装。 出…

NSSCTF [HNCTF 2022 WEEK2]e@sy_flower

将文件拖入ida 就看到很显眼的花指令 对着jmp指令nop掉 将main函数按p定义 F5查看伪c代码 思路就是输入的flag先互换位置&#xff0c;再与0x30异或。 int __cdecl __noreturn main(int argc, const char **argv, const char **envp) {signed int v3; // 存储临时值int i; // 循…

栏目二:Echart绘制动态折线图+柱状图

栏目二:Echart绘制动态折线图+柱状图 配置了一个ECharts图表,该图表集成了数据区域缩放、双Y轴显示及多种图表类型(折线图、柱状图、象形柱图)。图表通过X轴数据展示,支持平滑折线展示比率数据并自动添加百分比标识,柱状图以渐变色展示评论数量,而象形柱图则以矩形形式展…

基于baidu的云函数实现隐藏c2真实地址

参考 云函数利用&Profile混淆 可能是大家都用的腾讯云搞得现在腾讯云下架那个api网关了。。。所以只能找其他的云函数使用 在网上只找到了一片不是腾讯云的云函数&#xff0c;使用的是百度云函数&#xff0c;那么也尝试的使用一下百度云函数。 百度云&#xff1a;函数计…

C++里的随机数

想用C做最基础的猜数字,肯定少不了随机数; srand(unsigned(time(NULL))); rand() //是生成一个随机数 rand()%1001//就是一个从一到一百的随机数 合体: #include <iostream> #include <cstdlib> #include <time.h> int main() { int g 0; while (g < …

Redis缓存双写一致性笔记(上)

Redis缓存双写一致性是指在将数据同时写入缓存&#xff08;如Redis&#xff09;和数据库&#xff08;如MySQL&#xff09;时&#xff0c;确保两者中的数据保持一致性。在分布式系统中&#xff0c;缓存通常用于提高数据读取的速度和减轻数据库的压力。然而&#xff0c;当数据更新…

NetAssist测试TCP和UDP

由于在Windows下经常使用NetAssist.exe这款网络调试工具进行TCP、UDP的服务端、客户端的监听&#xff0c;对于需要编写各种通信协议的TCP服务端、客户端以及UDP通信程序来说是很方便的。下载地址&#xff1a;http://free.cmsoft.cn/download/cmsoft/assistant/netassist5.0.14.…

Docker容器的使用

前提条件 Linux环境安装好Docker&#xff0c;可参考Rocky Linux9下安装Docker和卸载Docker Docker命令图 帮助命令 帮助命令&#xff0c;查看有哪些命令可以用 [rootlocalhost ~]# docker --help ​ 查看某个命令的帮助&#xff0c;例如&#xff1a;run [rootlocalhost ~]# …

MySQL递归查询笔记

目录 一、创建表结构和插入数据 二、查询所有子节点 三、查询所有父节点 四、查询指定节点的根节点 五、查询所有兄弟节点&#xff08;同级节点&#xff09; 六、获取祖先节点及其所有子节点 七、查询每个节点之间的层级关系 八、查询指定节点之间的层级关系 一、创建表…