add.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860
  1. import common from '../../utils/util';
  2. import main from '../../utils/main';
  3. const app = getApp();
  4. var arrTag = [];
  5. var tempCursor = undefined,
  6. btnName = "";
  7. var arrSoundMark = [];
  8. var isUnload = true;
  9. var isEdit = true;
  10. var isSave = true;
  11. var interval;
  12. var timeoutUploadImage = 0;
  13. Page({
  14. data: {
  15. PracticeTimeStr: "智能安排",
  16. HiddenFieldEdit: true,
  17. FieldContent: "",
  18. SoundSign: "[读]",
  19. LineSign: "[线]",
  20. IsTodayStudy: false,
  21. BtnArray: ["+", "-", "×", "÷", "=", "<", ">"],
  22. },
  23. onLoad: function (options) {
  24. var that = this;
  25. var fieldNumber = 0;
  26. if (options.fieldid)
  27. fieldNumber = options.fieldid;
  28. that.setData({
  29. Containnerheight: main.getWindowHeight(),
  30. UpdateType: options.type,
  31. MiaoguoCardID: options.id,
  32. FieldNumber: fieldNumber,
  33. });
  34. var list = app.globalData.CardList;
  35. for (var i = 0; i < list.length; i++) {
  36. if (that.data.MiaoguoCardID == list[i].MiaoguoCardID) {
  37. wx.setStorageSync("TempCardInfo", list[i]);
  38. break;
  39. }
  40. }
  41. app.globalData.TempFieldNumber = 0;
  42. app.globalData.TempMiaoguoCardID = that.data.MiaoguoCardID;
  43. },
  44. onShow: function () {
  45. var that = this;
  46. if (that.data.UpdateType == "add") {
  47. that.initAddCard();
  48. }
  49. else {
  50. var card = {}, content = "";
  51. var list = app.globalData.CardList;
  52. for (var i = 0; i < list.length; i++) {
  53. if (that.data.MiaoguoCardID == list[i].MiaoguoCardID) {
  54. card = main.changeStringToView(list[i].Content);
  55. card.MiaoguoCardID = list[i].MiaoguoCardID;
  56. card.LimitTime = list[i].LimitTime;
  57. if (that.data.FieldNumber && that.data.FieldNumber > 0)
  58. content = main.encryptUrl(list[i].Content[that.data.FieldNumber].Content);
  59. break;
  60. }
  61. }
  62. that.setData({
  63. MiaoguoCardID: card.MiaoguoCardID,
  64. Field: card.Field,
  65. Tags: card.Tags,
  66. FieldContent: content,
  67. });
  68. if (that.data.UpdateType != "add2") {
  69. wx.setNavigationBarTitle({
  70. title: '编辑题卡'
  71. });
  72. }
  73. if (that.data.UpdateType == "edit3") {
  74. that.gotoAddItem({ currentTarget: { dataset: { fieldid: that.data.FieldNumber } } });
  75. }
  76. }
  77. },
  78. onHide: function () {
  79. //用于恢复未保存的新题卡
  80. console.log("onHide");
  81. var that = this;
  82. if (!that.data.HiddenFieldEdit) {
  83. that.updateField();
  84. }
  85. if (!(that.data && that.data.Field && that.data.Field[1].length == 0
  86. && that.data.Field[2].length == 0
  87. && that.data.Field[3].length == 0)) {
  88. if (that.data.UpdateType == "add" || that.data.UpdateType == "add2") {
  89. var card = {};
  90. card.MiaoguoCardID = that.data.MiaoguoCardID;
  91. card.Content = [];
  92. var param1 = {};
  93. param1 = that.formatField(that.data.Field);
  94. for (var i = 0; i < 4; i++) {
  95. var obj = {};
  96. obj.ContentType = i;
  97. if (i == 0)
  98. obj.Content = that.data.Tags;
  99. else
  100. obj.Content = param1["Field" + i];
  101. card.Content.push(obj);
  102. }
  103. wx.setStorageSync("TempCardNoSaved", card);
  104. }
  105. }
  106. },
  107. onUnload: function () {
  108. this.onHide();
  109. var card = wx.getStorageSync("TempCardInfo");
  110. if (card) {
  111. var list = app.globalData.CardList;
  112. for (var i = 0; i < list.length; i++) {
  113. if (this.data.MiaoguoCardID == list[i].MiaoguoCardID) {
  114. list[i] = card;
  115. break;
  116. }
  117. }
  118. app.globalData.CardList = list;
  119. wx.removeStorageSync("TempCardInfo");
  120. }
  121. clearInterval(interval);
  122. clearTimeout(timeoutUploadImage);
  123. },
  124. onClose: function () {
  125. wx.navigateBack({
  126. delta: 1,
  127. });
  128. },
  129. gotoAddItem: function (e) {
  130. var that = this;
  131. var fieldid = e.currentTarget.dataset.fieldid;
  132. var content;
  133. var list = app.globalData.CardList;
  134. for (var i = 0; i < list.length; i++) {
  135. if (that.data.MiaoguoCardID == list[i].MiaoguoCardID) {
  136. content = main.encryptUrl(list[i].Content[fieldid].Content);
  137. break;
  138. }
  139. }
  140. wx.setStorageSync("TempCardInfoAddItem", content);
  141. that.setData({
  142. HiddenFieldEdit: false,
  143. Focus: true,
  144. FieldNumber: fieldid,
  145. FieldContent: content,
  146. });
  147. wx.setNavigationBarTitle({
  148. title: '编辑 段落' + fieldid,
  149. });
  150. },
  151. onSearch: function (e) {
  152. app.globalData.TempFieldNumber = 0;
  153. wx.navigateTo({
  154. url: './searchWeb',
  155. })
  156. },
  157. onPreview: function (e) {
  158. var that = this;
  159. if (that.data.Field[1] == "") {
  160. wx.showToast({
  161. title: '第一段必填',
  162. image: "../images/universalpic_wrong_white_120x120.png",
  163. });
  164. }
  165. else {
  166. wx.navigateTo({
  167. url: './preview?type=preview&id=' + this.data.MiaoguoCardID,
  168. });
  169. }
  170. },
  171. switch1Change(e) {
  172. var str = "智能安排";
  173. if (e.detail.value) {
  174. str = "今日必练";
  175. }
  176. this.setData({
  177. IsTodayStudy: e.detail.value,
  178. });
  179. },
  180. saveCard: function () {
  181. var that = this;
  182. if (that.data.Field[1] == "") {
  183. wx.showToast({
  184. title: '第一段必填',
  185. image: "../images/universalpic_wrong_white_120x120.png",
  186. });
  187. }
  188. else {
  189. if (isSave) {
  190. isSave = false;
  191. setTimeout(function () {
  192. isSave = true;
  193. }, 5000);
  194. if (that.checkImageCount(that.data.Field)){
  195. that.uploadImageAll(that.data.Field, function (success, field) {
  196. if (success) {
  197. that.data.Field = field;
  198. var userid = app.globalData.userInfo.UserID;
  199. var isTodayStudy = 0;
  200. if (that.data.IsTodayStudy && that.data.UpdateType == "add2")
  201. isTodayStudy = 1;
  202. var tags = [];
  203. for (var i = 0; i < that.data.Tags.length; i++) {
  204. if (that.data.Tags[i])
  205. tags.push(that.data.Tags[i]);
  206. }
  207. var param1 = {};
  208. param1 = that.formatField(that.data.Field);
  209. param1.Tags = tags;
  210. param1.IsTodayStudy = isTodayStudy;
  211. param1.ID = that.data.MiaoguoCardID;
  212. that.saveLocalCardList(param1);
  213. wx.hideLoading();
  214. wx.showLoading({
  215. title: '保存数据请稍候',
  216. mask: true,
  217. });
  218. timeoutUploadImage = setTimeout(function () {
  219. wx.hideLoading();
  220. }, 15000);
  221. main.postData('AddMiaoguoCard?Type=' + that.data.UpdateType + '&UserID=' + userid, param1, function (data) {
  222. wx.removeStorageSync("TempCardNoSaved");
  223. if (that.data.UpdateType == "edit" || that.data.UpdateType == "edit2" || that.data.UpdateType == "edit3") {
  224. that.onClose();
  225. }
  226. else {
  227. wx.hideLoading();
  228. wx.showToast({
  229. title: '已保存!',
  230. image: "../images/universalpic_saved_white_120x120.png",
  231. });
  232. if (that.data.UpdateType == "add2") {
  233. that.initAddCard();
  234. }
  235. var taskToday = app.globalData.TaskToday;
  236. taskToday.CardNumber++;
  237. app.globalData.TaskToday = taskToday;
  238. }
  239. wx.removeStorageSync("TempCardInfo");
  240. });
  241. }
  242. else {
  243. wx.showToast({
  244. title: '图片上传失败1',
  245. mask: true,
  246. });
  247. }
  248. });
  249. }
  250. }
  251. else {
  252. wx.showToast({
  253. title: '点击太频繁',
  254. mask: true,
  255. });
  256. }
  257. }
  258. },
  259. formatField: function (field) {
  260. var result = {};
  261. for (var i = 1; i <= 3; i++) {
  262. result["Field" + i] = "";
  263. for (var key in field[i]) {
  264. var item = field[i][key];
  265. var str = "";
  266. if (item.Type == "image") {
  267. str = "[图 w='" + item.Width + "' h='" + item.Height + "']" + item.Content + "[/图]";
  268. }
  269. else if (item.Type == "line") {
  270. for (var j = 0; j < item.Content.length; j++) {
  271. if (item.Content[j].key == "normal")
  272. str += item.Content[j].value;
  273. if (item.Content[j].key == "line") {
  274. str += "[线]" + item.Content[j].value + "[/线]";
  275. }
  276. }
  277. }
  278. else if (item.Type == "sound") {
  279. if (item.SoundMark)
  280. str = "[读 src='" + item.SoundMark + "']" + item.Content + "[/读]";
  281. else
  282. str = "[读]" + item.Content + "[/读]";
  283. }
  284. else if (item.Type == "normal") {
  285. str = item.Content;
  286. }
  287. else if (item.Type == "return") {
  288. str = "\n";
  289. }
  290. result["Field" + i] += str;
  291. }
  292. result["Field" + i] = main.changeViewToString(result["Field" + i]);
  293. }
  294. return result;
  295. },
  296. checkImageCount:function(arr){
  297. var count=0;
  298. for (var i = 0; i < arr.length; i++) {
  299. for (var j = 0; j < arr[i].length; j++) {
  300. if (arr[i][j].Type == "image" && arr[i][j].Content) {
  301. count++;
  302. }
  303. }
  304. }
  305. if (count>3){
  306. wx.showToast({
  307. title: '只能上传三张图片',
  308. });
  309. return false;
  310. }
  311. else
  312. return true;
  313. },
  314. uploadImageAll: function (arr, callback) {
  315. var that = this;
  316. var b = false;
  317. var arrSource = [], arrResult = [];
  318. for (var i = 0; i < arr.length; i++) {
  319. for (var j = 0; j < arr[i].length; j++) {
  320. if (arr[i][j].Type == "image" && arr[i][j].Content) {
  321. arrSource.push(arr[i][j].Content);
  322. if (arr[i][j].ContentServer.indexOf(app.globalData.uploadImageUrl) >= 0
  323. || arr[i][j].ContentServer.indexOf("baidu.com") >= 0) {
  324. var result={};
  325. result.Source = arr[i][j].ContentServer;
  326. result.Target = arr[i][j].ContentServer;
  327. arrResult.push(result);
  328. }
  329. else {
  330. var source = arr[i][j].Content;
  331. that.uploadImage(source, function (data) {
  332. if (data){
  333. data=JSON.parse(data);
  334. var result=data.result;
  335. result.Target = app.globalData.uploadImageUrl + result.Target;
  336. arrResult.push(result);
  337. }
  338. });
  339. }
  340. b = true;
  341. }
  342. }
  343. }
  344. if (b) {
  345. wx.showLoading({
  346. title: '上传图片请稍候',
  347. mask: true,
  348. });
  349. timeoutUploadImage = setTimeout(function () {
  350. wx.hideLoading();
  351. }, 15000);
  352. }
  353. interval = setInterval(function () {
  354. //console.log(arrResult.length);
  355. if (arrResult.length >= arrSource.length) {
  356. wx.hideLoading();
  357. console.log("arrResult:" + JSON.stringify(arrResult));
  358. clearInterval(interval);
  359. var success=true;
  360. var ari = 0;
  361. for (var i = 0; i < arr.length; i++) {
  362. for (var j = 0; j < arr[i].length; j++) {
  363. if (arr[i][j].Type == "image" && arr[i][j].Content) {
  364. var tempUrl = arr[i][j].Content;
  365. var serverUrl = "";
  366. for(var k=0;k<arrResult.length;k++){
  367. if (tempUrl.indexOf(arrResult[k].Source)>=0){
  368. serverUrl = arrResult[k].Target;
  369. break;
  370. }
  371. }
  372. //console.log("serverUrl:" + serverUrl);
  373. //console.log("tempUrl:" + tempUrl);
  374. if (serverUrl=="")
  375. serverUrl = main.getServerImage(tempUrl);
  376. main.saveTempImage(serverUrl, tempUrl);
  377. arr[i][j].Content = serverUrl;
  378. arr[i][j].ContentServer = serverUrl;
  379. if (serverUrl==""){
  380. success=false;
  381. break;
  382. }
  383. }
  384. }
  385. }
  386. //console.log(JSON.stringify(arr));
  387. callback(success,arr);
  388. }
  389. }, 500);
  390. },
  391. uploadImage: function (file, callback) {
  392. var url = common.Encrypt("MiaoguoUploadFile2");
  393. wx.uploadFile({
  394. url: app.globalData.serverUrl + url,
  395. filePath: file,
  396. name: 'file',
  397. success(res) {
  398. callback(res.data);
  399. },
  400. fail: function (err) {
  401. wx.hideLoading();
  402. wx.showModal({
  403. title: '上传图片失败',
  404. showCancel: false,
  405. content: JSON.stringify(err),
  406. });
  407. }
  408. });
  409. },
  410. saveLocalCardList: function (param1) {
  411. var that = this;
  412. var list = app.globalData.CardList;
  413. for (var i = 0; i < list.length; i++) {
  414. if (that.data.MiaoguoCardID == list[i].MiaoguoCardID) {
  415. for (var j = 0; j < 4; j++) {
  416. if (j == 0) {
  417. if (param1.tags && param1.tags.length > 0)
  418. list[i].Content[j].Content = param1.tags.join(",");
  419. }
  420. else
  421. list[i].Content[j].Content = param1["Field" + j];
  422. }
  423. app.globalData.CardList = list;
  424. break;
  425. }
  426. }
  427. },
  428. initAddCard: function () {
  429. var card = {};
  430. card.MiaoguoCardID = 0;
  431. card.Content = [];
  432. for (var i = 0; i < 4; i++) {
  433. var obj = {};
  434. obj.ContentType = i;
  435. obj.Content = [];
  436. card.Content.push(obj);
  437. }
  438. app.globalData.CardList = [card];
  439. this.setData({
  440. MiaoguoCardID: 0,
  441. Field: [[], [], [], []],
  442. Tags: [],
  443. UpdateType: "add2",
  444. });
  445. },
  446. onBindError: function (e) {
  447. for (var i = 1; i < this.data.Field.length; i++) {
  448. for (var j = 0; j < this.data.Field[i].length; j++) {
  449. if (this.data.Field[i][j].Type == "image") {
  450. this.data.Field[i][j].Url = this.data.Field[i][j].Content;
  451. }
  452. }
  453. }
  454. this.setData({
  455. Field: this.data.Field,
  456. });
  457. },
  458. deleteItem: function (e) {
  459. var that = this;
  460. var index = e.currentTarget.dataset.id;
  461. wx.showModal({
  462. title: '提醒',
  463. content: '记号“' + that.data.Tags[index] + '”要删除吗?',
  464. success(res) {
  465. if (res.confirm) {
  466. that.data.Tags.splice(index, 1);
  467. that.setData({
  468. Tags: that.data.Tags,
  469. });
  470. var list = app.globalData.CardList;
  471. for (var i = 0; i < list.length; i++) {
  472. if (that.data.MiaoguoCardID == list[i].MiaoguoCardID) {
  473. list[i].Content[0].Content = that.data.Tags;
  474. break;
  475. }
  476. }
  477. app.globalData.CardList = list;
  478. }
  479. }
  480. });
  481. },
  482. onGotoList: function () {
  483. var that = this;
  484. if (that.data.Field[1] != "" && that.data.Field[2] != "" && that.data.Field[2] != "") {
  485. wx.showModal({
  486. title: '尚未保存',
  487. content: '即将前往“全部题卡”,但当前题卡尚未保存,按继续将放弃保存。',
  488. confirmText: '继续',
  489. success(res) {
  490. if (res.confirm) {
  491. goto();
  492. }
  493. }
  494. });
  495. }
  496. else {
  497. goto();
  498. }
  499. function goto() {
  500. wx.showLoading({
  501. title: '请稍候',
  502. });
  503. setTimeout(function () {
  504. wx.hideLoading();
  505. }, 5000);
  506. var url = 'GetMiaoguoCardList?UserID=' + app.globalData.userInfo.UserID;
  507. main.getData(url, function (data) {
  508. wx.hideLoading();
  509. if (data) {
  510. app.globalData.CardList = data.List;
  511. wx.redirectTo({
  512. url: './searchCardList?type=0&Count=' + data.Count,
  513. })
  514. }
  515. });
  516. }
  517. },
  518. //段落编辑**************************
  519. //字段输入
  520. bindinputField: function (e) {
  521. //console.log("bindinputField:" + e.detail.value + " isEdit:" + isEdit);
  522. var that = this;
  523. if (app.globalData.IsAndroid && !isEdit) {
  524. return;
  525. }
  526. this.setData({
  527. FieldContent: e.detail.value,
  528. });
  529. },
  530. //加符号
  531. addSymbol: function (e) {
  532. //console.log("addSymbol");
  533. isEdit = true;
  534. var that = this;
  535. btnName = e.currentTarget.dataset.id;
  536. if (btnName == "[读]") {
  537. this.setData({
  538. SoundSign: "[/读]",
  539. });
  540. } else if (btnName == "[/读]") {
  541. this.setData({
  542. SoundSign: "[读]",
  543. });
  544. } else if (btnName == "[线]") {
  545. this.setData({
  546. LineSign: "[/线]",
  547. });
  548. } else if (btnName == "[/线]") {
  549. this.setData({
  550. LineSign: "[线]",
  551. });
  552. }
  553. if (!this.data.Focus) {
  554. this.data.FieldContent = this.data.FieldContent + btnName;
  555. this.setData({
  556. FieldContent: this.data.FieldContent,
  557. });
  558. }
  559. //console.log("addSymbol:" + this.data.FieldContent);
  560. setTimeout(function () {
  561. that.setData({
  562. Focus: true,
  563. });
  564. }, 300);
  565. },
  566. //焦点聚焦
  567. onBindFocus: function () {
  568. this.setData({
  569. Focus: true,
  570. });
  571. },
  572. //失焦
  573. onBindblur: function (e) {
  574. var that = this;
  575. //console.log("onBindblur:" + isEdit + " Filed:" + this.data.FieldContent);
  576. if (app.globalData.IsAndroid && !isEdit) {
  577. setTimeout(function () {
  578. isEdit = true;
  579. console.log("onBindblur2:" + isEdit);
  580. }, 500);
  581. return;
  582. }
  583. isEdit = false;
  584. if (app.globalData.IsAndroid && !isEdit) {
  585. setTimeout(function () {
  586. isEdit = true;
  587. console.log("onBindblur2:" + isEdit);
  588. }, 500);
  589. }
  590. //console.log("onBindblur:"+isEdit);
  591. this.updateField();
  592. tempCursor = e.detail.cursor;
  593. //console.log("tempCursor:" + tempCursor);
  594. if (tempCursor == undefined)
  595. tempCursor = this.data["FieldContent"].length;
  596. var str1 = "",
  597. str2 = "";
  598. if (this.data.FieldContent.length > 0) {
  599. str1 = this.data.FieldContent.substr(0, tempCursor);
  600. str2 = this.data.FieldContent.substring(tempCursor, this.data.FieldContent.length);
  601. }
  602. //console.log("str1:" + str1);
  603. //console.log("str2:" + str2);
  604. var cur = 1;
  605. if (btnName == "[读]" || btnName == "[线]") {
  606. cur = 3;
  607. } else if (btnName == "[/读]" || btnName == "[/线]") {
  608. cur = 4;
  609. } else if (btnName == "(   )") {
  610. cur = 5;
  611. } else if (btnName == "_____") {
  612. cur = 5;
  613. }
  614. this.data.FieldContent = str1 + btnName + str2;
  615. this.setData({
  616. FieldContent: this.data.FieldContent,
  617. Focus: false,
  618. Cursor: tempCursor + cur,
  619. });
  620. btnName = "";
  621. },
  622. onSearchField: function (e) {
  623. app.globalData.TempFieldNumber = this.data.FieldNumber;
  624. wx.navigateTo({
  625. url: './searchWeb',
  626. });
  627. this.updateField();
  628. setTimeout(function () {
  629. isEdit = true;
  630. //console.log("onSearchEnd");
  631. }, 1000);
  632. },
  633. clear: function () {
  634. var that = this;
  635. //console.log("clear");
  636. this.setData({
  637. FieldContent: "",
  638. Focus: true,
  639. Cursor: 0,
  640. });
  641. btnName = "";
  642. isEdit = false;
  643. this.updateField();
  644. },
  645. closeAddItem: function (e) {
  646. var that = this;
  647. var isSave = e.currentTarget.dataset.idsave;
  648. if (isSave == "true") {
  649. isUnload = false;
  650. this.updateField();
  651. }
  652. else if (isSave == "false") {
  653. var content = wx.getStorageSync("TempCardInfoAddItem");
  654. this.setData({
  655. FieldContent: content,
  656. })
  657. this.updateField();
  658. }
  659. this.setData({
  660. HiddenFieldEdit: true,
  661. });
  662. var title = "编辑题卡";
  663. if (that.data.UpdateType == "add2") {
  664. title = "添加题卡";
  665. }
  666. wx.setNavigationBarTitle({
  667. title: title,
  668. });
  669. },
  670. updateField: function () {
  671. var str = this.data.FieldContent;
  672. var list = app.globalData.CardList;
  673. var card = {};
  674. for (var i = 0; i < list.length; i++) {
  675. if (this.data.MiaoguoCardID == list[i].MiaoguoCardID) {
  676. list[i].Content[this.data.FieldNumber].Content = str;
  677. card = main.changeStringToView(list[i].Content);
  678. break;
  679. }
  680. }
  681. app.globalData.CardList = list;
  682. this.setData({
  683. Field: card.Field,
  684. Tags: card.Tags,
  685. });
  686. },
  687. //选择图片上传
  688. uploadImageField: function () {
  689. //console.log("uploadImageStart");
  690. var that = this;
  691. //若是安卓机
  692. if (app.globalData.IsAndroid) {
  693. selectImage(that);
  694. }
  695. else{
  696. wx.showActionSheet({
  697. itemList: ['拍照', '从手机相册选择'],
  698. success(res) {
  699. if (res.tapIndex==0){
  700. wx.chooseImage({
  701. count: 1,
  702. sizeType: ['compressed'],
  703. sourceType: ['camera'],
  704. success(res2) {
  705. wx.showLoading({
  706. title: '请秒候',
  707. mask:true,
  708. });
  709. setTimeout(function(){
  710. wx.hideLoading();
  711. selectImage(that);
  712. },2000);
  713. },
  714. });
  715. }
  716. else if (res.tapIndex == 1) {
  717. selectImage(that);
  718. }
  719. },
  720. fail(res) {
  721. console.log(res.errMsg)
  722. }
  723. });
  724. }
  725. function selectImage(that){
  726. var sizeType = ['album'];
  727. //若是安卓机
  728. if (app.globalData.IsAndroid)
  729. sizeType = ['album', 'camera'];
  730. wx.chooseImage({
  731. count: 1,
  732. sizeType: ['compressed'],
  733. sourceType: sizeType,
  734. success(res) {
  735. // tempFilePath可以作为img标签的src属性显示图片
  736. const tempFilePaths = res.tempFilePaths;
  737. //console.log(tempFilePaths[0]);
  738. //that.data.FieldContent = that.data.FieldContent + "[图 url='" + tempFilePaths[0] + "']" + tempFilePaths[0] + "[/图]";
  739. wx.getImageInfo({
  740. src: res.tempFilePaths[0],
  741. success(res) {
  742. console.log(res.width)
  743. console.log(res.height)
  744. if (tempCursor == undefined)
  745. tempCursor = that.data.FieldContent.length;
  746. var str1 = "",
  747. str2 = "";
  748. if (that.data.FieldContent.length > 0) {
  749. str1 = that.data.FieldContent.substr(0, tempCursor);
  750. str2 = that.data.FieldContent.substring(tempCursor, that.data.FieldContent.length);
  751. }
  752. var width = res.width;
  753. if (isNaN(width))
  754. width = 650;
  755. var height = res.height;
  756. if (isNaN(height))
  757. height = 650;
  758. var str0 = "[图 w='" + width + "' h='" + height + "']" + tempFilePaths[0] + "[/图]";
  759. that.data.FieldContent = str1 + str0 + str2;
  760. tempCursor = that.data.FieldContent.length;
  761. //console.log("uploadImageEnd:" + that.data.FieldContent);
  762. that.setData({
  763. FieldContent: that.data.FieldContent,
  764. Focus: false,
  765. });
  766. that.updateField();
  767. }
  768. });
  769. },
  770. fail: function () {
  771. }
  772. });
  773. }
  774. },
  775. onShareAppMessage: function () {
  776. return {
  777. title: app.globalData.ShareTitle,
  778. path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
  779. imageUrl: app.globalData.ShareImage,
  780. }
  781. },
  782. })