first commit

This commit is contained in:
编码猿
2024-09-27 01:32:49 +08:00
commit 28ebe05a64
7399 changed files with 1174529 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
[android]
target = Google Inc.:Google APIs:23
[maven_repositories]
central = https://repo1.maven.org/maven2

View File

@@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: '@react-native-community',
};

View File

@@ -0,0 +1,74 @@
[ignore]
; We fork some components by platform
.*/*[.]android.js
; Ignore "BUCK" generated dirs
<PROJECT_ROOT>/\.buckd/
; Ignore polyfills
node_modules/react-native/Libraries/polyfills/.*
; These should not be required directly
; require from fbjs/lib instead: require('fbjs/lib/warning')
node_modules/warning/.*
; Flow doesn't support platforms
.*/Libraries/Utilities/LoadingView.js
[untyped]
.*/node_modules/@react-native-community/cli/.*/.*
[include]
[libs]
node_modules/react-native/interface.js
node_modules/react-native/flow/
[options]
emoji=true
esproposal.optional_chaining=enable
esproposal.nullish_coalescing=enable
module.file_ext=.js
module.file_ext=.json
module.file_ext=.ios.js
munge_underscores=true
module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1'
module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'
suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FlowFixMeProps
suppress_type=$FlowFixMeState
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
[lints]
sketchy-null-number=warn
sketchy-null-mixed=warn
sketchy-number=warn
untyped-type-import=warn
nonstrict-import=warn
deprecated-type=warn
unsafe-getters-setters=warn
inexact-spread=warn
unnecessary-invariant=warn
signature-verification-failure=warn
deprecated-utility=error
[strict]
deprecated-type
nonstrict-import
sketchy-null
unclear-type
unsafe-getters-setters
untyped-import
untyped-type-import
[version]
^0.113.0

1
滴滴淘/ddt_m/.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.pbxproj -text

59
滴滴淘/ddt_m/.gitignore vendored Normal file
View File

@@ -0,0 +1,59 @@
# OSX
#
.DS_Store
# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml
# node.js
#
node_modules/
npm-debug.log
yarn-error.log
# BUCK
buck-out/
\.buckd/
*.keystore
!debug.keystore
# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/
*/fastlane/report.xml
*/fastlane/Preview.html
*/fastlane/screenshots
# Bundle artifact
*.jsbundle
# CocoaPods
/ios/Pods/

View File

@@ -0,0 +1,6 @@
module.exports = {
bracketSpacing: false,
jsxBracketSameLine: true,
singleQuote: true,
trailingComma: 'all',
};

1
滴滴淘/ddt_m/.pydio Normal file
View File

@@ -0,0 +1 @@
f43aa0b6-1edb-475e-9fe4-bd4b4437e4b9

View File

@@ -0,0 +1 @@
{}

11
滴滴淘/ddt_m/README.md Normal file
View File

@@ -0,0 +1,11 @@
#ddt_m
window.ReactNativeWebView.postMessage("hidden/true");
if (window.location.href.indexOf("https://rate.taobao.com/myRate.htm") === 0
&& document.querySelector(".tips") == null) {
alert("请滑动验证!")
window.ReactNativeWebView.postMessage("hidden/false");
} else {
}

4
滴滴淘/ddt_m/app.json Normal file
View File

@@ -0,0 +1,4 @@
{
"name": "ddt_m",
"displayName": "ddt_m"
}

View File

@@ -0,0 +1,4 @@
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [["@babel/plugin-proposal-decorators", { "legacy": true }]]
};

8
滴滴淘/ddt_m/index.js Normal file
View File

@@ -0,0 +1,8 @@
/**
* @format
*/
import { AppRegistry, Platform } from 'react-native';
import App from './src/App';
import { name as appName } from './app.json';
AppRegistry.registerComponent(appName, () => App);

View File

@@ -0,0 +1 @@
293acac4-ffe1-418b-bfa4-68f9f66f284e

View File

@@ -0,0 +1,21 @@
const fs = require("fs");
const zlib = require('zlib');
const json = require("./font/iconfont.json")
let obj = {}
json.glyphs.forEach((v, i) => {
obj[`${json.css_prefix_text}${v.font_class}`] = v.unicode_decimal
})
fs.writeFile('../src/assets/fonts/font.json', JSON.stringify(obj), function (err) {
console.log(err);
})
const r = fs.createReadStream('./font/iconfont.ttf');
const w = fs.createWriteStream('../android/app/src/main/assets/fonts/iconfont.ttf');
r.pipe(w);

View File

@@ -0,0 +1 @@
9d98ae4e-8b9b-4430-9a30-1d6b6beecf1f

View File

@@ -0,0 +1,457 @@
{
"id": "1813414",
"name": "ddt",
"font_family": "ddt",
"css_prefix_text": "ddt-icon",
"description": "",
"glyphs": [
{
"icon_id": "1232634",
"name": "qq",
"font_class": "qq2",
"unicode": "e60a",
"unicode_decimal": 58890
},
{
"icon_id": "1244196",
"name": "支付宝",
"font_class": "zhifubao2",
"unicode": "e694",
"unicode_decimal": 59028
},
{
"icon_id": "6366912",
"name": "微信",
"font_class": "weixin2",
"unicode": "e627",
"unicode_decimal": 58919
},
{
"icon_id": "10232765",
"name": "手机号",
"font_class": "shoujihao",
"unicode": "e78d",
"unicode_decimal": 59277
},
{
"icon_id": "12703571",
"name": "qq",
"font_class": "qq1",
"unicode": "e601",
"unicode_decimal": 58881
},
{
"icon_id": "478762",
"name": "电话",
"font_class": "dianhua",
"unicode": "e609",
"unicode_decimal": 58889
},
{
"icon_id": "4757604",
"name": "验证码",
"font_class": "yanzhengma1",
"unicode": "e648",
"unicode_decimal": 58952
},
{
"icon_id": "11953213",
"name": "邀请码",
"font_class": "yaoqingma1",
"unicode": "e6eb",
"unicode_decimal": 59115
},
{
"icon_id": "16009182",
"name": "密 码",
"font_class": "mima1",
"unicode": "e61d",
"unicode_decimal": 58909
},
{
"icon_id": "16575106",
"name": "待返款",
"font_class": "daifankuan",
"unicode": "e61e",
"unicode_decimal": 58910
},
{
"icon_id": "16575107",
"name": "操作中",
"font_class": "caozuozhong",
"unicode": "e620",
"unicode_decimal": 58912
},
{
"icon_id": "16575131",
"name": "已返款",
"font_class": "yifankuan",
"unicode": "e621",
"unicode_decimal": 58913
},
{
"icon_id": "16579329",
"name": "已收货",
"font_class": "yishouhuo",
"unicode": "e623",
"unicode_decimal": 58915
},
{
"icon_id": "16579346",
"name": "投诉中",
"font_class": "tousuzhong",
"unicode": "e624",
"unicode_decimal": 58916
},
{
"icon_id": "16579369",
"name": "已回收",
"font_class": "yihuishou",
"unicode": "e625",
"unicode_decimal": 58917
},
{
"icon_id": "16594742",
"name": "待操作",
"font_class": "daicaozuo",
"unicode": "e62d",
"unicode_decimal": 58925
},
{
"icon_id": "16594743",
"name": "待审核",
"font_class": "daishenhe1",
"unicode": "e62f",
"unicode_decimal": 58927
},
{
"icon_id": "991355",
"name": "认证",
"font_class": "renzheng",
"unicode": "e610",
"unicode_decimal": 58896
},
{
"icon_id": "16372290",
"name": "认证",
"font_class": "renzheng1",
"unicode": "e657",
"unicode_decimal": 58967
},
{
"icon_id": "3464609",
"name": "提示",
"font_class": "tishi",
"unicode": "e78a",
"unicode_decimal": 59274
},
{
"icon_id": "15848105",
"name": "详情",
"font_class": "xiangqing",
"unicode": "e622",
"unicode_decimal": 58914
},
{
"icon_id": "10487479",
"name": "消息",
"font_class": "xiaoxi",
"unicode": "e691",
"unicode_decimal": 59025
},
{
"icon_id": "14055572",
"name": "头像",
"font_class": "touxiang",
"unicode": "e61c",
"unicode_decimal": 58908
},
{
"icon_id": "16416227",
"name": "qq",
"font_class": "qq",
"unicode": "e61b",
"unicode_decimal": 58907
},
{
"icon_id": "16416225",
"name": "微信",
"font_class": "weixin1",
"unicode": "e61a",
"unicode_decimal": 58906
},
{
"icon_id": "16416223",
"name": "支付宝",
"font_class": "zhifubao1",
"unicode": "e619",
"unicode_decimal": 58905
},
{
"icon_id": "16416207",
"name": "手机",
"font_class": "shouji",
"unicode": "e618",
"unicode_decimal": 58904
},
{
"icon_id": "16405062",
"name": "实名认证",
"font_class": "shimingrenzheng1",
"unicode": "e616",
"unicode_decimal": 58902
},
{
"icon_id": "16404891",
"name": "我的",
"font_class": "wode",
"unicode": "e617",
"unicode_decimal": 58903
},
{
"icon_id": "16404760",
"name": "任务-审核中",
"font_class": "shenhezhong",
"unicode": "e614",
"unicode_decimal": 58900
},
{
"icon_id": "16404551",
"name": "验证",
"font_class": "yanzheng1",
"unicode": "e612",
"unicode_decimal": 58898
},
{
"icon_id": "16404525",
"name": "任务",
"font_class": "renwu2",
"unicode": "e60f",
"unicode_decimal": 58895
},
{
"icon_id": "16404476",
"name": "邀请",
"font_class": "yaoqing",
"unicode": "e608",
"unicode_decimal": 58888
},
{
"icon_id": "16404266",
"name": "异常",
"font_class": "yichang",
"unicode": "e607",
"unicode_decimal": 58887
},
{
"icon_id": "16404256",
"name": "设置",
"font_class": "setting",
"unicode": "e606",
"unicode_decimal": 58886
},
{
"icon_id": "16404220",
"name": "客服",
"font_class": "kefu",
"unicode": "e605",
"unicode_decimal": 58885
},
{
"icon_id": "16404190",
"name": "帮助",
"font_class": "help",
"unicode": "e604",
"unicode_decimal": 58884
},
{
"icon_id": "16404142",
"name": "买号",
"font_class": "mai",
"unicode": "e603",
"unicode_decimal": 58883
},
{
"icon_id": "12706019",
"name": "暂无消息",
"font_class": "zanwuxiaoxi",
"unicode": "e615",
"unicode_decimal": 58901
},
{
"icon_id": "936705",
"name": "感叹号",
"font_class": "gantanhao",
"unicode": "e60e",
"unicode_decimal": 58894
},
{
"icon_id": "1264836",
"name": "邀请码",
"font_class": "yaoqingma",
"unicode": "e66e",
"unicode_decimal": 58990
},
{
"icon_id": "8679359",
"name": "粉丝",
"font_class": "fensi",
"unicode": "e689",
"unicode_decimal": 59017
},
{
"icon_id": "8949032",
"name": "显示",
"font_class": "xianshi",
"unicode": "e65e",
"unicode_decimal": 58974
},
{
"icon_id": "10995776",
"name": "验证码",
"font_class": "yanzhengma",
"unicode": "e60d",
"unicode_decimal": 58893
},
{
"icon_id": "14145113",
"name": "隐藏",
"font_class": "yincang",
"unicode": "e73e",
"unicode_decimal": 59198
},
{
"icon_id": "14445542",
"name": "密码",
"font_class": "mima",
"unicode": "e755",
"unicode_decimal": 59221
},
{
"icon_id": "5206117",
"name": "订单",
"font_class": "icon",
"unicode": "e611",
"unicode_decimal": 58897
},
{
"icon_id": "1242163",
"name": "图片上传",
"font_class": "tupianshangchuan",
"unicode": "e658",
"unicode_decimal": 58968
},
{
"icon_id": "5809099",
"name": "关闭",
"font_class": "guanbi",
"unicode": "e662",
"unicode_decimal": 58978
},
{
"icon_id": "17010353",
"name": "复选框_选中3",
"font_class": "fuxuankuang_xuanzhong-copy",
"unicode": "e78b",
"unicode_decimal": 59275
},
{
"icon_id": "5833672",
"name": "复选框_选中3",
"font_class": "fuxuankuang_xuanzhong",
"unicode": "e6c9",
"unicode_decimal": 59081
},
{
"icon_id": "11124956",
"name": "首页",
"font_class": "1",
"unicode": "e613",
"unicode_decimal": 58899
},
{
"icon_id": "767493",
"name": "银行卡",
"font_class": "yinxingqia",
"unicode": "e66a",
"unicode_decimal": 58986
},
{
"icon_id": "3092120",
"name": "实名认证",
"font_class": "shimingrenzheng",
"unicode": "e784",
"unicode_decimal": 59268
},
{
"icon_id": "356490",
"name": "支付宝",
"font_class": "zhifubao",
"unicode": "e63b",
"unicode_decimal": 58939
},
{
"icon_id": "970752",
"name": "微信",
"font_class": "weixin",
"unicode": "e62e",
"unicode_decimal": 58926
},
{
"icon_id": "1234246",
"name": "验证",
"font_class": "yanzheng",
"unicode": "e63d",
"unicode_decimal": 58941
},
{
"icon_id": "2859359",
"name": "任务",
"font_class": "renwu",
"unicode": "e65c",
"unicode_decimal": 58972
},
{
"icon_id": "566774",
"name": "左箭头",
"font_class": "zuojiantou",
"unicode": "e64e",
"unicode_decimal": 58958
},
{
"icon_id": "1172649",
"name": "箭头",
"font_class": "jiantou",
"unicode": "e61f",
"unicode_decimal": 58911
},
{
"icon_id": "5766799",
"name": "箭头-上-粗线条",
"font_class": "jiantou-shang-cuxiantiao",
"unicode": "e6a7",
"unicode_decimal": 59047
},
{
"icon_id": "5766803",
"name": "箭头-下-粗线条",
"font_class": "jiantou-xia-cuxiantiao",
"unicode": "e6a9",
"unicode_decimal": 59049
},
{
"icon_id": "8371515",
"name": "复制 (1)",
"font_class": "fuzhi",
"unicode": "e626",
"unicode_decimal": 58918
},
{
"icon_id": "1766313",
"name": "人物-人",
"font_class": "ren",
"unicode": "e686",
"unicode_decimal": 59014
}
]
}

Binary file not shown.

View File

@@ -0,0 +1,17 @@
/**
* Metro configuration for React Native
* https://github.com/facebook/react-native
*
* @format
*/
module.exports = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
};

18080
滴滴淘/ddt_m/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,68 @@
{
"name": "ddt_m",
"version": "0.0.1",
"private": true,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"start": "react-native start",
"test": "jest",
"lint": "eslint ."
},
"dependencies": {
"@babel/plugin-proposal-decorators": "^7.8.3",
"@eva-design/eva": "^1.4.0",
"@react-native-community/async-storage": "^1.12.0",
"@react-native-community/cameraroll": "^1.6.1",
"@react-native-community/geolocation": "^2.0.2",
"@react-native-community/masked-view": "^0.1.10",
"@react-native-community/picker": "^1.4.0",
"@react-native-community/segmented-control": "^1.6.1",
"@react-native-community/slider": "^2.0.9",
"@react-native-community/viewpager": "^4.0.0",
"@react-navigation/native": "^5.2.6",
"@types/react-native": "^0.62.12",
"axios": "^0.19.2",
"ddt-react-native": "^3.3.1",
"prop-types": "^15.7.2",
"react": "16.11.0",
"react-dom": "^16.13.1",
"react-native": "^0.62.2",
"react-native-check-box": "^2.1.7",
"react-native-contacts": "^5.2.5",
"react-native-device-info": "^5.6.3",
"react-native-fs": "^2.16.6",
"react-native-gesture-handler": "^1.6.1",
"react-native-image-picker": "^2.3.1",
"react-native-image-zoom-viewer": "^3.0.1",
"react-native-push-notification": "^4.0.0",
"react-native-render-html": "^4.2.3",
"react-native-safe-area-context": "^0.7.3",
"react-native-screens": "^2.7.0",
"react-native-splash-screen": "^3.2.0",
"react-native-storage": "^1.0.1",
"react-native-svg": "^12.1.0",
"react-native-ui-kitten": "^4.4.1",
"react-native-vector-icons": "^6.6.0",
"react-native-version-number": "^0.3.6",
"react-native-webview": "^10.9.0",
"react-navigation": "^4.3.9",
"react-navigation-stack": "^2.4.0",
"timeago.js": "^4.0.2"
},
"devDependencies": {
"@babel/core": "^7.11.6",
"@babel/runtime": "^7.11.2",
"@react-native-community/eslint-config": "^1.1.0",
"babel-jest": "^26.0.1",
"eslint": "^7.0.0",
"gulp": "3.9.1",
"jest": "^26.0.1",
"metro-react-native-babel-preset": "^0.59.0",
"react-test-renderer": "16.11.0",
"rn-less": "^2.0.14"
},
"jest": {
"preset": "react-native"
}
}

View File

@@ -0,0 +1 @@
fd2bb06f-4e04-4dbb-994e-6658991e93ab

View File

@@ -0,0 +1,15 @@
import React, { Component } from 'react'
import AppRouter from './core/router/index'
import { mapping, light as lightTheme } from '@eva-design/eva';
import { ApplicationProvider } from 'react-native-ui-kitten';
export default class App extends Component {
render() {
return (
<ApplicationProvider mapping={mapping} theme={lightTheme}>
<AppRouter />
</ApplicationProvider>
)
}
}

View File

@@ -0,0 +1 @@
bdb53a4c-f00e-4ee6-bb8b-0d39d5c730ea

View File

@@ -0,0 +1 @@
f4a86d00-5b9b-4114-b189-bc37633bc99f

View File

@@ -0,0 +1,5 @@
import pubilcCss from './public/index';
export {
pubilcCss
}

View File

@@ -0,0 +1 @@
d57f7adb-26db-4bdf-8fc7-3b4fd0a52635

View File

@@ -0,0 +1,8 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
});
export default style

View File

@@ -0,0 +1,19 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
title: {
fontSize: 20,
color: '#333333',
marginBottom: 10
},
subTitle: {
fontSize: color.fontSize10,
color: color.fontColor3
},
content: {
}
});
export default style

View File

@@ -0,0 +1,75 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
import pubilcCss from '../public/index';
const style = StyleSheet.create({
tabsFather: {
},
ListTitle: {
display: 'flex',
justifyContent: 'space-between',
flexDirection: 'row',
borderStyle: 'solid',
borderBottomColor: '#f1efef',
borderBottomWidth: 1,
paddingBottom: 10
},
TabsItem: {
display: 'flex',
justifyContent: 'space-between',
flexDirection: 'row',
borderStyle: 'solid',
borderBottomColor: '#f1efef',
borderBottomWidth: 1,
alignItems: 'center',
paddingTop: 10,
paddingBottom: 10
},
phone: {
fontSize: 17,
},
money: {
color: color.c5
},
buttons: {
backgroundColor: color.emb2,
width: '90%',
marginTop: 20,
borderRadius: 20,
height: 35
},
InvitationCode: {
margin: 4,
padding: 10,
borderStyle: 'solid',
borderColor: '#f1efef',
borderWidth: 1,
},
InvitationCode_title: {
display: 'flex',
justifyContent: 'space-between',
flexDirection: 'row',
marginBottom: 10
},
title_left: {
fontSize: 17,
fontWeight: "600"
},
title_right: {
fontSize: 14,
color: color.fontColor2
},
InvitationCode_input: {
display: 'flex',
justifyContent: 'space-between',
flexDirection: 'row',
marginBottom: 10
},
tipstext: {
color: '#999',
marginBottom: 5
}
});
export default style

View File

@@ -0,0 +1,39 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
news_item: {
paddingLeft: 15,
paddingRight: 15,
marginBottom: 20
},
item_title: {
height: 45,
display: 'flex',
alignItems: 'center',
justifyContent: 'space-between',
flexDirection: 'row',
borderBottomWidth: 1,
borderBottomColor: '#e5e5e5',
},
item_content: {
display: 'flex',
justifyContent: 'space-between',
flexDirection: 'row',
alignItems: 'center',
marginTop: 10
},
content_right: {
paddingTop: 2,
paddingLeft: 5,
paddingRight: 5,
paddingBottom: 3,
backgroundColor: color.c4,
borderRadius: 3
},
SystemNotice_content: {
paddingTop: 10,
},
});
export default style

View File

@@ -0,0 +1,166 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
// ItemList: {
// position: 'relative',
// width: '100%',
// paddingTop: 15,
// display: 'flex',
// alignItems: 'center',
// paddingBottom: 15,
// },
// Item: {
// display: 'flex',
// width: '95%',
// flexDirection: 'row',
// justifyContent: 'space-between',
// alignItems: 'center'
// },
// ItemImg: {
// width: 60,
// height: 60,
// marginRight: 10
// },
// ItemText: {
// fontSize: 16,
// marginBottom: 5
// },
// ItemSubText: {
// color: '#999',
// fontSize: 13,
// },
header: {
margin: 10,
padding: 10,
borderColor: color.fontColor3,
borderWidth: 1
},
text: {
color: color.fontColor2
},
line: {
marginTop: 20,
marginBottom: 10,
height: 1,
paddingLeft: 10,
paddingRight: 10,
backgroundColor: color.fontColor3
},
info: {
display: "flex",
alignItems: "center",
justifyContent: "space-around",
flexDirection: "row",
flexWrap: "wrap",
},
infoRow: {
width: '30%',
marginBottom: 10,
textAlign: 'center',
display: 'flex',
alignItems: 'center'
},
success: {
backgroundColor: color.c1,
color: '#fff',
padding: 4,
fontSize: 12,
marginRight: 30
},
chioose: {
position: 'absolute',
right: 10,
bottom: 0,
width: 20,
height: 20,
},
add: {
display: 'flex',
alignItems: 'center',
borderColor: '#dbd9d9',
borderStyle: 'dashed',
width: '95%',
borderWidth: 1,
padding: 10,
borderRadius: 0.1,
marginTop: 20,
textAlign: 'center',
justifyContent: 'center'
},
addText: {
fontSize: 28,
color: '#dbd9d9'
},
lineText: {
lineHeight: 22,
color: color.fontColor2
},
title: {
display: 'flex',
justifyContent: 'space-between',
height: 50,
alignItems: 'center',
flexDirection: 'row',
borderStyle: 'solid',
borderColor: color.bacColor,
borderBottomWidth: 1,
padding: 10,
},
titleLeft: {
display: 'flex',
flexDirection: 'row',
alignItems: 'center',
},
titleText: {
fontSize: 15,
},
green: {
paddingLeft: 10,
paddingRight: 10,
paddingBottom: 2,
marginRight: 5,
// marginLeft: 5,
fontSize: 12,
backgroundColor: color.success1,
color: '#fff'
},
yellow: {
paddingLeft: 5,
paddingRight: 5,
paddingBottom: 2,
fontSize: 12,
backgroundColor: color.warning1,
color: '#fff'
},
titleRight: {
fontSize: 13,
color: color.fontColor2
},
content: {
paddingLeft: 20,
paddingRight: 20,
marginTop: 10,
paddingBottom: 55
},
contentText: {
marginBottom: 3,
fontSize: 14
},
footer: {
height: 50,
backgroundColor: '#8d8d8d',
width: '100%',
position: 'absolute',
borderStyle: 'solid',
borderColor: color.bacColor,
borderTopWidth: 1,
bottom: 0,
left: 0,
right: 0,
display: 'flex',
flexDirection: 'row'
}
});
export default style

View File

@@ -0,0 +1,62 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
import pubilcCss from '../public/index';
const style = StyleSheet.create({
top: {
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
height: 250
},
logo: {
width: 70,
height: 70
},
appname: {
fontSize: 19,
color: '#000',
marginTop: 10,
letterSpacing: 5
},
version: {
color: color.fontColor3,
marginTop: 2
},
tex: {
fontSize: 15
},
item: {
display: 'flex',
alignItems: 'center',
justifyContent: 'space-between',
flexDirection: 'row',
paddingLeft: 10,
paddingRight: 10,
paddingTop: 10,
paddingBottom: 10,
borderStyle: 'solid',
borderBottomColor: color.line1,
borderBottomWidth: 1,
marginBottom: 10
},
right: {
display: 'flex',
flexDirection: 'row',
alignItems: 'center',
},
rightText: {
color: color.fontColor3,
marginRight: 5
},
footer: {
display: 'flex',
alignItems: 'center',
marginTop: '10%',
position: 'absolute',
left:0,
right: 0
}
});
export default style

View File

@@ -0,0 +1,56 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
header: {
width: '100%',
height: 113,
backgroundColor: color.c1,
justifyContent: 'space-between',
paddingTop: 10
},
userinfo: {
backgroundColor: color.white,
flexDirection: 'row',
display: 'flex',
alignItems: 'center',
justifyContent: 'flex-start',
paddingTop: 10,
paddingBottom: 10,
paddingLeft: 15,
paddingRight: 15,
},
imgeStyle: {
width: 45,
height: 45,
marginRight: 8
},
title: {
fontSize: 16,
},
numbers: {
fontSize: 14
},
inputMoney: {
paddingTop: 10,
paddingBottom: 10,
paddingLeft: 15,
paddingRight: 15,
marginBottom: 15
},
MoneyTitle: {
fontSize: 15,
marginBottom: 10,
},
inpu: {
display: 'flex',
flexDirection: 'row',
alignItems: "center",
marginBottom: 10
},
text: {
}
});
export default style

View File

@@ -0,0 +1,85 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
header: {
width: '100%',
height: 113,
backgroundColor: color.c1,
justifyContent: 'space-between',
paddingTop: 10
},
search: {
borderWidth: 1,
borderColor: color.fontColor3,
padding: 0,
paddingLeft: 5,
paddingRight: 5,
height: 32,
marginRight: 10,
borderRadius: 2
},
pageInfo:{
paddingLeft: 10,
paddingRight: 10
},
item: {
width: '33%',
display: 'flex',
alignItems: 'center',
justifyContent: 'center'
},
itemTitle: {
color: color.white,
marginBottom: 3,
fontSize: color.fontSize10
},
itemMoney: {
color: color.white,
fontWeight: '900',
marginBottom: 3,
fontSize: color.fontSize8
},
itemButton: {
width: 60,
height: 24,
backgroundColor: color.white,
color: color.fontColor1,
textAlign: 'center',
lineHeight: 24,
borderRadius: 4,
marginTop: 4
},
line: {
width: 1,
height: 96,
backgroundColor: color.white
},
ListContent: {
},
ListItem: {
display: 'flex',
justifyContent: 'space-between',
flexDirection: 'row',
paddingBottom: 10,
},
right: {
textAlign: 'center'
},
leftTitle: {
color: color.fontColor1,
fontSize: 15,
marginBottom: 5
},
leftTips: {
fontSize: 11,
color: color.fontColor2
},
rightTitle: {
color: color.emb1,
textAlign: 'right'
}
});
export default style

View File

@@ -0,0 +1,61 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
header: {
padding: 10,
backgroundColor: color.white
},
headerTitle: {
borderBottomColor: color.line1,
borderBottomWidth: 1,
paddingBottom: 10,
marginTop: 10,
paddingLeft: 5,
paddingRight: 5
},
title: {
fontWeight: 'bold'
},
span: {
paddingLeft: 5,
paddingRight: 5,
paddingTop: 2,
paddingBottom: 2,
backgroundColor: color.warning1,
marginLeft: 5,
fontSize: 10
},
tabs: {
paddingTop: 10,
paddingBottom: 10
},
tabText: {
borderBottomColor: color.c1,
borderBottomWidth: 2,
paddingBottom: 5
},
roleType: {
height: 30,
width: 30,
borderRadius: 30,
overflow: 'hidden',
backgroundColor: '#fa541c',
display:'flex',
justifyContent: 'center',
alignItems: 'center'
},
chatRecor: {
padding: 10
},
chatRecorCen: {
marginLeft: 10
},
chatText: {
marginTop: 5,
padding: 10,
backgroundColor: color.bacColor
}
});
export default style

View File

@@ -0,0 +1,30 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
credit: {
flex: 1,
backgroundColor: color.bacColor
},
header: {
height: 150,
backgroundColor: color.c1,
display: 'flex',
alignItems: 'center',
justifyContent: 'center'
},
headerTitle: {
color: color.white,
fontSize: color.fontSize8
},
headerText: {
color: color.white,
fontSize: color.fontSize3,
fontWeight: 'bold'
},
ItemCen: {
paddingLeft: 30
}
});
export default style

View File

@@ -0,0 +1,39 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
import pubilcCss from '../public/index';
const style = StyleSheet.create({
customer: {
},
icon: {
display: 'flex',
alignItems: 'center',
textAlign: 'center',
paddingBottom: 30,
paddingTop: 60,
},
left: {
display: 'flex',
flexDirection: 'row',
alignItems: 'center',
},
tex: {
fontSize: 15
},
item: {
display: 'flex',
alignItems: 'center',
justifyContent: 'space-between',
flexDirection: 'row',
paddingLeft: 10,
paddingRight: 10,
paddingTop: 10,
paddingBottom: 10,
borderStyle: 'solid',
borderBottomColor: color.line1,
borderBottomWidth: 1,
marginBottom: 10
}
});
export default style

View File

@@ -0,0 +1,85 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
header: {
width: '100%',
height: 113,
backgroundColor: color.c1,
justifyContent: 'space-between',
paddingTop: 10
},
search: {
borderWidth: 1,
borderColor: color.fontColor3,
padding: 0,
paddingLeft: 5,
paddingRight: 5,
height: 32,
marginRight: 10,
borderRadius: 2
},
pageInfo:{
paddingLeft: 10,
paddingRight: 10
},
item: {
width: '33%',
display: 'flex',
alignItems: 'center',
justifyContent: 'center'
},
itemTitle: {
color: color.white,
marginBottom: 3,
fontSize: color.fontSize10
},
itemMoney: {
color: color.white,
fontWeight: '900',
marginBottom: 3,
fontSize: color.fontSize8
},
itemButton: {
width: 60,
height: 24,
backgroundColor: color.white,
color: color.fontColor1,
textAlign: 'center',
lineHeight: 24,
borderRadius: 4,
marginTop: 4
},
line: {
width: 0.5,
height: 96,
backgroundColor: '#6cb1f9'
},
ListContent: {
},
ListItem: {
display: 'flex',
justifyContent: 'space-between',
flexDirection: 'row',
paddingBottom: 10,
},
right: {
textAlign: 'center'
},
leftTitle: {
color: color.fontColor1,
fontSize: 15,
marginBottom: 5
},
leftTips: {
fontSize: 11,
color: color.fontColor2
},
rightTitle: {
color: color.emb1,
textAlign: 'right'
}
});
export default style

View File

