开源一个能学(赚)习(钱)的应用 - 十一节头像小程序

大家好,我是程序员饭哥,一个前端码农,目前还在打怪升级中,希望自己成为全栈,另外也不想卷了,想做点有意思的事情。

本文技术上没啥深度,只是堆代码,没设计可言,比较适合新手。

今天带来一个能赚钱的国庆头像小程序。

文章主要包括以下几个内容,

  1. 应用介绍
  2. 核心功能实现和遇到的问题
  3. 盈利模式
  4. 运营思路

应用介绍

这个应用是一个头像合成的工具,之前十一假期的时候这类的小程序可是火了一把,当然很多人也赚了一笔。

另外本次开发也升级了一些功能,算是比较完整了。

1.优化整体布局
2.新增更多头像样式
3.新增自定头像功能(可自己上传照片)
4.升级获取微信头像能力,原来的getUserProfile又不能用了,定位了半天,结果是官方升级了。现在按照官方要求实现了
5.接入了广告,目前又3个广告。
6.增加了关于作者,更容易找到我

在这里插入图片描述

自定义头像
image.png

核心功能实现和遇到的问题

图片合成实现

利用canvas来实现,把我们的图片和国旗图片按照顺序绘制到canvas上,另外要保证国旗图片是透明的。另外canvas是只支持绘制本地图片,所以在使用前需要把图片下载到本地,两个图片的绘制要按照顺序来,第一个绘制完成后才能绘制第二个。

核心代码

  //绘图
  drawImg(headImg, index) {
    let that = this
    wx.showLoading({
      title: '头像生成中...',
    })

    let promiseHead = new Promise((resolve, reject) => {
      wx.getImageInfo({
        src: headImg,
        success(res) {
          resolve(res)
        },
        fail(e) {
          reject("调用失败head");
          wx.hideLoading()
        }
      })
    })
    Promise.all([promiseHead]).then(promiseRes => {
      let num = 1024
      let width_userIcon = num
      let x_userIcon = (num - (num)) / 2
      let frameImgUrl = that.data.photo_bj_num[index];
      const query = wx.createSelectorQuery()
      query.select('#genimg')
        .fields({
          node: true,
          size: true
        })
        .exec((res) => {
          const canvas = res[0].node
          const ctx = canvas.getContext('2d');
          // 初始化画布大小
          const dpr = wx.getWindowInfo().pixelRatio;
          canvas.width = 1024 * dpr
          canvas.height = 1024 * dpr
          ctx.scale(dpr, dpr)
          const bg1 = canvas.createImage();
          const bg2 = canvas.createImage();
          bg1.src = promiseRes[0].path;
          bg1.onload = () => {
            ctx.drawImage(bg1, x_userIcon, x_userIcon, width_userIcon, width_userIcon);
            bg2.onload = () => {
              ctx.drawImage(bg2, 0, 0, num, num);
            }
            bg2.src = frameImgUrl;
          }
          setTimeout(() => {
            // 第一个参数为false,表示先清空画布再绘制
            wx.canvasToTempFilePath({
              x: 0,
              y: 0,
              width: num,
              height: num,
              destWidth: num,
              destHeight: num,
              canvas,
              quality: 1,
              success(res) {
                that.setData({
                  new_userImage: res.tempFilePath,
                  new_showuserImage: true,
                  userImage: headImg
                })
                wx.hideLoading()
              },
              fail(res) {
                console.log("绘图错误:" + JSON.stringify(res));
                wx.hideLoading();
              }
            }, that);
          }, 1000);
        })
    }).catch(e => console.log(e));
  }

获取微信头像问题

之前获取微信头像使用wx.getUserProfile即可,当时搞了好久发现是官方已经放弃了这个api,有点坑了。

交互变成这样了。

在这里插入图片描述

昵称也不能一次性获取了。

新的调用方式:

 <button type="primary" size="mini" class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
      微信头像(较模糊)
 </button> 
 
onChooseAvatar(e) {
    const {avatarUrl} = e.detail;
    console.log(avatarUrl)
}

自定义头像

上传图片,通过裁剪获得最终图片,然后返回首页进行合成。

在这里插入图片描述

图片裁剪后,返回上个页面自动进行合成,此时需要等页面元素渲染完后才能调用绘图方法。

盈利模式

主要靠的是在小程序上展示的广告来赚收益。
1.目前有三个广告,一个是插屏广告、一个是 banner广告、还有一个激励广告。
2.广告植入非常简单,插屏广告和banner广告都是简单用广告代码就可以,激励广告,需要有些简单的逻辑需要判断。
不过已经写成通用的了,后面可以直接调用。
3.目前我的小程序账号,已经突破了1000人,所以已经通过流量主的申请。

如何运营

运营思路我也想的差不多了
1.制作成短视频,多平台发布,然后保留自己的小程序入口,一定要保障发的数量,理论上量大曝光就越大。
2.vx内群发,朋友圈推广等,属于常规推广。
3.着重要利用好,视频号,因为他可以直接关联公众号,然后我们公众号里就可以关联小程序,所以访问链路会短很多,效率会高很多。
4.根据第三点,所以需要注册一个公众号。

源码获取

关注公众号『前端技术江湖』,回复关键词『十一小程序』获取源码。

最后

马上十一了,抓紧干起来,说不准哪个视频火了,也能带来一个大几千收入呢。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Uni-app是一个开源的跨平台应用开发框架,可以同时开发出运行在多个平台的小程序、H5、App等应用。而开源小程序商城是基于Uni-app开发一个小程序商城应用。 Uni-app开源小程序商城具有以下特点和优势: 1. 跨平台开发:使用Uni-app开发小程序商城可以同时兼容在微信小程序、支付宝小程序、百度小程序、字跳动小程序等多个平台上运行,开发者的开发时间和精力。 2. 统一的开发框架和代码:Uni-app使用Vue.js作为开发框架,开发者只需编写一套代码,即可将应用发布到多个平台上。这种统一的开发方式不仅简化了开发流程,还可以提高开发效率。 3. 丰富的组件库:Uni-app提供了丰富的基础组件和扩展组件,开发者可以通过组合这些组件来快速构建功能丰富的小程序商城。同时,Uni-app还支持自定义组件的开发,满足开发者个性化的需求。 4. 多端UI适配:Uni-app提供了自动适配不同终端的能力,可以根据设备的不同特性和屏幕尺寸,自动调整页面布局和样式,保证应用在不同平台上的一致性和良好的用户体验。 5. 强大的开发工具和生态系统:Uni-app拥有本地开发工具(如HBuilderX)和云端开发工具(如UniCloud)。同时,Uni-app还有庞大的开发者社区和丰富的插件市场,可以满足开发者各种功能和需求的扩展。 总的来说,Uni-app开源小程序商城是一个功能强大、开发便捷、跨平台的小程序商城应用,为开发者提供了丰富的组件和工具,能够快速搭建高质量的小程序商城。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zz_jesse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值