first commit
This commit is contained in:
155
(红头)项目编译Debug版本和Release版本apk的方法.txt
Normal file
155
(红头)项目编译Debug版本和Release版本apk的方法.txt
Normal file
@@ -0,0 +1,155 @@
|
||||
# Android 项目编译 Debug 和 Release 版本 APK 的方法
|
||||
|
||||
## 项目信息
|
||||
- **项目名称**: com.xunpaisoft.social
|
||||
- **项目路径**: D:\zhini\android-im
|
||||
- **JDK 要求**: Java 11 或更高版本
|
||||
- **推荐 JDK**: Android Studio 内置 JDK 21
|
||||
|
||||
## 环境准备
|
||||
|
||||
### 1. 检查 Java 版本
|
||||
```bash
|
||||
java -version
|
||||
```
|
||||
**注意**: 如果系统只有 Java 8,需要使用 Android Studio 的 JDK 21
|
||||
|
||||
### 2. 设置环境变量
|
||||
```powershell
|
||||
# 设置 Android Studio JDK 路径
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"
|
||||
|
||||
# 设置 Android SDK 路径
|
||||
$env:ANDROID_HOME="C:\Users\$env:USERNAME\AppData\Local\Android\Sdk"
|
||||
```
|
||||
|
||||
## 编译方法
|
||||
|
||||
### 方法一:使用 Gradle Wrapper(推荐)
|
||||
|
||||
#### 1. Debug 版本编译
|
||||
```bash
|
||||
# 设置环境变量并编译 Debug 版本
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"; $env:ANDROID_HOME="C:\Users\$env:USERNAME\AppData\Local\Android\Sdk"; .\gradlew.bat assembleDebug
|
||||
```
|
||||
|
||||
**编译结果**:
|
||||
- ✅ 编译状态: BUILD SUCCESSFUL
|
||||
- ⏱️ 编译时间: 约 34 秒
|
||||
- 📁 APK 位置: `app\build\outputs\apk\debug\app-debug.apk`
|
||||
|
||||
#### 2. Release 版本编译
|
||||
```bash
|
||||
# 设置环境变量并编译 Release 版本
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"; $env:ANDROID_HOME="C:\Users\$env:USERNAME\AppData\Local\Android\Sdk"; .\gradlew.bat assembleRelease
|
||||
```
|
||||
|
||||
**编译结果**:
|
||||
- ✅ 编译状态: BUILD SUCCESSFUL
|
||||
- ⏱️ 编译时间: 约 3分48秒
|
||||
- 📁 APK 位置: `app\build\outputs\apk\release\app-release.apk`
|
||||
|
||||
### 方法二:使用 Android Studio(最简单)
|
||||
|
||||
1. **打开 Android Studio**
|
||||
2. **导入项目**: 选择 `D:\zhini\android-im` 目录
|
||||
3. **等待 Gradle 同步完成**
|
||||
4. **编译项目**:
|
||||
- **Debug 版本**: `Build` → `Build Bundle(s) / APK(s)` → `Build APK(s)`
|
||||
- **Release 版本**: `Build` → `Generate Signed Bundle / APK` → `APK`
|
||||
|
||||
## 安装 APK 到设备
|
||||
|
||||
### 安装 Debug 版本
|
||||
```bash
|
||||
adb install -r app\build\outputs\apk\debug\app-debug.apk
|
||||
```
|
||||
|
||||
### 安装 Release 版本
|
||||
```bash
|
||||
adb install -r app\build\outputs\apk\release\app-release.apk
|
||||
```
|
||||
|
||||
## 版本对比
|
||||
|
||||
| 特性 | Debug 版本 | Release 版本 |
|
||||
|------|------------|--------------|
|
||||
| **编译时间** | 约 34 秒 | 约 3分48秒 |
|
||||
| **APK 大小** | 较大 | 较小(优化后) |
|
||||
| **代码混淆** | 否 | 是(ProGuard) |
|
||||
| **调试信息** | 包含 | 移除 |
|
||||
| **性能** | 较慢 | 较快 |
|
||||
| **用途** | 开发测试 | 正式发布 |
|
||||
|
||||
## 常见问题解决
|
||||
|
||||
### 问题1: Java 版本不兼容
|
||||
**错误信息**: `Dependency requires at least JVM runtime version 11. This build uses a Java 8 JVM.`
|
||||
|
||||
**解决方案**:
|
||||
```bash
|
||||
# 停止现有 Gradle daemon
|
||||
.\gradlew.bat --stop
|
||||
|
||||
# 使用 Android Studio JDK 编译
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"; .\gradlew.bat assembleDebug
|
||||
```
|
||||
|
||||
### 问题2: Gradle Wrapper 不存在
|
||||
**解决方案**: 项目已包含 `gradlew.bat` 文件,如果缺失可以重新创建。
|
||||
|
||||
### 问题3: 权限重复警告
|
||||
**现象**: 编译时出现权限重复警告
|
||||
**影响**: 不影响编译,但建议清理重复权限声明
|
||||
|
||||
## 编译命令总结
|
||||
|
||||
### 一键编译脚本
|
||||
```powershell
|
||||
# Debug 版本一键编译
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"; $env:ANDROID_HOME="C:\Users\$env:USERNAME\AppData\Local\Android\Sdk"; .\gradlew.bat assembleDebug
|
||||
|
||||
# Release 版本一键编译
|
||||
$env:JAVA_HOME="C:\Program Files\Android\Android Studio1\jbr"; $env:ANDROID_HOME="C:\Users\$env:USERNAME\AppData\Local\Android\Sdk"; .\gradlew.bat assembleRelease
|
||||
```
|
||||
|
||||
### 清理和重新编译
|
||||
```bash
|
||||
# 清理项目
|
||||
.\gradlew.bat clean
|
||||
|
||||
# 重新编译 Debug 版本
|
||||
.\gradlew.bat assembleDebug
|
||||
|
||||
# 重新编译 Release 版本
|
||||
.\gradlew.bat assembleRelease
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **JDK 版本**: 必须使用 Java 11 或更高版本
|
||||
2. **环境变量**: 每次编译前需要设置正确的 JAVA_HOME
|
||||
3. **签名配置**: Release 版本需要配置签名文件
|
||||
4. **混淆规则**: Release 版本会应用 ProGuard 混淆规则
|
||||
5. **资源优化**: Release 版本会进行资源压缩和优化
|
||||
|
||||
## 文件位置
|
||||
|
||||
- **Debug APK**: `app\build\outputs\apk\debug\app-debug.apk`
|
||||
- **Release APK**: `app\build\outputs\apk\release\app-release.apk`
|
||||
- **Gradle Wrapper**: `gradlew.bat`
|
||||
- **构建配置**: `app\build.gradle`
|
||||
|
||||
## 成功标志
|
||||
|
||||
编译成功后会显示:
|
||||
```
|
||||
BUILD SUCCESSFUL in [时间]
|
||||
[数量] actionable tasks: [执行数量] executed, [跳过数量] up-to-date
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**最后更新**: 2025年10月29日
|
||||
**适用版本**: Android Gradle Plugin 8.7.3
|
||||
**JDK 版本**: Android Studio JDK 21
|
||||
68
.gitignore
vendored
Normal file
68
.gitignore
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
<<<<<<< HEAD
|
||||
*.iml
|
||||
.gradle
|
||||
/local.properties
|
||||
/.idea/workspace.xml
|
||||
/.idea/libraries
|
||||
.DS_Store
|
||||
/build
|
||||
/captures
|
||||
.externalNativeBuild
|
||||
=======
|
||||
# Built application files
|
||||
*.apk
|
||||
*.ap_
|
||||
|
||||
# Files for the ART/Dalvik VM
|
||||
*.dex
|
||||
|
||||
# Java class files
|
||||
*.class
|
||||
|
||||
# Generated files
|
||||
bin/
|
||||
gen/
|
||||
out/
|
||||
|
||||
# Gradle files
|
||||
.gradle/
|
||||
build/
|
||||
|
||||
# Local configuration file (sdk path, etc)
|
||||
local.properties
|
||||
|
||||
# Proguard folder generated by Eclipse
|
||||
proguard/
|
||||
|
||||
# Log Files
|
||||
*.log
|
||||
|
||||
# Android Studio Navigation editor temp files
|
||||
.navigation/
|
||||
|
||||
# Android Studio captures folder
|
||||
captures/
|
||||
|
||||
# IntelliJ
|
||||
*.iml
|
||||
.idea/workspace.xml
|
||||
.idea/tasks.xml
|
||||
.idea/gradle.xml
|
||||
.idea/dictionaries
|
||||
.idea/libraries
|
||||
|
||||
# Keystore files
|
||||
# Uncomment the following line if you do not want to check your keystore files in.
|
||||
#*.jks
|
||||
|
||||
# External native build folder generated in Android Studio 2.2 and later
|
||||
.externalNativeBuild
|
||||
|
||||
# Google Services (e.g. APIs or Firebase)
|
||||
google-services.json
|
||||
|
||||
# Freeline
|
||||
freeline.py
|
||||
freeline/
|
||||
freeline_project_description.json
|
||||
>>>>>>> 6102b9572bd33969bb130319e526bdb29771a53c
|
||||
3
.idea/.gitignore
generated
vendored
Normal file
3
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
BIN
.idea/caches/build_file_checksums.ser
generated
Normal file
BIN
.idea/caches/build_file_checksums.ser
generated
Normal file
Binary file not shown.
16
.idea/checkstyle-idea.xml
generated
Normal file
16
.idea/checkstyle-idea.xml
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CheckStyle-IDEA">
|
||||
<option name="configuration">
|
||||
<map>
|
||||
<entry key="checkstyle-version" value="8.16" />
|
||||
<entry key="copy-libs" value="true" />
|
||||
<entry key="location-0" value="BUNDLED:(bundled):Sun Checks" />
|
||||
<entry key="location-1" value="BUNDLED:(bundled):Google Checks" />
|
||||
<entry key="scan-before-checkin" value="false" />
|
||||
<entry key="scanscope" value="JavaOnly" />
|
||||
<entry key="suppress-errors" value="false" />
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
113
.idea/codeStyles/Project.xml
generated
Normal file
113
.idea/codeStyles/Project.xml
generated
Normal file
@@ -0,0 +1,113 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<codeStyleSettings language="XML">
|
||||
<arrangement>
|
||||
<rules>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>xmlns:android</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>xmlns:.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:id</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:name</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>name</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>style</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>ANDROID_ATTRIBUTE_ORDER</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>.*</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
</rules>
|
||||
</arrangement>
|
||||
</codeStyleSettings>
|
||||
</code_scheme>
|
||||
</component>
|
||||
6
.idea/compiler.xml
generated
Normal file
6
.idea/compiler.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<bytecodeTargetLevel target="21" />
|
||||
</component>
|
||||
</project>
|
||||
25
.idea/deploymentTargetSelector.xml
generated
Normal file
25
.idea/deploymentTargetSelector.xml
generated
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetSelector">
|
||||
<selectionStates>
|
||||
<SelectionState runConfigName="personnel">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
</SelectionState>
|
||||
<SelectionState runConfigName="demo_component_a">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
</SelectionState>
|
||||
<SelectionState runConfigName="ccdemo">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
</SelectionState>
|
||||
<SelectionState runConfigName="app">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
</SelectionState>
|
||||
<SelectionState runConfigName="xiansuo">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
</SelectionState>
|
||||
<SelectionState runConfigName="video">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
</SelectionState>
|
||||
</selectionStates>
|
||||
</component>
|
||||
</project>
|
||||
65
.idea/jarRepositories.xml
generated
Normal file
65
.idea/jarRepositories.xml
generated
Normal file
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven2" />
|
||||
<option name="name" value="maven2" />
|
||||
<option name="url" value="https://maven.google.com" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="MavenRepo" />
|
||||
<option name="name" value="MavenRepo" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="BintrayJCenter" />
|
||||
<option name="name" value="BintrayJCenter" />
|
||||
<option name="url" value="https://jcenter.bintray.com/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven" />
|
||||
<option name="name" value="maven" />
|
||||
<option name="url" value="https://jitpack.io" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="Google" />
|
||||
<option name="name" value="Google" />
|
||||
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven3" />
|
||||
<option name="name" value="maven3" />
|
||||
<option name="url" value="https://dl.bintray.com/aweme-open-sdk-team/public" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven3" />
|
||||
<option name="name" value="maven3" />
|
||||
<option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven4" />
|
||||
<option name="name" value="maven4" />
|
||||
<option name="url" value="http://maven.aliyun.com/nexus/content/repositories/gradle-plugin" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven3" />
|
||||
<option name="name" value="maven3" />
|
||||
<option name="url" value="http://maven.aliyun.com/nexus/content/repositories/google" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven2" />
|
||||
<option name="name" value="maven2" />
|
||||
<option name="url" value="http://maven.aliyun.com/nexus/content/repositories/jcenter" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/kotlinc.xml
generated
Normal file
6
.idea/kotlinc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="KotlinJpsPluginSettings">
|
||||
<option name="version" value="1.9.22" />
|
||||
</component>
|
||||
</project>
|
||||
15
.idea/misc.xml
generated
Normal file
15
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CMakeSettings">
|
||||
<configurations>
|
||||
<configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
|
||||
</configurations>
|
||||
</component>
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
<option name="id" value="Android" />
|
||||
</component>
|
||||
</project>
|
||||
20
.idea/runConfigurations.xml
generated
Normal file
20
.idea/runConfigurations.xml
generated
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RunConfigurationProducerService">
|
||||
<option name="ignoredProducers">
|
||||
<set>
|
||||
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
|
||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
|
||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
|
||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
|
||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
|
||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
7
.idea/vcs.xml
generated
Normal file
7
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/peizhen" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
55
1.4.6工作文档
Normal file
55
1.4.6工作文档
Normal file
@@ -0,0 +1,55 @@
|
||||
1.调拨 -- 客户调拨列表 http://www.fenghoo.cn/device/DevMark/dbRecord
|
||||
修改接口:/device/DevMark/dbRecord
|
||||
新增参数 if_diaobo:不为空代表已调拨@任剑波 @蒲仁飞
|
||||
|
||||
2.我的
|
||||
3.云商城抖音分享
|
||||
Client Key: awkk1gopj9ialm0j
|
||||
Client Secret: c3f7a378a97d339844d5231336891480
|
||||
授权机构: 陕西蜂狐智能家居科技有限公司
|
||||
授权人:
|
||||
视频权限
|
||||
用户权限
|
||||
互动权限
|
||||
数据权限
|
||||
特殊权限
|
||||
小程序
|
||||
基础信息
|
||||
开发信息
|
||||
Webhooks
|
||||
|
||||
4.抢单客户详情
|
||||
|
||||
5.客户详情
|
||||
|
||||
6.欠费提示
|
||||
|
||||
7.欠费切换店铺
|
||||
|
||||
8.绑定设备
|
||||
抖音绑定成功
|
||||
9.我的二维码
|
||||
loginInfomation
|
||||
10.店铺数据,个人数据
|
||||
|
||||
|
||||
|
||||
登录信息接口:/device/DevLogin/loginInfomation
|
||||
新增参数:dy_union_id抖音绑定 ,dy_link抖音绑定二维码
|
||||
|
||||
抖音绑定接口:/device/DevLogin/bindDouyin
|
||||
抖音绑定二维码接口:/device/DevLogin/bindDouyinLink
|
||||
@蒲仁飞 @任剑波
|
||||
|
||||
|
||||
|
||||
1、切换店铺列表:/device/DevClient/AllStore
|
||||
新增是否欠费字段:if_overdue(0:已欠费,1:正常)
|
||||
2、登录信息:/device/DevLogin/loginInfomation
|
||||
新增是否欠费字段:if_overdue(0:已欠费,1:正常)
|
||||
@蒲仁飞 @任剑波
|
||||
|
||||
打标记录:/device/DevMark/HistoryInfo
|
||||
打标记录搜索:/device/DevMark/searchHistory
|
||||
客户参与活动:/device/DevMark/CustomerActivity
|
||||
@蒲仁飞 @任剑波
|
||||
167
PushSDK/AndroidManifest.xml
Normal file
167
PushSDK/AndroidManifest.xml
Normal file
@@ -0,0 +1,167 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_ADDED" />
|
||||
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" />
|
||||
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_INSTALL" />
|
||||
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" />
|
||||
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
|
||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
|
||||
<application>
|
||||
|
||||
<service
|
||||
android:name="com.taobao.accs.ChannelService"
|
||||
android:exported="true"
|
||||
android:process=":channel">
|
||||
<intent-filter>
|
||||
<action android:name="com.taobao.accs.intent.action.SERVICE" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="com.taobao.accs.intent.action.ELECTION" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<service
|
||||
android:name="com.taobao.accs.data.MsgDistributeService"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="com.taobao.accs.intent.action.RECEIVE" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<receiver
|
||||
android:name="com.taobao.accs.EventReceiver"
|
||||
android:exported="true"
|
||||
android:process=":channel">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.PACKAGE_REMOVED" />
|
||||
<data android:scheme="package" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.USER_PRESENT" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver
|
||||
android:name="com.taobao.accs.ServiceReceiver"
|
||||
android:exported="true"
|
||||
android:process=":channel">
|
||||
<intent-filter>
|
||||
<action android:name="com.taobao.accs.intent.action.COMMAND" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="com.taobao.accs.intent.action.START_FROM_AGOO" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<service
|
||||
android:name="com.taobao.accs.internal.AccsJobService"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE"
|
||||
android:process=":channel"/>
|
||||
|
||||
<service
|
||||
android:name="com.taobao.accs.ChannelService$KernelService"
|
||||
android:process=":channel" />
|
||||
|
||||
<service
|
||||
android:name="org.android.agoo.accs.AgooService"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="com.taobao.accs.intent.action.RECEIVE" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<service
|
||||
android:name="com.umeng.message.UmengIntentService"
|
||||
android:exported="true"
|
||||
android:process=":channel">
|
||||
<intent-filter>
|
||||
<action android:name="org.agoo.android.intent.action.RECEIVE" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<service
|
||||
android:name="com.umeng.message.XiaomiIntentService"
|
||||
android:exported="true"
|
||||
android:process=":channel">
|
||||
<intent-filter>
|
||||
<action android:name="org.agoo.android.intent.action.RECEIVE" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<receiver
|
||||
android:name="com.taobao.agoo.AgooCommondReceiver"
|
||||
android:exported="true"
|
||||
android:process=":channel">
|
||||
<intent-filter>
|
||||
<action android:name="${applicationId}.intent.action.COMMAND" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.PACKAGE_REMOVED" />
|
||||
<data android:scheme="package" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<service
|
||||
android:name="com.umeng.message.UmengMessageIntentReceiverService"
|
||||
android:exported="true"
|
||||
android:process=":channel">
|
||||
<intent-filter>
|
||||
<action android:name="org.android.agoo.client.MessageReceiverService" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<receiver
|
||||
android:name="com.umeng.message.NotificationProxyBroadcastReceiver"
|
||||
android:exported="false" />
|
||||
|
||||
<service
|
||||
android:name="com.umeng.message.UmengMessageCallbackHandlerService"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="com.umeng.messge.registercallback.action" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="com.umeng.message.enablecallback.action" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="com.umeng.message.disablecallback.action" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="com.umeng.message.message.handler.action" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<service
|
||||
android:name="com.umeng.message.UmengDownloadResourceService"
|
||||
android:exported="false" />
|
||||
|
||||
<provider
|
||||
android:name="com.umeng.message.provider.MessageProvider"
|
||||
android:authorities="${applicationId}.umeng.message"
|
||||
android:exported="false">
|
||||
<grant-uri-permission android:pathPattern=".*" />
|
||||
</provider>
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
58
PushSDK/build.gradle
Normal file
58
PushSDK/build.gradle
Normal file
@@ -0,0 +1,58 @@
|
||||
apply plugin: 'com.android.library'
|
||||
|
||||
android {
|
||||
namespace 'com.umeng.message.lib'
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion rootProject.ext.android.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.android.targetSdkVersion
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||
}
|
||||
debug {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
java.srcDirs = ['src']
|
||||
resources.srcDirs = ['src']
|
||||
aidl.srcDirs = ['src']
|
||||
renderscript.srcDirs = ['src']
|
||||
res.srcDirs = ['res']
|
||||
assets.srcDirs = ['assets']
|
||||
jniLibs.srcDirs = ['libs']
|
||||
}
|
||||
|
||||
// Move the tests to tests/java, tests/res, etc...
|
||||
androidTest .setRoot('tests')
|
||||
|
||||
// Move the build types to build-types/<type>
|
||||
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
|
||||
// This moves them out of them default location under src/<type>/... which would
|
||||
// conflict with src/ being used by the main source set.
|
||||
// Adding new build types or product flavors should be accompanied
|
||||
// by a similar customization.
|
||||
debug.setRoot('build-types/debug')
|
||||
release.setRoot('build-types/release')
|
||||
}
|
||||
|
||||
android {
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api fileTree(include: ['*.jar'], dir: 'libs')
|
||||
}
|
||||
BIN
PushSDK/libs/alicloud-android-sdk-httpdns-1.0.7.jar
Normal file
BIN
PushSDK/libs/alicloud-android-sdk-httpdns-1.0.7.jar
Normal file
Binary file not shown.
BIN
PushSDK/libs/armeabi/libcocklogic-1.1.3.so
Normal file
BIN
PushSDK/libs/armeabi/libcocklogic-1.1.3.so
Normal file
Binary file not shown.
BIN
PushSDK/libs/armeabi/libtnet-3.1.11.so
Normal file
BIN
PushSDK/libs/armeabi/libtnet-3.1.11.so
Normal file
Binary file not shown.
BIN
PushSDK/libs/com.umeng.message_3.1.5a.jar
Normal file
BIN
PushSDK/libs/com.umeng.message_3.1.5a.jar
Normal file
Binary file not shown.
BIN
PushSDK/libs/utdid4all-1.1.5.3_proguard.jar
Normal file
BIN
PushSDK/libs/utdid4all-1.1.5.3_proguard.jar
Normal file
Binary file not shown.
BIN
PushSDK/libs/x86/libcocklogic-1.1.3.so
Normal file
BIN
PushSDK/libs/x86/libcocklogic-1.1.3.so
Normal file
Binary file not shown.
BIN
PushSDK/libs/x86/libtnet-3.1.11.so
Normal file
BIN
PushSDK/libs/x86/libtnet-3.1.11.so
Normal file
Binary file not shown.
12
PushSDK/project.properties
Normal file
12
PushSDK/project.properties
Normal file
@@ -0,0 +1,12 @@
|
||||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must be checked in Version Control Systems.
|
||||
#
|
||||
# To customize properties used by the Ant build system use,
|
||||
# "ant.properties", and override values to adapt the script to your
|
||||
# project structure.
|
||||
|
||||
# Project target.
|
||||
target=android-19
|
||||
android.library=true
|
||||
3
PushSDK/res/values/string.xml
Normal file
3
PushSDK/res/values/string.xml
Normal file
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
</resources>
|
||||
1
app/.gitignore
vendored
Normal file
1
app/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/build
|
||||
238
app/build.gradle
Normal file
238
app/build.gradle
Normal file
@@ -0,0 +1,238 @@
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'kotlin-android'
|
||||
ext.mainApp = true //标记为主app module
|
||||
apply from: rootProject.file('cc-settings-2.gradle')
|
||||
|
||||
apply plugin: 'kotlin-kapt'
|
||||
|
||||
static def releaseTime() {
|
||||
return new Date().format("yyyy-MM-dd-HH.mm", TimeZone.getTimeZone("GMT+8"))
|
||||
}
|
||||
|
||||
android {
|
||||
namespace 'com.fanghoo.mendian'
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
|
||||
defaultConfig {
|
||||
applicationId rootProject.ext.android.applicationId
|
||||
minSdkVersion rootProject.ext.android.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.android.targetSdkVersion
|
||||
versionCode rootProject.ext.android.versionCode
|
||||
versionName rootProject.ext.android.versionName
|
||||
multiDexEnabled rootProject.ext.android.multiDexEnabled //突破应用方法数65535的一个限制
|
||||
manifestPlaceholders = rootProject.ext.android.manifestPlaceholders
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
ndk {
|
||||
// 设置支持的SO库架构
|
||||
abiFilters 'armeabi', 'x86', 'armeabi-v7a'
|
||||
}
|
||||
flavorDimensions "versionCode"
|
||||
javaCompileOptions {
|
||||
annotationProcessorOptions {
|
||||
arguments = [
|
||||
'resourcePackageName': "com.fanghoo.mendian",
|
||||
"androidManifestFile": "$projectDir/src/main/AndroidManifest.xml".toString()
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
checkReleaseBuilds false
|
||||
abortOnError false
|
||||
}
|
||||
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
jniLibs.srcDirs = ['libs']
|
||||
}
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
checkReleaseBuilds false
|
||||
abortOnError false
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
buildConfig true
|
||||
dataBinding true
|
||||
}
|
||||
|
||||
//签名
|
||||
signingConfigs {
|
||||
release {
|
||||
storeFile file('fenghoo.jks')
|
||||
storePassword "fenghoo"
|
||||
keyAlias "fenghoo"
|
||||
keyPassword "fenghoo"
|
||||
}
|
||||
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
// 不显示Log
|
||||
buildConfigField "boolean", "LOG_DEBUG", "false"
|
||||
//混淆
|
||||
minifyEnabled true
|
||||
//Zipalign优化
|
||||
zipAlignEnabled true
|
||||
// 移除无用的resource文件
|
||||
shrinkResources true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
debug {
|
||||
//重要部分
|
||||
signingConfig signingConfigs.release
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = '1.8'
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
jniLibs {
|
||||
useLegacyPackaging = true
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
this.android.sourceSets {
|
||||
main {
|
||||
jniLibs.srcDirs = ['libs']
|
||||
res.srcDirs = ['src/main/res', 'src/main/res_marking', 'src/main/res_data', 'src/main/res_zxing', 'src/main/res_yingxiao']
|
||||
}
|
||||
}
|
||||
configurations.all {
|
||||
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
|
||||
def requested = details.requested
|
||||
if (requested.group == 'com.android.support') {
|
||||
if (!requested.name.startsWith("multidex")) {
|
||||
details.useVersion '27.1.1'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 保证引用jar包最新,建议使用
|
||||
configurations.all {
|
||||
resolutionStrategy.cacheDynamicVersionsFor 0, 'seconds' // 动态版本 x.x.+
|
||||
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'// 变化版本 x.x.x
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||
implementation 'androidx.appcompat:appcompat:1.0.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
testImplementation 'junit:junit:4.12'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
|
||||
//加载对话框
|
||||
api 'com.github.ForgetAll:LoadingDialog:v1.0.4'
|
||||
api 'com.nineoldandroids:library:2.4.0'
|
||||
|
||||
//雷达图
|
||||
api 'com.github.PhilJay:MPAndroidChart:v3.0.2'
|
||||
//三级联动选择
|
||||
api 'com.contrarywind:Android-PickerView:3.2.6'
|
||||
//popwindow
|
||||
// api 'com.github.pinguo-zhouwei:CustomPopwindow:2.1.1' // 依赖找不到,暂时注释
|
||||
//选择图片
|
||||
api 'com.github.lovetuzitong:MultiImageSelector:1.2'
|
||||
//图片压缩
|
||||
api 'id.zelory:compressor:1.0.4'
|
||||
//搜索
|
||||
api project(':searchbox')
|
||||
//上传图像
|
||||
api 'com.jph.takephoto:takephoto_library:4.0.3'
|
||||
api('cn.trinea.android.view.autoscrollviewpager:android-auto-scroll-view-pager:1.1.2') {
|
||||
exclude module: 'support-v4'
|
||||
}
|
||||
api project(':PushSDK')
|
||||
implementation files('libs/SocialSDK_WeChat_Simplify.jar')
|
||||
implementation files('libs/NewLivePlayer-new.jar')
|
||||
|
||||
// api 'com.github.zhengcx:ShadowHelper:v1.0' // 依赖找不到,暂时注释
|
||||
api 'com.hannesdorfmann.mosby3:mvp:3.0.0-alpha4'
|
||||
|
||||
implementation files('libs/tbs_sdk_thirdapp_v3.2.0.1104_43200_sharewithdownload_withfilereader_withoutGame_obfs_20170609_115346.jar')
|
||||
//内存溢出测试工具
|
||||
debugApi 'com.squareup.leakcanary:leakcanary-android:1.6.1'
|
||||
releaseApi 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'
|
||||
|
||||
implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
|
||||
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
|
||||
api project(':picture_library')
|
||||
|
||||
api 'com.squareup.retrofit2:retrofit:2.3.0'
|
||||
api 'com.squareup.retrofit2:converter-gson:2.3.0'
|
||||
api 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
|
||||
api 'com.amitshekhar.android:rx2-android-networking:1.0.0'
|
||||
api 'com.google.android.material:material:1.0.0'
|
||||
api 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:5.3.1'
|
||||
api 'com.airbnb.android:lottie:1.0.1'
|
||||
implementation files('libs/eventbus-2.4.0.jar')
|
||||
api 'ru.noties:scrollable:1.3.0'
|
||||
api 'ru.noties:vt:1.0.0'
|
||||
api 'com.tencent.bugly:crashreport:latest.release'
|
||||
//其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.1.9
|
||||
api 'com.tencent.bugly:nativecrashreport:latest.release'
|
||||
//其中latest.release指代最新Bugly NDK版本号,也可以指定明确的版本号,例如3.0
|
||||
api 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
|
||||
api 'com.github.clans:fab:1.6.4'
|
||||
implementation files('libs/umeng-share-Ding-6.9.4.jar')
|
||||
implementation files('libs/libddshare.jar')
|
||||
implementation 'com.github.oneAcorn:OverlayCardViewPager:v1.0'
|
||||
//折叠效果卡片布局
|
||||
implementation files('libs/libwwsdk.jar')
|
||||
implementation 'com.google.zxing:core:3.3.0'
|
||||
implementation files('libs/ioc_sdk.jar')
|
||||
implementation project(':citypicker')
|
||||
api 'com.amap.api:location:latest.integration'
|
||||
implementation files('libs/Msc.jar')
|
||||
implementation files('libs/alipaySdk-20180601.jar')
|
||||
|
||||
//Google开源的一个布局控件
|
||||
implementation project(':multiple-status-view')
|
||||
//kotlin 支持库
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||
// Kotlin 标准库(DataBinding 编译器在 AGP 8.x 中需要)
|
||||
compileOnly "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||
//smartRefreshLayout 下拉刷新
|
||||
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.3'
|
||||
implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.3'
|
||||
implementation 'jp.wasabeef:richeditor-android:1.2.2'
|
||||
// 注意:由于 cc-register 插件与 AGP 8.x 不兼容,addComponent 方法不可用
|
||||
// 使用标准的 implementation project() 方式替代
|
||||
implementation project(':ccdemo')
|
||||
implementation project(':personnel')
|
||||
implementation project(':demo_component_a')
|
||||
implementation project(':video')
|
||||
implementation project(':xiansuo')
|
||||
|
||||
implementation project(path: ':base')
|
||||
implementation 'jp.wasabeef:richeditor-android:1.2.2'
|
||||
|
||||
|
||||
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.17'
|
||||
implementation 'me.jessyan:autosize:0.9.5'
|
||||
implementation 'org.jsoup:jsoup:1.10.1'
|
||||
|
||||
// implementation 'com.bytedance.ies.ugc.aweme:opensdk-china-external:0.1.4.0' // 依赖找不到,暂时注释
|
||||
// implementation 'com.bytedance.ies.ugc.aweme:opensdk-common:0.1.4.0' // 依赖找不到,暂时注释
|
||||
}
|
||||
1
app/debug/output.json
Normal file
1
app/debug/output.json
Normal file
@@ -0,0 +1 @@
|
||||
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1},"path":"app-debug.apk","properties":{"packageId":"com.fanghoo.mendian","split":"","minSdkVersion":"16"}}]
|
||||
BIN
app/fenghoo.jks
Normal file
BIN
app/fenghoo.jks
Normal file
Binary file not shown.
6
app/libs/META-INF/MANIFEST.MF
Normal file
6
app/libs/META-INF/MANIFEST.MF
Normal file
@@ -0,0 +1,6 @@
|
||||
Manifest-Version: 1.0
|
||||
Ant-Version: Apache Ant 1.9.3
|
||||
Created-By: 1.7.0_95-b00 (Oracle Corporation)
|
||||
Implementation-Version: 454340
|
||||
TimeStamp: 20170609_115346
|
||||
|
||||
BIN
app/libs/Msc.jar
Normal file
BIN
app/libs/Msc.jar
Normal file
Binary file not shown.
BIN
app/libs/NewLivePlayer-new.jar
Normal file
BIN
app/libs/NewLivePlayer-new.jar
Normal file
Binary file not shown.
BIN
app/libs/SocialSDK_WeChat_Simplify.jar
Normal file
BIN
app/libs/SocialSDK_WeChat_Simplify.jar
Normal file
Binary file not shown.
BIN
app/libs/alipaySdk-20180601.jar
Normal file
BIN
app/libs/alipaySdk-20180601.jar
Normal file
Binary file not shown.
BIN
app/libs/arm64-v8a/libmsc.so
Normal file
BIN
app/libs/arm64-v8a/libmsc.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi-v7a/libNewAllStreamParser.so
Normal file
BIN
app/libs/armeabi-v7a/libNewAllStreamParser.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi-v7a/libmsc.so
Normal file
BIN
app/libs/armeabi-v7a/libmsc.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi-v7a/libtripledes.so
Normal file
BIN
app/libs/armeabi-v7a/libtripledes.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libG711aDec.so
Normal file
BIN
app/libs/armeabi/libG711aDec.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libJpgDecode.so
Normal file
BIN
app/libs/armeabi/libJpgDecode.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libJunJiAdpcmDec.so
Normal file
BIN
app/libs/armeabi/libJunJiAdpcmDec.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libLysFastH264Decode.so
Normal file
BIN
app/libs/armeabi/libLysFastH264Decode.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libLysH264Decode.so
Normal file
BIN
app/libs/armeabi/libLysH264Decode.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libMp4StreamParser.so
Normal file
BIN
app/libs/armeabi/libMp4StreamParser.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libMpeg4Decode.so
Normal file
BIN
app/libs/armeabi/libMpeg4Decode.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libNewAllStreamParser.so
Normal file
BIN
app/libs/armeabi/libNewAllStreamParser.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libStreamtomp4.so
Normal file
BIN
app/libs/armeabi/libStreamtomp4.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libYuvDecode.so
Normal file
BIN
app/libs/armeabi/libYuvDecode.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libaacDecode.so
Normal file
BIN
app/libs/armeabi/libaacDecode.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libffmpeg.so
Normal file
BIN
app/libs/armeabi/libffmpeg.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libgetuiext2.so
Normal file
BIN
app/libs/armeabi/libgetuiext2.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libmsc.so
Normal file
BIN
app/libs/armeabi/libmsc.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libtripledes.so
Normal file
BIN
app/libs/armeabi/libtripledes.so
Normal file
Binary file not shown.
BIN
app/libs/armeabi/libzerolink.so
Normal file
BIN
app/libs/armeabi/libzerolink.so
Normal file
Binary file not shown.
BIN
app/libs/eventbus-2.4.0.jar
Normal file
BIN
app/libs/eventbus-2.4.0.jar
Normal file
Binary file not shown.
BIN
app/libs/ioc_sdk.jar
Normal file
BIN
app/libs/ioc_sdk.jar
Normal file
Binary file not shown.
BIN
app/libs/libddshare.jar
Normal file
BIN
app/libs/libddshare.jar
Normal file
Binary file not shown.
BIN
app/libs/libwwsdk.jar
Normal file
BIN
app/libs/libwwsdk.jar
Normal file
Binary file not shown.
Binary file not shown.
BIN
app/libs/umeng-share-Ding-6.9.4.jar
Normal file
BIN
app/libs/umeng-share-Ding-6.9.4.jar
Normal file
Binary file not shown.
BIN
app/libs/umeng_social_api.jar
Normal file
BIN
app/libs/umeng_social_api.jar
Normal file
Binary file not shown.
BIN
app/libs/umeng_social_net.jar
Normal file
BIN
app/libs/umeng_social_net.jar
Normal file
Binary file not shown.
BIN
app/libs/umeng_social_shareview.jar
Normal file
BIN
app/libs/umeng_social_shareview.jar
Normal file
Binary file not shown.
BIN
app/libs/umeng_social_tool.jar
Normal file
BIN
app/libs/umeng_social_tool.jar
Normal file
Binary file not shown.
1
app/lingApk/release/output.json
Normal file
1
app/lingApk/release/output.json
Normal file
@@ -0,0 +1 @@
|
||||
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":145,"versionName":"1.4.5","enabled":true,"outputFile":"-lingApk-vnull-2020-10-22-17.26.apk","fullName":"lingApkRelease","baseName":"lingApk-release"},"path":"-lingApk-vnull-2020-10-22-17.26.apk","properties":{}}]
|
||||
320
app/proguard-rules.pro
vendored
Normal file
320
app/proguard-rules.pro
vendored
Normal file
@@ -0,0 +1,320 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
# Uncomment this to preserve the line number information for
|
||||
# debugging stack traces.
|
||||
#-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
||||
|
||||
|
||||
-keep class com.google.android.material.** {*;}
|
||||
-keep class androidx.** {*;}
|
||||
-keep public class * extends androidx.**
|
||||
-keep interface androidx.** {*;}
|
||||
-dontwarn com.google.android.material.**
|
||||
-dontnote com.google.android.material.**
|
||||
-dontwarn androidx.**
|
||||
|
||||
|
||||
-dontpreverify
|
||||
-dontwarn com.alibaba.fastjson.**
|
||||
-dontwarn com.umeng.message.**
|
||||
-dontwarn com.amap.**
|
||||
-dontwarn rx.internal.util.**
|
||||
-dontwarn okio.**
|
||||
|
||||
|
||||
|
||||
#############################################
|
||||
#
|
||||
# 对于一些基本指令的添加
|
||||
#
|
||||
#############################################
|
||||
# 代码混淆压缩比,在0~7之间,默认为5,一般不做修改
|
||||
-optimizationpasses 5
|
||||
|
||||
# 混合时不使用大小写混合,混合后的类名为小写
|
||||
-dontusemixedcaseclassnames
|
||||
|
||||
# 指定不去忽略非公共库的类
|
||||
-dontskipnonpubliclibraryclasses
|
||||
|
||||
# 这句话能够使我们的项目混淆后产生映射文件
|
||||
# 包含有类名->混淆后类名的映射关系
|
||||
-verbose
|
||||
|
||||
# 指定不去忽略非公共库的类成员
|
||||
-dontskipnonpubliclibraryclassmembers
|
||||
|
||||
# 不做预校验,preverify是proguard的四个步骤之一,Android不需要preverify,去掉这一步能够加快混淆速度。
|
||||
-dontpreverify
|
||||
|
||||
# 保留Annotation不混淆
|
||||
-keepattributes *Annotation*,InnerClasses
|
||||
|
||||
# 避免混淆泛型
|
||||
-keepattributes Signature
|
||||
|
||||
# 抛出异常时保留代码行号
|
||||
-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# 指定混淆是采用的算法,后面的参数是一个过滤器
|
||||
# 这个过滤器是谷歌推荐的算法,一般不做更改
|
||||
-optimizations !code/simplification/cast,!field/*,!class/merging/*
|
||||
|
||||
|
||||
#############################################
|
||||
#
|
||||
# Android开发中一些需要保留的公共部分
|
||||
#
|
||||
#############################################
|
||||
|
||||
# 保留我们使用的四大组件,自定义的Application等等这些类不被混淆
|
||||
# 因为这些子类都有可能被外部调用
|
||||
-keep public class * extends android.app.Activity
|
||||
-keep public class * extends android.app.Appliction
|
||||
-keep public class * extends android.app.Service
|
||||
-keep public class * extends android.content.BroadcastReceiver
|
||||
-keep public class * extends android.content.ContentProvider
|
||||
-keep public class * extends android.app.backup.BackupAgentHelper
|
||||
-keep public class * extends android.preference.Preference
|
||||
-keep public class * extends android.view.View
|
||||
-keep public class com.android.vending.licensing.ILicensingService
|
||||
|
||||
|
||||
# 保留support下的所有类及其内部类
|
||||
-keep class android.support.** {*;}
|
||||
|
||||
# 保留继承的
|
||||
-keep public class * extends android.support.v4.**
|
||||
-keep public class * extends android.support.v7.**
|
||||
-keep public class * extends android.support.annotation.**
|
||||
|
||||
# 保留R下面的资源
|
||||
-keep class **.R$* {*;}
|
||||
|
||||
# 保留本地native方法不被混淆
|
||||
-keepclasseswithmembernames class * {
|
||||
native <methods>;
|
||||
}
|
||||
|
||||
# 保留在Activity中的方法参数是view的方法,
|
||||
# 这样以来我们在layout中写的onClick就不会被影响
|
||||
-keepclassmembers class * extends android.app.Activity{
|
||||
public void *(android.view.View);
|
||||
}
|
||||
|
||||
# 保留枚举类不被混淆
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
|
||||
# 保留我们自定义控件(继承自View)不被混淆
|
||||
-keep public class * extends android.view.View{
|
||||
*** get*();
|
||||
void set*(***);
|
||||
public <init>(android.content.Context);
|
||||
public <init>(android.content.Context, android.util.AttributeSet);
|
||||
public <init>(android.content.Context, android.util.AttributeSet, int);
|
||||
}
|
||||
|
||||
# 保留Parcelable序列化类不被混淆
|
||||
-keep class * implements android.os.Parcelable {
|
||||
public static final android.os.Parcelable$Creator *;
|
||||
}
|
||||
|
||||
# 保留Serializable序列化的类不被混淆
|
||||
-keepclassmembers class * implements java.io.Serializable {
|
||||
static final long serialVersionUID;
|
||||
private static final java.io.ObjectStreamField[] serialPersistentFields;
|
||||
!static !transient <fields>;
|
||||
!private <fields>;
|
||||
!private <methods>;
|
||||
private void writeObject(java.io.ObjectOutputStream);
|
||||
private void readObject(java.io.ObjectInputStream);
|
||||
java.lang.Object writeReplace();
|
||||
java.lang.Object readResolve();
|
||||
}
|
||||
|
||||
# 对于带有回调函数的onXXEvent、**On*Listener的,不能被混淆
|
||||
-keepclassmembers class * {
|
||||
void *(**On*Event);
|
||||
void *(**On*Listener);
|
||||
}
|
||||
|
||||
# webView处理,项目中没有使用到webView忽略即可
|
||||
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
public *;
|
||||
}
|
||||
-keepclassmembers class * extends android.webkit.webViewClient {
|
||||
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
|
||||
public boolean *(android.webkit.WebView, java.lang.String);
|
||||
}
|
||||
-keepclassmembers class * extends android.webkit.webViewClient {
|
||||
public void *(android.webkit.webView, jav.lang.String);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#友盟推送混淆
|
||||
-dontwarn com.taobao.**
|
||||
-dontwarn anet.channel.**
|
||||
-dontwarn anetwork.channel.**
|
||||
-dontwarn org.android.**
|
||||
-dontwarn org.apache.thrift.**
|
||||
-dontwarn com.xiaomi.**
|
||||
-dontwarn com.huawei.**
|
||||
-dontwarn com.meizu.**
|
||||
-keepattributes *Annotation*
|
||||
-keep class com.taobao.** {*;}
|
||||
-keep class org.android.** {*;}
|
||||
-keep class anet.channel.** {*;}
|
||||
-keep class com.umeng.** {*;}
|
||||
-keep class com.xiaomi.** {*;}
|
||||
-keep class com.huawei.** {*;}
|
||||
-keep class com.meizu.** {*;}
|
||||
-keep class org.apache.thrift.** {*;}
|
||||
-keep class com.alibaba.sdk.android.**{*;}
|
||||
-keep class com.ut.**{*;}
|
||||
-keep class com.ta.**{*;}
|
||||
-keep public class **.R$*{
|
||||
public static final int *;
|
||||
}
|
||||
|
||||
|
||||
##SDK需要引用导入工程的资源文件,通过了反射机制得到资源引用文件R.java,但是在开发者通过proguard等混淆/优化工具处理apk时,proguard可能会将R.java删除
|
||||
#-keep public class [com.dachun.dazhihui].R$*{
|
||||
#public static final int *;
|
||||
#}
|
||||
|
||||
#分享混淆
|
||||
-dontshrink
|
||||
-dontoptimize
|
||||
-dontwarn com.google.android.maps.**
|
||||
-dontwarn android.webkit.WebView
|
||||
-dontwarn com.umeng.**
|
||||
-dontwarn com.tencent.weibo.sdk.**
|
||||
-keep public class javax.**
|
||||
-keep public class android.webkit.**
|
||||
-dontwarn android.support.v4.**
|
||||
-keepattributes Exceptions,InnerClasses,Signature
|
||||
-keepattributes *Annotation*
|
||||
-keepattributes SourceFile,LineNumberTable
|
||||
-keep public interface com.tencent.**
|
||||
-keep public interface com.umeng.socialize.**
|
||||
-keep public interface com.umeng.socialize.sensor.**
|
||||
-keep public interface com.umeng.scrshot.**
|
||||
-keep public class com.umeng.socialize.* {*;}
|
||||
-keep class com.umeng.scrshot.**
|
||||
-keep public class com.tencent.** {*;}
|
||||
-keep class com.umeng.socialize.sensor.**
|
||||
-keep class com.umeng.socialize.handler.**
|
||||
-keep class com.umeng.socialize.handler.*
|
||||
-keep class com.umeng.weixin.handler.**
|
||||
-keep class com.umeng.weixin.handler.*
|
||||
-keep class UMMoreHandler{*;}
|
||||
-keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;}
|
||||
-keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;}
|
||||
-keep class im.yixin.sdk.api.YXMessage {*;}
|
||||
-keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}
|
||||
-keep class com.tencent.mm.sdk.** {
|
||||
*;
|
||||
}
|
||||
-keep class com.tencent.mm.opensdk.** {
|
||||
*;
|
||||
}
|
||||
-keep class com.tencent.wxop.** {
|
||||
*;
|
||||
}
|
||||
-keep class com.tencent.mm.sdk.** {
|
||||
*;
|
||||
}
|
||||
-keep class com.tencent.** {*;}
|
||||
-dontwarn com.tencent.**
|
||||
-keep class com.kakao.** {*;}
|
||||
-dontwarn com.kakao.**
|
||||
-keep public class com.umeng.com.umeng.soexample.R$*{
|
||||
public static final int *;
|
||||
}
|
||||
-keep public class com.linkedin.android.mobilesdk.R$*{
|
||||
public static final int *;
|
||||
}
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
-keep class com.tencent.open.TDialog$*
|
||||
-keep class com.tencent.open.TDialog$* {*;}
|
||||
-keep class com.tencent.open.PKDialog
|
||||
-keep class com.tencent.open.PKDialog {*;}
|
||||
-keep class com.tencent.open.PKDialog$*
|
||||
-keep class com.tencent.open.PKDialog$* {*;}
|
||||
-keep class com.umeng.socialize.impl.ImageImpl {*;}
|
||||
-keep class com.sina.** {*;}
|
||||
-dontwarn com.sina.**
|
||||
-keep class com.alipay.share.sdk.** {
|
||||
*;
|
||||
}
|
||||
-keepnames class * implements android.os.Parcelable {
|
||||
public static final ** CREATOR;
|
||||
}
|
||||
-keep class com.linkedin.** { *; }
|
||||
-keep class com.android.dingtalk.share.ddsharemodule.** { *; }
|
||||
-keepattributes Signature
|
||||
|
||||
#okhttp
|
||||
-dontwarn okhttp3.**
|
||||
-keep class okhttp3.**{*;}
|
||||
|
||||
#okio
|
||||
-dontwarn okio.**
|
||||
-keep class okio.**{*;}
|
||||
|
||||
-ignorewarnings -keep class * { public private *; }
|
||||
|
||||
#bugly
|
||||
-dontwarn com.tencent.bugly.**
|
||||
-keep public class com.tencent.bugly.**{*;}
|
||||
|
||||
############====================androidannotations====================##############
|
||||
-dontwarn org.androidannotations.**
|
||||
-keep class org.androidannotations.** {*;}
|
||||
##处理注释属性
|
||||
#-keepattributes *Annotation*
|
||||
#
|
||||
-dontwarn org.springframework.**
|
||||
#-keep class org.springframework.**{*;}
|
||||
|
||||
# Bugly混淆规则
|
||||
-dontwarn com.tencent.bugly.**
|
||||
-keep public class com.tencent.bugly.**{*;}
|
||||
# tinker混淆规则
|
||||
-dontwarn com.tencent.tinker.**
|
||||
-keep class com.tencent.tinker.** { *; }
|
||||
|
||||
# 避免影响升级功能,需要keep住support包的类
|
||||
-keep class android.support.**{*;}
|
||||
-keep class com.iflytek.**{*;}
|
||||
-keepattributes Signature
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1
app/release/output.json
Normal file
1
app/release/output.json
Normal file
@@ -0,0 +1 @@
|
||||
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":147,"versionName":"1.4.7","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.fanghoo.mendian;
|
||||
|
||||
import android.content.Context;
|
||||
import androidx.test.platform.app.InstrumentationRegistry;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Instrumented test, which will execute on an Android device.
|
||||
*
|
||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ExampleInstrumentedTest {
|
||||
@Test
|
||||
public void useAppContext() throws Exception {
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getTargetContext();
|
||||
|
||||
assertEquals("com.fanghoo.mendian", appContext.getPackageName());
|
||||
}
|
||||
}
|
||||
475
app/src/main/AndroidManifest.xml
Normal file
475
app/src/main/AndroidManifest.xml
Normal file
@@ -0,0 +1,475 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.fanghoo.mendian">
|
||||
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->
|
||||
<uses-feature android:name="android.hardware.camera.autofocus" /> <!-- 访问网络,网络定位需要上网 -->
|
||||
<uses-permission android:name="android.permission.CALL_PHONE" /> <!-- 腾讯bugly权限 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <!-- Bugly升级SDK权限配置开始 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 二维码扫描 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 震动权限 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 摄像头权限 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 用于申请调用A-GPS模块 -->
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 用于读取手机当前的状态 -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 写入扩展存储,向扩展卡写入数据,用于写入缓存定位数据 -->
|
||||
<uses-permission android:name="android.permission.INTERNET" /> <!-- 获取手机录音机使用权限,听写、识别、语义理解需要用到此权限 -->
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 读取联系人权限,上传联系人需要用到此权限 -->
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.READ_CONTACTS" /> <!-- 网络权限,加载网络网页需要联网 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 精确定位权限,允许一个程序访问精确位置(GPS定位) -->
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
|
||||
<application
|
||||
android:name=".application.MdApplication"
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/yunguandian"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/yunguandian"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
android:usesCleartextTraffic="true">
|
||||
<activity android:name=".activity.making.MoreDetailsActivity"></activity>
|
||||
<activity android:name=".activity.making.ZiActivity" />
|
||||
<activity android:name=".activity.making.updatestate.UpdatetimeActivity" />
|
||||
<activity android:name=".activity.making.holder.QuestionActivity" />
|
||||
<activity android:name=".activity.making.RobCustomerActivity" />
|
||||
<activity android:name=".activity.making.RobCustomerInfoActivity" />
|
||||
<activity android:name=".gongju.TaskDetailsActivity" />
|
||||
<activity android:name=".activity.wode.VrPreviewActivity" />
|
||||
<activity android:name=".activity.wode.ManCusActivity" />
|
||||
<activity
|
||||
android:name=".activity.wode.DesignActivity"
|
||||
android:configChanges="orientation|keyboardHidden"
|
||||
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
|
||||
<activity android:name=".activity.wode.WorksDetailActivity" />
|
||||
<activity
|
||||
android:name=".activity.wode.NewDemindActivity"
|
||||
android:configChanges="orientation|keyboardHidden"
|
||||
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
|
||||
<activity android:name=".activity.wode.CloundVrActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.data.DateSelectActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.PutMoneyActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.making.TestWebActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".kuaisudan.ListActivity" android:screenOrientation="portrait" />
|
||||
<activity android:name=".kuaisudan.KOrderFormActivity" />
|
||||
<activity android:name=".activity.making.JiekouTestActivity" android:screenOrientation="portrait"/>
|
||||
<activity
|
||||
android:name=".activity.HomeActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.MainActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.MoActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.XikeInfoActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.WelcomeActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/AppStartTheme">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".login.GuideActivity"
|
||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
||||
android:exported="true"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.making.RelationSelectActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.making.RelationHistoryActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.testtime.MainTimeActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.making.MarkingActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.FragmentSettingActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name="me.nereo.multi_image_selector.MultiImageSelectorActivity"
|
||||
android:configChanges="orientation|screenSize"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.CameraIdWxBingActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.CloundShopActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.InformationAndSecurity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.BalanceActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.ChangePasswordActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.WithdrawActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 我的模块 -->
|
||||
<activity
|
||||
android:name=".activity.order.OrderFormActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.order.InventoryQueryGoodsActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|stateAlwaysHidden" />
|
||||
<activity
|
||||
android:name=".activity.order.ReturnFormListActivity"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|stateAlwaysHidden" />
|
||||
<activity
|
||||
android:name=".activity.order.ShenhePassActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.order.OrderHistoryVoucherActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.order.OrderBigImageviewActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".wxapi.WXEntryActivity"
|
||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
||||
android:exported="true"
|
||||
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
|
||||
<activity
|
||||
android:name=".activity.order.OrderDraftsActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.order.LiuModeActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.order.ReturnCheckPassedActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.DetialDiscraptionActivtiy"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.SellLearnActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.order.ReturnFormActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|stateAlwaysHidden" />
|
||||
<activity
|
||||
android:name=".activity.order.ReturnLiuModeActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|stateAlwaysHidden" />
|
||||
<activity
|
||||
android:name=".login.LoginCode.LoginActivityCode"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|stateAlwaysHidden" />
|
||||
<activity
|
||||
android:name=".login.LoginPassword.LoginPasswordActivity"
|
||||
android:exported="true"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|stateAlwaysHidden">
|
||||
<intent-filter>
|
||||
|
||||
<!-- 协议部分,随便设置 -->
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<!-- 下面这两项必须得设置 -->
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
|
||||
<data
|
||||
android:host="goods"
|
||||
android:path="/goodsDetail"
|
||||
android:port="8888"
|
||||
android:scheme="watson" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".activity.making.PublishActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.making.PhotoViewActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.DifferentRecommendActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.FromManagerActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.FromManagerActivitytwo"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.SelectActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.order.HistoryReturnOrderActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.order.HistoryReturnFormListActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".widget.umeyeNewSdk.AcJLSnapDemo"
|
||||
android:label="@string/app_name"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".widget.umeyeNewSdk.AcLogo"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.MineMessageActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.wode.MingpianActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.data.SelectTimeActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.making.markingpage.RefactorMarkingDetail"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateAlwaysHidden|stateHidden|adjustPan" />
|
||||
<activity
|
||||
android:name=".activity.making.markingpage.RefactorMarkingDetailModify"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateAlwaysHidden|stateHidden|adjustPan" />
|
||||
<activity
|
||||
android:name=".activity.making.RecomInforActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateAlwaysHidden|stateHidden|adjustPan" />
|
||||
<activity
|
||||
android:name=".ordermodular.AddGoodsActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity android:name=".activity.making.NewMarkingHomePage" />
|
||||
<activity android:name=".activity.wode.NewMarkingHomePagekehu" />
|
||||
<activity android:name=".activity.wode.BillingInformationActivity" />
|
||||
<activity
|
||||
android:name=".activity.wode.ReportRewardActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 订单模块 -->
|
||||
<activity android:name=".activity.wode.TestButtonActivity" />
|
||||
<activity
|
||||
android:name=".activity.wode.GeneralReportDetailActivity"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".activity.wode.GuanlianReportDetailActivity"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity android:name=".activity.wode.TransactionDetailActivity" />
|
||||
<activity
|
||||
android:name=".ordermodular.OrderInfoActivity"
|
||||
android:configChanges="orientation|keyboardHidden|screenSize"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|stateAlwaysHidden" />
|
||||
<activity
|
||||
android:name=".ordermodular.ModifyActivity"
|
||||
android:configChanges="orientation|keyboardHidden|screenSize"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|stateAlwaysHidden" />
|
||||
<activity
|
||||
android:name=".ordermodular.ChangeOrderInfoActivity"
|
||||
android:configChanges="orientation|keyboardHidden|screenSize"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|stateAlwaysHidden" />
|
||||
<activity
|
||||
android:name=".activity.wode.FanganViewActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden" />
|
||||
<activity android:name=".activity.making.ReferraActivitytwo" />
|
||||
<activity android:name=".activity.making.ReferraActivitythree" />
|
||||
<activity
|
||||
android:name=".activity.wode.YiyeShenDetailActivity"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity android:name=".activity.wode.ZhuanjieDetailActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.making.ConRefInfoActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.making.AllocationActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.making.AllocationSelectActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.making.BindQrCodeActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.making.CommentActivity" android:screenOrientation="portrait"/>
|
||||
<activity
|
||||
android:name=".activity.making.XiansuoActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/DefaultCityPickerTheme" />
|
||||
<activity android:name=".activity.making.XiaosuoActivitytwo" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.YiyeActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".view.webview.WebActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".view.webview.WebActivitytwo" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".view.webview.XfiveWebActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.making.TrackCusActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.data.ShareSummaryActivity" android:screenOrientation="portrait"/>
|
||||
<activity
|
||||
android:name=".view.dialog.DialogActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/DialogRight" />
|
||||
<activity
|
||||
android:name=".view.dialog.WechatDialogActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/DialogRight" />
|
||||
<activity android:name=".activity.wode.MarketingToolActivity" android:screenOrientation="portrait"/>
|
||||
<activity
|
||||
android:name=".activity.wode.CloundSolutionActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/DefaultCityPickerTheme" />
|
||||
<activity
|
||||
android:name=".zxing.activity.CaptureActivity"
|
||||
android:label="@string/app_name"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity android:name=".ordermodular.QRCodeInfoActivity" android:screenOrientation="portrait"/> <!-- <activity -->
|
||||
<activity android:name=".ordermodular.QRCodeInfoYouHuiActivity" android:screenOrientation="portrait"/> <!-- <activity -->
|
||||
<!-- android:name=".gongju.CompassActivity" -->
|
||||
<!-- android:screenOrientation="portrait" /> -->
|
||||
<!-- <activity -->
|
||||
<!-- android:name=".gongju.CompassResultActivity" -->
|
||||
<!-- android:screenOrientation="portrait" /> -->
|
||||
<!-- <activity -->
|
||||
<!-- android:name=".gongju.OrientationResultActivity" -->
|
||||
<!-- android:screenOrientation="portrait" /> -->
|
||||
<!-- <activity -->
|
||||
<!-- android:name=".gongju.RoomResultActivity" -->
|
||||
<!-- android:screenOrientation="portrait" /> -->
|
||||
<!-- <activity -->
|
||||
<!-- android:name=".view.dialog.LoadingDialog" -->
|
||||
<!-- android:theme="@style/MyDialogStyle" /> -->
|
||||
<activity android:name=".activity.wode.FissionShareActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.FissionShareActivityTwo" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.FissionShareActivityThree" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.GroupShareActivityTwo" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.LocationActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.WxAddActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.CloudrefActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.BarShareActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.PowderShareActivitytwo" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.CloundRecommendActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.CloundRecommendListActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.DesignerListActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.CloundWxtActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.CrossReActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.CrossReCodeActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.DesignerInfoActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.DesignerCodeActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.CloudBarActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.CloudPowderActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.OldbeltnewListActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.making.ReferInfoActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.ReferRecommendListActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.SolutionListActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.CloundFissionActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.CloundDouyinActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.addVideoActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.SetActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.CloundGroupActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.wode.OldbeltnewActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.NewActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.EditActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.RegCusActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.GroupRegCusActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.PowderRegCusActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.DataStaActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.GroupDataStaActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.BarDataStaActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.BarRegCusActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.PowderDataStaActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.DetailsActivitytwo" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.GroupDetailsActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".gongju.PoderDetailsActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.making.DrainingActivity" android:screenOrientation="portrait"/>
|
||||
<activity android:name=".activity.making.DrainingInfoActivity" android:screenOrientation="portrait"/> <!-- <activity -->
|
||||
<!-- android:name=".wxapi.WXPayEntryActivity" -->
|
||||
<!-- android:exported="true" -->
|
||||
<!-- android:launchMode="singleTop"> -->
|
||||
<!-- <intent-filter> -->
|
||||
<!-- <action android:name="android.intent.action.VIEW" /> -->
|
||||
<!-- <category android:name="android.intent.category.DEFAULT" /> -->
|
||||
<!-- <data android:scheme="wx1481d6c56d91140d" /> -->
|
||||
<!-- </intent-filter> -->
|
||||
<!-- </activity> -->
|
||||
<activity
|
||||
android:name=".wxapi.WXPayEntryActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:exported="true"
|
||||
android:launchMode="singleTop" />
|
||||
<activity
|
||||
android:name="com.alipay.sdk.app.H5PayActivity"
|
||||
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
|
||||
android:exported="false"
|
||||
android:screenOrientation="behind"
|
||||
android:windowSoftInputMode="adjustResize|stateHidden" />
|
||||
<activity
|
||||
android:name="com.alipay.sdk.app.H5AuthActivity"
|
||||
android:configChanges="orientation|keyboardHidden|navigation"
|
||||
android:exported="false"
|
||||
android:screenOrientation="behind"
|
||||
android:windowSoftInputMode="adjustResize|stateHidden" />
|
||||
<activity
|
||||
android:name=".douyinapi.DouYinEntryActivity"
|
||||
android:launchMode="singleTask"
|
||||
android:taskAffinity="com.fanghoo.mendian"
|
||||
android:exported="true">
|
||||
</activity>
|
||||
|
||||
<!-- 覆盖第三方库中的 Activity,添加 android:exported 属性 -->
|
||||
<activity
|
||||
android:name="com.squareup.leakcanary.internal.DisplayLeakActivity"
|
||||
android:exported="false"
|
||||
tools:replace="android:exported" />
|
||||
<activity
|
||||
android:name="com.darsh.multipleimageselect.activities.AlbumSelectActivity"
|
||||
android:exported="false"
|
||||
tools:replace="android:exported" />
|
||||
<activity
|
||||
android:name="com.darsh.multipleimageselect.activities.ImageSelectActivity"
|
||||
android:exported="false"
|
||||
tools:replace="android:exported" />
|
||||
|
||||
<meta-data
|
||||
android:name="com.amap.api.v2.apikey"
|
||||
android:value="c7168ef8c92940e19399dfd41cb3968e" />
|
||||
<meta-data
|
||||
android:name="UMENG_APPKEY"
|
||||
android:value="5af18c718f4a9d194100005b" />
|
||||
<meta-data
|
||||
android:name="UMENG_MESSAGE_SECRET"
|
||||
android:value="9f2bf5e9d81ac6cd6ad59c502c74c9aa" />
|
||||
<meta-data
|
||||
android:name="UMENG_CHANNEL"
|
||||
android:value="baidu" /> <!-- alipay sdk begin -->
|
||||
<provider
|
||||
android:name=".MyFileProvider"
|
||||
android:authorities="${applicationId}.provider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/file_paths" />
|
||||
</provider>
|
||||
|
||||
<service android:name="com.amap.api.location.APSService" />
|
||||
|
||||
<provider
|
||||
android:name=".MyProvider"
|
||||
android:authorities="${applicationId}.fileProvider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/file_paths" />
|
||||
</provider>
|
||||
|
||||
<meta-data
|
||||
android:name="design_width_in_dp"
|
||||
android:value="360" />
|
||||
<meta-data
|
||||
android:name="design_height_in_dp"
|
||||
android:value="640" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
536
app/src/main/assets/MySetting.html
Normal file
536
app/src/main/assets/MySetting.html
Normal file
@@ -0,0 +1,536 @@
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
<script src="<?$JS_URL?>jquery.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="<?$JS_URL?>yidongduan.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="http://res2.wx.qq.com/open/js/jweixin-1.4.0.js" type="text/javascript" charset="utf-8"></script>
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
html,body,header,div,img,a,p,span,button,b,ul,li,i,em,strong,footer,h4{padding:0;margin:0;}
|
||||
li{list-style: none;}
|
||||
a{text-decoration: none;}
|
||||
em{ font-style: normal;}
|
||||
body {
|
||||
width: 7.2rem;
|
||||
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
|
||||
font-size: .28rem;
|
||||
color:#000;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
|
||||
}
|
||||
header h4{
|
||||
width: 7.2rem;
|
||||
height: .8rem;
|
||||
text-align: center;
|
||||
line-height: .8rem;
|
||||
position: relative;
|
||||
}
|
||||
header img{
|
||||
height: .4rem;
|
||||
position: absolute;
|
||||
left: .3rem;
|
||||
top:.2rem;
|
||||
}
|
||||
section .activity_img{
|
||||
width: 7.2rem;
|
||||
}
|
||||
section .activity_time{
|
||||
width: 6.8rem;
|
||||
padding: 0 .2rem;
|
||||
}
|
||||
section .activity_time p{
|
||||
margin: .2rem 0;
|
||||
}
|
||||
section .activity_time div{
|
||||
height: .7rem;
|
||||
line-height: .7rem;
|
||||
font-size: .22rem;
|
||||
color: #333333;
|
||||
}
|
||||
section .activity_fan {
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
}
|
||||
section .activity_fan span{
|
||||
display: inline-block;
|
||||
width: 5.1rem;
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis;
|
||||
white-space:nowrap;
|
||||
}
|
||||
section .activity_time strong{
|
||||
display: inline-block;
|
||||
width: 1.4rem;
|
||||
}
|
||||
section .activity_time button{
|
||||
margin:.3rem 0 .6rem .4rem;
|
||||
width: 6rem;
|
||||
height: .9rem;
|
||||
background: #F6D124;
|
||||
border-radius:.4rem ;
|
||||
border: 0;
|
||||
box-shadow:.02rem .04rem .01rem rgba(0,0,0,0.16);
|
||||
font-size: .3rem;
|
||||
}
|
||||
|
||||
section .reward{
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
flex-direction: column;
|
||||
-webkit-flex-direction: column;
|
||||
align-items: center;
|
||||
-webkit-align-items: center;
|
||||
width: 7.2rem;
|
||||
height: 12.6rem;
|
||||
background: url('<?$IMG_URL?>fission/tx.png') no-repeat;
|
||||
background-size: 7.2rem 12.6rem;
|
||||
}
|
||||
section .reward h3{
|
||||
color:#833100;
|
||||
height: .9rem;
|
||||
line-height: .9rem;
|
||||
background: #F6D124;
|
||||
width: 7.2rem;
|
||||
text-align: center;
|
||||
}
|
||||
section .ranking{
|
||||
padding-top: .55rem;
|
||||
background: #fff7ed;
|
||||
width: 6.6rem;
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
flex-direction: column;
|
||||
-webkit-flex-direction: column;
|
||||
align-items: center;
|
||||
-webkit-align-items: center;
|
||||
position: relative;
|
||||
height: 10.5rem;
|
||||
border-radius:.15rem ;
|
||||
}
|
||||
section .ranking .head{
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
justify-content: space-between;
|
||||
-webkit-justify-content: space-between;
|
||||
width: 6rem;
|
||||
position: absolute;
|
||||
top:-.24rem;
|
||||
left: .3rem;
|
||||
}
|
||||
section .ranking .head span{
|
||||
background: #FDAE00;
|
||||
padding: .01rem .2rem;
|
||||
border-radius:.5rem ;
|
||||
font-size: .24rem;
|
||||
}
|
||||
section li,section .my_ranking{
|
||||
padding: .12rem 0;
|
||||
width: 6.2rem;
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
justify-content: space-between;
|
||||
-webkit-justify-content: space-between;
|
||||
align-items: center;
|
||||
-webkit-align-items: center;
|
||||
}
|
||||
section .my_ranking{
|
||||
background: #F6D124;
|
||||
width: 6.2rem;
|
||||
padding:.12rem .15rem;
|
||||
}
|
||||
section .li_img{
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
justify-content: space-between;
|
||||
-webkit-justify-content: space-between;
|
||||
align-items: center;
|
||||
-webkit-align-items: center;
|
||||
}
|
||||
section .li_img em{
|
||||
display: inline-block;
|
||||
width: .42rem;
|
||||
text-align: center;
|
||||
}
|
||||
section li div:last-child,.my_ranking div:last-child{
|
||||
color: #F6AA0F;
|
||||
font-size: .34rem;
|
||||
}
|
||||
.activity_number{
|
||||
position: relative;
|
||||
}
|
||||
.activity_number .progress{
|
||||
font-size: .15rem;
|
||||
position: absolute;
|
||||
top:.22rem;
|
||||
right: 0;
|
||||
width: 3rem;
|
||||
background: #ECECEC;
|
||||
border-radius:.2rem ;
|
||||
height: .27rem;
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
align-items: center;
|
||||
-webkit-align-items: center;
|
||||
justify-content: space-between;
|
||||
-webkit-justify-content: space-between;
|
||||
}
|
||||
.activity_number .progress span{
|
||||
background:#F6D124;
|
||||
display: inline-block;
|
||||
border-radius:.2rem ;
|
||||
width:50%;
|
||||
height: .27rem;
|
||||
line-height: .27rem;
|
||||
white-space:nowrap;
|
||||
}
|
||||
section .rank_img{
|
||||
width: .4rem;
|
||||
}
|
||||
section .user_img{
|
||||
margin:0 .1rem 0 .2rem;
|
||||
width: .9rem;
|
||||
height: .9rem;
|
||||
border-radius:50% ;
|
||||
}
|
||||
.flex{
|
||||
position: fixed;
|
||||
right: .1rem;
|
||||
bottom: .6rem;
|
||||
}
|
||||
.flex div{
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
justify-content: center;
|
||||
-webkit-justify-content: center;
|
||||
align-items: center;
|
||||
-webkit-align-items: center;
|
||||
margin-bottom: .2rem;
|
||||
width: .8rem;
|
||||
height: .8rem;
|
||||
border-radius:50% ;
|
||||
background: #fff;
|
||||
box-shadow:0 0 .3rem rgba(0,0,0,0.16);
|
||||
position: relative;
|
||||
}
|
||||
.flex img{
|
||||
width: .5rem;
|
||||
}
|
||||
.flex span{
|
||||
display: inline-block;
|
||||
background: #F6D124;
|
||||
position: absolute;
|
||||
top:-.07rem;
|
||||
right: 0rem;
|
||||
height: .3rem;
|
||||
width: .3rem;
|
||||
line-height: .3rem;
|
||||
text-align: center;
|
||||
border-radius:50% ;
|
||||
font-size: .2rem;
|
||||
display: none;
|
||||
}
|
||||
/*弹窗信息*/
|
||||
.activity,.qr_code{
|
||||
position: relative;
|
||||
font-size: .28rem;
|
||||
z-index: 9999;
|
||||
display: none;
|
||||
position: fixed;
|
||||
left:0;
|
||||
top:0;
|
||||
width:7.2rem;
|
||||
height:100%;
|
||||
background: rgba(0,0,1,.6);
|
||||
color: #c17927;
|
||||
}
|
||||
.activity .popup,.qr_code .popup{
|
||||
background: #fff;
|
||||
width:6.2rem;
|
||||
border-radius:.2rem ;
|
||||
position: absolute;
|
||||
top:44%;
|
||||
left:50%;
|
||||
transform: translate(-50%,-50%);
|
||||
-webkit-transform: translate(-50%,-50%);
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
flex-direction: column;
|
||||
-webkit-flex-direction: column;
|
||||
align-items: center;
|
||||
-webkit-align-items: center;
|
||||
}
|
||||
.activity .popup h4{
|
||||
background: #F6D124;
|
||||
height: 0.65rem;
|
||||
width:6.2rem;
|
||||
border-top-left-radius: .1rem;
|
||||
border-top-right-radius: .1rem;
|
||||
line-height: .65rem;
|
||||
text-align: center;
|
||||
font-size: .3rem;
|
||||
font-weight:500 ;
|
||||
color: #000;
|
||||
margin-bottom: .2rem ;
|
||||
}
|
||||
.activity .popup input{
|
||||
height: .7rem ;
|
||||
line-height: .7rem;
|
||||
margin-top: .1rem;
|
||||
padding-left: .1rem ;
|
||||
border: 0;
|
||||
border-bottom: .02rem solid #DBDBDB;
|
||||
}
|
||||
.activity .popup .myname,.activity .popup .myphone{
|
||||
width: 5.7rem;
|
||||
}
|
||||
.activity .popup .verification{
|
||||
width: 3.5rem;
|
||||
}
|
||||
.activity .popup em{
|
||||
margin-left: .4rem;
|
||||
display: inline-block;
|
||||
width: 1.7rem;
|
||||
padding: .03rem 0;
|
||||
border: .02rem solid #000;
|
||||
color: #000;
|
||||
border-radius: .2rem;
|
||||
text-align: center;
|
||||
}
|
||||
.activity .popup button{
|
||||
margin:.4rem 0 ;
|
||||
width: 4.5rem;
|
||||
height: .7rem;
|
||||
background: #F6D124;
|
||||
border-radius:.4rem ;
|
||||
border: 0;
|
||||
box-shadow:.02rem .04rem .02rem rgba(0,0,0,0.16);
|
||||
}
|
||||
.activity .popup .zIndex{
|
||||
margin-left: .4rem;
|
||||
width: 1.9rem;
|
||||
height: .5rem;
|
||||
padding: .03rem 0;
|
||||
position: absolute;
|
||||
top:2.65rem;
|
||||
right: .15rem;
|
||||
z-index: -1;
|
||||
}
|
||||
.activity .close_popup,.qr_code .close_popup{
|
||||
position: absolute;
|
||||
bottom:-1.5rem;
|
||||
width: .6rem;
|
||||
}
|
||||
.qr_code .img_qr_code{
|
||||
width: 5.5rem;
|
||||
height: 5.2rem;
|
||||
}
|
||||
.qr_code .tips {
|
||||
color: #000;
|
||||
border-radius:.2rem ;
|
||||
padding: .02rem .1rem;
|
||||
background: #fff;
|
||||
position: absolute;
|
||||
bottom:-.6rem;
|
||||
}
|
||||
.loading {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
z-index: 15000;
|
||||
|
||||
}
|
||||
|
||||
.loading img {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-top: -60px;
|
||||
margin-left: -10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<!--<img src="<?$IMG_URL?>fission/fanhui.png" alt="" />-->
|
||||
<h4>活动</h4>
|
||||
</header>
|
||||
<section>
|
||||
<img class="activity_img" src="<?$IMG_URL?>fission/hb.png" alt="" class="buttonClass"
|
||||
onclick="javascript:button.click1()"/>
|
||||
<div class="activity_time">
|
||||
<p>本项目已经为你生成了一个完整的开发框架,提供了涵盖中后台开发的各类功能和坑位,下面是整个项目的目录结构。</p>
|
||||
<div class="activity_date">
|
||||
<strong>活动时间:</strong><span></span>
|
||||
</div>
|
||||
<div class="activity_fan">
|
||||
<strong>活动范围:</strong><span>多喜爱</span>
|
||||
</div>
|
||||
<div class="activity_number">
|
||||
<strong>活动人数:</strong><span class="numb">1000人</span>
|
||||
<div class="progress"><span>已预购122人</span><em>1000</em></div>
|
||||
</div>
|
||||
<div class="browse">
|
||||
<strong>浏览:</strong><span>1000人</span>
|
||||
</div>
|
||||
<button class="buttonClass" onclick="javascript:button.click2('参数1','参数2')">报名</button>
|
||||
</div>
|
||||
<div class="reward">
|
||||
<h3>奖励排行</h3>
|
||||
<div class="ranking">
|
||||
<div class="head">
|
||||
<span>排名</span>
|
||||
<span>活动奖励金额</span>
|
||||
</div>
|
||||
<div class="my_ranking">
|
||||
<div class="li_img">
|
||||
<img class="user_img"src="<?$IMG_URL?>fission/sr.png" alt="" />
|
||||
<span>**</span>
|
||||
</div>
|
||||
<div class="amount_money">0元</div>
|
||||
</div>
|
||||
<ul class="reward_list">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<div class="flex">
|
||||
<div>
|
||||
<a href="<?$WEB_URL?>fission/fissionApp/lists/id=<?$id?>&uid=<?$uid?>"><img class="buttonClass"
|
||||
onclick="javascript:button.click0('参数1','参数2')" src="img/fangan_speaking.png" alt="" /></a>
|
||||
<!--<span>1</span>-->
|
||||
</div>
|
||||
<div>
|
||||
<img src="<?$IMG_URL?>fission/fx.png" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
<article class="activity">
|
||||
<div class="popup">
|
||||
<h4>活动报名</h4>
|
||||
<input type="text" class="myname"placeholder="请输入您的姓名" />
|
||||
<input type="tel" class="myphone"placeholder="请收入您的手机号"/>
|
||||
<div>
|
||||
<input type="text" class="verification" placeholder="请输入手机验证码"/>
|
||||
<em class="verification_code">获取验证码</em>
|
||||
<div class="zIndex"></div>
|
||||
</div>
|
||||
<button class="btn">确认</button>
|
||||
<img class="close_popup"src="<?$IMG_URL?>fission/clear.png" alt="" />
|
||||
</div>
|
||||
</article>
|
||||
<article class="qr_code">
|
||||
<div class="popup">
|
||||
<img class="img_qr_code"src="<?$IMG_URL?>fission/hb.png" alt="" />
|
||||
<p class="tips">请到店之后将二维码出示给店员查看!</p>
|
||||
<img class="close_popup"src="<?$IMG_URL?>fission/clear.png" alt="" />
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<!-- 遮罩层 -->
|
||||
<!--<div id="loading" class="loading">
|
||||
<img src="../../../../templates/fenghu/img/loading.gif">
|
||||
</div>-->
|
||||
|
||||
|
||||
</body>
|
||||
<script type="text/javascript">
|
||||
$("body").css("overflow","hidden")
|
||||
|
||||
function srcimg(num){ //前三的排名图片
|
||||
var src="2";
|
||||
switch(num){
|
||||
case 1:src="<?$IMG_URL?>fission/tp.png";
|
||||
break;
|
||||
case 2:src="<?$IMG_URL?>fission/xp.png";
|
||||
break;
|
||||
case 3:src="<?$IMG_URL?>fission/jp.png";
|
||||
break;
|
||||
}
|
||||
return src
|
||||
}
|
||||
// var activityurl=window.location.href.split("=");
|
||||
// var urlid=activityurl[1].substring(0,activityurl[1].length-4);
|
||||
// var urluid=activityurl[2];
|
||||
var id="<?$id?>";//活动id
|
||||
var uid="<?$uid?>";
|
||||
$.ajax({
|
||||
url:'<?$WEB_URL?>fission/fissionApp/selInfro',
|
||||
dataType:'json',
|
||||
type:'post',
|
||||
data:{'id':id,'uid':uid},
|
||||
success:function(json){
|
||||
console.log(json);
|
||||
yemin(json);
|
||||
//遮罩层
|
||||
$("#loading").css("display","none");
|
||||
$("body").css("overflow","auto");
|
||||
|
||||
}
|
||||
})
|
||||
//页面加载函数
|
||||
function yemin(json){
|
||||
$(".activity_img").attr("src",json.infro.activity_img);
|
||||
$(".browse span").text(json.infro.browse+"人");
|
||||
$(".activity_date span").text(json.infro.start_time+' 至 '+json.infro.end_time);
|
||||
$(".progress span").text('已预购'+json.infro.enroll+'人').css('width',parseFloat(json.infro.total)*parseFloat(json.infro.enroll)/100+'%');
|
||||
$(".activity_time p").text(json.infro.title);
|
||||
$(".progress em").text(json.infro.total);
|
||||
$(".activity_number .numb").text(json.infro.total+"人");
|
||||
var htmlrange=json.infro.range[0].ranges;
|
||||
for (var j=1;j<json.infro.range.length;j++){
|
||||
htmlrange+=' 、 '+json.infro.range[j].ranges
|
||||
}
|
||||
$(".activity_fan span").text(htmlrange);
|
||||
if(json.status){
|
||||
$(".sign_up").text("查看二维码");
|
||||
$(".img_qr_code").attr("src",json.qrcode);
|
||||
}
|
||||
|
||||
// 自己排名
|
||||
$(".my_ranking .user_img").attr("src",json.userinfro.headimgurl);
|
||||
$(".my_ranking .li_img span").text(json.userinfro.nickname);
|
||||
$(".my_ranking .amount_money").text(json.userinfro.money+"元");
|
||||
if(parseInt(json.userinfro.no_id)>3){
|
||||
$(".my_ranking .li_img").prepend('<em>'+json.userinfro.no_id+'</em>')
|
||||
}else{
|
||||
$(".my_ranking .li_img").prepend('<img class="rank_img"src="'+srcimg(parseInt(json.userinfro.no_id))+'" alt="" />')
|
||||
}
|
||||
// 排名列表
|
||||
var html='';
|
||||
for(var i=0;i<json.list.length;i++){
|
||||
html+='<li><div class="li_img">';
|
||||
if(parseInt(json.list[i].no_id)>3){
|
||||
html+='<em>'+json.list[i].no_id+'</em>';
|
||||
}else{
|
||||
html+='<img class="rank_img"src="'+srcimg(parseInt(json.list[i].no_id))+'" alt="" />';
|
||||
}
|
||||
html+='<img class="user_img"src="'+json.list[i].headimgurl+'" alt="" />';
|
||||
html+='<span>'+json.list[i].nickname+'</span>';
|
||||
html+='</div><div class="amount_money">'+json.list[i].money+'元</div></li>';
|
||||
}
|
||||
$(".reward_list").html(html);
|
||||
if(json.unread>0){
|
||||
$(".flex span").css("display","block").text(json.unread);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$(".close_popup").on("click",function(){
|
||||
$("article").hide();
|
||||
})
|
||||
//测试,没什么用
|
||||
function tzhuan(){
|
||||
window.location.href="www.123456";
|
||||
}
|
||||
|
||||
</script>
|
||||
</html>
|
||||
87
app/src/main/assets/allshowvisitor.json
Normal file
87
app/src/main/assets/allshowvisitor.json
Normal file
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"status": 0,
|
||||
"result": {
|
||||
"success": 0,
|
||||
"msg": "获取信息成功",
|
||||
"data": [
|
||||
{
|
||||
"clerk_recommend": "0",
|
||||
"design_recommend": "0",
|
||||
"design_user": "",
|
||||
"fistname": "测试",
|
||||
"identity": "",
|
||||
"last_record_time": "2024-01-01 10:00:00",
|
||||
"last_store_name": "",
|
||||
"marknamesec": "",
|
||||
"name": "测试客户1",
|
||||
"num": "1",
|
||||
"offer_user": "",
|
||||
"order_user": "",
|
||||
"phone": "13800138001",
|
||||
"phone_user": "",
|
||||
"property_user": "",
|
||||
"record_id": "mock_record_id_1",
|
||||
"record_time": "2024-01-01 10:00:00",
|
||||
"repeat_user": "",
|
||||
"room_user": "",
|
||||
"sec_user": "",
|
||||
"store_id": "mock_store_id",
|
||||
"store_name": "测试店铺",
|
||||
"totalnum": "1",
|
||||
"type": "0",
|
||||
"user_name": "测试用户",
|
||||
"visitor_head_img": "http://www.fenghoo.cn/templates/fenghu/img/photo_icon.png",
|
||||
"visitor_id": "mock_visitor_id_1",
|
||||
"visitor_sex": "1",
|
||||
"wechat_user": "",
|
||||
"camera_position": "",
|
||||
"accept_time": "",
|
||||
"wechat": "",
|
||||
"mark_time": "",
|
||||
"type_name": "新客户",
|
||||
"type_detail_name": "",
|
||||
"mark_type": ""
|
||||
},
|
||||
{
|
||||
"clerk_recommend": "0",
|
||||
"design_recommend": "0",
|
||||
"design_user": "",
|
||||
"fistname": "示例",
|
||||
"identity": "",
|
||||
"last_record_time": "2024-01-01 11:00:00",
|
||||
"last_store_name": "",
|
||||
"marknamesec": "",
|
||||
"name": "测试客户2",
|
||||
"num": "2",
|
||||
"offer_user": "",
|
||||
"order_user": "",
|
||||
"phone": "13800138002",
|
||||
"phone_user": "",
|
||||
"property_user": "",
|
||||
"record_id": "mock_record_id_2",
|
||||
"record_time": "2024-01-01 11:00:00",
|
||||
"repeat_user": "",
|
||||
"room_user": "",
|
||||
"sec_user": "",
|
||||
"store_id": "mock_store_id",
|
||||
"store_name": "测试店铺",
|
||||
"totalnum": "2",
|
||||
"type": "0",
|
||||
"user_name": "测试用户",
|
||||
"visitor_head_img": "http://www.fenghoo.cn/templates/fenghu/img/photo_icon.png",
|
||||
"visitor_id": "mock_visitor_id_2",
|
||||
"visitor_sex": "2",
|
||||
"wechat_user": "",
|
||||
"camera_position": "",
|
||||
"accept_time": "",
|
||||
"wechat": "",
|
||||
"mark_time": "",
|
||||
"type_name": "新客户",
|
||||
"type_detail_name": "",
|
||||
"mark_type": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
202
app/src/main/assets/details.json
Normal file
202
app/src/main/assets/details.json
Normal file
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"status": 0,
|
||||
"result": {
|
||||
"success": 0,
|
||||
"data": [{
|
||||
"money": "0.10",
|
||||
"type": "2",
|
||||
"time": "2019-09-04 16:04:38",
|
||||
"nickname": "\u5c0f\u7334\u5b50 cc."
|
||||
}, {
|
||||
"money": "0.19",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:04:05",
|
||||
"nickname": "\u56db\u53f6\u8349"
|
||||
}, {
|
||||
"money": "0.13",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:04:05",
|
||||
"nickname": "\u5c0f\u7334\u5b50 cc."
|
||||
}, {
|
||||
"money": "0.18",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u68a6\u4e2d\u5a77\u7acb"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:31:33",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.20",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u56db\u53f6\u8349"
|
||||
}, {
|
||||
"money": "0.20",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:31:33",
|
||||
"nickname": "\u56db\u53f6\u8349"
|
||||
}, {
|
||||
"money": "0.14",
|
||||
"type": "6",
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"nickname": "\u5c0f\u7334\u5b50 cc."
|
||||
}, {
|
||||
"money": "0.19",
|
||||
"type": "2",
|
||||
"time": "2019-09-04 16:10:47",
|
||||
"nickname": "\u68a6\u4e2d\u5a77\u7acb"
|
||||
}, {
|
||||
"money": "0.18",
|
||||
"type": "6",
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
},{
|
||||
"money": "0.16",
|
||||
"type": "1",
|
||||
"time": "2019-09-04 16:07:31",
|
||||
"nickname": "\u9526"
|
||||
}, {
|
||||
"money": "0.10",
|
||||
"type": "3",
|
||||
"time": "2019-09-04 16:10:34",
|
||||
"nickname": "\u9526"
|
||||
}],
|
||||
"acount": "98.13",
|
||||
"return_amount": null,
|
||||
"line_time": "",
|
||||
"msg": "\u83b7\u53d6\u4fe1\u606f\u6210\u529f"
|
||||
}
|
||||
}
|
||||
|
||||
71
app/src/main/assets/detialdiscraption.json
Normal file
71
app/src/main/assets/detialdiscraption.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"status": 0,
|
||||
"result": {
|
||||
"success": 0,
|
||||
"msg": "获取信息成功",
|
||||
"data": [
|
||||
{
|
||||
"id": "01f289380a0f9c0cf1793518d0bda3f9",
|
||||
"reward_type": "打标奖励",
|
||||
"change_amount": "0.6",
|
||||
"money_sum": "1.5",
|
||||
"system_time": "2018-04-18 10:11:03",
|
||||
"water_number": "2018041810110389167480",
|
||||
"user_name": "测试用户",
|
||||
"type": "1",
|
||||
"type2": "1",
|
||||
"status": "2"
|
||||
},
|
||||
{
|
||||
"id": "c814c12e115ccd5ed30d1b1d6d83b6be",
|
||||
"reward_type": "打标奖励",
|
||||
"change_amount": "0.9",
|
||||
"money_sum": "0.9",
|
||||
"system_time": "2018-04-18 10:07:55",
|
||||
"water_number": "2018041810075548721313",
|
||||
"user_name": "测试用户",
|
||||
"type": "1",
|
||||
"type2": "1",
|
||||
"status": "2"
|
||||
},
|
||||
{
|
||||
"id": "0732407ca9e03e06730660f0d4fc58a4",
|
||||
"reward_type": "打标奖励",
|
||||
"change_amount": "0.99",
|
||||
"money_sum": "2.49",
|
||||
"system_time": "2018-04-18 10:16:27",
|
||||
"water_number": "2018041810162758545837",
|
||||
"user_name": "测试用户",
|
||||
"type": "0",
|
||||
"type2": "1",
|
||||
"status": "2"
|
||||
},
|
||||
{
|
||||
"id": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
|
||||
"reward_type": "推荐奖励",
|
||||
"change_amount": "1.2",
|
||||
"money_sum": "3.69",
|
||||
"system_time": "2018-04-19 14:20:15",
|
||||
"water_number": "2018041914201598765432",
|
||||
"user_name": "测试用户",
|
||||
"type": "1",
|
||||
"type2": "1",
|
||||
"status": "2"
|
||||
},
|
||||
{
|
||||
"id": "b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7",
|
||||
"reward_type": "成交奖励",
|
||||
"change_amount": "2.5",
|
||||
"money_sum": "6.19",
|
||||
"system_time": "2018-04-20 09:30:45",
|
||||
"water_number": "2018042009304512345678",
|
||||
"user_name": "测试用户",
|
||||
"type": "1",
|
||||
"type2": "1",
|
||||
"status": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
843
app/src/main/assets/drainingactivity.json
Normal file
843
app/src/main/assets/drainingactivity.json
Normal file
@@ -0,0 +1,843 @@
|
||||
{
|
||||
"status": 0,
|
||||
"result": {
|
||||
"success": 0,
|
||||
"data": [
|
||||
{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},{
|
||||
"time": "2019-09-19 17:17:31",
|
||||
"phone": "13088909256",
|
||||
"name": "朱延庆",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/kd1GZVlJLpEu4k6na3XKw9QWNL22OhlNtUIXc0dtN9fyHHGxEy8zU77dj8eGYbic84Uk01tRsiaTyl3MNzh50PIA\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-19 17:17:14",
|
||||
"phone": "15129035956",
|
||||
"name": "吴某",
|
||||
"source_name": "权",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83eqdPSiaoHvonGFibFD52r6d2aib7XYKPUQPm8dbpJybukQP9km42kguAaF1fWBshrAXkPAVFuYZiboFSQ\/132",
|
||||
"title": "测试活动",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-18 13:28:40",
|
||||
"phone": "18291963950",
|
||||
"name": "郝",
|
||||
"source_name": "朱延庆",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/DYAIOgq83epDbRvqhyhUP4qUgcDwIUvGZIgd6AW5gAYNfvzx5xlQuvyA9RGYA1RmvGVnKk5PcusTGx1AogHzTA\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:11:56",
|
||||
"phone": "17691357294",
|
||||
"name": "权",
|
||||
"source_name": "建敏",
|
||||
"head_img": "http:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/ibptYDLr7NeLUbyMhaw5HUYKFtF0mI4u4HwL1ab9ric0icC0sGNM7ludsE8vyYHFFTMImlJAVjm5TViahibHHRqoviag\/132",
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
},
|
||||
{
|
||||
"time": "2019-09-04 16:05:38",
|
||||
"phone": "18291963950",
|
||||
"name": "dd",
|
||||
"source_name": "建敏",
|
||||
"head_img": null,
|
||||
"title": "vcjkl搞不好一节课了",
|
||||
"type": "1",
|
||||
"customer_id": ""
|
||||
}
|
||||
],
|
||||
"msg": "获取信息成功"
|
||||
}
|
||||
}
|
||||
30
app/src/main/assets/enrollUser.json
Normal file
30
app/src/main/assets/enrollUser.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"result": {
|
||||
"msg": "获取信息成功",
|
||||
|
||||
|
||||
"data": [{
|
||||
"phone": "17691357294",
|
||||
|
||||
|
||||
"head_img": "",
|
||||
|
||||
|
||||
"name": "权",
|
||||
|
||||
|
||||
"time": "2019-08-09 10:02:11",
|
||||
|
||||
|
||||
"source_name": ""
|
||||
|
||||
|
||||
}],
|
||||
"success": 0
|
||||
|
||||
|
||||
},
|
||||
"status": 0
|
||||
|
||||
|
||||
}
|
||||
34
app/src/main/assets/isBindCamera.json
Normal file
34
app/src/main/assets/isBindCamera.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"result": {
|
||||
"data": [
|
||||
{
|
||||
"camera_code": "umet5gygpc9u",
|
||||
"camera_id": "10007162",
|
||||
"camera_position": "大门",
|
||||
"camera_status": "0",
|
||||
"user_store": "dd3520f0f40726b849d7cdd7a623e06e"
|
||||
}, {
|
||||
"camera_code": "umet5gygpc9u",
|
||||
"camera_id": "10007162",
|
||||
"camera_position": "大门",
|
||||
"camera_status": "0",
|
||||
"user_store": "dd3520f0f40726b849d7cdd7a623e06e"
|
||||
}, {
|
||||
"camera_code": "umet5gygpc9u",
|
||||
"camera_id": "10007162",
|
||||
"camera_position": "大门",
|
||||
"camera_status": "0",
|
||||
"user_store": "dd3520f0f40726b849d7cdd7a623e06e"
|
||||
}, {
|
||||
"camera_code": "umet5gygpc9u",
|
||||
"camera_id": "10007162",
|
||||
"camera_position": "大门",
|
||||
"camera_status": "0",
|
||||
"user_store": "dd3520f0f40726b849d7cdd7a623e06e"
|
||||
}
|
||||
],
|
||||
"msg": "获取信息成功",
|
||||
"success": 0
|
||||
},
|
||||
"status": 0
|
||||
}
|
||||
373
app/src/main/assets/jiazaidonghua.json
Normal file
373
app/src/main/assets/jiazaidonghua.json
Normal file
@@ -0,0 +1,373 @@
|
||||
{
|
||||
"v": "5.4.4",
|
||||
"fr": 25,
|
||||
"ip": 0,
|
||||
"op": 24,
|
||||
"w": 100,
|
||||
"h": 50,
|
||||
"nm": "合成 1",
|
||||
"ddd": 0,
|
||||
"assets": [],
|
||||
"layers": [{
|
||||
"ddd": 0,
|
||||
"ind": 1,
|
||||
"ty": 4,
|
||||
"nm": "形状图层 3",
|
||||
"sr": 1,
|
||||
"ks": {
|
||||
"o": {
|
||||
"a": 0,
|
||||
"k": 100,
|
||||
"ix": 11
|
||||
},
|
||||
"r": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 10
|
||||
},
|
||||
"p": {
|
||||
"a": 0,
|
||||
"k": [19.5, 25, 0],
|
||||
"ix": 2
|
||||
},
|
||||
"a": {
|
||||
"a": 0,
|
||||
"k": [0, 0, 0],
|
||||
"ix": 1
|
||||
},
|
||||
"s": {
|
||||
"a": 0,
|
||||
"k": [100, 100, 100],
|
||||
"ix": 6
|
||||
}
|
||||
},
|
||||
"ao": 0,
|
||||
"shapes": [{
|
||||
"ty": "gr",
|
||||
"it": [{
|
||||
"d": 1,
|
||||
"ty": "el",
|
||||
"s": {
|
||||
"a": 0,
|
||||
"k": [20, 20],
|
||||
"ix": 2
|
||||
},
|
||||
"p": {
|
||||
"a": 0,
|
||||
"k": [0, 0],
|
||||
"ix": 3
|
||||
},
|
||||
"nm": "椭圆路径 1",
|
||||
"mn": "ADBE Vector Shape - Ellipse",
|
||||
"hd": false
|
||||
}, {
|
||||
"ty": "fl",
|
||||
"c": {
|
||||
"a": 0,
|
||||
"k": [0.117647058824, 0.117647058824, 0.117647058824, 1],
|
||||
"ix": 4
|
||||
},
|
||||
"o": {
|
||||
"a": 0,
|
||||
"k": 100,
|
||||
"ix": 5
|
||||
},
|
||||
"r": 1,
|
||||
"bm": 0,
|
||||
"nm": "填充 1",
|
||||
"mn": "ADBE Vector Graphic - Fill",
|
||||
"hd": false
|
||||
}, {
|
||||
"ty": "tr",
|
||||
"p": {
|
||||
"a": 0,
|
||||
"k": [0, 0],
|
||||
"ix": 2
|
||||
},
|
||||
"a": {
|
||||
"a": 0,
|
||||
"k": [0, 0],
|
||||
"ix": 1
|
||||
},
|
||||
"s": {
|
||||
"a": 0,
|
||||
"k": [100, 100],
|
||||
"ix": 3
|
||||
},
|
||||
"r": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 6
|
||||
},
|
||||
"o": {
|
||||
"a": 0,
|
||||
"k": 100,
|
||||
"ix": 7
|
||||
},
|
||||
"sk": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 4
|
||||
},
|
||||
"sa": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 5
|
||||
},
|
||||
"nm": "变换"
|
||||
}],
|
||||
"nm": "椭圆 1",
|
||||
"np": 3,
|
||||
"cix": 2,
|
||||
"bm": 0,
|
||||
"ix": 1,
|
||||
"mn": "ADBE Vector Group",
|
||||
"hd": false
|
||||
}],
|
||||
"ip": 6,
|
||||
"op": 256,
|
||||
"st": 6,
|
||||
"bm": 0
|
||||
}, {
|
||||
"ddd": 0,
|
||||
"ind": 2,
|
||||
"ty": 4,
|
||||
"nm": "形状图层 1",
|
||||
"sr": 1,
|
||||
"ks": {
|
||||
"o": {
|
||||
"a": 0,
|
||||
"k": 100,
|
||||
"ix": 11
|
||||
},
|
||||
"r": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 10
|
||||
},
|
||||
"p": {
|
||||
"a": 0,
|
||||
"k": [50, 25, 0],
|
||||
"ix": 2
|
||||
},
|
||||
"a": {
|
||||
"a": 0,
|
||||
"k": [0, 0, 0],
|
||||
"ix": 1
|
||||
},
|
||||
"s": {
|
||||
"a": 0,
|
||||
"k": [100, 100, 100],
|
||||
"ix": 6
|
||||
}
|
||||
},
|
||||
"ao": 0,
|
||||
"shapes": [{
|
||||
"ty": "gr",
|
||||
"it": [{
|
||||
"d": 1,
|
||||
"ty": "el",
|
||||
"s": {
|
||||
"a": 0,
|
||||
"k": [20, 20],
|
||||
"ix": 2
|
||||
},
|
||||
"p": {
|
||||
"a": 0,
|
||||
"k": [0, 0],
|
||||
"ix": 3
|
||||
},
|
||||
"nm": "椭圆路径 1",
|
||||
"mn": "ADBE Vector Shape - Ellipse",
|
||||
"hd": false
|
||||
}, {
|
||||
"ty": "fl",
|
||||
"c": {
|
||||
"a": 0,
|
||||
"k": [0.117647058824, 0.117647058824, 0.117647058824, 1],
|
||||
"ix": 4
|
||||
},
|
||||
"o": {
|
||||
"a": 0,
|
||||
"k": 100,
|
||||
"ix": 5
|
||||
},
|
||||
"r": 1,
|
||||
"bm": 0,
|
||||
"nm": "填充 1",
|
||||
"mn": "ADBE Vector Graphic - Fill",
|
||||
"hd": false
|
||||
}, {
|
||||
"ty": "tr",
|
||||
"p": {
|
||||
"a": 0,
|
||||
"k": [0, 0],
|
||||
"ix": 2
|
||||
},
|
||||
"a": {
|
||||
"a": 0,
|
||||
"k": [0, 0],
|
||||
"ix": 1
|
||||
},
|
||||
"s": {
|
||||
"a": 0,
|
||||
"k": [100, 100],
|
||||
"ix": 3
|
||||
},
|
||||
"r": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 6
|
||||
},
|
||||
"o": {
|
||||
"a": 0,
|
||||
"k": 100,
|
||||
"ix": 7
|
||||
},
|
||||
"sk": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 4
|
||||
},
|
||||
"sa": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 5
|
||||
},
|
||||
"nm": "变换"
|
||||
}],
|
||||
"nm": "椭圆 1",
|
||||
"np": 3,
|
||||
"cix": 2,
|
||||
"bm": 0,
|
||||
"ix": 1,
|
||||
"mn": "ADBE Vector Group",
|
||||
"hd": false
|
||||
}],
|
||||
"ip": 12,
|
||||
"op": 262,
|
||||
"st": 12,
|
||||
"bm": 0
|
||||
}, {
|
||||
"ddd": 0,
|
||||
"ind": 3,
|
||||
"ty": 4,
|
||||
"nm": "形状图层 2",
|
||||
"sr": 1,
|
||||
"ks": {
|
||||
"o": {
|
||||
"a": 0,
|
||||
"k": 100,
|
||||
"ix": 11
|
||||
},
|
||||
"r": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 10
|
||||
},
|
||||
"p": {
|
||||
"a": 0,
|
||||
"k": [80.5, 25, 0],
|
||||
"ix": 2
|
||||
},
|
||||
"a": {
|
||||
"a": 0,
|
||||
"k": [0, 0, 0],
|
||||
"ix": 1
|
||||
},
|
||||
"s": {
|
||||
"a": 0,
|
||||
"k": [100, 100, 100],
|
||||
"ix": 6
|
||||
}
|
||||
},
|
||||
"ao": 0,
|
||||
"shapes": [{
|
||||
"ty": "gr",
|
||||
"it": [{
|
||||
"d": 1,
|
||||
"ty": "el",
|
||||
"s": {
|
||||
"a": 0,
|
||||
"k": [20, 20],
|
||||
"ix": 2
|
||||
},
|
||||
"p": {
|
||||
"a": 0,
|
||||
"k": [0, 0],
|
||||
"ix": 3
|
||||
},
|
||||
"nm": "椭圆路径 1",
|
||||
"mn": "ADBE Vector Shape - Ellipse",
|
||||
"hd": false
|
||||
}, {
|
||||
"ty": "fl",
|
||||
"c": {
|
||||
"a": 0,
|
||||
"k": [0.117647058824, 0.117647058824, 0.117647058824, 1],
|
||||
"ix": 4
|
||||
},
|
||||
"o": {
|
||||
"a": 0,
|
||||
"k": 100,
|
||||
"ix": 5
|
||||
},
|
||||
"r": 1,
|
||||
"bm": 0,
|
||||
"nm": "填充 1",
|
||||
"mn": "ADBE Vector Graphic - Fill",
|
||||
"hd": false
|
||||
}, {
|
||||
"ty": "tr",
|
||||
"p": {
|
||||
"a": 0,
|
||||
"k": [0, 0],
|
||||
"ix": 2
|
||||
},
|
||||
"a": {
|
||||
"a": 0,
|
||||
"k": [0, 0],
|
||||
"ix": 1
|
||||
},
|
||||
"s": {
|
||||
"a": 0,
|
||||
"k": [100, 100],
|
||||
"ix": 3
|
||||
},
|
||||
"r": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 6
|
||||
},
|
||||
"o": {
|
||||
"a": 0,
|
||||
"k": 100,
|
||||
"ix": 7
|
||||
},
|
||||
"sk": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 4
|
||||
},
|
||||
"sa": {
|
||||
"a": 0,
|
||||
"k": 0,
|
||||
"ix": 5
|
||||
},
|
||||
"nm": "变换"
|
||||
}],
|
||||
"nm": "椭圆 1",
|
||||
"np": 3,
|
||||
"cix": 2,
|
||||
"bm": 0,
|
||||
"ix": 1,
|
||||
"mn": "ADBE Vector Group",
|
||||
"hd": false
|
||||
}],
|
||||
"ip": 18,
|
||||
"op": 268,
|
||||
"st": 18,
|
||||
"bm": 0
|
||||
}],
|
||||
"markers": []
|
||||
}
|
||||
35
app/src/main/assets/kehubiaoqian.json
Normal file
35
app/src/main/assets/kehubiaoqian.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{"status": 0,
|
||||
"result": {
|
||||
"success": 0,
|
||||
"data": [
|
||||
{
|
||||
"biaoqian": "已成交"
|
||||
},
|
||||
{
|
||||
"biaoqian": "交叉"
|
||||
},
|
||||
{
|
||||
"biaoqian": "重复"
|
||||
},
|
||||
{
|
||||
"biaoqian": "量房"
|
||||
},
|
||||
{
|
||||
"biaoqian": "设计"
|
||||
},
|
||||
{
|
||||
"biaoqian": "报价"
|
||||
},
|
||||
{
|
||||
"biaoqian": "异业"
|
||||
},
|
||||
{
|
||||
"biaoqian": "设计师"
|
||||
},
|
||||
{
|
||||
"biaoqian": "报备"
|
||||
}
|
||||
],
|
||||
"msg": "获取收货地址成功"
|
||||
}
|
||||
}
|
||||
28
app/src/main/assets/loggedmsg.json
Normal file
28
app/src/main/assets/loggedmsg.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"status": 0,
|
||||
"result": {
|
||||
"success": 0,
|
||||
"msg": "获取信息成功",
|
||||
"data": {
|
||||
"money_sum": "0.00",
|
||||
"user_store": "mock_store_id",
|
||||
"user_head": "http://www.fenghoo.cn/templates/fenghu/img/photo_icon.png",
|
||||
"user_name": "测试用户",
|
||||
"phone_number": "13800138000",
|
||||
"clerkposition": "店长",
|
||||
"user_birthday": "",
|
||||
"wechatname": "",
|
||||
"message_num": "0",
|
||||
"wechat_union": "mock_union_id",
|
||||
"if_overdue": "1",
|
||||
"user_type": "1",
|
||||
"xike": "",
|
||||
"address_addr": "",
|
||||
"dy_nickname": "",
|
||||
"dy_union_id": "",
|
||||
"dy_link": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
5354
app/src/main/assets/province.json
Normal file
5354
app/src/main/assets/province.json
Normal file
File diff suppressed because it is too large
Load Diff
109
app/src/main/assets/question.json
Normal file
109
app/src/main/assets/question.json
Normal file
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"status": 0,
|
||||
"result": {
|
||||
"success": 0,
|
||||
"data": [
|
||||
{
|
||||
"ord": "370",
|
||||
"markid": "201911290941393350174",
|
||||
"markname": "111111",
|
||||
"addstyle": "3",
|
||||
"markidsec": [
|
||||
""
|
||||
],
|
||||
"marknamesec": [
|
||||
""
|
||||
],
|
||||
"is_baobei": "0",
|
||||
"is_must": "1",
|
||||
"answer": "",
|
||||
"answer_sec": ""
|
||||
},
|
||||
{
|
||||
"ord": "371",
|
||||
"markid": "201911290941396635417",
|
||||
"markname": "22222",
|
||||
"addstyle": "2",
|
||||
"markidsec": [
|
||||
"201911290941393445524",
|
||||
"201911290941393058863"
|
||||
],
|
||||
"marknamesec": [
|
||||
"1111",
|
||||
"111"
|
||||
],
|
||||
"is_baobei": "0",
|
||||
"is_must": "1",
|
||||
"answer": "",
|
||||
"answer_sec": ""
|
||||
},
|
||||
{
|
||||
"ord": "372",
|
||||
"markid": "201911290941395986285",
|
||||
"markname": "33333",
|
||||
"addstyle": "1",
|
||||
"markidsec": [
|
||||
""
|
||||
],
|
||||
"marknamesec": [
|
||||
""
|
||||
],
|
||||
"is_baobei": "0",
|
||||
"is_must": "0",
|
||||
"answer": "",
|
||||
"answer_sec": ""
|
||||
},
|
||||
{
|
||||
"ord": "373",
|
||||
"markid": "201911290941398727365",
|
||||
"markname": "444444",
|
||||
"addstyle": "4",
|
||||
"markidsec": [
|
||||
""
|
||||
],
|
||||
"marknamesec": [
|
||||
""
|
||||
],
|
||||
"is_baobei": "0",
|
||||
"is_must": "0",
|
||||
"answer": "",
|
||||
"answer_sec": ""
|
||||
},
|
||||
{
|
||||
"ord": "374",
|
||||
"markid": "201911290941396239404",
|
||||
"markname": "5555",
|
||||
"addstyle": "5",
|
||||
"markidsec": [
|
||||
"201911290941395278571",
|
||||
"201911290941393488400"
|
||||
],
|
||||
"marknamesec": [
|
||||
"5555",
|
||||
"5555"
|
||||
],
|
||||
"is_baobei": "0",
|
||||
"is_must": "0",
|
||||
"answer": "",
|
||||
"answer_sec": ""
|
||||
},
|
||||
{
|
||||
"ord": "375",
|
||||
"markid": "201911290941396789908",
|
||||
"markname": "6666",
|
||||
"addstyle": "1",
|
||||
"markidsec": [
|
||||
""
|
||||
],
|
||||
"marknamesec": [
|
||||
""
|
||||
],
|
||||
"is_baobei": "0",
|
||||
"is_must": "0",
|
||||
"answer": "",
|
||||
"answer_sec": ""
|
||||
}
|
||||
],
|
||||
"msg": "获取信息成功"
|
||||
}
|
||||
}
|
||||
262
app/src/main/assets/relation.json
Normal file
262
app/src/main/assets/relation.json
Normal file
@@ -0,0 +1,262 @@
|
||||
{
|
||||
"status": 0,
|
||||
"result": {
|
||||
"success": 0,
|
||||
"msg": "\u83b7\u53d6\u6210\u529f",
|
||||
"data": {
|
||||
"markvisitor": {
|
||||
"first_time": "2019-06-10 13:50:23",
|
||||
"after_time": "2019-06-10 17:50:23",
|
||||
"user_name": "",
|
||||
"record_time": "2019-06-10 15:50:23",
|
||||
"firstname": "\u5efa",
|
||||
"name": "\u654f",
|
||||
"phone": "13245785323",
|
||||
"uuid": "20171205084612441842",
|
||||
"venderID": "201804081515476869265"
|
||||
},
|
||||
"relationvisitor": [{
|
||||
"relationid": "3b12bb837a61ab0f6ec58a7d035d5c62",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101539075628.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D12249f1992fe6dfd76e06163a768ce4109cf8be0",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101539075628.jpg",
|
||||
"visitor_id": "4028828a6a7b07c1016a7bb4f6b91402",
|
||||
"baobei_type": "1",
|
||||
"identity": "A",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "31df3a6673602664c79d4b7728ff6fc6",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101538274908.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D9a487691dbee686e33e188b3c34de9ccf67f54e6",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101538274908.jpg",
|
||||
"visitor_id": "4028828a6b1aacec016b1b90dbff0edb",
|
||||
"baobei_type": "1",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "0df343302734f5d17eb35c08051afa4d",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101523472510.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Db8f7448d1f2a8efdcf802a8762933c813f95dcff",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101523472510.jpg",
|
||||
"visitor_id": "4028828a6b24f9a2016b2a09583a352a",
|
||||
"baobei_type": "1",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "e6049865fcfcc5073a2d058f2665e4f5",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101535207195.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Df3a43528b2caa43a18aa74e920c160e7eb411d63",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101535207195.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b4050178a2313",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "09035d0d3f3ae8316071cbafbd375e55",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101536592134.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D61aabc31d2541137086367b391769e2baf93f70d",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101536592134.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b40519a84232c",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "4181e51e35feab0a31c01df83de44e28",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101548561049.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Dcf922e2fbb394b3b9323bcf7aca5b7b17868f556",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101548561049.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b405c8c9f2450",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
},{
|
||||
"relationid": "3b12bb837a61ab0f6ec58a7d035d5c62",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101539075628.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D12249f1992fe6dfd76e06163a768ce4109cf8be0",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101539075628.jpg",
|
||||
"visitor_id": "4028828a6a7b07c1016a7bb4f6b91402",
|
||||
"baobei_type": "1",
|
||||
"identity": "A",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "31df3a6673602664c79d4b7728ff6fc6",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101538274908.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D9a487691dbee686e33e188b3c34de9ccf67f54e6",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101538274908.jpg",
|
||||
"visitor_id": "4028828a6b1aacec016b1b90dbff0edb",
|
||||
"baobei_type": "1",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "0df343302734f5d17eb35c08051afa4d",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101523472510.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Db8f7448d1f2a8efdcf802a8762933c813f95dcff",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101523472510.jpg",
|
||||
"visitor_id": "4028828a6b24f9a2016b2a09583a352a",
|
||||
"baobei_type": "1",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "e6049865fcfcc5073a2d058f2665e4f5",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101535207195.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Df3a43528b2caa43a18aa74e920c160e7eb411d63",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101535207195.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b4050178a2313",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "09035d0d3f3ae8316071cbafbd375e55",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101536592134.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D61aabc31d2541137086367b391769e2baf93f70d",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101536592134.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b40519a84232c",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "4181e51e35feab0a31c01df83de44e28",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101548561049.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Dcf922e2fbb394b3b9323bcf7aca5b7b17868f556",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101548561049.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b405c8c9f2450",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
},{
|
||||
"relationid": "3b12bb837a61ab0f6ec58a7d035d5c62",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101539075628.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D12249f1992fe6dfd76e06163a768ce4109cf8be0",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101539075628.jpg",
|
||||
"visitor_id": "4028828a6a7b07c1016a7bb4f6b91402",
|
||||
"baobei_type": "1",
|
||||
"identity": "A",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "31df3a6673602664c79d4b7728ff6fc6",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101538274908.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D9a487691dbee686e33e188b3c34de9ccf67f54e6",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101538274908.jpg",
|
||||
"visitor_id": "4028828a6b1aacec016b1b90dbff0edb",
|
||||
"baobei_type": "1",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "0df343302734f5d17eb35c08051afa4d",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101523472510.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Db8f7448d1f2a8efdcf802a8762933c813f95dcff",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101523472510.jpg",
|
||||
"visitor_id": "4028828a6b24f9a2016b2a09583a352a",
|
||||
"baobei_type": "1",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "e6049865fcfcc5073a2d058f2665e4f5",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101535207195.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Df3a43528b2caa43a18aa74e920c160e7eb411d63",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101535207195.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b4050178a2313",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "09035d0d3f3ae8316071cbafbd375e55",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101536592134.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D61aabc31d2541137086367b391769e2baf93f70d",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101536592134.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b40519a84232c",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "4181e51e35feab0a31c01df83de44e28",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101548561049.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Dcf922e2fbb394b3b9323bcf7aca5b7b17868f556",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101548561049.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b405c8c9f2450",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
},{
|
||||
"relationid": "3b12bb837a61ab0f6ec58a7d035d5c62",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101539075628.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D12249f1992fe6dfd76e06163a768ce4109cf8be0",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101539075628.jpg",
|
||||
"visitor_id": "4028828a6a7b07c1016a7bb4f6b91402",
|
||||
"baobei_type": "1",
|
||||
"identity": "A",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "31df3a6673602664c79d4b7728ff6fc6",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101538274908.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D9a487691dbee686e33e188b3c34de9ccf67f54e6",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101538274908.jpg",
|
||||
"visitor_id": "4028828a6b1aacec016b1b90dbff0edb",
|
||||
"baobei_type": "1",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "0df343302734f5d17eb35c08051afa4d",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101523472510.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Db8f7448d1f2a8efdcf802a8762933c813f95dcff",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101523472510.jpg",
|
||||
"visitor_id": "4028828a6b24f9a2016b2a09583a352a",
|
||||
"baobei_type": "1",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "e6049865fcfcc5073a2d058f2665e4f5",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101535207195.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Df3a43528b2caa43a18aa74e920c160e7eb411d63",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101535207195.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b4050178a2313",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "09035d0d3f3ae8316071cbafbd375e55",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101536592134.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D61aabc31d2541137086367b391769e2baf93f70d",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101536592134.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b40519a84232c",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "4181e51e35feab0a31c01df83de44e28",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101548561049.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Dcf922e2fbb394b3b9323bcf7aca5b7b17868f556",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101548561049.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b405c8c9f2450",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
},{
|
||||
"relationid": "3b12bb837a61ab0f6ec58a7d035d5c62",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101539075628.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D12249f1992fe6dfd76e06163a768ce4109cf8be0",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101539075628.jpg",
|
||||
"visitor_id": "4028828a6a7b07c1016a7bb4f6b91402",
|
||||
"baobei_type": "1",
|
||||
"identity": "A",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "31df3a6673602664c79d4b7728ff6fc6",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101538274908.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D9a487691dbee686e33e188b3c34de9ccf67f54e6",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101538274908.jpg",
|
||||
"visitor_id": "4028828a6b1aacec016b1b90dbff0edb",
|
||||
"baobei_type": "1",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "0df343302734f5d17eb35c08051afa4d",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101523472510.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Db8f7448d1f2a8efdcf802a8762933c813f95dcff",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101523472510.jpg",
|
||||
"visitor_id": "4028828a6b24f9a2016b2a09583a352a",
|
||||
"baobei_type": "1",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "e6049865fcfcc5073a2d058f2665e4f5",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101535207195.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Df3a43528b2caa43a18aa74e920c160e7eb411d63",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101535207195.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b4050178a2313",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "09035d0d3f3ae8316071cbafbd375e55",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101536592134.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D61aabc31d2541137086367b391769e2baf93f70d",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101536592134.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b40519a84232c",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}, {
|
||||
"relationid": "4181e51e35feab0a31c01df83de44e28",
|
||||
"visitor_head_img": "http:\/\/fenghoo-1252849446.cos.ap-chengdu.myqcloud.com\/faces\/2019\/06\/10\/1000\/201906101548561049.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDTxHQ7gO0wjttnafe0ACl9jCUbQ9Ia7Z8%26q-sign-time%3D1567991484%3B1568077944%26q-key-time%3D1567991484%3B1568077944%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3Dcf922e2fbb394b3b9323bcf7aca5b7b17868f556",
|
||||
"visitor_head_img_cloud": "faces\/2019\/06\/10\/1000\/201906101548561049.jpg",
|
||||
"visitor_id": "4028828a6b3eb971016b405c8c9f2450",
|
||||
"baobei_type": "0",
|
||||
"identity": "D",
|
||||
"jccf_type": ""
|
||||
}],
|
||||
"num": 6
|
||||
}
|
||||
}
|
||||
}
|
||||
65
app/src/main/assets/shuju.json
Normal file
65
app/src/main/assets/shuju.json
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"result": {
|
||||
"data": {
|
||||
"first": {
|
||||
"cfjcstoreave": 0.36,
|
||||
"cfjcstorecome": "0",
|
||||
"cfstoreave": 2.78,
|
||||
"cfstorecome": "0",
|
||||
"jcstoreave": 0.02,
|
||||
"jcstorecome": "0",
|
||||
"markave": 8.44,
|
||||
"marknum": "0",
|
||||
"orderave": 1.81,
|
||||
"ordernum": "0",
|
||||
"phoneave": 6.29,
|
||||
"phonenum": "0",
|
||||
"saleave": 3.68,
|
||||
"salesum": 0.0,
|
||||
"storeave": 29.76,
|
||||
"storecome": "0",
|
||||
"tracknum": "282"
|
||||
},
|
||||
"five": {
|
||||
"a_expectPrice": "0",
|
||||
"a_lossnum": "0",
|
||||
"a_total": "0",
|
||||
"a_tracknum": "0",
|
||||
"b_expectPrice": "0",
|
||||
"b_lossnum": "0",
|
||||
"b_total": "0",
|
||||
"b_tracknum": "0",
|
||||
"c_expectPrice": "0",
|
||||
"c_lossnum": "0",
|
||||
"c_total": "0",
|
||||
"c_tracknum": "0",
|
||||
"expectprice": "0",
|
||||
"lossnum": "0",
|
||||
"total": "0",
|
||||
"tracknum": "0"
|
||||
},
|
||||
"second": {
|
||||
"percent": 0.0,
|
||||
"sell": "0"
|
||||
},
|
||||
"six": {
|
||||
"wxcus": "0",
|
||||
"wxcustotal": "33",
|
||||
"wxmoney": "0.00",
|
||||
"wxmoneyave": "0.52",
|
||||
"wxmoneytotal": "0.00",
|
||||
"wxorder": "0",
|
||||
"wxorderave": "0.20",
|
||||
"wxordertotal": "0",
|
||||
"wxrecommend": "0",
|
||||
"wxrecommendtotal": "0",
|
||||
"wxstore": "0",
|
||||
"wxstoreave": "2.26",
|
||||
"wxstoretotal": "0"
|
||||
}
|
||||
},
|
||||
"msg": "获取成功",
|
||||
"success": 0
|
||||
},
|
||||
"status": 0
|
||||
}
|
||||
30
app/src/main/assets/toolSet.json
Normal file
30
app/src/main/assets/toolSet.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"result": {
|
||||
"msg": "获取成功",
|
||||
|
||||
|
||||
"data": {
|
||||
"fission": "0",
|
||||
|
||||
|
||||
"tool_id": "1",
|
||||
|
||||
|
||||
"assemble": "0",
|
||||
|
||||
|
||||
"bargain": "0",
|
||||
|
||||
|
||||
"fans": "0"
|
||||
|
||||
|
||||
},
|
||||
"success": 0
|
||||
|
||||
|
||||
},
|
||||
"status": 0
|
||||
|
||||
|
||||
}
|
||||
37
app/src/main/assets/visitorOrder.json
Normal file
37
app/src/main/assets/visitorOrder.json
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"result": {
|
||||
"msg": "成功",
|
||||
"data": [
|
||||
{
|
||||
"orderid": "07e30d38581a79816ac4e1d096945b87",
|
||||
"recudesum": "180000",
|
||||
"ordernum": "2019071014501449405904",
|
||||
"systemtime": "2019-07-10 14:53:48",
|
||||
"ordertype": "2"
|
||||
},
|
||||
{
|
||||
"orderid": "07e30d38581a79816ac4e1d096945b87",
|
||||
"recudesum": "180000",
|
||||
"ordernum": "2019071014501449405904",
|
||||
"systemtime": "2019-07-10 14:53:48",
|
||||
"ordertype": "2"
|
||||
},
|
||||
{
|
||||
"orderid": "07e30d38581a79816ac4e1d096945b87",
|
||||
"recudesum": "180000",
|
||||
"ordernum": "2019071014501449405904",
|
||||
"systemtime": "2019-07-10 14:53:48",
|
||||
"ordertype": "2"
|
||||
},
|
||||
{
|
||||
"orderid": "07e30d38581a79816ac4e1d096945b87",
|
||||
"recudesum": "180000",
|
||||
"ordernum": "2019071014501449405904",
|
||||
"systemtime": "2019-07-10 14:53:48",
|
||||
"ordertype": "2"
|
||||
}
|
||||
],
|
||||
"success": 0
|
||||
},
|
||||
"status": 0
|
||||
}
|
||||
50
app/src/main/assets/yunweixin.json
Normal file
50
app/src/main/assets/yunweixin.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"status": 0,
|
||||
"result": {
|
||||
"success": 0,
|
||||
"msg": "获取成功",
|
||||
"data": [
|
||||
{
|
||||
"task_id": "1",
|
||||
"activity_title": "测试1",
|
||||
"hd_type": "云裂变",
|
||||
"create_time": "2020-05-15 17:28:21",
|
||||
"message_type": "1",
|
||||
"group_nickname": "测试群",
|
||||
"send_friends": "10",
|
||||
"estimated_time": "11",
|
||||
"authorized": "0",
|
||||
"title": "测试1...(云裂变)",
|
||||
"queue": "0",
|
||||
"if_qrcode": "0"
|
||||
},{
|
||||
"task_id": "1",
|
||||
"activity_title": "测试1",
|
||||
"hd_type": "云裂变",
|
||||
"create_time": "2020-05-15 17:28:21",
|
||||
"message_type": "1",
|
||||
"group_nickname": "测试群",
|
||||
"send_friends": "10",
|
||||
"estimated_time": "11",
|
||||
"authorized": "0",
|
||||
"title": "测试1...(云裂变)",
|
||||
"queue": "0",
|
||||
"if_qrcode": "1"
|
||||
}, {
|
||||
"task_id": "1",
|
||||
"activity_title": "测试1",
|
||||
"hd_type": "云裂变",
|
||||
"create_time": "2020-05-15 17:28:21",
|
||||
"message_type": "1",
|
||||
"group_nickname": "测试群",
|
||||
"send_friends": "10",
|
||||
"estimated_time": "11",
|
||||
"authorized": "1",
|
||||
"title": "测试1...(云裂变)",
|
||||
"queue": "0",
|
||||
"if_qrcode": "1"
|
||||
}
|
||||
],
|
||||
"settype": "0"
|
||||
}
|
||||
}
|
||||
28
app/src/main/assets/yunweixintwo.json
Normal file
28
app/src/main/assets/yunweixintwo.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"result": {
|
||||
"data": {
|
||||
"image": [
|
||||
{
|
||||
"order_img": "http://localhost/file.php?img=order__2020__09__23__2020092317123855002746__2020092317534044856.jpg",
|
||||
"order_img_cloud": ""
|
||||
}
|
||||
],
|
||||
"order": {
|
||||
"address": "",
|
||||
"contractnum": "",
|
||||
"custorname": "",
|
||||
"custorphone": "",
|
||||
"ordernum": "",
|
||||
"ordertype": "3",
|
||||
"recudesum": "",
|
||||
"remark": "",
|
||||
"systemtime": "",
|
||||
"user_name": "",
|
||||
"buttonname": "提交审核"
|
||||
}
|
||||
},
|
||||
"msg": "获取成功",
|
||||
"success": 0
|
||||
},
|
||||
"status": 0
|
||||
}
|
||||
114
app/src/main/assets/zhuanjie.json
Normal file
114
app/src/main/assets/zhuanjie.json
Normal file
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "6f670b099506a09a171a6914bc5f69d5",
|
||||
"brand_img": "http://62.234.183.107:88/upload/156868672977939.png",
|
||||
"brand_name": "蜂狐测试厂商1"
|
||||
},
|
||||
{
|
||||
"brand_id": "fc36e3a7867ea1ed16e61ce035194a79",
|
||||
"brand_img": "",
|
||||
"brand_name": "恒大美森美"
|
||||
}
|
||||
],
|
||||
"type_name": "我的历史"
|
||||
},
|
||||
{
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "fc36e3a7867ea1ed16e61ce035194a79",
|
||||
"brand_img": "",
|
||||
"brand_name": "恒大美森美"
|
||||
},
|
||||
{
|
||||
"brand_id": "995b6101b72a5d5f148b4f692c67b7c2",
|
||||
"brand_img": "",
|
||||
"brand_name": "儿童1"
|
||||
}
|
||||
],
|
||||
"type_id": "46",
|
||||
"type_name": "儿童家具"
|
||||
},
|
||||
{
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "6f670b099506a09a171a6914bc5f69d5",
|
||||
"brand_img": "http://62.234.183.107:88/upload/156868672977939.png",
|
||||
"brand_name": "蜂狐测试厂商1"
|
||||
}
|
||||
],
|
||||
"type_id": "62",
|
||||
"type_name": "其他品类"
|
||||
},
|
||||
{
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "73b34a94c87f6cf304e23d1174f04a06",
|
||||
"brand_img": "",
|
||||
"brand_name": "www"
|
||||
}
|
||||
],
|
||||
"type_id": "35",
|
||||
"type_name": "门窗"
|
||||
},
|
||||
{
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "0a9420d5bfa9eef82e15232d116ffaa3",
|
||||
"brand_img": "",
|
||||
"brand_name": "软装1"
|
||||
}
|
||||
],
|
||||
"type_id": "39",
|
||||
"type_name": "软装装饰"
|
||||
},
|
||||
{
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "ee4aaa4cfe0c9daf2bd0d7ad5360dd82",
|
||||
"brand_img": "",
|
||||
"brand_name": "板式"
|
||||
}
|
||||
],
|
||||
"type_id": "52",
|
||||
"type_name": "板式家具"
|
||||
},
|
||||
{
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "5fb596855b5568b742a9911aac2bbd00",
|
||||
"brand_img": "http://www.fenghoo.cn:88/agent/fenghu/venderagent/req/showFirmBr",
|
||||
"brand_name": "志邦家居"
|
||||
}
|
||||
],
|
||||
"type_id": "37",
|
||||
"type_name": "橱柜/衣柜"
|
||||
},
|
||||
{
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "1e5c7dc58dc63206a51eafdc6c715975",
|
||||
"brand_img": "",
|
||||
"brand_name": "实木测试1"
|
||||
}
|
||||
],
|
||||
"type_id": "56",
|
||||
"type_name": "实木家具"
|
||||
},
|
||||
{
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "f82be292e66c3d6d6ed778a168361782",
|
||||
"brand_img": "",
|
||||
"brand_name": "卫浴测试1"
|
||||
}
|
||||
],
|
||||
"type_id": "34",
|
||||
"type_name": "卫浴"
|
||||
}
|
||||
],
|
||||
"msg": "获取成功",
|
||||
"success": "0"
|
||||
}
|
||||
111
app/src/main/assets/zhuanjiet.json
Normal file
111
app/src/main/assets/zhuanjiet.json
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"success": "0",
|
||||
"msg": "获取成功",
|
||||
"data": [
|
||||
{
|
||||
"type_name": "我的历史",
|
||||
"brands": [
|
||||
{
|
||||
"brand_name": "P5",
|
||||
"brand_img": "http:\/\/www.fenghoo.cn\/upload\/155807725054809.png",
|
||||
"brand_id": "201905171514175849001"
|
||||
},
|
||||
{
|
||||
"brand_name": "P5",
|
||||
"brand_img": "http:\/\/www.fenghoo.cn\/upload\/155807725054809.png",
|
||||
"brand_id": "201905171514175849002"
|
||||
},
|
||||
{
|
||||
"brand_name": "P5",
|
||||
"brand_img": "http:\/\/www.fenghoo.cn\/upload\/155807725054809.png",
|
||||
"brand_id": "201905171514175849003"
|
||||
},
|
||||
{
|
||||
"brand_name": "P5",
|
||||
"brand_img": "http:\/\/www.fenghoo.cn\/upload\/155807725054809.png",
|
||||
"brand_id": "201905171514175849004"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type_id": "42",
|
||||
"type_name": "现代",
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "201905171514175849088",
|
||||
"brand_name": "P4",
|
||||
"brand_img": "http:\/\/www.fenghoo.cn\/upload\/155807722544183.png"
|
||||
},
|
||||
{
|
||||
"brand_id": "201905171514175849001",
|
||||
"brand_name": "P5",
|
||||
"brand_img": "http:\/\/www.fenghoo.cn\/upload\/155807725054809.png"
|
||||
},
|
||||
{
|
||||
"brand_id": "201906210944083343377",
|
||||
"brand_name": "转介品牌2",
|
||||
"brand_img": "http:\/\/www.fenghoo.cn:88\/agent\/fenghu\/venderagent\/req\/brandmark\/pg\/6"
|
||||
},
|
||||
{
|
||||
"brand_id": "201906261722093208119",
|
||||
"brand_name": "最新新新新品牌",
|
||||
"brand_img": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type_id": "45",
|
||||
"type_name": "实木",
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "201905171514175849002",
|
||||
"brand_name": "P6",
|
||||
"brand_img": "http:\/\/www.fenghoo.cn\/upload\/155807727215611.png"
|
||||
},
|
||||
{
|
||||
"brand_id": "201906210943509449095",
|
||||
"brand_name": "转介品牌1",
|
||||
"brand_img": "http:\/\/www.fenghoo.cn:88\/agent\/fenghu\/venderagent\/req\/brandmark\/pg\/6"
|
||||
}, {
|
||||
"brand_id": "201905171514404646887",
|
||||
"brand_name": "P6",
|
||||
"brand_img": "http:\/\/www.fenghoo.cn\/upload\/155807727215611.png"
|
||||
},
|
||||
{
|
||||
"brand_id": "201906210943509449095",
|
||||
"brand_name": "转介品牌1",
|
||||
"brand_img": "http:\/\/www.fenghoo.cn:88\/agent\/fenghu\/venderagent\/req\/brandmark\/pg\/6"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type_id": "33",
|
||||
"type_name": "木地板",
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "201905171514175849003",
|
||||
"brand_name": "最新品牌",
|
||||
"brand_img": ""
|
||||
},{
|
||||
"brand_id": "201906251706485705599",
|
||||
"brand_name": "最新品牌",
|
||||
"brand_img": ""
|
||||
}
|
||||
]
|
||||
},{
|
||||
"type_id": "33",
|
||||
"type_name": "北美",
|
||||
"brands": [
|
||||
{
|
||||
"brand_id": "201905171514175849004",
|
||||
"brand_name": "最新品牌",
|
||||
"brand_img": ""
|
||||
},{
|
||||
"brand_id": "201906251706485705599",
|
||||
"brand_name": "最新品牌",
|
||||
"brand_img": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.fanghoo.mendian;
|
||||
|
||||
import androidx.core.content.FileProvider;
|
||||
|
||||
public class MyFileProvider extends FileProvider {
|
||||
}
|
||||
11
app/src/main/java/com/fanghoo/mendian/MyProvider.java
Normal file
11
app/src/main/java/com/fanghoo/mendian/MyProvider.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package com.fanghoo.mendian;
|
||||
|
||||
import androidx.core.content.FileProvider;
|
||||
|
||||
/**
|
||||
* Time: 2020/6/1
|
||||
* Author: jianbo
|
||||
* Description:
|
||||
*/
|
||||
public class MyProvider extends FileProvider {
|
||||
}
|
||||
1040
app/src/main/java/com/fanghoo/mendian/activity/HomeActivity.java
Normal file
1040
app/src/main/java/com/fanghoo/mendian/activity/HomeActivity.java
Normal file
File diff suppressed because it is too large
Load Diff
443
app/src/main/java/com/fanghoo/mendian/activity/ShowAty.java
Normal file
443
app/src/main/java/com/fanghoo/mendian/activity/ShowAty.java
Normal file
@@ -0,0 +1,443 @@
|
||||
package com.fanghoo.mendian.activity;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.fanghoo.base.db.DbRecordBeanData;
|
||||
import com.fanghoo.base.db.FromManagerBeanData;
|
||||
import com.fanghoo.mendian.activity.making.AllocationActivity;
|
||||
import com.fanghoo.mendian.activity.making.AllocationSelectActivity;
|
||||
import com.fanghoo.mendian.activity.making.BindQrCodeActivity;
|
||||
import com.fanghoo.mendian.activity.making.CommentActivity;
|
||||
import com.fanghoo.mendian.activity.making.ConRefInfoActivity;
|
||||
import com.fanghoo.mendian.activity.making.DrainingActivity;
|
||||
import com.fanghoo.mendian.activity.making.MoreDetailsActivity;
|
||||
import com.fanghoo.mendian.activity.making.NewMarkingHomePage;
|
||||
import com.fanghoo.mendian.activity.making.PhotoViewActivity;
|
||||
import com.fanghoo.mendian.activity.making.ReferraActivitythree;
|
||||
import com.fanghoo.mendian.activity.making.RelationHistoryActivity;
|
||||
import com.fanghoo.mendian.activity.making.RobCustomerActivity;
|
||||
import com.fanghoo.mendian.activity.making.TestWebActivity;
|
||||
import com.fanghoo.mendian.activity.making.TrackCusActivity;
|
||||
import com.fanghoo.mendian.activity.making.XiansuoActivity;
|
||||
import com.fanghoo.mendian.activity.making.XiaosuoActivitytwo;
|
||||
import com.fanghoo.mendian.activity.making.ZiActivity;
|
||||
import com.fanghoo.mendian.activity.making.bean.robCustomerInfoBean;
|
||||
import com.fanghoo.mendian.activity.making.holder.QuestionActivity;
|
||||
import com.fanghoo.mendian.activity.making.markingpage.RefactorMarkingDetail;
|
||||
import com.fanghoo.mendian.activity.making.markingpage.RefactorMarkingDetailModify;
|
||||
import com.fanghoo.mendian.activity.wode.ChangePasswordActivity;
|
||||
import com.fanghoo.mendian.activity.wode.CloudBarActivity;
|
||||
import com.fanghoo.mendian.activity.wode.CloudrefActivity;
|
||||
import com.fanghoo.mendian.activity.wode.CloundDouyinActivity;
|
||||
import com.fanghoo.mendian.activity.wode.CloundFissionActivity;
|
||||
import com.fanghoo.mendian.activity.wode.CloundShopActivity;
|
||||
import com.fanghoo.mendian.activity.wode.CloundWxtActivity;
|
||||
import com.fanghoo.mendian.activity.wode.CrossReActivity;
|
||||
import com.fanghoo.mendian.activity.wode.DesignerListActivity;
|
||||
import com.fanghoo.mendian.activity.wode.FromManagerActivity;
|
||||
import com.fanghoo.mendian.activity.wode.FromManagerActivitytwo;
|
||||
import com.fanghoo.mendian.activity.wode.InformationAndSecurity;
|
||||
import com.fanghoo.mendian.activity.wode.ManCusActivity;
|
||||
import com.fanghoo.mendian.activity.wode.MarketingToolActivity;
|
||||
import com.fanghoo.mendian.activity.wode.MineMessageActivity;
|
||||
import com.fanghoo.mendian.activity.wode.SelectActivity;
|
||||
import com.fanghoo.mendian.activity.wode.SetActivity;
|
||||
import com.fanghoo.mendian.activity.wode.addVideoActivity;
|
||||
import com.fanghoo.mendian.activity.wode.bean.CloundFissionBean;
|
||||
import com.fanghoo.mendian.gongju.EditActivity;
|
||||
import com.fanghoo.mendian.gongju.NewActivity;
|
||||
import com.fanghoo.mendian.module.marking.allshowVisitor;
|
||||
import com.fanghoo.mendian.module.marking.yonghujibenxinxi;
|
||||
import com.fanghoo.mendian.module.mine.NewZhuanjietBaen;
|
||||
import com.fanghoo.mendian.ordermodular.OrderInfoActivity;
|
||||
import com.fanghoo.mendian.view.dialog.DialogActivity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ShowAty {
|
||||
|
||||
/**
|
||||
* 今日跟踪
|
||||
*/
|
||||
public static void ShowTrackCus(Context ctx) {
|
||||
Intent i = new Intent(ctx, TrackCusActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 引流客户
|
||||
*/
|
||||
public static void ShowDraining(Context ctx) {
|
||||
Intent i = new Intent(ctx, DrainingActivity.class);
|
||||
// Intent i = new Intent(ctx, MainTimeActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 聊天记录详情页
|
||||
*/
|
||||
public static void QuestionActivity(Context ctx,List<robCustomerInfoBean.ResultBean.ChatBean> chat) {
|
||||
Intent i = new Intent(ctx, QuestionActivity.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("chat",(Serializable)chat);
|
||||
i.putExtras(bundle);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 重点客户
|
||||
*/
|
||||
public static void ShowImportantCustomer(Context ctx, ArrayList<allshowVisitor.ResultBean.DataBean> dataBeans) {
|
||||
Intent i = new Intent(ctx, DialogActivity.class);
|
||||
//弹出重点客户对话框
|
||||
allshowVisitor.ResultBean resultBean = new allshowVisitor.ResultBean();
|
||||
resultBean.setData(dataBeans);
|
||||
allshowVisitor all = new allshowVisitor();
|
||||
all.setResult(resultBean);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("ZdBean", all);
|
||||
i.putExtras(bundle);
|
||||
ctx.startActivity(i);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 客户详情页面
|
||||
*/
|
||||
public static void ShowCustomerDetails(Context ctx, allshowVisitor.ResultBean.DataBean dataBean, String type) {
|
||||
Intent i = new Intent(ctx, NewMarkingHomePage.class);
|
||||
i.putExtra("visitor_id", dataBean.getVisitor_id());
|
||||
i.putExtra("store_id", dataBean.getStore_id());
|
||||
i.putExtra("record_id", dataBean.getRecord_id());
|
||||
i.putExtra("type", type);
|
||||
i.putExtra("this_user_name", dataBean.getThis_user_name());
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 打标页面
|
||||
*/
|
||||
public static void ShowRefactorMarkingDetails(Context ctx, allshowVisitor.ResultBean.DataBean dataBean, String isUpAvatar) {
|
||||
Intent i = new Intent(ctx, RefactorMarkingDetail.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("dataBean", dataBean);
|
||||
i.putExtras(bundle);
|
||||
i.putExtra("isUpAvatar", isUpAvatar);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 消息通知
|
||||
*/
|
||||
public static void ShowMineMessage(Context ctx) {
|
||||
Intent i = new Intent(ctx, MineMessageActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 确认转介信息
|
||||
*/
|
||||
public static void ShowConRefInfo(Context ctx, yonghujibenxinxi.ResultBean.DataBean yonghujibenxinxidata) {
|
||||
Intent i = new Intent(ctx, ConRefInfoActivity.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("dataBean", yonghujibenxinxidata);
|
||||
i.putExtras(bundle);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public static void ShowRelationHistory(Context ctx, String record_id) {
|
||||
Intent i = new Intent(ctx, RelationHistoryActivity.class);
|
||||
i.putExtra("record_id", record_id);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单信息页面
|
||||
*/
|
||||
public static void ShowOrderInfo(Context ctx, String orderType, String activityType, String name, String phone, String visitor_id, String marknamesec) {
|
||||
Intent i = new Intent(ctx, OrderInfoActivity.class);
|
||||
i.putExtra("orderType", orderType);
|
||||
i.putExtra("activityType", activityType);
|
||||
i.putExtra("name", name);
|
||||
i.putExtra("phone", phone);
|
||||
i.putExtra("visitor_id", visitor_id);
|
||||
i.putExtra("marknamesec", marknamesec);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 大图浏览
|
||||
*/
|
||||
public static void ShowPhotoView(Context ctx, String visitor_head_img) {
|
||||
Intent i = new Intent(ctx, PhotoViewActivity.class);
|
||||
ArrayList<String> strings = new ArrayList<>();
|
||||
strings.add(visitor_head_img);
|
||||
i.putStringArrayListExtra(PhotoViewActivity.PHOTO_LIST, strings);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 测试web
|
||||
*/
|
||||
public static void TestWebActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, TestWebActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 帐号管理
|
||||
*/
|
||||
public static void InformationAndSecurity(Context ctx) {
|
||||
Intent i = new Intent(ctx, InformationAndSecurity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 更换密码
|
||||
*/
|
||||
public static void ChangePasswordActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, ChangePasswordActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 营销工具
|
||||
*/
|
||||
public static void MarketingToolActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, MarketingToolActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 抢单客户
|
||||
*/
|
||||
public static void RobCustomerActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, RobCustomerActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 云裂变
|
||||
*/
|
||||
public static void CloundFissionActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, CloundFissionActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 云抖音
|
||||
*/
|
||||
public static void CloundDouyinActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, CloundDouyinActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 云转介
|
||||
*/
|
||||
public static void CloudrefActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, CloudrefActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 云砍价
|
||||
*/
|
||||
public static void CloudBarActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, CloudBarActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 云商城
|
||||
*/
|
||||
public static void CloundShopActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, CloundShopActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 设计师推荐
|
||||
*/
|
||||
public static void DesignerListActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, DesignerListActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 云微信
|
||||
*/
|
||||
public static void CloundWxtActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, CloundWxtActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 异业推荐
|
||||
*/
|
||||
public static void CrossReActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, CrossReActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 新增视频
|
||||
*/
|
||||
public static void addVideoActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, addVideoActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 选择转介品牌
|
||||
*/
|
||||
public static void ReferraActivitythree(Context ctx, NewZhuanjietBaen newZhuanjietBaen) {
|
||||
Intent i = new Intent(ctx, ReferraActivitythree.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("dataBeantwo", newZhuanjietBaen);
|
||||
i.putExtras(bundle);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 应用设置
|
||||
*/
|
||||
public static void SetActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, SetActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 客户详情页打标和修改打标
|
||||
*/
|
||||
public static void RefactorMarkingDetailModify(Context ctx,String record_id,String store_id,String visitor_id,String firstname,String name,String visitor_head_img,String mbeandata,String entrytype) {
|
||||
Intent i = new Intent(ctx, RefactorMarkingDetailModify.class);
|
||||
i.putExtra("record_id", record_id);
|
||||
i.putExtra("store_id", store_id);
|
||||
i.putExtra("visitor_id", visitor_id);
|
||||
i.putExtra("firstname", firstname);
|
||||
i.putExtra("name", name);
|
||||
i.putExtra("visitor_head_imgg", visitor_head_img);
|
||||
i.putExtra("mbeandata", mbeandata);
|
||||
i.putExtra("entrytype", entrytype);//从雷达图页面进入打标页面
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 主页
|
||||
*/
|
||||
public static void homeactivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, HomeActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 新建活动
|
||||
*/
|
||||
public static void NewActivity(Context ctx, CloundFissionBean.ResultBean.InfoBean info) {
|
||||
Intent i = new Intent(ctx, NewActivity.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("info", info);//带人城市信息
|
||||
i.putExtras(bundle);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新建活动
|
||||
*/
|
||||
public static void EditActivity(Context ctx, CloundFissionBean.ResultBean.InfoBean info,String activity_id) {
|
||||
Intent i = new Intent(ctx, EditActivity.class);
|
||||
i.putExtra("activity_id",activity_id);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 名单管理
|
||||
*/
|
||||
public static void ManCusActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, ManCusActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 工作人员管理
|
||||
*/
|
||||
public static void FromManagerActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, FromManagerActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 店铺客户分配
|
||||
*/
|
||||
public static void FromManagerActivitytwo(Context ctx) {
|
||||
Intent i = new Intent(ctx, FromManagerActivitytwo.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 客户调拨
|
||||
*/
|
||||
public static void AllocationActivity(Context ctx,String times) {
|
||||
Intent i = new Intent(ctx, AllocationActivity.class);
|
||||
i.putExtra("times",times);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 选择分配店员
|
||||
*/
|
||||
public static void SelectActivity(Context ctx, List<FromManagerBeanData> mShowListtwo) {
|
||||
Intent i = new Intent(ctx, SelectActivity.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("dataBean", (Serializable) mShowListtwo);
|
||||
i.putExtras(bundle);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
/**
|
||||
* 选择调拨店铺
|
||||
*/
|
||||
public static void AllocationSelectActivity(Context ctx, List<DbRecordBeanData> mShowListtwo) {
|
||||
Intent i = new Intent(ctx, AllocationSelectActivity.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("dataBean", (Serializable) mShowListtwo);
|
||||
i.putExtras(bundle);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @description 自定义筛选
|
||||
* @param record_id 为空的时候,标识只是标签筛选,有值代表更改状态
|
||||
* @return
|
||||
*/
|
||||
public static void ZiActivity(Context ctx,String record_id) {
|
||||
Intent i = new Intent(ctx, ZiActivity.class);
|
||||
i.putExtra("record_id",record_id);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 更多详情
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
public static void MoreDetailsActivity(Context ctx,String only_unique) {
|
||||
Intent i = new Intent(ctx, MoreDetailsActivity.class);
|
||||
i.putExtra("only_unique",only_unique);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 绑定抖音链接
|
||||
*/
|
||||
public static void BindQrCodeActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, BindQrCodeActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
public static void CommentActivity(Context ctx,String num,String aweme_id) {
|
||||
Intent i = new Intent(ctx, CommentActivity.class);
|
||||
i.putExtra("num",num);
|
||||
i.putExtra("aweme_id",aweme_id);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
public static void XiansuoActivity(Context ctx) {
|
||||
Intent i = new Intent(ctx, XiansuoActivity.class);
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,326 @@
|
||||
package com.fanghoo.mendian.activity;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.StyleRes;
|
||||
import android.text.Html;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.fanghoo.base.FHConfig;
|
||||
import com.fanghoo.mendian.R;
|
||||
import com.fanghoo.mendian.network.http.RequestCenter;
|
||||
import com.fanghoo.mendian.login.GuideActivity;
|
||||
import com.fanghoo.mendian.module.mine.GetVesionResponseBean;
|
||||
import com.fanghoo.base.okhttp.listener.DisposeDataListener;
|
||||
import com.fanghoo.mendian.util.NetUtils;
|
||||
import com.fanghoo.base.util.SPUtils;
|
||||
import com.fanghoo.mendian.util.ToastUtils;
|
||||
import com.fanghoo.mendian.util.UpdateManager;
|
||||
import com.fanghoo.mendian.util.VersionUtils;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import pub.devrel.easypermissions.AfterPermissionGranted;
|
||||
import pub.devrel.easypermissions.EasyPermissions;
|
||||
|
||||
/**
|
||||
* 欢迎页面
|
||||
* Created by XiaoQiang on 2017/6/22.
|
||||
*/
|
||||
public class WelcomeActivity extends Activity implements EasyPermissions.PermissionCallbacks {
|
||||
|
||||
private static final int RC_CAMERA_AND_LOCATION = 100;
|
||||
Context mContext;
|
||||
private String dangqianversion;
|
||||
private UpdateManager mUpdateManager;//版本更新
|
||||
/**
|
||||
* Instances of static inner classes do not hold an implicit
|
||||
* reference to their outer class.
|
||||
* //
|
||||
*/
|
||||
private class MyHandler extends Handler {
|
||||
private final WeakReference<WelcomeActivity> mActivity;
|
||||
|
||||
public MyHandler(WelcomeActivity activity) {
|
||||
mActivity = new WeakReference<WelcomeActivity>(activity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
WelcomeActivity activity = mActivity.get();
|
||||
if (activity != null) {
|
||||
switch (msg.what) {
|
||||
case 0:
|
||||
initDialog();
|
||||
break;
|
||||
case 1:
|
||||
goFindActivity(activity);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void goFindActivity(WelcomeActivity activity) {
|
||||
//取出是否登录成功的状态 , true -- 判断是否保存有用户的风格数据 -- (true -- 进入MainActivity , false -- 进入StyleTestActivity)
|
||||
// false -- 进入LoginActivity
|
||||
|
||||
Boolean isLogin = (Boolean) SPUtils.getSp(activity, FHConfig.KEY_HAVE_LOGIN, false);
|
||||
//从欢迎页直接走主页
|
||||
if (isLogin) {
|
||||
Intent intent = new Intent(activity, HomeActivity.class);
|
||||
activity.startActivity(intent);
|
||||
} else {
|
||||
Intent intent = new Intent(activity, GuideActivity.class);
|
||||
activity.startActivity(intent);
|
||||
}
|
||||
activity.finish();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private final MyHandler handler = new MyHandler(this);
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
//将屏幕设置为全屏
|
||||
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
mContext = this;
|
||||
methodRequiresTwoPermission();
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void initDialog() {
|
||||
//获取当前应用版本号
|
||||
try {
|
||||
dangqianversion = VersionUtils.getversioncode(mContext);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
requestVersion();
|
||||
}
|
||||
|
||||
/**
|
||||
* 请求最新版本号
|
||||
*/
|
||||
private void requestVersion() {
|
||||
if (!NetUtils.isConnected(mContext)) {
|
||||
// 网络未连接时使用假数据继续执行
|
||||
ToastUtils.showToast(mContext, "网络未连接,使用本地数据");
|
||||
useMockVersionData();
|
||||
return;
|
||||
}
|
||||
|
||||
RequestCenter.getVersionRequest(new DisposeDataListener() {
|
||||
@Override
|
||||
public void onSuccess(Object responseObj) {
|
||||
// responseObj强转为login对象
|
||||
GetVesionResponseBean mGetVesionResponseBean = (GetVesionResponseBean) responseObj;
|
||||
SPUtils.setSP(WelcomeActivity.this, FHConfig.KEY_VERSION, mGetVesionResponseBean.getResult().getVersion());
|
||||
if (mGetVesionResponseBean.getResult() != null && String.valueOf(mGetVesionResponseBean.getResult().getSuccess()).equals("0")) {
|
||||
String newVersion = mGetVesionResponseBean.getResult().getVersion();
|
||||
int versionUpdate = VersionUtils.compareVersion(dangqianversion, newVersion);
|
||||
if (versionUpdate == -1) {//两个版本相同
|
||||
ADialog mShareWechatDialog = new ADialog(mContext, 0, mGetVesionResponseBean);
|
||||
mShareWechatDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);//代码中取消标题栏
|
||||
mShareWechatDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
Window win = mShareWechatDialog.getWindow();
|
||||
win.getDecorView().setPadding(0, 0, 0, 0);
|
||||
WindowManager.LayoutParams lp = win.getAttributes();
|
||||
lp.width = WindowManager.LayoutParams.FILL_PARENT;
|
||||
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
win.setAttributes(lp);
|
||||
mShareWechatDialog.setCancelable(false);
|
||||
mShareWechatDialog.show();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} else {//没有最新版本
|
||||
handler.sendEmptyMessage(1);
|
||||
}
|
||||
} else {
|
||||
ToastUtils.showToast(mContext, mGetVesionResponseBean.getResult().getMsg());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Object reasonObj) {
|
||||
// 请求失败时使用假数据继续执行
|
||||
ToastUtils.showToast(mContext, "服务器连接失败,使用本地数据");
|
||||
useMockVersionData();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用假数据继续执行
|
||||
*/
|
||||
private void useMockVersionData() {
|
||||
// 创建假数据
|
||||
GetVesionResponseBean mockBean = new GetVesionResponseBean();
|
||||
mockBean.setStatus(0);
|
||||
|
||||
GetVesionResponseBean.ResultBean resultBean = new GetVesionResponseBean.ResultBean();
|
||||
resultBean.setSuccess(0);
|
||||
resultBean.setMsg("成功");
|
||||
// 设置版本号为当前版本,这样就不会弹出更新对话框
|
||||
resultBean.setVersion(dangqianversion != null ? dangqianversion : "1.0.0");
|
||||
resultBean.setContent("版本更新内容");
|
||||
|
||||
mockBean.setResult(resultBean);
|
||||
|
||||
// 保存版本号
|
||||
SPUtils.setSP(WelcomeActivity.this, FHConfig.KEY_VERSION, resultBean.getVersion());
|
||||
|
||||
// 直接跳转到下一个页面(不显示更新对话框)
|
||||
handler.sendEmptyMessage(1);
|
||||
}
|
||||
|
||||
class ADialog extends Dialog implements View.OnClickListener {
|
||||
|
||||
private Context context;
|
||||
GetVesionResponseBean mGetVesionResponseBean;
|
||||
|
||||
public ADialog(@NonNull Context context, @StyleRes int themeResId, GetVesionResponseBean mGetVesionResponseBean) {
|
||||
super(context, themeResId);
|
||||
this.context = context;
|
||||
this.mGetVesionResponseBean = mGetVesionResponseBean;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
this.setContentView(R.layout.version_dailog);
|
||||
|
||||
if(isHuaWei()){
|
||||
launchAppDetail(WelcomeActivity.this, "com.fanghoo.mendian", "com.huawei.appmarket");
|
||||
}else {
|
||||
launchAppDetail(WelcomeActivity.this, "com.fanghoo.mendian", "com.tencent.android.qqdownloader");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void launchAppDetail(final Context context, final String appPkg, final String marketPkg) {
|
||||
|
||||
String content = mGetVesionResponseBean.getResult().getContent();
|
||||
content = content.replace("</br>", "<br>");
|
||||
TextView mContentTv = (TextView) findViewById(R.id.tv_content);
|
||||
mContentTv.setText(Html.fromHtml(content));
|
||||
TextView mVersionTv = (TextView) findViewById(R.id.tv_version);
|
||||
|
||||
mVersionTv.setText("V" + mGetVesionResponseBean.getResult().getVersion());
|
||||
Button mUpdateBtn = (Button) findViewById(R.id.btn_update);
|
||||
Button btn_update_one = (Button) findViewById(R.id.btn_update_one);
|
||||
|
||||
mUpdateBtn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
dismiss();
|
||||
// 这里来检测版本是否需要更新
|
||||
mUpdateManager = new UpdateManager(WelcomeActivity.this, "http://www.fenghoo.com.cn/apk/app-release-latest.apk");
|
||||
mUpdateManager.checkUpdateDownload();
|
||||
// Log.d("apkUrl", apkUrl);
|
||||
}
|
||||
});
|
||||
|
||||
btn_update_one.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
try {
|
||||
if (TextUtils.isEmpty(appPkg))
|
||||
return;
|
||||
Uri uri = Uri.parse("market://details?id=" + appPkg);
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
|
||||
//如果设置了market包名 打开指定app市场
|
||||
if (!TextUtils.isEmpty(marketPkg))
|
||||
intent.setPackage(marketPkg);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
context.startActivity(intent);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
dismiss();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@AfterPermissionGranted(RC_CAMERA_AND_LOCATION)
|
||||
private void methodRequiresTwoPermission() {
|
||||
String[] perms = {Manifest.permission.ACCESS_COARSE_LOCATION
|
||||
, Manifest.permission.ACCESS_FINE_LOCATION
|
||||
, Manifest.permission.READ_PHONE_STATE
|
||||
, Manifest.permission.WRITE_EXTERNAL_STORAGE
|
||||
, Manifest.permission.CAMERA
|
||||
, Manifest.permission.RECORD_AUDIO};
|
||||
if (EasyPermissions.hasPermissions(this, perms)) {
|
||||
|
||||
handler.sendEmptyMessageDelayed(0, 2000);
|
||||
|
||||
} else {
|
||||
EasyPermissions.requestPermissions(this, getString(R.string.location_rationale),
|
||||
RC_CAMERA_AND_LOCATION, perms);
|
||||
|
||||
// handler.sendEmptyMessageDelayed(0, 2000);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
|
||||
}
|
||||
|
||||
//成功
|
||||
@Override
|
||||
public void onPermissionsGranted(int requestCode, List<String> perms) {
|
||||
ToastUtils.showToast(mContext, "授权完成");
|
||||
handler.sendEmptyMessageDelayed(0, 2000);
|
||||
}
|
||||
|
||||
//失败
|
||||
@Override
|
||||
public void onPermissionsDenied(int requestCode, List<String> perms) {
|
||||
|
||||
ToastUtils.showToast(mContext, "获取部分权限失败,请重新授权");
|
||||
handler.sendEmptyMessageDelayed(0, 2000);
|
||||
}
|
||||
public static boolean isHuaWei() {
|
||||
String manufacturer = Build.MANUFACTURER;
|
||||
//这个字符串可以自己定义,例如判断华为就填写huawei,魅族就填写meizu
|
||||
if ("huawei".equalsIgnoreCase(manufacturer)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,280 @@
|
||||
package com.fanghoo.mendian.activity.base;
|
||||
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Configuration;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.fanghoo.mendian.activity.making.dialog.LoadingDialog;
|
||||
import com.fanghoo.base.widget.TitleBar;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import androidx.annotation.IdRes;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import de.greenrobot.event.EventBus;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
import rx.Subscription;
|
||||
|
||||
|
||||
/**
|
||||
* 日期:2017.01.03
|
||||
* <p>
|
||||
* 作者:xudiwei
|
||||
* <p>
|
||||
* 描述:BaseFragment添加了相关常用的方法。
|
||||
*/
|
||||
public class BaseFragment extends Fragment {
|
||||
private static final String TAG = "BaseFragment";
|
||||
protected Context mContext;
|
||||
protected Activity mActivity;
|
||||
private LoadingDialog mProgressDialog;
|
||||
private boolean isVisible;
|
||||
protected ArrayList<Subscription> rxBusList = new ArrayList<>();
|
||||
public BaseFragment() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
// mContext = context;
|
||||
mActivity = getActivity();
|
||||
initFontScale();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
mContext = getActivity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setUserVisibleHint(boolean isVisibleToUser) {
|
||||
super.setUserVisibleHint(isVisibleToUser);
|
||||
if (isVisibleToUser && !isVisible) {
|
||||
isVisible = true;
|
||||
onVisible();
|
||||
} else {
|
||||
if (isVisible) {
|
||||
isVisible = false;
|
||||
onInvisible();
|
||||
}
|
||||
}
|
||||
Log.d(TAG, "setUserVisibleHint: " + isVisibleToUser);
|
||||
}
|
||||
|
||||
private void initFontScale() {
|
||||
Configuration configuration = getResources().getConfiguration();
|
||||
configuration.fontScale = (float) 1;
|
||||
//0.85 小, 1 标准大小, 1.15 大,1.3 超大 ,1.45 特大
|
||||
DisplayMetrics metrics = new DisplayMetrics();
|
||||
getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);
|
||||
metrics.scaledDensity = configuration.fontScale * metrics.density;
|
||||
getActivity().getBaseContext().getResources().updateConfiguration(configuration, metrics);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (!isVisible) {
|
||||
isVisible = true;
|
||||
onVisible();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
if (isVisible) {
|
||||
isVisible = false;
|
||||
onInvisible();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fragment可见时
|
||||
*/
|
||||
protected void onVisible() {
|
||||
Log.d(TAG, "onVisible");
|
||||
}
|
||||
|
||||
/**
|
||||
* Fragment不可见时
|
||||
*/
|
||||
protected void onInvisible() {
|
||||
Log.d(TAG, "onInvisible");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 开启一个Activity
|
||||
*
|
||||
* @param clz 需要开启的Activity
|
||||
*/
|
||||
public void startActivity(Class<? extends Activity> clz) {
|
||||
if (null != mContext) {
|
||||
startActivity(new Intent(mContext, clz));
|
||||
// getActivity().overridePendingTransition(R.anim.trans_next_in,R.anim.trans_next_out);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启一个Activity,并finish掉当前的Activity
|
||||
*
|
||||
* @param clz
|
||||
*/
|
||||
public void startActivityAndFinishSelf(Class<? extends Activity> clz) {
|
||||
if (null != mActivity) {
|
||||
startActivity(clz);
|
||||
mActivity.finish();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onHiddenChanged(boolean hidden) {
|
||||
super.onHiddenChanged(hidden);
|
||||
Log.d(TAG, "onHiddenChanged");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 设置标题栏参数
|
||||
*
|
||||
* @param titleIds 标题栏的id
|
||||
* @param title 标题
|
||||
* @param goneLeftBtn 左边按钮是否显示
|
||||
* @param goneRightBtn 右边按钮是否显示
|
||||
* @param titleBarClickListener 左右边的按钮点击事件回调接口
|
||||
* @return 返回设置好的titlebar
|
||||
*/
|
||||
public TitleBar setTitleBar(@IdRes int titleIds, String title
|
||||
, boolean goneLeftBtn, boolean goneRightBtn, TitleBar.OnTitleBarClickListener titleBarClickListener) {
|
||||
TitleBar titleBar = (TitleBar) getView().findViewById(titleIds);
|
||||
titleBar.setTitle(title);
|
||||
titleBar.visibleIvLeftBtn(goneLeftBtn);
|
||||
titleBar.visibleIvRightBtn(goneRightBtn);
|
||||
titleBar.setOnTitleBarClickListener(titleBarClickListener);
|
||||
return titleBar;
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化进度对话框
|
||||
*/
|
||||
|
||||
public void showProgressDialog(String dialogMessage, Context mContext) {
|
||||
mProgressDialog = new LoadingDialog(mContext);
|
||||
mProgressDialog.setCanceledOnTouchOutside(false);
|
||||
// mProgressDialog.setMessage(dialogMessage);
|
||||
mProgressDialog.show();
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭进度对话框
|
||||
*/
|
||||
|
||||
public void dismissProgressDialog() {
|
||||
if (null != mProgressDialog && mProgressDialog.isShowing()) {
|
||||
mProgressDialog.dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 隐藏键盘
|
||||
*/
|
||||
public void hideKB() {
|
||||
// if (null != mContext && mContext instanceof BaseActivity) {
|
||||
// ((BaseActivity) mContext).hintKb();
|
||||
// }
|
||||
}
|
||||
|
||||
public static final int REQUEST_CALL_PERMISSION = 10111; //拨号请求码
|
||||
|
||||
/**
|
||||
* 判断是否有某项权限
|
||||
*
|
||||
* @param string_permission 权限
|
||||
* @param request_code 请求码
|
||||
* @return
|
||||
*/
|
||||
public boolean checkReadPermission(String string_permission, int request_code) {
|
||||
boolean flag = false;
|
||||
if (ContextCompat.checkSelfPermission(getActivity(), string_permission) == PackageManager.PERMISSION_GRANTED) {//已有权限
|
||||
flag = true;
|
||||
} else {//申请权限
|
||||
ActivityCompat.requestPermissions(getActivity(), new String[]{string_permission}, request_code);
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查权限后的回调
|
||||
*
|
||||
* @param requestCode 请求码
|
||||
* @param permissions 权限
|
||||
* @param grantResults 结果
|
||||
*/
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
switch (requestCode) {
|
||||
case REQUEST_CALL_PERMISSION: //拨打电话
|
||||
if (permissions.length != 0 && grantResults[0] != PackageManager.PERMISSION_GRANTED) {//失败
|
||||
Toast.makeText(getActivity(), "请允许拨号权限后再试", Toast.LENGTH_SHORT).show();
|
||||
} else {//成功
|
||||
call("tel:" + "10086");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 拨打电话(直接拨打)
|
||||
*
|
||||
* @param telPhone 电话
|
||||
*/
|
||||
public void call(String telPhone) {
|
||||
if (checkReadPermission(Manifest.permission.CALL_PHONE, REQUEST_CALL_PERMISSION)) {
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(Intent.ACTION_CALL);
|
||||
Uri phoneNum = Uri.parse("tel:" + telPhone);
|
||||
intent.setData(phoneNum);
|
||||
mContext.startActivity(intent);
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* 取消该页面所有订阅
|
||||
*/
|
||||
protected void clearSubscription() {
|
||||
for (Subscription subscription : rxBusList) {
|
||||
if (subscription != null && subscription.isUnsubscribed()) {
|
||||
subscription.unsubscribe();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
EventBus.getDefault().unregister(this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package com.fanghoo.mendian.activity.base
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.FragmentPagerAdapter
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter
|
||||
import com.fanghoo.mendian.activity.wode.bean.RobCustomerBean
|
||||
import com.fanghoo.mendian.view.fragment.BlankFragment
|
||||
|
||||
|
||||
/**
|
||||
* Created by xuhao on 2017/11/30.
|
||||
* 该类内的每一个生成的 Fragment 都将保存在内存之中,
|
||||
* 因此适用于那些相对静态的页,数量也比较少的那种;
|
||||
* 如果需要处理有很多页,并且数据动态性较大、占用内存较多的情况,
|
||||
* 应该使用FragmentStatePagerAdapter。
|
||||
*/
|
||||
class BaseFragmentAdapter : FragmentStatePagerAdapter {
|
||||
|
||||
private var fragmentList: List<Fragment>? = ArrayList()
|
||||
private var mTitles: MutableList<String>? = null
|
||||
|
||||
constructor(fm: FragmentManager, fragmentList: List<Fragment>) : super(fm) {
|
||||
this.fragmentList = fragmentList
|
||||
}
|
||||
|
||||
constructor(fm: FragmentManager, fragmentList: List<Fragment>, mTitles: MutableList<String>) : super(fm) {
|
||||
this.mTitles = mTitles
|
||||
setFragments(fm, fragmentList, mTitles)
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新fragment数据
|
||||
* @param fm
|
||||
* @param list
|
||||
*/
|
||||
fun upData(fm: FragmentManager, list: List<RobCustomerBean.ResultBean.DataBean>) {
|
||||
|
||||
val fragments = fm.fragments
|
||||
for (i in fragments.indices) {
|
||||
val fragment = fragments[i] as BlankFragment
|
||||
fragment.upDateFragmentData(list[i])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//刷新fragment
|
||||
@SuppressLint("CommitTransaction")
|
||||
fun setFragments(fm: FragmentManager, fragments: List<Fragment>, mTitles: MutableList<String>) {
|
||||
this.mTitles = mTitles
|
||||
if (this.fragmentList != null) {
|
||||
val ft = fm.beginTransaction()
|
||||
fragmentList?.forEach {
|
||||
ft.remove(it)
|
||||
}
|
||||
ft?.commitAllowingStateLoss()
|
||||
fm.executePendingTransactions()
|
||||
}
|
||||
this.fragmentList = fragments
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
|
||||
override fun getPageTitle(position: Int): CharSequence {
|
||||
return if (null != mTitles) mTitles!![position] else ""
|
||||
}
|
||||
|
||||
override fun getItem(position: Int): Fragment {
|
||||
return fragmentList!![position]
|
||||
}
|
||||
|
||||
override fun getCount(): Int {
|
||||
return fragmentList!!.size
|
||||
}
|
||||
|
||||
|
||||
// 动态设置我们标题的方法
|
||||
fun setPageTitle(position: Int, title: String) {
|
||||
if (position >= 0 && position < mTitles!!.size) {
|
||||
mTitles!![position] = title
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,281 @@
|
||||
package com.fanghoo.mendian.activity.base;
|
||||
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Configuration;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.fanghoo.mendian.activity.making.dialog.LoadingDialog;
|
||||
import com.fanghoo.base.widget.TitleBar;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import androidx.annotation.IdRes;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import de.greenrobot.event.EventBus;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
import rx.Subscription;
|
||||
|
||||
|
||||
/**
|
||||
* 日期:2017.01.03
|
||||
* <p>
|
||||
* 作者:xudiwei
|
||||
* <p>
|
||||
* 描述:BaseFragment添加了相关常用的方法。
|
||||
*/
|
||||
public class BaseFragmenttemp extends Fragment {
|
||||
private static final String TAG = "BaseFragment";
|
||||
protected Context mContext;
|
||||
protected Activity mActivity;
|
||||
private LoadingDialog mProgressDialog;
|
||||
private boolean isVisible;
|
||||
protected ArrayList<Subscription> rxBusList = new ArrayList<>();
|
||||
public BaseFragmenttemp() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
// mContext = context;
|
||||
mActivity = getActivity();
|
||||
initFontScale();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
mContext = getActivity();
|
||||
EventBus.getDefault().register(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setUserVisibleHint(boolean isVisibleToUser) {
|
||||
super.setUserVisibleHint(isVisibleToUser);
|
||||
if (isVisibleToUser && !isVisible) {
|
||||
isVisible = true;
|
||||
onVisible();
|
||||
} else {
|
||||
if (isVisible) {
|
||||
isVisible = false;
|
||||
onInvisible();
|
||||
}
|
||||
}
|
||||
Log.d(TAG, "setUserVisibleHint: " + isVisibleToUser);
|
||||
}
|
||||
|
||||
private void initFontScale() {
|
||||
Configuration configuration = getResources().getConfiguration();
|
||||
configuration.fontScale = (float) 1;
|
||||
//0.85 小, 1 标准大小, 1.15 大,1.3 超大 ,1.45 特大
|
||||
DisplayMetrics metrics = new DisplayMetrics();
|
||||
getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);
|
||||
metrics.scaledDensity = configuration.fontScale * metrics.density;
|
||||
getActivity().getBaseContext().getResources().updateConfiguration(configuration, metrics);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (!isVisible) {
|
||||
isVisible = true;
|
||||
onVisible();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
if (isVisible) {
|
||||
isVisible = false;
|
||||
onInvisible();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fragment可见时
|
||||
*/
|
||||
protected void onVisible() {
|
||||
Log.d(TAG, "onVisible");
|
||||
}
|
||||
|
||||
/**
|
||||
* Fragment不可见时
|
||||
*/
|
||||
protected void onInvisible() {
|
||||
Log.d(TAG, "onInvisible");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 开启一个Activity
|
||||
*
|
||||
* @param clz 需要开启的Activity
|
||||
*/
|
||||
public void startActivity(Class<? extends Activity> clz) {
|
||||
if (null != mContext) {
|
||||
startActivity(new Intent(mContext, clz));
|
||||
// getActivity().overridePendingTransition(R.anim.trans_next_in,R.anim.trans_next_out);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启一个Activity,并finish掉当前的Activity
|
||||
*
|
||||
* @param clz
|
||||
*/
|
||||
public void startActivityAndFinishSelf(Class<? extends Activity> clz) {
|
||||
if (null != mActivity) {
|
||||
startActivity(clz);
|
||||
mActivity.finish();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onHiddenChanged(boolean hidden) {
|
||||
super.onHiddenChanged(hidden);
|
||||
Log.d(TAG, "onHiddenChanged");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 设置标题栏参数
|
||||
*
|
||||
* @param titleIds 标题栏的id
|
||||
* @param title 标题
|
||||
* @param goneLeftBtn 左边按钮是否显示
|
||||
* @param goneRightBtn 右边按钮是否显示
|
||||
* @param titleBarClickListener 左右边的按钮点击事件回调接口
|
||||
* @return 返回设置好的titlebar
|
||||
*/
|
||||
public TitleBar setTitleBar(@IdRes int titleIds, String title
|
||||
, boolean goneLeftBtn, boolean goneRightBtn, TitleBar.OnTitleBarClickListener titleBarClickListener) {
|
||||
TitleBar titleBar = (TitleBar) getView().findViewById(titleIds);
|
||||
titleBar.setTitle(title);
|
||||
titleBar.visibleIvLeftBtn(goneLeftBtn);
|
||||
titleBar.visibleIvRightBtn(goneRightBtn);
|
||||
titleBar.setOnTitleBarClickListener(titleBarClickListener);
|
||||
return titleBar;
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化进度对话框
|
||||
*/
|
||||
|
||||
public void showProgressDialog(String dialogMessage, Context mContext) {
|
||||
mProgressDialog = new LoadingDialog(mContext);
|
||||
mProgressDialog.setCanceledOnTouchOutside(false);
|
||||
// mProgressDialog.setMessage(dialogMessage);
|
||||
mProgressDialog.show();
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭进度对话框
|
||||
*/
|
||||
|
||||
public void dismissProgressDialog() {
|
||||
if (null != mProgressDialog && mProgressDialog.isShowing()) {
|
||||
mProgressDialog.dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 隐藏键盘
|
||||
*/
|
||||
public void hideKB() {
|
||||
// if (null != mContext && mContext instanceof BaseActivity) {
|
||||
// ((BaseActivity) mContext).hintKb();
|
||||
// }
|
||||
}
|
||||
|
||||
public static final int REQUEST_CALL_PERMISSION = 10111; //拨号请求码
|
||||
|
||||
/**
|
||||
* 判断是否有某项权限
|
||||
*
|
||||
* @param string_permission 权限
|
||||
* @param request_code 请求码
|
||||
* @return
|
||||
*/
|
||||
public boolean checkReadPermission(String string_permission, int request_code) {
|
||||
boolean flag = false;
|
||||
if (ContextCompat.checkSelfPermission(getActivity(), string_permission) == PackageManager.PERMISSION_GRANTED) {//已有权限
|
||||
flag = true;
|
||||
} else {//申请权限
|
||||
ActivityCompat.requestPermissions(getActivity(), new String[]{string_permission}, request_code);
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查权限后的回调
|
||||
*
|
||||
* @param requestCode 请求码
|
||||
* @param permissions 权限
|
||||
* @param grantResults 结果
|
||||
*/
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
switch (requestCode) {
|
||||
case REQUEST_CALL_PERMISSION: //拨打电话
|
||||
if (permissions.length != 0 && grantResults[0] != PackageManager.PERMISSION_GRANTED) {//失败
|
||||
Toast.makeText(getActivity(), "请允许拨号权限后再试", Toast.LENGTH_SHORT).show();
|
||||
} else {//成功
|
||||
call("tel:" + "10086");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 拨打电话(直接拨打)
|
||||
*
|
||||
* @param telPhone 电话
|
||||
*/
|
||||
public void call(String telPhone) {
|
||||
if (checkReadPermission(Manifest.permission.CALL_PHONE, REQUEST_CALL_PERMISSION)) {
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(Intent.ACTION_CALL);
|
||||
Uri phoneNum = Uri.parse("tel:" + telPhone);
|
||||
intent.setData(phoneNum);
|
||||
mContext.startActivity(intent);
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* 取消该页面所有订阅
|
||||
*/
|
||||
protected void clearSubscription() {
|
||||
for (Subscription subscription : rxBusList) {
|
||||
if (subscription != null && subscription.isUnsubscribed()) {
|
||||
subscription.unsubscribe();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
EventBus.getDefault().unregister(this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,312 @@
|
||||
package com.fanghoo.mendian.activity.base;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import androidx.annotation.IdRes;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import android.text.TextPaint;
|
||||
import android.util.TypedValue;
|
||||
import android.view.View;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.fanghoo.base.activity.BaseActivity;
|
||||
import com.fanghoo.base.dialog.PersonnelDialogHelptwo;
|
||||
import com.fanghoo.mendian.R;
|
||||
import com.fanghoo.mendian.util.NetUtils;
|
||||
import com.fanghoo.mendian.util.StatusBarUtil;
|
||||
import com.fanghoo.mendian.util.ToastUtils;
|
||||
import com.fanghoo.mendian.widget.LoadingDialog;
|
||||
import com.hannesdorfmann.mosby3.mvp.MvpActivity;
|
||||
import com.hannesdorfmann.mosby3.mvp.MvpPresenter;
|
||||
import com.hannesdorfmann.mosby3.mvp.MvpView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import rx.Subscription;
|
||||
|
||||
/**
|
||||
* BaseMenDianActivity
|
||||
* (๑• . •๑)
|
||||
* 类描述: 使用第三方MVP库的BaseActivity
|
||||
* Created by LeiXiaoXing on 2017/3/14 09:54
|
||||
*/
|
||||
|
||||
public abstract class BaseMenDianActivity<V extends MvpView, P extends MvpPresenter<V>> extends MvpActivity<V, P> implements BaseMenDianView {
|
||||
private final String TAG = getClass().getSimpleName();
|
||||
protected Context mContext;
|
||||
private LoadingDialog mProgressDialog;
|
||||
private AlertDialog alert = null;
|
||||
private AlertDialog.Builder builder = null;
|
||||
protected ArrayList<Subscription> rxBusList = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(getLayoutId());
|
||||
mContext = this;
|
||||
initStyle();
|
||||
initView();
|
||||
initData();
|
||||
initEvent();
|
||||
// initNormalBack();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取布局文件ID
|
||||
*
|
||||
* @return 布局文件ID
|
||||
*/
|
||||
protected abstract int getLayoutId();
|
||||
|
||||
/**
|
||||
* 初始化视图状态
|
||||
*/
|
||||
protected abstract void initView();
|
||||
|
||||
/**
|
||||
* 初始化数据参数
|
||||
*/
|
||||
protected abstract void initData();
|
||||
|
||||
/**
|
||||
* 初始化操作事件
|
||||
*/
|
||||
protected abstract void initEvent();
|
||||
|
||||
|
||||
public void toast(String msg) {
|
||||
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
public void toast(@StringRes int ids) {
|
||||
this.toast(getString(ids));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 线程安全的toast
|
||||
*
|
||||
* @param msg toast内容
|
||||
*/
|
||||
public void toastThreadSafe(final String msg) {
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
toast(msg);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 线程安全的toast
|
||||
*
|
||||
* @param ids toast内容
|
||||
*/
|
||||
public void toastThreadSafe(@StringRes final int ids) {
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
toast(ids);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 开启一个Activity
|
||||
*
|
||||
* @param clz 需要开启的Activity
|
||||
*/
|
||||
public void startActivity(Class<? extends Activity> clz) {
|
||||
startActivity(new Intent(this, clz));
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启一个Activity并关闭当前Activity
|
||||
*
|
||||
* @param clz 需要开启的Activity
|
||||
*/
|
||||
public void startActivityAndFinishSelf(Class<? extends Activity> clz) {
|
||||
startActivity(clz);
|
||||
finish();
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化进度对话框
|
||||
*/
|
||||
@Override
|
||||
public void showProgressDialog(String dialogMessage) {
|
||||
mProgressDialog = LoadingDialog.showDialog(mContext, dialogMessage);
|
||||
mProgressDialog.show();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 关闭进度对话框
|
||||
*/
|
||||
@Override
|
||||
public void dismissProgressDialog() {
|
||||
if (null != mProgressDialog && mProgressDialog.isShowing()) {
|
||||
mProgressDialog.dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 初始化刷新控件的参数
|
||||
*
|
||||
* @param ids 刷新控件的id
|
||||
*/
|
||||
protected SwipeRefreshLayout setSwipeRefreshLayout(@IdRes int ids) {
|
||||
SwipeRefreshLayout mRefreshLayout = (SwipeRefreshLayout) findViewById(ids);
|
||||
mRefreshLayout.setProgressViewOffset(false, 0,
|
||||
(int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, getResources().getDisplayMetrics()));
|
||||
mRefreshLayout.setColorSchemeResources(R.color.colorPrimary);
|
||||
return mRefreshLayout;
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示或隐藏软键盘,如果当时是显示则隐藏,如果当前是隐藏则显示
|
||||
*/
|
||||
public void showOrHide() {
|
||||
InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
// 得到InputMethodManager的实例
|
||||
if (imm.isActive()) {
|
||||
// 如果开启
|
||||
imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT,
|
||||
InputMethodManager.HIDE_NOT_ALWAYS);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 隐藏软键盘
|
||||
*/
|
||||
public void hintKb() {
|
||||
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
/**点击空白处隐藏键盘*/
|
||||
if (getCurrentFocus() != null && getCurrentFocus().getWindowToken() != null) {
|
||||
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示软键盘
|
||||
*
|
||||
* @param view
|
||||
*/
|
||||
public void showKb(View view) {
|
||||
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
imm.showSoftInput(view, InputMethodManager.RESULT_SHOWN);
|
||||
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化一般返回按钮事件
|
||||
*/
|
||||
public void initNormalBack() {
|
||||
ImageView iv_back = (ImageView) findViewById(R.id.iv_left_btn);
|
||||
if (iv_back != null) {
|
||||
iv_back.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 初始化状态栏
|
||||
*/
|
||||
protected void initStyle() {
|
||||
StatusBarUtil.transparencyBar(this); //设置状态栏全透明
|
||||
StatusBarUtil.StatusBarLightMode(this); //设置白
|
||||
}
|
||||
|
||||
/**
|
||||
* 申请指定的权限.
|
||||
*/
|
||||
public void requestPermission(int code, String... permissions) {
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 23) {
|
||||
requestPermissions(permissions, code);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否有指定的权限
|
||||
*/
|
||||
public boolean hasPermission(String... permissions) {
|
||||
|
||||
for (String permisson : permissions) {
|
||||
if (ContextCompat.checkSelfPermission(BaseMenDianActivity.this, permisson)
|
||||
!= PackageManager.PERMISSION_GRANTED) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public void doOpenCamera() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 字体加粗
|
||||
*/
|
||||
protected void Thickening(TextView mLayTopTitle) {
|
||||
TextPaint tp = mLayTopTitle.getPaint();
|
||||
tp.setFakeBoldText(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 弹出提示对话框
|
||||
*/
|
||||
|
||||
public void alertmessage(Context context,String msg) {
|
||||
|
||||
new PersonnelDialogHelptwo().showDownloadDialog(BaseMenDianActivity.this, msg,"确定", new PersonnelDialogHelptwo.ClickListener() {
|
||||
@Override
|
||||
public void confirm() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
public boolean ConnectNetwork(Context context,String str) {
|
||||
if (!NetUtils.isConnected(context)) {
|
||||
ToastUtils.showToast(context, str);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消该页面所有订阅
|
||||
*/
|
||||
protected void clearSubscription() {
|
||||
for (Subscription subscription : rxBusList) {
|
||||
if (subscription != null && subscription.isUnsubscribed()) {
|
||||
subscription.unsubscribe();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,280 @@
|
||||
package com.fanghoo.mendian.activity.base;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import androidx.annotation.IdRes;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import android.util.Log;
|
||||
import android.util.TypedValue;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Toast;
|
||||
|
||||
|
||||
import com.fanghoo.mendian.R;
|
||||
import com.fanghoo.mendian.widget.LoadingDialog;
|
||||
import com.fanghoo.base.widget.TitleBar;
|
||||
import com.hannesdorfmann.mosby3.mvp.MvpFragment;
|
||||
import com.hannesdorfmann.mosby3.mvp.MvpPresenter;
|
||||
import com.hannesdorfmann.mosby3.mvp.MvpView;
|
||||
|
||||
/**
|
||||
* BaseMenDianFragment
|
||||
* (๑• . •๑)
|
||||
* 类描述: Fragment基类,使用第三方MVP
|
||||
* Created by RenJianBo on 2018/9/10 17:23
|
||||
*/
|
||||
|
||||
public abstract class BaseMenDianFragment<V extends MvpView, P extends MvpPresenter<V>> extends MvpFragment<V, P> {
|
||||
|
||||
protected final String TAG = getClass().getSimpleName();
|
||||
protected Context mContext;
|
||||
protected Activity mActivity;
|
||||
private LoadingDialog mProgressDialog;
|
||||
/**
|
||||
* 视图是否已经初初始化
|
||||
*/
|
||||
protected boolean isInit = false;
|
||||
protected boolean isLoad = false;
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
|
||||
return inflater.inflate(getFragmentLayoutId(), container, false);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
initView(view);
|
||||
initData();
|
||||
initEvent(view);
|
||||
isInit = true;
|
||||
isCanLoadData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取Fragment布局文件id
|
||||
*
|
||||
* @return Fragment布局文件id
|
||||
*/
|
||||
protected abstract int getFragmentLayoutId();
|
||||
|
||||
/**
|
||||
* 初始化视图状态
|
||||
*/
|
||||
protected abstract void initView(View view);
|
||||
|
||||
/**
|
||||
* 初始化数据参数
|
||||
*/
|
||||
protected abstract void initData();
|
||||
|
||||
/**
|
||||
* 初始化操作事件
|
||||
*/
|
||||
protected abstract void initEvent(View view);
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
mContext = context;
|
||||
mActivity = getActivity();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 视图是否已经对用户可见,系统的方法,setUserVisibleHint在onCreate之前调用
|
||||
* 1.第一次创建Fragment时,加载数据会报空指针异常,所以要加个判断是否已经初始化
|
||||
* 2.当Fragment已经初始化,再次可见时会直接调用此方法,此时可以直接加载数据
|
||||
* 所以要在两个地方调用加载数据
|
||||
*/
|
||||
@Override
|
||||
public void setUserVisibleHint(boolean isVisibleToUser) {
|
||||
super.setUserVisibleHint(isVisibleToUser);
|
||||
isCanLoadData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否可以加载数据
|
||||
* 可以加载数据的条件:
|
||||
* 1.视图已经初始化
|
||||
* 2.视图对用户可见
|
||||
*/
|
||||
private void isCanLoadData() {
|
||||
if (!isInit) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (getUserVisibleHint()) {
|
||||
setUpView();
|
||||
isLoad = true;
|
||||
} else {
|
||||
if (isLoad) {
|
||||
stopLoad();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当视图初始化并且对用户可见的时候去真正的加载数据
|
||||
*/
|
||||
protected void setUpView() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 当视图已经对用户不可见并且加载过数据,如果需要在切换到其他页面时停止加载数据,可以调用此方法
|
||||
*/
|
||||
protected void stopLoad() {
|
||||
}
|
||||
|
||||
/**
|
||||
* toast
|
||||
*
|
||||
* @param msg 吐丝的内容
|
||||
*/
|
||||
public void toast(String msg) {
|
||||
Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
/**
|
||||
* toast
|
||||
*
|
||||
* @param ids 吐丝的内容的字符串ids
|
||||
*/
|
||||
public void toast(@StringRes int ids) {
|
||||
toast(getString(ids));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 线程安全的toast
|
||||
*
|
||||
* @param msg
|
||||
*/
|
||||
public void toastThreadSafe(final String msg) {
|
||||
if (null != mActivity) {
|
||||
mActivity.runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
toast(msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 线程安全的toast
|
||||
*
|
||||
* @param ids
|
||||
*/
|
||||
public void toastThreadSafe(@StringRes final int ids) {
|
||||
if (null != mActivity) {
|
||||
mActivity.runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
toast(ids);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启一个Activity
|
||||
*
|
||||
* @param clz 需要开启的Activity
|
||||
*/
|
||||
public void startActivity(Class<? extends Activity> clz) {
|
||||
if (null != mContext) {
|
||||
startActivity(new Intent(mContext, clz));
|
||||
// getActivity().overridePendingTransition(R.anim.trans_next_in,R.anim.trans_next_out);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启一个Activity,并finish掉当前的Activity
|
||||
*
|
||||
* @param clz
|
||||
*/
|
||||
public void startActivityAndFinishSelf(Class<? extends Activity> clz) {
|
||||
if (null != mActivity) {
|
||||
startActivity(clz);
|
||||
mActivity.finish();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化进度对话框
|
||||
*/
|
||||
|
||||
public void showProgressDialog(String dialogMessage) {
|
||||
mProgressDialog = new LoadingDialog(mContext,"加载中");
|
||||
mProgressDialog.setCanceledOnTouchOutside(false);
|
||||
// mProgressDialog.setMessage(dialogMessage);
|
||||
mProgressDialog.show();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onHiddenChanged(boolean hidden) {
|
||||
super.onHiddenChanged(hidden);
|
||||
Log.d(TAG, "onHiddenChanged");
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭进度对话框
|
||||
*/
|
||||
|
||||
public void dismissProgressDialog() {
|
||||
if (null != mProgressDialog && mProgressDialog.isShowing()) {
|
||||
mProgressDialog.dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化刷新控件的参数
|
||||
*
|
||||
* @param ids 刷新控件的id
|
||||
*/
|
||||
protected SwipeRefreshLayout setSwipeRefreshLayout(@IdRes int ids) {
|
||||
SwipeRefreshLayout mRefreshLayout = (SwipeRefreshLayout) getView().findViewById(ids);
|
||||
mRefreshLayout.setProgressViewOffset(false, 0,
|
||||
(int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, getResources().getDisplayMetrics()));
|
||||
mRefreshLayout.setColorSchemeResources(R.color.colorPrimary);
|
||||
return mRefreshLayout;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置标题栏参数
|
||||
*
|
||||
* @param titleIds 标题栏的id
|
||||
* @param title 标题
|
||||
* @param goneLeftBtn 左边按钮是否显示
|
||||
* @param goneRightBtn 右边按钮是否显示
|
||||
* @param titleBarClickListener 左右边的按钮点击事件回调接口
|
||||
* @return 返回设置好的titlebar
|
||||
*/
|
||||
public TitleBar setTitleBar(@IdRes int titleIds, String title
|
||||
, boolean goneLeftBtn, boolean goneRightBtn, TitleBar.OnTitleBarClickListener titleBarClickListener) {
|
||||
TitleBar titleBar = (TitleBar) getView().findViewById(titleIds);
|
||||
titleBar.setTitle(title);
|
||||
titleBar.visibleIvLeftBtn(goneLeftBtn);
|
||||
titleBar.visibleIvRightBtn(goneRightBtn);
|
||||
titleBar.setOnTitleBarClickListener(titleBarClickListener);
|
||||
return titleBar;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.fanghoo.mendian.activity.base;
|
||||
|
||||
import android.app.Activity;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.annotation.UiThread;
|
||||
|
||||
import com.hannesdorfmann.mosby3.mvp.MvpView;
|
||||
|
||||
/**
|
||||
* BaseMenDianView
|
||||
* (๑• . •๑)
|
||||
* 类描述:基础View接口
|
||||
* Created by RenJianBo on 2018/9/10 17:23
|
||||
*/
|
||||
|
||||
public interface BaseMenDianView extends MvpView {
|
||||
|
||||
/**
|
||||
* 显示加载中对话框
|
||||
*/
|
||||
@UiThread
|
||||
|
||||
void showProgressDialog(String dialogMessage);
|
||||
|
||||
/**
|
||||
* 隐藏加载中对话框
|
||||
*/
|
||||
@UiThread
|
||||
|
||||
void dismissProgressDialog();
|
||||
|
||||
|
||||
/**
|
||||
* toast
|
||||
*
|
||||
* @param msg 吐丝的内容
|
||||
*/
|
||||
void toast(String msg);
|
||||
|
||||
/**
|
||||
* toast
|
||||
*
|
||||
* @param ids 吐丝的内容的字符串ids
|
||||
*/
|
||||
void toast(@StringRes int ids);
|
||||
|
||||
|
||||
/**
|
||||
* 线程安全的toast
|
||||
*
|
||||
* @param msg 消息内容
|
||||
*/
|
||||
@UiThread
|
||||
void toastThreadSafe(final String msg);
|
||||
|
||||
/**
|
||||
* 线程安全的toast
|
||||
*
|
||||
* @param ids 消息内容
|
||||
*/
|
||||
@UiThread
|
||||
void toastThreadSafe(@StringRes final int ids);
|
||||
|
||||
/**
|
||||
* 开启一个Activity
|
||||
*
|
||||
* @param clz 需要开启的Activity
|
||||
*/
|
||||
void startActivity(Class<? extends Activity> clz);
|
||||
|
||||
/**
|
||||
* 开启一个Activity,并finish掉当前的Activity
|
||||
*
|
||||
* @param clz 消息内容
|
||||
*/
|
||||
void startActivityAndFinishSelf(Class<? extends Activity> clz);
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user