@@ -0,0 +1,71 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
accountTitle: {
color: color.white
},
accountNum: {
color: color.white,
fontSize: 24,
fontWeight: '500',
marginTop: 5
},
additional: {
color: color.white,
marginTop: 10
},
assets: {
borderTopColor: "#6cb1f9",
borderTopWidth: 1,
marginTop: 20
},
assetsText: {
color: color.white
},
see:{
backgroundColor: color.white,
padding: 4,
paddingLeft: 10,
paddingRight: 10,
borderRadius: 2
},
capital: {
height: 100,
backgroundColor: color.c1
},
capitalP: {
fontSize: 14,
color: color.white,
margin: 2
},
capitalA: {
padding: 2,
paddingLeft: 10,
paddingRight: 10,
backgroundColor: color.white,
color: color.danger1,
borderRadius: 2
},
taskNum: {
paddingTop: 10,
paddingBottom: 20,
borderRadius: 2,
overflow: 'hidden',
flexWrap: "wrap"
},
taskNumName: {
marginBottom: 5,
color: color.fontColor3,
textAlign: 'center'
},
goTask: {
textAlign: 'center',
color: color.white,
marginBottom: 25,
width: '100%',
height: 40
}
});
export default style

View File

@@ -0,0 +1,66 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
login: {},
header: {
backgroundColor: color.c1
},
logo: {
height: 250,
justifyContent: 'center',
alignItems: 'center'
},
tab: {
flex: 1,
height: 40,
position: 'relative'
},
tabText: {
textAlign: 'center',
color: color.c2,
fontSize: 16
},
active: {
color: color.c3,
fontSize: 16
},
strip: {
position: 'absolute',
height: 3,
width: 30,
backgroundColor: color.white,
bottom: 10,
left: '50%',
marginLeft: -15,
borderRadius: 20
},
loginForm: {
display: 'flex',
alignItems: 'center',
marginTop: 30
},
forgetPassword: {
textAlign: 'right',
width: '90%',
paddingRight: 15,
paddingTop: 5,
alignItems: 'flex-end'
},
forgetPasswordText: {
color: color.fontColor3
},
butFrom: {
marginTop: 30,
width: '60%',
borderRadius: 100,
backgroundColor: color.c1,
borderWidth: 0
},
loginInput: {
marginTop: 10,
width: '90%'
}
});
export default style

View File

@@ -0,0 +1,110 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
import pubilcCss from '../public/index';
const style = StyleSheet.create({
me: {
},
header: {
position: 'relative',
width: '100%',
height: 120,
backgroundColor: color.c1,
},
icon: {
position: 'absolute',
right: 10,
top: 20
},
message: {
position: 'absolute',
bottom: 3,
left: 15,
width: '100%',
display: 'flex',
height: 95,
alignItems: 'center',
flexDirection: 'row',
justifyContent: 'flex-start'
},
mFather: {
},
phone: {
color: color.white,
fontSize: 19,
fontWeight: 'bold'
},
code: {
color: color.white,
fontSize: 14
},
taskList: {
position: 'relative',
display: 'flex',
justifyContent: 'space-around',
flexDirection: 'row',
backgroundColor: color.white,
paddingTop: 15,
paddingBottom: 20
},
item: {
flex: 1
},
border: {
borderStyle: 'solid',
borderRightColor: '#f1efef',
borderRightWidth: 1,
borderLeftColor: '#f1efef',
borderLeftWidth: 1,
paddingLeft: 20,
paddingRight: 20
},
nums: {
fontWeight: 'bold',
fontSize: 23,
color: color.fontColor1,
marginBottom: 10,
textAlign: 'center'
},
itemF: {
},
green: {
color: color.emb1,
fontSize: 14,
},
TaskManageContent: {
display: 'flex',
alignItems: 'center',
justifyContent: 'space-around',
flexDirection: 'row',
flexWrap: 'wrap',
},
TaskManageItem: {
width: '25%',
marginBottom: 28,
textAlign: 'center',
display: 'flex',
alignItems: 'center'
},
TaskManageTop: {
position: 'relative',
width: 25,
marginBottom: 5
},
tipsnu: {
position: 'absolute',
right: -6,
top: -8,
width: 18,
height: 18,
backgroundColor: color.emb2,
textAlign: 'center',
borderRadius: 100,
color: color.white,
fontSize: 12
}
});
export default style

View File

@@ -0,0 +1,41 @@
import { StyleSheet } from 'react-native';
import pubilcCss from '../public';
import color from '../public/color';
const style = StyleSheet.create({
realName:{
flex: 1,
position: 'relative',
backgroundColor: color.bacColor
},
realNameImg: {
display: 'flex',
paddingLeft: 15,
paddingRight: 15,
paddingTop: 12,
paddingBottom: 24,
flexDirection: 'row',
},
realNameImgRow: {
flex: 1,
display: 'flex',
alignItems: 'center',
paddingLeft: 10,
paddingRight: 10
},
realNameImgRowImg:{
width: '100%',
height: 100
},
realNameImgRowBut: {
marginTop: 15
},
realNameSub: {
width: '90%',
height: 50,
marginLeft: '5%',
marginRight: '5%',
}
});
export default style

View File

@@ -0,0 +1,18 @@
import { StyleSheet } from 'react-native';
const style = StyleSheet.create({
start: {
position: 'relative'
},
open: {
position: 'absolute',
right: 30,
top: 45,
backgroundColor: '#0000003d',
padding: 10,
paddingLeft: 20,
paddingRight: 20
}
});
export default style

View File

@@ -0,0 +1,84 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
taskInfoTitle: {
textAlign: 'center',
backgroundColor: color.line2,
lineHeight: 40,
color: color.white,
padding: 10
},
header: {
padding: 10,
backgroundColor: color.white
},
headerTitle: {
borderBottomColor: color.line1,
borderBottomWidth: 1,
paddingBottom: 10
},
title: {
fontWeight: 'bold'
},
span: {
paddingLeft: 5,
paddingRight: 5,
paddingTop: 2,
paddingBottom: 2,
backgroundColor: color.warning1,
marginLeft: 5,
fontSize: 10
},
shopInfo: {
marginTop: 10
},
shopInfoText: {
paddingLeft: 20,
color: color.fontColor2,
lineHeight: 25
},
requirement: {
margin: 22,
marginTop: 5,
padding: 5,
borderColor: color.line1,
borderWidth: 1,
minHeight: 60
},
requirementText: {
color: color.fontColor2
},
cenText: {
marginLeft: 10
},
steps: {
backgroundColor: color.white,
paddingTop: 20,
paddingBottom: 10
},
info: {
borderColor: color.c2,
borderWidth: 1,
backgroundColor: color.c3,
margin: 10,
marginLeft: 20,
marginRight: 20,
padding: 10,
borderRadius: 2
},
infoText: {
color: color.fontColor2
},
buttonGroup: {
width: '100%',
height: 50,
backgroundColor: '#000000',
backgroundColor: color.white,
justifyContent: 'center',
borderTopColor: color.line1,
borderTopWidth: 1
}
});
export default style

View File

@@ -0,0 +1,80 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
taskList: {
backgroundColor: color.bacColor,
height: '100%',
borderColor: color.line1,
borderTopWidth: 1
},
listRow: {
paddingLeft: 10,
paddingRight: 10,
backgroundColor: color.white
},
rowTitle: {
paddingTop: 15,
paddingBottom: 15,
alignItems: 'center'
},
title: {
fontSize: 14,
fontWeight: 'bold',
},
rowTitleSpan: {
marginLeft: 5,
fontSize: 14,
color: color.danger1
},
rowCen: {
marginTop: 5,
marginBottom: 5
},
rowText: {
marginBottom: 10
},
rowFoot: {
borderColor: color.line1,
borderTopWidth: 1,
paddingTop: 15,
marginBottom: 15,
},
tabs: {
backgroundColor: color.white
},
tabsRow: {
position: 'relative',
height: 40,
justifyContent: 'center',
alignItems: 'center'
},
tabsRowTag: {
position: 'absolute',
right: 0,
top: 5,
height: 20,
width: 20,
backgroundColor: color.danger1,
borderRadius: 50,
textAlign: 'center',
lineHeight: 20,
borderColor: color.white,
borderWidth: 1,
color: color.white
},
tagList: {
},
tag: {
padding: 2,
justifyContent: 'center',
paddingLeft: 5,
paddingRight: 5,
fontSize: 10,
borderRadius: 2,
marginRight: 3
}
});
export default style

View File

@@ -0,0 +1,69 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
update: {
position: 'absolute',
left: '50%',
top: '50%',
width: 280,
marginLeft: -140,
marginTop: -240,
backgroundColor: '#fff',
borderBottomLeftRadius: 10,
borderBottomRightRadius: 10,
borderTopLeftRadius: 10,
borderTopRightRadius: 10,
zIndex: 999,
},
tinyLogo: {
width: '100%',
height: 180,
borderTopLeftRadius: 10,
borderTopRightRadius: 10,
},
content: {
paddingLeft: 15,
paddingRight: 15,
paddingBottom: 10
},
update_tit: {
fontSize: 17,
fontWeight: "700",
textAlign: 'center',
marginTop: 5,
color: color.c4,
marginBottom: 15
},
update_content: {
display: 'flex',
justifyContent: 'center',
alignItems: 'center'
},
nowUpdateText: {
width: '100%',
height: 40,
backgroundColor: color.c1,
textAlign: 'center',
lineHeight: 40,
color: '#fff',
fontSize: 15,
letterSpacing: 3,
marginTop: 10,
borderBottomLeftRadius: 4,
borderBottomRightRadius: 4,
borderTopLeftRadius: 4,
borderTopRightRadius: 4,
},
closed: {
width: 20,
height: 20,
position: 'absolute',
bottom: -30,
left: '50%',
marginLeft: -10,
zIndex: 9999
}
});
export default style

View File

@@ -0,0 +1,68 @@
import { StyleSheet } from 'react-native';
import color from '../public/color';
const style = StyleSheet.create({
wechatAuth: {
},
news: {
paddingTop: 20,
paddingBottom: 20,
borderWidth: 1,
marginTop: 20,
borderRadius: 3
},
newsIcon: {
paddingRight: 10
},
newsTitle: {
color: color.fontColor1
},
newsText: {
color: color.fontColor2
},
infoText: {
borderTopColor: color.line1,
borderTopWidth: 1,
marginTop: 25
},
tips: {
fontSize: 12,
marginTop: 10,
color: color.success1
},
tips1: {
fontSize: 12,
marginTop: 10,
color: color.fontColor2
},
sub: {
height: 40,
width: "100%",
marginTop: 30
},
realNameImg: {
display: 'flex',
paddingLeft: 15,
paddingRight: 15,
paddingTop: 12,
paddingBottom: 24,
flexDirection: 'row',
},
realNameImgRow: {
flex: 1,
display: 'flex',
alignItems: 'center',
paddingLeft: 10,
paddingRight: 10
},
realNameImgRowImg: {
width: '100%',
height: 100
},
realNameImgRowBut: {
marginTop: 15
},
});
export default style

View File

@@ -0,0 +1 @@
6ed7b73f-61ac-485b-b5a7-ae05fa9f68ec

View File

