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

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

首先,需要注册一个小程序账号,获取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后台管理

去使用

创建

启用云后台

智能名片管理

新建模型

名片管理

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

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

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

可以选择体验版

完美!

相关推荐
hello kitty w1 天前
2. 微信开发工具快捷键
小程序
计算机毕设指导61 天前
基于微信小程序的丽江市旅游分享系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·旅游
1024小神1 天前
浏览器或小程序限制字体最小12px解决办法
小程序
内存不泄露1 天前
酒店预订管理平台及小程序
小程序
2501_915918411 天前
除了 Perfdog,如何在 Windows 环境中完成 iOS App 的性能测试工作
android·ios·小程序·https·uni-app·iphone·webview
weixin_lynhgworld1 天前
[特殊字符]短剧小程序开发:开启娱乐新纪元的钥匙[特殊字符]
小程序
程序媛徐师姐1 天前
Java基于微信小程序的鲜花销售系统,附源码+文档说明
java·微信小程序·鲜花销售小程序·java鲜花销售小程序·鲜花销售微信小程序·java鲜花销售系统小程序·java鲜花销售微信小程序
qq_12498707531 天前
基于Spring Boot的“味蕾探索”线上零食购物平台的设计与实现(源码+论文+部署+安装)
java·前端·数据库·spring boot·后端·小程序
m0_471199631 天前
【小程序】订单数据缓存 以及针对海量库存数据的 懒加载+数据分片 的具体实现方式
前端·vue.js·小程序
難釋懷1 天前
微信小程序案例 - 自定义 tabBar
微信小程序·小程序·notepad++