赞
踩
微信开发者工具,注册小程序。需要小程序id
打开微信开发者工具,模版选择JS就可以,选择不使用云开发
项目启动之后,没用的该删删,打开做上角云开发,启动即可。
- // app.js
- App({
- //小程序一启动,就会执行
- onLaunch() {
- console.log("小程序开始启动了");
- wx.cloud.init({
- evn: 'xxxxxxxxx' //云开发环境id
- })
- },
-
- })
云开发里点击数据库,进行创建集合相当于创建数据库表-->添加记录即可。
相应页面的js里面进行调用。
- Page({
- data: {
- list: {}
- },
-
- onLoad(options) {
- wx.cloud.database().collection('goods')。//固定写法,goods为表明
- .where({ //where查询某一个字段,可以去掉
- name: '苹果'
- })
- .get()
- .then(res=>{
- this.setData({
- list: res.data //赋值 页面显示
- })
- }).catch(err=>{
- console.log('请求失败',err)
- })
- },
查询单条数据doc()
把where换成doc。里面放id值
- updata: function() {
- wx.cloud.database().collection('表名').doc('id字段')
- .update({
- data: {
- price: 50。//要修改的数据
- }
- }).then(res=>{
- console.log(res);
- this.onLoad()
- }).catch(err=>{
- console.log(err);
- })
- },
- add: function() {
- wx.cloud.database().collection('goods').add({
- data: {
- name: '西瓜',
- price: 20
- }
- }).then(res=>{
- console.log('添加成功',res);
- this.onLoad()
- }).catch(err=>{
- console.log('添加失败',err);
- })
- },
4、删除数据
- remove: function() {
- wx.cloud.database().collection('goods').doc('72574d9563eef5590006b1794b65e7ff')
- .remove()
- .then(res=>{
- console.log('删除成功',res);
- this.onLoad()
- }).catch(err=>{
- console.log('删除失败',err);
- })
- },
1⃣️能查看商品列表
2⃣️能动态添加商品
3⃣️能进入商品详情页
4⃣️能删除某个商品
5⃣️能修改某个商品的价格
我这边主要用了 demo1和demo1-1那个目录,一个是列表页,一个详情页。在列表页可以实现添加,点击相应的产品可以跳转到该商品的详情页,然后可以对该商品进行修改和删除的操作。
app.json配置文件
- {
- "pages":[
- "pages/demo1/demo1",
- "pages/demo1-1/demo1-1",
- "pages/shujuku/shujuku",
- "pages/index/index"
- ],
- "window":{
- "backgroundTextStyle":"light",
- "navigationBarBackgroundColor": "#fff",
- "navigationBarTitleText": "Weixin",
- "navigationBarTextStyle":"black"
- },
- "style": "v2",
- "sitemapLocation": "sitemap.json"
- }
demo1.js
-
- Page({
- //页面初始数据
- data: {
- list: {},
- name: '',
- price: ''
- },
-
- //生命周期函数--监听页面加载
- onLoad(options) {
- this.getList()
- },
- //获取列表
- getList() {
- wx.cloud.database().collection('goods').get()
- .then(res=>{
- this.setData({
- list: res.data
- })
- console.log(res);
- }).catch(err=>{
- console.log(err);
- })
- },
- //跳转到商品详情
- goDetail: function(e) {
- console.log('点击了跳转商品详情',e.currentTarget.dataset.id);
- wx.navigateTo({
- url: '/pages/demo1-1/demo1-1?id=' + e.currentTarget.dataset.id,
- })
- },
-
- //获取用户输入的商品名
- getName(e) {
- this.data.name = e.detail.value
- },
-
- //获取用户输入的价格
- getPrice(e){
- this.data.price = e.detail.value
- },
-
- //添加商品13
- bind_addGood: function() {
- if(this.data.name=='') {
- wx.showToast({
- icon: 'none',
- title: '商品名为空了!',
- })
- }
- else if(this.data.price=='') {
- wx.showToast({
- icon: 'none',
- title: '价格为空了!',
- })
- }
- else {
- wx.cloud.database().collection('goods').add({
- data:{
- name:this.data.name,
- price:this.data.price
- }
- }).then(err=>{
- wx.showToast({
- title: '添加成功!',
- })
- this.setData({
- name: '',
- price: ''
- })
- this.getList()
- })
- }
- },
-
- //生命周期函数--监听页面初次渲染完成
- onReady() {
-
- },
-
- //生命周期函数--监听页面显示
- onShow() {
-
- },
-
- //生命周期函数--监听页面隐藏
- onHide() {
-
- },
-
- //生命周期函数--监听页面卸载
- onUnload() {
-
- },
-
- //页面相关事件处理函数--监听用户下拉动作
- onPullDownRefresh() {
-
- },
-
- //页面上拉触底事件的处理函数
- onReachBottom() {
-
- },
-
- //用户点击右上角分享
- onShareAppMessage() {
-
- }
- })
demo1.wxml
- 输入商品名:<input value= bindinput="getName"></input>
- 输入商品价格:<input bindinput="getPrice"></input>
- <button bindtap="bind_addGood">添加商品</button>
- <view wx:for="{{list}}" wx:key="index">
- <view bindtap="goDetail" data-id="{{item._id}}">
- 序号:{{index+1}},商品名:{{item.name}},价格:{{item.price}}
- </view>
- </view>
demo1.wxss
- input{
- width: 200rpx;
- border: 1px solid #ccc;
- margin: 10rpx 0rpx 10rpx 30rpx;
- }
如果遇到 input输入出现警告报错的情况,请切换小程序开发版本即可。
demo1-1
- Page({
-
- //页面初始数据
- data: {
- good: {},
- price: '',
- id: ''
- },
-
- //生命周期函数--监听页面加载
- onLoad(options) {
- this.data.id = options.id
- this.getDetail()
- },
- //获取商品数据
- getDetail() {
- wx.cloud.database().collection('goods').doc(this.data.id)
- .get().then(res=>{
- console.log('商品详情页请求成功',res);
- this.setData({
- good: res.data
- })
- }).catch(err=>{
- console.log('商品详情页请求失败',err);
- })
- },
- //获取用户输入的新价格
- bindgetPrice(e) {
- this.data.price = e.detail.value
- },
-
- //更新价格
- bindupdate() {
- if(this.data.price == '') {
- wx.showToast({
- icon: 'none',
- title: '价格为空!',
- })
- }else{
- wx.cloud.database().collection('goods').doc(this.data.id)
- .update({
- data: {
- price: this.data.price
- }
- }).then(res=>{
- wx.showToast({
- title: '更新成功!',
- })
- this.getDetail()
- }).catch(err=>{
- console.log('更新失败!');
- })
- }
- },
-
- //删除商品
- binddelate() {
- let that =this
- wx.showModal({
- title: '是否确定删除',
- success(res) {
- if(res.confirm==true) {
- wx.cloud.database().collection('goods').doc(that.data.id)
- .remove().then(res=>{
- wx.showToast({
- title: '删除成功!',
- })
- wx.navigateTo({
- url: '/pages/demo1/demo1',
- })
- }).catch(err=>{
- console.log('删除失败');
- })
- }else if(res.confirm==false) {
- console.log('用户点击了取消');
- }else{
- console.log('出错了');
- }
- }
- })
-
-
- },
-
- //生命周期函数--监听页面初次渲染完成
- onReady() {
-
- },
-
- //生命周期函数--监听页面显示
- onShow() {
-
- },
-
- //生命周期函数--监听页面隐藏
- onHide() {
-
- },
-
- //生命周期函数--监听页面卸载
- onUnload() {
-
- },
-
- //页面相关事件处理函数--监听用户下拉动作
- onPullDownRefresh() {
-
- },
-
- //页面上拉触底事件的处理函数
- onReachBottom() {
-
- },
-
- //用户点击右上角分享
- onShareAppMessage() {
-
- }
- })
demo1-1.wxml
- <view>商品名:{{good.name}},价格:{{good.price}}。</view>
- 更新商品价格:<input bindinput="bindgetPrice"/>
- <button bindtap="bindupdate">更新</button>
- <button bindtap="binddelate">删除</button>
demo1-1.wxss
- input{
- width: 200rpx;
- border: 1px solid #ccc;
- margin: 10rpx 0rpx 10rpx 30rpx;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。