@@ -0,0 +1,67 @@
export default {
// 以下等级由max->min
// 主题颜色
// 产品品牌色,多用于主按钮。重要图标,重要入口
c1: '#409EFF',
// 一般在背景色是主色调时 配合主题色使用的激活色
c2: '#d9ecff',
c3: '#ecf5ff',
// 辅助色 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)
success1: "#67C23A",
success2: "#e1f3d8",
success3: "#f0f9eb",
warning1: "#E6A23C",
warning2: "#faecd8",
warning3: "#fdf6ec",
danger1: "#F56C6C",
danger2: "#fde2e2",
danger3: "#fef0f0",
info1: "#909399",
info2: "#e9e9eb",
info3: "#f4f4f5",
// 多用于 主色调按钮或入口点击时使用
c4: '#47A2FF',
// 点缀色 主要用于提示作用,多用于标签,角标,小按钮等
emb1: '#67C23A',
emb2: '#F56C6C',
// 文字主题色
// 多用于标题文字,重要文字
fontColor1: '#303133',
fontColor2: '#909399',
fontColor3: '#C0C4CC',
// 线条颜色
line1: '#ededed',
// 中间区分色块的颜色
line2: '#1d1d1d',
// 文字大小
fontSize1: 36,
fontSize2: 32,
fontSize3: 28,
fontSize4: 26,
fontSize5: 24,
fontSize8: 18,
fontSize9: 16,
fontSize10: 14,
fontSize11: 12,
// 常规颜色
white: '#fff',
black: '#000',
// 背景色
bacColor: '#f5f5f5'
}

View File

@@ -0,0 +1,91 @@
import { StyleSheet } from 'react-native';
import color from './color'
const pubilcCss = StyleSheet.create({
flex: {
display: 'flex'
},
column: {
flexDirection: 'column'
},
row: {
flexDirection: 'row'
},
rowTitle: {
color: color.fontColor2,
fontSize: 14
},
rowText: {
color: color.fontColor1,
fontSize: 14
},
alignItemsCen: {
alignItems: 'center'
},
justifyContentCen: {
justifyContent: 'center'
},
alignEnd: {
alignItems: 'flex-end'
},
justifyContentEnd: {
justifyContent: 'flex-end'
},
borderBotton: {
borderStyle: 'solid',
borderBottomColor: '#f1efef',
borderBottomWidth: 1
},
flex1: {
flex: 1
},
flex2: {
flex: 2
},
flex3: {
flex: 3
},
center: {
backgroundColor: color.bacColor
},
line: {
height: 12,
backgroundColor: color.bacColor,
width: '100%'
},
paddingLR: {
paddingLeft: 10,
paddingRight: 10
},
paddingTB: {
paddingTop: 10,
paddingBottom: 10
},
paddingL10: {
paddingLeft: 10,
},
paddingR10: {
paddingRight: 10,
},
marginTop10: {
marginTop: 10
},
marginTop20: {
marginTop: 20
},
marginTop15: {
marginTop: 15
},
marginBottom20: {
marginBottom: 20
},
info: {
color: color.danger1
},
operation: {
backgroundColor: color.bacColor,
padding: 10
}
});
export default pubilcCss

View File

@@ -0,0 +1 @@
e52ba361-9054-4a2d-ac5d-cb16765eab5b

View File

@@ -0,0 +1 @@
{"ddt-iconqq2":58890,"ddt-iconzhifubao2":59028,"ddt-iconweixin2":58919,"ddt-iconshoujihao":59277,"ddt-iconqq1":58881,"ddt-icondianhua":58889,"ddt-iconyanzhengma1":58952,"ddt-iconyaoqingma1":59115,"ddt-iconmima1":58909,"ddt-icondaifankuan":58910,"ddt-iconcaozuozhong":58912,"ddt-iconyifankuan":58913,"ddt-iconyishouhuo":58915,"ddt-icontousuzhong":58916,"ddt-iconyihuishou":58917,"ddt-icondaicaozuo":58925,"ddt-icondaishenhe1":58927,"ddt-iconrenzheng":58896,"ddt-iconrenzheng1":58967,"ddt-icontishi":59274,"ddt-iconxiangqing":58914,"ddt-iconxiaoxi":59025,"ddt-icontouxiang":58908,"ddt-iconqq":58907,"ddt-iconweixin1":58906,"ddt-iconzhifubao1":58905,"ddt-iconshouji":58904,"ddt-iconshimingrenzheng1":58902,"ddt-iconwode":58903,"ddt-iconshenhezhong":58900,"ddt-iconyanzheng1":58898,"ddt-iconrenwu2":58895,"ddt-iconyaoqing":58888,"ddt-iconyichang":58887,"ddt-iconsetting":58886,"ddt-iconkefu":58885,"ddt-iconhelp":58884,"ddt-iconmai":58883,"ddt-iconzanwuxiaoxi":58901,"ddt-icongantanhao":58894,"ddt-iconyaoqingma":58990,"ddt-iconfensi":59017,"ddt-iconxianshi":58974,"ddt-iconyanzhengma":58893,"ddt-iconyincang":59198,"ddt-iconmima":59221,"ddt-iconicon":58897,"ddt-icontupianshangchuan":58968,"ddt-iconguanbi":58978,"ddt-iconfuxuankuang_xuanzhong-copy":59275,"ddt-iconfuxuankuang_xuanzhong":59081,"ddt-icon1":58899,"ddt-iconyinxingqia":58986,"ddt-iconshimingrenzheng":59268,"ddt-iconzhifubao":58939,"ddt-iconweixin":58926,"ddt-iconyanzheng":58941,"ddt-iconrenwu":58972,"ddt-iconzuojiantou":58958,"ddt-iconjiantou":58911,"ddt-iconjiantou-shang-cuxiantiao":59047,"ddt-iconjiantou-xia-cuxiantiao":59049,"ddt-iconfuzhi":58918,"ddt-iconren":59014}

Binary file not shown.

View File

@@ -0,0 +1 @@
fe81cb32-2151-4117-a78a-890811cd5d5f

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -0,0 +1 @@
e6cf8667-32f5-4cb1-bcb7-0991432f788e

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1 @@
7479decc-5dd2-45ce-958e-8fac79c20df5

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
684a4c62-0bc4-429b-b73e-2f90e0dd6e30

View File

@@ -0,0 +1 @@
23faf474-07ab-41d7-92f1-3072eafe20b7

View File

@@ -0,0 +1,45 @@
import React from 'react'
import { ToastAndroid, BackHandler } from 'react-native';
import Navbar from '../../view/components/navbar/navbar';
export default class NavigatorRoute {
constructor() {
this.router = ""
}
static Header({ scene, navigation, ...options }) {
this.router = ""
BackHandler.addEventListener('hardwareBackPress', () => {
if (this.router === "") {
this.router = scene.route.routeName
}
return this.onBackAndroid(this.router)
});
return !options.hide ? <Navbar
key={scene.route.routeName}
routeName={scene.route.routeName}
navigation={navigation}
backgroundColor={options.backgroundColor}
colorText={options.colorText}
title={options.title}
hiddenRight={options.hiddenRight}
/> : null
}
static onBackAndroid(routeName) {
if (routeName !== 'AppIndex') {
return false
}
if (this.lastBackPressed && this.lastBackPressed + 2000 >= Date.now()) {
return false;
}
this.lastBackPressed = Date.now();
ToastAndroid.show('再按一次退出应用', ToastAndroid.SHORT);
return true;
}
}

View File

@@ -0,0 +1 @@
7b35b074-1d36-4cc6-bc5c-455d124350d0

View File

@@ -0,0 +1,75 @@
export default {
devBaseUrl: 'http://b.api.fanmigou.com',
// devBaseUrl: 'http://192.168.31.11:3000',
prefix: 'ddtm_',
apiList: {
login: '/login', // 用户登录
getSmsCode: '/getSmsCode', // 获取验证码
logout: '/logout', // 退出登录
forget: '/forget', // 找回密码
reg: '/reg', // 买家注册
uploadFile: '/uploadFile', // 文件上传
certificationAdd: '/certification/add', // 实名认证提交
buyerBankList: '/buyerBankList', // 平台支持的买家银行列表
getNav: '/guide/getNav', // 获取帮助的栏目
getArticleList: '/guide/getArticleList', // 获取帮助的列表内容
getReferList: '/refer/getList', // 用户推广佣金列表
getArticleDetail: '/guide/getArticleDetail', // 获取帮助中心文章内容
getMessageList: '/message/getMessageList', // 消息列表
setWechat: '/certification/setWechat', //提交微信认证
getWechat: '/certification/getWechat', //获取微信认证
taskList: '/task/list', //任务列表
taskDetail: '/task/detail', //任务详情
taskManageMarkTag: '/taskManage/markTag', //任务打标
ComparePrice: '/taskManage/comparePrice', //货比
taskViewChat: '/task/viewChat', //旺旺聊天
shopVerify: '/taskManage/shopVerify', //宝贝确认
detailCheck: '/taskManage/detailCheck', //详情问答
shopFellow: '/taskManage/shopFellow', //店铺关注
purchaseDone: '/taskManage/purchaseDone', //选购完成
setTradeNum: '/taskManage/setTradeNum', //提交订单号
setTaskComment: '/taskManage/setTaskComment', //任务评价
purchaseChat: '/taskManage/purchaseChat', //拍前聊天
viewChat: '/taskManage/viewChat', // 旺旺聊天
viewDone: '/taskManage/viewDone', // 浏览任务确认完成
getTaobaoAccount: '/account/getTaobaoAccount', //获取买家账号信息
addressAdd: '/address/add', //添加收货地址
addressDetail: '/address/detail', //收货地址详情
deviceAdd: '/device/add', //设备信息添加
getAnnounceNav: 'announce/getAnnounceNav', //公告栏目
getAnnounceList: 'announce/getAnnounceList', // 公告列表
getAnnounceDetail: 'announce/getAnnounceDetail', // 公告详情
apiGetPb: '/api/getPb', // 添加买家通讯录
taskTake: '/task/take', //任务抢单
getTaskAcceptList: '/account/getTaskAcceptList', //任务大厅
taskBan: '/task/ban', //屏蔽商家
taskCommitTake: '/task/commitTake', //确认接取任务
certificationSetQq: '/certification/setQq', //设置QQ认证信息
certificationGetQq: '/certification/getQq', //获取认证QQ信息
getUserInfo: '/getUserInfo', //获取用户信息
taskLockList: '/task/lockList', //获取异常列表
getDetails: '/certification/getDetails', //获取当前登录用户的实名认证信息
getAlipay: '/certification/getAlipay',//获取支付宝认证信息
setAlipay: '/certification/setAlipay',//设置支付宝认证信息
getHomeInfo: '/getHomeInfo', //首页信息
isInviteAvailable: '/refer/isInviteAvailable', // 检测邀请码是否可用
setInviteCode: '/refer/setInviteCode', // 设置邀请码
finance: '/finance', // 资金管理首页
setCashOut: '/finance/setCashOut', // 申请提现/推广转出
getTransferOutList: '/finance/getTransferOutList', // 推广转出列表
getCashOutList: '/finance/getCashOutList', // 提现列表(本金,佣金)
getCashOutDetail: '/finance/getCashOutDetail', // 获取提现信息
getTransferDetail: '/finance/getTransferDetail', // 获取转出信息
taskManageCancelTask: '/taskManage/cancelTask', //取消任务
certificationModifyBankCard: '/certification/modifyBankCard', //修改银行卡信息
certificationGetBankInfo: '/certification/getBankInfo', //获取提现银行信息
CreatedTrans: '/account/trans', // 买号创建
getBaseInfo: '/getBaseInfo',//基础信息
getNewVersion: '/api/getNewVersion', // app升级检测
confirmReceive: '/taskManage/confirmReceive', //确认收货
taskComplainDetail: '/taskManage/taskComplainDetail', //任务投诉详情
taskComplainAppend: '/taskManage/taskComplainAppend', //任务补充内容
// getAlipay: '/certification/getAlipay', //获取支付宝认证信息
// setAlipay: '/certification/setAlipay', //设置支付宝认证信息
}
}

