- 个人主体的小程序也需要每年缴费300去认证了么?
今天突然收到一条信息,个人名下的一个小程序要求完成微信认证,这个认证貌似是要收费300吧? 唉,有种人为刀俎,我为鱼肉的感觉 [图片]
2023-11-08 - 小程序认证后,每年还需要年审交300元吗?
小程序认证后,每年还需要年审交300元吗?
2023-11-03 - 如何实现快速生成朋友圈海报分享图
由于我们无法将小程序直接分享到朋友圈,但分享到朋友圈的需求又很多,业界目前的做法是利用小程序的 Canvas 功能生成一张带有小程序码的图片,然后引导用户下载图片到本地后再分享到朋友圈。相信大家在绘制分享图中应该踩到 Canvas 的各种(坑)彩dan了吧~ 这里首先推荐一个开源的组件:painter(通过该组件目前我们已经成功在支付宝小程序上也应用上了分享图功能) 咱们不多说,直接上手就是干。 [图片] 首先我们新增一个自定义组件,在该组件的json中引入painter [代码]{ "component": true, "usingComponents": { "painter": "/painter/painter" } } [代码] 然后组件的WXML (代码片段在最后) [代码]// 将该组件定位在屏幕之外,用户查看不到。 <painter style="position: absolute; top: -9999rpx;" palette="{{imgDraw}}" bind:imgOK="onImgOK" /> [代码] 重点来了 JS (代码片段在最后) [代码]Component({ properties: { // 是否开始绘图 isCanDraw: { type: Boolean, value: false, observer(newVal) { newVal && this.handleStartDrawImg() } }, // 用户头像昵称信息 userInfo: { type: Object, value: { avatarUrl: '', nickName: '' } } }, data: { imgDraw: {}, // 绘制图片的大对象 sharePath: '' // 生成的分享图 }, methods: { handleStartDrawImg() { wx.showLoading({ title: '生成中' }) this.setData({ imgDraw: { width: '750rpx', height: '1334rpx', background: 'https://qiniu-image.qtshe.com/20190506share-bg.png', views: [ { type: 'image', url: 'https://qiniu-image.qtshe.com/1560248372315_467.jpg', css: { top: '32rpx', left: '30rpx', right: '32rpx', width: '688rpx', height: '420rpx', borderRadius: '16rpx' }, }, { type: 'image', url: this.data.userInfo.avatarUrl || 'https://qiniu-image.qtshe.com/default-avatar20170707.png', css: { top: '404rpx', left: '328rpx', width: '96rpx', height: '96rpx', borderWidth: '6rpx', borderColor: '#FFF', borderRadius: '96rpx' } }, { type: 'text', text: this.data.userInfo.nickName || '青团子', css: { top: '532rpx', fontSize: '28rpx', left: '375rpx', align: 'center', color: '#3c3c3c' } }, { type: 'text', text: `邀请您参与助力活动`, css: { top: '576rpx', left: '375rpx', align: 'center', fontSize: '28rpx', color: '#3c3c3c' } }, { type: 'text', text: `宇宙最萌蓝牙耳机测评员`, css: { top: '644rpx', left: '375rpx', maxLines: 1, align: 'center', fontWeight: 'bold', fontSize: '44rpx', color: '#3c3c3c' } }, { type: 'image', url: 'https://qiniu-image.qtshe.com/20190605index.jpg', css: { top: '834rpx', left: '470rpx', width: '200rpx', height: '200rpx' } } ] } }) }, onImgErr(e) { wx.hideLoading() wx.showToast({ title: '生成分享图失败,请刷新页面重试' }) //通知外部绘制完成,重置isCanDraw为false this.triggerEvent('initData') }, onImgOK(e) { wx.hideLoading() // 展示分享图 wx.showShareImageMenu({ path: e.detail.path, fail: err => { console.log(err) } }) //通知外部绘制完成,重置isCanDraw为false this.triggerEvent('initData') } } }) [代码] 那么我们该如何引用呢? 首先json里引用我们封装好的组件share-box [代码]{ "usingComponents": { "share-box": "/components/shareBox/index" } } [代码] 以下示例为获取用户头像昵称后再生成图。 [代码]<button class="intro" bindtap="getUserInfo">点我生成分享图</button> <share-box isCanDraw="{{isCanDraw}}" userInfo="{{userInfo}}" bind:initData="handleClose" /> [代码] 调用的地方: [代码]const app = getApp() Page({ data: { isCanDraw: false }, // 组件内部关掉或者绘制完成需重置状态 handleClose() { this.setData({ isCanDraw: !this.data.isCanDraw }) }, getUserInfo(e) { wx.getUserProfile({ desc: "获取您的头像昵称信息", success: res => { const { userInfo = {} } = res this.setData({ userInfo, isCanDraw: true // 开始绘制海报图 }) }, fail: err => { console.log(err) } }) } }) [代码] 最后绘制分享图的自定义组件就完成啦~效果图如下: [图片] tips: 文字居中实现可以看下代码片段 文字换行实现(maxLines)只需要设置宽度,maxLines如果设置为1,那么超出一行将会展示为省略号 代码片段:https://developers.weixin.qq.com/s/J38pKsmK7Qw5 附上painter可视化编辑代码工具:点我直达,因为涉及网络图片,代码片段设置不了downloadFile合法域名,建议真机开启调试模式,开发者工具 详情里开启不校验合法域名进行代码片段的运行查看。 最后看下面大家评论问的较多的问题:downLoadFile合法域名在小程序后台 开发>开发设置里配置,域名为你图片的域名前缀 比如我文章里的图https://qiniu-image.qtshe.com/20190605index.jpg。配置域名时填写https://qiniu-image.qtshe.com即可。如果你图片cdn地址为https://aaa.com/xxx.png, 那你就配置https://aaa.com即可。
2022-01-20 - 浅谈微信抽奖小程序!
说抽奖小程序之前,先整体了解下抽奖这一核心。从以下六方面分析 抽奖心理:抽奖在想什么? 抽奖假象:越多越多? 抽奖玩法:抽奖本质,能不能解决? 抽奖变现:或许天上真的会掉馅饼,但还是钱好 抽奖机会:还有没有必要做一个抽奖小程序? 抽奖意义:我们有一个锦鲤梦,游戏人生 抽奖是一个利他利己的行为,一来增加自己的中奖率,二来传播也为他人制造中奖机会。通过人与人之间的信任关系,间接为发起人活动背书,随之品牌营销,低成本的流量曝光。 哪里有福利,哪里有免费,哪里就有流量! 谁都可以参与,谁都可以发起。 一、抽奖心理你是否懂参与者,他们分别的诉求是什么? ▍抽奖者:我能中?有多少人参与了,什么时候开奖,及时通知开奖结果,活动真实性?简单易懂,奖品吸引力。 ▍发起者:怎么玩?才能更好的推广自己/公众号增粉/品牌服务/产品特性等,用户精不精准? 先明确身份(普通玩家,品牌方,运营,线下商家等) 再次挖掘需求(打品牌广告,提升销售?),工具是否支持 设置门槛,扩大影响力,ROI 上手教程(需求场景解决方案,与产品匹配) [图片] 二、抽奖假象▍抽奖越多越好? 听说现在有几百款抽奖小程序了,生存状况如何?先说出3个,有何差异? ▍玩法越多越好? 看到复杂的玩法,一方面难受,一方面欣慰 难受,大概率不会去玩 欣慰,营销玩法还挺丰富的,需求与利益结合 ▍功能越多越好? 如何把用户“困”在小程序,是对“美好生活”的向往? 后来才明白一句“你说你,想要逃,偏偏注定要……” 化简为繁,一蹴而就,谁在可歌可泣! 三、抽奖玩法简单来说,大的方向也只需要解决这三步。 提供奖品 开奖条件 发放奖品 [图片] ▍提供奖品: 实物,红包,知识付费等。 ▍开奖条件: 默认到达时间自动开奖,其次按人数,即开即中。 弱化开奖条件,因为一般都是按时间开奖。为用户提供最佳的解决方法,而非,先熟悉整个游戏规则,展示全部条件,全部玩法等。 ▍发奖方式: 发起者联系:让中奖人填写地址,电话,微信号等,适合快递实物,或添加中奖人再说明。 中奖人联系:留下发起人的手机,微信,二维码等,适合发放优惠券,红包等虚拟物品。 延伸: 单独自定义给中奖者一句话 一般平台自带文案,如果发起者还能单独设置一句,相当于多了一次互动营销机会,凸显人格化。 延长中奖人填写中奖信息时间 比如遇到节假日,参与人中奖人太多等。 ▍分享按钮: 是否允许参与者分享本次抽奖活动。之前「抽奖助手」把这个功能放在了“更多功能”里面,默认不开启,有的小程序选择了默认开启,我更倾向于前者。 在心理上,用户并不一定需要他人随意分享,他的赞助奖品。 在操作上,手动开启代表用户默认同意,手动关闭代表防止止损。 所以,应该把选择选择权交给用户,而不是替用户选择。让用户的利益与平台背后的利益一起成长,也多了裂变小程序的条件,多赢。在用户的关系链分享,垂直密集,越是喜欢抽奖的人,越会分享给抽奖的人,相互吸引。 有前置这个功能的必要。 ▍其他玩法: 线下活动/线上直播/年会抽奖玩法: 突出:公司,logo,主题,倒序抽奖 担心:繁琐,手忙脚乱,冷场,多人操作 在线互动——投屏,弹幕,背景音乐,活跃氛围 后台规则——简单,倒序(手动逐个开奖),重抽 延伸:摇一摇功能(摇越快,中奖率越高) 上滑抽奖:提示上拉,看下个奖品(固定栏展示:不断陷入) 参与条件:如性别,地区,(实名),达到一定抽奖次数,输入指定口令参与等 头像玩法: 列表:头像,昵称,码,中奖概率,排名(突出榜单,中奖概率) 宫格:头像,更多(一般都是这种,突出活动受欢迎) ▍小插曲:关于抽奖背景图片 如果平台能针对节假日提供2-3张背景图,不是更有助于发起活动吗?在每次小程序迭代上新,去旧图片。 这个小设计,花费不大,又让用户觉得产品很用心。 [图片] 四、抽奖变现自有广告:上首页(类似每日福利,自助福利) 增值服务:付费版(去除广告,突破参与人数限制,公号仅粉丝参与等) 电商合作:合作电商(购买商城东西当抽奖礼物),第三方电商优惠券导购等 互选广告:保证小程序内广告的调性,视觉统一性,比如开学期某当的的图书满减活动,做用户尽可能有兴趣的广告,增加了广告主的曝光/跳转/转化,成为平台的案例级,再次吸引广告主。位置:banner,开奖后短文案广告,商城广告等 官方广告:如先看视频后抽奖等 五、抽奖机会说抽奖就想到……那其他抽奖小程序还有机会吗? 头部小程序在教育你,我(品牌)等于抽奖(品类),稳固自己的地位,防守 做不了头部,后来者怎么办? 占据特性 垂直聚焦 开创品类 微商,公众号主,电商,专属游戏周边,线下门店等成了多款抽奖小程序的突破口。 不同人群的喜好,行为,用户社交关系链的特征不一样,复制之前的成功模式到自己的行业,有一定的借鉴意义。 谁能比较优雅、灵活地解决掉对应场景存在的问题,谁能满足差异化需求,打消参与顾虑,自然流量/广告主纷涌而至。 以下举3个例子 01. 点赞抽奖 公众号粉丝互动:点赞就能参与,抽红包 行业KOL & 节点效应:或许你喜欢的公号发起了一个活动,因为他的背书,而积极参与。如何帮助公众号主完成与粉丝的互动,做成案例,由此扩散,吸引一个又一个的公众号主,重合度引爆。这种推广方式,好过工具方主动介绍。 [图片] 02.锦鲤圈 京东平台导流:店铺抽奖 与 用户跳转到“京东购物”小程序店铺提升中奖率 通过锦鲤奖+人气奖,双福利邀好友,关注店铺,浏览该店铺商品,提升中奖率,多入口跳转到京东店铺。(方法很京东,也有小程序通过试玩应用,签到等任务来提升抽奖币,限定消耗抽奖币参与,换购等电商) [图片] 03.华硕+ 品牌宣传,拉新会员,导流门店 成为会员无门槛抽奖。导流到线下门店(线下门店优惠券),门店自助发布活动管理等 [图片] 不同的产品决定了其走向,有的是平台主导权,有的擅长调性,研究人性,有的擅长运营增长,有的正利用不公平,谁是分享王福利就向你倾斜。 抽奖再怎么玩法多样,用户有他自己的判断,同化的用户留下来! 六、抽奖意义如果说抽奖有什么社会意义,解决供需双方之间的需求。在诞生的那一刻,给我们带来短期或长期的价值,降低推广成本,短时间获取用户,尽管用户用完就跑…… 不管我们做什么,要提供给用户价值和好玩的东西,做对小程序本身有价值的事情。 感谢围观小程序测评系列《抽奖小程序》,作为小程序测评师,希望给大家带来一些启发,一起推送小程序更好地发展。
2019-09-04 - 微信小程序三种授权登录的方式
经过一段时间对微信小程序的研发后 总结出以下三种授权登录的方式,我给他们命名为‘一次性授权’‘永久授权’‘不授权’ 1.一次性授权 常规写法,需要获取用户公开信息(头像,昵称等)时,判断调取授权登录接口,但是此方法如果不经处理的话 用户如果拒绝授权或者删除该微信小程序后 需要重新调取并获取用户公开信息(头像,昵称等),此方法用户体验较差,不建议使用; 2.永久授权 在不必要使用用户公开信息(头像,昵称等)时,不调取授权登录接口,只有在必要的时候再去判断调取授权登录接口并把获取到的用户公开信息存入数据库,这样在每次登录时直接先运行指定函数从数据库索取需要的用户公开信息(头像,昵称等)即可,此方法在删除小程序后不用再次去授权登录(因为在用户第一次授权登录时已经把用户的公开信息存入数据库了以后直接向数据库索取即可),建议使用; 3.不授权 不需要授权登录获取用户公开信息(头像,昵称等),使用wx.login获取用户code并传入后台,后台可以通过用户的code值向微信要一个值(具体需要问后台,我只是个小前端,后台的东西不是很懂,只是知道一些逻辑而且也已经成功实现)然后通过这个用code换取的值就可以识别到指定用户,如果需要的话,前端要显示的头像、昵称等这些信息可以使用自定义可编辑的功能,当然,也可以通过<open-data type=“userAvatarUrl”></open-data><open-data type=“userNickName”></open-data>小程序提供的这个组件显示用户的头像及昵称(不过这个组件只有显示功能),用户如果想直接使用自己的头像昵称,也可以自行授权(比如添加个引导按钮什么之类的),建议使用; [图片][图片] 文中使用的微信自带接口、组件及函数: <open-data type=“userAvatarUrl”></open-data> <open-data type=“userNickName”></open-data> wx.login({ success(res){ console.log(res.code) } }) 微信授权登录 以上三种方式可以灵活运用,也可以把需要的结合到一起,并不冲突; 当然,大佬很多,我也只是个小前端而已,第一次发表技术方面的帖子,希望互相学习,互相指导,如有说的不对的地方还望大佬们及时指出!!! 谢谢
2019-04-18