为了体验第一件事情看官网,https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html ,其实官方给的文档很详细了,这里只是自己用新的特性实现自己的一个小工具,BUG提交的一个小工具。
功能:我只需要两个功能,一个提交bug(包含bug描述,和bug截图),一个bug列表查看,而小程序的云开发正好满足了,对应其存储图片、和数据的能力
说明:接下来开始在一个基础的小程序的demo基础上开始开发了,这里说明一下,因为云开发的demo东西较多(主要是这个还是讲解云开发用的),而我这里更主要实现自己的小工具。
开发步骤:
一、根据文档把普通项目启用云开发功能,app.json修改
app.json{ "cloud": true, //这一个为新增,通过这个来开启云开发 "pages":[ "pages/index/index", "pages/logs/logs", "pages/list/index" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle":"black" }}app.jsonLaunch: function () { if (!wx.cloud) { console.error('请使用 2.2.3 或以上的基础库以使用云能力') } else { wx.cloud.init({ traceUser: true, }) } this.globalData = {} }
二、在云开发的控制台新增表(集合),bug_record,用来存储数据,同时在存储管理新增目录bug_img用来存储图片(不建议直接放到根目录),防止以后变的太乱。
三、bug提交页面开发,主要包括一个描述输入和一个图片选择
data: { filePath:'', description:'' }//图片选择功能,页面部分//js部分// 上传图片 doUpload: function () { // 选择图片 wx.chooseImage({ count: 1, sizeType: ['compressed'], sourceType: ['album', 'camera'], success: function (res) { wx.showLoading({ title: '上传中', }) const filePath = res.tempFilePaths[0] var uuid = "cms" + mydate.getDay() + mydate.getHours() + mydate.getMinutes() + mydate.getSeconds() + mydate.getMilliseconds(); // 上传图片 const cloudPath = 'bug_img/' + uuid + filePath.match(/\.[^.]+?$/)[0] wx.cloud.uploadFile({ cloudPath, filePath, success: res => { console.log('[上传文件] 成功:', res) app.globalData.fileID = res.fileID app.globalData.cloudPath = cloudPath app.globalData.imagePath = filePath this.setData({ filePath: cloudPath }) }, fail: e => { console.error('[上传文件] 失败:', e) wx.showToast({ icon: 'none', title: '上传失败', }) }, complete: () => { wx.hideLoading() } }) }, fail: e => { console.error(e) } }) } 上传图片
四、表单提交,提交描述和上一步返回的文件路径
onAdd: function () { const db = wx.cloud.database() var description = this.data.description; var filePath = this.data.filePath; db.collection('bug_record').add({ data: { description: description, filePath:filePath }, success: res => { // 在返回结果中会包含新创建的记录的 _id wx.showToast({ title: '新增记录成功', }) console.log('[数据库] [新增记录] 成功,记录 _id: ', res._id) }, fail: err => { wx.showToast({ icon: 'none', title: '新增记录失败' }) console.error('[数据库] [新增记录] 失败:', err) } }) }
五、查库展示bug提交记录(下一次添加,因为这个只是为了测试功能)
基本完成,但还很粗略,有时间把功能完善一下,发布出来公司内部使用一下
qq交流群:208779755