Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
ShenghuoquanBusiness
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bp
ShenghuoquanBusiness
Commits
583c2c15
Commit
583c2c15
authored
May 20, 2021
by
宋永孟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add 添加旷视测试界面
parent
68a3e776
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
115 additions
and
1 deletion
+115
-1
AppConfig.kt
...onLib/Common/src/main/java/com/yidian/common/AppConfig.kt
+7
-1
AliveTestActivity.kt
...an/shenghuoquan/newscontent/ui/alive/AliveTestActivity.kt
+25
-0
GenerateSign.java
...idian/shenghuoquan/newscontent/ui/alive/GenerateSign.java
+71
-0
activity_alive_layout.xml
...newscontent/src/main/res/layout/activity_alive_layout.xml
+12
-0
No files found.
CommonLib/Common/src/main/java/com/yidian/common/AppConfig.kt
View file @
583c2c15
...
...
@@ -2,6 +2,13 @@ package com.yidian.common
class
AppConfig
{
companion
object
{
//生活圈项目
const
val
KUANGSHI_ALIVE_API_KEY
=
"32f9XIsReV4S15Ck_Sa3ky43XgAHUB9v"
const
val
KUANGSHI_SECRET
=
"usZbQYdI4PQeXhMftsRfHK2msj0DmSIl"
//地铁项目
const
val
WeChatAppKey
=
"wxef4c37f254e29e84"
const
val
WeChatAppSecret
=
"fb596ed3641b481b6f973774987fd04f"
const
val
QQAppKey
=
"101923771"
...
...
@@ -20,7 +27,6 @@ class AppConfig {
const
val
privacyPolicyStatement
=
"http://www.yidianzixun.com/landing_privacy?yidian_fs=2"
const
val
userProtocol
=
"http://www.yidianzixun.com/landing_agreement?yidian_fs=2"
//推送相关
const
val
UMAppKey
=
"5fe3fcc8d1c1ad39854efb90"
const
val
UMChannel
=
"ANDROID_CHANNEL"
const
val
UMType
=
"metro"
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/alive/AliveTestActivity.kt
View file @
583c2c15
package
com.yidian.shenghuoquan.newscontent.ui.alive
import
android.os.Bundle
import
android.util.Log
import
android.widget.Toast
import
com.yidian.common.AppConfig
import
com.yidian.common.base.BaseActivity
import
com.yidian.shenghuoquan.newscontent.databinding.ActivityAliveLayoutBinding
...
...
@@ -9,6 +13,8 @@ import com.yidian.shenghuoquan.newscontent.databinding.ActivityAliveLayoutBindin
* Describe:
*/
class
AliveTestActivity
:
BaseActivity
<
ActivityAliveLayoutBinding
>()
{
private
var
sign
=
""
override
fun
createViewBinding
():
ActivityAliveLayoutBinding
{
return
ActivityAliveLayoutBinding
.
inflate
(
layoutInflater
)
}
...
...
@@ -16,4 +22,23 @@ class AliveTestActivity : BaseActivity<ActivityAliveLayoutBinding>() {
override
fun
getXPageName
():
String
{
return
""
}
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
initSign
()
setOnListener
()
}
private
fun
initSign
()
{
val
currtTime
=
System
.
currentTimeMillis
()
/
1000
val
expireTime
=
(
System
.
currentTimeMillis
()
+
60
*
60
*
100
)
/
1000
sign
=
GenerateSign
.
appSign
(
AppConfig
.
KUANGSHI_ALIVE_API_KEY
,
AppConfig
.
KUANGSHI_SECRET
,
currtTime
,
expireTime
)
Log
.
d
(
"song_test"
,
sign
)
}
private
fun
setOnListener
()
{
viewBind
.
btActionYy
.
setOnClickListener
{
Toast
.
makeText
(
this
,
"click"
,
Toast
.
LENGTH_SHORT
).
show
()
}
}
}
\ No newline at end of file
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/alive/GenerateSign.java
0 → 100755
View file @
583c2c15
package
com
.
yidian
.
shenghuoquan
.
newscontent
.
ui
.
alive
;
import
android.util.Base64
;
import
java.util.Random
;
import
javax.crypto.Mac
;
import
javax.crypto.spec.SecretKeySpec
;
/**
* Created by mafuxin on 2018/5/23.
*/
public
class
GenerateSign
{
public
static
String
appSign
(
String
apiKey
,
String
secret
,
long
currtTime
,
long
expireTime
)
{
try
{
int
rdm
=
Math
.
abs
(
new
Random
().
nextInt
());
String
plainText
=
String
.
format
(
"a=%s&b=%d&c=%d&d=%d"
,
apiKey
,
expireTime
,
currtTime
,
rdm
);
byte
[]
hmacDigest
=
HmacSha1
(
plainText
,
secret
);
byte
[]
signContent
=
new
byte
[
hmacDigest
.
length
+
plainText
.
getBytes
().
length
];
System
.
arraycopy
(
hmacDigest
,
0
,
signContent
,
0
,
hmacDigest
.
length
);
System
.
arraycopy
(
plainText
.
getBytes
(),
0
,
signContent
,
hmacDigest
.
length
,
plainText
.
getBytes
().
length
);
return
Base64Encode
(
signContent
).
replaceAll
(
"[\\s*\t\n\r]"
,
""
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
/**
* 生成base64编码
*
* @param binaryData
* @return
*/
public
static
String
Base64Encode
(
byte
[]
binaryData
)
{
String
encodedstr
=
Base64
.
encodeToString
(
binaryData
,
Base64
.
DEFAULT
);
return
encodedstr
;
}
/**
* 生成hmacsha1签名
*
* @param binaryData
* @param key
* @return
* @throws Exception
*/
public
static
byte
[]
HmacSha1
(
byte
[]
binaryData
,
String
key
)
throws
Exception
{
Mac
mac
=
Mac
.
getInstance
(
"HmacSHA1"
);
SecretKeySpec
secretKey
=
new
SecretKeySpec
(
key
.
getBytes
(),
"HmacSHA1"
);
mac
.
init
(
secretKey
);
byte
[]
HmacSha1Digest
=
mac
.
doFinal
(
binaryData
);
return
HmacSha1Digest
;
}
/**
* 生成hmacsha1签名
*
* @param plainText
* @param key
* @return
* @throws Exception
*/
public
static
byte
[]
HmacSha1
(
String
plainText
,
String
key
)
throws
Exception
{
return
HmacSha1
(
plainText
.
getBytes
(),
key
);
}
}
Components/newscontent/src/main/res/layout/activity_alive_layout.xml
View file @
583c2c15
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:orientation=
"vertical"
android:layout_height=
"match_parent"
>
<Button
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_marginTop=
"200dp"
android:textSize=
"20sp"
android:text=
"动作有源"
android:textColor=
"@android:color/black"
android:id=
"@+id/bt_action_yy"
/>
</LinearLayout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment