babel-plugin-transform-regenerator 11e3a9652a first преди 8 години babel-plugin-transform-runtime 11e3a9652a first преди 8 години babel-plugin-transform-strict-mode 11e3a9652a first преди 8 години babel-plugin-transform-vue-jsx 11e3a9652a first преди 8 години babel-preset-env 11e3a9652a first преди 8 години babel-preset-jest 11e3a9652a first преди 8 години babel-preset-stage-2 11e3a9652a first преди 8 години babel-preset-stage-3 11e3a9652a first преди 8 години babel-preset-vue 11e3a9652a first преди 8 години babel-preset-vue-app 11e3a9652a first преди 8 години babel-register 11e3a9652a first преди 8 години babel-runtime 11e3a9652a first преди 8 години babel-template 11e3a9652a first преди 8 години babel-traverse 11e3a9652a first преди 8 години babel-types 11e3a9652a first преди 8 години babylon 11e3a9652a first преди 8 години balanced-match 11e3a9652a first преди 8 години base 11e3a9652a first преди 8 години base64-js 11e3a9652a first преди 8 години batch 11e3a9652a first преди 8 години bcrypt-pbkdf 11e3a9652a first преди 8 години bfj-node4 11e3a9652a first преди 8 години big.js 11e3a9652a first преди 8 години binary-extensions 11e3a9652a first преди 8 години block-stream 11e3a9652a first преди 8 години bluebird 11e3a9652a first преди 8 години bn.js 11e3a9652a first преди 8 години body-parser 11e3a9652a first преди 8 години bonjour 11e3a9652a first преди 8 години boolbase 11e3a9652a first преди 8 години boom 11e3a9652a first преди 8 години brace-expansion 11e3a9652a first преди 8 години braces 11e3a9652a first преди 8 години brorand 11e3a9652a first преди 8 години browser-process-hrtime 11e3a9652a first преди 8 години browser-resolve 11e3a9652a first преди 8 години browser-stdout 11e3a9652a first преди 8 години browserify-aes 11e3a9652a first преди 8 години browserify-cipher 11e3a9652a first преди 8 години browserify-des 11e3a9652a first преди 8 години browserify-rsa 11e3a9652a first преди 8 години browserify-sign 11e3a9652a first преди 8 години browserify-zlib 11e3a9652a first преди 8 години browserslist 11e3a9652a first преди 8 години bser 11e3a9652a first преди 8 години buffer 11e3a9652a first преди 8 години buffer-indexof 11e3a9652a first преди 8 години buffer-xor 11e3a9652a first преди 8 години builtin-modules 11e3a9652a first преди 8 години builtin-status-codes 11e3a9652a first преди 8 години bytes 11e3a9652a first преди 8 години cacache 11e3a9652a first преди 8 години cache-base 11e3a9652a first преди 8 години caller-path 11e3a9652a first преди 8 години callsites 11e3a9652a first преди 8 години camel-case 11e3a9652a first преди 8 години camelcase 11e3a9652a first преди 8 години camelcase-keys 11e3a9652a first преди 8 години caniuse-api 11e3a9652a first преди 8 години caniuse-db 11e3a9652a first преди 8 години caniuse-lite 11e3a9652a first преди 8 години caseless 11e3a9652a first преди 8 години center-align 11e3a9652a first преди 8 години chai-nightwatch 11e3a9652a first преди 8 години chalk 11e3a9652a first преди 8 години chardet 11e3a9652a first преди 8 години check-types 11e3a9652a first преди 8 години chokidar 11e3a9652a first преди 8 години chownr 11e3a9652a first преди 8 години chromedriver 11e3a9652a first преди 8 години ci-info 11e3a9652a first преди 8 години cipher-base 11e3a9652a first преди 8 години circular-json 11e3a9652a first преди 8 години clap 11e3a9652a first преди 8 години class-utils 11e3a9652a first преди 8 години clean-css 11e3a9652a first преди 8 години cli-cursor 11e3a9652a first преди 8 години cli-spinners 11e3a9652a first преди 8 години cli-width 11e3a9652a first преди 8 години cliui 11e3a9652a first преди 8 години clone 11e3a9652a first преди 8 години clone-deep 11e3a9652a first преди 8 години co 11e3a9652a first преди 8 години coa 11e3a9652a first преди 8 години coalescy 11e3a9652a first преди 8 години code-point-at 11e3a9652a first преди 8 години collection-visit 11e3a9652a first преди 8 години color 11e3a9652a first преди 8 години color-convert 11e3a9652a first преди 8 години color-name 11e3a9652a first преди 8 години color-string 11e3a9652a first преди 8 години colormin 11e3a9652a first преди 8 години colors 11e3a9652a first преди 8 години combined-stream 11e3a9652a first преди 8 години commander 11e3a9652a first преди 8 години commondir 11e3a9652a first преди 8 години compare-versions 11e3a9652a first преди 8 години component-emitter 11e3a9652a first преди 8 години compressible 11e3a9652a first преди 8 години compression 11e3a9652a first преди 8 години concat-map 11e3a9652a first преди 8 години concat-stream 11e3a9652a first преди 8 години condense-newlines 11e3a9652a first преди 8 години config-chain 11e3a9652a first преди 8 години connect-history-api-fallback 11e3a9652a first преди 8 години console-browserify 11e3a9652a first преди 8 години console-control-strings 11e3a9652a first преди 8 години consolidate 11e3a9652a first преди 8 години constants-browserify 11e3a9652a first преди 8 години contains-path 11e3a9652a first преди 8 години content-disposition 11e3a9652a first преди 8 години content-type 11e3a9652a first преди 8 години convert-source-map 11e3a9652a first преди 8 години cookie 11e3a9652a first преди 8 години cookie-signature 11e3a9652a first преди 8 години copy-concurrently 11e3a9652a first преди 8 години copy-descriptor 11e3a9652a first преди 8 години copy-webpack-plugin 11e3a9652a first преди 8 години core-js 11e3a9652a first преди 8 години core-util-is 11e3a9652a first преди 8 години cosmiconfig 11e3a9652a first преди 8 години create-ecdh 11e3a9652a first преди 8 години create-hash 11e3a9652a first преди 8 години create-hmac 11e3a9652a first преди 8 години cross-spawn 11e3a9652a first преди 8 години cryptiles 11e3a9652a first преди 8 години crypto-browserify 11e3a9652a first преди 8 години css-color-names 11e3a9652a first преди 8 години css-loader 11e3a9652a first преди 8 години css-select 11e3a9652a first преди 8 години css-selector-tokenizer 11e3a9652a first преди 8 години css-what 11e3a9652a first преди 8 години cssesc 11e3a9652a first преди 8 години cssnano 11e3a9652a first преди 8 години csso 11e3a9652a first преди 8 години cssom 11e3a9652a first преди 8 години cssstyle 11e3a9652a first преди 8 години cuint 11e3a9652a first преди 8 години currently-unhandled 11e3a9652a first преди 8 години cyclist 11e3a9652a first преди 8 години d 11e3a9652a first преди 8 години dashdash 11e3a9652a first преди 8 години data-uri-to-buffer 11e3a9652a first преди 8 години data-urls 11e3a9652a first преди 8 години date-now 11e3a9652a first преди 8 години de-indent 11e3a9652a first преди 8 години debug 11e3a9652a first преди 8 години decamelize 11e3a9652a first преди 8 години decode-uri-component 11e3a9652a first преди 8 години deep-eql 11e3a9652a first преди 8 години deep-equal 11e3a9652a first преди 8 години deep-is 11e3a9652a first преди 8 години deepmerge 11e3a9652a first преди 8 години default-require-extensions 11e3a9652a first преди 8 години define-properties 11e3a9652a first преди 8 години define-property 11e3a9652a first преди 8 години defined 11e3a9652a first преди 8 години degenerator 11e3a9652a first преди 8 години del 11e3a9652a first преди 8 години delayed-stream 11e3a9652a first преди 8 години delegates 11e3a9652a first преди 8 години depd 11e3a9652a first преди 8 години des.js 11e3a9652a first преди 8 години destroy 11e3a9652a first преди 8 години detect-indent 11e3a9652a first преди 8 години detect-newline 11e3a9652a first преди 8 години detect-node 11e3a9652a first преди 8 години diff 11e3a9652a first преди 8 години diffie-hellman 11e3a9652a first преди 8 години dir-glob 11e3a9652a first преди 8 години dns-equal 11e3a9652a first преди 8 години dns-packet 11e3a9652a first преди 8 години dns-txt 11e3a9652a first преди 8 години doctrine 11e3a9652a first преди 8 години dom-converter 11e3a9652a first преди 8 години dom-serializer 11e3a9652a first преди 8 години domain-browser 11e3a9652a first преди 8 години domelementtype 11e3a9652a first преди 8 години domexception 11e3a9652a first преди 8 години domhandler 11e3a9652a first преди 8 години domutils 11e3a9652a first преди 8 години duplexer 11e3a9652a first преди 8 години duplexify 11e3a9652a first преди 8 години ecc-jsbn 11e3a9652a first преди 8 години echarts 11e3a9652a first преди 8 години editorconfig 11e3a9652a first преди 8 години ee-first 11e3a9652a first преди 8 години ejs 11e3a9652a first преди 8 години electron-to-chromium 11e3a9652a first преди 8 години element-ui 11e3a9652a first преди 8 години elliptic 11e3a9652a first преди 8 години emojis-list 11e3a9652a first преди 8 години encodeurl 11e3a9652a first преди 8 години end-of-stream 11e3a9652a first преди 8 години enhanced-resolve 11e3a9652a first преди 8 години entities 11e3a9652a first преди 8 години errno 11e3a9652a first преди 8 години error-ex 11e3a9652a first преди 8 години error-stack-parser 11e3a9652a first преди 8 години es-abstract 11e3a9652a first преди 8 години es-to-primitive 11e3a9652a first преди 8 години es5-ext 11e3a9652a first преди 8 години es6-iterator 11e3a9652a first преди 8 години es6-map 11e3a9652a first преди 8 години es6-set 11e3a9652a first преди 8 години es6-symbol 11e3a9652a first преди 8 години es6-weak-map 11e3a9652a first преди 8 години escape-html 11e3a9652a first преди 8 години escape-string-regexp 11e3a9652a first преди 8 години escodegen 11e3a9652a first преди 8 години escope 11e3a9652a first преди 8 години eslint 11e3a9652a first преди 8 години eslint-config-standard 11e3a9652a first преди 8 години eslint-friendly-formatter 11e3a9652a first преди 8 години eslint-import-resolver-node 11e3a9652a first преди 8 години eslint-loader 11e3a9652a first преди 8 години eslint-module-utils 11e3a9652a first преди 8 години eslint-plugin-import 11e3a9652a first преди 8 години eslint-plugin-node 11e3a9652a first преди 8 години eslint-plugin-promise 11e3a9652a first преди 8 години eslint-plugin-standard 11e3a9652a first преди 8 години eslint-plugin-vue 11e3a9652a first преди 8 години eslint-scope 11e3a9652a first преди 8 години eslint-visitor-keys 11e3a9652a first преди 8 години espree 11e3a9652a first преди 8 години esprima 11e3a9652a first преди 8 години esquery 11e3a9652a first преди 8 години esrecurse 11e3a9652a first преди 8 години estraverse 11e3a9652a first преди 8 години esutils 11e3a9652a first преди 8 години etag 11e3a9652a first преди 8 години event-emitter 11e3a9652a first преди 8 години eventemitter3 11e3a9652a first преди 8 години events 11e3a9652a first преди 8 години eventsource 11e3a9652a first преди 8 години evp_bytestokey 11e3a9652a first преди 8 години exec-sh 11e3a9652a first преди 8 години execa 11e3a9652a first преди 8 години exit 11e3a9652a first преди 8 години expand-brackets 11e3a9652a first преди 8 години expand-range 11e3a9652a first преди 8 години expect 11e3a9652a first преди 8 години express 11e3a9652a first преди 8 години extend 11e3a9652a first преди 8 години extend-shallow 11e3a9652a first преди 8 години external-editor 11e3a9652a first преди 8 години extglob 11e3a9652a first преди 8 години extract-text-webpack-plugin 11e3a9652a first преди 8 години extract-zip 11e3a9652a first преди 8 години extsprintf 11e3a9652a first преди 8 години fast-deep-equal 11e3a9652a first преди 8 години fast-json-stable-stringify 11e3a9652a first преди 8 години fast-levenshtein 11e3a9652a first преди 8 години fastparse 11e3a9652a first преди 8 години faye-websocket 11e3a9652a first преди 8 години fb-watchman 11e3a9652a first преди 8 години fd-slicer 11e3a9652a first преди 8 години figures 11e3a9652a first преди 8 години file-entry-cache 11e3a9652a first преди 8 години file-loader 11e3a9652a first преди 8 години file-uri-to-path 11e3a9652a first преди 8 години filename-regex 11e3a9652a first преди 8 години fileset 11e3a9652a first преди 8 години filesize 11e3a9652a first преди 8 години fill-range 11e3a9652a first преди 8 години finalhandler 11e3a9652a first преди 8 години find-babel-config 11e3a9652a first преди 8 години find-cache-dir 11e3a9652a first преди 8 години find-up 11e3a9652a first преди 8 години flat-cache 11e3a9652a first преди 8 години flatten 11e3a9652a first преди 8 години flush-write-stream 11e3a9652a first преди 8 години follow-redirects 11e3a9652a first преди 8 години for-in 11e3a9652a first преди 8 години for-own 11e3a9652a first преди 8 години foreach 11e3a9652a first преди 8 години forever-agent 11e3a9652a first преди 8 години form-data 11e3a9652a first преди 8 години forwarded 11e3a9652a first преди 8 години fragment-cache 11e3a9652a first преди 8 години fresh 11e3a9652a first преди 8 години friendly-errors-webpack-plugin 11e3a9652a first преди 8 години from2 11e3a9652a first преди 8 години fs-write-stream-atomic 11e3a9652a first преди 8 години fs.realpath 11e3a9652a first преди 8 години fsevents 11e3a9652a first преди 8 години fstream 11e3a9652a first преди 8 години ftp 11e3a9652a first преди 8 години function-bind 11e3a9652a first преди 8 години functional-red-black-tree 11e3a9652a first преди 8 години gauge 11e3a9652a first преди 8 години gaze 11e3a9652a first преди 8 години generate-function 11e3a9652a first преди 8 години generate-object-property 11e3a9652a first преди 8 години get-caller-file 11e3a9652a first преди 8 години get-stdin 11e3a9652a first преди 8 години get-stream 11e3a9652a first преди 8 години get-uri 11e3a9652a first преди 8 години get-value 11e3a9652a first преди 8 години getpass 11e3a9652a first преди 8 години glob 11e3a9652a first преди 8 години glob-base 11e3a9652a first преди 8 години glob-parent 11e3a9652a first преди 8 години globals 11e3a9652a first преди 8 години globby 11e3a9652a first преди 8 години globule 11e3a9652a first преди 8 години graceful-fs 11e3a9652a first преди 8 години graceful-readlink 11e3a9652a first преди 8 години growl 11e3a9652a first преди 8 години growly 11e3a9652a first преди 8 години gzip-size 11e3a9652a first преди 8 години handle-thing 11e3a9652a first преди 8 години handlebars 11e3a9652a first преди 8 години har-schema 11e3a9652a first преди 8 години har-validator 11e3a9652a first преди 8 години has 11e3a9652a first преди 8 години has-ansi 11e3a9652a first преди 8 години has-flag 11e3a9652a first преди 8 години has-unicode 11e3a9652a first преди 8 години has-value 11e3a9652a first преди 8 години has-values 11e3a9652a first преди 8 години hash-base 11e3a9652a first преди 8 години hash-sum 11e3a9652a first преди 8 години hash.js 11e3a9652a first преди 8 години hawk 11e3a9652a first преди 8 години he 11e3a9652a first преди 8 години hmac-drbg 11e3a9652a first преди 8 години hoek 11e3a9652a first преди 8 години home-or-tmp 11e3a9652a first преди 8 години hosted-git-info 11e3a9652a first преди 8 години hpack.js 11e3a9652a first преди 8 години html-comment-regex 11e3a9652a first преди 8 години html-encoding-sniffer 11e3a9652a first преди 8 години html-entities 11e3a9652a first преди 8 години html-minifier 11e3a9652a first преди 8 години html-tags 11e3a9652a first преди 8 години html-webpack-plugin 11e3a9652a first преди 8 години htmlparser2 11e3a9652a first преди 8 години http-deceiver 11e3a9652a first преди 8 години http-errors 11e3a9652a first преди 8 години http-parser-js 11e3a9652a first преди 8 години http-proxy 11e3a9652a first преди 8 години http-proxy-agent 11e3a9652a first преди 8 години http-proxy-middleware 11e3a9652a first преди 8 години http-signature 11e3a9652a first преди 8 години https-browserify 11e3a9652a first преди 8 години https-proxy-agent 11e3a9652a first преди 8 години iconv-lite 11e3a9652a first преди 8 години icss-replace-symbols 11e3a9652a first преди 8 години icss-utils 11e3a9652a first преди 8 години ieee754 11e3a9652a first преди 8 години iferr 11e3a9652a first преди 8 години ignore 11e3a9652a first преди 8 години import-local 11e3a9652a first преди 8 години imurmurhash 11e3a9652a first преди 8 години in-publish 11e3a9652a first преди 8 години indent-string 11e3a9652a first преди 8 години indexes-of 11e3a9652a first преди 8 години indexof 11e3a9652a first преди 8 години inflight 11e3a9652a first преди 8 години inherits 11e3a9652a first преди 8 години ini 11e3a9652a first преди 8 години inquirer 11e3a9652a first преди 8 години internal-ip 11e3a9652a first преди 8 години interpret 11e3a9652a first преди 8 години invariant 11e3a9652a first преди 8 години invert-kv 11e3a9652a first преди 8 години ip 11e3a9652a first преди 8 години ipaddr.js 11e3a9652a first преди 8 години is-absolute-url 11e3a9652a first преди 8 години is-accessor-descriptor 11e3a9652a first преди 8 години is-arrayish 11e3a9652a first преди 8 години is-binary-path 11e3a9652a first преди 8 години is-buffer 11e3a9652a first преди 8 години is-builtin-module 11e3a9652a first преди 8 години is-callable 11e3a9652a first преди 8 години is-ci 11e3a9652a first преди 8 години is-data-descriptor 11e3a9652a first преди 8 години is-date-object 11e3a9652a first преди 8 години is-descriptor 11e3a9652a first преди 8 години is-directory 11e3a9652a first преди 8 години is-dotfile 11e3a9652a first преди 8 години is-equal-shallow 11e3a9652a first преди 8 години is-extendable 11e3a9652a first преди 8 години is-extglob 11e3a9652a first преди 8 години is-finite 11e3a9652a first преди 8 години is-fullwidth-code-point 11e3a9652a first преди 8 години is-generator-fn 11e3a9652a first преди 8 години is-glob 11e3a9652a first преди 8 години is-my-ip-valid 11e3a9652a first преди 8 години is-my-json-valid 11e3a9652a first преди 8 години is-number 11e3a9652a first преди 8 години is-odd 11e3a9652a first преди 8 години is-path-cwd 11e3a9652a first преди 8 години is-path-in-cwd 11e3a9652a first преди 8 години is-path-inside 11e3a9652a first преди 8 години is-plain-obj 11e3a9652a first преди 8 години is-plain-object 11e3a9652a first преди 8 години is-posix-bracket 11e3a9652a first преди 8 години is-primitive 11e3a9652a first преди 8 години is-promise 11e3a9652a first преди 8 години is-property 11e3a9652a first преди 8 години is-regex 11e3a9652a first преди 8 години is-resolvable 11e3a9652a first преди 8 години is-stream 11e3a9652a first преди 8 години is-svg 11e3a9652a first преди 8 години is-symbol 11e3a9652a first преди 8 години is-typedarray 11e3a9652a first преди 8 години is-utf8 11e3a9652a first преди 8 години is-whitespace 11e3a9652a first преди 8 години is-windows 11e3a9652a first преди 8 години is-wsl 11e3a9652a first преди 8 години isarray 11e3a9652a first преди 8 години isexe 11e3a9652a first преди 8 години isobject 11e3a9652a first преди 8 години isstream 11e3a9652a first преди 8 години istanbul-api 11e3a9652a first преди 8 години istanbul-lib-coverage 11e3a9652a first преди 8 години istanbul-lib-hook 11e3a9652a first преди 8 години istanbul-lib-instrument 11e3a9652a first преди 8 години istanbul-lib-report 11e3a9652a first преди 8 години istanbul-lib-source-maps 11e3a9652a first преди 8 години istanbul-reports 11e3a9652a first преди 8 години jest 11e3a9652a first преди 8 години jest-changed-files 11e3a9652a first преди 8 години jest-config 11e3a9652a first преди 8 години jest-diff 11e3a9652a first преди 8 години jest-docblock 11e3a9652a first преди 8 години jest-environment-jsdom 11e3a9652a first преди 8 години jest-environment-node 11e3a9652a first преди 8 години jest-get-type 11e3a9652a first преди 8 години jest-haste-map 11e3a9652a first преди 8 години jest-jasmine2 11e3a9652a first преди 8 години jest-leak-detector 11e3a9652a first преди 8 години jest-matcher-utils 11e3a9652a first преди 8 години jest-message-util 11e3a9652a first преди 8 години jest-mock 11e3a9652a first преди 8 години jest-regex-util 11e3a9652a first преди 8 години jest-resolve 11e3a9652a first преди 8 години jest-resolve-dependencies 11e3a9652a first преди 8 години jest-runner 11e3a9652a first преди 8 години jest-runtime 11e3a9652a first преди 8 години jest-serializer 11e3a9652a first преди 8 години jest-serializer-vue 11e3a9652a first преди 8 години jest-snapshot 11e3a9652a first преди 8 години jest-util 11e3a9652a first преди 8 години jest-validate 11e3a9652a first преди 8 години jest-worker 11e3a9652a first преди 8 години js-base64 11e3a9652a first преди 8 години js-beautify 11e3a9652a first преди 8 години js-tokens 11e3a9652a first преди 8 години js-yaml 11e3a9652a first преди 8 години jsbn 11e3a9652a first преди 8 години jsdom 11e3a9652a first преди 8 години jsesc 11e3a9652a first преди 8 години json-loader 11e3a9652a first преди 8 години json-schema 11e3a9652a first преди 8 години json-schema-traverse 11e3a9652a first преди 8 години json-stable-stringify 11e3a9652a first преди 8 години json-stable-stringify-without-jsonify 11e3a9652a first преди 8 години json-stringify-safe 11e3a9652a first преди 8 години json3 11e3a9652a first преди 8 години json5 11e3a9652a first преди 8 години jsonify 11e3a9652a first преди 8 години jsonpointer 11e3a9652a first преди 8 години jsprim 11e3a9652a first преди 8 години kew 11e3a9652a first преди 8 години killable 11e3a9652a first преди 8 години kind-of 11e3a9652a first преди 8 години last-call-webpack-plugin 11e3a9652a first преди 8 години lazy-cache 11e3a9652a first преди 8 години lcid 11e3a9652a first преди 8 години left-pad 11e3a9652a first преди 8 години leven 11e3a9652a first преди 8 години levn 11e3a9652a first преди 8 години load-json-file 11e3a9652a first преди 8 години loader-fs-cache 11e3a9652a first преди 8 години loader-runner 11e3a9652a first преди 8 години loader-utils 11e3a9652a first преди 8 години locate-path 11e3a9652a first преди 8 години lodash 11e3a9652a first преди 8 години lodash._arraycopy 11e3a9652a first преди 8 години lodash._arrayeach 11e3a9652a first преди 8 години lodash._baseassign 11e3a9652a first преди 8 години lodash._baseclone 11e3a9652a first преди 8 години lodash._basecopy 11e3a9652a first преди 8 години lodash._basecreate 11e3a9652a first преди 8 години lodash._basefor 11e3a9652a first преди 8 години lodash._bindcallback 11e3a9652a first преди 8 години lodash._getnative 11e3a9652a first преди 8 години lodash._isiterateecall 11e3a9652a first преди 8 години lodash._stack 11e3a9652a first преди 8 години lodash.assign 11e3a9652a first преди 8 години lodash.camelcase 11e3a9652a first преди 8 години lodash.clone 11e3a9652a first преди 8 години lodash.clonedeep 11e3a9652a first преди 8 години lodash.create 11e3a9652a first преди 8 години lodash.defaultsdeep 11e3a9652a first преди 8 години lodash.isarguments 11e3a9652a first преди 8 години lodash.isarray 11e3a9652a first преди 8 години lodash.isplainobject 11e3a9652a first преди 8 години lodash.keys 11e3a9652a first преди 8 години lodash.keysin 11e3a9652a first преди 8 години lodash.memoize 11e3a9652a first преди 8 години lodash.mergewith 11e3a9652a first преди 8 години lodash.rest 11e3a9652a first преди 8 години lodash.sortby 11e3a9652a first преди 8 години lodash.tail 11e3a9652a first преди 8 години lodash.uniq 11e3a9652a first преди 8 години log-symbols 11e3a9652a first преди 8 години loglevel 11e3a9652a first преди 8 години longest 11e3a9652a first преди 8 години loose-envify 11e3a9652a first преди 8 години loud-rejection 11e3a9652a first преди 8 години lower-case 11e3a9652a first преди 8 години lru-cache 11e3a9652a first преди 8 години macaddress 11e3a9652a first преди 8 години make-dir 11e3a9652a first преди 8 години makeerror 11e3a9652a first преди 8 години map-cache 11e3a9652a first преди 8 години map-obj 11e3a9652a first преди 8 години map-visit 11e3a9652a first преди 8 години math-expression-evaluator 11e3a9652a first преди 8 години md5.js 11e3a9652a first преди 8 години media-typer 11e3a9652a first преди 8 години mem 11e3a9652a first преди 8 години memory-fs 11e3a9652a first преди 8 години meow 11e3a9652a first преди 8 години merge 11e3a9652a first преди 8 години merge-descriptors 11e3a9652a first преди 8 години merge-stream 11e3a9652a first преди 8 години methods 11e3a9652a first преди 8 години micromatch 11e3a9652a first преди 8 години miller-rabin 11e3a9652a first преди 8 години mime 11e3a9652a first преди 8 години mime-db 11e3a9652a first преди 8 години mime-types 11e3a9652a first преди 8 години mimic-fn 11e3a9652a first преди 8 години minimalistic-assert 11e3a9652a first преди 8 години minimalistic-crypto-utils 11e3a9652a first преди 8 години minimatch 11e3a9652a first преди 8 години minimist 11e3a9652a first преди 8 години mississippi 11e3a9652a first преди 8 години mixin-deep 11e3a9652a first преди 8 години mixin-object 11e3a9652a first преди 8 години mkdirp 11e3a9652a first преди 8 години mkpath 11e3a9652a first преди 8 години mocha-nightwatch 11e3a9652a first преди 8 години move-concurrently 11e3a9652a first преди 8 години ms 11e3a9652a first преди 8 години multicast-dns 11e3a9652a first преди 8 години multicast-dns-service-types 11e3a9652a first преди 8 години mute-stream 11e3a9652a first преди 8 години nan 11e3a9652a first преди 8 години nanomatch 11e3a9652a first преди 8 години natural-compare 11e3a9652a first преди 8 години negotiator 11e3a9652a first преди 8 години neo-async 11e3a9652a first преди 8 години netmask 11e3a9652a first преди 8 години next-tick 11e3a9652a first преди 8 години nightwatch 11e3a9652a first преди 8 години no-case 11e3a9652a first преди 8 години node-cache 11e3a9652a first преди 8 години node-forge 11e3a9652a first преди 8 години node-gyp 11e3a9652a first преди 8 години node-int64 11e3a9652a first преди 8 години node-libs-browser 11e3a9652a first преди 8 години node-notifier 11e3a9652a first преди 8 години node-sass 11e3a9652a first преди 8 години nopt 11e3a9652a first преди 8 години normalize-package-data 11e3a9652a first преди 8 години normalize-path 11e3a9652a first преди 8 години normalize-range 11e3a9652a first преди 8 години normalize-url 11e3a9652a first преди 8 години normalize-wheel 11e3a9652a first преди 8 години npm-run-path 11e3a9652a first преди 8 години npmlog 11e3a9652a first преди 8 години nth-check 11e3a9652a first преди 8 години num2fraction 11e3a9652a first преди 8 години number-is-nan 11e3a9652a first преди 8 години nwmatcher 11e3a9652a first преди 8 години oauth-sign 11e3a9652a first преди 8 години object-assign 11e3a9652a first преди 8 години object-copy 11e3a9652a first преди 8 години object-hash 11e3a9652a first преди 8 години object-keys 11e3a9652a first преди 8 години object-visit 11e3a9652a first преди 8 години object.getownpropertydescriptors 11e3a9652a first преди 8 години object.omit 11e3a9652a first преди 8 години object.pick 11e3a9652a first преди 8 години obuf 11e3a9652a first преди 8 години on-finished 11e3a9652a first преди 8 години on-headers 11e3a9652a first преди 8 години once 11e3a9652a first преди 8 години onetime 11e3a9652a first преди 8 години opener 11e3a9652a first преди 8 години opn 11e3a9652a first преди 8 години optimist 11e3a9652a first преди 8 години optimize-css-assets-webpack-plugin 11e3a9652a first преди 8 години optionator 11e3a9652a first преди 8 години ora 11e3a9652a first преди 8 години original 11e3a9652a first преди 8 години os-browserify 11e3a9652a first преди 8 години os-homedir 11e3a9652a first преди 8 години os-locale 11e3a9652a first преди 8 години os-tmpdir 11e3a9652a first преди 8 години osenv 11e3a9652a first преди 8 години p-finally 11e3a9652a first преди 8 години p-limit 11e3a9652a first преди 8 години p-locate 11e3a9652a first преди 8 години p-map 11e3a9652a first преди 8 години p-try 11e3a9652a first преди 8 години pac-proxy-agent 11e3a9652a first преди 8 години pac-resolver 11e3a9652a first преди 8 години pako 11e3a9652a first преди 8 години parallel-transform 11e3a9652a first преди 8 години param-case 11e3a9652a first преди 8 години parse-asn1 11e3a9652a first преди 8 години parse-glob 11e3a9652a first преди 8 години parse-json 11e3a9652a first преди 8 години parse5 11e3a9652a first преди 8 години parseurl 11e3a9652a first преди 8 години pascalcase 11e3a9652a first преди 8 години path-browserify 11e3a9652a first преди 8 години path-dirname 11e3a9652a first преди 8 години path-exists 11e3a9652a first преди 8 години path-is-absolute 11e3a9652a first преди 8 години path-is-inside 11e3a9652a first преди 8 години path-key 11e3a9652a first преди 8 години path-parse 11e3a9652a first преди 8 години path-to-regexp 11e3a9652a first преди 8 години path-type 11e3a9652a first преди 8 години pbkdf2 11e3a9652a first преди 8 години pend 11e3a9652a first преди 8 години performance-now 11e3a9652a first преди 8 години pify 11e3a9652a first преди 8 години pinkie 11e3a9652a first преди 8 години pinkie-promise 11e3a9652a first преди 8 години pkg-dir 11e3a9652a first преди 8 години pluralize 11e3a9652a first преди 8 години pn 11e3a9652a first преди 8 години portfinder 11e3a9652a first преди 8 години posix-character-classes 11e3a9652a first преди 8 години postcss 11e3a9652a first преди 8 години postcss-calc 11e3a9652a first преди 8 години postcss-colormin 11e3a9652a first преди 8 години postcss-convert-values 11e3a9652a first преди 8 години postcss-discard-comments 11e3a9652a first преди 8 години postcss-discard-duplicates 11e3a9652a first преди 8 години postcss-discard-empty 11e3a9652a first преди 8 години postcss-discard-overridden 11e3a9652a first преди 8 години postcss-discard-unused 11e3a9652a first преди 8 години postcss-filter-plugins 11e3a9652a first преди 8 години postcss-import 11e3a9652a first преди 8 години postcss-load-config 11e3a9652a first преди 8 години postcss-load-options 11e3a9652a first преди 8 години postcss-load-plugins 11e3a9652a first преди 8 години postcss-loader 11e3a9652a first преди 8 години postcss-merge-idents 11e3a9652a first преди 8 години postcss-merge-longhand 11e3a9652a first преди 8 години postcss-merge-rules 11e3a9652a first преди 8 години postcss-message-helpers 11e3a9652a first преди 8 години postcss-minify-font-values 11e3a9652a first преди 8 години postcss-minify-gradients 11e3a9652a first преди 8 години postcss-minify-params 11e3a9652a first преди 8 години postcss-minify-selectors 11e3a9652a first преди 8 години postcss-modules-extract-imports 11e3a9652a first преди 8 години postcss-modules-local-by-default 11e3a9652a first преди 8 години postcss-modules-scope 11e3a9652a first преди 8 години postcss-modules-values 11e3a9652a first преди 8 години postcss-normalize-charset 11e3a9652a first преди 8 години postcss-normalize-url 11e3a9652a first преди 8 години postcss-ordered-values 11e3a9652a first преди 8 години postcss-reduce-idents 11e3a9652a first преди 8 години postcss-reduce-initial 11e3a9652a first преди 8 години postcss-reduce-transforms 11e3a9652a first преди 8 години postcss-selector-parser 11e3a9652a first преди 8 години postcss-svgo 11e3a9652a first преди 8 години postcss-unique-selectors 11e3a9652a first преди 8 години postcss-url 11e3a9652a first преди 8 години postcss-value-parser 11e3a9652a first преди 8 години postcss-zindex 11e3a9652a first преди 8 години prelude-ls 11e3a9652a first преди 8 години prepend-http 11e3a9652a first преди 8 години preserve 11e3a9652a first преди 8 години prettier 11e3a9652a first преди 8 години pretty 11e3a9652a first преди 8 години pretty-error 11e3a9652a first преди 8 години pretty-format 11e3a9652a first преди 8 години private 11e3a9652a first преди 8 години process 11e3a9652a first преди 8 години process-nextick-args 11e3a9652a first преди 8 години progress 11e3a9652a first преди 8 години promise-inflight 11e3a9652a first преди 8 години proto-list 11e3a9652a first преди 8 години proxy-addr 11e3a9652a first преди 8 години proxy-agent 11e3a9652a first преди 8 години prr 11e3a9652a first преди 8 години pseudomap 11e3a9652a first преди 8 години public-encrypt 11e3a9652a first преди 8 години pump 11e3a9652a first преди 8 години pumpify 11e3a9652a first преди 8 години punycode 11e3a9652a first преди 8 години q 11e3a9652a first преди 8 години qrcodejs2 11e3a9652a first преди 8 години qs 11e3a9652a first преди 8 години query-string 11e3a9652a first преди 8 години querystring 11e3a9652a first преди 8 години querystring-es3 11e3a9652a first преди 8 години querystringify 11e3a9652a first преди 8 години randomatic 11e3a9652a first преди 8 години randombytes 11e3a9652a first преди 8 години randomfill 11e3a9652a first преди 8 години range-parser 11e3a9652a first преди 8 години raw-body 11e3a9652a first преди 8 години read-cache 11e3a9652a first преди 8 години read-pkg 11e3a9652a first преди 8 години read-pkg-up 11e3a9652a first преди 8 години readable-stream 11e3a9652a first преди 8 години readdirp 11e3a9652a first преди 8 години realpath-native 11e3a9652a first преди 8 години rechoir 11e3a9652a first преди 8 години redent 11e3a9652a first преди 8 години reduce-css-calc 11e3a9652a first преди 8 години reduce-function-call 11e3a9652a first преди 8 години regenerate 11e3a9652a first преди 8 години regenerator-runtime 11e3a9652a first преди 8 години regenerator-transform 11e3a9652a first преди 8 години regex-cache 11e3a9652a first преди 8 години regex-not 11e3a9652a first преди 8 години regexpp 11e3a9652a first преди 8 години regexpu-core 11e3a9652a first преди 8 години regjsgen 11e3a9652a first преди 8 години regjsparser 11e3a9652a first преди 8 години relateurl 11e3a9652a first преди 8 години remove-trailing-separator 11e3a9652a first преди 8 години renderkid 11e3a9652a first преди 8 години repeat-element 11e3a9652a first преди 8 години repeat-string 11e3a9652a first преди 8 години repeating 11e3a9652a first преди 8 години request 11e3a9652a first преди 8 години request-promise-core 11e3a9652a first преди 8 години request-promise-native 11e3a9652a first преди 8 години require-directory 11e3a9652a first преди 8 години require-from-string 11e3a9652a first преди 8 години require-main-filename 11e3a9652a first преди 8 години require-uncached 11e3a9652a first преди 8 години requires-port 11e3a9652a first преди 8 години resize-observer-polyfill 11e3a9652a first преди 8 години resolve 11e3a9652a first преди 8 години resolve-cwd 11e3a9652a first преди 8 години resolve-from 11e3a9652a first преди 8 години resolve-url 11e3a9652a first преди 8 години restore-cursor 11e3a9652a first преди 8 години ret 11e3a9652a first преди 8 години right-align 11e3a9652a first преди 8 години rimraf 11e3a9652a first преди 8 години ripemd160 11e3a9652a first преди 8 години run-async 11e3a9652a first преди 8 години run-queue 11e3a9652a first преди 8 години rx-lite 11e3a9652a first преди 8 години rx-lite-aggregates 11e3a9652a first преди 8 години safe-buffer 11e3a9652a first преди 8 години safe-regex 11e3a9652a first преди 8 години safer-buffer 11e3a9652a first преди 8 години sane 11e3a9652a first преди 8 години sass-graph 11e3a9652a first преди 8 години sass-loader 11e3a9652a first преди 8 години sax 11e3a9652a first преди 8 години schema-utils 11e3a9652a first преди 8 години scss-tokenizer 11e3a9652a first преди 8 години select-hose 11e3a9652a first преди 8 години selenium-server 11e3a9652a first преди 8 години selfsigned 11e3a9652a first преди 8 години semver 11e3a9652a first преди 8 години send 11e3a9652a first преди 8 години serialize-javascript 11e3a9652a first преди 8 години serve-index 11e3a9652a first преди 8 години serve-static 11e3a9652a first преди 8 години set-blocking 11e3a9652a first преди 8 години set-immediate-shim 11e3a9652a first преди 8 години set-value 11e3a9652a first преди 8 години setimmediate 11e3a9652a first преди 8 години setprototypeof 11e3a9652a first преди 8 години sha.js 11e3a9652a first преди 8 години shallow-clone 11e3a9652a first преди 8 години shebang-command 11e3a9652a first преди 8 години shebang-regex 11e3a9652a first преди 8 години shelljs 11e3a9652a first преди 8 години shellwords 11e3a9652a first преди 8 години sigmund 11e3a9652a first преди 8 години signal-exit 11e3a9652a first преди 8 години slash 11e3a9652a first преди 8 години slice-ansi 11e3a9652a first преди 8 години smart-buffer 11e3a9652a first преди 8 години snapdragon 11e3a9652a first преди 8 години snapdragon-node 11e3a9652a first преди 8 години snapdragon-util 11e3a9652a first преди 8 години sntp 11e3a9652a first преди 8 години sockjs 11e3a9652a first преди 8 години sockjs-client 11e3a9652a first преди 8 години socks 11e3a9652a first преди 8 години socks-proxy-agent 11e3a9652a first преди 8 години sort-keys 11e3a9652a first преди 8 години source-list-map 11e3a9652a first преди 8 години source-map 11e3a9652a first преди 8 години source-map-resolve 11e3a9652a first преди 8 години source-map-support 11e3a9652a first преди 8 години source-map-url 11e3a9652a first преди 8 години spdx-correct 11e3a9652a first преди 8 години spdx-exceptions 11e3a9652a first преди 8 години spdx-expression-parse 11e3a9652a first преди 8 години spdx-license-ids 11e3a9652a first преди 8 години spdy 11e3a9652a first преди 8 години spdy-transport 11e3a9652a first преди 8 години split-string 11e3a9652a first преди 8 години sprintf-js 11e3a9652a first преди 8 години sshpk 11e3a9652a first преди 8 години ssri 11e3a9652a first преди 8 години stack-utils 11e3a9652a first преди 8 години stackframe 11e3a9652a first преди 8 години static-extend 11e3a9652a first преди 8 години statuses 11e3a9652a first преди 8 години stdout-stream 11e3a9652a first преди 8 години stealthy-require 11e3a9652a first преди 8 години stream-browserify 11e3a9652a first преди 8 години stream-each 11e3a9652a first преди 8 години stream-http 11e3a9652a first преди 8 години stream-shift 11e3a9652a first преди 8 години strict-uri-encode 11e3a9652a first преди 8 години string-length 11e3a9652a first преди 8 години string-width 11e3a9652a first преди 8 години string_decoder 11e3a9652a first преди 8 години stringstream 11e3a9652a first преди 8 години strip-ansi 11e3a9652a first преди 8 години strip-bom 11e3a9652a first преди 8 години strip-eof 11e3a9652a first преди 8 години strip-indent 11e3a9652a first преди 8 години strip-json-comments 11e3a9652a first преди 8 години supports-color 11e3a9652a first преди 8 години svg-tags 11e3a9652a first преди 8 години svgo 11e3a9652a first преди 8 години symbol-tree 11e3a9652a first преди 8 години table 11e3a9652a first преди 8 години tapable 11e3a9652a first преди 8 години tar 11e3a9652a first преди 8 години test-exclude 11e3a9652a first преди 8 години text-table 11e3a9652a first преди 8 години throat 11e3a9652a first преди 8 години throttle-debounce 11e3a9652a first преди 8 години through 11e3a9652a first преди 8 години through2 11e3a9652a first преди 8 години thunkify 11e3a9652a first преди 8 години thunky 11e3a9652a first преди 8 години time-stamp 11e3a9652a first преди 8 години timers-browserify 11e3a9652a first преди 8 години tmp 11e3a9652a first преди 8 години tmpl 11e3a9652a first преди 8 години to-arraybuffer 11e3a9652a first преди 8 години to-fast-properties 11e3a9652a first преди 8 години to-object-path 11e3a9652a first преди 8 години to-regex 11e3a9652a first преди 8 години to-regex-range 11e3a9652a first преди 8 години toposort 11e3a9652a first преди 8 години tough-cookie 11e3a9652a first преди 8 години tr46 11e3a9652a first преди 8 години trim-newlines 11e3a9652a first преди 8 години trim-right 11e3a9652a first преди 8 години true-case-path 11e3a9652a first преди 8 години tryer 11e3a9652a first преди 8 години tsconfig 11e3a9652a first преди 8 години tty-browserify 11e3a9652a first преди 8 години tunnel-agent 11e3a9652a first преди 8 години tweetnacl 11e3a9652a first преди 8 години type-check 11e3a9652a first преди 8 години type-detect 11e3a9652a first преди 8 години type-is 11e3a9652a first преди 8 години typedarray 11e3a9652a first преди 8 години uglify-js 11e3a9652a first преди 8 години uglify-to-browserify 11e3a9652a first преди 8 години uglifyjs-webpack-plugin 11e3a9652a first преди 8 години union-value 11e3a9652a first преди 8 години uniq 11e3a9652a first преди 8 години uniqid 11e3a9652a first преди 8 години uniqs 11e3a9652a first преди 8 години unique-filename 11e3a9652a first преди 8 години unique-slug 11e3a9652a first преди 8 години unpipe 11e3a9652a first преди 8 години unset-value 11e3a9652a first преди 8 години upath 11e3a9652a first преди 8 години upper-case 11e3a9652a first преди 8 години uri-js 11e3a9652a first преди 8 години urix 11e3a9652a first преди 8 години url 11e3a9652a first преди 8 години url-loader 11e3a9652a first преди 8 години url-parse 11e3a9652a first преди 8 години use 11e3a9652a first преди 8 години util 11e3a9652a first преди 8 години util-deprecate 11e3a9652a first преди 8 години util.promisify 11e3a9652a first преди 8 години utila 11e3a9652a first преди 8 години utils-merge 11e3a9652a first преди 8 години uuid 11e3a9652a first преди 8 години validate-npm-package-license 11e3a9652a first преди 8 години vary 11e3a9652a first преди 8 години vendors 11e3a9652a first преди 8 години verror 11e3a9652a first преди 8 години vm-browserify 11e3a9652a first преди 8 години vue 11e3a9652a first преди 8 години vue-eslint-parser 11e3a9652a first преди 8 години vue-hot-reload-api 11e3a9652a first преди 8 години vue-jest 11e3a9652a first преди 8 години vue-loader 11e3a9652a first преди 8 години vue-router 11e3a9652a first преди 8 години vue-style-loader 11e3a9652a first преди 8 години vue-template-compiler 11e3a9652a first преди 8 години vue-template-es2015-compiler 11e3a9652a first преди 8 години w3c-hr-time 11e3a9652a first преди 8 години walker 11e3a9652a first преди 8 години watch 11e3a9652a first преди 8 години watchpack 11e3a9652a first преди 8 години wbuf 11e3a9652a first преди 8 години webidl-conversions 11e3a9652a first преди 8 години webpack 11e3a9652a first преди 8 години webpack-bundle-analyzer 11e3a9652a first преди 8 години webpack-dev-middleware 11e3a9652a first преди 8 години webpack-dev-server 11e3a9652a first преди 8 години webpack-merge 11e3a9652a first преди 8 години webpack-sources 11e3a9652a first преди 8 години websocket-driver 11e3a9652a first преди 8 години websocket-extensions 11e3a9652a first преди 8 години whatwg-encoding 11e3a9652a first преди 8 години whatwg-mimetype 11e3a9652a first преди 8 години whatwg-url 11e3a9652a first преди 8 години whet.extend 11e3a9652a first преди 8 години which 11e3a9652a first преди 8 години which-module 11e3a9652a first преди 8 години wide-align 11e3a9652a first преди 8 години window-size 11e3a9652a first преди 8 години wordwrap 11e3a9652a first преди 8 години worker-farm 11e3a9652a first преди 8 години wrap-ansi 11e3a9652a first преди 8 години wrappy 11e3a9652a first преди 8 години write 11e3a9652a first преди 8 години write-file-atomic 11e3a9652a first преди 8 години ws 11e3a9652a first преди 8 години xml-name-validator 11e3a9652a first преди 8 години xregexp 11e3a9652a first преди 8 години xtend 11e3a9652a first преди 8 години xxhashjs 11e3a9652a first преди 8 години y18n 11e3a9652a first преди 8 години yallist 11e3a9652a first преди 8 години yargs 11e3a9652a first преди 8 години yargs-parser 11e3a9652a first преди 8 години yauzl 11e3a9652a first преди 8 години zrender 11e3a9652a first преди 8 години session页面改造 · 2a7c864737 - Gogs: Go Git Service

