Commit 583c2c15 authored by 宋永孟's avatar 宋永孟

add 添加旷视测试界面

parent 68a3e776
......@@ -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"
......
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
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);
}
}
<?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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment