微信小程序登录获取手机号 后台C#流程代码

1 ///

2 /// 微信小程序-获取登陆凭证

3 ///

4 ///

5 ///

6 ( _)

7 {

8

9 = .();

10 _ = .;

11 (.(_))

12 {

13 ("未获取到_");

14 }

15 = .("");

16 = .("");

17

18

19 = ();

20 . = ...8;

21

22

23 //第一步:通过换取网页授权_

24 = ();

25 .("", );

26 .("", );

27 .("_", _);

28 .("_", "_");

29 = ...8.(.("://...//2?", ));

30 (.(""))

31 {

32 = ...();

33 (.);

34 }

35        //反序列化

36 = ...();

37

38 = (48, 0, 0);

39 _ = .().();

40

41 //写入

42 .("__"+ _, , , .);

43

44 (_);

45 }

49 77

78 ///

79 /// 根据微信小程序平台提供的解密算法解密数据

80 ///

81 /// 加密数据

82 /// 初始向量

83 /// 从服务端获取的

84 ///

85 ( , _)

86 {

87

88 //创建解密器生成工具实例

89 = ();

90

91 //设置解密器参数

92

93 . = .;

94

95 . = 128;

96

97 . = .7;

98

99 //格式化待处理字符串

100

101 [] _ = .64(.);

102

103 [] _ = .64(.);

104

105 [] _ = .64(_);

106

107 . = _;

108

109 . = _;

110

111 //根据设置好的数据生成解密器实例

112

113 = .();

115 //解密

116

117 [] = .(_, 0, _.);

118

119 //生成结果

120

121 = .8.();

122

123 //反序列化结果,生成用户信息实例

124

125 = ...();

126

127 ;

128

129 }

130

131

132 ///

133 /// 获取微信小程序用户信息

134 ///

135 /// .

136 ///

137 ( _)

138 {

139 = .();

140 = .("__"+._, .);

141 (== )

142 {

143 ("找不到登录密钥");

144 }

145

146 //数据解密,解密手机等重要信息

147 = (,._);

148

149 (==)

150 {

151 ("数据解密失败");

152 }

153

154 = .().().(0,8);

156 = "";

157

158 #

159 //查询数据库是否有(没有的话,有的话更新)是微信用户唯一标识符

160 ( != )

161 {

162 . = .;

163 . = .;

164 //进行实例

165 = .;

166 }

167

168 {

169 //进行 171 ._ = _;

172 . = .;

173 . = .;176

177 = .;

178 }

179 //实例类

180 = ();

181 . = ;

182 . = ;

183 ._ = _;

184 . = .;

185 . = .;

186 . = .;

187        //有效期

188 = (48, 0, 0);

190 //写入

191 .(, , , .);

192

193 #

194

195 ();

196 }

197

198

199 ///

200 /// 错误信息

201 ///

202

203 {

204 ///

205 /// 错误码

206 ///

207 { ; ; }

208 ///

209 /// 错误信息

210 ///

211 { ; ; }

212 }

213

214 ///

215 /// 获取

216 ///

217

218 {

219 //会话密钥,

220 _ { ; ; }

221 ///

222 /// _接口调用凭证超时时间,单位(秒)

223 ///

224 _ { ; ; }

225 ///

226 /// 获取到的凭证

227 ///

228 _ { ; ; }

229 ///

230 /// 用户唯一标识,请注意,在未关注公众时,用户访问公众的网页,也会产生一个用户和公众唯一的

231 ///

232 { ; ; }

233

234 }

235 299

300 ///

301 /// 加密的数据

302 ///

303

304

305 {

306 { ; ; }

307

308 { ; ; }

309

310 }

311

312 ///

313 /// 登录获取信息请求参数

314 ///

315

316 {

317 //自定义登录状态,

318 _ { ; ; }

319

320 { ; ; }

321

322 ///

323 ///加密数据

324 ///

325 ///

326 ///

327 { ; ; }

328

329 ///

330 /// 加密算法的初始向量

331 ///

332 ///

333 /// .

334 ///

335 { ; ; }

336

337 ///

338 /// 不包括敏感信息的原始数据字符串,用于计算签名

339 ///

340 ///

341 /// .

342 ///

343 { ; ; }

344

345 ///

346 /// 校验用户信息

347 ///

348 ///

349 /// .

350 ///

351 { ; ; }

352

353 { ; ; }

354

355 ///

356 /// 语言.

357 ///

358 ///

359 /// .

360 ///

361 { ; ; }

362

363 }

364

365 ///

366 /// 手机信息

367 ///

368

369 {

370

371 ///

372 /// 用户的唯一标识

373 ///

374 { ; ; }

375 ///

376 /// 用户绑定的手机

377 ///

378 ///

379 /// .

380 ///

381 { ; ; }

382 ///

383 /// 没有区的手机

384 ///

385 ///

386 /// .

387 ///

388 { ; ; }

389 ///

390 /// 区

391 ///

392 ///

393 /// .

394 ///

395 { ; ; }

396

397

398 { ; ; }

399 }

© 版权声明
THE END
分享