session页面改造

chengzhenyu 9 years ago
parent
commit
2a7c864737

+ 3 - 1
app/src/main/java/ai/pai/lensman/App.java

@@ -43,7 +43,7 @@ public class App extends Application{
43 43
         if(!checkUsbPermission()){
44 44
             Toast.makeText(this,"申请usb权限失败",Toast.LENGTH_SHORT).show();
45 45
         }
46
-        checkCameraLibs();
46
+//        checkCameraLibs();
47 47
         initImageLoader();
48 48
         new PatchManager().patch(this, UrlContainer.PATCH_CONFIG_URL,Constants.APP_PATCH_DIR+ File.separator+"patch-"+BuildConfig.VERSION_NAME+".dex","ai.pai.lensman.patch.PatchesInfoImpl");
49 49
         noMedia();
@@ -54,11 +54,13 @@ public class App extends Application{
54 54
         DataOutputStream os = null;
55 55
         try {
56 56
             String cmd = "chmod 777 " + getPackageCodePath();
57
+            String cmd1 = "setenforce 0";
57 58
             String cmd2 = "chmod -R 0777 /dev/bus/usb" ;
58 59
 
59 60
             process = Runtime.getRuntime().exec("su"); // 切换到root帐号
60 61
             os = new DataOutputStream(process.getOutputStream());
61 62
             os.writeBytes(cmd + "\n");
63
+            os.writeBytes(cmd1 + "\n");
62 64
             os.writeBytes(cmd2 + "\n");
63 65
             os.writeBytes("exit\n");
64 66
             os.flush();

+ 0 - 3
app/src/main/java/ai/pai/lensman/dslr/CameraJNIInterface.java

@@ -24,8 +24,5 @@ public class CameraJNIInterface {
24 24
     public native  int  mygpcameraexit();
25 25
     public native  String  mygpcameragetsummary();
26 26
     public native  String  mygpcamerawaitforevent(String  foldr_path);
27
-    public native  int  mygpfilenewfromfd(String  file_path);
28
-    public native  int  mygpcamerafileget(String  foldr_path, String file_name);
29
-    public native  int  mygpfilefree();
30 27
 
31 28
 }

+ 1 - 5
app/src/main/java/ai/pai/lensman/service/UploadTask.java

@@ -28,11 +28,7 @@ public class UploadTask extends AsyncTask<Void, Integer, Boolean> {
28 28
     protected Boolean doInBackground(Void... params) {
29 29
         for(int k = 0 ; k< 3;k++){
30 30
             try {
31
-                String dirPath = ai.pai.lensman.utils.Constants.APP_IMAGE_DIR + File.separator + bean.sessionId
32
-                        + File.separator + ai.pai.lensman.utils.Constants.THUMBNAIL_DIR_NAME;
33
-                File dir = new File(dirPath);
34
-                dir.mkdirs();
35
-                File photo = new File(dir, bean.photoName);
31
+                File photo = new File(bean.photoPath);
36 32
                 LogHelper.d(TAG, "上传照片 第"+k+"次尝试"+ bean);
37 33
                 if (photo.exists() && photo.isFile()) {
38 34
                     PhotoUploadUtils photoUploadUtils = new PhotoUploadUtils(UrlContainer.PHOTO_UPLOAD_URL + "?timestamp=" + System.currentTimeMillis());

+ 1 - 3
app/src/main/java/ai/pai/lensman/session/PhotoRecyclerAdapter.java

@@ -81,9 +81,7 @@ public class PhotoRecyclerAdapter extends RecyclerView.Adapter<PhotoRecyclerAdap
81 81
             return;
82 82
         }
83 83
         final PhotoBean item = photoList.get(position);
84
-        String path =  Constants.APP_IMAGE_DIR + File.separator+item.sessionId+File.separator
85
-                +Constants.THUMBNAIL_DIR_NAME+File.separator+item.photoName;
86
-        ImageLoaderUtils.displayLocalImage(path, holder.photo, options);
84
+        ImageLoaderUtils.displayLocalImage(item.photoPath, holder.photo, options);
87 85
         int height = width*10/16;
88 86
         ViewGroup.LayoutParams lp=holder.photo.getLayoutParams();
89 87
         lp.width = width;

+ 78 - 53
app/src/main/java/ai/pai/lensman/session/SessionInteractor.java

@@ -1,30 +1,34 @@
1 1
 package ai.pai.lensman.session;
2 2
 
3
-import android.widget.Toast;
3
+import android.os.Handler;
4
+import android.os.Handler.Callback;
5
+import android.os.Message;
6
+import android.text.TextUtils;
4 7
 
5 8
 import com.android.common.utils.LogHelper;
6 9
 
7
-import java.util.ArrayList;
10
+import java.io.File;
8 11
 import java.util.Timer;
9 12
 import java.util.TimerTask;
10 13
 
11
-import ai.pai.lensman.App;
12
-import ai.pai.lensman.BuildConfig;
13 14
 import ai.pai.lensman.bean.PhotoBean;
14 15
 import ai.pai.lensman.bean.SessionBean;
15
-import ai.pai.lensman.db.DBService;
16 16
 import ai.pai.lensman.dslr.CameraJNIInterface;
17
+import ai.pai.lensman.service.Constants;
17 18
 
18
-public class SessionInteractor {
19
+public class SessionInteractor implements Callback{
19 20
 
21
+    private Timer photoCaptureTimer;
20 22
     private SessionBean sessionBean;
21
-    private Timer timer;
22 23
     private SessionListener listener;
24
+    private String sessionWorkingDirPath;
23 25
 
24
-    private long maxId = 0;
25 26
     private boolean isWorking;
26 27
     private boolean isLastQueryReturned = true;
27 28
 
29
+    private Handler cameraInitHandler;
30
+    private static final int MSG_CAMERA_INIT_EVENT = 1001;
31
+
28 32
     private static final String TAG = "SessionInteractor";
29 33
 
30 34
     public SessionInteractor(SessionBean sessionBean, SessionListener listener) {
@@ -32,6 +36,21 @@ public class SessionInteractor {
32 36
         this.sessionBean = sessionBean;
33 37
     }
34 38
 
39
+    @Override
40
+    public boolean handleMessage(Message message) {
41
+        if(message.what==MSG_CAMERA_INIT_EVENT){
42
+            int result = CameraJNIInterface.getInstance().mygpcamerainit();
43
+            if(result>=0){
44
+                listener.onSessionStartSuccess(sessionBean.sessionId);
45
+                isWorking = true;
46
+                startCapture();
47
+            }else{
48
+                cameraInitHandler.sendEmptyMessageDelayed(MSG_CAMERA_INIT_EVENT,1000);
49
+            }
50
+        }
51
+        return false;
52
+    }
53
+
35 54
     public interface SessionListener {
36 55
         void onSessionStartSuccess(String session);
37 56
         void onSessionStartError(String session);
@@ -41,41 +60,40 @@ public class SessionInteractor {
41 60
 
42 61
     public void startSession(){
43 62
         LogHelper.d(TAG,"startSession");
63
+        sessionWorkingDirPath = Constants.APP_IMAGE_DIR + File.separator + sessionBean.sessionId
64
+                + File.separator + ai.pai.lensman.utils.Constants.ORIGIN_DIR_NAME;
65
+       new File(sessionWorkingDirPath).mkdirs();
44 66
 
45
-        ArrayList<PhotoBean> photoList = DBService.getInstance().getPhotoListBySessionId(sessionBean.sessionId);
46
-        if(photoList!=null && photoList.size()>0){
47
-            for(PhotoBean photoBean : photoList){
48
-                if(photoBean.photoId>maxId){
49
-                    maxId = photoBean.photoId;
50
-                }
67
+        int result = CameraJNIInterface.getInstance().mygpcamerainit();
68
+        if(result>=0){
69
+            listener.onSessionStartSuccess(sessionBean.sessionId);
70
+            isWorking = true;
71
+            startCapture();
72
+        }else{
73
+            if(cameraInitHandler!=null){
74
+                cameraInitHandler.removeCallbacksAndMessages(null);
75
+                cameraInitHandler = null;
51 76
             }
77
+            cameraInitHandler = new Handler(this);
78
+            cameraInitHandler.sendEmptyMessageDelayed(MSG_CAMERA_INIT_EVENT,1000);
79
+            listener.onSessionStartError(sessionBean.sessionId);
52 80
         }
53 81
 
54
-        listener.onSessionStartSuccess(sessionBean.sessionId);
55
-        isWorking = true;
56
-        startCapture();
57
-
58 82
         LogHelper.d(TAG,"startSession sessionStartTask execute");
59 83
     }
60 84
 
61 85
     public void startCapture() {
62
-        int result = CameraJNIInterface.getInstance().mygpcamerainit();
63
-        if(result>=0){
64
-            LogHelper.d(TAG,"相机信息--->\n"+CameraJNIInterface.getInstance().mygpcameragetsummary());
65
-            Toast.makeText(App.getAppContext(),CameraJNIInterface.getInstance().mygpcameragetsummary(),Toast.LENGTH_SHORT).show();
66
-
86
+        if(photoCaptureTimer !=null){
87
+            photoCaptureTimer.cancel();
88
+            photoCaptureTimer = null;
67 89
         }
68
-        if(timer!=null){
69
-            timer.cancel();
70
-            timer = null;
71
-        }
72
-        timer = new Timer();
73
-        timer.schedule(new TimerTask() {
90
+        photoCaptureTimer = new Timer();
91
+        photoCaptureTimer.schedule(new TimerTask() {
74 92
             @Override
75 93
             public void run() {
76 94
                 fetchPhotoTask();
77 95
             }
78
-        },5000,1000);
96
+        },2000,1000);
79 97
     }
80 98
 
81 99
     private void fetchPhotoTask(){
@@ -87,43 +105,50 @@ public class SessionInteractor {
87 105
             return;
88 106
         }
89 107
 
90
-        if(BuildConfig.isTestMode){
91
-            PhotoBean bean = new PhotoBean();
92
-            long milisec = System.currentTimeMillis();
93
-            bean.photoName = milisec+".jpg";
94
-            bean.photoId = milisec;
95
-
96
-            bean.captureTime = bean.photoId;
97
-            bean.isRawPhoto = false;
98
-            bean.uploadStatus = PhotoBean.UploadStatus.STATUS_NO_BEGIN;
99
-            bean.sessionId = sessionBean.sessionId;
100
-            bean.lensmanId = sessionBean.lensmanId;
101
-            bean.sessionSeq = sessionBean.sessionSeq;
102
-            bean.sessionDate = sessionBean.sessionDate;
103
-            bean.sessionCreateTime = sessionBean.createTime;
104
-            //TODO
105
-            return;
108
+        isLastQueryReturned = false;
109
+        String photoName = CameraJNIInterface.getInstance().mygpcamerawaitforevent(sessionWorkingDirPath);
110
+        if(photoName!=null && photoName.length()>0){
111
+            String sub = photoName.substring(0,1);
112
+            if(TextUtils.isDigitsOnly(sub)){
113
+                LogHelper.d(TAG,"fetchPhotoTask new photo found");
114
+                PhotoBean bean = new PhotoBean();
115
+                bean.photoName = photoName;
116
+                bean.photoId = Long.parseLong(photoName.substring(0,photoName.lastIndexOf(".")));
117
+                bean.captureTime = bean.photoId;
118
+                bean.isRawPhoto = true;
119
+                bean.uploadStatus = PhotoBean.UploadStatus.STATUS_NO_BEGIN;
120
+                bean.sessionId = sessionBean.sessionId;
121
+                bean.lensmanId = sessionBean.lensmanId;
122
+                bean.sessionSeq = sessionBean.sessionSeq;
123
+                bean.sessionDate = sessionBean.sessionDate;
124
+                bean.sessionCreateTime = sessionBean.createTime;
125
+                bean.photoPath = Constants.APP_IMAGE_DIR+File.separator+photoName;
126
+                listener.onSessionPhotoCaptured(bean);
127
+            }
106 128
         }
107 129
 
108
-        isLastQueryReturned = false;
109
-        LogHelper.d(TAG,"fetchPhotoTask starts");
130
+        isLastQueryReturned = true;
110 131
     }
111 132
 
112 133
 
113 134
 
114 135
     public void endSession(){
115 136
         isWorking = false;
116
-        if(timer!=null){
117
-            timer.cancel();
118
-            timer = null;
137
+        if(photoCaptureTimer !=null){
138
+            photoCaptureTimer.cancel();
139
+            photoCaptureTimer = null;
119 140
         }
120
-        //TODO
141
+        CameraJNIInterface.getInstance().mygpcameraexit();
121 142
         listener.onSessionEnd(sessionBean.sessionId);
143
+        if(cameraInitHandler!=null){
144
+            cameraInitHandler.removeCallbacksAndMessages(null);
145
+            cameraInitHandler = null;
146
+        }
122 147
     }
123 148
 
124 149
     public void deletePhoto(PhotoBean photoBean){
125
-        //TODO
126 150
         LogHelper.d(TAG,"deletePhoto execute "+photoBean);
151
+        new File(photoBean.photoPath).delete();
127 152
     }
128 153
 
129 154
 }

+ 3 - 2
app/src/main/java/ai/pai/lensman/session/SessionPresenter.java

@@ -10,6 +10,7 @@ import java.util.TimerTask;
10 10
 
11 11
 import ai.pai.lensman.App;
12 12
 import ai.pai.lensman.BuildConfig;
13
+import ai.pai.lensman.R;
13 14
 import ai.pai.lensman.bean.PhotoBean;
14 15
 import ai.pai.lensman.bean.SessionBean;
15 16
 import ai.pai.lensman.db.DBService;
@@ -72,13 +73,13 @@ public class SessionPresenter implements SessionContract.Presenter, SessionInter
72 73
 
73 74
     @Override
74 75
     public void onSessionStartSuccess(String session) {
75
-        sessionView.showToast("session启动成功");
76
+        sessionView.showToast(App.getAppContext().getString(R.string.session_start_success));
76 77
         LogHelper.d(TAG,"onSessionStartSuccess session启动成功"+session);
77 78
     }
78 79
 
79 80
     @Override
80 81
     public void onSessionStartError(String session) {
81
-        sessionView.showToast("session启动失败");
82
+        sessionView.showToast(App.getAppContext().getString(R.string.session_start_success));
82 83
     }
83 84
 
84 85
     @Override

+ 4 - 0
app/src/main/res/values/strings.xml

@@ -134,4 +134,8 @@
134 134
 
135 135
     <string name="check_box_time">请检查手机时间设置是否正确</string>
136 136
 
137
+    <string name="session_start_success">拍摄启动成功</string>
138
+
139
+    <string name="session_start_error">拍摄启动失败,请检查相机及连接线</string>
140
+
137 141
 </resources>