mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
* opt: cache * opt: MediaListPanel * feat: nested replyreply panel * tweaks * opt: abstract class * opt: PageStorageKey * opt: contextExt * opt: EpisodePanel * opt * opt: context instead GlobalKey * feat: jump to reply * refa: reply_reply * fix: jump * fix: index * update Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> * opt: keepalive * reapply: nested replyreply * mod: spacing * opt: CommonSlidePageState * fix drag bottomsheet Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> * opt reply jump Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> * opt reply2reply Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> * tweaks Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> * tweaks Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> * reapply: jumpToReply * fix: padding * fix: anim * fix some panels Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> * opt: implements Scaffold * opt: remove keepalive * revert: GlobalKey * tweaks Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> --------- Co-authored-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
25 lines
656 B
Dart
25 lines
656 B
Dart
import 'dart:convert';
|
|
|
|
import 'package:PiliPlus/common/constants.dart';
|
|
import 'package:crypto/crypto.dart';
|
|
|
|
abstract class AppSign {
|
|
static void appSign(
|
|
Map<String, dynamic> params, [
|
|
String appkey = Constants.appKey,
|
|
String appsec = Constants.appSec,
|
|
]) {
|
|
params['appkey'] = appkey;
|
|
var searchParams = Uri(
|
|
queryParameters: params.map(
|
|
(key, value) => MapEntry(key, value.toString()),
|
|
),
|
|
).query;
|
|
var sortedQueryString = (searchParams.split('&')..sort()).join('&');
|
|
|
|
params['sign'] = md5
|
|
.convert(utf8.encode(sortedQueryString + appsec))
|
|
.toString(); // 获取MD5哈希值
|
|
}
|
|
}
|