Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(device): support pixelRatio #67

Merged
merged 2 commits into from
Apr 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 0 additions & 13 deletions packages/device/.gitignore

This file was deleted.

13 changes: 8 additions & 5 deletions packages/device/README-zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,20 @@ import { platform, appName, screenWidth, screenHeight, appVersion } from 'univer

## APIS

### `appName: String`
### `appName: string`
app 名称或浏览器名称。

### `appVersion: String`
### `appVersion: string`
app 版本号或浏览器版本信息。

### `platform: String`
### `platform: string`
平台: 'Android'、'iOS'、'MacIntel' 等。

### `screenWidth: Number`
### `screenWidth: number`
屏幕宽度,单位为px。

### `screenHeight: Number`
### `screenHeight: number`
屏幕高度,单位为px。

### `devicePixelRatio: number`
当前显示设备的物理像素分辨率与CSS像素分辨率的比值。
13 changes: 8 additions & 5 deletions packages/device/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,20 @@ import { platform, appName, screenWidth, screenHeight, appVersion } from 'univer

## APIS

### `appName: String`
### `appName: string`
app name or browser name

### `appVersion: String`
### `appVersion: string`
app version or browser version info

### `platform: String`
### `platform: string`
platform: 'Android'、'iOS'、'MacIntel', etc.

### `screenWidth: Number`
### `screenWidth: number`
Screen width in px

### `screenHeight: Number`
### `screenHeight: number`
Screen height in px

### `devicePixelRatio: number`
The ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display device.
11 changes: 11 additions & 0 deletions packages/device/build.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"plugins": [
[
"build-plugin-rax-component",
{
"type": "rax",
"targets": ["web"]
}
]
]
}
19 changes: 19 additions & 0 deletions packages/device/demo/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// @ts-ignore
import { createElement, render } from 'rax';
import DriverUniversal from 'driver-universal';
import View from 'rax-view';
import Text from 'rax-text';
import { platform, appName, screenWidth, screenHeight } from '../src';

const App = () => {
return (
<View>
<Text>{platform}</Text>
<Text>{appName}</Text>
<Text>{screenWidth}</Text>
<Text>{screenHeight}</Text>
</View>
);
};

render(<App />, document.body, { driver: DriverUniversal });
23 changes: 0 additions & 23 deletions packages/device/demo/index.tsx

This file was deleted.

13 changes: 8 additions & 5 deletions packages/device/docs-template/README-zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,20 @@ import { platform, appName, screenWidth, screenHeight, appVersion } from 'univer

## APIS

### `appName: String`
### `appName: string`
app 名称或浏览器名称。

### `appVersion: String`
### `appVersion: string`
app 版本号或浏览器版本信息。

### `platform: String`
### `platform: string`
平台: 'Android'、'iOS'、'MacIntel' 等。

### `screenWidth: Number`
### `screenWidth: number`
屏幕宽度,单位为px。

### `screenHeight: Number`
### `screenHeight: number`
屏幕高度,单位为px。

### `devicePixelRatio: number`
当前显示设备的物理像素分辨率与CSS像素分辨率的比值。
13 changes: 8 additions & 5 deletions packages/device/docs-template/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,20 @@ import { platform, appName, screenWidth, screenHeight, appVersion } from 'univer

## APIS

### `appName: String`
### `appName: string`
app name or browser name

### `appVersion: String`
### `appVersion: string`
app version or browser version info

### `platform: String`
### `platform: string`
platform: 'Android'、'iOS'、'MacIntel', etc.

### `screenWidth: Number`
### `screenWidth: number`
Screen width in px

### `screenHeight: Number`
### `screenHeight: number`
Screen height in px

