@zealtric
2021-08-20T02:44:53.000000Z
字数 5739
阅读 274
小程序
<text>index</text>占位;删除index.wxss中的代码;删除index文件夹中多余的文件(user-unlogin.png)
- cloudfunctionRoot 方法存储云函数
- project.config.json 增加 cloudfunctionRoot 用于指定存放云函数的目录
- wx.cloud.init 方法初始化云能力
- app.json 中写入
"cloud": true即可以让2.2.3以下的基础库使用云能力- env 定义服务默认环境
- 在 app.js 的云能力初始化函数中写入,定义各个服务的默认环境。参数参考云开发中不同环境的环境ID
- traceUser 是否将用户访问记录留存到用户管理中
- 在 app.js 的云能力初始化函数onLaunch中写入,参数为 ture 则写入用户管理中
onLaunch: function () {wx.cloud.init({traceUser: true})},
创建集合
打开云开发控制台,在数据库中点击“添加集合”。
创建成功后,可以看到集合管理界面,我们可以增删查改、管理索引、管理权限。导入csv
http://m.qpic.cn/psb?/V10KS9ws4Pxud0/I6USeTpCfGN1qcEeSybsE37fHbnzWph6jcXaEJCaxxc!/b/dL8AAAAAAAAA&bo=kgIlApICJQIDCSw!&rf=viewer_4
导入json
http://m.qpic.cn/psb?/V10KS9ws4Pxud0/9ypScGiy.TIrVzgcLdCEWaGFmCx0G.9aCct6Cpmb04c!/b/dL4AAAAAAAAA&bo=swK6ArMCugIDCSw!&rf=viewer_4
数据类型介绍
String 字符串 Number 数字 Object 对象 Array 数组 Bool 布尔值 GeoPoint 地理位置点 Date 时间 Null
数据权限控制
创建者、管理端、自己的数据、他人的数据
http://m.qpic.cn/psb?/V10KS9ws4Pxud0/ZVmMbPHbqzRHggV8HVweV.fHNgiq39MsGkhkMFSBkMM!/b/dPMAAAAAAAAA&bo=BgWAArMF1gIDCc8!&rf=viewer_4
数据库初始化
使用数据库API之前首先要获取 数据库的引用
const db = wx.cloud.database()如果要初始化某个特定环境的数据库
const testDB = wx.cloud.database({env: 'test'//这里是制定环境,依然用环境ID})
插入
db.collection('test').add({ //填写集合名data:{test: '插入数值' //test为键名,后面是数值或者函数},success: res => {//在返回结果中会包含新创建的记录的_idthis.setData({csid: res._id,test: '插入数值'})wx.showToast({title: '新增记录成功',})console.log('记录 _id: ', res._id)},fail: err => {wx.showToast({icon: 'none',title: '新增记录失败'})}})
查询
db.collection('test').doc('数值').get({success: function(res){//res.data 包含该记录的数据console.log(res.data)}})
删除
db.collection('test').doc('数值').remove({success: function(res){//res.data 包含该记录的数据console.log(res.data)}})
更新
db.collection('test').doc('数值').update({data: {test: '测试更新'}})
- wx.cloud.uploadFile 方法上传存储(上传图片什么的)
- wx.cloud.downloadFile 方法下载文件
- wx.cloud.deleteFile 方法删除文件
- wx.cloud.getTempFileURL 方法获取临时链接
增加
- 上传一条新的数据
- 复制一条已有数据
- 导入已有数据
删除
- 删除一条数据
- 删除多条数据
查询
- 查询所有数据
- 分页查询所有数据
- 瀑布流持续加载数据
- 下拉刷新数据
- 分类查询数据
修改
- 修改具体的数据字段
- 数据自增
- 数据累乘
小程序云开发构建npm提示没找到node_modules目录
状况如该图
http://m.qpic.cn/psb?/V10KS9ws4Pxud0/tDtsgHabogb2bAJi8CTyTEKap*D15ydTjWkePGlUsqc!/b/dMAAAAAAAAAA&bo=OAQbAzgEGwMDCSw!&rf=viewer_4
官网给的文档写得不够充分,得这样做
- npm init
- npm install --production
- npm i vant-weapp -S --production
普通更新可以在本地进行,批量更新只能在云函数中进行
this.setData() 函数用于 将逻辑层数据发送到视图层,同时对应的改变 this.data 的值。小程序端和云函数的权限区别,具体表现为云函数创建的数据在小程序端无法删除
(管理员读写指的是在云开发控制台操作(大概是这个意思吧))
部分接口需要经过用户授权同意才能调用。我们把这些接口按使用范围分成多个 scope ,用户选择对 scope 来进行授权,当授权给一个 scope 之后,其对应的所有接口都可以直接使用。
部分接口需要获得用户授权同意后才能调用。此类接口调用时:
- 如果用户未接受或拒绝过此权限,会弹窗询问用户,用户点击同意后方可调用接口;
- 如果用户已授权,可以直接调用接口;
- 如果用户已拒绝授权,则不会出现弹窗,而是直接进入接口 fail 回调。请开发者兼容用户拒绝授权的场景。
wx.openSetting 打开设置界面,引导用户开启授权。 wx.openSetting,让用户添加权限wx.authorize 在调用需授权 API 之前,提前向用户发起授权请求。wx.authorize({scope: "scope.userInfo"}),不会弹出授权窗口,请使用 <button open-type="getUserInfo"/>scope.userLocation 时必须配置地理位置用途说明。第一步
app.js 文件中云能力初始化函数 onLaunch 中写入 env 以及 traceuser
/*** 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)*/onLaunch: function () {wx.cloud.init({traceUser: true,//是否将用户访问记录留存到用户管理中env: 'dotson-h-b775b3'//定义各个服务的默认环境})},
第二步
第三步
open-type,我们对button添加一下 open-type="getUserInfo",此外我们还要对这个添加一个回调 bindgetuserinfo,函数名可以仍然写 getUserInfo
<view><button open-type='getUserInfo' bindgetuserinfo='getUserInfo'>+</button></view>
第四步
index.js 中编写 getUserInfo 函数,其中打印出来的东西里面, result.detail.userInfo 中是我们要的用户身份信息
/*** ZEA:获取并存储用户身份信息*/getUserInfo: function(result){console.log(result.detail.userInfo);userinfo.add({data: result.detail.userInfo,success(res){console.log(res)},fail: console.error})}
第五步
第六步
使用 onShareAppMessage(Object object)
需要 return 一个 Object ,用于自定义转发内容,返回内容如下
- title 转发标题
- path 转发路径
- imageUrl 自定义图片路径
wx.chooseImage(Object object),从本地相册选择图片或使用相机拍照。wx.cloud.uploadFile 方法进行上传
wx.cloud.uploadFile({cloudPath: 'example.png', // 上传至云端的路径,可以用一些函数(比如随机函数,但是随机也还是可能出现碰撞)造路径的名字,不然的话如果命名重复就会出现覆盖filePath: '', // 小程序临时文件路径success: res => {// 返回文件 IDconsole.log(res.fileID)},fail: console.error})
/*** vant的tabbar*/<van-tabbar active="{{ activeBar }}" bind:change="barOnChange" active-color="#4C4C4C"><van-tabbar-item><imageslot="icon"src="../../images/home-normal.png"mode="aspectFit"/><imageslot="icon-active"src="../../images/home-active.png"mode="aspectFit"/>广场</van-tabbar-item><van-tabbar-item><image class='add'slot="icon"src="../../images/add-normal.png"mode="aspectFit"/><image class="add"slot="icon-active"src="../../images/add-active.png"mode="aspectFit"/>去丧</van-tabbar-item><van-tabbar-item info="10"><imageslot="icon"src="../../images/mine-normal.png"mode="aspectFit"/><imageslot="icon-active"src="../../images/mine-active.png"mode="aspectFit"/>我的</van-tabbar-item></van-tabbar>
"tabBar": {"position": "bottom","backgroundColor": "#fff","selectedColor": "#FCC53A","list": [{"pagePath": "pages/home/home","text": "广场","iconPath": "images/home-normal.png","selectedIconPath": "images/home-active.png"},{"pagePath": "pages/qson/qson","text": "去丧","iconPath": "images/add-normal.png","selectedIconPath": "images/add-active.png"},{"pagePath": "pages/self/self","text": "我的","iconPath": "images/mine-normal.png","selectedIconPath": "images/mine-active.png"}]},