View File

@@ -0,0 +1 @@
a79d754e-92ec-42cc-9619-33eb9ff67ccf

View File

@@ -0,0 +1,104 @@
import axios from 'axios'
import config from '../config/index'
import { Alert, ToastAndroid, AsyncStorage } from 'react-native';
import utils from '../utils/utils';
export class Ajax {
option = {
url: '',
method: 'GET',
header: {
}
}
constructor() {
this.config = config;
this.instance = axios.create({
baseURL: config.devBaseUrl
});
this.ajaxRequest()
this.ajaxResponse()
}
get(option) {
console.log();
return new Promise(async (resolve, reject) => {
let token = await AsyncStorage.getItem('token')
Object.assign(this.option.header, { 'authorization': token })
this.instance.get(option.url, {
params: option.data,
headers: Object.assign(this.option.header, option.header)
})
.then((res) => {
resolve(res)
})
.catch((err) => {
reject(err)
})
})
}
post(option) {
return new Promise(async (resolve, reject) => {
let token = await AsyncStorage.getItem('token')
Object.assign(this.option.header, { 'authorization': token })
this.instance.post(option.url, option.data, {
headers: Object.assign(this.option.header, option.header)
})
.then((res) => {
resolve(res)
})
.catch((err) => {
reject(err)
})
})
}
ErrorAlert(message, status) {
Alert.alert(
'提示',
`[${status}]${message}`,
[
{ text: '确定', onPress: () => console.log('OK Pressed') },
],
{ cancelable: false }
)
}
// 添加请求拦截器
ajaxRequest() {
this.instance.interceptors.request.use(async function (config) {
let pos = await utils.getCoordinates()
if (pos) {
config.params && Object.assign(config.params, { lat: pos.latitude, lng: pos.longitude })
config.data && Object.assign(config.data, { lat: pos.latitude, lng: pos.longitude })
}
// 在发送请求之前做些什么
return config;
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});
}
// 添加响应拦截器
ajaxResponse() {
this.instance.interceptors.response.use((response) => {
// 对响应数据做点什么
// alert(JSON.stringify(response))
switch (response.data.status) {
case 1:
response.data.msg != null ? ToastAndroid.show(response.data.msg, 2000) : '';
return response.data.data;
default:
this.ErrorAlert(response.data.msg, response.data.status)
break;
}
}, function (error) {
// 对响应错误做点什么
return Promise.reject(error);
});
}
}

View File

@@ -0,0 +1 @@
1f332ac9-878e-4feb-8caa-7cbdcb895946

View File

