Git Product home page Git Product logo

werewolf-1's Introduction

狼人杀(werewolf)游戏数据记录,胜率统计App

  • 技术选型

    • 采用apache cordova, 使用html5,css, js制作 android,ios 手机APP
    • 前端 bootstrap v3 + jquery
    • 后端 nodejs (koa, mongoose)
    • 数据库 mongodb
  • Nodejs安装

  • 安装nodejs, 参照官网

  • android环境的安装

  • 前提

    Java环境具备

  • android sdk下载

    官方下载地址(画面最下方SDK 工具包, 需要翻墙):
    感谢cikai友情提示。
    https://developer.android.com/studio/index.html

  • 环境变量设定

    ANDROID_HOME C:\adt-bundle-windows-x86-20130917\sdk
    PATH %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
    
  • 更新sdk

    • 代理设定

      打开sdk manager, 设定代理 tools -> options
      mirrors.neusoft.edu.cn / 80 / 勾选force的checkbox / 回到主界面
      Packages -> Reload, 根据需要下载包

    • 安装什么包?

      cordova requiremnts 会提示你缺少什么
      例如,警告你缺少 Android target: android-23
      意思就是说缺少android 23 的api, 那么需要安装android 6.0版本(6.0对应23的api)

  • 代码调试

    • 浏览器调试

      • cordova platforms add browser
      • cordova run browser
      • chrome F12 + 切换为手机模式,进行调试
    • android调试

      • 安装好android环境

      • cordova platforms add android

      • cordova platforms list

      • cordova requirements

      • cordova build android

      • 如果以上都没有问题,这时候应该可以在android设备上运行了

      • 模拟器运行

        先创建模拟器 "f:\adt-bundle-windows-x86-20130917\sdk\tools\android.bat" avd
        再从弹出的UI中创建一个android模拟器
        回到工程执行 cordova run android
        我没有成功,报错,未深究

      • android 真机运行(推荐)

        手机连接电脑,打开usb调试模式
        window cmd运行 adb devices,如果能显示出设备来,表示设备连接成功
        回到工程执行 cordova run android
        这时候手机上会提示你是否安装,安装运行。 真机 华为荣耀7i通过,
        乐视1 pro不通过(不提示安装,估计是安全设定的问题, 可以通过生成的apk文件手动安装)

  • cordova plugin安装

    • camera

      cordova plugin add cordova-plugin-camera

    • 代码热替换

  • 开发

    • nodejs
    npm install -g nodemon
    npm install
    
  • 学习到的内容

    • CSP

      • CSP是浏览器的安全策略

      • CSP是白名单策略,通过白名单来限制资源的加载,从而达到防范XSS目的

      • CSP设定的2种方法 http头的Content-Security-Policy
        html的meta标签<meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src cdn.example.org third-party.org; child-src https:">

      • 看看阮一峰老师介绍 http://www.ruanyifeng.com/blog/2016/09/csp.html

  • 其他问题记录

    • 编译成android后,发现ajax请求不能跨域

      • 所有ajax的url都写绝对路径, http://10.12.23.22:3000/players
      • html头上设定CSP安全规则
        <meta http-equiv="Content-Security-Policy" content="default-src *; image-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
    • 2处需要修改ip地址的地方

      • common.js
      • server.js

werewolf-1's People

Contributors

yisuren avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.