first commit

This commit is contained in:
renjianbo
2025-12-26 15:36:42 +08:00
parent 68054948d0
commit dd2a978bd3
3679 changed files with 306133 additions and 0 deletions

View 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
View 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
View File

@@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

BIN
.idea/caches/build_file_checksums.ser generated Normal file

Binary file not shown.

16
.idea/checkstyle-idea.xml generated Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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_overdue0已欠费1正常
2、登录信息/device/DevLogin/loginInfomation
新增是否欠费字段if_overdue0已欠费1正常
@蒲仁飞 @任剑波
打标记录:/device/DevMark/HistoryInfo
打标记录搜索:/device/DevMark/searchHistory
客户参与活动:/device/DevMark/CustomerActivity
@蒲仁飞 @任剑波

167
PushSDK/AndroidManifest.xml Normal file
View 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
View 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')
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View 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

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
</resources>

1
app/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/build

238
app/build.gradle Normal file
View 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
View 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

Binary file not shown.

View 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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
app/libs/armeabi/libmsc.so Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
app/libs/eventbus-2.4.0.jar Normal file

Binary file not shown.

BIN
app/libs/ioc_sdk.jar Normal file

Binary file not shown.

BIN
app/libs/libddshare.jar Normal file

Binary file not shown.

BIN
app/libs/libwwsdk.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View 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
View 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
View 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":{}}]

View File

@@ -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());
}
}

View 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>

View 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>

View 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": ""
}
]
}
}

View 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"
}
}

View 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"
}
]
}
}

View 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": "获取信息成功"
}
}

View 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
}

View 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
}

View 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": []
}

View File

@@ -0,0 +1,35 @@
{"status": 0,
"result": {
"success": 0,
"data": [
{
"biaoqian": "已成交"
},
{
"biaoqian": "交叉"
},
{
"biaoqian": "重复"
},
{
"biaoqian": "量房"
},
{
"biaoqian": "设计"
},
{
"biaoqian": "报价"
},
{
"biaoqian": "异业"
},
{
"biaoqian": "设计师"
},
{
"biaoqian": "报备"
}
],
"msg": "获取收货地址成功"
}
}

View 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": ""
}
}
}

File diff suppressed because it is too large Load Diff

View 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": "获取信息成功"
}
}

View 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
}
}
}

View 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
}

View File

@@ -0,0 +1,30 @@
{
"result": {
"msg": "获取成功",
"data": {
"fission": "0",
"tool_id": "1",
"assemble": "0",
"bargain": "0",
"fans": "0"
},
"success": 0
},
"status": 0
}

View 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
}

View 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"
}
}

View 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
}

View 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"
}

View 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": ""
}
]
}
]
}

View File

@@ -0,0 +1,6 @@
package com.fanghoo.mendian;
import androidx.core.content.FileProvider;
public class MyFileProvider extends FileProvider {
}

View 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 {
}

File diff suppressed because it is too large Load Diff

View 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);
}
}

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -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()
}
}
}

View File

@@ -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);
}
}

View File

@@ -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();
}
}
}
}

View File

@@ -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;
}
}

View File

@@ -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