@@ -0,0 +1,425 @@
import { createAppContainer } from 'react-navigation'
import { createStackNavigator, CardStyleInterpolators } from 'react-navigation-stack';
import NavigatorRoute from '../common/NavigatorRoute'
import color from '../../assets/css/public/color';
import Start from '../../view/page/start'
import AppIndex from '../../view/page/index'
import Login from '../../view/page/login'
import RealName from '../../view/page/realName'
import Credit from '../../view/page/credit'
import PurchaseNum from '../../view/page/PurchaseNum'
import MakeMoney from '../../view/page/MakeMoney'
import ForgetPassword from '../../view/page/ForgetPassword'
import SystemSettings from '../../view/page/SystemSettings'
import HelpCenter from '../../view/page/HelpCenter'
import HelpInfo from '../../view/page/HelpInfo'
import fundManagement from '../../view/page/fundManagement'
import WechatAuth from '../../view/page/wechatAuth'
// import WebView from '../../view/page/webView'
import TaskInfo from '../../view/page/taskInfo'
import WebView from '../../view/page/webView'
import ReceivingOrders from '../../view/page/ReceivingOrders'
import BrowseTasks from '../../view/page/browseTasks'
import PurchaseList from '../../view/page/PurchaseList'
import AddAddress from "../../view/page/AddAddress"
import Exception from "../../view/page/Exception"
import NoticeInfo from "../../view/page/NoticeInfo"
import Bank from "../../view/page/bank"
import QQAuth from "../../view/page/qqAuth"
import Inspection from "../../view/page/inspection"
import Alipay from "../../view/page/Alipay"
import MessageList from "../../view/page/MessageList"
import Withdrawal from "../../view/page/Withdrawal"
import WithdrawalList from "../../view/page/WithdrawalList"
import Complaint from "../../view/page/complaint"
import Customer from "../../view/page/customer"
const config = {
animation: 'timing',
config: {
stiffness: 1000,
damping: 500,
mass: 3,
overshootClamping: true,
restDisplacementThreshold: 0.01,
restSpeedThreshold: 0.01,
},
};
const Stack = createStackNavigator({
Login: {
screen: Login,
navigationOptions: () => ({
headerShown: false,
headerTransparent: true,
cardStyle: {
backgroundColor: '#fff',
}
})
},
AppIndex: {
screen: AppIndex,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = '首页'
props.hide = true
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
RealName: {
screen: RealName,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "实名认证"
props.hide = true
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
Credit: {
screen: Credit,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "信用认证"
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
PurchaseList: {
screen: PurchaseList,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "买号列表"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
PurchaseNum: {
screen: PurchaseNum,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "买号管理"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
MakeMoney: {
screen: MakeMoney,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "推广赚钱"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
ForgetPassword: {
screen: ForgetPassword,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "忘记密码"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
ReceivingOrders: {
screen: ReceivingOrders,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "任务大厅"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
SystemSettings: {
screen: SystemSettings,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "系统设置"
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
HelpCenter: {
screen: HelpCenter,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "帮助中心"
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
HelpInfo: {
screen: HelpInfo,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "详情"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
fundManagement: {
screen: fundManagement,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "资金管理"
props.hide = true
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
Withdrawal: {
screen: Withdrawal,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "提现"
props.hide = true
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
WithdrawalList: {
screen: WithdrawalList,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "提现明细"
props.hide = true
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
WechatAuth: {
screen: WechatAuth,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "微信认证"
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
Alipay: {
screen: Alipay,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "支付宝认证"
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
WebView: {
screen: WebView,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "淘宝验证"
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
TaskInfo: {
screen: TaskInfo,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "任务详情"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
BrowseTasks: {
screen: BrowseTasks,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "任务详情"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
AddAddress: {
screen: AddAddress,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "添加地址"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
Exception: {
screen: Exception,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "异常处理"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
NoticeInfo: {
screen: NoticeInfo,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "公告详情"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
Bank: {
screen: Bank,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "银行卡信息"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
Inspection: {
screen: Inspection,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "买号验证"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
QQAuth: {
screen: QQAuth,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "银行卡信息"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
MessageList: {
screen: MessageList,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "消息列表"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
Complaint: {
screen: Complaint,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "投诉处理"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
Customer: {
screen: Customer,
navigationOptions: () => ({
header: (props) => {
props.backgroundColor = color.c1
props.colorText = color.white
props.title = "联系客服"
props.hiddenRight = false
return NavigatorRoute.Header(props)
},
cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS,
})
},
})
export default createAppContainer(Stack)

View File

@@ -0,0 +1 @@
a75401aa-9f73-4a71-b752-6becf5102bdd

View File

@@ -0,0 +1 @@
c8d4f767-59fd-4cd9-9420-fdabbb768abd

View File

@@ -0,0 +1,203 @@
import { Ajax } from '../../dao/index'
import { AsyncStorage } from 'react-native';
class PubilcService extends Ajax {
constructor() {
super();
}
/**
* params 中有2个参数一个图片地址uri 一个是图片类型type
* @param {Object} params
* @param {*} type
*/
async uploadFile(params, type) {
const formData = new FormData();
let file = { uri: params.uri, type: 'application/octet-stream', name: params.type.replace("/", ".") };
formData.append("file", file);
formData.append('file_type', type)
return await this.post({
url: this.config.apiList.uploadFile,
data: formData,
header: { 'Content-Type': 'multipart/form-data;charset=utf-8' }
})
}
/**
* 平台支持的买家银行列表
*/
async buyerBankList() {
return await this.get({
url: this.config.apiList.buyerBankList,
data: {}
})
}
async getNav(params) {
return await this.get({
url: this.config.apiList.getNav,
data: params
})
}
async getAnnounceNav(params) {
return await this.get({
url: this.config.apiList.getAnnounceNav,
data: params
})
}
async getAnnounceList(params) {
return await this.get({
url: this.config.apiList.getAnnounceList,
data: params
})
}
async getArticleList(params) {
return await this.get({
url: this.config.apiList.getArticleList,
data: params
})
}
async getAnnounceDetail(params) {
return await this.get({
url: this.config.apiList.getAnnounceDetail,
data: params
})
}
async getReferList(params) {
return await this.get({
url: this.config.apiList.getReferList,
data: params
})
}
async getArticleDetail(params) {
return await this.get({
url: this.config.apiList.getArticleDetail,
data: params
})
}
async getMessageList(params) {
return await this.get({
url: this.config.apiList.getMessageList,
data: params
})
}
async deviceAdd(params) {
return await this.post({
url: this.config.apiList.deviceAdd,
data: params
})
}
async isInviteAvailable(params) {
return await this.post({
url: this.config.apiList.isInviteAvailable,
data: params
})
}
async setInviteCode(params) {
return await this.post({
url: this.config.apiList.setInviteCode,
data: params
})
}
async apiGetPb(params) {
return await this.post({
url: this.config.apiList.apiGetPb,
data: params
})
}
async setCashOut(params) {
return await this.post({
url: this.config.apiList.setCashOut,
data: params
})
}
async getHomeInfo() {
return await this.get({
url: this.config.apiList.getHomeInfo,
data: {}
})
}
async getTransferOutList(params) {
return await this.get({
url: this.config.apiList.getTransferOutList,
data: params
})
}
async getFinance(params) {
return await this.get({
url: this.config.apiList.finance,
data: params
})
}
async getCashOutList(params) {
return await this.get({
url: this.config.apiList.getCashOutList,
data: params
})
}
async getTransferDetail(params) {
return await this.get({
url: this.config.apiList.getTransferDetail,
data: params
})
}
async CreatedTrans(params) {
console.log("CreatedTrans");
return await this.post({
url: this.config.apiList.CreatedTrans,
data: params
})
}
async getCashOutDetail(params) {
return await this.get({
url: this.config.apiList.getCashOutDetail,
data: params
})
}
async getBaseInfo() {
let info = await AsyncStorage.getItem('getBaseInfo')
let data = info && JSON.parse(info)
console.log(data);
if (data !== void 0 && data !== null && (Date.now() - data.time) < 3600000) {
return Promise.resolve(data.data)
}
let res = await this.get({
url: this.config.apiList.getBaseInfo,
data: {}
})
AsyncStorage.setItem('getBaseInfo', JSON.stringify({
data: res,
time: Date.now()
}))
return res
}
async getNewVersion(params) {
return await this.get({
url: this.config.apiList.getNewVersion,
data: params
})
}
}
export default new PubilcService

View File

@@ -0,0 +1 @@
fdd02d43-9b01-479e-857b-7d0302659a30

View File

@@ -0,0 +1,166 @@
import { Ajax } from '../../dao/index';
class TaskCenter extends Ajax {
constructor() {
super();
}
async taskList(params) {
return await this.get({
url: this.config.apiList.taskList,
data: params
})
}
async taskDetail(params) {
return await this.get({
url: this.config.apiList.taskDetail,
data: params
})
}
async taskManageMarkTag(params) {
console.log(params);
return await this.post({
url: this.config.apiList.taskManageMarkTag,
data: params
})
}
async comparePrice(params) {
console.log(params);
return await this.post({
url: this.config.apiList.ComparePrice,
data: params
})
}
async taskViewChat(params) {
console.log(params);
return await this.post({
url: this.config.apiList.taskViewChat,
data: params
})
}
async shopVerify(params) {
console.log(params);
return await this.post({
url: this.config.apiList.shopVerify,
data: params
})
}
async detailCheck(params) {
return await this.post({
url: this.config.apiList.detailCheck,
data: params
})
}
async shopFellow(params) {
return await this.post({
url: this.config.apiList.shopFellow,
data: params
})
}
async purchaseDone(params) {
return await this.post({
url: this.config.apiList.purchaseDone,
data: params
})
}
async setTradeNum(params) {
return await this.post({
url: this.config.apiList.setTradeNum,
data: params
})
}
async setTaskComment(params) {
return await this.post({
url: this.config.apiList.setTaskComment,
data: params
})
}
async purchaseChat(params) {
return await this.post({
url: this.config.apiList.purchaseChat,
data: params
})
}
async viewChat(params) {
return await this.post({
url: this.config.apiList.viewChat,
data: params
})
}
async viewDone(params) {
return await this.post({
url: this.config.apiList.viewDone,
data: params
})
}
async taskTake(params) {
return await this.get({
url: this.config.apiList.taskTake,
data: params
})
}
async taskBan(params) {
return await this.post({
url: this.config.apiList.taskBan,
data: params
})
}
async taskCommitTake(params) {
return await this.post({
url: this.config.apiList.taskCommitTake,
data: params
})
}
async getTaskAcceptList(params) {
return await this.get({
url: this.config.apiList.getTaskAcceptList,
data: params
})
}
async taskManageCancelTask(params) {
return await this.post({
url: this.config.apiList.taskManageCancelTask,
data: params
})
}
async confirmReceive(params) {
return await this.post({
url: this.config.apiList.confirmReceive,
data: params
})
}
async taskComplainDetail(params) {
return await this.get({
url: this.config.apiList.taskComplainDetail,
data: params
})
}
async taskComplainAppend(params) {
return await this.post({
url: this.config.apiList.taskComplainAppend,
data: params
})
}
}
export default new TaskCenter()

View File

@@ -0,0 +1 @@
9fee9dd7-12ed-42d7-bcf2-689511753775

View File

@@ -0,0 +1,166 @@
import { Ajax } from '../../dao/index';
class UserCenter extends Ajax {
constructor() {
super();
}
async login(params) {
return await this.post({
url: this.config.apiList.login,
data: params
})
}
async reg(params) {
return await this.post({
url: this.config.apiList.reg,
data: params
})
}
async forget(params) {
return await this.post({
url: this.config.apiList.forget,
data: params
})
}
async getSmsCode(params) {
return await this.post({
url: this.config.apiList.getSmsCode,
data: params
})
}
async logout(params) {
return await this.post({
url: this.config.apiList.logout,
data: params
})
}
async certificationAdd(params) {
console.log(params);
return await this.post({
url: this.config.apiList.certificationAdd,
data: params
})
}
async setWechat(params) {
return await this.post({
url: this.config.apiList.setWechat,
data: params
})
}
async getWechat(params) {
return await this.get({
url: this.config.apiList.getWechat,
data: params
})
}
async getTaobaoAccount(params) {
return await this.get({
url: this.config.apiList.getTaobaoAccount,
data: params
})
}
async addressAdd(params) {
return await this.post({
url: this.config.apiList.addressAdd,
data: params
})
}
async addressDetail(params) {
return await this.get({
url: this.config.apiList.addressDetail,
data: params
})
}
async certificationSetQq(params) {
return await this.post({
url: this.config.apiList.certificationSetQq,
data: params
})
}
async certificationGetQq(params) {
return await this.get({
url: this.config.apiList.certificationGetQq,
data: params
})
}
async getUserInfo() {
return await this.get({
url: this.config.apiList.getUserInfo,
data: {}
})
}
async taskLockList(params) {
return await this.get({
url: this.config.apiList.taskLockList,
data: params
})
}
async getDetails() {
return await this.get({
url: this.config.apiList.getDetails,
data: {}
})
}
async setAlipay(params) {
return await this.post({
url: this.config.apiList.setAlipay,
data: params
})
}
async getAlipay() {
return await this.get({
url: this.config.apiList.getAlipay,
data: {}
})
}
async certificationModifyBankCard(params) {
return await this.post({
url: this.config.apiList.certificationModifyBankCard,
data: params
})
}
async certificationGetBankInfo(params) {
return await this.get({
url: this.config.apiList.certificationGetBankInfo,
data: params
})
}
async getAlipay(params) {
return await this.get({
url: this.config.apiList.getAlipay,
data: params
})
}
async setAlipay(params) {
return await this.post({
url: this.config.apiList.setAlipay,
data: params
})
}
}
export default new UserCenter();

View File

@@ -0,0 +1 @@
decb8db6-ae73-4fee-a5e7-10690ae6048b

View File

@@ -0,0 +1,396 @@
import config from '../config/index'
import Storage from 'react-native-storage';
import { format } from 'timeago.js';
import { Clipboard, ToastAndroid, Dimensions, StatusBar, Platform, Alert, AsyncStorage, PermissionsAndroid } from 'react-native';
import CameraRoll from '@react-native-community/cameraroll';
import RNFS from 'react-native-fs';
import DefaultCity from '../../view/components/area/areaJson'
import color from '../../assets/css/public/color';
import Geolocation from '@react-native-community/geolocation';
const { height, width } = Dimensions.get('window');
const statusBarHeight = StatusBar.currentHeight;
class Utils {
constructor() {
// 保存 props
this.pageProps = null;
this.storage = new Storage({
size: 1000,
storageBackend: AsyncStorage,
defaultExpires: 1000 * 3600 * 24,
enableCache: true,
});
}
/**
* 计算版本号大小,转化大小
* @param a
* @returns {*}
*/
toNum(a) {
var a = a.toString();
var c = a.split('.');
var num_place = ["", "0", "00", "000", "0000"], r = num_place.reverse();
for (var i = 0; i < c.length; i++) {
var len = c[i].length;
c[i] = r[len] + c[i];
}
var res = c.join('');
return res;
}
/**
* 读取缓存
* @param name
* @returns {Promise<any>}
*/
async getStorage(name) {
let res = await this.storage.load({ key: name });
return res.name == 'NotFoundError' ? false : res
}
/**
* 设置缓存
* @param name
* @param data
*/
setStorage(name, data) {
this.storage.save({
key: name, // 注意:请不要在key中使用_下划线符号!
data: data,
expires: null,
});
}
/**
* id 身份证号
* 身份证验证
*/
isIdentity(id) {
let str = /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
return str.test(id)
}
/**
* id 手机号
* 手机号证验证
*/
isTel(id) {
let str = /^1[3456789]\d{9}$/
return str.test(id)
}
/**
* 时间戳转正常时间
* @param data
* @returns {string}
*/
formatDate(data) {
let now = new Date(data * 1000);
let year = now.getFullYear();
let month = now.getMonth() + 1;
let date = now.getDate();
let hour = now.getHours();
let minute = now.getMinutes();
let second = now.getSeconds();
return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
}
/**
* 校验密码
* @param pwd
* @returns {boolean}
*/
isPaw(pwd) {
return /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,25}$/.test(pwd)
}
/**
* 参数请参考,自行修改
* https://github.com/hustcc/timeago.js
* 时间戳 转最近时间 转换后 类如(1天前)
* @param time 时间戳
*/
formatAge(time) {
return format(time * 1000, 'zh_CN')
}
/**
* 复制文字到粘贴板
* @param {String} str
*/
clipboard(str) {
Clipboard.setString(String(str))
ToastAndroid.show("复制成功", ToastAndroid.SHORT);
}
/**
* 获取去除顶部的屏幕高度
*/
getHight() {
return height - statusBarHeight - 49
}
/**
* 用于把 单位为分 转换成 单位为元
* @param m 后端返回被处理成 单位为分 的钱
*/
conversionMoney(m) {
return (Number(m) / 10 / 10).toFixed(2)
}
/**
* 将钱转换为千分位分割 如: 9,999.00
* @param {Number} num
*/
numFormat(num) {
num = Number(num)
return num.toString().replace(/(\d)(?=(\d{3})+(?:\.\d+)?$)/g, "$1,");
}
/**
* 计算倒计时
* @param {*} time
*/
leftTimer(time) {
//3.获取现在的时间
let presentDate = new Date();
//4.获取时间戳
let funtureTime = time * 1000;
let presenTime = presentDate.getTime();
//5.获取剩余的时间戳
let allTime = funtureTime - presenTime;
//6.把毫秒转换为秒
let allSecond = (allTime / 1000)
//7.获取剩余多少天
let day = this.size((allSecond / 3600 / 24))
//8.获取剩余多少小时
let hour = this.size((allSecond / 3600 % 24))
//9.获取剩余多少分钟
let minute = this.size((allSecond / 60 % 60));
//10.获取剩余多少秒
let second = this.size((allSecond % 60));
if (second >= 0) {
if (parseInt(day) > 0) {
return `${parseInt(day)}${parseInt(hour)}${parseInt(minute)}${parseInt(second)}`
} else if (parseInt(hour) > 0) {
return `${parseInt(hour)}${parseInt(minute)}${parseInt(second)}`
} else if (parseInt(minute) > 0) {
return `${parseInt(minute)}${parseInt(second)}`
} else if (parseInt(second) > 0) {
return `${parseInt(second)}`
}
} else {
return ''
}
}
size(num) {
return num < 10 && num >= 0 ? '0' + num : num;
}
/**
* 对比传入时间戳和当前系统时间
*/
comparisonTime(time) {
return Date.now() > time * 1000
}
/**
* 保存图片
* @param {*} uri
*/
DownloadImage(uri) {
if (!uri) return null;
return new Promise((resolve, reject) => {
let timestamp = (new Date()).getTime();//获取当前时间错
let random = String(((Math.random() * 1000000) | 0))//六位随机数
let dirs = Platform.OS === 'ios' ? RNFS.LibraryDirectoryPath : RNFS.ExternalDirectoryPath; //外部文件共享目录的绝对路径仅限android
const downloadDest = `${dirs}/${timestamp + random}.jpg`;
const formUrl = uri;
const options = {
fromUrl: formUrl,
toFile: downloadDest,
background: true,
begin: (res) => {
// console.log('begin', res);
// console.log('contentLength:', res.contentLength / 1024 / 1024, 'M');
},
};
try {
const ret = RNFS.downloadFile(options);
ret.promise.then(res => {
// console.log('success', res);
// console.log('file://' + downloadDest)
var promise = CameraRoll.saveToCameraRoll(downloadDest);
promise.then(function (result) {
// alert('保存成功!地址如下:\n' + result);
ToastAndroid.show('保存图片成功', ToastAndroid.SHORT)
}).catch(function (error) {
console.log('error', error);
// alert('保存失败!\n' + error);
});
resolve(res);
}).catch(err => {
reject(new Error(err))
});
} catch (e) {
reject(new Error(e))
}
})
}
/**
* 根据城市编码返回城市名
* @param areasCode
* @constructor
*/
FullCityName(areasCode) {
console.log(areasCode, "=====asa");
try {
// 34 01 02
let provinces = areasCode.slice(0, 2) + '0000';
let cities = areasCode.slice(2, 4);
let areas = areasCode.slice(4, 6);
let provincesData = DefaultCity.filter((val, index) => {
return val.id == provinces;
});
return [
provincesData[0].full_name,
provincesData[0]['sub'][cities].full_name,
provincesData[0]['sub'][cities]['sub'][areas].full_name,
];
} catch (error) {
}
}
/**
* 判断当前的code所属什么颜色
* @param {*} code
*/
statusColor(code) {
switch (code) {
case 9:
return color.success1
case -9:
return color.danger1
default:
return color.fontColor3
}
}
/**
* 判断当前的code对应的提示语
* @param {*} code
*/
statusTips(code, cell) {
switch (code) {
case 9:
Alert.alert("", "已经审核通过了哦,如果要修改,请联系客服!", [{ text: "我知道了" }])
return
case 0:
Alert.alert("", "当前工作人员正在加紧审核,请稍后!", [{ text: "我知道了" }])
return
case -9:
Alert.alert("", "审核失败,请联系客服!", [{ text: "我知道了" }])
return
}
cell()
}
/**
* 返回店铺登记
* @param credit_level
*/
creditCurrent(credit_level) {
if (credit_level >= 4 && credit_level <= 10) {
return '1心';
} else if (credit_level >= 11 && credit_level <= 40) {
return '2心';
} else if (credit_level >= 41 && credit_level <= 90) {
return '3心';
} else if (credit_level >= 91 && credit_level <= 150) {
return '4心';
} else if (credit_level >= 151 && credit_level <= 250) {
return '5心';
} else if (credit_level >= 251 && credit_level <= 500) {
return '1钻';
} else if (credit_level >= 501 && credit_level <= 1000) {
return '2钻';
} else if (credit_level >= 1001 && credit_level <= 2000) {
return '3钻';
} else if (credit_level >= 2001 && credit_level <= 5000) {
return '4钻';
} else if (credit_level >= 5001 && credit_level <= 10000) {
return '5钻';
} else if (credit_level >= 10001 && credit_level <= 20000) {
return '1冠';
} else if (credit_level >= 20001 && credit_level <= 50000) {
return '2冠';
} else if (credit_level >= 50001 && credit_level <= 100000) {
return '3冠';
} else if (credit_level >= 100001 && credit_level <= 200000) {
return '4冠';
} else if (credit_level >= 200001 && credit_level <= 500000) {
return '5冠';
} else if (credit_level >= 500001 && credit_level <= 1000000) {
return '1金冠';
} else if (credit_level >= 1000001 && credit_level <= 2000000) {
return '2金冠';
} else if (credit_level >= 2000001 && credit_level <= 5000000) {
return '3金冠';
} else if (credit_level >= 5000001 && credit_level <= 10000000) {
return '4金冠';
} else if (credit_level >= 10000001) {
return '5金冠';
}else {
return '获取失败'
}
}
/**
* 获取经纬度
*/
getCoordinates() {
return new Promise(async (resolve) => {
PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
).then((res) => {
if (res === 'granted') {
Geolocation.getCurrentPosition(info => {
resolve(info.coords)
}, (err) => {
console.log(err);
}, {
enableHighAccuracy: false
});
}
})
})
}
/**
* 防抖跳转页面
* @param {*} props
* @param {*} str
*/
count = 0
navigation(props, str) {
if (this.count !== 0) return
this.count = 1
props.navigation.push(str)
this.timer = setTimeout(() => {
this.count = 0
}, 500)
}
}
export default new Utils();

View File

@@ -0,0 +1 @@
44a53664-1872-48e4-b9cb-3a5371063898

View File

@@ -0,0 +1 @@
65080637-5b38-40f5-a85c-c2518b20888d

View File

@@ -0,0 +1 @@
3cd935bb-4e05-401d-ad94-3d6058ad5a74

View File

@@ -0,0 +1,33 @@
import React from 'react'
import hoistNonReactStatics from 'hoist-non-react-statics'
import { StatusBar } from 'react-native'
export const setStatusBar = (statusbarProps = {}) => WrappedComponent => {
class Component extends React.PureComponent {
constructor(props) {
super(props)
this._navListener = props.navigation.addListener('willFocus', this._setStatusBar)
}
componentWillUnmount() {
this._navListener.remove();
}
_setStatusBar = () => {
const {
barStyle = "dark-content",
backgroundColor = '#fff',
translucent = false
} = statusbarProps
StatusBar.setBarStyle(barStyle)
StatusBar.setTranslucent(translucent)
StatusBar.setBackgroundColor(backgroundColor);
}
render() {
return <WrappedComponent {...this.props} />
}
}
return hoistNonReactStatics(Component, WrappedComponent);
}

View File

@@ -0,0 +1,43 @@
import {
NativeModules,
} from 'react-native';
const { HocNotificationService } = NativeModules;
const Emitter = new NativeEventEmitter(HocNotificationService);
class BackgroundTimer {
constructor() {
this.uniqueId = 0;
this.callbacks = {};
Emitter.addListener('HocNotificationService.timeout', (id) => {
if (this.callbacks[id]) {
const callbackById = this.callbacks[id];
const { callback } = callbackById;
if (!this.callbacks[id].interval) {
delete this.callbacks[id];
} else {
RNBackgroundTimer.setTimeout(id, this.callbacks[id].timeout);
}
callback();
}
});
}
runBackgroundTimer(callback, delay) {
const EventEmitter = Platform.select({
ios: () => NativeAppEventEmitter,
android: () => DeviceEventEmitter,
})();
this.start(0);
this.backgroundListener = EventEmitter.addListener(
'backgroundTimer',
() => {
this.backgroundListener.remove();
this.backgroundClockMethod(callback, delay);
},
);
}
}
export default new BackgroundTimer();

View File

@@ -0,0 +1,17 @@
import {
requireNativeComponent,
View,
} from 'react-native';
import PropTypes from 'prop-types';
let iface = {
name: 'WebView',
propTypes: {
url: PropTypes.string,
html: PropTypes.string,
...View.propTypes // 包含默认的View的属性
}
};
module.exports = requireNativeComponent('AndroidRCTWebView', iface);

View File

@@ -0,0 +1 @@
382eb945-5649-493e-b7c7-976d2dcecdb1

View File

@@ -0,0 +1,58 @@
import React, { Component } from 'react'
import { View, Text, StyleSheet } from 'react-native';
import pubilcCss from '../../../assets/css/public/index'
import color from '../../../assets/css/public/color';
const style = StyleSheet.create({
TaskManage: {
backgroundColor: color.white
},
TaskManageTitle: {
paddingLeft: 10,
paddingRight: 10,
paddingTop: 10,
paddingBottom: 10,
borderStyle: 'solid',
borderBottomColor: color.line1,
borderBottomWidth: 1,
fontSize: 16,
},
TaskManageConntent: {
// paddingLeft: 20,
// paddingRight: 20,
// paddingTop: 15,
// paddingBottom: 10,
}
})
export default class Item extends Component {
constructor(props) {
super(props);
}
render() {
const {
text = '文字描述',
line = true
} = this.props;
return (
<View>
<View style={style.TaskManage}>
<Text style={style.TaskManageTitle}>{text}</Text>
<View style={style.TaskManageConntent}>
{this.props.children}
</View>
</View>
{
line
? <View style={pubilcCss.line}></View>
: null
}
</View>
)
}
}

View File

@@ -0,0 +1 @@
ca12e99f-db69-4b2c-ab1b-6481e018f7e4

Some files were not shown because too many files have changed in this diff Show More