### `devicePixelRatio: number`
The ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display device.
54 changes: 17 additions & 37 deletions packages/device/package.json
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
{
"name": "universal-device",
"author": "rax",
"version": "2.0.0",
"version": "2.1.0",
"license": "BSD-3-Clause",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"files": [
"src",
"lib",
"dist"
],
"scripts": {
"start": "rax-scripts start --type 'component' -p 8000",
"start:miniapp": "rax-scripts start --type 'component-miniapp'",
"build": "rax-scripts build --type 'component'",
"test": "rax-scripts test",
"lint": "eslint --ext .js --ext .jsx --ext .ts --ext .tsx ./src",
"prebuild": "npm run lint && npm run test",
"prepublish": "npm run build"
"start": "build-scripts start",
"build": "build-scripts build"
},
"pre-commit": ["lint"],
"keywords": [
"Rax"
],
Expand All @@ -24,32 +24,12 @@
"universal-env": "^3.0.0"
},
"devDependencies": {
"@types/jest": "^24.0.12",
"@typescript-eslint/eslint-plugin": "^1.7.0",
"@typescript-eslint/parser": "^1.7.0",
"babel-eslint": "^10.0.1",
"driver-dom": "^1.0.0",
"driver-weex": "^1.0.0",
"eslint": "^5.15.1",
"eslint-config-rax": "^0.0.0",
"eslint-plugin-import": "^2.17.2",
"eslint-plugin-react": "^7.12.4",
"rax": "^1.0.4",
"rax-scripts": "1.2.1-beta.2",
"rax-text": "^1.0.0",
"rax-view": "^1.0.0",
"typescript": "^3.4.5"
},
"repository": {
"type": "git",
"url": "https://github.com/raxjs/universal-api.git"
},
"bugs": {
"url": "https://github.com/raxjs/universal-api/issues"
},
"homepage": "https://github.com/raxjs/universal-api#readme",
"pre-commit": [
"lint",
"test"
]
"typescript": "^3.7.5",
"driver-universal": "^3.0.0",
"rax": "^1.1.0",
"rax-text": "^1.0.1",
"rax-view": "^1.0.2",
"build-plugin-rax-component": "^0.2.0",
"@alib/build-scripts": "^0.1.0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ const module = {};
}, {
key: 'appVersion',
getFn: () => getSystemInfo().version
}, {
key: 'devicePixelRatio',
getFn: () => getSystemInfo().pixelRatio
}].forEach(({key, getFn}) => {
Object.defineProperty(module, key, {
get: getFn
Expand Down
6 changes: 4 additions & 2 deletions packages/device/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { isWeb, isWeex, isMiniApp, isWeChatMiniProgram } from 'universal-env';
import webModule from './web';
import weexModule from './weex';
import miniappModule from './miniapp/ali';
import wechatModule from './miniapp/wechat';
import miniappModule from './ali-miniapp';
import wechatModule from './wechat-miniprogram';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

miniapp/miniprogram,我们内部能不能统一下?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

昨天和逆葵一起聊了一下,miniapp 代表总称,ali-miniapp 代表阿里小程序,wechat-miniprogram 代表微信小程序。后面慢慢迁移到这个标准。


function dutyChain(...fns) {
for (let i = 0; i < fns.length; i++) {
Expand Down Expand Up @@ -53,11 +53,13 @@ const appVersion = deviceInfo.appVersion;
const platform = deviceInfo.platform;
const screenWidth = deviceInfo.screenWidth;
const screenHeight = deviceInfo.screenHeight;
const devicePixelRatio = deviceInfo.devicePixelRatio;

export {
appName,
appVersion,
platform,
screenWidth,
screenHeight,
devicePixelRatio
};
14 changes: 0 additions & 14 deletions packages/device/src/types.ts

This file was deleted.

3 changes: 3 additions & 0 deletions packages/device/src/web/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ let platform;
}, {
key: 'appVersion',
getFn: () => navigator.appVersion
}, {
key: 'devicePixelRatio',
getFn: () => window.devicePixelRatio
}].forEach(({key, getFn}) => {
Object.defineProperty(module, key, {
get: getFn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const module = {};

[{
key: 'appName',
getFn: () => getSystemInfo().app
getFn: () => 'wechat'
}, {
key: 'platform',
getFn: () => getSystemInfo().platform
Expand All @@ -22,6 +22,9 @@ const module = {};
}, {
key: 'appVersion',
getFn: () => getSystemInfo().version
}, {
key: 'devicePixelRatio',
getFn: () => getSystemInfo().pixelRatio
}].forEach(({key, getFn}) => {
Object.defineProperty(module, key, {
get: getFn
Expand Down
3 changes: 3 additions & 0 deletions packages/device/src/weex/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ const module = {};
}, {
key: 'appVersion',
getFn: () => navigator.appVersion
}, {
key: 'devicePixelRatio',
getFn: () => window.devicePixelRatio
}].forEach(({key, getFn}) => {
Object.defineProperty(module, key, {
get: getFn
Expand Down
27 changes: 10 additions & 17 deletions packages/device/tsconfig.json
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,17 @@
"compilerOptions": {
"module": "esNext",
"target": "es2015",
"jsx": "preserve",
"jsxFactory": "createElement",

"outDir": "build",
"moduleResolution": "node",
"baseUrl": ".",

"rootDir": "src",
"downlevelIteration": true,
"sourceMap": true,
"alwaysStrict": true,
"outDir": "lib",
"strict": true,
"preserveConstEnums": true,
"experimentalDecorators": true,
"noImplicitReturns": true,
"noUnusedLocals": true,
"noImplicitAny": false,
"noImplicitThis": false
"baseUrl": "."
},
"include": ["src/**/*"],
"exclude": ["**/__tests__"]
"include": [
"./src/**/*"
],
"exclude": [
"demo",
"**/__tests__"
]
}