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

boyanx3个月前技术教程8

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

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

去使用

创建

启用云后台

智能名片管理

新建模型


名片管理

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

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


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



可以选择体验版

完美!

标签: js 复制功能

相关文章

ps photoshop 抠图快捷键基本工具使用方法基础知识

office通用快捷键ctrl十s 保存ctrl+ C 复制ctrl+x 剪切ctrl+v 粘贴ctrl+Alt+v 打开选择性粘贴窗口ctrl+z 撤销ctrl+Y 恢复ctrl+A 全选ctrl+...

从Ctrl+C到cleanmgr:快捷键与指令如何解锁电脑高效操作?

每天对着电脑工作学习,你是否曾因反复点击鼠标而手忙脚乱?是否在电脑卡顿、文件丢失时手足无措?其实,电脑中隐藏着一套“效率密码”——快捷键与实用指令。它们如同操作电脑的“快捷键”,能让复杂操作一键完成,...

卫生间应增加这样的功能!HJSJ-2021

1.卫生间的空间分类2.卫生间的功能介绍2.1卫生间的功能涵盖2.2卫生间的功能分配3.卫生间的设计细节3.1.功能项目3.2.工艺项目1. 卫生间的空间分类卫生间又称为洗手间,是住宅空间中的一个功能...

Photoshop中常用的快捷键大全,设计小白快来收藏

以下是Photoshop中常用的快捷键大全,分为几个主要类别:文件操作Ctrl + N: 新建文件Ctrl + O: 打开文件Ctrl + W: 关闭文件Ctrl + S: 保存文件Ctrl + Sh...

UG快捷键大全,一个不落全在这了,需要的快快收藏

大家好久不见,我是你们的好朋友小树老师,今天给大家分享一下UG快捷键,需要的同学快收藏起来。get!快捷键 (文件):1.新建:Ctrl+N 2.打开:Ctrl+O 3.保存:Ctrl+S 4.另存为...

自建房楼梯设计指引(之一)HJSJ-2022

自建房的楼梯设计,可根据住宅的开间与进深尺寸选择合适的楼梯形式,常见的楼梯设计有:直梯、双跑平行梯、三四跑梯、7字型转角梯、旋转楼梯、双分式楼梯、八字型梯、异型梯。下面由华建工艺学会、华建环境设计研究...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。