30岁被裁,我用云开发写了个上门喂猫小程序进行创业[亲测有效]

30岁被裁,我用云开发写了个上门喂猫小程序进行创业[亲测有效]关于我:在天府三街太保大厦里面的一名前端码畜。2023年离春节放假的最后一个星期,通知被裁,纵然很舍不得身边的朋友,也的确是没有办法,因为这个部

欢迎大家来到IT世界,在知识的湖畔探索吧!

关于我:

在天府三街太保大厦里面的一名前端码畜。2023年离春节放假的最后一个星期,通知被裁,纵然很舍不得身边的朋友,也的确是没有办法,因为这个部门几乎都没有了。当时觉得以自己的性格做不来管理,除了经验,敲代码也敲不过年轻人。伴随着自己内心的惶恐,又正好在春节时期刷视频看到了上门做饭和上门喂猫,就心里面一横,决定自己创业

30岁被裁,我用云开发写了个上门喂猫小程序进行创业[亲测有效]

(工位随拍)

现在:

经过一个多月的筹划,小程序也写出来了,叫做橘胖胖。在高新区注册了公司。也招了几个员工。计划在成都市区先做着试试看。

30岁被裁,我用云开发写了个上门喂猫小程序进行创业[亲测有效]

(第一天的地推)

自己摸索做的小程序:没有UI设计, 就自己摸索

小程序使用: Taro + vue3 + unnocss + ts + NutUI4 + pinia 进行开发。不得不说 原子化css挺适合小型项目和个人的。

30岁被裁,我用云开发写了个上门喂猫小程序进行创业[亲测有效]

云开发中遇到的难点:

1. 引入unnocss

这里推荐使用 taro-plugin-unocss 插件。并在 Taro 项目配置文件 index.js中进行如下配置:

30岁被裁,我用云开发写了个上门喂猫小程序进行创业[亲测有效]

然后在入口文件 app.ts中引入uno.css,就可以在小程序中使用 unnocss 了。 unnocss速查https://uno.antfu.me/[1]

30岁被裁,我用云开发写了个上门喂猫小程序进行创业[亲测有效]

2. 自定义tabbar

项目中,我没有使用在 src 目录下创建 custom-tab-bar文件夹的方式来实现自定义tabbar,而是使用了全局组件 + 全局状态管理的方式。tabbar 当前激活项index存储在pinia中。这种方式的tabbar在小程序的第一次启动中会出现闪动。

app.ts全局配置文件中,添加要跳转的tabbar页面路由,用来占位和确保Taro.switchTab方法能调用成功。

30岁被裁,我用云开发写了个上门喂猫小程序进行创业[亲测有效]

添加全局tabbar组件, 并保证每次小程序进来,tabbar的激活项都在正确的位置。

30岁被裁,我用云开发写了个上门喂猫小程序进行创业[亲测有效]

3.云开发中的微信支付

因为云开发的天然优势,在代码中云开发初始化的时候,我们就可以拿到用户 openid,后面通过 opendid来操作用户相关的东西即可。 在云开发中,使用微信支付逻辑如下:

30岁被裁,我用云开发写了个上门喂猫小程序进行创业[亲测有效]

在微信支付成功回调函数里,处理完自有逻辑后,必须返回给微信成功状态,不然微信会一直会回调访问。

// 云函数入口文件
const cloud = require('wx-server-sdk')


cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境




const db = cloud.database()
// 支付回调必须给腾讯服务器有返回
exports.main = async (event, context) => {
  // 1. 保存微信服务器返回的内容
  db.collection('vx_pay_result_record').add({
    data: {
      _createTime: new Date().getTime(),
      return_info: JSON.stringify(event)
    }
  })
  // 2. 微信支付成功回调后,处理自行业务逻辑
  // 判断 vx 回调返回订单金额、订单号与数据库是否一致,一致则允许更新数据
  const orderInfoRes = await db.collection('order').where({
    pay_status: 'wait',
    order_number: event.outTradeNo
  }).get()
  // 与数据库中支付价格一致时,允许修改
  if (orderInfoRes.data[0].pay_price * 100 === event.cashFee) { 
    db.collection('order').where({
      pay_status: 'wait',
      order_number: event.outTradeNo // 使用商户订单号进行匹配
    }).update({
      // 修改订单状态和更新时间戳
      data: {
        pay_status: 'over',
        order_status: 1,
        _updateTime: new Date().getTime()
      }
    })
    // 3. 返回指定格式的数据。告知微信服务器支付结果处理完成
    return {
      errcode: 0,
      errmsg: 'ok'
    }
  }
}

欢迎大家来到IT世界,在知识的湖畔探索吧!

最后:

愿时光善待码农,愿我的朋友早日找到满意工作。他们都是非常优秀的 Web前端JAVA开发。也愿我们橘胖胖的项目能有所起色。如果你家里喂养了宠物,非常欢迎来找我们预约上门喂猫和上门遛狗

References

[1] unnocss速查https://uno.antfu.me/: https://uno.antfu.me/

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/17527.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信