最近捣鼓的基于微信的领券系统

2016-07-22 14:48:12 +08:00
 kopa

用惯了美团的朋友想必都知道,购买一张代金券,付款 80 元抵 100 元。由于我是做美食类的自媒体,所以在想平常接触的商家既然都是发布广告,最主要的目的是引流。倒不如直接可以让商家送出一道免费菜式或者专享折扣,让感兴趣的人去领取。我采取的是收费策略,但是收取的仅 1-2 元,目的是筛选出真正愿意付费的人群(这钱不用到商家手上,同时也不想美团那样先付款)。能切实带动和提高到店消费的几率。

不知道我说的是否够清晰,哈。大家可以看看

项目是基于 CI 框架开发,打算开放出来一起捣鼓捣鼓。

http://h5.imchaotan.com/coupon/index.php/Coupon/Coupon_index/Coupon_Get/bid/9 (因为好像上传不到二维码图片,所以就麻烦点啦)

在微信打开网址即可。

4003 次点击
所在节点    分享创造
20 条回复
UnisandK
2016-07-22 15:01:15 +08:00
扫了直接是微信登陆,是啥都不知道,不敢乱授权

kopa
2016-07-22 15:05:48 +08:00
不是微信登陆,只是授权而已。我的级别可能还不能上传图片-_-引起你的担忧对不住了
arens
2016-07-22 15:11:05 +08:00
CI 框架是啥~


@UnisandK 权限在登陆时不是公开的吗,获取头像,昵称等,应该是最基本的授权吧?
qiayue
2016-07-22 15:11:59 +08:00
建议一进去先看到内容,点击领取按钮的时候去授权
kopa
2016-07-22 15:14:20 +08:00
@arens Codeigniter 轻量级 PHP 框架
kopa
2016-07-22 15:15:21 +08:00
@qiayue 因为我设计的时候逻辑是,通过获取授权后记录微信用户的 nickname ,领取的时候直接是微信支付。
2b2b
2016-07-22 16:11:01 +08:00
看了下不错,开源吗?
qiayue
2016-07-22 16:18:38 +08:00
@kopa 跟我 4 楼说的不矛盾
kopa
2016-07-22 16:56:47 +08:00
如果大家觉得可以继续完善的就开源了,哈
shellcodecow
2016-07-22 17:02:51 +08:00
我想咨询下 微信授权登陆的方式

如果用户授权过期以后 检查和跳转的方式应该怎么弄
alex321
2016-07-22 17:10:19 +08:00
在用户没了解你是干什么的之前,强行获取用户信息,做授权都是耍流氓。
如果真要,你可以用 basic 的方式,不用这种 user_info 的形式。前者对用户是透明的,顶多看到页面跳转了下,但并无明显感知;而后者是需要用户明确授权的,在对你毫无认知的情况下,就给你点这个授权按钮,产品业务设计上真心对用户心理预期把握不好呃。

@shellcodecow 微信现在一次 user_info 授权好像有 7 天的有效期了。你判断 openId 或者 unionId 的。这个判断写在一个基础类里面吧,有则继续,没就再拉取一次。如果你一定要授权过期后刷新,可以看文档: https://mp.weixin.qq.com/wiki/4/9ac2e7b1f1d22e9e57260f6553822520.html#.E9.99.84.EF.BC.9A.E6.A3.80.E9.AA.8C.E6.8E.88.E6.9D.83.E5.87.AD.E8.AF.81.EF.BC.88access_token.EF.BC.89.E6.98.AF.E5.90.A6.E6.9C.89.E6.95.88
passion336699
2016-07-22 17:53:53 +08:00
@shellcodecow 通常做微信开发都会专门弄一张粉丝表,如( wechat_follow ),会把粉丝的 openid ,昵称,头像,性别等信息存起来。你可以先基于 snsapi_base ,让用户做一次静默登录,拿到他的 openid ,然后去 wechat_follow 里面根据 openid 查是否存在这条数据,如果有,那你就从 wechat_follow 里面把这个粉丝的信息读出来;如果没有,就进行一次 snsapi_userinfo ,然后引导用户到微信的授权登录页面,授权登录你可以拿到粉丝的基本信息,把他们存到 wechat_follow 里面。
下次粉丝再进入你的 web 页面的时候,你的表里面已经有数据了,跑一次静默登录,拿到 openid ,其他基本信息从表里取,就不用再做授权登录了。
passion336699
2016-07-22 18:00:56 +08:00
@shellcodecow 要是按微信接口文档的介绍,授权之后会返回给你一个 code ,通过 code 能换取到 openid,access_token(有效期是 7200S ,用来换取用户的基本信息,如昵称,头像等),和一个 refresh_token(有效期是 30 天, 30 天之后要重新授权)。所以你可以把 access_token,refresh_token 存起来。 access_token 过期,就用 refresh_token 刷新 access_token,然后再用 access_token 换取用户的信息。 refresh_token 过期,那就没办法了,就得重新来一次 OAuth2.0 授权了。这样做可以保证你每次拿到的用户昵称和头像都是用户当前的,比从表里读出来的要好,可能用户换了昵称,头像等信息,但是表里面还是存的他上一次授权时候的信息,没更新。
passion336699
2016-07-22 18:03:18 +08:00
但是这样弄太麻烦了。干脆直接全部做授权登录,如果 refresh_token 没过期,微信会提示“你近期已授权过 XXX 公众号”,然后重定向到你给的 callback 地址。可能用户体验不是很好 ,哈哈
passion336699
2016-07-22 18:10:29 +08:00
@kopa 楼主,你这个扫码之后的页面,点了左下角的关注,会跳到一个”识别二维码关注公众号“的页面,其实现在有黑科技,可以跳转到你的公众号主页,如果粉丝没关注你,上面会显示“关注公众号”,关注过了,就是“进入公众号”,只需要把跳转连接设置成“ https://mp.weixin.qq.com/mp/profile_extaction=home&__biz=MzI2NTA0NjE3NQ==&scene=110#wechat_redirect ”,这样就可以了,“ MzI2NTA0NjE3NQ ” 这个值是每个公众号唯一的,我的这个是 TOM 邮箱的。可以通过分享公众号的历史消息页面,拿到这个值,然后替换掉就可以了。你可以在微信里面访问这个试试,不会发图。。其实发张图就知道效果了 @_@
passion336699
2016-07-22 18:13:30 +08:00
passion336699
2016-07-22 18:14:40 +08:00
16 层的连接是对的, 15 层的复制 prifile_ext 少了个?
kopa
2016-07-22 19:37:36 +08:00
@passion336699 感谢,刚测试 ok
kopa
2016-07-22 19:39:26 +08:00
@alex321 您说的有道理,我之所以用 userinfo ,是因为 snsapi_base 这种静默模式适合已经关注公众号的粉丝使用,而 userinfo 更加适合未关注的用户授权后进入。 至于进入页面前就授权这点确实是有点产品逻辑上的问题,这个必须好好检讨和更新。感谢你的建议^_^
JiaFeiX
2016-08-19 00:34:11 +08:00
有意思,我们在做一个 美食的微信群机器人,可以跟楼主聊聊一起鼓捣点有意思的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/294206

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX