美文网首页
H5游戏平台交接文档

H5游戏平台交接文档

作者: 陈小牌 | 来源:发表于2018-03-07 19:17 被阅读0次

# h5游戏平台

h5游戏平台是一个qq,微信第三方都可登录的小游戏平台,内嵌在公众号里

前期开发时需要准备的工作是公众号认证,微信支付申请

主要涉及的关键点是授权登录及微信支付,其他均为调后端接口渲染数据及列表。

目前已暂停维护,接口无数据,本地运行没有测试数据,页面运行后的战士只有静态资源。

##### 注意:本文档只作为工作交接用,并不是正式的游戏平台开发文档,文中技术模块分析不做任何解释,但会对组件参数进行解释

主要模块分为

* 登录、注销、支付

* 首页HOMEPAGE

* 礼包GIFTPAGE

* 社区

* 个人中心 PERSONPAGE

### 登录、注销

登录分为三种登录方式,qq,微信,输入账号登录,

注销即清空localStorage

点击对应不同的登录接口

       

       

       

    脚本看vuex下login文件夹里的login.js,调相关api以及根据服务端返回的appid,token值进行路径跳转验证身份

    accountType参数为数字,用来与后台沟通区分哪种方式登录的。

    commit()方法用来检验用户登录是否符合账号规则

      // 用户登录输入信息校验

initCheckLogin ({commit}){

commit(INIT_CHECK_LOGIN)

},

      // 微信登录

wechatLogin({commit, router}){

localstorage.remove('token');

localstorage.remove('userId');

localstorage.set('accountType', 9);

window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd5fe9e6452fb6048&redirect_uri=" + config.redirect_uri + "?accountType=9&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect";

},

      // wan平台登录

wanLogin({commit}){

localstorage.set('accountType', 1);

router.push('/login/7wan');

},

      // 微信二维码登录

wechatQrcodeLogin(){

localstorage.set('accountType', 10);

window.location.href = "https://open.weixin.qq.com/connect/qrconnect?appid=wx1cab8695f3b6d475&redirect_uri=" + encodeURIComponent(config.redirect_uri + "?accountType=10") + "&response_type=code&scope=snsapi_login&state=68_cache#wechat_redirect"

},

      // QQ 登录

qqLogin(){

localstorage.set('accountType', 7);

var display = wanGameUtil.brower().isMobile() ? 'mobile' : 'pc';

window.location.href = "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=101349921&redirect_uri=" + encodeURIComponent(config.redirect_uri + "?accountType=7&state=123") + "&display=" + display + "&scope=get_user_info";

},

### pay支付

  支付分为三种方式,微信支付,支付宝支付,扫二维码支付

  具体视图的代码在view文件夹下pay.vue

           

需要支付: {{queryVars.money}}元

                微信支付

                微信扫码支付

                支付宝支付

                返回游戏

  支付的脚本操作具体可以vuex文件夹下的pay文件夹,

问题比较大的是微信支付会比阿里复杂一些,

调用微信的jssdk,测试需要放在正式环境上测试

  并且服务端返回一系列相关参数,这里只贴上微信支付需要的参数,具体看pay.js

微信支付的具体流程也可以查看官网api,附上地址:

  https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1

var payData = {

          appId: "",  // 公众号名称,由商户传入

          timeStamp: "",  // 时间戳

          nonceStr: "",  // 随机串

package: "",

          signType: "",  // 微信签名方式

          paySign: "",  // 微信签名

};

### HOMEPAGE

首页主要是加载列表及轮播图,公告资讯

首页的组件都在components文件夹里,轮播图&公告在home.vue

#### 用户信息

    组件名:userInfo

    登录方式:微信第三方&qq登录&输入账号登录

##### 相关参数及代码

用户名 :nickName头像  :icon积分  :point默认头像:defaultImageSrc

{{user.nickName ? decodeURIComponent(user.nickName) : ""}}

{{user.point}}

                下载APP

####  轮播图&公告&资讯

  ##### 轮播图相关参数      linkUrl:游戏详情页

  adPicUrl:图片地址

  ##### 公告相关参数

    资讯模块与公告模块代码类似,没有贴上

  linkUrl:公告详情页

  title:公告标题

{{notice.title}}

####  最近在玩 &热门精选  列表

    组件名:game-icon-list & hot-game-list

##### 相关参数及代码

    游戏icon  :icon

    游戏名称  :title

    游戏id    : gameId

  • {{game.title}}

                  马上玩

    #### 最新小游戏列表

        组件名:game-info-item

    #####  相关参数及代码

        游戏icon  :icon

        游戏名称  :title

        游戏描述: content

        游戏开始时间  :time

    {{game.title}}

    {{game.content}}

    {{game.time}}

            进入

    ### GIFTPAGE

    giftPage分为三个tab,每个tab分别对应的是游戏礼包列表、今日开服的游戏、未来一周开服游戏

    关键点是用了infinite-loading预加载的插件,可实现首屏加载8-10条数据,向上刷新则重新加载,无数据则显示相关提示

    ##### 注意:模块的组件在gifts文件夹,复用组件在component里

    #### 礼包列表

          组件名:game-gift-list

          这里有一个地方是判断礼包是否已领取,如果已领取则显示已领按钮,未领则显示领取按钮可点击,具体代码看组件

    ##### 相关参数及代码

              游戏icon  :icon

              礼包名称  :title

              礼包描述  :content

              礼包总数  :sum

              已领礼包  :getCount

    {{gift.title}} {{gift.content.substring(0,16)}}

                  更多

    {{message(gift)}}

    class="game-enter-button btn btn-default btn-sm">{{comeIn(gift)}}

    ### 今日开服 & 未来一周

          组件名: day-service-list & week-service-list

          判断是否已经开服,如果已开服则显示进入按钮,未开服显示开服时间,具体代码看组件

    ##### 相关参数及代码

              游戏icon  :icon

              游戏名称  :title

              游戏区服  :zoneName

              开服时间  :openTime

    {{day.title}} {{day.zoneName}}

    {{openMsg(day)}}

                      style="text-align:right;">进入

    v-if="!isOpen(day)">{{day.openTime}}

    ### 社区

        点击跳转相关链接

    ### 个人中心

        组件名:person

        个人中心是用户信息及用户最近在玩列表

    ### 文件夹介绍

    * api存储接口及ajax调用封装方法

    * assets      css img文件夹

    * components组件文件夹

    * utils第三方登录及微信支付等脚本

    * view视图构造

    * viex各模块对应的model

    router.js配置了路由及子页面的跳转组件路径

    其他文件夹均为vue-cli脚手架初始化生成,

    build为webpack配置

    dist是打包生成

    config为引入webpack打包准备工作。可以自行了解下vue-cli脚手架

    ### 后续联系

    h5游戏平台交接过程有不明白的地方可以联系

    rtx:jo.chan 

    rtx: karl.zheng 

    rtx: xiaoyi

  • 相关文章

    • H5游戏平台交接文档

      # h5游戏平台 h5游戏平台是一个qq,微信第三方都可登录的小游戏平台,内嵌在公众号里 前期开发时需要准备的工作...

    • 记录文档,让生活更美好

      一、技术文档 ping++支付文档 鑫财通内存泄露 浅谈移动直播技术 港股交易流程交接文档 跨平台ReactNat...

    • 交接文档

      权限优化 1.关键点 菜单新增了一个字段type 01菜单 02按钮 03页签(因为代码只处理了二级菜单的缘...

    • 交接文档

      参考内容 ReactReact 入门实例教程深入理解React react-nativereact-nativer...

    • Android交接文档

      项目简介: 项目实现的功能,目标 开发模式: MVP,MVC,MVVM等。 项目类型: 是否是混合开发等 开发环境...

    • 交接文档需求

      基础库版本 基础库版本:1.6.6最低支持基础库版本:1.5.0 兼容性 微信:xx以下 || 安卓/IOS xx...

    • OA交接文档

      一、项目结构 二、项目完成情况 三、 项目有待改进的地方 四、项目所用第三方库 五、个人电脑项目目录

    • 游戏开发笔记1-phaser

      Phaser是一款流行的h5游戏引擎。API文档:https://photonstorm.github.io/ph...

    • 游戏引擎怎么做到跨平台部署

      游戏引擎能做到一次开发,多平台发布, 比如 android, iOS, H5, 微信小游戏,facebook等。 ...

    • safari支付问题

      背景: 该项目为h5游戏平台,游戏方的页面通过iframe展示,支付使用的是我们自己的收银台,集成了微信h5支付、...

    网友评论

        本文标题:H5游戏平台交接文档

        本文链接:https://www.haomeiwen.com/subject/itjsfftx.html