工作描述:微信公众号订阅号开发抽奖相关页面

软件环境:WebStrom ,微信开发者工具v0.7.0等开发工具

项目描述:订阅号添加抽奖页面

1、用户每天三次机会进行抽奖,奖品概率数量可控,存取用获奖奖品,存取用户输入的用户地址方便发放奖品

2、项目主要采取 jqWeUi ,rem,jquery.cookie.js等完成页面布局等操作;

项目中遇到问题及处理:

1、用户管理-网页授权获取用户openid/用户基本信息问题

由于订阅号没有从页面获取授权的,而抽奖中奖之后需要存储用户中奖信息及地址,方案有两个:(1)为微信号开发后台,跳转也抽奖页面地址时将用户openId拼接在后面。(2)用服务号鉴权跳转抽奖页面,鉴权成功后除非用户退出微信清空缓存,一般不需要再次鉴权,由于公司刚好有服务号最终选择的方式也是第二种。

2、微信号的开发设置

(1)登录微信公众(登录的是服务号),设置——公众号设置---选择功能设置,如图所示

分别更具要求设置JS接口安全域名和网页授权域名(网页授权域名只有服务号才有这个选项)

注意:网页授权的域名填写不带www ,而页面部署服务器,跳转的页面地址带www,在跳转地址的时候会报参数错误

(2)获取微信公众号密码

获取到密码就可以正式对接微信号了;

(3)对于微信的接口是无法通过ajax请求的,存在跨域问题,都要用后台请求,然后返回给前端;这里说请求的都是后台转过的地址

获取Access_token:有效时间7200秒 可被请求次数100000

https请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

推荐参考:http://www.jb51.net/article/111743.htm

(4)微信网页授权

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

授权的页面再次访问都不会重复提交,为了方便测试,推荐使用官方的微信web开发工具(在使用微信开发工具前要先把自己变成这个公众号的开发者路径:开发--》开发者工具--》绑定开发者账号,输入自己微信号同意一下就可以了)

(5)JSSDK 使用

https://mp.weixin.qq.com/wiki?t=resource/

用第一步拿到的access_token 采用http GET方式请求获得jsapi_ticket(有效期7200秒,开发者必须在自己的服务全局缓存jsapi_ticket):https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi;获得jsapi_ticket之后,就可以生成JS-SDK权限验证的签名了。

在这里进行签名算法,可以是获取到后js进行签名,也可以直接是后台签完,讲签名与接口参数一起返回(目前本项目是后台签名)

wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: '', // 必填,公众号的唯一标识
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名
    jsApiList: [] // 必填,需要使用的JS接口列表
});

将参数传入后就可以直接调用 微信的js ;

具体使用可以参考demo:http://203.195.235.76/jssdk/

(6)

接下来就是页面的开发。。。。微信的页面开发就是普通的手机端开发,单位使用rem. 开始引入一段js,来为body的font-sizes设置字体大小;页面的宽度设置就是百分比,慢慢调整,加上一些jqweui插件,开发起来没有太大难度。

jqweui地址:http://jqweui.com/

注意:在gethub下载demo时

他的默认下载是master,而所有编译后的代码都在 dist 目录下,为了减少垃圾文件,master默认忽略了这个目录,你可以自行编译或者切换到 build

(7)在上传文件时出现了一个问题


ios系统触发click的点击事件,调用$("#upload").click(),方法无法开启input:file的本地文件选择,而安卓可以,,但当调用两遍方法就可以。。代码如下


微信公众号订阅号开发项目小记相关推荐

  1. 微信公众平台订阅号运营11个秘决

    据媒体报道微信用户数已经突破6亿!相信在不久的将来微信必将成为重要营销渠道,很多企业都开通了微信号,但是99%微信号都没有专人负责运营,爱煮饭负责运营企业微信订阅号大概有半年多的时间,从0增加到180 ...

  2. 微信公众平台订阅号如何升级转换为服务号?

    很多用户开通微信公众平台时选择了订阅号,但是后来又想用微信支付.小店等功能,就需要把订阅号变成服务号.因微信官方政策限制,目前订阅号改为服务号的方法是进行账号迁移,这也是唯一的方法了. 微信公众平台订 ...

  3. 微信公众平台订阅号和服务号和企业号的区别

    为了帮助网友解决"微信公众平台订阅号和服务号和企业号的区别"相关的问题,中国学网通过互联网对"微信公众平台订阅号和服务号和企业号的区别"相关的解决方案进行了整理 ...

  4. 微信公众平台订阅号、服务号和企业号三者之间的区别与联系

    现在很多人用微信营销,但是网上经常能看到有人问订阅号.服务号和企业号到底该选择哪个,下面我们会详细的讲解订阅号.服务号和企业号的区别与联系,需要的朋友可以参考下. 9月18日,微信正式开启了微信企业号 ...

  5. 微信公众平台订阅号和服务号的区别详解

    什么是订阅号? 订阅号:为媒体和个人提供一种新的信息传播方式,主要功能是在微信侧给用户传达资讯:(功能类似报纸杂志,提供新闻信息或娱乐趣事) 适用人群:个人.媒体.企业.政府或其他组织. 什么是服务号 ...

  6. 微信公众平台订阅号与服务号的区别

    订阅号 主要便于为用户传达资讯(类似报纸,杂志),如果想简单的发送消息,达到宣传效果,建议可选择订阅号. 服务号 主要偏于服务交互(类似银行,114,提供服务查询),如果想进行商品营销,进行商品售卖, ...

  7. python开发微信订阅号如何申请_基于Python的微信公众平台二次开发(Python常用框架、订阅号开发、公众号开发)...

    1.1.课程的背景 微信公众平台的火热程度已经不用多言,无论是个人还是企业,政府还是商家,都已经开始搭建微信公众平台,微信的作用已经被各界人士认可.微信公众平台的技术需求市场缺口巨大.同时python ...

  8. 微信公众平台二次开发 API开发 服务账号开发 订阅号开发

    移动互联网时代已经到来,微信已经有6亿多的用户,是移动端最大的入口.微网站,微商城建设,提供定制化服务,根据客户需求开发.客户很方便就能了解到公司的所有信息和最新动态,随时随地都可以跟公司进行互动,增 ...

  9. 微信公众号订阅号开发的学习(二):获取用户发送的消息、简单的自动回复、自定义菜单

    获取用户发送的消息 基础 微信服务器会发送两种类型的消息给开发者服务器. get请求 验证服务器的有效性 post请求 微信服务器会将用户发送的数据转发到开发者服务器上 实现 基于微信公众号订阅号开发 ...

  10. 微信开发专题---7微信公众号订阅号与服务号的区别

    微信公众平台现在已分成订阅公众号和服务公众号两种类型.两者的区别大致如下: 一.目的不同 1.服务号: 旨在为用户提供服务. 2.订阅号: 为用户提供信息和资讯. 二.功能不同 服务号的功能 1.1个 ...

最新文章

  1. mmdetection训练出现:IndexError: list index out of range 错误
  2. 第18节 知识管理
  3. 第三章 Matlab数组
  4. JQuery常用的代码片段
  5. android一键分享功能不使用任何第三方sdk
  6. python:封装连接数据库方法
  7. 改写DataCogs在MOSS列表中实现三级联动字段
  8. pythonjavascript一起开发_Python开发【第十一篇】:JavaScript
  9. android webview的一些设置问题
  10. ios Quartz 各种绘制图形用法
  11. 一次性删除maven本地仓库下的.lastUpdated 结尾的文件
  12. 利用TCP协议进行ping
  13. java-php-python-ssm在线购书商城系统计算机毕业设计
  14. python中索引越界的常见原因
  15. Matlab-数值计算方法作业
  16. 监控摄像头网页直播解决方案
  17. 交换机接出来的网线可以再接上无线路由器实现无线上网吗
  18. WIndows 7 拷贝XP的共享文件夹时,出现您需要权限来执行此操作 的提示
  19. vlc播放g711 rtp流媒体sdp文件及其参数介绍
  20. 无需注册试用ChatGPT

热门文章

  1. 计算机里没有硬盘 右下角有图标,电脑右下角显示硬盘图标怎么去掉<br?电脑 – 手机爱问...
  2. 计算机电源检测软件,电脑电源检测工具
  3. Cuteftp9.0安装说明书
  4. 对联广告html,Js对联广告代码示例(入门)
  5. 阿帕奇web服务器 java_WEB服务器搭建(Apache+Tomcat+eclipse)
  6. 临时解决Mac OS系统下kernel_task占用大量CPU资源导致系统卡顿一例(不用删plist文件)
  7. rk3399 外接一个usb声卡,同时指定另一个usb声卡做放音功能
  8. java调用soap接口_java远程调用soap协议接口
  9. balabala视频格式转换器
  10. 年会弹幕文字_公司办年会有哪些比较创意的形式?